:root{--font-sans:"Geist Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--accent:#2563eb;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-smooth:cubic-bezier(.32, .72, 0, 1);--ease-hover:cubic-bezier(.37, 0, .63, 1)}@keyframes page-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1}}@keyframes page-fade{0%{opacity:0}to{opacity:1}}.page-main{animation:page-rise .55s var(--ease-smooth) both}@keyframes card-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1}}.dashboard-grid>div,.analytics-grid>div{animation:card-rise .6s var(--ease-smooth) backwards}.dashboard-grid>div:first-child,.analytics-grid>div:first-child{animation-delay:0s}.dashboard-grid>div:nth-child(2),.analytics-grid>div:nth-child(2){animation-delay:70ms}.dashboard-grid>div:nth-child(3),.analytics-grid>div:nth-child(3){animation-delay:.14s}.dashboard-grid>div:nth-child(4),.analytics-grid>div:nth-child(4){animation-delay:.21s}.dashboard-grid>div:nth-child(5),.analytics-grid>div:nth-child(5){animation-delay:.28s}.dashboard-grid>div:nth-child(6),.analytics-grid>div:nth-child(6){animation-delay:.35s}.dashboard-grid>div:nth-child(7),.analytics-grid>div:nth-child(7){animation-delay:.42s}.dashboard-grid>div:nth-child(n+8),.analytics-grid>div:nth-child(n+8){animation-delay:.47s}button{transition:transform .16s var(--ease-smooth)}button:active:not(:disabled){transform:scale(.97)}.expand-close{transition:transform .14s var(--ease-out), background .14s ease, color .14s ease, border-color .14s ease}.expand-close:active:not(:disabled),.expand-close[data-pressed=true]{transform:scale(.86);color:#0f172a!important;background:#e2e8f0!important;border-color:#cbd5e1!important}@media (hover:hover) and (pointer:fine){.expand-close:hover{color:#0f172a!important;background:#f1f5f9!important;border-color:#cbd5e1!important}.nav-link:hover{background:#2563eb12}.signout-btn:hover{background:#dc262614;color:#dc2626!important;border-color:#dc262659!important}}@media (prefers-reduced-motion:reduce){.page-main{animation:.2s both page-fade}.dashboard-grid>div,.analytics-grid>div{animation:none}button:active:not(:disabled){transform:none}}html,body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}h1,h2,h3{letter-spacing:-.015em;text-wrap:balance}h1{letter-spacing:-.022em}.auth-input{transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26}.auth-btn{transition:background .15s,transform 80ms}.auth-btn:hover:not(:disabled){background:#1d4ed8}.auth-btn:active:not(:disabled){transform:translateY(1px)}.auth-brand{flex:1.1}@media (width<=880px){.auth-brand{display:none}}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:12px;display:grid}.dashboard-grid>div{box-sizing:border-box;min-height:350px}.analytics-grid{flex-wrap:wrap;gap:12px;display:flex}.analytics-grid>div{box-sizing:border-box;flex:1 0 30%;min-width:350px}.analytics-grid>div.analytics-table{flex:0 0 200px}.analytics-grid>div.analytics-barchart{flex:560px}.analytics-grid>div.analytics-pie{flex:0 0 calc(50% - 6px);min-width:350px}.analytics-map-row{display:contents}.island,.dashboard-grid>div,.analytics-grid>div{transition:transform .45s var(--ease-hover), box-shadow .45s var(--ease-hover), border-color .3s ease;will-change:transform}@media (hover:hover) and (pointer:fine){.island:hover,.dashboard-grid>div:hover,.analytics-grid>div:hover{transform:translateY(-4px);box-shadow:0 10px 28px #4a90d92e;border-color:#7ec5e8!important}}@media (prefers-reduced-motion:reduce){.island:hover,.dashboard-grid>div:hover,.analytics-grid>div:hover{transform:none}}@media (width<=768px){.dashboard-grid{grid-template-columns:1fr;gap:.875rem}.analytics-grid{gap:.875rem}.analytics-grid>div,.analytics-grid>div.analytics-table,.analytics-grid>div.analytics-barchart,.analytics-grid>div.analytics-pie{flex:100%;min-width:0}.dashboard-grid>div{min-height:0}.page-main table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}.settings-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs>a{white-space:nowrap;flex:none}.stack-mobile{grid-template-columns:1fr!important}.page-main h1{font-size:1.5rem}}
