.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:6px;font-family:inherit;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,opacity .15s,transform .1s;position:relative;outline:none}.ui-btn:focus-visible{box-shadow:0 0 0 2px #4a9eff80}.ui-btn:active:not(:disabled){transform:scale(.97)}.ui-btn:disabled{opacity:.45;cursor:not-allowed}.ui-btn-sm{height:26px;padding:0 10px;font-size:12px}.ui-btn-md{height:32px;padding:0 14px;font-size:13px}.ui-btn-lg{height:38px;padding:0 18px;font-size:14px}.ui-btn-icon{height:30px;width:30px;padding:0;font-size:14px;border-radius:6px}.ui-btn-primary{background:var(--accent);color:#fff}.ui-btn-primary:hover:not(:disabled){background:#3b8de8}.ui-btn-secondary{background:#ffffff0f;color:var(--text-primary, #c8d8f0);border:1px solid rgba(255,255,255,.1)}.ui-btn-secondary:hover:not(:disabled){background:#ffffff1c}[data-theme=light] .ui-btn-secondary{background:#0000000a;color:var(--text-primary, #1e293b);border:1px solid rgba(0,0,0,.12)}[data-theme=light] .ui-btn-secondary:hover:not(:disabled){background:#00000014}.ui-btn-ghost{background:transparent;color:var(--text-secondary, #8899aa)}.ui-btn-ghost:hover:not(:disabled){background:#ffffff12;color:var(--text-primary, #c8d8f0)}[data-theme=light] .ui-btn-ghost:hover:not(:disabled){background:#0000000f;color:var(--text-primary, #1e293b)}.ui-btn-danger{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.25)}.ui-btn-danger:hover:not(:disabled){background:#ef444438}.ui-btn-icon{background:transparent;color:var(--text-secondary, #8899aa);border-radius:6px}.ui-btn-icon:hover:not(:disabled){background:#ffffff17;color:var(--text-primary, #c8d8f0)}[data-theme=light] .ui-btn-icon:hover:not(:disabled){background:#00000012;color:var(--text-primary, #1e293b)}.ui-btn-loading{pointer-events:none}.ui-spinner{width:13px;height:13px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ui-spin .6s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-btn-icon-wrap{display:flex;align-items:center;line-height:1}.ui-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.ui-badge-default{background:var(--card-bg);color:#89a}.ui-badge-success{background:#10b98126;color:var(--success)}.ui-badge-warning{background:#f59e0b26;color:var(--warning)}.ui-badge-error{background:#ef444426;color:var(--danger)}.ui-badge-info{background:var(--accent-soft);color:var(--accent)}.ui-badge-pro{background:#a78bfa33;color:#a78bfa;border:1px solid rgba(167,139,250,.3)}.ui-badge-muted{background:var(--surface-hover);color:#4a5a7a}[data-theme=light] .ui-badge-default{background:#0000000f;color:#64748b}[data-theme=light] .ui-badge-muted{background:#0000000a;color:#94a3b8}.ui-tooltip-content{z-index:9999;padding:6px 10px;border-radius:6px;font-size:12px;font-family:inherit;font-weight:500;line-height:1.4;pointer-events:none;background:#1a2340;color:#c8d8f0;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0006;max-width:240px;animation:ui-tooltip-in .12s ease}[data-theme=light] .ui-tooltip-content{background:#1e293b;color:#f1f5f9;border-color:#00000026}@keyframes ui-tooltip-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.ui-tooltip-arrow{fill:#1a2340}[data-theme=light] .ui-tooltip-arrow{fill:#1e293b}.ui-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;animation:ui-overlay-in .15s ease}@keyframes ui-overlay-in{0%{opacity:0}to{opacity:1}}.ui-modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;background:#0f1729;border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 24px 64px #0009;display:flex;flex-direction:column;max-height:calc(100vh - 48px);animation:ui-modal-in .18s cubic-bezier(.16,1,.3,1);outline:none}[data-theme=light] .ui-modal-content{background:var(--surface-raised, #ffffff);border-color:var(--border-soft, rgba(15,23,42,.1));box-shadow:0 24px 64px #00000040}@keyframes ui-modal-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px))}to{opacity:1;transform:translate(-50%,-50%)}}.ui-modal-header{display:flex;align-items:flex-start;gap:8px;padding:20px 20px 0}.ui-modal-title{flex:1;font-size:16px;font-weight:700;color:var(--text-primary, #e2eaf8);margin:0;line-height:1.3}[data-theme=light] .ui-modal-title{color:#0f172a}.ui-modal-desc{font-size:13px;color:var(--text-secondary, #8899aa);margin:4px 0 0}.ui-modal-close{flex-shrink:0;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:#89a;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background .12s,color .12s}.ui-modal-close:hover{background:#ffffff14;color:#c8d8f0}[data-theme=light] .ui-modal-close:hover{background:#0000000f;color:#1e293b}.ui-modal-body{padding:16px 20px 20px;overflow-y:auto;flex:1;color:var(--text-primary, #c8d8f0);font-size:13px;line-height:1.6}[data-theme=light] .ui-modal-body{color:#334155}.ui-modal-footer{padding:12px 20px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:flex-end;gap:8px}[data-theme=light] .ui-modal-footer{border-color:#00000014}.ecm-body{display:flex;flex-direction:column;gap:18px}.ecm-field{display:flex;flex-direction:column;gap:6px}.ecm-label{font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em}.ecm-input,.ecm-textarea{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0d1b2e;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.ecm-input:focus,.ecm-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.ecm-textarea{resize:vertical;min-height:60px;line-height:1.5}.ecm-chips{display:flex;flex-wrap:wrap;gap:6px}.ecm-chip{padding:3px 9px;border:1px solid #cbd5e1;background:#f8fafc;border-radius:999px;font-size:11.5px;color:#475569;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.ecm-chip:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.ecm-btn{padding:0 14px;height:32px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;border:1px solid transparent;transition:background .15s,border-color .15s}.ecm-btn-ghost{background:transparent;color:#475569;border-color:#e2e8f0}.ecm-btn-ghost:hover{background:#f1f5f9;color:#0d1b2e}.ecm-btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.ecm-btn-primary:hover{background:#2563eb;border-color:#2563eb}
