@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs: .75rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.container{width:100%}@media(width>=40rem){.container{max-width:40rem}}@media(width>=48rem){.container{max-width:48rem}}@media(width>=64rem){.container{max-width:64rem}}@media(width>=80rem){.container{max-width:80rem}}@media(width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url("./media/layers-55W3Q4RM.png");width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url("./media/layers-2x-TBM42ERR.png");background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url("./media/marker-icon-2V3QKKVC.png")}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--brand-primary: #1A237E;--brand-primary-strong: #0F172A;--brand-primary-soft: #3949AB;--brand-accent: #FFC107;--brand-accent-strong: #E0A800;--success: #16A34A;--success-soft: #DCFCE7;--warning: #F59E0B;--warning-soft: #FEF3C7;--danger: #DC2626;--danger-soft: #FEE2E2;--info: #2563EB;--info-soft: #DBEAFE;--bg: #F4F6FB;--bg-elevated: #FFFFFF;--surface: #FFFFFF;--surface-2: #F8FAFC;--surface-muted: #EEF2F7;--border: #E2E8F0;--border-soft: #EDF1F7;--border-strong: #CBD5E1;--text: #0F172A;--text-muted: #64748B;--text-subtle: #94A3B8;--text-on-brand: #FFFFFF;--text-on-accent: #1A237E;--shadow-xs: 0 1px 2px rgba(15,23,42,.05);--shadow-sm: 0 2px 6px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);--shadow-md: 0 8px 24px -8px rgba(15,23,42,.18), 0 4px 8px -2px rgba(15,23,42,.06);--shadow-lg: 0 24px 48px -16px rgba(15,23,42,.25), 0 8px 16px -4px rgba(15,23,42,.08);--shadow-brand: 0 12px 32px -8px rgba(26,35,126,.45);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .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;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--text-display: clamp(2.25rem, 4vw, 3.75rem);--text-h1: clamp(1.75rem, 2.5vw, 2.25rem);--text-h2: 1.5rem;--text-h3: 1.25rem;--text-body: 1rem;--text-small: .875rem;--text-xs: .75rem;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .14s;--dur: .2s;--dur-slow: .32s;--ring: 0 0 0 3px rgba(26,35,126,.25);--ring-accent: 0 0 0 3px rgba(255,193,7,.4);--gradient-brand: linear-gradient(135deg, #1A237E 0%, #3949AB 100%);--gradient-night: linear-gradient(135deg, #0F172A 0%, #1A237E 55%, #3949AB 100%);--gradient-accent: linear-gradient(135deg, #FFC107 0%, #FFB300 100%);--gradient-surface: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);color-scheme:light}@layer base{*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}::selection{background:#ffc10759;color:var(--text)}.surface{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md)}.surface-elevated{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.card-interactive:focus-visible{outline:none;box-shadow:var(--shadow-md),var(--ring)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.125rem;font:600 var(--text-small)/1 var(--font-sans);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);min-height:44px}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{background:var(--gradient-brand);color:var(--text-on-brand);box-shadow:var(--shadow-sm)}.btn-primary:not(:disabled):hover{box-shadow:var(--shadow-brand);filter:brightness(1.05)}.btn-accent{background:var(--gradient-accent);color:var(--text-on-accent);box-shadow:var(--shadow-sm)}.btn-accent:not(:disabled):hover{box-shadow:0 12px 28px -8px #ffc1078c;filter:brightness(1.04)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:not(:disabled):hover{background:var(--surface-muted);border-color:var(--brand-primary);color:var(--brand-primary)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:not(:disabled):hover{background:var(--surface-muted);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:not(:disabled):hover{filter:brightness(1.05);box-shadow:0 10px 24px -8px #dc26268c}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--radius-pill)}.btn-lg{padding:.95rem 1.5rem;font-size:1rem;min-height:52px}.btn-sm{padding:.4rem .75rem;font-size:.8125rem;min-height:36px}.field{display:flex;flex-direction:column;gap:.4rem}.field-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase}.input,.select,.textarea{width:100%;padding:.8rem .95rem;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-md);font:500 var(--text-small) var(--font-sans);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input:hover,.select:hover,.textarea:hover{border-color:var(--brand-primary-soft)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:var(--ring)}.input:disabled{background:var(--surface-muted);opacity:.7;cursor:not-allowed}.field-icon{position:relative}.field-icon>.input{padding-left:2.6rem}.field-icon>.material-symbols-outlined{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--text-subtle);pointer-events:none;font-size:1.25rem}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .7rem;font:600 var(--text-xs)/1 var(--font-sans);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border-soft);white-space:nowrap}.chip .material-symbols-outlined{font-size:.95rem}.chip-success{background:var(--success-soft);color:var(--success);border-color:transparent}.chip-warning{background:var(--warning-soft);color:var(--warning);border-color:transparent}.chip-danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.chip-info{background:var(--info-soft);color:var(--info);border-color:transparent}.chip-brand{background:#1a237e1a;color:var(--brand-primary);border-color:transparent}.chip-accent{background:#ffc1072e;color:#b7791f;border-color:transparent}.icon-tile{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:#1a237e1a;color:var(--brand-primary);flex-shrink:0}.icon-tile-lg{width:64px;height:64px}.icon-tile-sm{width:40px;height:40px}.icon-tile-accent{background:#ffc1072e;color:var(--brand-accent-strong)}.icon-tile-success{background:var(--success-soft);color:var(--success)}.icon-tile-warning{background:var(--warning-soft);color:var(--warning)}.icon-tile-danger{background:var(--danger-soft);color:var(--danger)}.icon-tile-info{background:var(--info-soft);color:var(--info)}.page-heading{font-size:var(--text-h1);font-weight:800;color:var(--text);letter-spacing:-.02em}.page-subheading{font-size:1rem;color:var(--text-muted);margin-top:.4rem}.section-title{font-size:var(--text-h3);font-weight:700;color:var(--text);letter-spacing:-.01em}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-primary)}.nav-glass{background:var(--bg);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--border-soft)}@supports (color: color-mix(in lab,red,red)){.nav-glass{background:color-mix(in srgb,var(--bg) 85%,transparent)}}.nav-glass-brand{background:color-mix(in srgb,#0F172A 80%,transparent);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid rgba(255,255,255,.08);color:#fff}.divider{height:1px;background:var(--border-soft);border:0}.divider-vertical{width:1px;background:var(--border-soft);align-self:stretch}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.skeleton{background:var(--surface-muted);border-radius:var(--radius-sm);animation:skeleton-pulse 1.4s var(--ease) infinite}@keyframes fade-in-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-ring{0%{box-shadow:0 0 #ffc1078c}70%{box-shadow:0 0 0 14px #ffc10700}to{box-shadow:0 0 #ffc10700}}.fade-in-up{animation:fade-in-up var(--dur-slow) var(--ease-out) both}.fade-in{animation:fade-in var(--dur) var(--ease) both}.scale-in{animation:scale-in var(--dur) var(--ease-out) both}.slide-in-right{animation:slide-in-right var(--dur-slow) var(--ease-out) both}.float-soft{animation:float-soft 5s ease-in-out infinite}.spinning{animation:spin 1s linear infinite;display:inline-block}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.reveal.in-view{opacity:1;transform:none}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--brand-primary-soft);background-clip:padding-box;border:2px solid transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}.dashboard-nav,.ruta-nav,.page-nav,.mapa-nav{background:var(--gradient-night)!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.06)!important;box-shadow:0 8px 24px -16px #0000008c!important}.dashboard-nav .nav-icon,.ruta-nav .brand-icon{color:var(--brand-accent)!important}.dashboard-nav .nav-role{background:var(--brand-accent)!important;color:#ffe082!important}@supports (color: color-mix(in lab,red,red)){.dashboard-nav .nav-role{background:color-mix(in srgb,var(--brand-accent) 22%,transparent)!important}}.mapa-nav .btn-back,.mapa-nav .btn-refresh,.mapa-nav .nav-title{color:#fff!important}.mapa-nav .nav-sub{color:#ffffffc7!important}.page-nav .nav-brand .material-symbols-outlined{color:var(--brand-accent)!important}.page-nav .page-title,.page-nav .nav-user,.page-nav .btn-back,.page-nav .btn-refresh,.page-nav .btn-logout{color:#fff!important}.page-nav .btn-back:hover,.page-nav .btn-refresh:hover,.page-nav .btn-logout:hover{background:#ffffff1f!important}body{background:var(--bg);color:var(--text);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.dashboard-page,.ruta-page,.page-container{background:var(--bg)!important}.dashboard-card,.quick-card,.stat-card,.ruta-card,.metric-card,.loading-card,.empty-card{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border-soft)!important}html,body{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}@supports (padding: env(safe-area-inset-top)){.dashboard-nav,.ruta-nav,.page-nav,.mapa-nav,.navbar{padding-top:env(safe-area-inset-top);padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.ruta-main,.dashboard-main,.main-content,.page-container>*:not(nav),.mapa-page{padding-bottom:max(1rem,env(safe-area-inset-bottom))}}button,.btn,a,[class*=btn-],[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:rgba(26,35,126,.12)}@media(max-width:768px){input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=search],input[type=url],input[type=date],input[type=time],input[type=file],select,textarea{font-size:16px!important}}.mobile-only{display:none!important}.desktop-only{display:initial!important}@media(max-width:768px){.mobile-only{display:initial!important}.desktop-only{display:none!important}}@media(max-width:768px){.navbar,.nav,.topbar,.header-bar{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem!important}.nav-actions,.nav-right{flex-wrap:wrap;gap:.5rem}.nav-user,.nav-role{font-size:.75rem}.page-header,.header-row,.filters-bar,.filter-bar,.toolbar{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.table-wrapper,.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table,table.data-table{min-width:560px;font-size:.875rem}.modal,.dialog{width:95vw!important;max-width:95vw!important;max-height:90vh;overflow-y:auto}.modal-overlay{padding:.5rem}.dashboard-grid,.stats-grid,.cards-grid,.quick-actions,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.main-content,.page-content,.container,main{padding-left:1rem!important;padding-right:1rem!important}button,.btn,[class*=btn-]{min-height:44px}.map-container,.leaflet-container{min-height:60vh}}@media(max-width:480px){.nav-title,.navbar h1{font-size:1rem!important}.page-heading,h2.page-heading{font-size:1.25rem!important}.nav-role{display:none}.data-table{font-size:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.main-content,.page-content,.container,main{padding-left:.75rem!important;padding-right:.75rem!important}}@media(max-width:360px){.nav-user{display:none!important}.btn-lg{font-size:.9375rem}.page-heading,h2.page-heading{font-size:1.125rem!important}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-ease{syntax: "*"; inherits: false;}@keyframes spin{to{transform:rotate(360deg)}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-outline-style: solid;--tw-ease: initial}}}
