:root{--brand-navy: #1A3A5A;--brand-green: #76C043;--bg-app: #e2e8f0;--bg-panel: #f8fafc;--bg-panel-translucent: rgba(248, 250, 252, .95);--bg-sidebar: #cbd5e1;--bg-header: #cbd5e1;--primary: #76C043;--primary-hover: #5da035;--primary-dim: rgba(118, 192, 67, .1);--accent: #2563eb;--alert: #ef4444;--text-main: #0f172a;--text-muted: #475569;--text-dim: #64748b;--border: #94a3b8;--border-light: rgba(0, 0, 0, .12);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--font-family: "Inter", system-ui, -apple-system, sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .15);--header-height: 64px;--sidebar-width: 260px;--sidebar-width-collapsed: 64px;--z-map: 0;--z-panel: 10;--z-overlay: 1000;--z-modal: 2000;--breakpoint-mobile: 768px;--breakpoint-tablet: 1024px;--breakpoint-desktop: 1440px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-main);font-family:var(--font-family);-webkit-font-smoothing:antialiased;overflow:hidden;height:100vh;width:100vw}#root{height:100%;width:100%;border:4px solid var(--border);border:none}.glass-panel{background:var(--bg-panel-translucent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.leaflet-container{height:100%;width:100%;background-color:var(--bg-app)!important;z-index:var(--z-map)}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--text-main)}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-hover)}input,select,textarea{background:var(--bg-app);border:1px solid var(--border);color:var(--text-main);padding:.5rem .75rem;border-radius:var(--radius-sm);outline:none;font-family:inherit;font-size:var(--font-size-base);width:100%;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--primary)}button{cursor:pointer;font-family:inherit}.spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-left-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){body{height:100dvh}main>div{padding:1rem!important}input,select,textarea{padding:.4rem .6rem;font-size:16px}.responsive-form [style*=gridTemplateColumns]{grid-template-columns:1fr!important}.responsive-form>div:first-of-type{padding:.5rem 1rem!important}.mobile-menu-btn{display:flex!important}.hide-on-mobile{display:none!important}table th,table td{padding:4px 6px!important;font-size:.7rem!important}div[style*=overflowX]{-webkit-overflow-scrolling:touch}div[style*=flexWrap] button{font-size:.8rem!important;padding:6px 8px!important}}@media(min-width:769px){.mobile-menu-btn{display:none!important}}@supports (height: 100dvh){.responsive-modal{max-height:90dvh!important}.responsive-form{min-height:100dvh!important}}.form-content{margin:0 1.5rem}@media(max-width:768px){.form-content{margin:0 .5rem!important}}@supports not (height: 100dvh){.responsive-modal{max-height:90vh!important}.responsive-form{min-height:100vh!important}}.responsive-table-wrapper{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}.page-container{padding:2rem;height:100%;overflow-y:auto}@media(max-width:768px){.page-container{padding:.5rem!important}.responsive-toolbar{flex-direction:column!important;align-items:stretch!important;gap:.5rem!important}.responsive-toolbar>div{display:flex;flex-wrap:wrap;gap:.5rem;width:100%}.responsive-toolbar input[type=text],.responsive-toolbar input[type=date],.responsive-toolbar select{width:100%!important;max-width:none!important;flex:1}.responsive-toolbar button{flex:1;justify-content:center}}
