@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--accent:#2a75c3;--accent-hover:#1f5a99;--accent-soft:#eaf2fb;--accent-text:#1f5a99;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--bg-body:#f4f6f9;--bg-surface:#fff;--bg-subtle:#f8fafc;--bg-hover:#f1f5f9;--text-strong:#0f172a;--text-body:#334155;--text-subtle:#64748b;--border:#e2e8f0;--border-strong:#cbd5e1;--focus-ring:0 0 0 3px #2a75c340;--success:#16a34a;--success-soft:#dcfce7;--warning:#b45309;--warning-soft:#fef3c7;--danger:#dc2626;--danger-soft:#fee2e2;--info:#0369a1;--info-soft:#e0f2fe;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 6px 16px -4px #0f172a1a, 0 2px 4px #0f172a0a;--shadow-lg:0 16px 32px -8px #0f172a29;--sidebar-width:248px;--topbar-height:64px;--page-max:1440px}body.dark-mode{--accent:#4c94e0;--accent-hover:#6aa8ea;--accent-soft:#4c94e024;--accent-text:#8dbdf0;--bg-body:#0b0f17;--bg-surface:#121823;--bg-subtle:#161d2a;--bg-hover:#1b2433;--text-strong:#f1f5f9;--text-body:#cbd5e1;--text-subtle:#8a97ab;--border:#233042;--border-strong:#31415a;--focus-ring:0 0 0 3px #4c94e059;--success:#4ade80;--success-soft:#4ade801f;--warning:#fbbf24;--warning-soft:#fbbf241f;--danger:#f87171;--danger-soft:#f871711f;--info:#38bdf8;--info-soft:#38bdf81f;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 8px 20px -6px #00000080;--shadow-lg:0 18px 36px -10px #0009}body{--primary-blue:var(--accent);--primary-blue-hover:var(--accent-hover);--secondary-blue:var(--accent-soft);--bg-main:var(--bg-body);--bg-card:var(--bg-surface);--bg-sidebar:var(--bg-surface);--text-main:var(--text-strong);--text-dark:var(--text-strong);--text-muted:var(--text-subtle);--border-light:var(--border)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-body);color:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--text-strong);letter-spacing:-.01em;font-weight:600}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary,.btn-secondary,.btn-ghost{border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-primary{background-color:var(--accent);color:#fff;border:1px solid var(--accent)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:disabled{background-color:var(--gray-400);border-color:var(--gray-400);cursor:not-allowed}.btn-secondary{background:var(--bg-surface);color:var(--text-strong);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--bg-hover)}.btn-ghost{color:var(--text-subtle);background:0 0;border:1px solid #0000}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-strong)}.input-field{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;color:var(--text-strong);padding:.65rem .9rem;font-family:Inter,sans-serif;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.input-field:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.card-title{color:var(--text-strong);font-size:.95rem;font-weight:600}.card-body{padding:1rem 1.25rem}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.section-title{color:var(--text-strong);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:600;display:flex}.section-count{color:var(--text-subtle);background:var(--bg-hover);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge--success{color:var(--success);background:var(--success-soft)}.badge--warning{color:var(--warning);background:var(--warning-soft)}.badge--danger{color:var(--danger);background:var(--danger-soft)}.badge--info{color:var(--info);background:var(--info-soft)}.badge--neutral{color:var(--text-subtle);background:var(--bg-hover)}.skeleton{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--bg-subtle) 50%, var(--bg-hover) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.4s ease-in-out infinite zs-shimmer}@keyframes zs-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;color:var(--text-subtle);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2.5rem 1rem;font-size:.875rem;display:flex}.empty-state strong{color:var(--text-strong);font-weight:600}.app-container{background:var(--bg-body);height:100vh;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.page-container{flex:1;min-height:0;padding:2rem;overflow-y:auto}.page{width:100%;max-width:var(--page-max);margin:0 auto}@media (width<=768px){.page-container{padding:1.25rem 1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
