:root{--bg-primary:#fff;--bg-secondary:#f7f9ff;--bg-tertiary:#f1f5f9;--text-main:#131d25;--text-muted:#43474f;--accent-pink:#007bd7;--accent-cyan:#002c5e;--alert-red:#ba1a1a;--success-green:#10b981;--border-glass:#002c5e14;--border-glass-hover:#002c5e29;--accent-pink-glow:#007bd726;--accent-cyan-glow:#002c5e1a;--sans:"Inter", system-ui, -apple-system, sans-serif;--headline:"Hanken Grotesk", "Inter", system-ui, sans-serif;--mono:ui-monospace, "Fira Code", monospace;font-family:var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-main);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;margin:0;padding:0}body{min-height:100svh;margin:0;padding:0}.glass-panel{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);background:#fffc;border-radius:20px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 30px #0f172a08}.glass-panel:hover{border-color:var(--border-glass-hover);box-shadow:0 10px 40px #0f172a0f}.glass-input{border:1px solid var(--border-glass);color:var(--text-main);background:#0f172a05;border-radius:12px;outline:none;padding:12px 16px;font-size:14px;transition:all .2s}.glass-input:focus{border-color:var(--accent-pink);box-shadow:0 0 12px var(--accent-pink-glow);background:#fff}.glass-button-primary{background:linear-gradient(135deg, var(--accent-pink), #00508f);color:#fff;cursor:pointer;letter-spacing:.5px;box-shadow:0 4px 15px var(--accent-pink-glow);border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1)}.glass-button-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #007bd74d}.glass-button-primary:active{transform:translateY(0)}.glass-button-secondary{border:1px solid var(--border-glass);color:var(--text-main);cursor:pointer;background:#0f172a0a;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.glass-button-secondary:hover{border-color:var(--border-glass-hover);background:#0f172a14}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseBorder{0%{border-color:#00e5ff33}50%{border-color:#00e5ff99}to{border-color:#00e5ff33}}.fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}#root{box-sizing:border-box;flex-direction:column;min-height:100svh;display:flex}.dashboard-grid{box-sizing:border-box;grid-template-columns:repeat(12,1fr);gap:24px;width:100%;max-width:1400px;margin:0 auto;padding:24px;display:grid}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr;gap:16px;padding:16px}}.map-marker-label{color:#fff!important;white-space:nowrap!important;background-color:#0b1424d9!important;border:1px solid #fff3!important;border-radius:4px!important;padding:1px 4px!important;font-family:Inter,sans-serif!important;font-size:9px!important;font-weight:800!important;box-shadow:0 1px 4px #0003!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}.animate-spin{animation:1s linear infinite spin}.pulse-animation{animation:1.5s cubic-bezier(.4,0,.6,1) infinite pulse}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f5f9}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.map-canvas-container{background-color:#0f172a;background-image:radial-gradient(#ffffff14 1.5px,#0000 1.5px);background-size:32px 32px}.glass-card{background:#fffffff2;border:1px solid #002c5e14;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0f172a05}.glass-card:hover{border-color:#002c5e29;box-shadow:0 10px 30px #0f172a0d}.badge-pending{color:#d97706;background-color:#f59e0b1a;border:1px solid #f59e0b40}.badge-approved{color:#059669;background-color:#10b9811a;border:1px solid #10b98140}.badge-rejected{color:#dc2626;background-color:#ef44441a;border:1px solid #ef444440}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.animate-slide-up{animation:.35s cubic-bezier(.16,1,.3,1) forwards slide-up}.pin-mode-active,.pin-mode-active .leaflet-container,.pin-mode-active .leaflet-grab,.pin-mode-active .leaflet-interactive,.pin-mode-active .leaflet-pane{cursor:crosshair!important}
