*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg-page:#f1f5f9;--bg-surface:#fff;--bg-surface-hover:#f8fafc;--bg-subtle:#f1f5f9;--bg-muted:#e2e8f0;--border:#e2e8f0;--border-strong:#cbd5e1;--border-focus:#0097a7;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--text-link:#0097a7;--accent:#0097a7;--accent-hover:#00838f;--accent-active:#006f7a;--accent-subtle:#0097a714;--accent-subtle-border:#0097a740;--accent-text:#005f69;--danger:#dc2626;--danger-hover:#b91c1c;--danger-subtle:#dc262612;--danger-border:#dc262640;--danger-text:#b91c1c;--success:#16a34a;--success-subtle:#16a34a14;--success-border:#16a34a40;--warning:#d97706;--warning-subtle:#d9770614;--warning-border:#d9770640;--header-bg:#1a2640;--header-border:#2a3a58;--header-text:#e2e8f0;--header-text-muted:#94a3b8;--header-icon-hover:#ffffff14;--sidebar-bg:#fff;--sidebar-border:#e2e8f0;--sidebar-text:#374151;--sidebar-text-muted:#6b7280;--sidebar-item-hover:#f1f5f9;--sidebar-item-active-bg:#0097a714;--sidebar-item-active-text:#0097a7;--sidebar-item-active-border:#0097a7;--sidebar-back-color:#0097a7;--table-header-bg:#f8fafc;--table-header-text:#475569;--table-row-hover:#f8fafc;--table-border:#e2e8f0;--input-bg:#fff;--input-border:#d1d5db;--input-border-hover:#9ca3af;--input-text:#111827;--input-placeholder:#9ca3af;--input-focus-shadow:#0097a726;--modal-bg:#fff;--modal-border:#e2e8f0;--modal-overlay:#0f172a80;--modal-shadow:0 20px 60px #0000002e;--shadow-sm:0 1px 3px #00000012,0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014,0 2px 4px #0000000a;--shadow-lg:0 8px 24px #0000001a,0 4px 8px #0000000d;--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:12px}[data-theme=dark]{--bg-page:#0f172a;--bg-surface:#1e293b;--bg-surface-hover:#263348;--bg-subtle:#0f172a;--bg-muted:#334155;--border:#334155;--border-strong:#475569;--border-focus:#0097a7;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#fff;--text-link:#22c5d5;--accent:#0097a7;--accent-hover:#00838f;--accent-active:#006f7a;--accent-subtle:#0097a71f;--accent-subtle-border:#0097a759;--accent-text:#22c5d5;--danger:#ef4444;--danger-hover:#dc2626;--danger-subtle:#ef44441a;--danger-border:#ef44444d;--danger-text:#fca5a5;--success:#22c55e;--success-subtle:#22c55e1a;--success-border:#22c55e4d;--warning:#f59e0b;--warning-subtle:#f59e0b1a;--warning-border:#f59e0b4d;--header-bg:#1a2640;--header-border:#2a3a58;--header-text:#e2e8f0;--header-text-muted:#94a3b8;--header-icon-hover:#ffffff14;--sidebar-bg:#1e293b;--sidebar-border:#334155;--sidebar-text:#cbd5e1;--sidebar-text-muted:#64748b;--sidebar-item-hover:#263348;--sidebar-item-active-bg:#0097a71f;--sidebar-item-active-text:#22c5d5;--sidebar-item-active-border:#0097a7;--sidebar-back-color:#22c5d5;--table-header-bg:#1e293b;--table-header-text:#94a3b8;--table-row-hover:#263348;--table-border:#334155;--input-bg:#0f172a;--input-border:#334155;--input-border-hover:#475569;--input-text:#f1f5f9;--input-placeholder:#64748b;--input-focus-shadow:#0097a733;--modal-bg:#1e293b;--modal-border:#334155;--modal-overlay:#000000a6;--modal-shadow:0 20px 60px #00000073;--shadow-sm:0 1px 3px #0000004d,0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d,0 2px 4px #0003;--shadow-lg:0 8px 24px #00000059,0 4px 8px #0003}html{font-size:14px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f1f5f9;background-color:var(--bg-page);color:#0f172a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;transition:background-color .2s ease,color .2s ease}button,input,select,textarea{font-family:inherit}a{color:#0097a7;color:var(--text-link);text-decoration:none}code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em}@keyframes spin{to{transform:rotate(1turn)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cookie-consent{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);bottom:18px;box-shadow:var(--shadow-lg);color:var(--text-primary);display:flex;gap:18px;padding:16px;position:fixed;right:18px;width:min(640px,calc(100vw - 36px));z-index:1000}.cookie-consent-copy{min-width:0;text-align:left}.cookie-consent-copy strong{display:block;font-size:.94rem;margin-bottom:4px}.cookie-consent-copy p{color:var(--text-secondary);font-size:.86rem;line-height:1.45;margin:0 0 6px}.cookie-consent-copy a{color:var(--accent);font-size:.86rem;font-weight:600;text-decoration:none}.cookie-consent-copy a:hover{text-decoration:underline}.cookie-consent-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.cookie-consent button{border-radius:var(--radius);cursor:pointer;font:inherit;font-size:.9rem;font-weight:600;min-height:40px;padding:0 16px}.cookie-consent-primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.cookie-consent-secondary{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary)}@media (max-width:640px){.cookie-consent{align-items:stretch;bottom:12px;flex-direction:column;gap:12px;left:12px;right:12px;width:auto}.cookie-consent-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-consent button{width:100%}}.app{transition:background-color .2s ease}.app,.error-screen,.loading-screen{background-color:var(--bg-page);min-height:100vh}.error-screen,.loading-screen{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:24px;text-align:center}.error-icon{font-size:56px;margin-bottom:20px}.error-screen h2{color:var(--text-primary);font-size:22px;font-weight:600;margin-bottom:10px}.error-screen p{color:var(--text-secondary);font-size:15px;margin-bottom:28px;max-width:400px}.retry-button{background-color:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 22px;transition:background .15s ease}.retry-button:hover{background-color:var(--accent-hover)}.spinner{animation:spin .85s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:36px;margin-bottom:14px;width:36px}.coming-soon{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:80px 24px;text-align:center}.coming-soon svg{color:var(--accent);margin-bottom:20px}.coming-soon h2{color:var(--text-primary);font-size:22px;font-weight:600;margin-bottom:10px}.coming-soon p{color:var(--text-secondary);font-size:15px}