@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2) format("woff2")}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-white: #ffffff;--color-black: #111111;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-slate-950: #1f2937;--color-bg-page: #e8eaef;--color-bg-muted: #fafbfc;--color-border: var(--color-slate-200);--color-border-strong: var(--color-slate-300);--color-text: var(--color-slate-800);--color-text-muted: var(--color-slate-500);--color-text-subtle: var(--color-slate-600);--color-text-strong: var(--color-slate-900);--color-brand: #0f766e;--color-brand-hover: #0d9488;--color-brand-ring: #5eead4;--color-brand-soft: #ccfbf1;--color-brand-bg: #f0fdfa;--color-danger: #b91c1c;--color-danger-bright: #dc2626;--color-success: #059669;--color-error: #f85149;--color-link: #1d4ed8;--color-link-hover: #1e40af;--color-map-canvas: #1a2332;--color-map-hud-muted: #8b949e;--color-map-hud-border: #2d3a4f;--color-map-accent: #58a6ff;--color-map-measure-active: #1e40af;--color-map-live: #238636;--color-map-nfz-warn: #8f1d1d;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-map: 0 4px 12px rgba(0, 0, 0, .12);--shadow-connected: 0 0 4px rgba(35, 134, 54, .6);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 9999px;--map-glass-bg: rgba(255, 255, 255, .42);--map-glass-bg-mid: rgba(255, 255, 255, .52);--map-glass-bg-strong: rgba(255, 255, 255, .62);--map-glass-bg-solid: rgba(255, 255, 255, .78);--map-glass-border: rgba(255, 255, 255, .75);--map-glass-border-soft: rgba(255, 255, 255, .55);--header-bg: rgba(255, 255, 255, .4);--map-blur: 14px;--map-blur-strong: 18px;--map-glass-divider: rgba(255, 255, 255, .45);--map-ui-font-size: .8125rem;--map-ui-font-size-thin: .75rem;--map-ui-control-height: 28px;--map-ui-pill-height-thin: 24px;--map-ui-icon-size: 16px}html,body,#root{margin:0;width:100%;min-height:100%;font-family:var(--font-sans)}.login-page{--login-bg-base: #172029;--login-blue-soft: rgba(45, 212, 191, .22);--login-blue-soft-2: rgba(96, 165, 250, .18);--login-blue-mid: rgba(45, 212, 191, .16);margin:0;min-height:100vh;font-family:var(--font-mono);background:radial-gradient(1100px 620px at 50% -12%,#33475f,#33475f00 60%),linear-gradient(180deg,#1f2c3b,#1a2532 60%,#172029);background-color:#1a2532;color:var(--color-slate-100);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;overflow-x:hidden}.login-bg-blobs{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.login-bg-blobs .blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}.login-bg-blobs .blob-1{width:55vmax;height:55vmax;left:-10%;top:-5%;background:radial-gradient(circle,var(--login-blue-soft) 0%,transparent 70%);animation:login-drift1 28s ease-in-out infinite alternate}.login-bg-blobs .blob-2{width:45vmax;height:45vmax;left:65%;top:10%;background:radial-gradient(circle,var(--login-blue-soft-2) 0%,transparent 65%);animation:login-drift2 32s ease-in-out infinite alternate;animation-delay:-5s}.login-bg-blobs .blob-3{width:50vmax;height:50vmax;left:25%;top:55%;background:radial-gradient(circle,var(--login-blue-mid) 0%,transparent 68%);animation:login-drift3 24s ease-in-out infinite alternate;animation-delay:-12s}.login-bg-blobs .blob-4{width:38vmax;height:38vmax;left:75%;top:65%;background:radial-gradient(circle,rgba(59,130,246,.2) 0%,transparent 70%);animation:login-drift4 30s ease-in-out infinite alternate;animation-delay:-8s}.login-bg-blobs .blob-5{width:42vmax;height:42vmax;left:5%;top:70%;background:radial-gradient(circle,rgba(96,165,250,.15) 0%,transparent 65%);animation:login-drift5 26s ease-in-out infinite alternate;animation-delay:-18s}.login-bg-blobs .blob-6{width:35vmax;height:35vmax;left:50%;top:15%;background:radial-gradient(circle,rgba(37,99,235,.18) 0%,transparent 70%);animation:login-drift6 22s ease-in-out infinite alternate;animation-delay:-3s}.login-card{position:relative;z-index:1;text-align:center;max-width:640px;width:100%}.login-logo-wrap{margin-bottom:2rem}.login-logo-wrap img{max-width:600px;width:100%;height:auto;display:block;margin:0 auto}.login-token-form{margin-top:1.5rem}.login-token-pill-wrap{display:flex;align-items:stretch;max-width:340px;margin:0 auto;background:var(--color-white);border:1px solid rgba(15,23,42,.1);border-radius:var(--radius-pill);overflow:hidden;box-shadow:0 6px 20px #0f172a1a;transition:border-color .18s,box-shadow .18s}.login-token-pill-wrap:focus-within{border-color:var(--color-brand);box-shadow:0 6px 22px #0f172a1f,0 0 0 3px var(--color-brand-soft)}.login-token-pill{flex:1;min-width:0;padding:.7rem 1rem .7rem 1.3rem;font-size:.95rem;font-family:inherit;color:var(--color-black);background:transparent;border:none;outline:none}.login-token-pill::placeholder{color:var(--color-gray-400)}.login-submit-btn{flex-shrink:0;width:46px;padding:0;color:var(--color-white);background:var(--color-brand);border:none;border-radius:0 var(--radius-pill) var(--radius-pill) 0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .1s}.login-submit-btn:hover{background:var(--color-brand-hover)}.login-submit-btn:active{transform:scale(.98)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-submit-btn svg{width:20px;height:20px}.login-error-msg{margin-top:.75rem;font-size:.85rem;color:#f87171;min-height:1.4em}.pilot-page{margin:0;font-family:var(--font-mono);color:var(--color-text);height:100vh;overflow:hidden;display:flex;flex-direction:column;position:relative;isolation:isolate;background:radial-gradient(1200px 640px at 50% -12%,#33475f,#33475f00 60%),linear-gradient(180deg,#1f2c3b,#1a2532 60%,#172029);background-color:#1a2532}.pilot-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:0;background:none}.pilot-header{position:relative;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;min-height:56px;background:#111827eb;backdrop-filter:blur(var(--map-blur-strong)) saturate(1.2);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.2);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-sm)}.pilot-header-logo a{display:inline-flex;align-items:center;text-decoration:none;padding:0;color:var(--color-text-strong);line-height:0}.pilot-header-logo img{height:2.1875rem;width:auto;display:block;object-fit:contain}.pilot-header-nav{display:flex;align-items:center;gap:.25rem}.pilot-header-nav a.header-nav-link{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8125rem;font-family:inherit;font-weight:700;letter-spacing:.01em;color:#e2e8f0c7;text-decoration:none;border-radius:var(--radius-pill);border:1px solid transparent;background:transparent;transition:color .15s ease,background .15s ease}.pilot-header-nav a.header-nav-link:hover{color:#fff;background:#ffffff14}.pilot-header-nav .header-nav-current{display:inline-flex;align-items:center;padding:.4rem .75rem;font-size:.8125rem;font-weight:700;letter-spacing:.01em;color:var(--color-brand-ring);border-radius:var(--radius-pill);border:1px solid rgba(94,234,212,.4);background:#2dd4bf29;cursor:default}.pilot-main{flex:1;width:100%;min-height:0;box-sizing:border-box}.pilot-main-dashboard{display:flex;align-items:center;justify-content:center;padding:1.5rem}.pilot-main-dashboard--with-assets{flex-direction:row;align-items:stretch;justify-content:flex-start;gap:.75rem;padding:1rem 1.25rem;min-height:0}.dashboard-main-area{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;min-height:0}.pilot-main-dashboard--with-assets .dashboard-main-area{align-items:stretch;justify-content:flex-start;overflow:hidden;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.dashboard-main-inner{width:100%;box-sizing:border-box;padding:0 .15rem;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.dashboard-ops{display:grid;grid-template-rows:minmax(0,25fr) minmax(0,37.5fr) minmax(0,37.5fr);flex:1 1 auto;min-height:0;height:100%;width:100%;gap:.45rem;box-sizing:border-box}.dashboard-ops-row{min-height:0;overflow:hidden;display:flex;flex-direction:column}.dashboard-ops-row-fill{flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.dashboard-range-slider-block{flex-shrink:0;width:100%;margin-bottom:.25rem}.dashboard-dual-slider-wrap{width:100%;flex-shrink:0}.dashboard-dual-slider-track{position:relative;height:1.5rem;display:flex;align-items:center;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.dashboard-dual-slider-rail{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:6px;border-radius:3px;background:#e2e8f0}.dashboard-dual-slider-fill{position:absolute;top:50%;transform:translateY(-50%);height:6px;border-radius:3px;background:#93c5fd;pointer-events:none}.dashboard-dual-slider-thumb{position:absolute;top:50%;width:14px;height:14px;margin:0;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0000001a,0 1px 3px #0000001f;background:#2563eb;cursor:grab;touch-action:none;z-index:1;transform:translate(-50%,-50%)}.dashboard-dual-slider-thumb--newer{background:#1d4ed8;z-index:2}.dashboard-dual-slider-thumb:active{cursor:grabbing}.dashboard-dual-slider-bounds{display:flex;justify-content:space-between;font-size:.62rem;font-weight:700;color:var(--color-text-muted);margin-top:.12rem}.dashboard-ops-slider-stack{display:flex;flex-direction:column;gap:.35rem;width:100%}.dashboard-ops-slider-labeled{display:flex;flex-direction:row;align-items:center;gap:.4rem;min-width:0}.dashboard-ops-slider-axis-label{flex:0 0 2.75rem;font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.dashboard-ops-slider-labeled .dashboard-ops-slider-row{flex:1 1 auto;min-width:0}.dashboard-kpi-card--range-stats{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}.dashboard-kpi-card--range-stats>.dashboard-ops-error{margin:0;align-self:flex-start}.dashboard-kpi-row--header,.dashboard-ops-row-fill--header{flex:1 1 0;min-height:0;overflow:hidden}.dashboard-ops-controls-text{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:.35rem .65rem;margin-bottom:.3rem}.dashboard-ops-controls-title{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.dashboard-ops-controls-value{font-size:.78rem;font-weight:700;color:var(--color-text-strong)}.dashboard-ops-controls-status{margin-left:auto;font-size:.68rem;font-weight:700;color:var(--color-text-muted)}.dashboard-ops-slider-row{display:flex;align-items:center;gap:.45rem}.dashboard-ops-slider-bound{font-size:.62rem;font-weight:700;color:var(--color-text-muted);width:1.75rem;flex-shrink:0}.dashboard-ops-slider-bound:last-child{text-align:right}.dashboard-ops-slider{flex:1 1 auto;min-width:0;accent-color:#2563eb}.dashboard-ops-loading,.dashboard-ops-error{margin:0;font-size:.75rem}.dashboard-ops-error{color:var(--color-danger, #b91c1c)}.dashboard-ops-row .dashboard-kpi-row:not(.dashboard-kpi-row--header){flex:1 1 0;min-height:0;overflow:hidden}.dashboard-kpi-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem;align-items:stretch;min-width:0}.dashboard-kpi-card{background:var(--color-bg, #fff);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.55rem .6rem;box-shadow:0 2px 8px #0f172a1f;min-width:0}.dashboard-kpi-summary-stats{flex:1 1 0;min-height:0;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:clamp(.75rem,4vw,2.5rem);width:100%}.dashboard-kpi-summary-stats .dashboard-kpi-overview-item{flex:0 1 auto;min-width:0;text-align:center}.dashboard-kpi-summary-stats .dashboard-kpi-label,.dashboard-kpi-summary-stats .dashboard-kpi-value{text-align:center}.dashboard-kpi-card--pilots{flex:0 1 38%;max-width:320px;min-width:140px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.dashboard-kpi-overview-item{flex:1 1 0;min-width:0}.dashboard-kpi-value--compact{font-size:1.05rem}.dashboard-uptime-toggle{display:inline-flex;align-items:center;gap:.3rem;margin-top:.45rem;padding:0;border:none;background:none;cursor:pointer;font-family:inherit;font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);opacity:.85}.dashboard-uptime-toggle--on{color:#0e7490}.dashboard-uptime-toggle-track{position:relative;width:22px;height:12px;border-radius:999px;background:var(--color-slate-300);transition:background .15s;flex-shrink:0}.dashboard-uptime-toggle--on .dashboard-uptime-toggle-track{background:#0e7490}.dashboard-uptime-toggle-knob{position:absolute;top:1px;left:1px;width:10px;height:10px;border-radius:50%;background:#fff;transition:transform .15s}.dashboard-uptime-toggle--on .dashboard-uptime-toggle-knob{transform:translate(10px)}.dashboard-uptime-toggle:focus-visible{outline:2px solid #0e7490;outline-offset:2px;border-radius:4px}.dashboard-uptime-alt{margin:.15rem 0 0;font-size:.58rem;font-weight:500;color:var(--color-text-muted);opacity:.8;font-variant-numeric:tabular-nums}.dashboard-routes-section-title{margin:0 0 .55rem;font-size:.85rem;font-weight:700;letter-spacing:.01em;color:#e5edf6}.dashboard-pilot-names{list-style:none;margin:.15rem 0 0;padding:0;flex:1 1 0;min-height:0;overflow:hidden;font-size:.7rem;font-weight:600;line-height:1.3;color:var(--color-text-strong)}.dashboard-pilot-names li{padding:.12rem 0;border-bottom:1px solid var(--color-border)}.dashboard-pilot-names li:last-child{border-bottom:none}.dashboard-kpi-label{margin:0 0 .2rem;font-size:.65rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);line-height:1.25}.dashboard-kpi-value{margin:0;font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-text-strong);line-height:1.1}.dashboard-ops-row .dashboard-chart-grid-nowrap,.dashboard-ops-row .dashboard-routes-row{flex:1 1 0;min-height:0;overflow:hidden}.dashboard-chart-grid-nowrap{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.65rem;align-items:stretch;min-width:0}.dashboard-chart-grid-nowrap>.dashboard-chart-card--split{flex:1 1 50%;min-width:0}.dashboard-chart-card{background:var(--color-bg, #fff);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.55rem .6rem .5rem;box-shadow:var(--shadow-sm);min-width:0}.dashboard-ops-row .dashboard-chart-card{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;padding:.4rem .5rem .35rem}.dashboard-routes-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem;align-items:stretch;min-width:0}.dashboard-routes-row>.dashboard-chart-card--route-split{flex:1 1 33.33%;min-width:0}.dashboard-chart-title{margin:0 0 .45rem;font-size:.72rem;font-weight:800;letter-spacing:.02em;color:var(--color-text-strong)}.dashboard-ops-row .dashboard-chart-title{flex-shrink:0;margin-bottom:.2rem;font-size:.76rem}.dashboard-chart-svg-wrap{display:flex;flex-direction:column;gap:.35rem;min-width:0}.dashboard-ops-row .dashboard-chart-svg-wrap{flex:1 1 0;min-height:0;overflow:hidden;gap:.2rem;justify-content:flex-start}.dashboard-chart-plot-fill{flex:1 1 0;min-height:0;min-width:0;position:relative;overflow:hidden}.dashboard-chart-plot-fill--empty{display:flex;align-items:center;justify-content:center}.dashboard-chart-svg{width:100%;height:auto;display:block}.dashboard-chart-plot-fill>.dashboard-chart-svg--bar{display:block;max-width:none;flex:none}.dashboard-chart-pie-radial{display:flex;justify-content:center;align-items:center;width:100%;min-height:0;padding:.2rem 0 .35rem}.dashboard-ops-row .dashboard-chart-pie-radial{flex:1 1 0;min-height:0;padding:0;overflow:hidden}.dashboard-chart-svg--pie-radial{width:100%;max-width:min(280px,100%);height:auto;display:block}.dashboard-ops-row .dashboard-chart-svg--pie-radial{max-width:100%;width:auto;height:100%;max-height:100%}.dashboard-pie-callout-title{font-size:13px;font-weight:800;letter-spacing:.04em;font-family:var(--font-mono, ui-monospace, monospace)}.dashboard-pie-callout-sub{font-size:11px;font-weight:600;fill:var(--color-text-muted, #64748b);font-family:var(--font-mono, ui-monospace, monospace)}.dashboard-pie-callout-leader{stroke-width:1;opacity:.55}.dashboard-chart-pie-legend-row{display:flex;align-items:center;gap:1.1rem}.dashboard-chart-pie-radial--legend{flex:0 0 auto;width:210px;padding:0}.dashboard-chart-pie-radial--legend .dashboard-chart-svg--pie-radial{max-width:210px}.dashboard-pie-slice-number{font-size:15px;font-weight:800;fill:#fff;font-family:var(--font-mono, ui-monospace, monospace);paint-order:stroke;stroke:#00000040;stroke-width:2px}.dashboard-chart-pie-legend{list-style:none;margin:0;padding:0;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.4rem}.dashboard-chart-pie-legend li{display:flex;align-items:baseline;gap:.45rem;font-size:.82rem}.dashboard-chart-pie-legend-label{font-weight:700;color:var(--color-text-strong);flex:1 1 auto;min-width:0}.dashboard-chart-pie-legend-value{font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-chart-axis-label{font-size:10px;fill:var(--color-text-muted, #64748b)}.dashboard-chart-axis-label--route{font-size:8.5px}.dashboard-chart-svg-wrap--route-loc{min-height:0;padding-bottom:.12rem}.dashboard-chart-svg-wrap--route-loc .dashboard-chart-plot-fill>.dashboard-chart-svg--bar{overflow:visible}.dashboard-chart-tick{font-size:10px;fill:var(--color-text-muted, #64748b)}.dashboard-chart-empty{margin:.35rem 0;font-size:.68rem;color:var(--color-text-muted)}.dashboard-chart-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.65rem;font-weight:700;color:var(--color-text-strong);overflow:hidden;min-width:0;flex-shrink:0;max-height:2.4em;line-height:1.2}.dashboard-ops-row .dashboard-chart-legend{max-height:1.85em;flex-wrap:nowrap}.dashboard-chart-legend--column{flex-direction:column;align-items:flex-start}.dashboard-chart-legend li{display:inline-flex;align-items:center;gap:.3rem}.dashboard-chart-legend-swatch{width:.55rem;height:.55rem;border-radius:2px;flex-shrink:0}.dashboard-chart-legend-text{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.15rem}.dashboard-chart-legend-pct{font-weight:600;color:var(--color-text-muted);font-size:.58rem}.dashboard-assets-panel{flex:0 0 30%;width:30%;min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--color-bg, #fff);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.dashboard-assets-panel-head{flex-shrink:0;display:flex;flex-direction:column;gap:.45rem;padding:.5rem .6rem;border-bottom:1px solid var(--color-border);background:var(--color-slate-50)}.dashboard-assets-panel-head-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .55rem;width:100%;min-width:0}.dashboard-assets-view-toggle{display:inline-flex;flex-shrink:0;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-white);overflow:hidden;box-shadow:0 1px #0f172a0a}.dashboard-assets-view-toggle button{margin:0;padding:.28rem .65rem;border:none;background:transparent;font:inherit;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.dashboard-assets-view-toggle button:hover:not(:disabled){color:var(--color-text-strong);background:var(--color-slate-50)}.dashboard-assets-view-toggle button.is-active{color:#9a3412;background:#ffedd5}.dashboard-assets-view-toggle button:focus-visible{outline:2px solid #ea580c;outline-offset:1px;z-index:1}.dashboard-assets-panel-title{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0}.dashboard-assets-panel-head .dashboard-assets-summary{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:.3rem .35rem;justify-content:flex-end;align-items:center;min-width:0;padding:0;border:none;background:transparent}.dashboard-assets-summary-pill{display:inline-flex;align-items:center;padding:.2rem .45rem;font-size:.62rem;font-weight:700;letter-spacing:.02em;border-radius:var(--radius-pill);border:1px solid transparent;white-space:nowrap}.dashboard-assets-summary-pill--pending{color:#9a3412;background:#ffedd5;border-color:#fdba74}.dashboard-assets-summary-pill--ok{color:#14532d;background:#dcfce7;border-color:#86efac}.dashboard-assets-summary-pill--fault{color:#7f1d1d;background:#fee2e2;border-color:#fca5a5}.dashboard-assets-summary-pill--watchlist{color:#831843;background:#fce7f3;border-color:#f472b6;box-shadow:0 0 0 1px #e11d9440}.dashboard-assets-summary-pill--servicing{color:#78350f;background:#fef3c7;border-color:#fcd34d}.dashboard-assets-summary-pill--other{color:var(--color-text-muted);background:var(--color-slate-100);border-color:var(--color-border)}.dashboard-assets-summary-pill--archived{color:#374151;background:#f3f4f6;border-color:#d1d5db}.dashboard-vessel-head-tools{flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem .45rem;min-width:0}.dashboard-vessel-head-tools .dashboard-assets-summary{flex:1 1 auto}.dashboard-vessel-watchlist-add-btn{flex-shrink:0;width:1.65rem;height:1.65rem;margin:0;padding:0;border-radius:var(--radius-pill);border:2px solid #e11d94;background:linear-gradient(145deg,#fce7f3,#fbcfe8);color:#9d174d;font-size:1.15rem;font-weight:800;line-height:1;cursor:pointer;font-family:inherit;box-shadow:0 1px 3px #be185d40;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.dashboard-vessel-watchlist-add-btn:hover:not(:disabled){background:linear-gradient(145deg,#fbcfe8,#f9a8d4);box-shadow:0 2px 6px #be185d59}.dashboard-vessel-watchlist-add-btn:focus-visible{outline:2px solid #e11d94;outline-offset:2px}.dashboard-vessel-watchlist-add-panel{margin:0 .55rem .45rem;padding:.5rem .55rem .55rem;border-radius:var(--radius-md);border:1px solid #f9a8d4;background:linear-gradient(180deg,#fff,#fdf2f8);box-shadow:0 2px 8px #be185d1f}.dashboard-vessel-watchlist-add-title{margin:0 0 .45rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#9d174d}.dashboard-vessel-watchlist-add-field{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.45rem;font-size:.62rem;font-weight:600;color:var(--color-text-muted)}.dashboard-vessel-watchlist-add-select,.dashboard-vessel-watchlist-add-input{font:inherit;font-size:.72rem;padding:.32rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);min-width:0}.dashboard-vessel-watchlist-add-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;margin-top:.2rem}.dashboard-vessel-watchlist-add-cancel{padding:.28rem .55rem;font:inherit;font-size:.65rem;font-weight:600;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text-muted);cursor:pointer}.dashboard-vessel-watchlist-add-submit{padding:.28rem .55rem;font:inherit;font-size:.65rem;font-weight:700;border-radius:var(--radius-pill);border:1px solid #be185d;background:#e11d94;color:#fff;cursor:pointer}.dashboard-vessel-watchlist-add-submit:disabled,.dashboard-vessel-watchlist-add-cancel:disabled{opacity:.55;cursor:not-allowed}.dashboard-assets-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.5rem .55rem .65rem}.dashboard-assets-empty,.dashboard-assets-error{margin:.5rem 0 0;font-size:.72rem;line-height:1.4;color:var(--color-text-muted)}.dashboard-assets-error{color:var(--color-danger, #b91c1c)}.dashboard-assets-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.dashboard-asset-card{display:flex;flex-direction:row;gap:.55rem;padding:.55rem .6rem;background:var(--color-bg, #fff);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:flex-start}.dashboard-asset-thumb-col{flex-shrink:0}.dashboard-asset-thumb-wrap{position:relative;width:4.5rem;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:var(--color-slate-100)}.dashboard-asset-thumb-enlarge{display:block;width:100%;margin:0;padding:0;border:none;background:transparent;cursor:zoom-in;line-height:0;border-radius:inherit}.dashboard-asset-thumb-enlarge:focus-visible{outline:2px solid var(--color-link, #2563eb);outline-offset:2px}.dashboard-asset-thumb{display:block;width:100%;height:3.75rem;object-fit:cover}.dashboard-asset-thumb--placeholder{display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:600;color:var(--color-text-muted);text-align:center;line-height:1.2;padding:.25rem}.dashboard-asset-thumb--loading{background:linear-gradient(100deg,#94a3b81a 30%,#94a3b83d,#94a3b81a 70%);background-size:220% 100%;animation:dashboard-thumb-shimmer 1.1s ease-in-out infinite}@keyframes dashboard-thumb-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}.dashboard-asset-thumb--error{object-fit:none;opacity:.35;min-height:3.75rem}.dashboard-asset-status-badge{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:.12rem .2rem;font-size:.5rem;font-weight:700;text-align:center;letter-spacing:.04em;color:#fff;background:#0000008c}.dashboard-asset-status-badge--pending{background:#ea580ceb}.dashboard-asset-status-badge--ok{background:#15803deb}.dashboard-asset-status-badge--fault{background:#b91c1ceb}.dashboard-asset-status-badge--watchlist{background:linear-gradient(120deg,#e11d94,#f472b6);text-shadow:0 1px 2px rgba(88,28,64,.45)}.dashboard-asset-status-badge--servicing{background:#b45309eb}.dashboard-asset-status-badge--unknown{background:#374151e0}.dashboard-asset-body{min-width:0;flex:1;font-size:.68rem;line-height:1.35;color:var(--color-text)}.dashboard-asset-pending-actions{display:flex;flex-direction:column;gap:.35rem;flex-shrink:0;align-self:center;margin-left:.2rem}.dashboard-asset-pending-actions .asset-status-pill{flex:0 0 auto;min-width:4rem;width:100%;padding:.32rem .45rem;font-size:.62rem}.dashboard-asset-pending-actions--vessel{align-self:center}.dashboard-asset-pending-actions--vessel-multi{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;max-width:12.5rem}.dashboard-asset-pending-actions--vessel-multi .asset-status-pill{flex:1 1 auto;min-width:4.2rem;width:auto}.dashboard-asset-pending-actions--incident{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-self:center;max-width:11rem;gap:.3rem}.dashboard-asset-pending-actions--incident .incident-status-pill{flex:1 1 auto;min-width:0;padding:.28rem .38rem;font-size:.58rem;white-space:normal;text-align:center;line-height:1.2}.dashboard-asset-pending-actions--incident .incident-status-investigate{display:inline-flex;align-items:center;justify-content:center;gap:.25rem}.dashboard-asset-pending-actions--incident .incident-status-investigate .whatsapp-icon{width:11px;height:11px;flex-shrink:0}.dashboard-evidence-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;background:#0f172ac7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.dashboard-evidence-lightbox-panel{display:flex;flex-direction:column;max-width:min(96vw,1120px);max-height:min(94vh,900px);width:100%;background:var(--color-bg, #fff);border-radius:var(--radius-md);box-shadow:0 25px 50px -12px #00000059;border:1px solid var(--color-border);overflow:hidden}.dashboard-evidence-lightbox-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .65rem;border-bottom:1px solid var(--color-border);background:var(--color-slate-50)}.dashboard-evidence-lightbox-title{margin:0;font-size:.8rem;font-weight:600;color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-evidence-lightbox-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg, #fff);color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.dashboard-evidence-lightbox-close:hover{background:var(--color-slate-100);color:var(--color-text);border-color:var(--color-gray-400)}.dashboard-evidence-lightbox-close svg{width:1rem;height:1rem}.dashboard-evidence-lightbox-body{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem 1rem;background:#0f172a}.dashboard-evidence-lightbox-img{display:block;max-width:100%;max-height:min(78vh,calc(94vh - 5.5rem));width:auto;height:auto;object-fit:contain;border-radius:var(--radius-sm)}.dashboard-asset-name{margin:0 0 .2rem;font-weight:700;font-size:.7rem;color:var(--color-text-strong);word-break:break-word}.dashboard-asset-id{margin:0 0 .2rem;font-family:var(--font-mono);font-size:.58rem;word-break:break-all;color:var(--color-text-muted)}.dashboard-asset-meta{margin:0;font-size:.6rem;color:var(--color-text-muted)}.dashboard-asset-meta-label{font-weight:600;color:var(--color-text-subtle);margin-right:.2rem}.dashboard-asset-locate{display:inline-flex;align-items:center;gap:.25rem;margin-top:.35rem;padding:.18rem .5rem;font-size:.6rem;font-weight:600;color:#0e7490;background:#38bdf81f;border:1px solid rgba(56,189,248,.5);border-radius:999px;cursor:pointer;transition:background .12s ease}.dashboard-asset-locate:hover{background:#38bdf83d}.dashboard-asset-locate svg{display:block}.leaflet-tooltip.search-locate-label{background:#0f172a;color:#e2e8f0;border:1px solid #38bdf8;border-radius:6px;font-weight:700;font-size:.72rem;box-shadow:0 2px 10px #00000080}.leaflet-tooltip.search-locate-label:before{border-top-color:#38bdf8}.search-locate-ring{animation:search-locate-pulse 1.3s ease-in-out infinite;transform-origin:center}@keyframes search-locate-pulse{0%,to{opacity:1}50%{opacity:.35}}.dashboard-placeholder{max-width:36rem;text-align:center;padding:2rem 1.25rem}.dashboard-heading{margin:0 0 .5rem;font-size:1.35rem;font-weight:700;color:var(--color-text-strong)}.dashboard-lead{margin:0;font-size:.9rem;color:var(--color-text-muted);line-height:1.5}.pilot-main-app{display:flex;align-items:stretch;justify-content:center;padding:1rem 1.25rem 1.25rem;min-height:0;overflow:hidden}.pilot-app-canvas{position:relative;width:min(1100px,100%);flex:1 1 auto;min-height:0;max-height:100%;box-sizing:border-box;background:#fffffff0;border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-md);overflow:hidden;display:flex;flex-direction:column;contain:layout}.pilot-app-shell-close{position:absolute;top:.75rem;right:.75rem;z-index:10;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--color-border-strong);background:var(--color-white);cursor:pointer;color:var(--color-text-subtle);box-shadow:0 1px 3px #00000014}.pilot-app-shell-close:hover{color:var(--color-text-strong);border-color:var(--color-border-strong)}.pilot-app-canvas-nfz{width:30vw;height:30vh;min-width:380px;min-height:290px;max-width:560px;max-height:420px;overflow:hidden}.pilot-app-canvas-report{box-sizing:border-box;width:min(50vw,100%);max-width:min(50vw,100%);flex:0 1 auto;min-width:0;min-height:0;max-height:85vh;align-self:stretch;overflow:hidden}.pilot-app-canvas-report .pfr-main-embedded{flex:1 1 0;min-height:0;width:100%;margin:0;align-items:stretch}.pilot-flight-logs{padding:1.5rem;max-width:1100px;margin:0 auto;overflow-y:auto;flex:1 1 0;min-height:0;width:100%;box-sizing:border-box}.pilot-flight-logs-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.pilot-flight-logs-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text-strong)}.pilot-flight-logs-count{margin-left:auto;font-size:.8rem;color:var(--color-text-muted)}.pilot-flight-logs-search-wrap{margin-bottom:.5rem}.pilot-flight-logs-search{width:100%;padding:.5rem .75rem;font-size:.9rem;border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-white);color:var(--color-text);box-sizing:border-box}.pilot-flight-logs-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.pilot-flight-logs-filter-label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--color-text-subtle);white-space:nowrap}.pilot-flight-logs-date-input{padding:.4rem .6rem;font-size:.85rem;border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-white);color:var(--color-text);box-sizing:border-box}.pilot-flight-logs-clear-btn{margin-left:auto;padding:.35rem .75rem;font-size:.8rem;border:1px solid var(--color-border-strong);border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer}.pilot-flight-logs-clear-btn:hover{background:var(--color-slate-100);color:var(--color-text)}.pilot-flight-logs-message{color:var(--color-text-muted);text-align:center;padding:2rem 0;margin:0}.pilot-flight-logs-message--error{color:var(--color-danger)}.pilot-flight-logs-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--color-border)}.pilot-flight-logs-table{width:100%;border-collapse:collapse;font-size:.875rem}.pilot-flight-logs-th{padding:.65rem .85rem;text-align:left;font-weight:600;color:var(--color-text-subtle);white-space:nowrap;background:var(--color-slate-50);border-bottom:2px solid var(--color-border)}.pilot-flight-logs-tr:nth-child(2n){background:var(--color-slate-50)}.pilot-flight-logs-tr:nth-child(odd){background:var(--color-white)}.pilot-flight-logs-tr{border-bottom:1px solid var(--color-border)}.pilot-flight-logs-td{padding:.6rem .85rem;color:var(--color-text)}.pilot-flight-logs-td--strong{font-weight:500;color:var(--color-text-strong)}.pilot-flight-logs-td--subtle{color:var(--color-text-subtle)}.pilot-flight-logs-td--mono{font-family:var(--font-mono);font-size:.8rem}.pilot-flight-logs-td--nowrap{white-space:nowrap}.pilot-flight-logs-muted{color:var(--color-text-muted)}.pilot-flight-logs-search-wrap{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.pilot-flight-logs-search-btn{padding:.5rem .9rem;font-size:.85rem;border:1px solid var(--color-border-strong);border-radius:6px;background:transparent;color:var(--color-text);cursor:pointer;white-space:nowrap}.pilot-flight-logs-search-btn:hover{background:var(--color-slate-100)}.pilot-flight-logs-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin:.75rem 0}.pilot-flight-logs-page-btn{padding:.4rem .9rem;font-size:.85rem;border:1px solid var(--color-border-strong);border-radius:6px;background:transparent;color:var(--color-text);cursor:pointer}.pilot-flight-logs-page-btn:hover:not(:disabled){background:var(--color-slate-100)}.pilot-flight-logs-page-btn:disabled{opacity:.35;cursor:default}.pilot-flight-logs-page-label{font-size:.85rem;color:var(--color-text-subtle)}.pilot-title{display:none}.pilot-cards{--pilot-grid-cols: 2;display:grid;gap:.9rem;grid-template-columns:repeat(var(--pilot-grid-cols),minmax(132px,160px));justify-content:center;align-content:center;justify-items:stretch;margin:0 auto}.pilot-cards>*{min-width:0;width:100%;max-width:100%;box-sizing:border-box}.pilot-card{display:block;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;text-decoration:none;color:var(--color-text-subtle);transition:border-color .18s,box-shadow .18s,transform .15s ease,background .18s ease;box-shadow:0 2px 8px #0f172a1a}.pilot-card:hover{border-color:var(--color-brand-ring);background:var(--color-brand-bg);box-shadow:0 10px 24px #0f172a29;transform:translateY(-2px)}.pilot-card:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-soft)}.pilot-card-button{width:100%;text-align:left;font:inherit;cursor:pointer}.pilot-card-icon{width:2.1rem;height:2.1rem;margin-bottom:.65rem}.pilot-card-app{width:100%;min-height:120px;aspect-ratio:1 / .96;padding:.85rem;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;text-align:center}.pilot-app-label{margin:0;font-size:.71rem;line-height:1.25;font-weight:700;letter-spacing:.01em;color:var(--color-text-strong)}.pilot-card-app-report{background:linear-gradient(160deg,#e7f0ff,#dbeafe);border-color:#bfdbfe}.pilot-card-app-report .pilot-card-icon{color:#1d4ed8}.pilot-card-app-nfz{background:linear-gradient(160deg,#ecfdf5,#d1fae5);border-color:#a7f3d0}.pilot-card-app-nfz .pilot-card-icon{color:#047857}.pilot-card-app-logs{background:linear-gradient(160deg,#f5f3ff,#ede9fe);border-color:#c4b5fd}.pilot-card-app-logs .pilot-card-icon{color:#6d28d9}.pilot-card-app-buoy-check{background:linear-gradient(160deg,#ecfeff,#cffafe);border-color:#a5f3fc}.pilot-card-app-buoy-check .pilot-card-icon{color:#0e7490}.pilot-card-app-route-planner{background:linear-gradient(160deg,#ecfeff,#cffafe);border-color:#67e8f9}.pilot-card-app-route-planner .pilot-card-icon{color:#0891b2}.pilot-card-app-downtime{background:linear-gradient(160deg,#fef2f2,#fee2e2);border-color:#fca5a5}.pilot-card-app-downtime .pilot-card-icon{color:#dc2626}.pilot-card-app-add-buoy{background:linear-gradient(160deg,#ecfeff,#cffafe);border-color:#67e8f9}.pilot-card-app-add-buoy .pilot-card-icon{color:#0e7490}.abuoy-check{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--color-text);font-family:var(--font-mono);cursor:pointer}.abuoy-check input{accent-color:#0e7490}.abuoy-coord-row{display:flex;gap:.5rem}.abuoy-field{display:flex;flex-direction:column;gap:.2rem;flex:1 1 0;min-width:0}.abuoy-field--full{width:100%}.abuoy-field>span{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.abuoy-field input{width:100%;box-sizing:border-box;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.78rem;font-family:var(--font-mono);background:var(--color-white);color:var(--color-text);outline:none}.abuoy-field input:focus{border-color:#0e7490;box-shadow:0 0 0 2px #0e749030}.abuoy-field input:disabled{background:#f1f5f9;color:var(--color-text-muted)}.abuoy-warn{margin:.4rem 0 0;font-size:.68rem;color:#b45309;line-height:1.4}.abuoy-btn{padding:.42rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-text);font-size:.74rem;font-weight:700;font-family:var(--font-mono);cursor:pointer}.abuoy-btn:hover:not(:disabled){background:#f1f5f9}.abuoy-btn:disabled{opacity:.5;cursor:not-allowed}.abuoy-btn--primary{background:#0e7490;border-color:#0e7490;color:#fff}.abuoy-btn--primary:hover:not(:disabled){background:#155e75}.abuoy-btn--save{width:100%;background:#166534;border-color:#15803d;color:#fff;margin-top:.7rem;padding:.5rem}.abuoy-btn--save:hover:not(:disabled){background:#14532d}.abuoy-btn--danger{width:100%;background:#fff;border-color:#fca5a5;color:#b91c1c;margin-top:.5rem;padding:.5rem}.abuoy-btn--danger:hover:not(:disabled){background:#fef2f2}.abuoy-confirm-box{margin-top:.7rem;padding:.55rem;border:1px solid #fde68a;background:#fffbeb;border-radius:var(--radius-sm)}.abuoy-confirm-box--danger{border-color:#fca5a5;background:#fef2f2}.abuoy-confirm-q{margin:0 0 .5rem;font-size:.72rem;font-weight:600;color:#92400e;line-height:1.4}.abuoy-confirm-box--danger .abuoy-confirm-q{color:#b91c1c}.abuoy-confirm-box .abuoy-btn--save,.abuoy-confirm-box .abuoy-btn--danger{margin-top:0}.abuoy-cancel-edit{display:inline-block;margin:.7rem 0 0;text-align:left}.abuoy-locked-loc code,.abuoy-details code{background:#0000000d;padding:0 3px;border-radius:3px}.abuoy-btn-row{display:flex;gap:.5rem;margin-top:.6rem}.abuoy-btn-row .abuoy-btn{flex:1 1 0}.abuoy-details{margin-top:.7rem;display:flex;flex-direction:column;gap:.55rem}.abuoy-locked-loc{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.45rem .55rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--radius-sm)}.abuoy-locked-badge{font-size:.68rem;font-weight:700;color:#166534}.abuoy-locked-loc code{font-size:.7rem;color:var(--color-text)}.abuoy-link-btn{margin-left:auto;background:none;border:none;color:#0e7490;font-size:.68rem;font-weight:700;cursor:pointer;text-decoration:underline;font-family:var(--font-mono)}.abuoy-chips{display:flex;gap:.4rem}.abuoy-chip{flex:1 1 0;padding:.35rem .4rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-text);font-size:.74rem;font-weight:700;font-family:var(--font-mono);cursor:pointer}.abuoy-chip--on{background:#0e7490;border-color:#0e7490;color:#fff}.abuoy-status{margin:.7rem 0 0;font-size:.72rem;line-height:1.4;font-weight:600}.abuoy-status--ok{color:#15803d}.abuoy-status--err{color:#b91c1c}.abuoy-pin-icon{background:none;border:none}.abuoy-mooring-icon{background:none;border:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.abuoy-pin{filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.abuoy-pin--locked{animation:abuoy-pin-pop .3s ease}@keyframes abuoy-pin-pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}.dtr-wrap{display:flex;justify-content:center;padding:1rem;overflow-y:auto;height:100%;box-sizing:border-box}.dtr-card{width:100%;max-width:640px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.1rem 1.2rem;height:fit-content}.dtr-card--wide{max-width:960px}.dtr-title{margin:0 0 .2rem;font-size:1.05rem;font-weight:700;color:var(--color-text)}.dtr-hint{margin:0 0 .9rem;font-size:.72rem;color:var(--color-text-muted);line-height:1.45}.dtr-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem .9rem}.dtr-field{display:flex;flex-direction:column;gap:.28rem;font-size:.72rem}.dtr-field--full{grid-column:1 / -1}.dtr-field>span{font-weight:600;color:var(--color-text)}.dtr-field input,.dtr-field select,.dtr-field textarea{font-size:.78rem;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-family:inherit}.dtr-field input:focus,.dtr-field select:focus,.dtr-field textarea:focus{outline:none;border-color:#00b8cc}.dtr-field textarea{resize:vertical}.dtr-check{flex-direction:row;align-items:center;gap:.4rem;align-self:end}.dtr-check input{width:auto}.dtr-chips{display:flex;gap:.35rem}.dtr-chip{flex:1;padding:.4rem .3rem;font-size:.74rem;font-weight:700;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-text);cursor:pointer}.dtr-chip--on{background:#00b8cc;border-color:#00a3b5;color:#04252b}.dtr-ms{position:relative}.dtr-ms-control{display:flex;align-items:center;gap:.4rem;min-height:2.1rem;padding:.25rem .4rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);cursor:pointer}.dtr-ms-control--open{border-color:#00b8cc}.dtr-ms-placeholder{flex:1;color:var(--color-text-muted);font-size:.78rem}.dtr-ms-chips{flex:1;display:flex;flex-wrap:wrap;gap:.28rem}.dtr-ms-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:600;padding:.1rem .35rem;border-radius:999px;background:#00b8cc26;border:1px solid rgba(0,184,204,.5);color:#036}.dtr-ms-x{cursor:pointer;color:#0369a1;font-size:.62rem;line-height:1}.dtr-ms-x:hover{color:#dc2626}.dtr-ms-caret{color:var(--color-text-muted);font-size:.7rem}.dtr-ms-menu{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:20;max-height:230px;overflow-y:auto;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000002e;padding:.25rem}.dtr-ms-group{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:.35rem .4rem .15rem}.dtr-ms-opt{display:flex;align-items:center;gap:.45rem;padding:.3rem .4rem;font-size:.76rem;border-radius:var(--radius-sm);cursor:pointer}.dtr-ms-opt:hover{background:var(--color-slate-100, rgba(148,163,184,.15))}.dtr-ms-opt--on{background:#00b8cc1a;font-weight:600}.dtr-ms-opt input{width:auto}.dtr-status{margin:.8rem 0 0;font-size:.72rem;padding:.4rem .55rem;border-radius:var(--radius-sm)}.dtr-status--ok{color:#15803d;background:#16a34a1f;border:1px solid rgba(22,163,74,.4)}.dtr-status--err{color:#b91c1c;background:#dc26261a;border:1px solid rgba(220,38,38,.4)}.dtr-actions{display:flex;justify-content:flex-end;margin-top:1rem}.dtr-btn{padding:.5rem 1.1rem;font-size:.8rem;font-weight:700;border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer}.dtr-btn--primary{background:#00b8cc;border-color:#00a3b5;color:#04252b}.dtr-btn--primary:hover{background:#00a3b5}.dtr-btn--primary:disabled{opacity:.6;cursor:default}.dtr-btn:disabled{opacity:.5;cursor:default}@media(max-width:560px){.dtr-grid{grid-template-columns:1fr}}.dtr-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1rem}.dtr-tab{padding:.5rem .9rem;font-size:.8rem;font-weight:700;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);cursor:pointer}.dtr-tab--on{color:var(--color-text);border-bottom-color:#00b8cc}.dtr-ms-empty{padding:.5rem .75rem;font-size:.8rem;color:var(--color-text-muted)}.dtr-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.dtr-table{width:100%;border-collapse:collapse;font-size:.78rem;white-space:nowrap}.dtr-table th,.dtr-table td{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--color-border)}.dtr-table thead th{position:sticky;top:0;background:var(--color-surface, #0f172a);color:var(--color-white);font-weight:700}.dtr-table tbody tr:hover{background:#00b8cc0f}.dtr-row--madeup{opacity:.62;text-decoration:line-through}.dtr-row--madeup .dtr-madeup{text-decoration:none}.dtr-madeup{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.dtr-pager{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.9rem}.dtr-pager-info{font-size:.78rem;color:var(--color-text-muted)}.dtr-charts-filters{display:flex;align-items:flex-end;gap:.9rem;flex-wrap:wrap;margin-bottom:.7rem}.dtr-charts-count{margin:0 0 .35rem}.dtr-charts-col{display:flex;flex-direction:column;gap:.9rem}.dtr-chart-row{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem .9rem}.dtr-chart-row h3{margin:0 0 .55rem;font-size:.82rem;font-weight:700;color:var(--color-text)}.dtr-chart-total{font-weight:600;color:var(--color-text-muted)}.dtr-row-actions{display:flex;gap:.3rem}.dtr-act-btn{font-size:.72rem;font-weight:600;padding:.22rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-text);cursor:pointer}.dtr-act-btn:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand)}.dtr-act-btn:disabled{opacity:.5;cursor:default}.dtr-act-btn--del{color:var(--color-danger)}.dtr-act-btn--del:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger);background:#fef2f2}@media(max-width:560px){.dashboard-chart-pie-legend-row{flex-direction:column;align-items:stretch}.dashboard-chart-pie-radial--legend{width:100%;max-width:260px;margin:0 auto}}.pilot-card-app-eod{background:linear-gradient(160deg,#fff7ed,#ffedd5);border-color:#fdba74}.pilot-card-app-eod .pilot-card-icon{color:#c2410c}.pilot-card-app-eod--working{position:relative}.pilot-card-app-eod--working .pilot-eod-sync-hit{opacity:.35;transition:opacity .15s ease}.pilot-eod-tile.pilot-card-app{position:relative;overflow:hidden;align-items:stretch}.pilot-eod-sync-hit{flex:1 1 0;min-width:0;min-height:0;width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;margin:0;padding:0;border:none;background:transparent;border-radius:inherit;cursor:pointer;font:inherit;color:inherit;text-align:center;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pilot-eod-sync-hit:disabled{cursor:not-allowed;opacity:.55}.pilot-eod-sync-hit:focus-visible{outline:2px solid #ea580c;outline-offset:2px}.pilot-eod-info-btn{position:absolute;top:.4rem;right:.4rem;z-index:5;display:flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;padding:0;border:1px solid rgba(194,65,12,.35);border-radius:999px;background:#ffffffd1;color:#9a3412;cursor:pointer;box-shadow:0 1px 2px #0f172a0f}.pilot-eod-info-btn:hover:not(:disabled){background:#fff;border-color:#ea580c;color:#c2410c}.pilot-eod-info-btn:focus-visible{outline:2px solid #ea580c;outline-offset:2px}.pilot-eod-info-btn:disabled{opacity:.45;cursor:default}.pilot-eod-info-icon{width:.92rem;height:.92rem}.pilot-eod-card-busy{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:.5rem;border-radius:inherit;background:#fff7edeb;box-shadow:inset 0 0 0 1px #fdba7499;pointer-events:none}.pilot-eod-card-busy-spinner{width:1.35rem;height:1.35rem;border:2px solid rgba(194,65,12,.22);border-top-color:#c2410c;border-radius:50%;animation:pilot-eod-spin .65s linear infinite}@keyframes pilot-eod-spin{to{transform:rotate(360deg)}}.pilot-eod-card-busy-label{font-size:.62rem;font-weight:700;letter-spacing:.02em;color:#9a3412;text-align:center;line-height:1.2;max-width:100%}.pilot-eod-card-result{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;margin-top:.2rem;padding:0 .08rem;font-size:.58rem;font-weight:700;line-height:1.25;text-align:center;letter-spacing:.01em;max-width:100%;min-width:0;overflow:hidden;overflow-wrap:anywhere}.pilot-eod-card-result--ok{color:#166534}.pilot-eod-card-result--bad{color:#b91c1c}.pilot-eod-log-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:flex-end;justify-content:center;padding:.75rem;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@media(min-width:640px){.pilot-eod-log-backdrop{align-items:center}}.pilot-eod-log-panel{width:100%;max-width:min(52rem,100%);max-height:min(88vh,100%);display:flex;flex-direction:column;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);overflow:hidden}.pilot-eod-log-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,#fff7ed,#fff)}.pilot-eod-log-title{margin:0;font-size:1rem;font-weight:700;color:var(--color-text-strong)}.pilot-eod-log-header-actions{display:flex;align-items:center;gap:.35rem}.pilot-eod-log-copy{font-size:.75rem;font-weight:600;padding:.35rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-white);cursor:pointer;color:var(--color-text)}.pilot-eod-log-copy:hover{border-color:var(--color-border-strong);background:var(--color-bg-muted)}.pilot-eod-log-close{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--color-text-muted)}.pilot-eod-log-close:hover{background:var(--color-bg-muted);color:var(--color-text)}.pilot-eod-log-body{padding:.85rem 1rem 1rem;overflow:auto;font-size:.8rem;line-height:1.45;color:var(--color-text)}.pilot-eod-log-meta{margin:0 0 .65rem;font-size:.78rem;color:var(--color-text-muted)}.pilot-eod-log-muted{margin:0 0 .75rem;color:var(--color-text-muted);font-size:.78rem}.pilot-eod-log-alert{margin:0 0 .85rem;padding:.55rem .65rem;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.78rem}.pilot-eod-log-section{margin-bottom:1rem}.pilot-eod-log-section-title{margin:0 0 .45rem;font-size:.82rem;font-weight:700;color:var(--color-text-strong)}.pilot-eod-log-count{font-weight:600;color:var(--color-text-muted)}.pilot-eod-log-dl{margin:0;display:grid;grid-template-columns:minmax(8rem,42%) 1fr;gap:.25rem .65rem;font-size:.76rem}.pilot-eod-log-dl-row{display:contents}.pilot-eod-log-dl dt{margin:0;color:var(--color-text-muted);font-weight:600}.pilot-eod-log-dl dd{margin:0;word-break:break-word}.pilot-eod-log-mono{font-family:var(--font-mono);font-size:.72rem;word-break:break-all}.pilot-eod-log-error-list{margin:0;padding-left:1.1rem;color:#991b1b}.pilot-eod-log-error-list li{margin-bottom:.25rem}.pilot-eod-log-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:min(42vh,22rem);overflow-y:auto}.pilot-eod-log-table{width:100%;border-collapse:collapse;font-size:.72rem}.pilot-eod-log-table th,.pilot-eod-log-table td{padding:.35rem .45rem;border-bottom:1px solid var(--color-border);vertical-align:top;text-align:left}.pilot-eod-log-table th{position:sticky;top:0;background:#f8fafc;font-weight:700;color:var(--color-text-strong);z-index:1}.pilot-eod-log-table tr:last-child td{border-bottom:none}.pilot-eod-log-nowrap{white-space:nowrap}.pilot-eod-log-detail{max-width:14rem;word-break:break-word}.pilot-eod-outcome{display:inline-block;padding:.12rem .35rem;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.pilot-eod-outcome--synced{background:#dcfce7;color:#166534}.pilot-eod-outcome--skipped_already_in_excel{background:#e0e7ff;color:#3730a3}.pilot-eod-outcome--skipped_no_flyt_id{background:#fef3c7;color:#92400e}.pilot-eod-outcome--build_input_failed{background:#fee2e2;color:#991b1b}.pilot-eod-outcome--append_failed{background:#fecaca;color:#7f1d1d}.nfz-main{flex:1;padding:2rem;max-width:600px;margin:0 auto;width:100%;font-family:var(--font-mono)}.nfz-page-header-inner{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.nfz-page-header-inner h1{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text)}.nfz-back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-text-muted);text-decoration:none;padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid transparent;transition:color .15s,border-color .15s,background .15s}.nfz-back-link-button{font-family:inherit;background:transparent;cursor:pointer}.nfz-back-link:hover{color:var(--color-brand);border-color:var(--color-border);background:var(--color-slate-50)}.nfz-page-title{margin:0 0 .25rem;font-size:1.35rem;font-weight:600;color:var(--color-text);letter-spacing:-.02em}.nfz-page-subtitle{margin:0 0 2rem;font-size:.875rem;color:var(--color-text-muted);line-height:1.5;max-width:56ch}.nfz-action-box{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.nfz-action-box.empty{border-style:dashed;border-color:var(--color-border-strong);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-text-muted);font-size:.875rem;min-height:120px}.nfz-action-box.ready{border-color:var(--color-brand-ring);background:var(--color-brand-bg)}.nfz-generate-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.5rem;background:var(--color-brand);border:1px solid var(--color-brand);border-radius:var(--radius-md);color:var(--color-white);font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.nfz-generate-btn:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.nfz-generate-btn:disabled{opacity:.6;cursor:not-allowed}.nfz-output-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.35rem}.nfz-output-filename{font-size:.95rem;font-weight:500;color:var(--color-text);margin-bottom:.5rem;word-break:break-all}.nfz-output-storage{font-size:.75rem;color:var(--color-text-muted);margin-bottom:.35rem}.nfz-output-debug{font-size:.7rem;color:var(--color-text-muted);margin-bottom:.75rem}.nfz-download-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:var(--color-brand);border:1px solid var(--color-brand);border-radius:var(--radius-md);color:var(--color-white);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.nfz-download-btn:hover{background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.nfz-progress-wrap{width:100%;margin-top:1rem;display:none}.nfz-progress-wrap.visible{display:block}.nfz-progress-bar-outer{height:8px;background:var(--color-slate-200);border-radius:4px;overflow:hidden;margin-bottom:.35rem}.nfz-progress-bar-inner{height:100%;width:0%;background:var(--color-brand);border-radius:4px;transition:width .2s ease-out}.nfz-progress-pct{font-size:.8rem;font-weight:600;color:var(--color-brand)}.nfz-error{margin-top:.75rem;font-size:.85rem;color:var(--color-danger)}.pfr-main{flex:1;padding:2rem;max-width:720px;margin:0 auto;width:100%;font-family:var(--font-mono);min-height:0;box-sizing:border-box}.pfr-main-standalone-postflight{max-width:min(50vw,100%);width:100%;max-height:85vh}.pfr-main-embedded{flex:1 1 0;max-width:none;width:100%;margin:0;padding:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.pfr-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:.4rem .6rem .65rem;box-sizing:border-box}.pfr-scroll-portal{flex:1 1 0;min-height:0;width:100%;max-width:100%}.pfr-main-embedded .pfr-page-header-inner.pfr-page-header-embedded{padding:.45rem .75rem .3rem;margin-bottom:.15rem}.pfr-scroll-standalone{flex:none;overflow:visible;min-height:auto;padding:0 0 1.5rem}.nfz-main-embedded{flex:1 1 0;max-width:none;width:100%;margin:0;padding:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.nfz-mini-canvas{width:100%;height:100%;padding:.65rem .75rem;border-radius:0;border:none;background:transparent;box-shadow:none;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem}.nfz-mini-title{margin:0;font-size:.82rem;line-height:1.2;font-weight:700;color:var(--color-text);max-width:100%;overflow-wrap:anywhere}.nfz-mini-subtitle{margin:0 0 .62rem;font-size:.62rem;line-height:1.2;color:var(--color-text-muted);max-width:100%;overflow-wrap:anywhere}.nfz-mini-progress{width:min(100%,180px);margin-top:.1rem}.nfz-mini-saved{margin:0;font-size:.62rem;line-height:1.2;color:var(--color-text-subtle);word-break:break-all}.nfz-main-embedded .nfz-generate-btn,.nfz-main-embedded .nfz-download-btn{padding:.45rem .75rem;font-size:.78rem}.nfz-main-embedded .nfz-error{margin-top:.2rem;margin-bottom:0;font-size:.62rem;line-height:1.2;max-width:100%;overflow-wrap:anywhere}.nfz-mini-home-btn{position:absolute;top:.75rem;left:.75rem;padding:.3rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-slate-50);color:var(--color-text-subtle);font-size:.68rem;font-family:inherit;font-weight:700;cursor:pointer}.nfz-mini-home-btn:hover{background:var(--color-slate-100);color:var(--color-text-strong);border-color:var(--color-border-strong)}.nfz-generate-btn-danger{background:#b91c1c;border-color:#b91c1c}.nfz-generate-btn-danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.pfr-page-header-inner{flex-shrink:0}.pfr-page-header-embedded{position:relative;padding:.45rem .75rem .3rem;margin-bottom:.15rem;min-height:2.35rem}.pfr-page-header-embedded .pfr-back-pill{position:absolute;top:.5rem;left:.65rem;z-index:2}.pfr-page-header-embedded h1{margin:0;text-align:center;width:100%;font-size:clamp(.88rem,2.5vw,1rem);font-weight:600;color:var(--color-text);padding:.2rem 3.75rem 0;box-sizing:border-box}.pfr-page-header-standalone{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;margin-bottom:.75rem}.pfr-page-header-standalone .pfr-back-pill{grid-column:1;justify-self:start}.pfr-page-header-standalone h1{grid-column:2;margin:0;text-align:center;font-size:clamp(.88rem,2.5vw,1rem);font-weight:600;color:var(--color-text)}.pfr-back-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);padding:.35rem .85rem;font-size:.72rem;font-weight:700;border:1px solid var(--color-border);background:var(--color-slate-50);color:var(--color-text-subtle);cursor:pointer;font-family:inherit;text-decoration:none;line-height:1.2;transition:background .15s ease,border-color .15s ease,color .15s ease}.pfr-back-pill:hover{background:var(--color-slate-100);color:var(--color-text-strong);border-color:var(--color-border-strong)}button.pfr-back-pill{cursor:pointer}.pfr-form-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.65rem .75rem;box-shadow:var(--shadow-sm);max-width:100%;width:100%;box-sizing:border-box;min-width:0}.pfr-fieldset{border:none;margin:0 0 .45rem;padding:0}.pfr-fieldset legend{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:0;margin-bottom:.35rem;border-bottom:1px solid var(--color-border);padding-bottom:.25rem;width:100%}.pfr-section-rail{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .55rem;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;min-width:0}.pfr-gutma-hint{margin:.5rem 0 0;font-size:.72rem;line-height:1.45;color:var(--color-text-muted)}.pfr-gutma-field-label{font-size:.65rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.2rem;display:block;cursor:pointer}.pfr-gutma-filename{font-size:clamp(.72rem,1.8vw,.8rem);color:var(--color-text);min-width:0;flex:1 1 8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pfr-evidence-optional-hint{font-size:.78rem;color:var(--color-text-muted);margin:0 0 .35rem;line-height:1.35}.pfr-section-rail>.pfr-field-row:last-child,.pfr-section-rail>.pfr-form-row:last-child{margin-bottom:0}.pfr-section-rail .pfr-field-row:last-child .pfr-form-row{margin-bottom:0}.pfr-field-row{display:grid;gap:.3rem .45rem;margin-bottom:.4rem;min-width:0}.pfr-field-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pfr-image-kind-vessel-stack{grid-template-columns:1fr}.pfr-ais-hint{font-size:.75rem;color:var(--color-text-muted);margin:.15rem 0 .35rem;line-height:1.35}.pfr-form-row input.pfr-vessel-input-ais-pending{color:var(--color-text-muted);background:var(--color-slate-100, #e8edf5);border-color:var(--color-border);opacity:.95}.pfr-form-row input.pfr-vessel-input-ais-pending:focus-visible{opacity:1;color:var(--color-text);background:var(--color-slate-50)}.pfr-flight-id-date-row{display:flex;flex-direction:row;align-items:flex-end;gap:.45rem;margin-bottom:.4rem;min-width:0}.pfr-flight-id-date-row .pfr-form-row{margin-bottom:0}.pfr-flight-id-date-row .pfr-form-row-flight-id{flex:1 1 0;min-width:0}.pfr-flight-id-date-row .pfr-form-row-date{flex:0 0 auto;width:10.25rem;max-width:42vw}.pfr-flight-id-date-row .pfr-form-row input:not([type=file]):not([type=checkbox]):not([type=radio]){height:29px;min-height:29px;padding:.2rem .45rem;line-height:1.25}.pfr-form-row-flight-id input.pfr-flight-id-exists{color:var(--color-danger-bright, #c62828);font-weight:600}@media(max-width:380px){.pfr-flight-id-date-row{flex-direction:column;align-items:stretch}.pfr-flight-id-date-row .pfr-form-row-date{width:100%;max-width:none}}.pfr-field-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pfr-times-inline{grid-template-columns:repeat(2,minmax(0,1fr))}.pfr-metrics-row{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}@media(max-width:720px){.pfr-field-row-3{grid-template-columns:1fr}.pfr-metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.pfr-field-row-2,.pfr-times-inline{grid-template-columns:1fr}}.pfr-form-row{margin-bottom:.4rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}.pfr-field-row .pfr-form-row{margin-bottom:0}.pfr-form-row-full{grid-column:1 / -1}.pfr-form-row label{font-size:.65rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pfr-form-row input:not([type=file]):not([type=checkbox]):not([type=radio]),.pfr-form-row select,.pfr-form-row textarea{width:100%;max-width:100%;margin:0;padding:.3rem .45rem;font-size:clamp(.72rem,1.8vw,.8rem);font-family:inherit;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.35;color:var(--color-text);background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-sizing:border-box;text-align:start}.pfr-form-row textarea{resize:vertical;min-height:2.5rem;font-variant-numeric:normal;font-weight:500}.pfr-form-row input[type=date]::-webkit-datetime-edit-fields-wrapper,.pfr-form-row input[type=date]::-webkit-datetime-edit-month-field,.pfr-form-row input[type=date]::-webkit-datetime-edit-day-field,.pfr-form-row input[type=date]::-webkit-datetime-edit-year-field{font-weight:600}.pfr-form-row input:not([type=file]):not([type=checkbox]):not([type=radio]):focus-visible,.pfr-form-row select:focus-visible,.pfr-form-row textarea:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft)}.pfr-form-row input:not([type=file])::placeholder,.pfr-form-row textarea::placeholder{color:var(--color-text-muted);font-weight:400}.pfr-combo{position:relative}.pfr-combo input{padding-right:1.6rem;width:100%;box-sizing:border-box}.pfr-combo-caret{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);font-size:.65rem;color:var(--color-text-muted);pointer-events:none}.pfr-combo-menu{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:20;max-height:220px;overflow-y:auto;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000002e;padding:.25rem}.pfr-combo-opt{padding:.32rem .5rem;font-size:.76rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer}.pfr-combo-opt:hover,.pfr-combo-opt--hi{background:var(--color-slate-100, rgba(148,163,184,.15))}.pfr-combo-opt[aria-selected=true]{background:#00b8cc1f}.pfr-combo-empty{padding:.4rem .5rem;font-size:.74rem;color:var(--color-text-muted)}.pfr-readonly-field .pfr-readonly-value{display:block;padding:.3rem .45rem;font-size:clamp(.72rem,1.8vw,.8rem);font-weight:600;color:var(--color-text);background:var(--color-slate-100);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:1.65rem;line-height:1.35;box-sizing:border-box}.pfr-time-block{min-width:0}.pfr-two-col,.pfr-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.pfr-time-row{display:flex;gap:.25rem;min-width:0}.pfr-time-row input{width:100%;min-width:0;flex:1 1 0}.pfr-metrics-stack{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.15rem}.pfr-time-rail-row,.pfr-battery-rail-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:0;padding:.5rem .55rem;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-md)}.pfr-metric-rail-node{display:flex;flex-direction:column;align-items:center;gap:.12rem;flex:1 1 0;min-width:0}.pfr-time-rail-pill{font-variant-numeric:tabular-nums;font-weight:600;font-size:clamp(.72rem,1.8vw,.8rem);line-height:1.35;color:var(--color-text);padding:.3rem .45rem;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-sizing:border-box}input.pfr-time-text.pfr-time-rail-pill{font-family:inherit;text-align:center;margin:0;width:min(100%,calc(8ch + .9rem + 2px));min-width:0;max-width:100%}input.pfr-battery-num.pfr-time-rail-pill{font-family:inherit;text-align:center;margin:0;width:min(100%,calc(5ch + .9rem + 2px));min-width:0;max-width:100%;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input.pfr-battery-num.pfr-time-rail-pill::-webkit-outer-spin-button,input.pfr-battery-num.pfr-time-rail-pill::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.pfr-battery-num.pfr-time-rail-pill:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft)}input.pfr-time-text.pfr-time-rail-pill::placeholder{color:var(--color-text-muted);font-weight:400}input.pfr-time-text.pfr-time-rail-pill:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft)}output.pfr-time-rail-duration{display:inline-block;margin:0}.pfr-time-rail-line{flex:1 1 0;min-width:.45rem;width:auto;height:2px;align-self:center;border-radius:var(--radius-pill);background:var(--color-border)}.pfr-metrics-secondary{display:flex;flex-wrap:wrap;align-items:stretch;gap:.35rem .65rem;padding:.45rem .5rem;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-md)}.pfr-metrics-secondary .pfr-metric-chunk-distance-only{flex:0 0 auto;width:5.75rem;min-width:4.5rem;max-width:min(40%,6.5rem)}.pfr-metrics-secondary .pfr-metric-chunk-notes-fill{flex:1 1 0;min-width:0;display:flex;flex-direction:column}.pfr-metrics-secondary .pfr-metric-chunk-notes-fill textarea{flex:0 0 auto;width:100%;min-height:calc(.6rem + 1.35em);margin:0;padding:.3rem .45rem;font-size:clamp(.72rem,1.8vw,.8rem);font-family:inherit;font-weight:600;line-height:1.35;color:var(--color-text);background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-sizing:border-box;resize:none;text-align:start}.pfr-metrics-secondary .pfr-metric-chunk-notes-fill textarea::placeholder{color:var(--color-text-muted);font-weight:400}.pfr-metrics-secondary .pfr-metric-chunk-notes-fill textarea:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft)}@media(max-width:520px){.pfr-metrics-secondary .pfr-metric-chunk-distance-only{flex:1 1 100%;max-width:none;width:100%}.pfr-metrics-secondary .pfr-metric-chunk-notes-fill{flex:1 1 100%}}.pfr-metric-chunk input[type=text]{width:100%;min-width:0;margin:0;padding:.3rem .45rem;font-size:clamp(.72rem,1.8vw,.8rem);font-family:inherit;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.35;color:var(--color-text);background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-sizing:border-box;text-align:start}.pfr-metric-chunk input[type=text]:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft)}.pfr-metric-chunk input[type=text]::placeholder{color:var(--color-text-muted);font-weight:400}.pfr-metric-chunk{display:flex;flex-direction:column;gap:.12rem;min-width:0}.pfr-metric-chunk-label{font-size:.58rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.pfr-metric-chunk input[type=number]{width:100%;min-width:0;max-width:5rem;margin:0;padding:.3rem .45rem;font-size:clamp(.72rem,1.8vw,.8rem);font-family:inherit;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.35;color:var(--color-text);background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-sizing:border-box;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.pfr-metric-chunk input[type=number]::-webkit-outer-spin-button,.pfr-metric-chunk input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pfr-metric-chunk input[type=number]:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft)}.pfr-readonly-inline{display:inline-flex;align-items:center;min-height:1.55rem;padding:.25rem .4rem;font-size:clamp(.68rem,1.6vw,.78rem);font-weight:600;color:var(--color-text);background:var(--color-slate-100);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;font-variant-numeric:tabular-nums}@media(max-width:640px){.pfr-time-rail-row,.pfr-battery-rail-row{flex-direction:column;align-items:stretch;gap:.5rem}.pfr-time-rail-line{display:none}.pfr-metric-rail-node{align-items:stretch}.pfr-time-rail-row input.pfr-time-rail-pill,.pfr-battery-rail-row input.pfr-time-rail-pill{width:100%;max-width:none}}.pfr-computed-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem;padding:.35rem .55rem;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-md)}.pfr-computed-label{font-size:.7rem;color:var(--color-text-muted)}.pfr-computed-value{font-size:.8rem;font-weight:600;color:var(--color-text);margin-left:auto}.pfr-evidence-upload{margin-bottom:.45rem}.pfr-evidence-upload-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem;min-width:0}.pfr-evidence-upload-title{font-size:.65rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pfr-evidence-clear{flex-shrink:0;margin:0;padding:.28rem .65rem;font-family:inherit;font-size:.65rem;font-weight:700;line-height:1.2;color:var(--color-text-subtle);background:var(--color-slate-100);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.pfr-evidence-clear:hover:not(:disabled){background:var(--color-slate-200);color:var(--color-text-strong);border-color:var(--color-border-strong)}.pfr-evidence-clear:disabled{opacity:.45;cursor:not-allowed}.pfr-evidence-choose-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0}.pfr-file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pfr-file-choose-pill{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:.3rem .75rem;font-family:inherit;font-size:clamp(.72rem,1.8vw,.8rem);font-weight:600;line-height:1.35;color:var(--color-text);background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-sizing:border-box;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;max-width:100%}.pfr-file-choose-pill:hover{background:var(--color-slate-100);border-color:var(--color-border-strong)}.pfr-file-choose-pill:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft)}.pfr-items{margin-top:.5rem}.pfr-incident-card{position:relative;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem;margin-bottom:.75rem;display:flex;flex-direction:row;align-items:stretch;gap:.75rem;min-width:0}.pfr-incident-remove{position:absolute;top:.45rem;right:.45rem;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;margin:0;padding:0;font-family:inherit;font-size:1.25rem;font-weight:600;line-height:1;color:var(--color-text-muted);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer}.pfr-incident-remove:hover{color:var(--color-danger-bright, #c62828);border-color:var(--color-danger-bright, #c62828);background:var(--color-white)}.pfr-incident-remove:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-brand-soft)}.pfr-incident-thumb-wrap{position:relative;flex:0 0 25%;min-width:0;align-self:stretch;min-height:4rem;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-slate-200)}.pfr-incident-thumb-wrap .thumb{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.pfr-thumb-crosshair{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);pointer-events:none;z-index:2}.pfr-thumb-crosshair:before,.pfr-thumb-crosshair:after{content:"";position:absolute;left:50%;top:50%;background:#fffffff2;transform:translate(-50%,-50%)}.pfr-thumb-crosshair:before{width:1px;height:14px}.pfr-thumb-crosshair:after{width:14px;height:1px}.pfr-thumb-crosshair--small{width:10px;height:10px}.pfr-thumb-crosshair--small:before{height:8px}.pfr-thumb-crosshair--small:after{width:8px}.pfr-incident-body{flex:1 1 0;min-width:0;padding-right:2.35rem}.pfr-incident-card .meta{font-size:.7rem;color:var(--color-text-muted);margin-bottom:.35rem}.pfr-form-actions{margin-top:1rem}.pfr-progress{margin-top:.5rem;height:6px;background:var(--color-slate-200);border-radius:3px;overflow:hidden}.pfr-progress-fill{height:100%;background:var(--color-brand);transition:width .2s ease-out}.pfr-error{color:var(--color-danger-bright);font-size:.75rem;margin-top:.35rem;white-space:pre-wrap}.pfr-success{color:var(--color-success);font-size:.75rem;margin-top:.35rem;white-space:pre-wrap}.pfr-tech-notice{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:6px;font-size:.8rem;line-height:1.45;margin-bottom:.85rem;padding:.65rem .75rem;white-space:pre-wrap}.pfr-summary{margin-top:.35rem;font-size:.75rem;color:var(--color-text)}.pfr-submitted-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.pfr-submitted-banner h2{margin:0;font-size:1rem;color:var(--color-text)}.pfr-submitted-report{margin-top:1rem;padding:1rem 1rem 1.1rem;background:linear-gradient(165deg,var(--color-slate-50) 0%,rgba(255,255,255,.92) 100%);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 1px #0000000a}.pfr-submitted-report-head{display:flex;align-items:flex-start;justify-content:flex-start;gap:.75rem;margin-bottom:.5rem}.pfr-submitted-report-title{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.pfr-submitted-report-lead{margin:0 0 .75rem;font-size:.75rem;line-height:1.45;color:var(--color-text)}.pfr-whatsapp-draft{margin:0 0 1rem;padding:.65rem .75rem .75rem;background:#ffffffbf;border:1px solid var(--color-border);border-radius:var(--radius-md)}.pfr-whatsapp-draft-title{margin:0 0 .35rem;font-size:.78rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.pfr-whatsapp-draft-hint{margin:0 0 .5rem;font-size:.65rem;line-height:1.4;color:var(--color-text-muted)}.pfr-whatsapp-draft-textarea{display:block;width:100%;box-sizing:border-box;margin:0 0 .5rem;padding:.5rem .55rem;font-size:.68rem;line-height:1.45;font-family:inherit;color:var(--color-text);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;min-height:7rem}.pfr-whatsapp-draft-copy{padding:.35rem .75rem;font-size:.68rem;font-family:inherit;font-weight:600;color:var(--color-white);background:#128c7e;border:1px solid #0d7a6e;border-radius:var(--radius-md);cursor:pointer}.pfr-whatsapp-draft-copy:hover{background:#0f7a6e;border-color:#0a6559}.pfr-submitted-report-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;margin:0 0 1rem;padding:.6rem .75rem;background:#ffffffa6;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.7rem}.pfr-submitted-report-meta dt{margin:0;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.6rem}.pfr-submitted-report-meta dd{margin:.1rem 0 0;color:var(--color-text);word-break:break-word}@media(min-width:560px){.pfr-submitted-report-meta{grid-template-columns:repeat(4,minmax(0,1fr))}}.pfr-report-image-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.pfr-report-image-card{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;padding:.65rem .75rem;background:var(--color-bg, #fff);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:start}.pfr-report-image-thumb-wrap{position:relative;width:88px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:var(--color-slate-100)}.pfr-report-image-thumb{display:block;width:100%;height:72px;object-fit:cover}.pfr-report-image-badge{position:absolute;left:0;right:0;bottom:0;padding:.15rem .25rem;font-size:.55rem;font-weight:700;text-align:center;color:#fff;background:#0000008c}.pfr-report-image-body{min-width:0;font-size:.72rem;line-height:1.45;color:var(--color-text)}.pfr-report-image-body p{margin:0 0 .35rem}.pfr-report-image-body p:last-child{margin-bottom:0}.pfr-report-kind{font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.pfr-report-target-distance{color:var(--color-text-muted)}.pfr-report-coords strong,.pfr-report-proj strong,.pfr-report-detail strong,.pfr-report-ais-match strong{font-weight:600;color:var(--color-text-subtle);margin-right:.25rem}.pfr-report-mono{font-family:var(--font-mono);font-size:.65rem;word-break:break-all}.pfr-report-ais-sub{margin-top:.15rem!important;padding-left:.35rem;border-left:2px solid var(--color-border);color:var(--color-text-muted);font-size:.68rem}.pfr-debug-details{margin-top:.75rem}.pfr-debug-details summary{cursor:pointer;font-size:.7rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.35rem;-webkit-user-select:none;user-select:none}.pfr-debug-details summary:hover{color:var(--color-text)}.pfr-debug-details[open] summary{margin-bottom:.5rem}.pfr-debug-details .pfr-debug{margin-top:0}.pfr-debug{margin-top:.75rem;padding:.5rem;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.65rem;color:var(--color-text-subtle);white-space:pre-wrap;max-height:180px;overflow-y:auto}.map-page{flex:1;min-height:0;height:100vh;position:relative}.map-page>header{position:absolute;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;min-height:56px;background:#111827db;backdrop-filter:blur(var(--map-blur-strong)) saturate(1.2);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.2);border-bottom:1px solid rgba(255,255,255,.1)}.header-logo img{height:2.1875rem;width:auto;display:block;object-fit:contain}.header-brand{display:flex;align-items:center;gap:.85rem;min-width:0}.header-brand>.header-logo,.header-brand>.pilot-header-logo{padding-left:.85rem;border-left:1px solid rgba(255,255,255,.22)}.header-title{display:flex;align-items:center;gap:.85rem;margin:0;min-width:0;font-size:1rem;font-weight:600;color:#fff}.header-title-app{padding-left:.85rem;border-left:1px solid rgba(255,255,255,.22);white-space:nowrap;line-height:1.2}.header-title-logo{height:2.1875rem;width:auto;display:block;object-fit:contain;padding:.15rem .35rem;background:#fff;border-radius:5px}.header-title-app{overflow:hidden;text-overflow:ellipsis}@media(max-width:1100px){.header-title-app{display:none}}@media(max-width:720px){.header-title{display:none}}.header-nav{display:flex;align-items:center;gap:.2rem}.header-nav a.header-nav-link{display:inline-flex;align-items:center;gap:.35rem;min-height:var(--map-ui-control-height);padding:0 .7rem;font-size:var(--map-ui-font-size);font-family:var(--font-mono);font-weight:600;color:#e2e8f0c7;text-decoration:none;border-radius:var(--radius-pill);border:1px solid transparent;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:color .15s ease,background .15s ease}.header-nav a.header-nav-link:hover{color:#fff;background:#ffffff14}.header-nav .header-nav-current{display:inline-flex;align-items:center;min-height:var(--map-ui-control-height);padding:0 .75rem;font-size:var(--map-ui-font-size);font-family:var(--font-mono);font-weight:700;color:var(--color-brand-ring);border-radius:var(--radius-pill);border:1px solid rgba(94,234,212,.4);background:#2dd4bf29;cursor:default}.map-mode-toggle{display:inline-flex;align-items:center;gap:2px;height:24px;padding:2px;margin-right:.6rem;border:1px solid rgba(255,255,255,.18);background:#ffffff14;border-radius:var(--radius-pill)}.map-mode-opt{display:inline-flex;align-items:center;height:100%;padding:0 .6rem;font-size:.7rem;font-family:var(--font-mono);font-weight:600;letter-spacing:.02em;color:#e2e8f0bf;background:transparent;border:0;border-radius:var(--radius-pill);cursor:pointer;transition:color .15s ease,background .15s ease}.map-mode-opt:hover:not(.is-active){color:#fff}.map-mode-opt.is-active{color:#fff;background:#0e7490}.map-page:not(.is-pilot) .nfz-area-row,.map-page:not(.is-pilot) .nfz-upload-row,.map-page:not(.is-pilot) .nfz-upload-list,.map-page:not(.is-pilot) #nfzRegenerateBtn,.map-page:not(.is-pilot) #nfzRefreshBtn,.map-page:not(.is-pilot) #vesselDownloadBtn{display:none!important}.map-page:not(.is-pilot) .leaflet-nfzAreaSelect-pane,.map-page:not(.is-pilot) .leaflet-nfzAreaEdit-pane{display:none!important}.map-wrap{position:absolute;top:0;right:0;bottom:0;left:0}#map{width:100%;height:100%;min-height:200px;background:var(--color-map-canvas);transform:translateZ(0);backface-visibility:hidden}.leaflet-container{font:inherit}.leaflet-zoom-animated{will-change:transform}.map-wrap .leaflet-top.leaflet-left,.map-wrap .leaflet-top.leaflet-right{top:66px!important}#map .leaflet-control-zoom,.map-wrap .leaflet-control-zoom{display:none!important}.device-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:350}.vessel-overlay-marker{position:absolute;pointer-events:auto;box-sizing:border-box}.map-status-pill{position:absolute;top:66px;left:50%;transform:translate(-50%);z-index:450;pointer-events:none}.map-status-bar{position:absolute;top:100px;left:50%;transform:translate(-50%);z-index:451;display:flex;align-items:center;gap:.5rem;padding:4px 6px 4px 10px;border-radius:var(--radius-pill);background:#111827d1;border:1px solid rgba(255,255,255,.12);color:#e2e8f0eb;font-family:var(--font-mono);font-size:.7rem;white-space:nowrap;backdrop-filter:blur(var(--map-blur)) saturate(1.2);-webkit-backdrop-filter:blur(var(--map-blur)) saturate(1.2);box-shadow:0 2px 8px #00000040}.map-status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex:0 0 auto}.map-status-bar.is-updating .map-status-dot{background:#38bdf8;animation:map-status-pulse 1s ease-in-out infinite}.map-status-bar.is-error .map-status-dot{background:#ef4444}.map-status-bar.is-stale .map-status-dot{background:#f59e0b}.map-status-state{font-weight:700;letter-spacing:.02em}.map-status-bar.is-error .map-status-state{color:#fca5a5}.map-status-bar.is-stale .map-status-state{color:#fcd34d}.map-status-item{color:#e2e8f0b3}.map-status-item:before{content:"·";margin-right:.5rem;color:#94a3b899}.map-status-refresh{margin-left:.15rem;width:20px;height:20px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:inherit;cursor:pointer;font-size:.8rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.map-status-refresh:hover:not(:disabled){background:#ffffff29}.map-status-refresh:disabled{opacity:.5;cursor:default}@keyframes map-status-pulse{0%,to{opacity:1}50%{opacity:.35}}.map-pill{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--map-ui-control-height);padding:0 .65rem;border-radius:var(--radius-pill);font-size:var(--map-ui-font-size)}.map-pill--thin{min-height:var(--map-ui-pill-height-thin);padding:0 .55rem;font-size:var(--map-ui-font-size-thin)}.status{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--map-ui-pill-height-thin);padding:0 .55rem;font-size:var(--map-ui-font-size-thin);border-radius:var(--radius-pill);color:var(--color-gray-700);background:var(--map-glass-bg);border:1px solid var(--map-glass-border);backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25)}.status .dot{width:6px;height:6px;border-radius:50%;background:var(--color-map-hud-muted)}.status.connected .dot{background:var(--color-map-live);box-shadow:var(--shadow-connected)}.vessel-count{font-size:.75rem;color:var(--color-map-hud-muted);padding:.35rem .6rem;border-radius:var(--radius-md);background:var(--color-map-canvas);border:1px solid var(--color-map-hud-border)}.vessel-count:hover{color:var(--color-map-accent)}.map-basemap-cycle,.map-home-btn{position:absolute;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0;z-index:450;border:1px solid var(--map-glass-border);background:var(--map-glass-bg-mid);color:var(--color-gray-700);border-radius:var(--radius-pill);cursor:pointer;backdrop-filter:blur(var(--map-blur)) saturate(1.2);-webkit-backdrop-filter:blur(var(--map-blur)) saturate(1.2)}.map-basemap-cycle{top:66px;right:10px;width:var(--map-ui-control-height);height:var(--map-ui-control-height)}.map-basemap-cycle:hover{color:var(--color-black);background:var(--map-glass-bg-solid);border-color:var(--color-white)}.map-basemap-cycle:focus{outline:none;color:var(--color-map-accent)}.map-basemap-cycle svg{width:var(--map-ui-icon-size);height:var(--map-ui-icon-size);display:block;margin:auto}.map-home-btn{top:66px;left:10px;width:var(--map-ui-control-height);height:var(--map-ui-control-height)}.map-home-btn:hover{color:var(--color-black);background:var(--map-glass-bg-solid);border-color:var(--color-white)}.map-home-btn svg{width:var(--map-ui-icon-size);height:var(--map-ui-icon-size);display:block;margin:auto}.map-bottom-pills{position:absolute;bottom:10px;left:10px;z-index:1000;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.leaflet-container.map-measure-armed .leaflet-map-pane,.leaflet-container.map-measure-armed .leaflet-interactive{cursor:crosshair}.map-measure-btn{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;width:max-content;max-width:100%;gap:.35rem;min-height:var(--map-ui-pill-height-thin);padding:0 .55rem;font-size:var(--map-ui-font-size-thin);font-family:inherit;color:var(--color-gray-700);background:var(--map-glass-bg);border:1px solid var(--map-glass-border);border-radius:var(--radius-pill);backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25);cursor:pointer;box-sizing:border-box;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.map-measure-btn:hover{color:var(--color-black);background:var(--map-glass-bg-solid);border-color:var(--color-white)}.map-measure-btn:focus{outline:none;border-color:var(--color-white);box-shadow:0 0 0 2px #ffffff38}.map-measure-btn--active{color:var(--color-map-measure-active);border-color:#ffffff59}.map-measure-btn-icon{display:flex;align-items:center;flex-shrink:0}.map-measure-btn-icon svg{display:block}.map-measure-btn-distance{font-variant-numeric:tabular-nums;min-width:0;color:var(--color-black)}.map-measure-btn-distance:empty{display:none}.map-mouse-coords{position:relative;bottom:auto;left:auto;display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;width:max-content;max-width:100%;min-height:var(--map-ui-pill-height-thin);padding:0 .55rem;font-size:var(--map-ui-font-size-thin);font-family:inherit;color:var(--color-gray-700);background:var(--map-glass-bg);border:1px solid var(--map-glass-border);border-radius:var(--radius-pill);backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25);cursor:crosshair;box-sizing:border-box;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.map-mouse-coords:focus{outline:none;border-color:var(--color-white);box-shadow:0 0 0 2px #ffffff38}.map-mouse-coords--version{cursor:pointer}.changelog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.changelog-panel{width:min(92vw,560px);max-height:min(85vh,720px);display:flex;flex-direction:column;background:var(--map-glass-bg-solid);border:1px solid var(--map-glass-border);border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000038;overflow:hidden;font-family:var(--font-mono);backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25)}.changelog-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .9rem;border-bottom:1px solid var(--map-glass-divider);flex-shrink:0}.changelog-panel-header h2{margin:0;font-size:.85rem;font-weight:700;color:var(--color-gray-800)}.changelog-panel-close{width:32px;height:32px;padding:0;border:1px solid var(--map-glass-border-soft);border-radius:var(--radius-pill);background:var(--map-glass-bg-mid);color:var(--color-gray-700);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.changelog-panel-close:hover{color:var(--color-black);background:var(--map-glass-bg-solid)}.changelog-panel-body{padding:.85rem 1rem 1rem;overflow-y:auto;font-size:.78rem;line-height:1.55;color:var(--color-gray-700)}.changelog-version-list{list-style:none;margin:0;padding:0}.changelog-version-block{margin:0 0 1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--map-glass-divider)}.changelog-version-block:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.changelog-version-title{margin:0 0 .35rem;font-size:.95rem;font-weight:700;color:var(--color-slate-900)}.changelog-version-summary{margin:0 0 .5rem}.changelog-bullet-list{margin:.35rem 0 0;padding-left:1.1rem}.changelog-bullet-list li{margin-bottom:.35rem}.map-search-bar{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;align-items:stretch;max-width:280px;width:calc(100% - 24px);height:calc(var(--map-ui-control-height) + 2px);font-size:var(--map-ui-font-size);color:var(--color-black);background:var(--map-glass-bg-mid);border:1px solid var(--map-glass-border);border-radius:var(--radius-pill);overflow:hidden;box-sizing:border-box;z-index:1000;backdrop-filter:blur(var(--map-blur-strong)) saturate(1.35);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.35)}.map-search-bar:focus-within{border-color:var(--color-white);background:var(--map-glass-bg-strong);box-shadow:0 0 0 2px #ffffff47}.map-search-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-700);pointer-events:none;white-space:nowrap}.map-search-bar:focus-within .map-search-label,.map-search-bar.has-text .map-search-label{display:none}.map-search-bar input{flex:1;min-width:0;height:100%;padding:0 .5rem 0 .75rem;border:none;background:transparent;color:var(--color-gray-700);outline:none;font-family:inherit;font-size:.875rem;box-sizing:border-box}.map-search-bar input::placeholder{color:var(--color-gray-500);font-family:inherit;font-size:.875rem}.map-search-submit{width:var(--map-ui-control-height);min-height:var(--map-ui-control-height);border:none;border-left:1px solid var(--map-glass-divider);background:var(--map-glass-bg);color:var(--color-gray-700);cursor:pointer;display:none;align-items:center;justify-content:center;transition:background .2s,transform .1s;backdrop-filter:blur(var(--map-blur));-webkit-backdrop-filter:blur(var(--map-blur))}.map-search-bar:focus-within .map-search-submit,.map-search-bar.has-text .map-search-submit{display:flex}.map-search-submit:hover{background:var(--map-glass-bg-solid)}.map-search-submit:active{transform:scale(.98)}.map-search-submit svg{width:16px;height:16px}.map-drone-sliders-panel,.map-layers-panel,.detail-panel{font-family:var(--font-mono)}.map-drone-sliders-panel{display:none!important;position:absolute;top:50%;left:10px;transform:translateY(-50%);font-size:.75rem;background:var(--map-glass-bg);border:1px solid var(--map-glass-border);border-radius:var(--radius-lg);color:var(--color-gray-700);z-index:400;backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25)}.map-drone-sliders-panel.is-collapsed{padding:0;min-width:0}.map-drone-sliders-panel.is-collapsed .map-drone-sliders-panel-body{display:none}.map-drone-sliders-panel:not(.is-collapsed){padding:.6rem 2.25rem .6rem .75rem;min-width:140px}.map-drone-sliders-toggle{width:32px;height:32px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-gray-700);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease}.map-drone-sliders-toggle:hover{color:var(--color-black);background:#ffffff47}.map-drone-sliders-panel:not(.is-collapsed) .map-drone-sliders-toggle{position:absolute;top:.35rem;right:.35rem;width:26px;height:26px;font-size:.8rem}.map-drone-sliders-panel-body{padding-top:.1rem}.map-drone-sliders-panel h3{margin:0 0 .5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-600)}.map-drone-sliders-panel .slider-row{margin-bottom:.5rem}.map-drone-sliders-panel .slider-row:last-child{margin-bottom:0}.map-drone-sliders-panel label{display:block;font-size:.7rem;color:var(--color-gray-600);margin-bottom:.2rem}.map-drone-sliders-panel input[type=range]{width:100%;margin:0;accent-color:var(--color-map-accent)}.map-drone-sliders-panel .slider-value{font-size:.7rem;color:var(--color-gray-700);margin-top:.15rem}.map-corner-panel{position:absolute;bottom:10px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:450}.map-layers-panel{width:220px;padding:.5rem .65rem;font-size:.75rem;background:var(--map-glass-bg);border:1px solid var(--map-glass-border);border-radius:var(--radius-lg);color:var(--color-gray-700);backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.25)}.map-layers-panel.is-collapsed{width:220px;height:calc(var(--map-ui-control-height) + 2px);padding:0 .65rem;border-radius:var(--radius-pill);box-sizing:border-box}.map-layers-panel.is-collapsed .map-layers-panel-header{height:100%;min-height:0;align-items:center;border-bottom:none;margin-bottom:0;padding-bottom:0;box-sizing:border-box}.map-layers-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.35rem;border-bottom:1px solid var(--map-glass-divider);margin-bottom:.35rem;padding-bottom:.35rem;cursor:pointer}.map-layers-panel-header h3{margin:0;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-700)}.map-layers-panel-header-actions{display:flex;align-items:center;gap:.25rem}.map-layers-panel-body{overflow:hidden}.map-layers-panel.is-collapsed .map-layers-panel-body{display:none}.map-layers-panel .layer-row{display:flex;align-items:center;justify-content:flex-start;gap:.4rem;padding:.12rem 0}.map-layers-panel #nfzRegenerateBtn,.map-layers-panel #historicalFlightsWindowBtn,.map-layers-panel #singaporeChartOpacityBtn{margin-left:auto}.map-layers-panel .layer-row:not(:has(#nfzRegenerateBtn)):not(:has(#historicalFlightsWindowBtn)):not(:has(#singaporeChartOpacityBtn))>button.layer-toggle:last-child{margin-left:auto}.map-layers-panel .nfz-area-row{padding-left:.1rem;gap:.3rem;flex-wrap:wrap}.nfz-area-btn{font-family:var(--font-mono);font-size:.62rem;color:#cbd5e1;background:#38bdf81a;border:1px solid rgba(56,189,248,.4);border-radius:4px;padding:2px 8px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.nfz-area-btn:hover{background:#38bdf833}.nfz-area-btn--active{background:#38bdf847;color:#e0f2fe;border-color:#38bdf8}.nfz-area-btn--generate{background:#ef44441f;border-color:#ef444480;color:#fecaca}.nfz-area-btn--generate:hover:not(:disabled){background:#ef444438}.nfz-area-btn--clear{background:#94a3b81f;border-color:#94a3b866;color:#cbd5e1;padding:2px 7px}.nfz-area-btn--clear:hover{background:#94a3b840}.nfz-area-btn:disabled{opacity:.45;cursor:default}.nfz-area-btn--edit{background:#38bdf81f;border-color:#38bdf880;color:#bae6fd;padding:2px 7px}.nfz-area-btn--edit:hover{background:#38bdf838}.map-layers-panel .nfz-upload-row{padding-left:.1rem;gap:.4rem;flex-wrap:wrap;align-items:center}.nfz-upload-btn{display:inline-block;background:#34d3991f;border-color:#34d39980;color:#bbf7d0}.nfz-upload-btn:hover{background:#34d39938}.nfz-upload-btn[aria-busy=true]{opacity:.6;cursor:progress}.nfz-upload-list{list-style:none;margin:2px 0 0;padding:0 0 0 .1rem;display:flex;flex-direction:column;gap:3px}.nfz-upload-item{display:flex;align-items:center;gap:4px}.nfz-upload-name{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:.62rem;color:#e2e8f0;background:#94a3b81a;border:1px solid rgba(148,163,184,.3);border-radius:4px;padding:2px 6px}.nfz-upload-name:focus{outline:none;border-color:#34d399;background:#34d3991f}.nfz-upload-del{flex:0 0 auto;font-size:.62rem;line-height:1;color:#fecaca;background:#ef44441f;border:1px solid rgba(239,68,68,.45);border-radius:4px;padding:3px 6px;cursor:pointer;transition:background .15s ease}.nfz-upload-del:hover{background:#ef444447}.leaflet-container.nfz-area-armed{cursor:crosshair}.nfz-edit-vertex{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #0284c7;box-shadow:0 1px 3px #00000073;cursor:grab}.nfz-edit-vertex:active{cursor:grabbing}.nfz-edit-delete{width:20px;height:20px;border-radius:50%;background:#dc2626;color:#fff;font-weight:700;font-size:14px;line-height:16px;text-align:center;border:2px solid #fff;box-shadow:0 1px 3px #00000073;cursor:pointer}.nfz-edit-delete:hover{background:#b91c1c}.map-incident-legend{margin:.15rem 0 .35rem;padding:.35rem 0 .25rem;border-top:1px solid var(--map-glass-divider);font-size:.68rem;line-height:1.25;color:var(--color-gray-700)}.map-incident-legend-row{display:flex;align-items:center;gap:.45rem;padding:.08rem 0}.map-incident-legend-row span{flex:1;min-width:0}.map-incident-legend-star{flex-shrink:0;display:block}.map-layers-panel .layer-row label{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-gray-700)}.map-layers-panel .layer-count{flex:1;min-width:0;font-size:.75rem;color:var(--color-gray-700)}.map-layers-panel .layer-count.nfz-outdated{color:var(--color-map-nfz-warn);font-weight:600}.map-layers-panel .hf-filter-btn{font-size:.85rem;line-height:1}.hf-filter-panel{margin:.1rem 0 .35rem;padding:.4rem .5rem;border:1px solid var(--map-glass-divider);border-radius:var(--radius-sm);background:#94a3b81f;display:flex;flex-direction:column;gap:.32rem}.hf-filter-field{display:flex;align-items:center;gap:.35rem;font-size:.62rem;color:var(--color-gray-700)}.hf-filter-field>span{min-width:34px;font-weight:600}.hf-filter-input{flex:1;min-width:0;font-size:.64rem;padding:.15rem .35rem;color:var(--color-gray-700);background:var(--color-white, #fff);border:1px solid var(--map-glass-divider);border-radius:var(--radius-sm)}.hf-filter-dates{display:flex;flex-direction:column;gap:.32rem}.hf-filter-dates .hf-filter-field{width:100%}.hf-filter-dates .hf-filter-field>span{min-width:34px}.hf-filter-input[type=date]{width:100%;box-sizing:border-box}.hf-filter-actions{display:flex;gap:.4rem}.hf-filter-apply,.hf-filter-clear{flex:1;font-size:.62rem;font-weight:700;padding:.22rem .4rem;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--map-glass-divider)}.hf-filter-apply{background:#00b8cc;border-color:#00a3b5;color:#04252b}.hf-filter-apply:hover{background:#00a3b5}.hf-filter-clear{background:#94a3b829;color:var(--color-gray-700)}.hf-filter-clear:hover{background:#94a3b847}.hf-filter-status{font-size:.58rem;color:var(--color-text-muted, #64748b);min-height:.72rem}.map-layers-panel .layer-count-inline{font-size:.75rem;color:var(--color-gray-700)}.map-layers-panel .layer-toggle{width:24px;height:24px;padding:0;border:none;border-radius:0;background:transparent;color:var(--color-gray-700);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,opacity .15s ease}.map-layers-panel .layer-toggle:hover{color:var(--color-black);opacity:.9}.map-layers-panel .layer-toggle.hidden{color:var(--color-gray-700);opacity:1}.map-layers-panel .layer-toggle:disabled{opacity:.35;cursor:not-allowed}.map-layers-panel .layer-toggle svg{width:16px;height:16px}.historical-flight-path{cursor:pointer}.map-layers-panel #historicalFlightsWindowBtn,.map-layers-panel #singaporeChartOpacityBtn{flex-shrink:0;width:auto;font-size:.7rem;font-weight:600;line-height:1}.map-layers-panel #nfzRegenerateBtn .icon-nfz-spinner.is-spinning{animation:nfz-action-spin 2s linear infinite;transform-origin:center}.detail-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:auto;max-width:min(90vw,380px);max-height:80vh;background:var(--map-glass-bg);border:1px solid var(--map-glass-border);border-radius:var(--radius-lg);z-index:700;overflow:hidden;display:none;flex-direction:column;backdrop-filter:blur(var(--map-blur-strong)) saturate(1.3);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.3)}.detail-panel.is-open{display:flex}.detail-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--map-glass-divider)}.detail-panel-header-left{display:flex;align-items:center;gap:.5rem;min-width:0}.detail-panel-header-right{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.detail-panel-header h3{margin:0;font-size:.8rem;font-weight:600;color:var(--color-gray-700)}#detailPanelHeaderActions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}#detailPanelHeaderActions:empty{display:none}.detail-panel-close{width:28px;height:28px;padding:0;border:1px solid var(--map-glass-border-soft);border-radius:var(--radius-pill);background:var(--map-glass-bg-mid);color:var(--color-gray-700);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(var(--map-blur));-webkit-backdrop-filter:blur(var(--map-blur))}.detail-panel-close:hover{color:var(--color-black);background:var(--map-glass-bg-solid);border-color:var(--map-glass-border)}.detail-panel-content{padding:.75rem 1rem;overflow-y:auto;font-size:.75rem;line-height:1.6;color:var(--color-gray-700)}.detail-panel-content strong{display:inline;color:var(--color-slate-950);font-weight:600}.detail-panel-content a{color:var(--color-link)}.detail-panel-content a:hover{color:var(--color-link-hover);text-decoration:underline}.route-suspense-fallback{display:flex;align-items:center;justify-content:center;min-height:50vh;font-size:.875rem;color:var(--color-text-muted)}.vessel-marker-icon{background:none!important;border:none!important}.vessel-triangle-wrap{width:14px;height:14px;position:relative;display:flex;align-items:flex-end;justify-content:center}.vessel-triangle-outline{position:absolute;bottom:0;left:50%;margin-left:-2.5px;width:0;height:0;border-left:2.5px solid transparent;border-right:2.5px solid transparent;border-bottom:8px solid #000;transform-origin:50% 100%}.vessel-triangle{position:absolute;bottom:0;left:50%;margin-left:-2.5px;width:0;height:0;border-left:2.5px solid transparent;border-right:2.5px solid transparent;border-bottom:8px solid #f0c000;transform-origin:50% 100%;z-index:1}.asset-marker-icon{background:none!important;border:none!important}.asset-marker-dot{width:6.25px;height:6.25px;border-radius:50%;background:#22c3e6;border:1px solid #0f1419;box-shadow:0 0 0 1px #22c3e699}.asset-mooring-pin{background:none!important;border:none!important}.asset-mooring-pin-svg{filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.4));display:block}.asset-marker-icon.asset-marker-highlight .asset-marker-dot{box-shadow:0 0 0 3px #fffffff2,0 0 14px 4px var(--color-map-accent);animation:asset-highlight-pulse 1.2s ease-in-out infinite}.ship-marker-icon{background:none!important;border:none!important}.ship-marker-dot{width:6.25px;height:6.25px;border-radius:50%;background:#38bdf8;border:1px solid #0f1419;box-shadow:0 0 0 1px #38bdf899}.ship-marker-icon.ship-marker-highlight .ship-marker-dot{box-shadow:0 0 0 3px #fffffff2,0 0 14px 4px var(--color-map-accent);animation:asset-highlight-pulse 1.2s ease-in-out infinite}.incident-marker-icon{background:none!important;border:none!important}.incident-marker-wrap{filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));line-height:0}.incident-marker-wrap svg{display:block}.incident-marker-wrap-archived{filter:none}.dock-marker-wrapper{background:none!important;border:none!important}.dock-marker-icon{box-shadow:none}.device-drone-marker .device-drone-svg{width:100%;height:100%;display:block}.device-overlay-dot{position:absolute;border-radius:50%;border:2px solid var(--color-white);pointer-events:auto;cursor:pointer;transform:translate(-50%,-50%);transform-origin:50% 50%;transition:transform .15s ease,box-shadow .15s ease}.device-overlay-dot:hover{box-shadow:0 2px 8px #00000059}.device-overlay-dot:hover:not(.drone){transform:translate(-50%,-50%) scale(1.15)}.device-overlay-dot.dock{width:28px;height:28px;background:transparent;border:1.5px solid #a6a6a6;box-shadow:none;z-index:1;display:flex;align-items:center;justify-content:center}.device-overlay-dot.dock .dock-h{font-size:.7rem;font-weight:700;color:var(--color-white);line-height:1;font-family:inherit}.device-overlay-dot.drone{width:27px;height:27px;background:transparent;border:none;box-shadow:none;z-index:2}.device-overlay-dot.drone .device-drone-svg{width:100%;height:100%;display:block}.device-overlay-dot.drone:hover{transform:translate(-50%,-50%) scale(1.15)}.device-overlay-dot.unknown{width:14px;height:14px;background:#d29922;box-shadow:0 0 0 1px #0003,0 1px 3px #0003;z-index:2}.anchorage-map-label-marker{background:none!important;border:none!important;pointer-events:none!important;display:flex!important;align-items:center!important;justify-content:center!important}.anchorage-map-label-text{white-space:nowrap;font-size:calc(.7rem * .75);font-weight:500;line-height:1;color:#2d8cf0;font-family:inherit}.geofence-label-marker{background:none!important;border:none!important;pointer-events:none!important;display:flex!important;align-items:center!important;justify-content:center!important}.geofence-label-text{white-space:nowrap;font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#22c55e;text-shadow:0 0 6px rgba(0,0,0,.8),0 1px 3px rgba(0,0,0,.9);font-family:inherit}.asset-tooltip-wrap,.vessel-tooltip-wrap,.device-tooltip-wrap,.leaflet-tooltip.map-glass-tooltip{width:max-content!important;max-width:min(85vw,320px)!important;background:var(--map-glass-bg)!important;backdrop-filter:blur(var(--map-blur-strong)) saturate(1.3)!important;-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.3)!important;border:1px solid var(--map-glass-border)!important;border-radius:10px!important;padding:.4rem .6rem!important;font-size:.75rem!important;color:var(--color-gray-700)!important;box-shadow:var(--shadow-map);pointer-events:auto}.asset-tooltip-wrap{z-index:700!important}.asset-tooltip-wrap strong{color:var(--color-slate-950)!important;display:inline!important}.asset-tooltip-wrap a{color:var(--color-link)!important}.asset-tooltip-wrap a:hover{color:var(--color-link-hover)!important;text-decoration:underline}.vessel-tooltip-wrap{z-index:700!important}.vessel-tooltip-wrap.leaflet-tooltip-top{margin-bottom:12px!important}.vessel-tooltip strong{display:inline!important;color:var(--color-slate-950)!important}.vessel-tooltip br+strong{margin-top:0}.vessel-tooltip-wrap a{color:var(--color-link)!important}.vessel-tooltip-wrap a:hover{color:var(--color-link-hover)!important;text-decoration:underline}.device-tooltip-wrap{position:absolute;transform:translate(-50%,-100%);pointer-events:none;z-index:400!important}.device-tooltip strong{display:inline!important;color:var(--color-slate-950)!important}.device-tooltip br+strong{margin-top:0}.device-tooltip-wrap a{color:var(--color-link)!important}.device-tooltip-wrap a:hover{color:var(--color-link-hover)!important;text-decoration:underline}.evidence-thumb-wrap{margin-top:.5rem;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.35rem}.evidence-thumb-link{display:block;border-radius:var(--radius-md);outline-offset:2px}.evidence-thumb-link:focus-visible{outline:2px solid var(--color-link)}.evidence-thumbnail.evidence-thumbnail--openable[data-evidence-path]{cursor:pointer}.evidence-thumbnail.evidence-thumbnail--openable[data-evidence-path]:hover{box-shadow:0 0 0 2px #3b82f659}.evidence-thumbnail{display:block;max-width:100%;max-height:180px;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--map-glass-divider);background:#ffffff40}.evidence-thumbnail.evidence-thumbnail-error{min-height:60px;object-fit:none;opacity:.4}.asset-pending-status-row{margin-top:.65rem;display:flex;flex-direction:row;gap:.5rem;justify-content:center;align-items:stretch;flex-wrap:wrap}.asset-status-pill{flex:1 1 0;min-width:5.5rem;max-width:100%;padding:.45rem .85rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.asset-status-pill:disabled{opacity:.55;cursor:not-allowed}.asset-status-pill.is-active{outline:2px solid #f8fafc;outline-offset:1px;box-shadow:0 0 0 1px #00000059,0 1px 3px #0000004d}.asset-status-pill-ok{color:#fff;background:#15803d;border-color:#166534;box-shadow:0 1px 2px #0000001f}.asset-status-pill-ok:hover:not(:disabled){background:#16a34a;border-color:#14532d}.asset-status-pill-fault{color:#fff;background:#b91c1c;border-color:#991b1b;box-shadow:0 1px 2px #0000001f}.asset-status-pill-fault:hover:not(:disabled){background:#dc2626;border-color:#7f1d1d}.asset-status-pill-watchlist{color:#fff;background:linear-gradient(145deg,#db2777,#e11d94);border-color:#9d174d;box-shadow:0 1px 3px #9d174d59}.asset-status-pill-watchlist:hover:not(:disabled){background:linear-gradient(145deg,#e11d94,#ec4899);border-color:#831843}.asset-detail-actions{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--map-glass-divider)}.asset-delete-btn{padding:.35rem .6rem;font-size:.75rem;color:var(--color-error);background:transparent;border:1px solid rgba(248,81,73,.5);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,border-color .15s ease}.asset-delete-btn:hover:not(:disabled){background:#f8514926;border-color:var(--color-error)}.asset-delete-btn:disabled{opacity:.6;cursor:not-allowed}.incident-panel-actions{margin-top:.75rem;padding-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.incident-header-actions{margin:0 0 .5rem;padding:0 0 .45rem;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;border-bottom:1px solid rgba(255,255,255,.35)}.incident-status-pill{padding:.4rem .85rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;font-family:inherit}.incident-status-investigate{color:var(--color-white);background:#20b857;border-color:#20bd5a;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.incident-status-investigate:hover:not(:disabled){background:#1bc459;border-color:#20b857}.incident-status-archive,.incident-status-resolve{color:var(--color-gray-700);background:var(--map-glass-bg-strong);border-color:#0000001f;backdrop-filter:blur(var(--map-blur));-webkit-backdrop-filter:blur(var(--map-blur))}.incident-status-archive:hover:not(:disabled),.incident-status-resolve:hover:not(:disabled){background:#ffffffe6;border-color:#0003;color:var(--color-black)}.incident-status-reopen{color:#2d2d2d;background:#c36d17;border-color:#c36d17}.incident-status-reopen:hover:not(:disabled){background:#f17b04;border-color:#c36d17}.incident-status-pill:disabled{opacity:.6;cursor:not-allowed}.incident-status-investigate .whatsapp-icon{width:14px;height:14px;flex-shrink:0}@keyframes asset-highlight-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.9}}@keyframes nfz-action-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vessel-tug-alert{--tug-alert-glow: 1;animation:vessel-tug-alert-pulse 1.4s ease-in-out infinite}@keyframes vessel-tug-alert-pulse{0%,to{filter:drop-shadow(0 0 calc(2px * var(--tug-alert-glow)) rgba(217,70,239,calc(.9 * var(--tug-alert-glow)))) drop-shadow(0 0 calc(5px * var(--tug-alert-glow)) rgba(217,70,239,calc(.55 * var(--tug-alert-glow))))}50%{filter:drop-shadow(0 0 calc(7px * var(--tug-alert-glow)) rgba(240,171,252,var(--tug-alert-glow))) drop-shadow(0 0 calc(16px * var(--tug-alert-glow)) rgba(217,70,239,calc(.8 * var(--tug-alert-glow))))}}@media(prefers-reduced-motion:reduce){.vessel-tug-alert{animation:none;filter:drop-shadow(0 0 calc(4px * var(--tug-alert-glow)) rgba(217,70,239,var(--tug-alert-glow))) drop-shadow(0 0 calc(10px * var(--tug-alert-glow)) rgba(217,70,239,calc(.6 * var(--tug-alert-glow))))}}.nfz-alert-banner{position:absolute;top:72px;left:50%;transform:translate(-50%);z-index:1200;max-width:min(480px,calc(100% - 120px));padding:.55rem 1.1rem;border-radius:var(--radius-pill);color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.01em;text-align:center;pointer-events:none;opacity:0;transition:opacity .25s ease;box-shadow:0 4px 16px #00000073;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nfz-alert-banner.is-visible{opacity:1}.nfz-mute-btn{position:absolute;top:104px;right:10px;z-index:450;border:1px solid var(--map-glass-border);background:var(--map-glass-bg-mid);color:var(--color-gray-700);cursor:pointer;backdrop-filter:blur(var(--map-blur)) saturate(1.2);-webkit-backdrop-filter:blur(var(--map-blur)) saturate(1.2);transition:opacity .2s}.nfz-mute-btn:hover{background:var(--map-glass-bg-solid);border-color:var(--color-white);color:var(--color-black)}.nfz-mute-btn:focus{outline:none;border-color:var(--color-white);box-shadow:0 0 0 2px #ffffff38}.nfz-mute-btn.is-muted{opacity:.55}.sites-page{flex:1;min-height:0;height:100vh;position:relative}.sites-page>header{position:absolute;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;min-height:56px;background:#111827db;backdrop-filter:blur(var(--map-blur-strong)) saturate(1.2);-webkit-backdrop-filter:blur(var(--map-blur-strong)) saturate(1.2);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-sm)}.sites-map{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--color-map-canvas)}.sites-map .leaflet-top.leaflet-right{top:66px;right:10px}.sites-sidebar{position:absolute;top:56px;left:0;bottom:0;width:272px;z-index:400;display:flex;flex-direction:column;overflow:hidden;background:#0a101eb8;backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border-right:1px solid rgba(255,255,255,.08);box-shadow:2px 0 24px #00000061}.sites-tab-bar{display:flex;flex-shrink:0;background:#0000002e;border-bottom:1px solid rgba(255,255,255,.07)}.sites-tab-btn{flex:1;padding:.72rem 0;background:none;border:none;border-bottom:2px solid transparent;font-size:.72rem;font-weight:700;letter-spacing:.07em;color:#94a3b880;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease;margin-bottom:-1px;font-family:var(--font-mono)}.sites-tab-btn:hover{color:#e2e8f0;background:#ffffff0d}.sites-tab-btn.is-active{color:#5eead4;border-bottom-color:#5eead4;background:#5eead40a}@keyframes sites-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sites-panel-body{display:flex;flex-direction:column;flex:1;min-height:0;animation:sites-panel-in .22s ease both}.sites-site-hd{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem .65rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06)}.sites-site-name{font-size:.84rem;font-weight:700;color:#f1f5f9;letter-spacing:.09em;text-transform:uppercase}.sites-site-sub{font-size:.63rem;color:#94a3b880;margin-top:.2rem;letter-spacing:.01em}.sites-mute-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:.3rem .58rem;font-size:.84rem;cursor:pointer;color:#94a3b8b3;transition:background .15s ease,color .15s ease,opacity .15s ease;line-height:1}.sites-mute-btn:hover{background:#ffffff1a;color:#f1f5f9}.sites-mute-btn.is-muted{opacity:.38}.sites-section-hd{padding:.3rem 1rem .26rem;font-size:.56rem;font-weight:700;letter-spacing:.11em;color:#64748bb3;background:#0000002e;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0;text-transform:uppercase}.sites-section-hd--alerts{display:flex;align-items:center;justify-content:space-between}.sites-clear-btn{background:none;border:none;font-size:.56rem;color:#64748ba6;cursor:pointer;padding:0;text-decoration:underline;letter-spacing:0;font-weight:400;transition:color .15s ease}.sites-clear-btn:hover{color:#94a3b8}.sites-clear-btn:disabled{cursor:default;text-decoration:none;opacity:.6}.sites-zones-status{font-size:.58rem;color:#64748bcc;padding:2px 0 6px;font-family:var(--font-mono)}.sites-drone-list{flex-shrink:0}.sites-drone-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s ease}.sites-drone-row:hover{background:#ffffff08}.sites-drone-name{font-size:.72rem;font-weight:500;color:#cbd5e1;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sites-drone-badge{font-size:.57rem;font-weight:700;letter-spacing:.05em;padding:.12rem .44rem;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;transition:background .35s ease,color .35s ease,border-color .35s ease}@keyframes sites-badge-pulse{0%,to{opacity:1}50%{opacity:.65}}.sites-drone-flying{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.35);animation:sites-badge-pulse 2s ease infinite}.sites-drone-returning{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.28);animation:sites-badge-pulse 1.4s ease infinite}.sites-drone-armed{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}.sites-drone-standby{background:#ffffff0f;color:#f1f5f9;border:1px solid rgba(255,255,255,.12)}.sites-drone-offline{background:#47556914;color:#475569;border:1px solid rgba(71,85,105,.15)}.sites-drone-meta{font-size:.59rem;color:#64748b;display:flex;gap:.4rem;flex-shrink:0}.sites-empty{padding:.7rem 1rem;font-size:.67rem;color:#64748ba6}.sites-empty--alert{padding:1.1rem 1rem;text-align:center}.sites-alert-feed{flex:1;overflow-y:auto;min-height:60px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.07) transparent}.sites-alert-feed::-webkit-scrollbar{width:3px}.sites-alert-feed::-webkit-scrollbar-track{background:transparent}.sites-alert-feed::-webkit-scrollbar-thumb{background:#ffffff17;border-radius:2px}@keyframes sites-alert-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.sites-alert-row{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .8rem .5rem 0;border-bottom:1px solid rgba(255,255,255,.04);border-left:3px solid transparent;animation:sites-alert-in .18s ease both}.sites-alert-caution{border-left-color:#d97706;background:#d9770612}.sites-alert-warning{border-left-color:#ea580c;background:#ea580c14}.sites-alert-danger{border-left-color:#dc2626;background:#dc262617}.sites-alert-breach{border-left-color:#991b1b;background:#991b1b26}.sites-alert-level{font-size:.53rem;font-weight:800;letter-spacing:.06em;padding:.14rem .3rem;border-radius:3px;margin-left:.7rem;flex-shrink:0;margin-top:.14rem}.sites-alert-caution .sites-alert-level{background:#d9770638;color:#fbbf24}.sites-alert-warning .sites-alert-level{background:#ea580c38;color:#fb923c}.sites-alert-danger .sites-alert-level{background:#dc262638;color:#f87171}.sites-alert-breach .sites-alert-level{background:#991b1b80;color:#fca5a5}.sites-alert-body{flex:1;min-width:0}.sites-alert-zone{font-size:.7rem;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sites-alert-meta{font-size:.59rem;color:#64748bb3;margin-top:.06rem}.sites-drone-map-icon{background:transparent!important;border:none!important}.sites-drone-map-label.leaflet-tooltip{background:#0a101ed1;border:1px solid rgba(94,234,212,.3);color:#5eead4;font-size:.62rem;font-family:var(--font-mono);font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap;box-shadow:0 2px 8px #0006;pointer-events:none}.sites-drone-map-label.leaflet-tooltip:before{display:none}.sites-drone-popup.leaflet-popup .leaflet-popup-content-wrapper{background:#0a101eeb;border:1px solid rgba(94,234,212,.35);border-radius:6px;box-shadow:0 4px 16px #00000080;color:#e2e8f0;font-size:.68rem;font-family:var(--font-mono);padding:0}.sites-drone-popup.leaflet-popup .leaflet-popup-content{margin:8px 12px;line-height:1.6}.sites-drone-popup.leaflet-popup .leaflet-popup-content strong{color:#5eead4;display:block;margin-bottom:2px}.sites-drone-popup.leaflet-popup .leaflet-popup-tip-container{display:none}.sites-ship-map-icon{background:transparent!important;border:none!important}.sites-ship-map-label.leaflet-tooltip{background:#0a101ecc;border:1px solid rgba(96,165,250,.35);color:#93c5fd;font-size:.59rem;font-family:var(--font-mono);padding:2px 5px;border-radius:4px;white-space:nowrap;box-shadow:0 2px 6px #0006;pointer-events:none}.sites-ship-map-label.leaflet-tooltip:before{display:none}@keyframes login-drift1{0%{transform:translate(0) scale(1)}to{transform:translate(8vw,6vh) scale(1.08)}}@keyframes login-drift2{0%{transform:translate(0) scale(1.05)}to{transform:translate(-6vw,8vh) scale(.95)}}@keyframes login-drift3{0%{transform:translate(0) scale(.98)}to{transform:translate(5vw,-4vh) scale(1.06)}}@keyframes login-drift4{0%{transform:translate(0) scale(1)}to{transform:translate(-7vw,-5vh) scale(1.04)}}@keyframes login-drift5{0%{transform:translate(0) scale(1.02)}to{transform:translate(4vw,7vh) scale(.96)}}@keyframes login-drift6{0%{transform:translate(0) scale(.97)}to{transform:translate(-5vw,-6vh) scale(1.05)}}.pilot-main-app--map{padding:.4rem;align-items:stretch;justify-content:stretch}.pilot-app-canvas-map{width:100%;flex:1 1 auto;align-self:stretch;max-width:100%;max-height:100%;border-radius:12px;padding:0}.pilot-app-shell-close--map{background:#ffffffeb;box-shadow:0 2px 6px #0000002e;z-index:1000}.mnfz-layout{display:flex;flex-direction:row;height:100%;min-height:0;overflow:hidden}.mnfz-sidebar{width:280px;min-width:260px;flex-shrink:0;display:flex;flex-direction:column;background:var(--color-white);border-right:1px solid var(--color-border);overflow-y:auto;padding:.9rem .85rem;gap:0;font-family:var(--font-mono);z-index:1}.mnfz-map-container{flex:1 1 0;min-width:0;min-height:0}.mnfz-title{margin:0 0 .3rem;font-size:.92rem;font-weight:700;color:var(--color-text)}.mnfz-hint{margin:0 0 .85rem;font-size:.68rem;color:var(--color-text-muted);line-height:1.45}.mnfz-section-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.3rem}.mnfz-tools{display:flex;flex-direction:column;gap:.28rem;margin-bottom:.65rem}.mnfz-tool{display:flex;align-items:center;gap:.45rem;padding:.4rem .65rem;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.78rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;text-align:left;transition:background .1s,border-color .1s,color .1s}.mnfz-tool:hover{background:var(--color-slate-100);color:var(--color-text)}.mnfz-tool--active{font-weight:700}.mnfz-tool.mnfz-tool--active{background:var(--color-slate-200);border-color:var(--color-border-strong);color:var(--color-text)}.mnfz-tool--polygon.mnfz-tool--active,.mnfz-tool--rect.mnfz-tool--active{background:#fff4e6;border-color:#e07b20;color:#a85000}.mnfz-tool--line.mnfz-tool--active{background:#e8f8f0;border-color:#20a060;color:#145c38}.mnfz-tool--upload{width:100%;background:#f6ecff;border-color:#b026ff73;color:#7a1fb8;font-weight:600}.mnfz-tool--upload:hover{background:#efdcff;color:#6a179f}.mnfz-draw-hint{margin:0 0 .65rem;padding:.38rem .55rem;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.66rem;color:var(--color-text-muted);line-height:1.45}.mnfz-pending-box{margin-bottom:.7rem;padding:.6rem .7rem;background:#fff8f0;border:1.5px solid #e07b20;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.35rem}.mnfz-pending-label{font-size:.7rem;font-weight:700;color:#a85000}.mnfz-name-input{width:100%;padding:.35rem .5rem;border:1px solid #e07b20;border-radius:var(--radius-sm);font-size:.8rem;font-family:var(--font-mono);background:var(--color-white);color:var(--color-text);outline:none;box-sizing:border-box}.mnfz-name-input:focus{border-color:#a85000;box-shadow:0 0 0 2px #e07b2030}.mnfz-confirm-btn{align-self:flex-start;padding:.3rem .75rem;background:#e07b20;border:none;border-radius:var(--radius-sm);color:#fff;font-size:.75rem;font-weight:700;cursor:pointer}.mnfz-confirm-btn:hover{background:#a85000}.mnfz-shapes-header{display:flex;align-items:center;justify-content:space-between;margin:.1rem 0 .4rem}.mnfz-shapes-count{font-size:.68rem;color:var(--color-text-muted)}.mnfz-clear-btn{font-size:.68rem;color:var(--color-danger);background:none;border:none;cursor:pointer;padding:.15rem .3rem;border-radius:var(--radius-sm)}.mnfz-clear-btn:hover{background:#fef2f2}.mnfz-shapes-list{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.28rem}.mnfz-shape-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.mnfz-shape-item--open{border-color:var(--color-brand-ring)}.mnfz-shape-row{display:flex;align-items:center;gap:.38rem;padding:.42rem .6rem;background:var(--color-slate-50);font-size:.76rem;cursor:pointer;width:100%;text-align:left;border:none;font-family:var(--font-mono)}.mnfz-shape-row:hover{background:var(--color-slate-100)}.mnfz-badge{font-size:.88rem;flex-shrink:0}.mnfz-badge--polygon,.mnfz-badge--rectangle{color:#e07b20}.mnfz-badge--polyline{color:#20a060}.mnfz-badge--upload{color:#b026ff}.mnfz-shape-row-wrap{display:flex;align-items:stretch}.mnfz-shape-row-wrap .mnfz-shape-row{flex:1;min-width:0}.mnfz-kml-tag{flex-shrink:0;font-size:.56rem;font-weight:700;letter-spacing:.04em;color:#b026ff;background:#b026ff1f;border:1px solid rgba(176,38,255,.4);border-radius:3px;padding:1px 4px}.mnfz-eye-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;background:var(--color-slate-50);border:none;border-left:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer}.mnfz-eye-btn:hover{background:var(--color-slate-100);color:var(--color-text)}.mnfz-eye-btn--off{color:#b0203a}.mnfz-shape-item--hidden .mnfz-shape-name{opacity:.5;text-decoration:line-through}.mnfz-shape-item--hidden .mnfz-badge{opacity:.5}.mnfz-shape-name{flex:1;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mnfz-shape-meta{font-size:.64rem;color:var(--color-text-muted);flex-shrink:0}.mnfz-shape-detail{padding:.5rem .6rem;background:var(--color-white);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.4rem}.mnfz-rename-row{display:flex;align-items:center;gap:.4rem}.mnfz-rename-label{font-size:.64rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;flex-shrink:0}.mnfz-rename-input{flex:1;padding:.28rem .45rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;font-family:var(--font-mono);background:var(--color-bg);color:var(--color-text);min-width:0}.mnfz-rename-input:focus{outline:none;border-color:var(--color-brand-ring)}.mnfz-coords-pre{margin:0;font-size:.64rem;color:var(--color-text-muted);line-height:1.55;white-space:pre;overflow-x:auto;max-height:110px;overflow-y:auto;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.3rem .45rem}.mnfz-action-row{display:flex;flex-wrap:wrap;gap:.3rem}.mnfz-btn{padding:.28rem .55rem;font-size:.68rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);font-family:var(--font-mono)}.mnfz-btn--copy{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.mnfz-btn--copy:hover{background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.mnfz-btn--entry:hover{background:var(--color-slate-100)}.mnfz-btn--delete{color:var(--color-danger);border-color:var(--color-border)}.mnfz-btn--delete:hover{background:#fef2f2;border-color:var(--color-danger)}.mnfz-save-row{margin-bottom:.6rem;display:flex;flex-direction:column;gap:.3rem}.mnfz-save-btn{width:100%;padding:.46rem .7rem;background:#166534;border:1px solid #15803d;border-radius:var(--radius-sm);color:#fff;font-size:.72rem;font-weight:700;cursor:pointer;font-family:var(--font-mono);display:flex;align-items:center;gap:.3rem;justify-content:center}.mnfz-save-btn:hover:not(:disabled){background:#14532d}.mnfz-save-btn:disabled{opacity:.5;cursor:not-allowed}.mnfz-save-btn--ok{background:#15803d}.mnfz-save-btn--error{background:#991b1b;border-color:#7f1d1d}.mnfz-save-status{font-size:.64rem;color:var(--color-text-muted);margin:0}.mnfz-save-status--dirty{color:#b45309;font-weight:600}@keyframes mnfz-spin{to{transform:rotate(360deg)}}.mnfz-ref-section{margin-top:auto;border-top:1px solid var(--color-border);padding-top:.5rem}.mnfz-ref-summary{font-size:.68rem;font-weight:700;color:var(--color-text-muted);cursor:pointer;list-style:none}.mnfz-ref-summary::-webkit-details-marker{display:none}.mnfz-ref-summary:before{content:"▸ "}details[open] .mnfz-ref-summary:before{content:"▾ "}.mnfz-ref-list{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-direction:column;gap:.15rem}.mnfz-ref-item{font-size:.63rem;color:#2d8cf0;line-height:1.35}.mnfz-ref-label span,.mnfz-shape-label span{font-size:.6rem;white-space:nowrap;pointer-events:none;font-family:var(--font-mono);text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff}.mnfz-ref-label span{color:#2d8cf0}.mnfz-shape-label span{color:#8b4500;font-weight:700;font-size:.65rem}.mnfz-vertex-handle{background:#fff;border:2px solid #e07b20;border-radius:50%;box-shadow:0 0 0 1px #00000040,0 1px 3px #0000004d;cursor:grab;box-sizing:border-box}.mnfz-vertex-handle:active{cursor:grabbing;background:#ffe6cc}.pilot-card-app-manual-nfz{background:linear-gradient(135deg,#fff8f0,#fff)}.pilot-card-app-manual-nfz .pilot-card-icon{color:#e07b20}.buoy-layout{display:flex;flex-direction:column;height:100%;min-height:0;padding:1.25rem 1.5rem;gap:.85rem;overflow-y:auto;font-family:var(--font-sans, system-ui, sans-serif);color:var(--color-text, #0f172a)}.buoy-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.buoy-title{margin:0;font-size:1.25rem;font-weight:700}.buoy-subtitle{margin:.25rem 0 0;font-size:.78rem;color:var(--color-text-muted, #64748b);max-width:46ch;line-height:1.45}.buoy-overall{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.buoy-overall-count{font-size:1.5rem;font-weight:800;color:#0e7490;font-variant-numeric:tabular-nums}.buoy-overall-sep{color:#94a3b8;margin:0 1px;font-weight:600}.buoy-overall-label{font-size:.72rem;color:var(--color-text-muted, #64748b)}.buoy-refresh{margin-left:.5rem;padding:5px 10px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-size:.72rem;font-weight:600;color:#334155}.buoy-refresh:hover:not(:disabled){background:#f1f5f9}.buoy-refresh:disabled{opacity:.6;cursor:default}.buoy-tab-bar{display:flex;gap:.4rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.buoy-tab{display:flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:.85rem;font-weight:600;color:#64748b}.buoy-tab:hover{color:#0e7490}.buoy-tab.is-active{color:#0e7490;border-bottom-color:#0e7490}.buoy-tab-name{letter-spacing:.02em}.buoy-tab-count{font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:999px;background:#e2e8f0;color:#475569;font-variant-numeric:tabular-nums}.buoy-tab-count.is-complete{background:#bbf7d0;color:#15803d}.buoy-progress-row{display:flex;flex-direction:column;gap:.35rem}.buoy-progress-label{font-size:.78rem;font-weight:600;color:#334155}.buoy-progress-track{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.buoy-progress-fill{height:100%;background:#f59e0b;border-radius:999px;transition:width .3s ease}.buoy-progress-fill.is-complete{background:#22c55e}.buoy-banner{padding:.55rem .8rem;border-radius:6px;font-size:.78rem}.buoy-banner--error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.buoy-list{display:flex;flex-direction:column;gap:.4rem}.buoy-empty{padding:1.5rem;text-align:center;color:#94a3b8;font-size:.85rem}.buoy-row{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;border-radius:8px;border:1px solid var(--color-border, #e2e8f0);background:#fff}.buoy-row.is-checked{border-left:3px solid #22c55e}.buoy-row.is-due{border-left:3px solid #ef4444}.buoy-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.buoy-dot.is-green{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.buoy-dot.is-red{background:#ef4444;box-shadow:0 0 0 3px #ef44442e}.buoy-row-main{flex:1;min-width:0;display:block;text-align:left;margin:0;padding:0;border:0;background:transparent;font:inherit;color:inherit;border-radius:6px}.buoy-row-main.is-locatable{cursor:pointer}.buoy-row-main.is-locatable:hover{background:#38bdf814}.buoy-row-main.is-locatable:hover .buoy-locate-hint{opacity:1}.buoy-row-main:focus-visible{outline:2px solid #38bdf8;outline-offset:2px}.buoy-row-main:disabled{cursor:default}.buoy-locate-hint{font-size:.62rem;font-weight:700;letter-spacing:.03em;color:#0284c7;opacity:0;transition:opacity .12s ease}.buoy-row-name{font-size:.88rem;font-weight:600;color:#0f172a;display:flex;align-items:center;gap:.45rem}.buoy-moved-tag{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:4px;background:#fef3c7;color:#92400e}.buoy-row-meta{font-size:.72rem;margin-top:2px}.buoy-meta-ok{color:#15803d}.buoy-meta-due{color:#b45309}.buoy-meta-norecord{color:#94a3b8;font-style:italic}.buoy-row-actions{flex:0 0 auto}.buoy-move,.buoy-confirm{display:flex;align-items:center;gap:.35rem}.buoy-move-label{font-size:.7rem;color:#94a3b8}.buoy-confirm-q{font-size:.74rem;font-weight:600;color:#334155}.buoy-saving{font-size:.74rem;color:#64748b}.buoy-move-disabled{color:#cbd5e1;padding:0 .4rem}.buoy-btn{padding:4px 9px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-size:.72rem;font-weight:600;color:#334155}.buoy-btn:hover{background:#f1f5f9}.buoy-btn--move{color:#0e7490;border-color:#a5f3fc}.buoy-btn--move:hover{background:#ecfeff}.buoy-btn--ok{color:#fff;background:#0e7490;border-color:#0e7490}.buoy-btn--ok:hover{background:#155e75}.dzed-page{display:flex;flex-direction:column;height:100vh;background:var(--color-bg)}.dzed-layout{display:flex;flex:1;min-height:0}.dzed-sidebar{width:300px;min-width:260px;max-width:340px;display:flex;flex-direction:column;gap:0;background:var(--color-white);border-right:1px solid var(--color-border);overflow-y:auto;padding:1rem;font-family:var(--font-mono)}.dzed-map-wrap{flex:1;min-height:0}.dzed-sidebar-title{margin:0 0 .4rem;font-size:1rem;font-weight:700;color:var(--color-text)}.dzed-sidebar-hint{margin:0 0 1rem;font-size:.72rem;color:var(--color-text-muted);line-height:1.45}.dzed-tools{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.dzed-tool-btn{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;background:var(--color-slate-100);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;color:var(--color-text);cursor:pointer;transition:background .12s,border-color .12s;text-align:left}.dzed-tool-btn:hover{background:var(--color-slate-200)}.dzed-tool-btn.active{background:var(--color-brand-bg);border-color:var(--color-brand-ring);color:var(--color-brand);font-weight:700}.dzed-tool-polygon.active{background:#fff4e6;border-color:#e07b20;color:#a85000}.dzed-tool-line.active{background:#e8f8f0;border-color:#20a060;color:#145c38}.dzed-draw-hint{margin:0 0 .75rem;font-size:.7rem;color:var(--color-text-muted);line-height:1.4;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem .6rem}.dzed-zones-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;margin-top:.25rem}.dzed-zones-count{font-size:.72rem;color:var(--color-text-muted)}.dzed-clear-btn{font-size:.7rem;color:var(--color-danger);background:none;border:none;cursor:pointer;padding:.2rem .3rem;border-radius:var(--radius-sm)}.dzed-clear-btn:hover{background:#fef2f2}.dzed-zones-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.dzed-zone-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.dzed-zone-item.selected{border-color:var(--color-brand-ring)}.dzed-zone-header{display:flex;align-items:center;gap:.4rem;padding:.45rem .6rem;cursor:pointer;background:var(--color-slate-50);font-size:.78rem}.dzed-zone-header:hover{background:var(--color-slate-100)}.dzed-zone-badge{font-size:.85rem}.dzed-zone-badge.polygon{color:#e07b20}.dzed-zone-badge.polyline{color:#20a060}.dzed-zone-name{flex:1;font-weight:600;color:var(--color-text)}.dzed-zone-pts{font-size:.68rem;color:var(--color-text-muted)}.dzed-zone-detail{padding:.5rem .6rem;background:var(--color-white);border-top:1px solid var(--color-border)}.dzed-zone-coords{margin:0 0 .5rem;font-size:.68rem;color:var(--color-text-muted);white-space:pre;overflow-x:auto;line-height:1.5;max-height:120px;overflow-y:auto}.dzed-zone-actions{display:flex;gap:.4rem}.dzed-copy-btn{font-size:.72rem;padding:.3rem .6rem;background:var(--color-brand);color:var(--color-white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.dzed-copy-btn:hover{background:var(--color-brand-hover)}.dzed-delete-btn{font-size:.72rem;padding:.3rem .6rem;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer}.dzed-delete-btn:hover{background:#fef2f2;border-color:var(--color-danger)}.dzed-ref-section{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--color-border)}.dzed-ref-title{margin:0 0 .4rem;font-size:.72rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.dzed-ref-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.dzed-ref-item{font-size:.68rem;color:#2d8cf0;line-height:1.3}.dzed-ref-label span{font-size:.62rem;color:#2d8cf0;white-space:nowrap;pointer-events:none;font-family:var(--font-mono);text-shadow:0 0 3px #fff,0 0 3px #fff}.rp-layout{display:flex;flex-direction:row;height:100%;min-height:0;overflow:hidden}.rp-sidebar{width:300px;min-width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:.55rem;background:var(--color-white);border-right:1px solid var(--color-border);overflow-y:auto;padding:.9rem .85rem;font-family:var(--font-mono);z-index:1}.rp-map-wrap{position:relative;flex:1 1 0;min-width:0;min-height:0}.rp-map{position:absolute;top:0;right:0;bottom:0;left:0}.rp-compass{position:absolute;top:12px;right:12px;z-index:1000;pointer-events:none;background:#0f172ab8;border:1px solid rgba(148,163,184,.4);border-radius:8px;padding:6px 6px 5px;color:#e2e8f0;font-family:var(--font-mono);box-shadow:0 2px 8px #0006}.rp-compass svg{display:block}.rp-compass-face{fill:#02061759;stroke:#94a3b899;stroke-width:1.5}.rp-compass-cross{stroke:#94a3b84d;stroke-width:1}.rp-compass-lbl{fill:#cbd5e1;font-size:11px;font-weight:700}.rp-compass-n{fill:#f87171;font-size:12px;font-weight:800}.rp-arrow-heading{fill:#00e5ff;stroke:#04252b;stroke-width:.6}.rp-arrow-wind{fill:#ff4d4d;opacity:.9}.rp-compass-hub{fill:#e2e8f0}.rp-compass-readout{margin-top:3px;font-size:9px;line-height:1.55}.rp-compass-muted{color:#94a3b8}.rp-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;vertical-align:middle}.rp-dot-heading{background:#00e5ff}.rp-dot-wind{background:#ff4d4d}.rp-title{margin:0;font-size:.95rem;font-weight:700;color:var(--color-text)}.rp-hint{margin:0;font-size:.68rem;color:var(--color-text-muted);line-height:1.45}.rp-foot{margin-top:.2rem}.rp-section-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-top:.35rem}.rp-select,.rp-input{font-family:var(--font-mono);font-size:.75rem;padding:.34rem .45rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);min-width:0}.rp-select{width:100%}.rp-select:focus,.rp-input:focus{outline:none;border-color:#00b8cc}.rp-coord-row{display:flex;gap:.4rem}.rp-coord-row .rp-input{flex:1}.rp-btn-row{display:flex;gap:.4rem}.rp-btn{flex:1;padding:.4rem .5rem;font-size:.72rem;font-weight:600;font-family:var(--font-mono);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-text);cursor:pointer;transition:background .12s,border-color .12s}.rp-btn:hover{background:var(--color-slate-100)}.rp-btn--active{background:#e6f9fc;border-color:#00b8cc;color:#036}.rp-btn--primary{background:#00b8cc;border-color:#00a3b5;color:#062;color:#04252b;font-weight:700}.rp-btn--primary:hover{background:#00a3b5}.rp-btn--clear{flex:none;background:#94a3b81f}.rp-btn--export{background:#16a34a24;border-color:#16a34a8c;color:#15803d;font-weight:700}.rp-btn--export:hover{background:#16a34a3d}.rp-btn--import{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:#f59e0b24;border-color:#f59e0b8c;color:#b45309;font-weight:700}.rp-btn--import:hover{background:#f59e0b3d}.rp-warning{margin:0;font-size:.68rem;line-height:1.4;color:#a15c00;background:#fff4e0;border:1px solid #f0c67a;border-radius:var(--radius-sm);padding:.35rem .5rem}.rp-range-note{margin:0;font-size:.68rem;line-height:1.4;color:#9a6a00;background:#facc151f;border:1px solid rgba(250,204,21,.55);border-radius:var(--radius-sm);padding:.35rem .5rem}.rp-progress{height:6px;border-radius:999px;background:#94a3b840;overflow:hidden}.rp-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#0891b2,#06b6d4);transition:width .18s ease}.rp-field{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.72rem;color:var(--color-text)}.rp-field .rp-input{width:84px;flex:none;text-align:right}.rp-weather-head{display:flex;align-items:center;justify-content:space-between}.rp-switch{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;text-transform:none;letter-spacing:0;font-weight:600;cursor:pointer}.rp-weather{display:flex;flex-direction:column;gap:.45rem}.rp-slider-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.15rem .5rem;font-size:.7rem;color:var(--color-text)}.rp-slider-row b{color:#007a8a}.rp-slider-row input[type=range]{grid-column:1 / -1;width:100%;accent-color:#00b8cc}.rp-results{display:flex;flex-direction:column;gap:.25rem;margin-top:.35rem;padding:.5rem .55rem;background:var(--color-slate-50);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.rp-crosscheck .rp-cc-sep{margin-top:.35rem;padding-top:.4rem;border-top:1px dashed var(--color-border-strong)}.rp-crosscheck .rp-cc-file{max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-result{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--color-text-muted)}.rp-result b{color:var(--color-text);font-size:.8rem}.rp-ok{color:#16a34a!important}.rp-bad{color:#dc2626!important}.rp-rth{margin-top:.4rem;padding:.5rem .55rem;border-radius:var(--radius-sm);background:#06b6d41a;border:1px solid rgba(6,182,212,.45)}.rp-rth--danger{background:#dc26261a;border-color:#dc262680}.rp-rth-title{font-size:.7rem;font-weight:700;letter-spacing:.02em;color:var(--color-text);margin-bottom:.4rem}.rp-rth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.rp-rth-cell{display:flex;flex-direction:column;gap:.1rem}.rp-rth-cell span{font-size:.62rem;color:var(--color-text-muted);line-height:1.2}.rp-rth-cell b{font-size:.92rem;color:var(--color-text)}.rp-rth--danger .rp-rth-cell b{color:#dc2626}.rp-rth-note{margin:.4rem 0 0;font-size:.64rem;line-height:1.35;color:var(--color-text-muted)}.rp-waypoint-handle{box-sizing:border-box;background:#00e5ff;border:2px solid #04252b;border-radius:50%;box-shadow:0 0 4px #00000080;cursor:grab}.rp-btn--add{flex:0 0 auto;width:34px;padding:.4rem 0;font-size:1rem;font-weight:700}.rp-textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:3.4rem;flex-shrink:0;font-family:var(--font-mono);font-size:.7rem;line-height:1.4;padding:.34rem .45rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text)}.rp-textarea:focus{outline:none;border-color:#00b8cc}.rp-checkpoint span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;font-size:12px;font-weight:800;color:#04252b;background:#00e5ff;border:2px solid #04252b;border-radius:50%;box-shadow:0 0 5px #0000008c;cursor:grab}.rp-checkpoint--target span{color:#fff;background:#dc2626;border-color:#fff}.rp-cp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;max-height:150px;overflow-y:auto}.rp-cp-item{display:flex;align-items:center;gap:6px;font-size:.7rem}.rp-cp-num{flex:0 0 auto;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;color:#04252b;background:#00e5ff;border-radius:50%}.rp-cp-num--target{color:#fff;background:#dc2626}.rp-cp-coord{flex:1;min-width:0;color:var(--color-text);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-cp-del{flex:0 0 auto;font-size:.62rem;line-height:1;color:#fecaca;background:#ef444424;border:1px solid rgba(239,68,68,.45);border-radius:4px;padding:2px 6px;cursor:pointer}.rp-cp-del:hover{background:#ef44444d}.rp-incident-marker span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:#fff;font-size:20px;font-weight:700;background:#dc2626;border:2px solid #fff;border-radius:50%;box-shadow:0 0 6px #0009}.rp-site-label span{font-size:.62rem;font-weight:700;color:#cbd5e1;white-space:nowrap;pointer-events:none;text-shadow:0 0 3px #000,0 0 3px #000}.rp-site-label--sel span{color:#22c55e}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--color-bg, #0b1220);color:var(--color-text, #e2e8f0);font-family:var(--font-sans, "Inter", system-ui, sans-serif)}.app-error-boundary-card{max-width:26rem;text-align:center;padding:2rem 1.75rem;border:1px solid var(--color-border, #334155);border-radius:var(--radius-md, 10px);background:var(--color-surface, #111a2b)}.app-error-boundary-card h1{margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.app-error-boundary-card p{margin:0 0 1.1rem;font-size:.85rem;line-height:1.5;color:var(--color-text-muted, #94a3b8)}.app-error-boundary-card button{padding:.5rem 1.1rem;font:inherit;font-weight:600;color:#04252b;background:#00e5ff;border:none;border-radius:var(--radius-sm, 6px);cursor:pointer}.app-error-boundary-card button:hover{filter:brightness(1.1)}.app-error-boundary-card button:focus-visible{outline:2px solid #00e5ff;outline-offset:2px}.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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.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}}
