@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&family=IBM+Plex+Mono:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--bg-base:#0e121b;--bg-surface:#151923;--bg-elevated:#1c212c;--bg-overlay:#232834;--bg-hover:#2a2f3c;--border-subtle:#2b303b;--border-default:#363c49;--border-strong:#454d5e;--text-primary:#e7ebef;--text-secondary:#98a4b3;--text-tertiary:#657081;--text-disabled:#505862;--accent-blue:#1f8fff;--accent-blue-hover:#3d9eff;--accent-blue-muted:#1f8fff26;--accent-amber:#f6a823;--accent-amber-hover:#f7b645;--accent-amber-muted:#f6a8231f;--accent-green:#26c57b;--accent-green-muted:#26c57b1f;--accent-red:#df3a3a;--accent-red-muted:#df3a3a1f;--accent-cyan:#1ad1e6;--terrain-fill:#2d864d99;--terrain-stroke:#39ac63;--clearance-line:#df3a3a;--ref-line:#627084;--descent-a320:#f6a823;--descent-b777:#39f;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", monospace;--font-data:"IBM Plex Mono", "JetBrains Mono", monospace;--font-ui:"DM Sans", "Inter", sans-serif;--text-xs:.6875rem;--text-sm:.75rem;--text-md:.8125rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.25rem;--text-2xl:1.5rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--sidebar-width:300px;--sidebar-collapsed-width:44px;--transition-fast:.12s ease;--transition-base:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.app-layout{flex-direction:column;width:100vw;height:100vh;display:flex}.app-workspace{flex:1;display:flex;overflow:hidden}.menu-bar{background:var(--bg-surface);border-bottom:1px solid var(--border-default);height:28px;padding:0 var(--space-xs);flex-shrink:0;align-items:center;gap:2px;display:flex}.properties-panel{background:var(--bg-surface);border-left:1px solid var(--border-default);z-index:100;flex-direction:column;width:260px;min-width:260px;animation:.2s ease-out slideInRight;display:flex;overflow-y:auto}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.properties-header{height:40px;padding:0 var(--space-md);border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated);justify-content:space-between;align-items:center;display:flex}.properties-title{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.properties-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:4px}.properties-close:hover{color:var(--text-primary)}.properties-body{padding:var(--space-md);gap:var(--space-md);flex-direction:column;display:flex}.prop-group{flex-direction:column;display:flex}.prop-row{border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs);justify-content:space-between;padding:4px 0;display:flex}.prop-label{color:var(--text-secondary)}.prop-val{color:var(--text-primary);font-weight:500}.prop-empty{color:var(--text-tertiary);font-size:var(--text-xs);text-align:center;padding:var(--space-xl) 0}.prop-row-highlight{background:var(--bg-base);border-radius:var(--radius-sm);margin-bottom:4px;padding:6px 4px}.prop-name{font-family:var(--font-mono);font-size:13px;color:var(--accent-blue)!important}.prop-mono{font-family:var(--font-mono);letter-spacing:.02em;font-size:11px}.prop-divider{background:var(--border-subtle);height:1px;margin:6px 0}.ctx-label{letter-spacing:.08em;color:var(--text-tertiary);text-transform:uppercase;align-self:center;padding:0 6px;font-size:10px;font-weight:700}.map-coord-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-secondary);font-family:var(--font-mono);border-radius:var(--radius-sm);pointer-events:none;background:#0f141eb3;border:1px solid #ffffff0d;padding:4px 8px;font-size:11px;position:absolute;bottom:8px;left:8px}.menu-bar-item-container{align-items:center;height:100%;display:flex;position:relative}.menu-bar-btn{color:var(--text-primary);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;height:22px;padding:0 10px;font-size:13px;transition:background .1s;display:flex}.menu-bar-btn:hover,.menu-bar-btn.active{background:#ffffff1a}.menu-dropdown{background:var(--bg-elevated);border:1px solid var(--border-subtle);z-index:2000;border-radius:6px;flex-direction:column;min-width:220px;margin-top:1px;padding:4px 0;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000080}.menu-dropdown-item{text-align:left;width:100%;color:var(--text-primary);font-size:13px;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:4px 12px;display:flex}.menu-dropdown-item:hover:not(:disabled){background:var(--accent-blue);color:#fff}.menu-dropdown-item:disabled{color:var(--text-tertiary);cursor:default}.menu-shortcut{color:var(--text-tertiary);letter-spacing:.5px;font-size:11px}.menu-dropdown-item:hover:not(:disabled) .menu-shortcut{color:#fffc}.menu-dropdown-divider{background:var(--border-subtle);height:1px;margin:4px 0}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border-subtle);flex-direction:column;transition:none;display:flex;overflow:hidden auto}.sidebar.sidebar-collapsed{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width);overflow:hidden}.sidebar-resizer{background:var(--bg-surface);border-right:1px solid var(--border-subtle);cursor:col-resize;z-index:100;flex-shrink:0;justify-content:center;align-items:center;width:5px;transition:background .2s;display:flex}.sidebar-resizer:after{content:"";background:var(--border-default);border-radius:2px;width:2px;height:32px;transition:background .2s}.sidebar-resizer:hover{background:var(--bg-hover)}.sidebar-resizer:hover:after{background:var(--text-tertiary)}.sidebar-collapse-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.sidebar-collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.sidebar-rail{flex-direction:column;flex:1;padding:4px 0;display:flex;overflow:hidden}.sidebar-rail-sep{background:var(--border-subtle);height:1px;margin:4px 6px}.sidebar-rail-item{width:var(--sidebar-collapsed-width);cursor:pointer;height:36px;color:var(--text-secondary);transition:background var(--transition-fast);background:0 0;border:none;border-left:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex;position:relative}.sidebar-rail-item:hover{background:var(--bg-hover)}.sidebar-rail-item.active{background:var(--accent-blue-muted);border-left-color:var(--accent-cyan)}.sidebar-rail-badge{min-width:14px;height:14px;font-size:8px;font-family:var(--font-mono);color:var(--accent-cyan);pointer-events:none;background:#1ad1e626;border:1px solid #1ad1e640;border-radius:7px;justify-content:center;align-items:center;padding:0 3px;font-weight:700;line-height:1;display:flex;position:absolute;top:3px;right:3px}.sidebar-rail-dot{pointer-events:none;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.sidebar-rail-dot-green{background:var(--accent-green)}.sidebar-rail-dot-amber{background:var(--accent-amber)}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.map-row{flex-direction:row;min-height:100px;display:flex}.horizontal-resizer{background:var(--bg-surface);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);cursor:row-resize;z-index:100;flex-shrink:0;justify-content:center;align-items:center;height:6px;transition:background .2s;display:flex}.horizontal-resizer:after{content:"";background:var(--border-default);border-radius:2px;width:40px;height:2px;transition:background .2s}.horizontal-resizer:hover{background:var(--bg-hover)}.horizontal-resizer:hover:after{background:var(--text-tertiary)}.map-row.map-row-maximized{border-bottom:none;flex:auto}.map-container{flex:1;min-width:0;position:relative}.map-container.map-maximized{border-bottom:none;flex:auto}.map-toggle-btn{z-index:1000;color:#c8d2e6e6;cursor:pointer;background:#1e2337d9;border:1px solid #646e8266;border-radius:5px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex;position:absolute;top:12px;right:12px}.map-toggle-btn:hover{background:#3c4664e6}.map-toggle-btn[data-tooltip]:after,.aero-tb-btn[data-tooltip]:after,.aero-detail-option[data-tooltip]:after,.aero-basemap-btn[data-tooltip]:after{content:attr(data-tooltip);z-index:2000;color:#e2e8f0f5;letter-spacing:0;opacity:0;pointer-events:none;white-space:nowrap;background:#0f172af5;border:1px solid #94a3b838;border-radius:4px;max-width:180px;padding:5px 8px;font-size:11px;font-weight:650;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)translate(3px);box-shadow:0 8px 18px #00000059}.map-toggle-btn[data-tooltip]:before,.aero-tb-btn[data-tooltip]:before,.aero-detail-option[data-tooltip]:before,.aero-basemap-btn[data-tooltip]:before{content:"";z-index:2001;opacity:0;pointer-events:none;border:5px solid #0000;border-left-color:#0f172af5;border-right-width:0;transition:opacity .12s;position:absolute;top:50%;right:calc(100% + 3px);transform:translateY(-50%)}.map-toggle-btn[data-tooltip]:hover:after,.map-toggle-btn[data-tooltip]:focus-visible:after,.aero-tb-btn[data-tooltip]:hover:after,.aero-tb-btn[data-tooltip]:focus-visible:after,.aero-detail-option[data-tooltip]:hover:after,.aero-detail-option[data-tooltip]:focus-visible:after,.aero-basemap-btn[data-tooltip]:hover:after,.aero-basemap-btn[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(-50%)translate(0)}.map-toggle-btn[data-tooltip]:hover:before,.map-toggle-btn[data-tooltip]:focus-visible:before,.aero-tb-btn[data-tooltip]:hover:before,.aero-tb-btn[data-tooltip]:focus-visible:before,.aero-detail-option[data-tooltip]:hover:before,.aero-detail-option[data-tooltip]:focus-visible:before,.aero-basemap-btn[data-tooltip]:hover:before,.aero-basemap-btn[data-tooltip]:focus-visible:before{opacity:1}.chart-container{background:var(--bg-base);flex:1;min-height:200px;transition:flex .3s,min-height .3s,max-height .3s;position:relative}.reports-workspace{background:var(--bg-base);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.reports-editor{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;padding:16px;display:flex;overflow:hidden}.reports-structure{border-right:1px solid var(--border-default);background:var(--bg-surface);padding:14px;overflow-y:auto}.reports-panel-header,.reports-editor-topbar,.reports-document-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.reports-panel-header{margin-bottom:14px}.reports-panel-header-compact{margin:4px 0 10px}.reports-kicker{color:var(--text-tertiary);letter-spacing:.08em;font-size:10px;font-weight:700}.reports-panel-header h2{color:var(--text-primary);font-size:var(--text-lg);margin:2px 0 0;line-height:1.2}.reports-side-panel .reports-panel-header h2{font-size:var(--text-base)}.reports-status-pill{color:#49dfcb;border-radius:var(--radius-sm);font-family:var(--font-mono);background:#14b8a61f;border:1px solid #14b8a652;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:600}.reports-structure-block{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff06;margin-bottom:10px;padding:10px}.reports-options-block{margin-bottom:10px;padding:0}.reports-options-block label,.reports-option-grid label{color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;margin-top:8px;font-size:10px;font-weight:700;display:block}.reports-options-block .input-field{height:30px;font-size:var(--text-xs);margin-top:4px}.reports-options-block .reports-file-field{height:auto;padding:6px}.reports-clear-logo{width:100%;margin-top:8px}.reports-option-grid{grid-template-columns:1fr;gap:0;display:grid}.reports-structure-title{color:var(--text-primary);font-size:var(--text-sm);margin-bottom:7px;font-weight:700}.reports-structure-meta,.reports-structure-note,.reports-structure-empty,.reports-structure-item{color:var(--text-tertiary);font-size:var(--text-xs);line-height:1.35}.reports-structure-note{color:var(--accent-amber);margin-top:5px}.reports-structure-empty{font-style:italic}.reports-structure-item{padding:3px 0}.reports-segment-node{color:#e2e8f0c7;font-size:var(--text-xs);border-top:1px solid #94a3b81f;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;display:flex}.reports-segment-node span:last-child{color:var(--text-tertiary);font-family:var(--font-mono);flex-shrink:0;font-size:10px}.reports-warning-list{border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b59;padding:10px}.reports-warning-title{color:var(--accent-amber);font-size:var(--text-xs);margin-bottom:6px;font-weight:700}.reports-warning{color:#fde68adb;margin-top:4px;font-size:10px;line-height:1.35}.reports-editor-topbar{flex-shrink:0}.reports-title-field{flex:1;min-width:0}.reports-title-field label{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.reports-title-field .input-field{height:34px;font-family:var(--font-body);font-size:var(--text-base);font-weight:600}.reports-actions{flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.reports-actions .btn{width:auto;min-width:68px}.reports-document-shell{border:1px solid var(--border-default);border-radius:var(--radius-md);min-height:0;box-shadow:var(--shadow-sm);background:#f3f5f7;flex-direction:column;flex:1;display:flex;overflow:hidden}.reports-document-toolbar{color:#495465;height:32px;font-size:var(--text-xs);background:#e7ebee;border-bottom:1px solid #c9d0d9;flex-shrink:0;padding:0 12px;font-weight:600}.reports-zoom-controls{align-items:center;gap:6px;display:flex}.reports-zoom-label{text-align:center;min-width:45px;font-family:var(--font-mono);font-size:var(--text-xs)}.reports-card-scroll{background:#eceff3;flex:auto;min-height:0;padding:18px 22px;overflow:auto}.reports-page-frame{width:var(--reports-page-width);min-height:var(--reports-page-height);margin:0 auto}.reports-page-frame-a4-landscape{--reports-page-width:297mm;--reports-page-height:210mm}.reports-page-frame-letter-landscape{--reports-page-width:11in;--reports-page-height:8.5in}.report-card-preview{width:100%;max-width:none;min-height:var(--reports-page-height,auto);color:#111827;background:#fff;border:1px solid #cbd5e1;margin:0;padding:22px;box-shadow:0 1px 4px #0f172a1f}.report-card-density-compact{font-size:.95rem}.report-card-density-detailed{padding:26px}.report-card-theme-jeppesen{border-top:5px solid #2563eb}.report-card-theme-lido{border-top:5px solid #0f766e}.report-card-theme-engineering{border-top:5px solid #334155}.report-card-theme-qrh{color:#000!important;background:#fff!important;border:3px double #000!important;font-family:Arial,sans-serif!important}.report-card-theme-qrh .report-card-header{border-bottom:3px double #000!important}.report-card-theme-qrh .report-card-facts{border:2px solid #000!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important}.report-card-theme-qrh .report-card-fact{background:0 0!important;border:1px solid #000!important;padding:6px 8px!important}.report-card-theme-qrh .report-card-fact span{color:#000!important;font-weight:700!important}.report-card-theme-qrh .report-card-fact strong{color:#000!important}.report-card-theme-qrh .report-card-mini-grid,.report-card-theme-qrh .report-card-strip,.report-card-theme-qrh .report-card-block-title,.report-card-theme-qrh .report-card-route-box,.report-card-theme-qrh .report-card-lower,.report-card-theme-qrh .report-card-signatures{display:none!important}.report-card-theme-qrh .qrh-segment-block{background:#fff!important;border:2px solid #000!important;margin-top:10px!important}.report-card-theme-qrh .qrh-segment-header{color:#000!important;text-transform:uppercase!important;background:#f1f5f9!important;border-bottom:2px solid #000!important;padding:6px 8px!important;font-size:11px!important;font-weight:800!important}.report-card-theme-qrh .qrh-option-table{border-collapse:collapse!important;width:100%!important}.report-card-theme-qrh .qrh-option-table td{color:#000!important;background:#fff!important;border:1px solid #000!important;padding:6px 8px!important;font-size:11px!important}.report-card-theme-qrh .qrh-procedure-label{text-align:center!important;vertical-align:middle!important;text-transform:uppercase!important;border-right:2px solid #000!important;width:100px!important;font-weight:800!important}.report-card-theme-qrh .qrh-option-label{vertical-align:middle!important;width:80px!important;font-weight:800!important}.report-card-theme-qrh .qrh-routing-cell{vertical-align:middle!important;font-family:Courier New,monospace!important}.report-card-theme-fop{color:#1e293b;background:#fff;border-top:6px solid #1e3a8a;border-radius:8px;padding:24px;font-family:Inter,system-ui,-apple-system,sans-serif;box-shadow:0 4px 20px #0f172a14}.fop-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.fop-header-left{align-items:center;gap:14px;display:flex}.fop-brand-logo{color:#fff;letter-spacing:.05em;background:linear-gradient(135deg,#1e3a8a 0%,#3b82f6 100%);border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:14px;font-weight:800;display:flex;box-shadow:0 2px 8px #2563eb33}.fop-brand-info{flex-direction:column;display:flex}.fop-operator-name{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:11px;font-weight:700}.fop-doc-title{color:#0f172a;letter-spacing:0;font-size:18px;font-weight:800}.fop-report-title{color:#334155;margin-top:4px;font-size:12px;font-weight:700;line-height:1.35}.fop-inline-block{align-items:center;display:inline-flex}.fop-header-metadata{color:#64748b;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;display:flex}.fop-header-metadata div{gap:6px;display:flex}.fop-header-metadata span{font-weight:500}.fop-header-metadata strong{color:#0f172a;font-weight:700}.fop-divider{background:linear-gradient(90deg,#e2e8f033 0%,#cbd5e1 50%,#e2e8f033 100%);border:none;height:1px;margin:18px 0}.fop-grid-2col{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.fop-meta-box{flex-direction:column;gap:6px;display:flex}.fop-meta-label{color:#475569;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.fop-meta-value{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:14px;font-weight:700}.fop-sector-text{font-size:13px;font-weight:600;font-family:var(--font-mono);color:#0f172a;word-break:break-all;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 14px;line-height:1.4}.fop-parameters-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;gap:24px;padding:10px 14px;display:flex}.fop-parameter-item{color:#334155;letter-spacing:.02em;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.fop-checkbox{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:16px;font-weight:400;line-height:1;display:inline-flex}.fop-checkbox.checked{color:#2563eb}.fop-procedure-section{margin-top:14px}.fop-section-heading{color:#1e3a8a;letter-spacing:-.01em;margin:0 0 14px;font-size:16px;font-weight:800}.fop-items-table{border-collapse:separate;border-spacing:0;border:1px solid #e2e8f0;border-radius:6px;width:100%;margin-bottom:16px;overflow:hidden}.fop-items-table th{color:#fff;text-transform:uppercase;letter-spacing:.05em;text-align:left;background:#0f172a;width:30%;padding:8px 12px;font-size:11px;font-weight:800}.fop-items-table td{color:#334155;background:#fff;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-size:13px}.fop-items-table tr:last-child td{border-bottom:none}.fop-table-val{color:#0f172a;font-weight:700}.fop-pnrs-block{margin-bottom:16px}.fop-pnrs-title{color:#475569;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800}.fop-pnr-list{flex-direction:column;gap:6px;display:flex}.fop-pnr-item{align-items:center;gap:8px;font-size:13px;display:flex}.fop-pnr-bullet{color:#f59e0b;margin-right:2px;font-size:16px;font-weight:900;line-height:1;display:inline-block}.fop-pnr-badge{color:#334155;min-width:90px;font-weight:700}.fop-pnr-val{font-family:var(--font-mono);color:#b45309;background:#fffbeb;border:1px solid #fef3c7;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700}.fop-segment-procedures{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.fop-segment-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #2563eb;border-radius:6px;padding:12px 14px;transition:transform .2s,box-shadow .2s}.fop-segment-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0a}.fop-segment-title{color:#1e3a8a;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #f1f5f9;margin-bottom:8px;padding-bottom:4px;font-size:12px;font-weight:800}.fop-segment-routes{flex-direction:column;gap:10px;display:flex}.fop-route-row{flex-direction:column;gap:4px;display:flex}.fop-route-path{font-family:var(--font-mono);color:#0f172a;letter-spacing:.02em;word-break:break-all;background:#f8fafc;border:1px solid #f1f5f9;border-radius:4px;padding:6px 10px;font-size:12.5px;font-weight:700}.fop-no-routes{color:#94a3b8;font-size:12px;font-style:italic}.fop-assumptions-box{background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #64748b;border-radius:6px;margin-top:16px;padding:16px}.fop-assumptions-title{color:#334155;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800}.fop-assumptions-intro{color:#475569;margin:0 0 10px;font-size:12.5px;line-height:1.4}.fop-assumptions-list{flex-direction:column;gap:6px;margin:0 0 12px;padding-left:20px;display:flex}.fop-assumptions-list li{color:#334155;font-size:12px;line-height:1.45}.fop-assumptions-list strong{color:#0f172a}.fop-assumptions-text{white-space:pre-wrap;color:#334155;font-size:12px;line-height:1.6}.fop-note{color:#b45309;background:#fffbeb;border:1px solid #fef3c7;border-radius:4px;padding:8px 12px;font-size:11px;line-height:1.4}.report-card-density-compact.report-card-theme-fop{padding:16px}.report-card-density-compact .fop-divider{margin:12px 0}.report-card-density-compact .fop-grid-2col{gap:12px}.report-card-density-compact .fop-meta-value,.report-card-density-compact .fop-sector-text,.report-card-density-compact .fop-parameters-list{padding:6px 10px;font-size:12.5px}.report-card-density-compact .fop-items-table td{padding:6px 10px;font-size:12px}.report-card-density-compact .fop-segment-card{padding:8px 10px}.report-card-density-compact .fop-route-path{padding:4px 8px;font-size:11.5px}.report-card-density-compact .fop-assumptions-box{padding:12px}.report-card-density-detailed.report-card-theme-fop{padding:32px}.report-card-header{border-bottom:2px solid #111827;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:14px;display:flex}.report-card-brand{align-items:flex-start;gap:14px;min-width:0;display:flex}.report-card-logo{color:#fff;letter-spacing:.02em;background:#111827;flex:0 0 44px;justify-content:center;align-items:center;height:44px;font-size:13px;font-weight:900;display:flex;overflow:hidden}.report-card-logo img{object-fit:contain;background:#fff;width:100%;height:100%}.report-card-operator{color:#475569;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:800;line-height:1.2}.report-card-header>span{color:#334155;letter-spacing:.04em;border:1px solid #334155;flex-shrink:0;padding:5px 8px;font-size:10px;font-weight:800}.report-card-aircraft{letter-spacing:0;font-size:30px;font-weight:800;line-height:1}.report-card-type{margin-top:5px;font-size:16px;font-weight:750}.report-card-route{color:#475569;font-family:var(--font-mono);margin-top:2px;font-size:12px}.report-card-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.report-card-fact{background:#f1f5f9;border:1px solid #cbd5e1;padding:8px 10px}.report-card-fact span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.report-card-fact strong{overflow-wrap:anywhere;margin-top:3px;font-size:12px;line-height:1.2;display:block}.report-card-block-title{color:#0f172a;letter-spacing:.02em;text-transform:uppercase;margin-top:16px;margin-bottom:7px;font-size:12px;font-weight:800}.report-card-conditions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.report-card-conditions>div{background:#f8fafc;border:1px solid #d4d9e2;padding:7px 9px}.report-card-conditions span,.report-card-signatures span{color:#64748b;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.report-card-conditions strong,.report-card-signatures strong{color:#0f172a;overflow-wrap:anywhere;margin-top:3px;font-size:11px;line-height:1.2;display:block}.report-card-route-box{color:#111827;font-family:var(--font-mono);background:#fbfdff;border:1px solid #cbd5e1;padding:9px 11px;font-size:12px;line-height:1.45;overflow-x:auto}.report-card-strip{background:linear-gradient(#f8fafc 0%,#eef2f7 100%);border:1px solid #cbd5e1;height:128px;position:relative;overflow:hidden}.report-card-direct-line,.report-card-return-line{background:#2563eb;height:3px;position:absolute;top:44px;left:8%;right:8%}.report-card-return-line{background:repeating-linear-gradient(90deg,#d97706 0 12px,#0000 12px 18px);top:82px}.report-card-direct-line:after,.report-card-return-line:before{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;width:0;height:0;position:absolute;top:-5px}.report-card-direct-line:after{border-left:10px solid #2563eb;right:-1px}.report-card-return-line:before{border-right:10px solid #d97706;left:-1px}.report-card-direct-line span,.report-card-return-line span{color:#1d4ed8;text-transform:uppercase;font-size:10px;font-weight:800;position:absolute;left:0;transform:translateY(-19px)}.report-card-return-line span{color:#b45309}.report-card-marker{text-align:center;width:120px;position:absolute;top:29px;transform:translate(-50%)}.report-card-marker-origin,.report-card-marker-destination{top:86px}.report-card-marker i{background:#0f172a;width:10px;height:10px;margin:0 auto 5px;display:block}.report-card-marker-pnr i{background:#f59e0b;border:1px solid #92400e}.report-card-marker strong,.report-card-marker small{overflow-wrap:anywhere;display:block}.report-card-marker strong{color:#0f172a;font-family:var(--font-mono);font-size:10px}.report-card-marker small{color:#64748b;font-size:9px}.report-card-lower{grid-template-columns:minmax(0,1.6fr) minmax(220px,.9fr);gap:16px;display:grid}.report-card-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.report-mini-graphic{background:#f8fafc;border:1px solid #cbd5e1;min-height:104px;padding:8px}.report-mini-graphic>div{min-height:30px}.report-mini-graphic strong,.report-mini-graphic span{overflow-wrap:anywhere;display:block}.report-mini-graphic strong{color:#0f172a;text-transform:uppercase;font-size:11px;line-height:1.2}.report-mini-graphic span{color:#64748b;margin-top:2px;font-size:10px;line-height:1.25}.report-mini-graphic svg{width:100%;height:58px;margin-top:7px}.report-mini-graphic line{stroke:#cbd5e1;stroke-width:1px;vector-effect:non-scaling-stroke}.report-mini-graphic polyline,.report-mini-graphic path{fill:none;stroke-width:2.4px;vector-effect:non-scaling-stroke}.report-card-table{border-collapse:collapse;width:100%;font-size:11px}.report-card-table th{color:#fff;text-align:left;text-transform:uppercase;background:#111827;padding:6px 8px;font-size:10px}.report-card-table td{vertical-align:top;border:1px solid #cbd5e1;padding:6px 8px}.report-card-table td.direct{color:#1d4ed8;font-weight:800}.report-card-table td.return{color:#b45309;font-weight:800}.report-card-airports{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.report-card-airport{background:#f8fafc;border:1px solid #cbd5e1;min-height:62px;padding:8px;font-size:10px}.report-card-airport strong{font-family:var(--font-mono);font-size:18px;line-height:1;display:block}.report-card-airport span{color:#475569;overflow-wrap:anywhere;margin-top:4px;display:block}.report-card-cautions{background:#fffbeb;border:1px dashed #d97706;gap:5px;margin-top:14px;padding:9px 11px;display:grid}.report-card-cautions div{color:#78350f;font-size:11px;line-height:1.35}.report-card-critical{color:#475569;margin-top:12px;font-size:11px;line-height:1.35}.report-card-signatures{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.report-card-signatures>div{border-top:1px solid #94a3b8;min-height:44px;padding-top:6px}.report-block-selectable{cursor:pointer;border-radius:2px;transition:background-color .12s,border-color .12s}.report-block-selectable:hover{background-color:#06b6d40f}.report-block-selected{border-left:2px solid var(--tree-accent,#06b6d4);margin-left:-2px;padding-left:2px;background:#06b6d41a!important}.report-block-edited:before{content:"";background:var(--tree-accent,#06b6d4);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.reports-edit-dock{border-top:1px solid var(--border-default,#334155);background:var(--bg-elevated,#1e293b);flex:none;min-height:132px;max-height:50vh;position:relative;overflow:hidden;box-shadow:0 -8px 20px #02061740}.reports-edit-dock-collapsed{height:46px;min-height:46px}.reports-edit-resize-handle{z-index:2;cursor:row-resize;height:8px;position:absolute;top:0;left:0;right:0}.reports-edit-resize-handle:before{content:"";background:#94a3b88c;border-radius:999px;width:68px;height:2px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.edit-panel{background:var(--bg-elevated,#1e293b);flex-direction:column;width:100%;height:100%;animation:.18s ease-out slideInBottom;display:flex;overflow:hidden}.edit-panel-collapsed{min-height:46px}.edit-panel-empty{justify-content:center;align-items:center}.edit-panel-empty-state{text-align:center;color:var(--text-secondary,#94a3b8);padding:24px}.edit-panel-empty-state .empty-icon{opacity:.5;margin-bottom:12px;font-size:32px}.edit-panel-empty-state p{font-size:13px;line-height:1.5}.edit-panel-header{border-bottom:1px solid var(--border-color,#334155);background:var(--bg-surface,#0f172a);flex-shrink:0;padding:8px 16px}.edit-panel-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.edit-panel-heading{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 10px;min-width:0;display:grid}.edit-panel-header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.edit-panel-title{color:var(--text-primary,#f1f5f9);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.edit-panel-close{color:var(--text-tertiary,#64748b);flex-shrink:0;font-size:12px}.edit-panel-close:hover{color:var(--text-primary,#f1f5f9)}.edit-panel-block-id{font-size:10px;font-family:var(--font-mono,monospace);color:var(--text-tertiary,#64748b);text-overflow:ellipsis;white-space:nowrap;grid-column:2;overflow:hidden}.edit-panel-body{flex:1;padding:12px 16px;overflow-y:auto}.edit-panel-collapsed .edit-panel-header{border-bottom:none;height:46px}.edit-panel-info{margin-bottom:8px}.edit-panel-type-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--tree-accent,#06b6d4);white-space:nowrap;background:#06b6d426;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-block}.edit-panel-override-indicator{color:var(--accent-amber,#f59e0b);align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.override-dot{background:var(--accent-amber,#f59e0b);border-radius:50%;width:6px;height:6px}.edit-panel-reason{color:var(--text-secondary,#94a3b8);margin-top:4px;font-size:11px;font-style:italic}.edit-panel-description{color:var(--text-secondary,#94a3b8);background:var(--bg-base,#0f172a);border-left:3px solid var(--border-color,#334155);border-radius:6px;margin-bottom:16px;padding:10px 12px;font-size:12px;line-height:1.5;display:none}.edit-panel-editor{margin-bottom:8px}.edit-panel-field{margin-bottom:10px}.edit-panel-inline-field{max-width:min(720px,100%)}.edit-panel-long-field{max-width:min(980px,100%)}.edit-panel-field label{color:var(--text-secondary,#94a3b8);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.edit-panel-field .input-field{width:100%;font-size:13px}.edit-panel-field textarea.input-field{resize:vertical;min-height:72px;line-height:1.45}.edit-panel-long-field textarea.input-field{min-height:92px}.edit-panel-field-note{color:var(--accent-amber,#f59e0b);background:#f59e0b1a;border-radius:4px;margin-top:6px;padding:6px 8px;font-size:11px}.edit-panel-readonly{background:var(--bg-base,#0f172a);border-radius:6px;padding:10px 12px}.edit-panel-generated-value{margin-top:8px;font-size:12px}.edit-panel-generated-value .label{color:var(--text-tertiary,#64748b);text-transform:uppercase;margin-bottom:2px;font-size:10px;display:block}.edit-panel-generated-value .value{color:var(--text-secondary,#94a3b8);font-family:var(--font-mono,monospace)}.edit-panel-original{background:var(--bg-base,#0f172a);border:1px dashed var(--border-color,#334155);border-radius:6px;margin-top:8px;padding:8px 10px}.edit-panel-original-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary,#64748b);margin-bottom:4px;font-size:10px}.edit-panel-original-value{font-size:12px;font-family:var(--font-mono,monospace);color:var(--text-secondary,#94a3b8);white-space:pre-wrap;word-break:break-word;max-height:72px;overflow:auto}.edit-panel-timestamp{color:var(--text-tertiary,#64748b);border-top:1px solid var(--border-subtle,#1e293b);margin-top:12px;padding-top:12px;font-size:10px}.edit-panel-actions{border-top:1px solid var(--border-color,#334155);background:var(--bg-surface,#0f172a);flex-wrap:wrap;gap:8px;padding:9px 16px;display:flex}.edit-panel-compact-status{color:var(--accent-amber,#f59e0b);text-transform:uppercase;border:1px solid #f59e0b52;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:700;line-height:1}.edit-panel-footer-actions{border-top:1px solid var(--border-color,#334155);padding:16px}@media (width<=700px){.reports-editor{padding:10px}.reports-card-scroll{padding:12px}.reports-edit-dock{max-height:48vh}.edit-panel-title-row,.edit-panel-header-actions{align-items:stretch}.edit-panel-title-row{gap:8px}.edit-panel-heading{grid-template-columns:1fr;gap:3px}.edit-panel-block-id{grid-column:1;display:none}.edit-panel-header-actions{flex-wrap:wrap;justify-content:flex-end}.edit-panel-type-badge{width:fit-content}}@keyframes slideInBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.reports-editor-topbar{flex-direction:column;align-items:stretch}.reports-actions{flex-wrap:wrap;justify-content:flex-start}}.wpt-label{color:#0d1b2e!important;box-shadow:none!important;text-shadow:0 0 4px #fffffff2,0 0 2px #fffffff2!important;letter-spacing:.3px!important;white-space:nowrap!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0 2px!important;font-family:Inter,sans-serif!important;font-size:10px!important;font-weight:700!important}.wpt-label:before{display:none!important}.route-map-label-icon{pointer-events:none!important}.route-map-label{display:inline-block!important}.map-pnr-label{color:#0f172a!important;box-shadow:none!important;letter-spacing:0!important;white-space:nowrap!important;text-shadow:0 0 3px #fffffffa,0 0 2px #fffffffa!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0 2px!important;font-family:Inter,sans-serif!important;font-size:9px!important;font-weight:700!important;line-height:1!important}.map-pnr-label:before{display:none!important}.map-pnr-label-ed,.map-pnr-label-eodd{color:#000!important}.map-pnr-annotation-label-icon{pointer-events:none!important;background:0 0!important;border:none!important}.map-pnr-annotation-label{color:#b00000;letter-spacing:0;white-space:nowrap;text-shadow:0 0 2px #fffffff5,0 0 1px #fffffff5;flex-direction:column;align-items:flex-start;font-family:Inter,sans-serif;font-size:10px;font-weight:700;line-height:1.05;display:inline-flex}.map-pnr-annotation-label-line{display:block}.map-pnr-annotation-label-line-final{border-bottom:1.5px solid;padding-bottom:1px}.wpt-triangle-icon{cursor:pointer;background:0 0!important;border:none!important}.navaid-icon{background:0 0!important;border:none!important}.aero-toolbar{z-index:1000;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:4px;flex-direction:column;display:flex;position:absolute;top:52px;right:12px;overflow:visible;box-shadow:0 1px 5px #000000a6}.aero-tb-btn{background:var(--bg-elevated);border:none;border-bottom:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:relative}.aero-tb-btn:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.aero-tb-btn:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.aero-tb-btn:hover{background:var(--bg-card);color:var(--text-primary)}.aero-tb-btn.active{background:var(--bg-secondary)}.aero-tb-popup{background:var(--bg-elevated);border:1px solid var(--border-subtle);white-space:nowrap;border-radius:4px;gap:4px;margin-right:8px;padding:4px;display:flex;position:absolute;top:0;right:100%;box-shadow:0 1px 5px #000000a6}.aero-detail-popup{flex-direction:column;align-items:stretch;gap:5px;min-width:132px;padding:6px}.aero-detail-popup-title{color:var(--text-secondary);letter-spacing:0;padding:0 2px;font-size:10px;font-weight:700}.aero-detail-segmented{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:2px;display:grid}.aero-detail-option{width:28px;min-width:0;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0;position:relative}.aero-detail-option:hover{color:var(--text-primary);background:var(--bg-card)}.aero-detail-option.active{color:var(--text-primary);background:var(--accent-primary)}.aero-detail-density-icon{grid-template-rows:repeat(2,5px);grid-template-columns:repeat(2,5px);justify-content:center;align-items:center;gap:3px;width:13px;height:13px;display:grid}.aero-detail-density-icon span{opacity:.22;background:currentColor;border-radius:50%;width:5px;height:5px}.aero-detail-density-icon span.active{opacity:1}.aero-basemap-btn{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:relative;overflow:hidden}.aero-basemap-btn img{object-fit:cover;width:100%;height:100%;display:block}.aero-basemap-btn:hover{transform:scale(1.05);box-shadow:0 2px 5px #0006}.aero-basemap-btn.active{border-color:var(--accent)}.aero-popup .leaflet-popup-content-wrapper{background:var(--bg-elevated)!important;color:var(--fg-primary)!important;border-radius:var(--radius-md)!important;border:1px solid var(--border-subtle)!important;box-shadow:0 4px 16px #00000059!important}.aero-popup .leaflet-popup-tip{background:var(--bg-elevated)!important;border:1px solid var(--border-subtle)!important}.aero-popup .leaflet-popup-content{font-family:var(--font-ui)!important;font-size:var(--text-xs)!important;margin:8px 12px!important;line-height:1.45!important}.aero-popup-title{font-weight:700;font-size:var(--text-sm);color:var(--fg-primary);margin-bottom:4px}.aero-popup-row{gap:6px;margin-bottom:3px;display:flex}.aero-popup-code{background:var(--accent);color:#fff;letter-spacing:.5px;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.aero-popup-navtype{color:#fff;background:#7c3aed;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.aero-popup-freq{color:var(--fg-secondary);font-family:JetBrains Mono,monospace;font-size:11px}.aero-popup-detail{color:var(--fg-secondary);margin-top:2px;font-size:10px}.aero-popup-type{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:9px}.aero-label{white-space:nowrap!important;pointer-events:none!important;text-shadow:0 0 4px #fffffff2,0 0 2px #fffffff2!important;letter-spacing:.3px!important;background:0 0!important;border:none!important;font-family:Inter,sans-serif!important;font-size:10px!important;font-weight:700!important}.ddpro-map-draw-mode,.ddpro-map-draw-mode *{cursor:crosshair!important}.ddpro-map-draw-mode .leaflet-marker-pane,.ddpro-map-draw-mode .leaflet-tooltip-pane,.ddpro-map-draw-mode .leaflet-popup-pane,.ddpro-map-draw-mode .leaflet-overlay-pane,.ddpro-map-draw-mode .leaflet-shadow-pane,.ddpro-map-draw-mode .aero-waypoint-pane,.ddpro-map-draw-mode .aero-pnr-pane,.ddpro-map-draw-mode .aero-airport-pane,.ddpro-map-draw-mode .aero-navaid-pane,.ddpro-map-draw-mode .leaflet-aero-waypoint-pane,.ddpro-map-draw-mode .leaflet-aero-pnr-pane,.ddpro-map-draw-mode .leaflet-aero-airports-pane,.ddpro-map-draw-mode .leaflet-aero-navaids-pane{pointer-events:none!important}.aero-label-airport{color:#0d1b2e!important}.aero-label-navaid{color:#1e1235!important;font-family:JetBrains Mono,monospace!important;font-size:9px!important}.sidebar-header{padding:var(--space-lg) var(--space-lg);border-bottom:1px solid var(--border-subtle);align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.sidebar-header-collapsed{padding:var(--space-md) 0;justify-content:center;gap:0}.sidebar-header .logo{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.5px;font-weight:700}.sidebar-header .logo-accent{color:var(--accent-amber)}.sidebar-header .badge{font-size:var(--text-xs);color:var(--accent-cyan);border-radius:var(--radius-sm);letter-spacing:.5px;text-transform:uppercase;background:#1ad1e61a;border:1px solid #1ad1e633;padding:2px 6px;font-weight:500}.panel{padding:var(--space-lg);border-bottom:1px solid var(--border-subtle)}.panel-title{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-md);font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:1px solid #0000;width:100%;height:36px;font-weight:500;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.btn-primary:hover:not(:disabled){background:var(--accent-blue-hover);box-shadow:0 0 16px #1f8fff40}.btn-amber{background:var(--accent-amber);color:#0e121b;border-color:var(--accent-amber)}.btn-amber:hover:not(:disabled){background:var(--accent-amber-hover);box-shadow:0 0 16px #f6a82340}.btn-ghost{color:var(--text-secondary);border-color:var(--border-default);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn-sm{height:28px;padding:var(--space-xs) var(--space-md);font-size:var(--text-sm)}.input-group{margin-bottom:var(--space-md)}.input-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-xs);font-weight:500;display:block}.input-field{width:100%;height:32px;padding:0 var(--space-sm);background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);transition:border-color var(--transition-fast)}.input-field:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px var(--accent-blue-muted);outline:none}.input-field::placeholder{color:var(--text-disabled)}select.input-field{cursor:pointer;font-family:var(--font-body)}.file-upload{border:2px dashed var(--border-default);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;cursor:pointer;transition:all var(--transition-base);outline:none;display:block;position:relative}.file-upload:hover,.file-upload.drag-over,.file-upload:focus-within{border-color:var(--accent-blue);background:var(--accent-blue-muted)}.file-upload input[type=file]:focus{outline:none}.file-upload input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.file-upload-text{font-size:var(--text-sm);color:var(--text-secondary)}.file-upload-icon{margin-bottom:var(--space-xs);font-size:1.5rem}.csv-hint{margin:0 0 var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-secondary)}.csv-hint-title{color:var(--text-secondary);margin-top:4px}.csv-hint-title:first-child{margin-top:0}.csv-hint code{font-family:var(--font-mono);color:var(--text-primary);padding:2px 0;display:block}.waypoint-list{max-height:180px;margin-top:var(--space-sm);list-style:none;overflow-y:auto}.waypoint-item{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);transition:background var(--transition-fast);display:flex}.waypoint-item:hover{background:var(--bg-hover)}.waypoint-list-compact .waypoint-item-compact{padding:2px var(--space-sm);font-size:var(--text-xs)}.waypoint-list-compact .waypoint-item-compact:hover .waypoint-row-actions,.waypoint-list-compact .waypoint-item-compact.is-selected .waypoint-row-actions,.waypoint-list-compact .waypoint-item-compact.is-renaming .waypoint-row-actions{opacity:1!important}.waypoint-row-actions button:hover{border-radius:2px;background:#ffffff0f!important}.waypoint-index{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);min-width:18px}.waypoint-name{color:var(--text-primary);font-weight:500;font-family:var(--font-mono)}.waypoint-coords{font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono);margin-left:auto}.route-stats{gap:var(--space-sm);margin-top:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.stat-card{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.stat-value{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.stat-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.status-bar{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-top:var(--space-md);display:flex}.status-bar.pending{background:var(--accent-amber-muted);color:var(--accent-amber)}.status-bar.running{background:var(--accent-blue-muted);color:var(--accent-blue)}.status-bar.completed{background:var(--accent-green-muted);color:var(--accent-green)}.status-bar.failed{background:var(--accent-red-muted);color:var(--accent-red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-bar.running .status-dot{animation:1.5s ease-in-out infinite pulse}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%)translateY(-16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.global-toast{z-index:9999;color:#fbd99d;border-radius:var(--radius-lg);font-size:var(--text-sm);font-family:var(--font-body);pointer-events:none;white-space:nowrap;background:#624004f2;border:1px solid #f6a82380;padding:10px 20px;font-weight:500;animation:.2s forwards toastSlideIn;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000080}.disclaimer{padding:var(--space-sm) var(--space-lg);background:var(--bg-surface);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-tertiary);text-align:center}.disclaimer strong{color:var(--accent-amber)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.leaflet-container{width:100%;height:100%;background:var(--bg-base)!important}.export-row{gap:var(--space-sm);display:flex}.export-row .btn{flex:1}.wind-table{gap:var(--space-xs);grid-template-columns:1fr 1fr;display:grid}.wind-table .input-label{font-size:var(--text-xs)}.empty-state{height:100%;color:var(--text-tertiary);justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl);flex-direction:column;display:flex}.empty-state-icon{opacity:.3;font-size:3rem}.empty-state-text{font-size:var(--text-md);text-align:center;max-width:280px;line-height:1.6}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#090b11bf;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-xl);width:380px;max-width:90vw;box-shadow:var(--shadow-lg);animation:.2s slideUp}.modal-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--text-lg);color:var(--text-primary)}.modal-close{color:var(--text-tertiary);font-size:var(--text-lg);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:4px 8px}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.escape-panel{padding:var(--space-md);flex:1;animation:.15s fadeIn;overflow-y:auto}.escape-panel-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.escape-mode-tabs{margin-bottom:var(--space-md);background:var(--bg-base);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.escape-mode-tab{color:var(--text-tertiary);font-size:var(--text-xs);font-family:var(--font-body);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;flex:1;padding:6px 8px;font-weight:500}.escape-mode-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.escape-mode-tab.active{background:var(--accent-blue-muted);color:var(--accent-blue)}.tree-view{flex:1;padding:0 0 12px;overflow-y:auto}.side-panel-project-row{align-items:center;padding:9px 12px 7px;display:flex}.side-panel-field-block{border-bottom:1px solid #ffffff09;padding:7px 8px 10px}.side-panel-field-header{align-items:center;gap:6px;margin-bottom:5px;display:flex}.side-panel-kicker{color:var(--text-tertiary);letter-spacing:.06em;flex:1;font-size:10px;font-weight:700}.side-panel-project-row .side-panel-kicker{flex:none;margin-right:8px}.side-panel-ghost-action{color:#94a3b8ad;cursor:pointer;opacity:.72;transition:color var(--transition-fast), opacity var(--transition-fast);background:0 0;border:0;padding:0 2px;font-size:10px}.side-panel-ghost-action:hover{color:var(--text-secondary);opacity:1}.side-panel-meta{color:#97a3b885;font-family:var(--font-mono);margin-top:4px;font-size:9px;font-weight:400}.tree-node{border-radius:var(--radius-sm);--tree-accent:var(--accent-cyan);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);-webkit-user-select:none;user-select:none;background:0 0;border-left:2px solid #0000;align-items:center;gap:6px;margin:0 6px;padding:6px 8px;display:flex}.tree-node:hover{color:var(--text-primary);background:#ffffff09}.tree-node-active{border-left-color:var(--tree-accent);color:var(--text-primary);background:#ffffff0e}.tree-node-dimmed{color:#94a3b861}.tree-node-dimmed .tree-badge,.tree-node-dimmed .tree-icon{opacity:.58}.tree-leaf{font-size:var(--text-xs)}.tree-arrow{color:var(--text-tertiary);text-align:center;flex-shrink:0;width:10px;font-size:8px;transition:transform .12s}.tree-arrow-open{transform:rotate(90deg)}.tree-arrow-spacer{flex-shrink:0;width:10px}.tree-icon{font-size:var(--text-sm);text-align:center;flex-shrink:0;width:16px}.tree-label{font-weight:inherit;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-sublabel{color:#94a3b873;font-size:10px;font-family:var(--font-mono);white-space:nowrap;flex-shrink:0;margin-left:6px}.tree-depth-2 .tree-label{color:var(--text-secondary);font-weight:450}.tree-badge{color:var(--text-secondary);border-radius:var(--radius-sm);font-size:9px;font-family:var(--font-mono);background:#ffffff0b;border:1px solid #ffffff0e;flex-shrink:0;padding:1px 5px;font-weight:500;line-height:14px}.tree-node-active .tree-badge,.tree-section>.tree-node .tree-badge{color:var(--tree-accent)}.tree-actions{flex-shrink:0;gap:2px;display:flex}.tree-action-btn{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;opacity:.32;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:12px;display:flex}.tree-node:hover .tree-action-btn,.tree-node-active .tree-action-btn,.tree-action-btn:focus-visible{opacity:1}.tree-depth-2 .tree-action-btn{opacity:0}.tree-action-btn:hover{color:var(--text-primary);background:#ffffff0e;border-color:#ffffff17}.tree-action-btn-active{background:var(--accent-amber-muted);border-color:var(--accent-amber);color:var(--accent-amber)}.tree-delete{color:var(--text-tertiary);cursor:pointer;font-size:var(--text-xs);opacity:0;transition:opacity var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:0 2px}.tree-node:hover .tree-delete{opacity:1}.tree-delete:hover{color:var(--accent-red)}.escape-route-btns{opacity:0;gap:2px;max-width:0;transition:max-width .15s,opacity .15s;display:flex;overflow:hidden}.tree-node:hover .escape-route-btns,.tree-node-active .escape-route-btns{opacity:1;max-width:46px}.section-visibility-toggle{cursor:pointer;opacity:.6;justify-content:center;align-items:center;width:20px;height:20px;margin-right:4px;transition:opacity .15s;display:flex}.section-visibility-toggle:hover{opacity:1}.section-visibility-checkbox{cursor:pointer;accent-color:var(--accent-blue);margin:0}.tree-hint{font-size:var(--text-xs);color:var(--text-tertiary);padding:5px 8px;font-style:italic}.tree-hint-active{color:var(--accent-amber);font-style:normal;font-weight:500}.eo-card-header:hover .eo-card-edit-btn{opacity:1!important}.eo-card-edit-btn:hover{color:#93c5fde6!important}g.dg-d,g.dg-r,g.eo-curve,g.pnr-item{transition:opacity .1s}g.profile-hover-dimmed{opacity:.12}g.pnr-item.profile-hover-dimmed{opacity:.35}g.profile-hover-active path.descent-vis,g.profile-hover-active path.eo-vis{stroke-width:4.5px}g.profile-hover-active rect.pnr-sep{width:2.5px}g.profile-hover-active text.pnr-label{fill:#fff}g.profile-hover-active{filter:url(#profile-glow)}.pnr-snap-preview{pointer-events:none}.pnr-snap-band{fill:#60a5fa2e}.pnr-snap-dot{fill:#60a5fa;stroke:#fff;stroke-width:1.5px}.pnr-snap-label{fill:#1d4ed8;paint-order:stroke;stroke:#ffffffe6;stroke-width:3px;font-size:10px;font-weight:800}.tree-children{margin-top:4px;position:relative}.tree-children:before{content:"";pointer-events:none;background:#94a3b81f;width:1px;position:absolute;top:0;bottom:2px;left:31px}.tree-children .tree-children:before{background:#94a3b817;left:47px}.tree-section{margin-top:14px}.tree-section>.tree-node{color:var(--text-secondary);letter-spacing:0;margin:0 8px;padding-top:8px;padding-bottom:8px;font-size:12.5px}.tree-section>.tree-node-top-level{border-radius:var(--radius-md);min-height:36px;color:var(--text-secondary);letter-spacing:0;opacity:1;background:#ffffff07;border-left:0;margin:0 8px;padding:8px 8px 8px 14px;font-size:12.5px;font-weight:650;line-height:16px;position:relative}.tree-section>.tree-node-top-level:before{content:"";background:var(--tree-accent);opacity:.9;border-radius:2px;flex:0 0 3px;order:-1;align-self:stretch;width:3px;min-height:20px}.tree-section>.tree-node-top-level:hover{color:var(--text-secondary);background:#ffffff0b}.tree-section>.tree-node-top-level.tree-node-active{color:var(--text-secondary);background:#ffffff0f}.tree-section>.tree-node-top-level.tree-node-dimmed:not(:hover):not(.tree-node-active){color:var(--text-secondary);background:#ffffff07}.tree-section>.tree-node-top-level.tree-node-dimmed:not(:hover):not(.tree-node-active):before{opacity:.9}.tree-section>.tree-node-top-level .tree-arrow,.tree-section>.tree-node-top-level .tree-arrow-spacer{width:10px}.tree-section>.tree-node-top-level .tree-icon{width:16px;font-size:var(--text-sm);color:currentColor;opacity:1}.tree-section>.tree-node-top-level .tree-arrow,.tree-section>.tree-node-top-level .tree-arrow-spacer{color:currentColor;opacity:1}.tree-section>.tree-node-top-level .tree-label{color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;opacity:1}.tree-section>.tree-node-top-level .tree-badge{text-align:center;min-width:22px;color:var(--tree-accent)}.tree-depth-0{font-weight:700}.tree-depth-1{font-weight:550}.tree-depth-2{font-weight:400}.tree-view>.tree-section:first-of-type{margin-top:0}.tree-section>.tree-node.tree-node-active:not(.tree-node-top-level){background:#ffffff0a}.tree-section-collapsed>.tree-node:not(.tree-node-active){color:var(--text-tertiary)}.tree-section .tree-badge{font-size:9px}.tree-node.escape-group-node{color:var(--text-secondary);font-weight:550}.tree-node.escape-group-node .tree-label{color:inherit;font-weight:inherit}.tree-node.escape-group-node .tree-icon{opacity:.82}.tree-node.escape-segment-node{color:#e2e8f0c2}.tree-node.escape-segment-node .tree-label{color:#e2e8f0c2;font-weight:520}.tree-node.escape-segment-node .tree-icon,.tree-node.escape-segment-node .tree-badge{opacity:.68}.tree-node.escape-route-node{color:#cbd5e1ad}.tree-node.escape-route-node .tree-label{color:#cbd5e1ad;font-weight:500}.tree-node.escape-route-node .tree-icon{opacity:.72}.tree-node.escape-group-node:hover,.tree-node.escape-segment-node:hover,.tree-node.escape-route-node:hover,.tree-node.escape-group-node:hover .tree-label{color:#e2e8f0c7}.tree-node.escape-segment-node:hover .tree-label{color:#f8fafcdb}.tree-node.escape-route-node:hover .tree-label{color:#e2e8f0c7}.tree-node.escape-group-node.tree-node-active,.tree-node.escape-segment-node.tree-node-active,.tree-node.escape-route-node.tree-node-active{background:#ffffff09}.tree-node.escape-route-node.tree-node-active .tree-label{color:#e2e8f0d1}.profile-card{--profile-accent:var(--accent-cyan);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;margin:5px 8px 0 56px}.profile-card:hover{background:#ffffff09}.profile-card-active{background:#ffffff0f}.profile-card-content{align-items:center;gap:9px;min-width:0;padding:4px 8px;display:flex}.profile-card-swatch{background:var(--profile-accent);opacity:.95;border-radius:2px;flex-shrink:0;width:3px;height:20px}.profile-card-text{flex:1;min-width:0;overflow:hidden}.profile-card-title{color:#e2e8f0c2;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:520;line-height:16px;overflow:hidden}.profile-card:hover .profile-card-title,.profile-card-active .profile-card-title{color:#f8fafcdb}.profile-card-meta{color:#cbd5e1bd;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;font-weight:450;line-height:13px;overflow:hidden}.profile-card-pnr{color:#cbd5e1ad;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;margin-top:2px;font-size:10px;font-weight:500;line-height:13px;display:flex;overflow:hidden}.profile-card-pnr:hover,.profile-card-pnr-active{color:#e2e8f0d1}.profile-card-pnr>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile-pnr-link-badge{color:#e2e8f0b8;cursor:pointer;background:#94a3b814;border:1px solid #94a3b833;border-radius:999px;flex-shrink:0;padding:2px 5px;font-size:9px;font-weight:600;line-height:1}.profile-pnr-link-badge:hover{color:#f8fafce0;background:#94a3b824}.profile-card-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.profile-card-action{border-radius:var(--radius-sm);width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;opacity:.14;transition:background var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;font-size:11px;line-height:1;display:flex}.profile-card:hover .profile-card-action,.profile-card-active .profile-card-action,.profile-card:focus-within .profile-card-action{opacity:.95}.profile-card-action:hover{color:var(--text-primary);background:#ffffff0e}.profile-card-action-edit:hover{color:var(--accent-blue-hover)}.profile-card-action-text{width:auto;min-width:34px;padding:0 5px;font-size:9px;font-weight:650}.profile-card-action:disabled{cursor:not-allowed;opacity:.08}.chart-status-bar{background:var(--bg-surface);border-top:1px solid var(--border-subtle);height:24px;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;align-items:center;padding:0 12px;display:flex;overflow:hidden}.chart-banner{z-index:5;font-size:var(--text-xs);pointer-events:none;justify-content:center;align-items:center;padding:4px 12px;font-weight:500;display:flex;position:absolute;top:0;left:0;right:0}.chart-banner-amber{color:#f59e0b;background:#f59e0b1f;border-bottom:1px solid #f59e0b4d}.chart-banner-red{color:#ef4444;background:#ef44441a;border-bottom:1px solid #ef44444d}.chart-banner-teal{color:#2dd4bf;background:#14b8a61a;border-bottom:1px solid #14b8a64d}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.15s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);flex-direction:column;max-height:85vh;animation:.2s ease-out modalSlideIn;display:flex;overflow:hidden;box-shadow:0 16px 48px #0009}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-title{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.modal-close-btn{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:4px;font-size:16px}.modal-close-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-body{flex:1;min-height:0;padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.modal-radio-group{flex-direction:column;gap:8px;margin:12px 0;display:flex}.modal-radio-option{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:10px;padding:10px 14px;display:flex}.modal-radio-option:hover:not(.disabled){border-color:var(--border-strong);background:var(--bg-surface)}.modal-radio-option.selected{border-color:var(--accent-blue);background:var(--accent-blue-muted)}.modal-radio-option.disabled{opacity:.45;cursor:not-allowed}.modal-radio-dot{border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.modal-radio-option.selected .modal-radio-dot{border-color:var(--accent-blue)}.modal-radio-option.selected .modal-radio-dot:after{content:"";background:var(--accent-blue);border-radius:50%;width:8px;height:8px}.modal-radio-label{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.modal-radio-sublabel{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.wizard-step-bar{gap:4px;margin-bottom:16px;display:flex}.wizard-step-indicator{background:var(--border-subtle);height:3px;transition:background var(--transition-base);border-radius:2px;flex:1}.wizard-step-indicator.active{background:var(--accent-blue)}.wizard-step-indicator.done{background:var(--accent-green)}.wizard-step-title{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:12px;font-weight:600}.wizard-actions{justify-content:space-between;gap:8px;margin-top:16px;display:flex}.csv-unit-warning{background:var(--accent-amber-muted);border-radius:var(--radius-md);color:var(--accent-amber);font-size:var(--text-xs);border:1px solid #f6a8234d;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 14px;line-height:1.5;display:flex}.csv-unit-warning-icon{flex-shrink:0;font-size:16px}.csv-preview-table{border-collapse:collapse;width:100%;font-size:var(--text-xs);font-family:var(--font-mono);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin:8px 0;overflow:hidden}.csv-preview-table th{background:var(--bg-surface);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:6px 10px;font-weight:600}.csv-preview-table td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:4px 10px}.csv-preview-table tr:last-child td{border-bottom:none}.csv-preview-table tr:nth-child(2n) td{background:#ffffff05}.validation-errors{flex-direction:column;gap:4px;margin-top:8px;display:flex}.validation-error{background:var(--accent-red-muted);border-radius:var(--radius-sm);color:var(--accent-red);font-size:var(--text-xs);border:1px solid #df3a3a4d;align-items:flex-start;gap:6px;padding:6px 10px;line-height:1.4;display:flex}.validation-warning{background:var(--accent-amber-muted);border-radius:var(--radius-sm);color:var(--accent-amber);font-size:var(--text-xs);border:1px solid #f6a82340;align-items:flex-start;gap:6px;padding:6px 10px;line-height:1.4;display:flex}.validation-success{background:var(--accent-green-muted);border-radius:var(--radius-sm);color:var(--accent-green);font-size:var(--text-xs);border:1px solid #26c57b40;align-items:center;gap:6px;padding:6px 10px;display:flex}.profile-placeholder{padding:var(--space-3xl) var(--space-xl);color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.profile-placeholder-icon{opacity:.5;font-size:32px}.profile-placeholder-text{font-size:var(--text-sm);line-height:1.6}.eolib-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#000000b3;justify-content:center;align-items:center;animation:.2s eolib-fade-in;display:flex;position:fixed;inset:0}@keyframes eolib-fade-in{0%{opacity:0}to{opacity:1}}.eolib-shell{border-radius:var(--radius-xl);background:#11141d;border:1px solid #272b35;flex-direction:column;width:92vw;max-width:1080px;height:82vh;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #0009,inset 0 0 0 1px #ffffff08}.eolib-titlebar{background:#131720;border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 16px;display:flex}.eolib-titlebar-left{font-family:var(--font-ui);color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.eolib-titlebar-diamond{width:16px;height:16px;color:var(--accent-amber);justify-content:center;align-items:center;font-size:14px;display:flex}.eolib-close-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:14px;display:flex}.eolib-close-btn:hover{color:var(--text-primary);background:#ffffff0f;border-color:#ffffff14}.eolib-body{flex:1;display:flex;overflow:hidden}.eolib-panel-1{background:#131720;border-right:1px solid #ffffff0d;flex-direction:column;flex-shrink:0;width:240px;display:flex}.eolib-panel-2{background:#151923;border-right:1px solid #ffffff0d;flex-direction:column;flex-shrink:0;width:300px;display:flex}.eolib-panel-3{background:#181c25;flex-direction:column;flex:1;display:flex}.eolib-panel-hdr{border-bottom:1px solid #ffffff0d;flex-shrink:0;padding:12px 14px 10px}.eolib-panel-title{font-family:var(--font-ui);color:var(--text-primary);letter-spacing:.02em;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.eolib-panel-subtitle{font-family:var(--font-ui);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;font-size:10px;font-weight:500;overflow:hidden}.eolib-action-row{gap:6px;display:flex}.eolib-btn{height:28px;font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.02em;flex:1;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:600;display:flex}.eolib-btn-outline{color:var(--text-secondary);background:0 0;border:1px solid #ffffff1a}.eolib-btn-outline:hover{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff2e}.eolib-btn-outline:disabled{opacity:.35;cursor:default}.eolib-btn-filled{color:var(--accent-amber);background:#f6a8231f;border:1px solid #f6a82333}.eolib-btn-filled:hover{background:#f6a82333;border-color:#f6a82359}.eolib-btn-filled:disabled{opacity:.35;cursor:default}.eolib-btn-ghost{color:var(--text-tertiary);background:0 0;border:1px solid #ffffff12}.eolib-btn-ghost:hover{color:var(--text-secondary);background:#ffffff0d;border-color:#ffffff24}.eolib-btn-danger{color:#e87373;background:#db24241f;border:1px solid #db242438}.eolib-btn-danger:hover{background:#db242438;border-color:#db242461}.eolib-list{flex:1;padding:4px 0;overflow-y:auto}.eolib-section-hdr{font-family:var(--font-ui);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;z-index:1;background:#131720;align-items:center;gap:8px;padding:8px 14px 4px;font-size:9px;font-weight:700;display:flex;position:sticky;top:0}.eolib-section-hdr:after{content:"";background:linear-gradient(90deg,#ffffff14,#0000);flex:1;height:1px}.eolib-family-card{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border-left:3px solid #0000;align-items:center;gap:8px;margin:1px 6px;padding:8px 10px 8px 12px;display:flex;position:relative}.eolib-family-card:hover{background:#ffffff08;border-left-color:#f6a8234d}.eolib-family-card.selected{border-left-color:var(--accent-amber);background:#ffffff0d}.eolib-family-card .fc-aircraft-row{align-items:center;gap:5px;min-width:0;display:flex}.eolib-family-card .fc-aircraft{font-family:var(--font-ui);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.2;overflow:hidden}.eolib-family-card.selected .fc-aircraft{color:#fff}.eolib-family-card .fc-edit{cursor:pointer;color:#93c5fd;opacity:.35;transition:opacity var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:1px 3px;font-size:13px;line-height:1}.eolib-family-card:hover .fc-edit{opacity:1}.eolib-family-card .fc-edit:hover{opacity:1;color:#bfdbfe;background:#93c5fd1f}.eolib-family-card .fc-variant{font-family:var(--font-ui);color:var(--text-tertiary);margin-top:1px;font-size:10px;font-weight:400}.eolib-family-card .fc-badge{font-family:var(--font-data);color:var(--text-tertiary);white-space:nowrap;background:#ffffff0d;border-radius:9px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:500}.eolib-family-card .fc-delete{width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:10px;display:none;position:absolute;top:4px;right:4px}.eolib-family-card:hover .fc-delete{display:flex}.eolib-family-card .fc-delete:hover{color:var(--accent-red);background:#ff3c3c1a}.eolib-case-card{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);border-left:3px solid #0000;margin:2px 8px;padding:10px 10px 8px 28px;position:relative}.eolib-case-card:hover{background:#ffffff08}.eolib-case-card.selected{border-left-color:var(--accent-cyan);background:#00c8dc0d}.eolib-case-card .cc-drag-handle{color:var(--text-tertiary);cursor:grab;opacity:0;transition:opacity var(--transition-fast);-webkit-user-select:none;user-select:none;font-size:12px;line-height:1;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.eolib-case-card:hover .cc-drag-handle{opacity:.45}.eolib-case-card .cc-drag-handle:hover{cursor:grab;opacity:.85!important}.eolib-case-card .cc-drag-handle:active{cursor:grabbing}.eolib-case-card.drag-over{border-left-color:var(--accent-cyan);box-shadow:0 -2px 0 0 var(--accent-cyan);background:#00c8dc14}.eolib-case-card.dragging{opacity:.35}.eolib-case-card .cc-primary{font-family:var(--font-data);color:var(--text-primary);letter-spacing:.03em;margin-bottom:2px;font-size:12px;font-weight:600}.eolib-case-card .cc-source{font-family:var(--font-ui);color:var(--text-tertiary);margin-bottom:6px;font-size:9px;font-weight:400}.eolib-case-card .cc-badges{flex-wrap:wrap;gap:4px;display:flex}.eolib-case-card .cc-actions{align-items:center;gap:1px;display:none;position:absolute;top:4px;right:4px}.eolib-case-card:hover .cc-actions{display:flex}.eolib-case-card .cc-move-btn{width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:8px;display:flex}.eolib-case-card .cc-move-btn:hover:not(:disabled){color:var(--accent-cyan);background:#00c8dc1a}.eolib-case-card .cc-move-btn:disabled{opacity:.2;cursor:default}.eolib-case-card .cc-delete{width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:10px;display:flex}.eolib-case-card .cc-delete:hover{color:var(--accent-red);background:#ff3c3c1a}.eolib-cap-badge{font-family:var(--font-ui);white-space:nowrap;letter-spacing:.01em;border-radius:9px;align-items:center;gap:3px;padding:2px 7px;font-size:9px;font-weight:600;display:inline-flex}.eolib-cap-badge.ok{color:#30d6e8;background:#00c8c814;border:1px solid #00c8c826}.eolib-cap-badge.warn{color:#f7b23b;background:#ffaa0014;border:1px solid #ffaa0026}.eolib-cap-badge.na{color:var(--text-tertiary);background:#ffffff08;border:1px solid #ffffff0f}.eolib-meta-grid{grid-template-columns:1fr 1fr;gap:0;margin-bottom:16px;display:grid}.eolib-meta-row{border-bottom:1px solid #ffffff0a;grid-column:span 1;justify-content:space-between;align-items:baseline;padding:5px 0;display:flex}.eolib-meta-label{font-family:var(--font-ui);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:500}.eolib-meta-val{font-family:var(--font-data);color:var(--text-primary);font-size:11px;font-weight:500}.eolib-cap-row{gap:8px;margin-bottom:12px;display:flex}.eolib-cap-mini{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #ffffff0f;flex:1;padding:10px}.eolib-cap-mini-label{font-family:var(--font-ui);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:9px;font-weight:700}.eolib-cap-mini-status{font-family:var(--font-ui);align-items:center;gap:4px;font-size:10px;font-weight:600;display:flex}.eolib-cap-mini-status.ok{color:#30d6e8}.eolib-cap-mini-status.warn{color:#f7b23b}.eolib-cap-mini-status.na{color:var(--text-tertiary)}.eolib-info-banner{border-radius:var(--radius-md);font-family:var(--font-ui);color:#e0bf85;background:#f6a8230f;border:1px solid #f6a82326;margin-bottom:14px;padding:8px 12px;font-size:10px;font-weight:400;line-height:1.5}.eolib-table{border-collapse:collapse;width:100%;font-family:var(--font-data);font-size:11px}.eolib-table th{text-align:left;font-family:var(--font-ui);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;z-index:1;background:#181c25;border-bottom:1px solid #ffffff14;padding:6px 10px;font-size:9px;font-weight:700;position:sticky;top:0}.eolib-table td{color:var(--text-primary);border-bottom:1px solid #ffffff06;padding:5px 10px}.eolib-table tr:nth-child(2n) td{background:#ffffff03}.eolib-table td.muted{color:var(--text-tertiary)}.eolib-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:32px 24px;display:flex}.eolib-empty-icon{opacity:.25;filter:grayscale(.5);margin-bottom:4px;font-size:36px}.eolib-empty-title{font-family:var(--font-ui);color:var(--text-secondary);font-size:12px;font-weight:600}.eolib-empty-desc{font-family:var(--font-ui);color:var(--text-tertiary);max-width:200px;font-size:10px;font-weight:400;line-height:1.5}.eolib-empty-actions{gap:6px;margin-top:8px;display:flex}.eolib-add-form{background:#151923;border-bottom:1px solid #ffffff0d;flex-direction:column;flex-shrink:0;gap:6px;padding:10px 12px;display:flex}.eolib-add-form input{height:26px;font-family:var(--font-ui);color:var(--text-primary);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff14;outline:none;padding:0 8px;font-size:11px}.eolib-add-form input:focus{border-color:var(--accent-amber)}.eolib-add-form input::placeholder{color:var(--text-tertiary)}.eolib-section-label{font-family:var(--font-ui);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:9px;font-weight:700}.eolib-detail-hdr{border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px 10px;display:flex}.eolib-detail-title{font-family:var(--font-data);color:var(--text-primary);letter-spacing:.02em;font-size:15px;font-weight:600}.eolib-detail-sub{font-family:var(--font-ui);color:var(--text-tertiary);margin-top:2px;font-size:10px;font-weight:400}.eolib-detail-body{flex:1;padding:14px 16px;overflow-y:auto}.eolib-notes-area{resize:vertical;width:100%;min-height:48px;font-family:var(--font-ui);color:var(--text-primary);border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #ffffff14;outline:none;padding:6px 8px;font-size:11px}.eolib-notes-area:focus{border-color:var(--accent-cyan)}.eolib-confirm-row{flex-shrink:0;gap:4px;display:flex}.eolib-confirm-row .del-yes{font-size:9px;font-family:var(--font-ui);background:var(--accent-red);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:2px 8px;font-weight:600}.eolib-confirm-row .del-no{font-size:9px;font-family:var(--font-ui);color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #ffffff1a;padding:2px 8px;font-weight:500}.eolib-case-card .cc-secondary{font-family:var(--font-ui);color:var(--text-secondary);margin-bottom:2px;font-size:10px;font-weight:400}.eolib-case-card .cc-warn{font-family:var(--font-ui);color:#f7b23b;margin-top:2px;font-size:9px;font-weight:500}.eolib-edit-form{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.eolib-edit-row{align-items:center;gap:8px;display:flex}.eolib-edit-label{font-family:var(--font-ui);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;width:90px;font-size:10px;font-weight:500}.eolib-edit-input{height:26px;font-family:var(--font-data);color:var(--text-primary);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff14;outline:none;flex:1;padding:0 8px;font-size:11px}.eolib-edit-input:focus{border-color:var(--accent-cyan)}.eolib-edit-input::placeholder{color:var(--text-tertiary)}.eolib-edit-unit{height:26px;font-family:var(--font-ui);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast);background:#ffffff0f;border:1px solid #ffffff14;outline:none;flex-shrink:0;padding:0 6px;font-size:10px;font-weight:600}.eolib-edit-unit:focus{border-color:var(--accent-cyan)}.eolib-param-hint{font-family:var(--font-ui);color:var(--text-tertiary);margin-top:2px;margin-left:98px;font-size:9px;font-style:italic}.eolib-detail-actions{background:#181c25;border-top:1px solid #ffffff0f;flex-shrink:0;justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.eolib-time-warn{font-family:var(--font-ui);color:#f7b23b;align-items:center;gap:5px;padding:4px 0 6px;font-size:10px;font-weight:500;display:flex}.eolib-family-card .fc-actions{flex-shrink:0;align-items:center;gap:1px;display:none}.eolib-family-card:hover .fc-actions{display:flex}.eolib-family-card .fc-actions button{width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:11px;display:flex}.eolib-family-card .fc-actions .fc-edit:hover{color:var(--accent-cyan);background:#00c8dc1a}.eolib-family-card .fc-actions .fc-delete:hover{color:var(--accent-red);background:#ff3c3c1a}.eolib-case-card .cc-comment{font-family:var(--font-ui);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 28px);font-size:10px;overflow:hidden}.eolib-case-card .cc-no-comment{color:var(--text-tertiary);font-style:italic}.eolib-char-count{font-family:var(--font-ui);color:var(--text-tertiary);text-align:right;font-size:9px}.eolib-char-count.warn{color:#f7b23b}.eolib-meta-grid{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.eolib-dialog-footer{background:#131720;border-top:1px solid #ffffff12;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;height:52px;padding:0 20px;display:flex}.eolib-nav-guard-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:inherit;z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.eolib-nav-guard-dialog{border-radius:var(--radius-lg);background:#141924;border:1px solid #303541;flex-direction:column;gap:12px;width:340px;padding:24px 28px 20px;display:flex;box-shadow:0 12px 40px #00000080}.eolib-nav-guard-title{font-family:var(--font-ui);color:var(--text-primary);letter-spacing:.01em;font-size:13px;font-weight:700}.eolib-nav-guard-msg{font-family:var(--font-ui);color:var(--text-secondary);font-size:11px;line-height:1.5}.eolib-nav-guard-actions{gap:8px;margin-top:4px;display:flex}.eolib-nav-guard-actions .eolib-btn{height:32px;font-size:11px}.dep-controls{font-family:var(--font-ui);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:16px;padding:8px 0 12px;font-size:11px;display:flex}.dep-controls label{cursor:pointer;align-items:center;gap:5px;display:flex}.dep-controls select{height:24px;font-family:var(--font-ui);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;outline:none;padding:0 6px;font-size:11px}.dep-controls select option{color:#e2e8f0;background:#1e2433}.dep-editor-scroll{border-radius:var(--radius-sm);border:1px solid #ffffff12;max-height:310px;margin-bottom:2px;overflow-y:auto}.dep-editor-table{border-collapse:collapse;width:100%;font-family:var(--font-data);font-size:11px}.dep-editor-table thead th{z-index:2;text-align:left;font-family:var(--font-ui);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;background:#191e29;border-bottom:1px solid #ffffff14;padding:5px 8px;font-size:10px;font-weight:600;position:sticky;top:0}.dep-editor-table th.dep-th-num{text-align:right;width:36px}.dep-editor-table th.dep-th-actions{text-align:center;width:76px}.dep-editor-row td{border-bottom:1px solid #ffffff0a;padding:2px 4px}.dep-row-num{text-align:right;width:36px;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;font-size:10px;padding:0 8px 0 4px!important}.dep-cell-input{width:100%;height:26px;color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-data);transition:border-color var(--transition-fast);box-sizing:border-box;background:0 0;border:1px solid #0000;outline:none;padding:0 6px;font-size:11px}.dep-cell-input:focus{border-color:var(--accent-cyan);background:#ffffff08}.dep-cell-input::placeholder{color:var(--text-tertiary)}.dep-row-actions{opacity:0;justify-content:center;gap:2px;transition:opacity .1s;display:flex}.dep-editor-row:hover .dep-row-actions{opacity:1}.dep-row-actions button{width:22px;height:22px;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:10px;display:flex}.dep-row-actions button:hover{color:var(--text-primary);background:#ffffff14}.dep-row-actions button:disabled{opacity:.25;cursor:not-allowed}.dep-row-actions button.dep-del:hover{color:var(--accent-red);background:#ff3c3c1f}.dep-add-row-btn{border-radius:0 0 var(--radius-sm) var(--radius-sm);width:100%;color:var(--text-tertiary);font-family:var(--font-ui);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px dashed #ffffff1a;border-top:none;margin-top:0;padding:5px 0;font-size:10px}.dep-add-row-btn:hover{color:var(--text-primary);background:#ffffff0a}.dep-csv-dropzone{border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);-webkit-user-select:none;user-select:none;background:#63b3ed08;border:1.5px dashed #63b3ed59;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px 16px;display:flex}.dep-csv-dropzone:hover,.dep-csv-dropzone--over{background:#63b3ed12;border-color:#63b3edb3}.dep-csv-dz-icon{color:#63b3ed99;font-size:22px;line-height:1}.dep-csv-dz-primary{font-family:var(--font-ui);color:var(--text-secondary);font-size:12px;font-weight:500}.dep-csv-dz-hint{font-family:var(--font-ui);color:var(--text-tertiary);font-size:10px;font-style:italic}.dep-or-divider{align-items:center;gap:10px;padding:6px 0 2px;display:flex}.dep-or-divider:before,.dep-or-divider:after{content:"";border-top:1px solid #ffffff12;flex:1}.dep-or-divider span{font-family:var(--font-ui);color:var(--text-tertiary);white-space:nowrap;font-size:10px}.dep-section-label{font-family:var(--font-ui);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-top:1px solid #ffffff0f;padding:12px 0 4px;font-size:10px;font-weight:600}.dep-case-id-grid{flex-direction:column;gap:6px;padding:6px 0 8px;display:flex}.dep-case-id-row{align-items:center;gap:10px;display:flex}.dep-case-id-label{width:85px;font-family:var(--font-ui);color:var(--text-secondary);text-align:right;flex-shrink:0;font-size:11px;font-weight:500}.dep-case-id-input{height:28px;color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-data);transition:border-color var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff1a;outline:none;flex:1;padding:0 8px;font-size:12px}.dep-case-id-input:focus{border-color:var(--accent-cyan);background:#ffffff0f}.dep-case-id-input::placeholder{color:var(--text-tertiary);font-family:var(--font-ui);font-size:11px}.dep-validation-bar{background:var(--bg-base);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);font-family:var(--font-ui);flex-direction:column;gap:4px;margin-top:8px;padding:8px 12px;font-size:11px;line-height:1.5;display:flex}.dep-val-hint{color:var(--text-tertiary);font-style:italic}.dep-val-ok{color:#47c3d1}.dep-val-warn{color:var(--accent-amber)}.dep-val-error{color:var(--accent-red)}.dep-val-info{color:var(--text-secondary);font-size:10px}.dep-discard-confirm{border-radius:var(--radius-md);font-family:var(--font-ui);color:var(--text-secondary);background:#dc323214;border:1px solid #dc32324d;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 14px;font-size:12px;animation:.12s ease-out modalFadeIn;display:flex}.btn-danger{color:#ed5e5e;background:#dc323226;border:1px solid #dc32324d}.btn-danger:hover:not(:disabled){color:#f47171;background:#dc323240;border-color:#dc323280}.settings-modal-content{flex-direction:column;flex:1;min-height:0;padding:0 4px;display:flex}.settings-tab-bar{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:14px;padding:4px;display:grid}.settings-panel-scroll{flex:auto;min-height:0;padding-right:4px;overflow-y:auto}.settings-tab-btn{border-radius:var(--radius-sm);min-width:0;height:34px;color:var(--text-secondary);font:600 var(--text-sm) / 1 var(--font-ui);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.settings-tab-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-tab-btn:focus-visible{border-color:var(--accent-blue);box-shadow:0 0 0 2px var(--accent-blue-muted);outline:none}.settings-tab-btn.is-active{background:var(--accent-blue-muted);color:var(--text-primary);border-color:#3b82f659}.settings-tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-section{border-bottom:1px solid var(--border-subtle);margin-bottom:20px;padding-bottom:16px}.settings-section:last-of-type{border-bottom:none}.settings-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 10px;font-size:11px;font-weight:700}.settings-checkbox-group{flex-direction:column;gap:6px;margin-top:6px;display:flex}.settings-checkbox-label{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.settings-checkbox-label input[type=checkbox]{cursor:pointer;width:15px;height:15px}.settings-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-top:8px;padding-top:12px;display:flex}.settings-done-flash{box-shadow:0 0 0 3px var(--accent-blue-muted)}.settings-card-group{border:1px solid var(--border-subtle);background:#ffffff05;border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.settings-card-title{text-transform:uppercase;letter-spacing:.8px;color:var(--accent-blue,#3b82f6);border-bottom:1px solid #3b82f626;align-items:center;gap:7px;margin-bottom:4px;padding-bottom:6px;font-size:11px;font-weight:700;display:flex}.settings-grid-2col{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.settings-report-fields{flex-direction:column;gap:.75rem;display:flex}.settings-readonly-field{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-height:34px;color:var(--text-primary);font-size:var(--text-sm);background:#ffffff06;align-items:center;padding:0 10px;display:flex}.settings-file-picker{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.settings-file-name{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-width:0;min-height:34px;color:var(--text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;background:#ffffff06;align-items:center;padding:0 10px;display:flex;overflow:hidden}.settings-file-button{white-space:nowrap;min-height:34px}.settings-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.settings-logo-preview{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff06;justify-content:center;align-items:center;width:100%;min-height:82px;margin-top:8px;padding:10px;display:flex}.settings-logo-preview img{object-fit:contain;max-width:100%;max-height:96px;display:block}@media (width<=480px){.settings-grid-2col{grid-template-columns:1fr}}.input-group label.input-label{color:var(--text-secondary,#94a3b8);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.input-group .input-field{box-sizing:border-box;width:100%}.settings-input-with-badge{align-items:center;display:flex;position:relative}.settings-field-hint{color:var(--text-tertiary,#64748b);margin:5px 0 0;font-size:11px;line-height:1.35}.settings-toggle-row{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;min-height:42px;transition:background var(--transition-fast), border-color var(--transition-fast);background:#ffffff04;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.settings-toggle-row:hover{background:var(--bg-hover);border-color:var(--border-default)}.settings-toggle-text{flex-direction:column;gap:3px;min-width:0;display:flex}.settings-toggle-label{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.settings-toggle-desc{color:var(--text-tertiary,#64748b);font-size:11px;line-height:1.3}.settings-toggle-switch{background:var(--bg-base);border:1px solid var(--border-default);width:34px;height:20px;transition:background var(--transition-fast), border-color var(--transition-fast);border-radius:999px;flex:none;position:relative}.settings-toggle-switch.is-on{background:var(--accent-blue);border-color:var(--accent-blue)}.settings-toggle-input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.settings-toggle-thumb{background:var(--text-secondary);width:14px;height:14px;transition:background var(--transition-fast), transform var(--transition-fast);pointer-events:none;border-radius:50%;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.settings-toggle-switch.is-on .settings-toggle-thumb{background:#fff;transform:translate(14px,-50%)}.settings-toggle-row:focus-within .settings-toggle-switch{box-shadow:0 0 0 2px var(--accent-blue-muted)}.input-unit-badge{color:var(--text-tertiary,#64748b);pointer-events:none;background:#ffffff0d;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.4;position:absolute;right:10px}.textarea-field{resize:vertical;min-height:60px;font-family:inherit;line-height:1.5}.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;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.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{width:auto;padding:0;max-width:none!important;max-height:none!important}.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:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.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{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.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;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{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{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{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position: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:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.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-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.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{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;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:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;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{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.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{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.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{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.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{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;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{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}._overlay_1tzx4_3{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:9000;background:#000000a6;justify-content:center;align-items:center;animation:.15s _fadeIn_1tzx4_1;display:flex;position:fixed;inset:0}@keyframes _fadeIn_1tzx4_1{0%{opacity:0}to{opacity:1}}._modal_1tzx4_20{background:#1a1d23;border:1px solid #2e3340;border-radius:10px;flex-direction:column;width:720px;max-width:calc(100vw - 32px);max-height:90vh;animation:.18s _slideUp_1tzx4_1;display:flex;overflow:hidden;box-shadow:0 24px 48px #0000008c}@keyframes _slideUp_1tzx4_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}._header_1tzx4_41{background:#22252d;border-bottom:1px solid #2e3340;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}._title_1tzx4_51{color:#e2e8f0;font-size:14px;font-weight:600}._closeBtn_1tzx4_57{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 7px;font-size:15px;line-height:1;transition:color .1s,background .1s}._closeBtn_1tzx4_57:hover{color:#e2e8f0;background:#ffffff12}._progressBar_1tzx4_75{flex-shrink:0;height:3px;display:flex}._progressSeg_1tzx4_81{background:#2e3340;flex:1;transition:background .22s}._progressSeg_1tzx4_81._active_1tzx4_86{background:#4d9ef7}._progressSeg_1tzx4_81._done_1tzx4_87{background:#22c55e}._body_1tzx4_91{flex:1;padding:20px;overflow-y:auto}._stepLabel_1tzx4_99{letter-spacing:.07em;text-transform:uppercase;color:#64748b;margin-bottom:14px;font-size:11px;font-weight:600}._sectionLabel_1tzx4_110{letter-spacing:.08em;text-transform:uppercase;color:#4a5568;margin:14px 0 6px;font-size:10px;font-weight:600}._sectionLabel_1tzx4_110:first-child{margin-top:0}._sourceCards_1tzx4_120{flex-direction:column;gap:8px;display:flex}._sourceCard_1tzx4_120{cursor:pointer;-webkit-user-select:none;user-select:none;background:#22252d;border:1px solid #2e3340;border-radius:8px;align-items:center;gap:14px;padding:13px 16px;transition:border-color .12s,background .12s;display:flex}._sourceCard_1tzx4_120:hover{background:#4d9ef70f;border-color:#4d9ef7}._sourceCard_1tzx4_120:active{background:#4d9ef71a}._sourceCardIcon_1tzx4_146{text-align:center;flex-shrink:0;width:30px;font-size:22px}._sourceCardTitle_1tzx4_153{color:#e2e8f0;margin-bottom:2px;font-size:13px;font-weight:500}._sourceCardDesc_1tzx4_160{color:#64748b;font-size:11px}._dropZone_1tzx4_167{text-align:center;cursor:pointer;border:1.5px dashed #2e3340;border-radius:8px;margin-bottom:16px;padding:16px 20px;transition:border-color .12s,background .12s;position:relative}._dropZone_1tzx4_167:hover,._dropZoneDragging_1tzx4_178{background:#4d9ef70d;border-color:#4d9ef7}._dropZoneHiddenInput_1tzx4_183{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}._dropZoneText_1tzx4_191{color:#64748b;pointer-events:none;font-size:12px}._dropZoneFileName_1tzx4_196{color:#4d9ef7;pointer-events:none;margin-top:3px;font-size:11px}._columnsGrid_1tzx4_203{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:10px;display:grid}._columnBlock_1tzx4_210{flex-direction:column;gap:4px;display:flex}._columnHeader_1tzx4_216{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}._columnLabel_1tzx4_223{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;font-size:10px;font-weight:700}._unitSelect_1tzx4_231{color:#94a3b8;cursor:pointer;background:#1a1d23;border:1px solid #2e3340;border-radius:4px;padding:2px 5px;font-size:10px}._unitSelect_1tzx4_231:focus{border-color:#4d9ef7;outline:none}._naRow_1tzx4_242{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;height:16px;font-size:10px;display:flex}._naRow_1tzx4_242 input{cursor:pointer;accent-color:#4d9ef7}._columnTextarea_1tzx4_254{resize:vertical;color:#e2e8f0;box-sizing:border-box;background:#22252d;border:1px solid #2e3340;border-radius:6px;width:100%;min-height:180px;padding:8px;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:12px;line-height:1.65;transition:border-color .12s}._columnTextarea_1tzx4_254:focus{border-color:#4d9ef7;outline:none}._columnTextarea_1tzx4_254:disabled{opacity:.3;cursor:not-allowed}._rowCount_1tzx4_272{color:#4a5568;text-align:right;font-size:10px}._step2Actions_1tzx4_278{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}._templateBtn_1tzx4_285{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #2e3340;border-radius:5px;padding:4px 10px;font-size:11px;transition:border-color .12s,color .12s}._templateBtn_1tzx4_285:hover{color:#4d9ef7;border-color:#4d9ef7}._validationBar_1tzx4_299{border:1px solid;border-radius:6px;padding:8px 12px;font-size:11px;line-height:1.55}._validationBar_1tzx4_299._ok_1tzx4_306{color:#4ade80;background:#22c55e12;border-color:#22c55e40}._validationBar_1tzx4_299._error_1tzx4_311{color:#f87171;background:#ef444412;border-color:#ef444440}._validationBar_1tzx4_299._warn_1tzx4_316{color:#facc15;background:#eab30812;border-color:#eab30840}._formGroup_1tzx4_324{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}._formLabel_1tzx4_331{color:#94a3b8;font-size:11px;font-weight:500}._formInput_1tzx4_337,._formSelect_1tzx4_338{color:#e2e8f0;box-sizing:border-box;background:#22252d;border:1px solid #2e3340;border-radius:6px;width:100%;padding:9px 12px;font-size:13px;transition:border-color .12s}._formInput_1tzx4_337:focus,._formSelect_1tzx4_338:focus{border-color:#4d9ef7;outline:none}._formInput_1tzx4_337::placeholder{color:#3d4455}._footer_1tzx4_355{background:#22252d;border-top:1px solid #2e3340;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}._btnBack_1tzx4_365{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #2e3340;border-radius:6px;padding:8px 16px;font-size:13px;transition:border-color .12s,color .12s}._btnBack_1tzx4_365:hover{color:#e2e8f0;border-color:#4a5568}._btnPrimary_1tzx4_377{color:#fff;cursor:pointer;background:#4d9ef7;border:none;border-radius:6px;padding:8px 22px;font-size:13px;font-weight:500;transition:background .12s,opacity .12s}._btnPrimary_1tzx4_377:hover:not(:disabled){background:#3b8ef0}._btnPrimary_1tzx4_377:disabled{opacity:.38;cursor:not-allowed}:root{--bg:#1a1d23;--surface:#22252d;--border:#2e3340;--accent:#4d9ef7;--amber:#ef9f27}._overlay_1m7tv_11{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:9100;background:#000000a6;justify-content:center;align-items:center;animation:.14s _fadeIn_1m7tv_1;display:flex;position:fixed;inset:0}@keyframes _fadeIn_1m7tv_1{0%{opacity:0}to{opacity:1}}._modal_1m7tv_28{background:#1a1d23;border:1px solid #2e3340;border-radius:10px;flex-direction:column;width:780px;max-width:calc(100vw - 32px);animation:.17s _slideUp_1m7tv_1;display:flex;overflow:hidden;box-shadow:0 24px 48px #0000008c}@keyframes _slideUp_1m7tv_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}._header_1m7tv_48{background:#22252d;border-bottom:1px solid #2e3340;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}._title_1m7tv_58{color:#e2e8f0;font-size:14px;font-weight:600}._closeBtn_1m7tv_64{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 7px;font-size:15px;line-height:1;transition:color .1s,background .1s}._closeBtn_1m7tv_64:hover{color:#e2e8f0;background:#ffffff12}._panels_1m7tv_82{grid-template-columns:180px 200px 1fr;height:480px;display:grid;overflow:hidden}._panel_1m7tv_82{border-right:1px solid #2e3340;flex-direction:column;display:flex;overflow:hidden}._panel_1m7tv_82:last-child{border-right:none}._panelHeader_1m7tv_97{letter-spacing:.08em;text-transform:uppercase;color:#64748b;border-bottom:1px solid #2e3340;flex-shrink:0;padding:10px 12px 8px;font-size:10px;font-weight:700}._panelList_1m7tv_108{flex:1;overflow-y:auto}._panelList_1m7tv_108::-webkit-scrollbar{width:4px}._panelList_1m7tv_108::-webkit-scrollbar-track{background:0 0}._panelList_1m7tv_108::-webkit-scrollbar-thumb{background:#2e3340;border-radius:2px}._listItem_1m7tv_118{cursor:pointer;border-left:2px solid #0000;padding:9px 12px;transition:background .1s,border-color .1s}._listItem_1m7tv_118:hover{background:#ffffff0a}._listItem_1m7tv_118._selected_1m7tv_126{background:#4d9ef71f;border-left-color:#4d9ef7}._itemTitle_1m7tv_131{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}._itemSub_1m7tv_140{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}._emptyState_1m7tv_151{color:#3d4455;text-align:center;padding:20px 12px;font-size:11px;line-height:1.5}._detail_1m7tv_161{flex-direction:column;display:flex;overflow:hidden}._detailScroll_1m7tv_167{flex:1;padding:12px 14px;overflow-y:auto}._detailScroll_1m7tv_167::-webkit-scrollbar{width:4px}._detailScroll_1m7tv_167::-webkit-scrollbar-track{background:0 0}._detailScroll_1m7tv_167::-webkit-scrollbar-thumb{background:#2e3340;border-radius:2px}._pointsLabel_1m7tv_178{letter-spacing:.07em;text-transform:uppercase;color:#64748b;margin-bottom:6px;font-size:10px;font-weight:700}._pointTable_1m7tv_187{border-collapse:collapse;width:100%;margin-bottom:14px;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:11px}._pointTable_1m7tv_187 th{text-align:left;color:#64748b;letter-spacing:.04em;border-bottom:1px solid #2e3340;padding:4px 6px;font-weight:600}._pointTable_1m7tv_187 td{color:#94a3b8;padding:3px 6px}._pointTable_1m7tv_187 tr:hover td{color:#e2e8f0}._moreRows_1m7tv_211{color:#3d4455;text-align:center;margin-bottom:14px;font-size:10px}._configDivider_1m7tv_220{background:#2e3340;height:1px;margin:2px 0 12px}._configLabel_1m7tv_226{letter-spacing:.07em;text-transform:uppercase;color:#64748b;margin-bottom:8px;font-size:10px;font-weight:700}._radioGroup_1m7tv_235{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}._radioRow_1m7tv_242{cursor:pointer;color:#94a3b8;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:12px;display:flex}._radioRow_1m7tv_242 input[type=radio]{accent-color:#4d9ef7;cursor:pointer}._radioRow_1m7tv_242._checked_1m7tv_255{color:#e2e8f0}._returnFields_1m7tv_257{background:#22252d;border:1px solid #2e3340;border-radius:6px;flex-direction:column;gap:10px;margin-bottom:6px;padding:10px 12px;display:flex}._fieldRow_1m7tv_268{justify-content:space-between;align-items:center;gap:8px;display:flex}._fieldLabel_1m7tv_275{color:#94a3b8;flex:1;font-size:11px}._fieldUnit_1m7tv_281{color:#4a5568;font-size:10px}._fieldInput_1m7tv_286{color:#e2e8f0;text-align:right;background:#1a1d23;border:1px solid #2e3340;border-radius:4px;width:80px;padding:5px 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;transition:border-color .1s}._fieldInput_1m7tv_286:focus{border-color:#4d9ef7;outline:none}._footer_1m7tv_302{background:#22252d;border-top:1px solid #2e3340;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}._btnBack_1m7tv_312{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #2e3340;border-radius:6px;padding:8px 16px;font-size:13px;transition:border-color .1s,color .1s}._btnBack_1m7tv_312:hover{color:#e2e8f0;border-color:#4a5568}._btnConfirm_1m7tv_324{color:#fff;cursor:pointer;background:#4d9ef7;border:none;border-radius:6px;padding:8px 22px;font-size:13px;font-weight:500;transition:background .1s,opacity .1s}._btnConfirm_1m7tv_324:hover:not(:disabled){background:#3b8ef0}._btnConfirm_1m7tv_324:disabled{opacity:.38;cursor:not-allowed}
