:root{--mag:#f61f8b;--mag-dim:#f61f8b14;--mag-border:#f61f8b33;--berry:#8f1838;--blush:#ffdeef;--bg:#fff;--bg-surface:#eaeaee;--bg-card:#fff;--bg-panel:#fff;--bg-hover:#f0f0f2;--bg-input:#f4f4f6;--text-primary:#111118;--text-secondary:#52525c;--text-muted:#8e8e9a;--text-placeholder:#aeaeb8;--border:#00000014;--border-strong:#00000024;--green:#16a34a;--green-bg:#f0fdf4;--red:#dc2626;--red-bg:#fef2f2;--amber:#d97706;--amber-bg:#fffbeb;--sidebar-width:240px;--topbar-height:58px;--ai-panel-width:320px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 8px 24px #00000014, 0 4px 8px #0000000a;--font:"Montserrat", sans-serif;--mono:"JetBrains Mono", monospace}[data-theme=dark]{--bg:#000;--bg-surface:#141418;--bg-card:#111114;--bg-panel:#000;--bg-hover:#18181c;--bg-input:#1c1c21;--text-primary:#f0eeea;--text-secondary:#9d9b96;--text-muted:#5a5856;--text-placeholder:#3a3838;--border:#ffffff12;--border-strong:#ffffff1f;--green-bg:#16a34a1f;--red-bg:#dc26261f;--amber-bg:#d977061f;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseRing{0%,to{opacity:.6;transform:scale(1)}50%{opacity:0;transform:scale(1.06)}}@keyframes borderPulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes borderAlphaPulse{0%,to{border-color:var(--pulse-color-full)}50%{border-color:var(--pulse-color-dim)}}.border-pulse{animation:1.2s ease-in-out infinite borderAlphaPulse!important}@keyframes contentPulse{0%,to{opacity:1}50%{opacity:.45}}.content-pulse{animation:1.2s ease-in-out infinite contentPulse}@media (prefers-reduced-motion:reduce){.content-pulse{opacity:.7;animation:none}}@keyframes drillSkelSweep{0%{transform:translate(-100%)}to{transform:translate(200%)}}.drill-skel{background:0 0;border-radius:8px;width:100%;height:100%;position:relative;overflow:hidden}.drill-skel:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--skel-tint,#0000000a) 30%, var(--skel-bright,#0000002e) 48%, var(--skel-peak,#00000052) 50%, var(--skel-bright,#0000002e) 52%, var(--skel-tint,#0000000a) 70%, transparent 100%);filter:blur(.5px);animation:1.4s ease-in-out infinite drillSkelSweep;position:absolute;inset:0;transform:translate(-100%)}@media (prefers-reduced-motion:reduce){.drill-skel:before{opacity:.5;animation:none}}@keyframes breakdownNumberPulse{0%{opacity:.3}50%{opacity:.3}to{opacity:1}}@keyframes typewriter{0%{opacity:0}to{opacity:1}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.4}}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.invite-drawer-panel{animation:.2s ease-out drawer-slide-in}.invite-drawer-backdrop{animation:.2s ease-out backdrop-fade-in}@media (prefers-reduced-motion:reduce){.invite-drawer-panel,.invite-drawer-backdrop{animation:none}}.sticky-table{border-collapse:separate;border-spacing:0}.sticky-table thead th{background:var(--bg-panel);z-index:1;position:sticky;top:0}.sticky-table tbody tr>td{border-top:1px solid var(--border)}[data-theme=dark] input:-webkit-autofill{caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-panel) inset!important;-webkit-text-fill-color:var(--text-primary)!important}[data-theme=dark] input:-webkit-autofill:hover{caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-panel) inset!important;-webkit-text-fill-color:var(--text-primary)!important}[data-theme=dark] input:-webkit-autofill:focus{caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-panel) inset!important;-webkit-text-fill-color:var(--text-primary)!important}[data-theme=dark] .leaflet-popup-content-wrapper{background:var(--bg-card);color:var(--text-primary)}[data-theme=dark] .leaflet-popup-tip{background:var(--bg-card)}[data-theme=dark] .leaflet-popup-close-button{color:var(--text-secondary)}