@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap");:root{--color-bg:#faf5ff;--color-surface:#fff;--color-surface-raised:#f5f0ff;--color-primary:#1f1235;--color-accent:#7c3aed;--color-accent-hover:#6d28d9;--color-accent-light:rgba(124,58,237,.1);--color-accent2:#ec4899;--color-text:#1f1235;--color-border:#ede9fe;--color-muted:#6b7280;--color-danger:#dc2626;--color-danger-light:rgba(220,38,38,.08);--color-success:#059669;--color-success-light:rgba(5,150,105,.08);--color-warning:#d97706;--color-warning-light:rgba(217,119,6,.08);--color-gold:#d97706;--aurora-1:rgba(124,58,237,.06);--aurora-2:rgba(244,114,182,.05);--shadow-sm:0 2px 12px rgba(124,58,237,.06);--shadow-md:0 4px 20px rgba(124,58,237,.1);--shadow-lg:0 8px 32px rgba(124,58,237,.14);--font-sans:"Space Grotesk",system-ui,-apple-system,sans-serif;--font-serif:"Space Grotesk",system-ui,sans-serif;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-xs:0.25rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--radius-full:9999px;--sidebar-width:240px;--bottomnav-height:64px}[data-theme=dark]{--color-bg:#0d0b14;--color-surface:#13101e;--color-surface-raised:#1a1628;--color-primary:#f0eeff;--color-accent:#a78bfa;--color-accent-hover:#8b5cf6;--color-accent-light:rgba(167,139,250,.12);--color-accent2:#f472b6;--color-text:#f0eeff;--color-border:rgba(167,139,250,.15);--color-muted:#6b7280;--color-danger:#f87171;--color-danger-light:hsla(0,91%,71%,.1);--color-success:#34d399;--color-success-light:rgba(52,211,153,.1);--color-warning:#fbbf24;--color-warning-light:rgba(251,191,36,.1);--color-gold:#fbbf24;--aurora-1:rgba(124,58,237,.08);--aurora-2:rgba(244,114,182,.06);--shadow-sm:0 2px 12px rgba(0,0,0,.25);--shadow-md:0 4px 20px rgba(0,0,0,.35);--shadow-lg:0 8px 32px rgba(0,0,0,.45)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:.875rem;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s,color .2s;position:relative}body:before{top:-20%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,var(--aurora-1) 0,transparent 70%)}body:after,body:before{content:"";position:fixed;pointer-events:none;z-index:0}body:after{bottom:-10%;left:5%;width:400px;height:400px;background:radial-gradient(circle,var(--aurora-2) 0,transparent 70%)}h1{font-family:var(--font-sans);font-size:1.5rem;font-weight:700;color:var(--color-primary);line-height:1.2;letter-spacing:-.02em}h2{font-size:1rem;line-height:1.3;letter-spacing:-.01em}h2,h3{font-family:var(--font-sans);font-weight:600;color:var(--color-primary)}h3{font-size:.875rem}h4,h5,h6{font-family:var(--font-sans);font-weight:600;color:var(--color-primary)}a{color:var(--color-accent);text-decoration:none;transition:color .15s}a:hover{color:var(--color-accent-hover)}button{font-family:var(--font-sans);cursor:pointer;transition:all .15s}input,select,textarea{font-family:var(--font-sans);font-size:.875rem;background-color:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.625rem .875rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}input::placeholder,textarea::placeholder{color:var(--color-muted)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}.text-muted{color:var(--color-muted)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.font-mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (prefers-color-scheme:dark){[data-theme=light]{--color-bg:#faf5ff;--color-surface:#fff;--color-surface-raised:#f5f0ff;--color-primary:#1f1235;--color-accent:#7c3aed;--color-accent-hover:#6d28d9;--color-accent-light:rgba(124,58,237,.1);--color-accent2:#ec4899;--color-text:#1f1235;--color-border:#ede9fe;--color-muted:#6b7280;--color-danger:#dc2626;--color-danger-light:rgba(220,38,38,.08);--color-success:#059669;--color-success-light:rgba(5,150,105,.08);--color-warning:#d97706;--color-warning-light:rgba(217,119,6,.08);--color-gold:#d97706;--aurora-1:rgba(124,58,237,.06);--aurora-2:rgba(244,114,182,.05);--shadow-sm:0 2px 12px rgba(124,58,237,.06);--shadow-md:0 4px 20px rgba(124,58,237,.1);--shadow-lg:0 8px 32px rgba(124,58,237,.14)}}.page-container{padding:1.5rem 2rem;max-width:1200px;margin:0 auto}.page-container-sm{padding:1.5rem 2rem;max-width:900px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1.75rem}.dashboard-grid{display:grid;grid-template-columns:1fr 340px;grid-gap:1.5rem;gap:1.5rem;align-items:start}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.75rem}@media (max-width:900px){.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.page-container,.page-container-sm{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.625rem}.two-col-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:stretch}.page-header a,.page-header button{text-align:center}}@media (max-width:900px){.luna-sidebar{position:static!important;height:480px!important}}@media (max-width:600px){.luna-sidebar{height:420px!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}