:root{--bg:#0b1020;--surface:#12182b;--surface-muted:#172035;--sidebar-bg:#0a0f1d;--sidebar-surface:rgba(255,255,255,0.035);--sidebar-border:rgba(148,163,184,0.12);--sidebar-active:linear-gradient(135deg,#4f46e5,#4338ca);--sidebar-text:#dbe4ff;--sidebar-text-muted:#94a3b8;--text:#edf2ff;--text-muted:#9aa7c2;--border:rgba(148,163,184,0.14);--accent:#6366f1;--accent-soft:rgba(99,102,241,0.14);--success:#22c55e;--success-soft:rgba(34,197,94,0.12);--danger:#ef4444;--danger-soft:rgba(239,68,68,0.12);--warning:#f59e0b;--warning-soft:rgba(245,158,11,0.12);--shadow:0 18px 50px rgba(0,0,0,0.28)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top,rgba(79,70,229,.12),transparent 30%),linear-gradient(180deg,#08101f,#0b1020);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.025);color:var(--text);padding:12px 14px;outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:rgba(99,102,241,.55);box-shadow:0 0 0 4px rgba(99,102,241,.12);background:rgba(255,255,255,.04)}table{width:100%;border-collapse:collapse}th{color:var(--text-muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}td{color:var(--text);font-size:14px}.app-page-title{margin:0;font-size:clamp(20px,2vw,28px);line-height:1.1;letter-spacing:-.03em;font-weight:800}.app-page-subtitle{margin:5px 0 0;color:var(--text-muted);line-height:1.6;font-size:14px;max-width:860px}.app-card{border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));box-shadow:var(--shadow);min-width:0;transition:border-color .15s ease,box-shadow .15s ease}.app-card-muted{border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.03);min-width:0}.app-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid transparent;white-space:nowrap}.app-badge-neutral{background:rgba(255,255,255,.05);color:var(--text);border-color:var(--border)}.app-badge-success{background:var(--success-soft);color:#b8f5c9;border-color:rgba(34,197,94,.26)}.app-badge-danger{background:var(--danger-soft);color:#ffc0c0;border-color:rgba(239,68,68,.26)}.app-badge-warning{background:var(--warning-soft);color:#fde2a7;border-color:rgba(245,158,11,.24)}.app-button-danger,.app-button-primary,.app-button-secondary{min-height:42px;padding:0 14px;border-radius:12px;font-weight:800;border:1px solid transparent;transition:transform .12s ease,opacity .15s ease,background .15s ease,border-color .15s ease}.app-button-danger:hover,.app-button-primary:hover,.app-button-secondary:hover{transform:translateY(-1px)}.app-button-danger:disabled,.app-button-primary:disabled,.app-button-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.app-button-primary{background:linear-gradient(135deg,#4f46e5,#4338ca);color:white;border-color:rgba(99,102,241,.22)}.app-button-secondary{background:rgba(255,255,255,.03);color:var(--text);border-color:var(--border)}.app-button-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:white;border-color:rgba(239,68,68,.22)}.app-alert{border-radius:14px;padding:14px 16px;border:1px solid var(--border);display:grid;grid-gap:6px;gap:6px}.app-alert-title{font-size:14px;font-weight:900}.app-alert-body{font-size:14px;line-height:1.6}.app-alert-success{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.24);color:#d8ffe3}.app-alert-error{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.24);color:#ffd6d6}.app-alert-warning{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.24);color:#ffe7b5}.app-alert-neutral{background:rgba(255,255,255,.04);border-color:var(--border);color:var(--text)}.app-empty-state{min-height:220px;display:grid;place-items:center;border-radius:16px;border:1px dashed var(--border);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.015));text-align:center;padding:24px}.app-empty-state-inner{max-width:480px}.app-empty-state-title{font-size:20px;font-weight:900;margin-bottom:8px}.app-empty-state-subtitle{color:var(--text-muted);line-height:1.7;font-size:14px}.app-empty-state-action{margin-top:14px;display:flex;justify-content:center}.app-loading-block{min-height:110px;border-radius:14px;border:1px dashed var(--border);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.015));display:grid;place-items:center;padding:18px;text-align:center}.app-loading-spinner{width:24px;height:24px;border-radius:999px;border:3px solid rgba(255,255,255,.12);border-top-color:rgba(99,102,241,.95);animation:app-spin .8s linear infinite;margin:0 auto 12px}.app-loading-label{color:var(--text-muted);font-size:14px}@keyframes app-spin{to{transform:rotate(1turn)}}.app-skeleton-line,.app-skeleton-tile{position:relative;overflow:hidden;background:rgba(255,255,255,.06)}.app-skeleton-line:after,.app-skeleton-tile:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);animation:app-shimmer 1.3s infinite}.app-skeleton-line-title{width:180px;height:20px;border-radius:8px}.app-skeleton-line-subtitle{width:min(420px,100%);height:14px;border-radius:8px;margin-top:10px}.app-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px}.app-skeleton-tile{height:94px;border-radius:14px}@keyframes app-shimmer{to{transform:translateX(100%)}}.app-inline-note{border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text-muted);padding:12px 14px;font-size:13px;line-height:1.6}.analytics-table tbody tr{transition:background .1s ease}.analytics-table tbody tr:hover{background:rgba(255,255,255,.03)}.hoverable-row{transition:background .1s ease}.hoverable-row:hover{background:rgba(255,255,255,.03)}@media (max-width:900px){.app-page-title{font-size:20px}.app-page-subtitle{font-size:13px}}