:root{--font-sans:"Inter", sans-serif;--font-mono:"Roboto Mono", monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:28px;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-success:#15803d;--color-success-hover:#166534;--color-danger:#be123c;--color-danger-hover:#9f1239;--color-danger-deep:#9f1239;--color-danger-bg:#fef2f2;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-warning-solid:#b45309;--color-warning-solid-hover:#92400e;--color-warning-text:#92400e;--color-warning-bg:#fffbeb;--color-primary-bg:#eff6ff;--color-primary-border:#bfdbfe;--color-primary-text:#1e40af;--color-success-bg:#f0fdf4;--color-danger-border:#fecdd3;--color-bg:#f9fafb;--color-surface:#fff;--color-surface-alt:#f3f4f6;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-text:#111827;--color-text-label:#374151;--color-text-muted:#6b7280;--color-sidebar-bg:#0f172a;--color-sidebar-divider:#1e293b;--color-sidebar-muted:#64748b;--color-sidebar-muted-2:#94a3b8;--shadow-card:0 2px 12px #1118270f;--shadow-modal:0 4px 24px #11182714;--shadow-pop:0 8px 24px #1118271f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans)}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover);text-decoration:underline}input,select,button{font-family:var(--font-sans)}:where(button,a,input,select,textarea,[role=button]):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:where(button,[role=button],.ws-seg__btn,.ow-admin__tab):active:not(:disabled){filter:brightness(.93);transition:transform 60ms,filter 60ms;transform:scale(.97)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes statIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important}:where(button,[role=button],.ws-seg__btn,.ow-admin__tab):active:not(:disabled){transition:filter 60ms;transform:none}}:root{--ctl-font-sans:"Inter", sans-serif;--ctl-font-mono:"Roboto Mono", monospace;--ctl-bg:#0f172a;--ctl-panel:#1e293b;--ctl-panel-alt:#0f172a;--ctl-border:#334155;--ctl-border-strong:#475569;--ctl-text:#fff;--ctl-text-muted:#94a3b8;--ctl-text-faint:#64748b;--ctl-text-soft:#cbd5e1;--ctl-purple-900:#581c87;--ctl-purple-800:#6b21a8;--ctl-purple-700:#7e22ce;--ctl-purple-600:#9333ea;--ctl-purple-500:#a855f7;--ctl-purple-400:#c084fc;--ctl-purple-300:#d8b4fe;--ctl-red-900:#7f1d1d;--ctl-red-700:#b91c1c;--ctl-red-600:#dc2626;--ctl-red-500:#ef4444;--ctl-red-400:#f87171;--ctl-red-300:#fca5a5;--ctl-blue-900:#1e3a8a;--ctl-blue-700:#1d4ed8;--ctl-blue-600:#2563eb;--ctl-blue-400:#60a5fa;--ctl-blue-300:#93c5fd;--ctl-green-900:#14532d;--ctl-green-700:#15803d;--ctl-green-600:#16a34a;--ctl-green-400:#4ade80;--ctl-green-300:#86efac;--ctl-emerald-600:#059669;--ctl-emerald-400:#34d399;--ctl-cyan-900:#164e63;--ctl-cyan-600:#0891b2;--ctl-cyan-400:#22d3ee;--ctl-cyan-300:#67e8f9;--ctl-yellow-400:#facc15;--ctl-radius-sm:8px;--ctl-radius-md:12px;--ctl-radius-lg:16px;--ctl-shadow:0 25px 50px -12px #00000073;--ctl-backdrop:#0009;--ctl-backdrop-strong:#000000b3}.ctl-btn{font-family:var(--ctl-font-sans);font-size:var(--text-sm);border-radius:var(--ctl-radius-sm);cursor:pointer;border:none;padding:10px 20px;font-weight:600;transition:background-color .15s}.ctl-btn--full{width:100%}.ctl-btn:focus-visible{outline:2px solid var(--ctl-purple-400);outline-offset:2px}.ctl-btn:disabled{background:var(--ctl-border-strong);color:var(--ctl-text-muted);cursor:not-allowed}.ctl-btn--primary{background:var(--ctl-purple-600);color:#fff}.ctl-btn--primary:hover:not(:disabled){background:var(--ctl-purple-700)}.ctl-btn--secondary{background:var(--ctl-border);color:var(--ctl-text-soft)}.ctl-btn--secondary:hover:not(:disabled){background:var(--ctl-border-strong)}.ctl-btn--danger{background:var(--ctl-red-700);color:#fff}.ctl-btn--danger:hover:not(:disabled){background:var(--ctl-red-600)}.ctl-btn--danger:disabled{background:var(--ctl-red-900);color:var(--ctl-red-500)}.ctl-btn--info{background:var(--ctl-blue-600);color:#fff}.ctl-btn--info:hover:not(:disabled){background:#3b82f6}.ctl-btn--success{background:var(--ctl-green-600);color:#fff}.ctl-btn--success:hover:not(:disabled){background:#22c55e}.ctl-btn--cyan{background:var(--ctl-cyan-600);color:#fff}.ctl-btn--cyan:hover:not(:disabled){background:#06b6d4}.lb{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:800;line-height:1;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.lb--primary{background:var(--color-primary);color:#fff}.lb--primary:hover:not(:disabled){background:var(--color-primary-hover)}.lb--success{background:var(--color-success);color:#fff}.lb--success:hover:not(:disabled){background:var(--color-success-hover)}.lb--danger{background:var(--color-danger);color:#fff}.lb--danger:hover:not(:disabled){background:var(--color-danger-hover)}.lb--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-label)}.lb--secondary:hover:not(:disabled){background:var(--color-bg)}.lb--warning{background:var(--color-warning-solid);color:#fff}.lb--warning:hover:not(:disabled){background:var(--color-warning-solid-hover)}.lb--neutral{color:var(--color-text-label);background:#f3f4f6}.lb--neutral:hover:not(:disabled){background:var(--color-border)}.lb--neutral .lb__spinner{border-color:var(--color-border-strong);border-top-color:var(--color-text-label)}.lb--outline-warning{background:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning-text)}.lb--outline-warning:hover:not(:disabled){background:#fef3c7}.lb--outline-warning .lb__spinner{border-color:var(--color-warning);border-top-color:var(--color-warning-text)}.lb--sm{height:36px;font-size:var(--text-sm);padding:0 12px}.lb--md{height:44px;font-size:var(--text-sm);padding:0 16px}.lb--lg{height:56px;font-size:var(--text-base);padding:0 20px}.lb--full{width:100%}.lb:disabled{opacity:.5;cursor:not-allowed}.lb--loading{cursor:progress}.lb__spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite lb-spin}.lb--secondary .lb__spinner{border-color:var(--color-border-strong);border-top-color:var(--color-text-label)}@keyframes lb-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.lb__spinner{animation-duration:1.6s}}.lb--pill{border-radius:var(--radius-pill)}.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 24px;display:flex}.error-state__icon{color:var(--color-danger)}.error-state__message{font-size:var(--text-base);color:var(--color-text);margin:0;font-weight:700}.error-state__detail{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;font-weight:600}.error-state__retry{border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);height:44px;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;align-items:center;gap:6px;margin-top:8px;padding:0 16px;font-weight:700;display:inline-flex}.error-state__retry:hover{background:var(--color-bg)}.ctl-icon-btn{font-family:var(--ctl-font-sans);font-size:var(--text-xs);border-radius:var(--ctl-radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:6px 10px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.ctl-icon-btn:focus-visible{outline:2px solid var(--ctl-purple-400);outline-offset:2px}.ctl-icon-btn--blue{color:var(--ctl-blue-400)}.ctl-icon-btn--blue:hover{color:var(--ctl-blue-300);background:#1e3a8a4d}.ctl-icon-btn--purple{color:var(--ctl-purple-400)}.ctl-icon-btn--purple:hover{color:var(--ctl-purple-300);background:#581c874d}.ctl-icon-btn--slate{color:var(--ctl-text-muted)}.ctl-icon-btn--slate:hover{color:#fff;background:var(--ctl-border)}.ctl-icon-btn--green{color:var(--ctl-green-400)}.ctl-icon-btn--green:hover{color:var(--ctl-green-300);background:#14532d4d}.ctl-icon-btn--cyan{color:var(--ctl-cyan-400)}.ctl-icon-btn--cyan:hover{color:var(--ctl-cyan-300);background:#164e634d}.ctl-icon-btn--red{color:var(--ctl-red-500)}.ctl-icon-btn--red:hover{color:var(--ctl-red-400);background:#7f1d1d4d}.ctl-icon-btn--amber{color:var(--ctl-yellow-400)}.ctl-icon-btn--amber:hover{color:#fde047;background:#78350f4d}.ctl-icon-btn:disabled{opacity:.4;cursor:not-allowed}.ctl-icon-btn:disabled:hover{background:0 0}.ctl-pill{font-family:var(--ctl-font-sans);cursor:pointer;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.ctl-pill:focus-visible{outline:2px solid var(--ctl-purple-400);outline-offset:2px}.ctl-pill--md{border-radius:var(--ctl-radius-sm);border:2px solid var(--ctl-border-strong);color:var(--ctl-text-soft);font-size:var(--text-sm);background:0 0;flex:1;padding:10px 0}.ctl-pill--md:hover{border-color:var(--ctl-purple-500)}.ctl-pill--md.ctl-pill--active{border-color:var(--ctl-purple-500);color:#fff;background:#9333ea26}.ctl-pill--sm{border-radius:var(--ctl-radius-sm);border:1px solid var(--ctl-border-strong);background:var(--ctl-border);color:var(--ctl-text-soft);font-size:var(--text-xs);padding:4px 10px}.ctl-pill--sm.ctl-pill--neutral:hover{background:var(--ctl-border-strong)}.ctl-pill--sm.ctl-pill--blue{color:var(--ctl-blue-300);background:#1e3a8a80;border-color:#1d4ed899}.ctl-pill--sm.ctl-pill--blue:hover{background:#1e40af99}.ctl-pill--sm.ctl-pill--purple{color:var(--ctl-purple-300);background:#581c8780;border-color:#7e22ce99}.ctl-pill--sm.ctl-pill--purple:hover{background:#6b21a899}.ctl-badge{font-family:var(--ctl-font-sans);font-size:var(--text-xs);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-weight:700;line-height:1.6;display:inline-flex}.ctl-badge--pro{color:#fff;background:#7c3aed}.ctl-badge--enterprise{color:#fff;background:#b45309}.ctl-badge--free{background:var(--ctl-border);color:var(--ctl-text-muted)}.ctl-badge--expired{background:var(--ctl-red-900);color:var(--ctl-red-300)}.ctl-badge--active{background:var(--ctl-green-900);color:var(--ctl-green-300)}.ctl-badge--warning{color:var(--ctl-yellow-400);background:#facc1526}.ctl-badge--neutral{background:var(--ctl-border);color:var(--ctl-text-soft)}.ctl-badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite ctl-pulse}@media (prefers-reduced-motion:reduce){.ctl-badge__dot{animation:none}}@keyframes ctl-pulse{0%,to{opacity:1}50%{opacity:.35}}.ctl-modal-backdrop{z-index:50;background:var(--ctl-backdrop);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ctl-modal-backdrop--strong{background:var(--ctl-backdrop-strong)}.ctl-modal-panel{background:var(--ctl-panel);border:1px solid var(--ctl-border-strong);border-radius:var(--ctl-radius-lg);width:100%;box-shadow:var(--ctl-shadow);font-family:var(--ctl-font-sans);color:var(--ctl-text)}.ctl-modal-header{border-bottom:1px solid var(--ctl-border);align-items:center;gap:12px;padding:24px;display:flex}.ctl-modal-title{font-size:var(--text-lg);color:#fff;flex:1;align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.ctl-modal-icon{border-radius:var(--ctl-radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.ctl-modal-icon--purple{color:var(--ctl-purple-400);background:#581c8780}.ctl-modal-icon--red{color:var(--ctl-red-400);background:#7f1d1d80}.ctl-modal-icon--cyan{color:var(--ctl-cyan-400);background:#164e6380}.ctl-modal-icon--blue{color:var(--ctl-blue-400);background:#1e3a8a80}.ctl-modal-icon--green{color:var(--ctl-green-400);background:#14532d80}.ctl-modal-close{color:var(--ctl-text-muted);font-size:var(--text-2xl);cursor:pointer;background:0 0;border:none;line-height:1}.ctl-modal-close:hover{color:#fff}.ctl-modal-close:focus-visible{outline:2px solid var(--ctl-purple-400);outline-offset:2px}.ctl-modal-body{flex-direction:column;gap:16px;padding:24px;display:flex}.ctl-modal-footer{border-top:1px solid var(--ctl-border);gap:12px;padding:24px;display:flex}.ctl-toast{z-index:100;border-radius:var(--ctl-radius-md);box-shadow:var(--ctl-shadow);font-family:var(--ctl-font-sans);font-size:var(--text-sm);color:#fff;align-items:center;gap:8px;padding:12px 20px;font-weight:600;display:flex;position:fixed;bottom:24px;right:24px}.ctl-toast--success{background:var(--ctl-emerald-600)}.ctl-toast--error{background:var(--ctl-red-600)}.ctl-toast--info{background:var(--ctl-border-strong)}.lt-toast{top:calc(16px + env(safe-area-inset-top));z-index:200;max-width:90vw;font-family:var(--font-sans);font-size:var(--text-sm);color:#fff;pointer-events:none;border-radius:12px;padding:12px 20px;font-weight:700;animation:.25s slideUp;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #11182740}.lt-toast--success{background:var(--color-success)}.lt-toast--error{background:var(--color-danger)}.lt-toast--info{background:var(--color-text)}.ctl-field{flex-direction:column;gap:6px;display:flex}.ctl-field__label{font-family:var(--ctl-font-sans);font-size:var(--text-sm);color:var(--ctl-text-soft);font-weight:600}.ctl-field__required{color:var(--ctl-red-400)}.ctl-field__hint{font-family:var(--ctl-font-sans);font-size:var(--text-xs);color:var(--ctl-text-faint);margin:0}.ctl-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ctl-input{box-sizing:border-box;background:var(--ctl-border);border:2px solid var(--ctl-border-strong);border-radius:var(--ctl-radius-sm);color:#fff;width:100%;font-family:var(--ctl-font-sans);font-size:var(--text-base);padding:10px 14px}.ctl-input::placeholder{color:var(--ctl-text-faint)}.ctl-input:focus{border-color:var(--ctl-input-accent,var(--ctl-purple-500));outline:none}.ctl-input--mono{font-family:var(--ctl-font-mono);font-size:var(--text-sm)}.ctl-input--textarea{resize:none;font-family:var(--ctl-font-sans)}.app-loading{min-height:100vh;font-family:var(--font-sans,system-ui, -apple-system, sans-serif);background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.app-loading__mark{color:#fff;background:#2563eb;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;font-size:36px;font-weight:800;animation:1.4s ease-in-out infinite app-loading-pulse;display:inline-flex;box-shadow:0 10px 28px #2563eb59}.app-loading__title{font-size:var(--text-xl);color:#0f172a;letter-spacing:-.01em;font-weight:800}.app-loading__spinner{border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;width:28px;height:28px;margin-top:4px;animation:.8s linear infinite app-loading-spin}.app-loading__msg{font-size:var(--text-sm);color:#64748b}@keyframes app-loading-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.92;transform:scale(1.06)}}@keyframes app-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-loading__mark,.app-loading__spinner{animation:none}}
