:root{--sidebar-width: 400px;--field-detail-width: clamp(320px, 29vw, 430px);--app-height: 100vh;--bg: #000000;--panel: #111827;--panel-2: #0f172a;--line: #2a364a;--text: #e6eef5;--muted: #9db0c2;--primary: #2dd4bf;--primary-2: #16a085;--warn: #ffd38a;--error: #ffb3b3;--body-bg: #000000;--sidebar-bg: linear-gradient(180deg, rgba(12, 18, 30, .97), rgba(17, 24, 39, .94));--title-bg: linear-gradient(130deg, #1c2840, #152238);--input-bg: #121c2d;--switch-bg: #101a2a;--map-bg: #000000;--card-bg: #141f31;--card-bg-hover: #1a283f;--card-bg-active: #213350;--section-status-bg: #121d2e;--section-data-bg: #162338;--msg-error-bg: #1e1014;--msg-warn-bg: #1f1a10;--card-hover-border: #3b4d67;--field-divider: #2a364a;--section-status-border: #314258;--section-data-border: #344861;--msg-error-border: #5f2f39;--msg-warn-border: #665536;--button-bg-1: #1a273c;--button-bg-2: #142135;--button-primary-1: #125f59;--button-primary-2: #0f766e;--button-text: #e6eef5;--menu-bg: #121c2d;--menu-border: #2f425b;--leaflet-panel-bg: rgba(15, 23, 42, .95);--leaflet-panel-text: #e6eef5;--leaflet-panel-border: #334155;--leaflet-link: #6bcfff;--leaflet-edit-icon: #ffffff}:root[data-theme=light]{--bg: #eef4f8;--panel: #f8fbfd;--panel-2: #f2f7fb;--line: #bfd0de;--text: #122434;--muted: #476176;--primary: #0f766e;--primary-2: #0b5f59;--warn: #8a5a00;--error: #9f1d1d;--body-bg: radial-gradient(700px 500px at 10% -10%, #d8e9f8, transparent 60%), radial-gradient(900px 700px at 100% 0%, #e6f1fb, transparent 65%), linear-gradient(160deg, #f7fbff 0%, #edf4fa 100%);--sidebar-bg: linear-gradient(180deg, rgba(248, 251, 253, .97), rgba(242, 247, 251, .92));--title-bg: linear-gradient(130deg, #dbeaf7, #eaf3fb);--input-bg: #ffffff;--switch-bg: #e4edf4;--map-bg: #dbe8f2;--card-bg: #f9fcff;--card-bg-hover: #eef5fb;--card-bg-active: #e7f3f1;--section-status-bg: #eef4f8;--section-data-bg: #f3f8fc;--msg-error-bg: #fde8e8;--msg-warn-bg: #fff7e6;--card-hover-border: #7ba0ba;--field-divider: #b5cadb;--section-status-border: #b4cddd;--section-data-border: #b4c8d7;--msg-error-border: #d79a9a;--msg-warn-border: #d7bf8a;--button-bg-1: #dfeaf3;--button-bg-2: #cfddea;--button-primary-1: #0f766e;--button-primary-2: #0b5f59;--button-text: #122434;--menu-bg: #ffffff;--menu-border: #bfd0de;--leaflet-panel-bg: rgba(255, 255, 255, .96);--leaflet-panel-text: #122434;--leaflet-panel-border: #bfd0de;--leaflet-link: #0b5f59;--leaflet-edit-icon: #000000}*{box-sizing:border-box}body{margin:0;height:var(--app-height);overflow:hidden;font-family:IBM Plex Sans,Segoe UI,Tahoma,sans-serif;color:var(--text);background:var(--body-bg)}.layout{display:grid;grid-template-columns:var(--sidebar-width) 8px 1fr;height:var(--app-height);transition:grid-template-columns .18s ease}.layout.has-field-detail{grid-template-columns:var(--sidebar-width) 8px var(--field-detail-width) minmax(0,1fr)}.sidebar{display:grid;grid-template-columns:1fr;align-content:start;gap:8px;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--line);background:var(--sidebar-bg);padding:16px 8px;container-type:inline-size;container-name:sidebar}.sidebar,#queueStatus,.nofly-list,#advancedSection{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 38%,var(--line) 62%) transparent}.sidebar::-webkit-scrollbar,#queueStatus::-webkit-scrollbar,.nofly-list::-webkit-scrollbar,#advancedSection::-webkit-scrollbar{width:10px;height:10px}.sidebar::-webkit-scrollbar-track,#queueStatus::-webkit-scrollbar-track,.nofly-list::-webkit-scrollbar-track,#advancedSection::-webkit-scrollbar-track{background:color-mix(in srgb,var(--panel) 70%,transparent);border-radius:999px}.sidebar::-webkit-scrollbar-thumb,#queueStatus::-webkit-scrollbar-thumb,.nofly-list::-webkit-scrollbar-thumb,#advancedSection::-webkit-scrollbar-thumb{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 55%,transparent),color-mix(in srgb,var(--primary-2) 55%,transparent));border:2px solid color-mix(in srgb,var(--panel) 75%,transparent);border-radius:999px}.titlebar{margin-bottom:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--title-bg);display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.titlebar h1{margin:0;font-size:22px;letter-spacing:.3px;min-width:0;overflow:hidden;text-overflow:ellipsis}.brand{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;flex-wrap:wrap;min-width:0}.brand-mark{display:flex;align-items:center;gap:10px;min-width:0}.brand-login-btn{margin-top:0;white-space:nowrap}.titlebar-actions{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;justify-content:flex-end}.titlebar-actions button{margin-top:0;min-width:0}.titlebar-actions select{width:auto;min-width:64px;margin-top:0;padding:6px 8px;border-radius:8px}.icon-theme-btn{min-width:40px;padding:6px 0;font-size:16px;line-height:1}.brand-logo{width:36px;height:36px;display:block;object-fit:contain;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);padding:0;background:transparent}.titlebar p{margin:4px 0 0;color:var(--muted);font-size:12px}.panel{margin-bottom:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);min-width:0;overflow:hidden}.build-progress{margin-bottom:2px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 65%,transparent);font-size:12px;color:var(--muted);min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mode-status{margin-bottom:6px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 60%,transparent);font-size:12px;color:var(--muted);min-width:0;overflow-wrap:anywhere}.progress-main,.progress-nofly-text{min-width:0;overflow-wrap:anywhere}.progress-sep{color:color-mix(in srgb,var(--muted) 75%,var(--text) 25%)}.progress-nofly{display:inline-flex;align-items:center;gap:6px;color:var(--text)}.progress-nofly-icon{width:10px;height:10px;border-radius:999px;display:inline-block;flex-shrink:0;background:color-mix(in srgb,var(--muted) 70%,var(--line) 30%);border:1px solid color-mix(in srgb,var(--line) 75%,var(--text) 25%)}.progress-nofly.idle .progress-nofly-icon{background:color-mix(in srgb,var(--muted) 75%,var(--line) 25%)}.progress-nofly.checking .progress-nofly-icon{width:12px;height:12px;border:2px solid color-mix(in srgb,var(--line) 65%,transparent);border-top-color:var(--primary);background:transparent;animation:progress-spin .85s linear infinite}.progress-nofly.done .progress-nofly-icon{background:#17c964;border-color:color-mix(in srgb,#17c964 70%,#0b3f25 30%)}.progress-nofly.partial .progress-nofly-icon{background:#f5a524;border-color:color-mix(in srgb,#f5a524 70%,#5a3908 30%)}.progress-nofly.error .progress-nofly-icon{background:#f31260;border-color:color-mix(in srgb,#f31260 70%,#4a0c28 30%)}@keyframes progress-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sidebar-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;margin-left:0;margin-right:0}.tab-btn{margin-top:0;padding:8px 10px;font-size:12px}.tab-btn.active{border-color:color-mix(in srgb,var(--primary) 70%,var(--line) 30%);background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--text)}.panel-tab{min-height:0;min-width:0}.panel-actions,.panel-fields{max-height:min(70dvh,980px);overflow-y:auto;overflow-x:hidden;padding-right:6px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 55%,var(--line) 45%) color-mix(in srgb,var(--panel) 82%,transparent)}.panel-advanced{max-height:min(70dvh,980px);overflow-x:hidden}.panel-advanced{overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 55%,var(--line) 45%) color-mix(in srgb,var(--panel) 82%,transparent)}.panel-advanced::-webkit-scrollbar,.panel-fields::-webkit-scrollbar{width:10px}.panel-advanced::-webkit-scrollbar-track,.panel-fields::-webkit-scrollbar-track{background:color-mix(in srgb,var(--panel) 82%,transparent);border-radius:999px}.panel-advanced::-webkit-scrollbar-thumb,.panel-fields::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 55%,var(--line) 45%);border-radius:999px;border:2px solid color-mix(in srgb,var(--panel) 82%,transparent)}.panel-advanced::-webkit-scrollbar-thumb:hover,.panel-fields::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 72%,var(--line) 28%)}.panel-actions::-webkit-scrollbar{width:10px}.panel-actions::-webkit-scrollbar-track{background:color-mix(in srgb,var(--panel) 82%,transparent);border-radius:999px}.panel-actions::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 55%,var(--line) 45%);border-radius:999px;border:2px solid color-mix(in srgb,var(--panel) 82%,transparent)}.panel-actions::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 72%,var(--line) 28%)}.fields-footer{margin-top:8px;flex-shrink:0}.fields-panel-shell,.fields-list-view,.fields-mobile-detail,.field-detail-panel{display:grid;gap:10px;align-content:start}.fields-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fields-summary-item{padding:10px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,color-mix(in srgb,var(--panel) 84%,transparent),color-mix(in srgb,var(--card-bg) 92%,transparent));display:grid;gap:4px}.fields-summary-item strong{font-size:18px;line-height:1;color:var(--text)}.fields-summary-item span{font-size:11px;color:var(--muted)}.fields-summary-item.is-open{border-color:color-mix(in srgb,#6f95ad 65%,var(--line) 35%)}.fields-summary-item.is-processing{border-color:color-mix(in srgb,#e6a83f 65%,var(--line) 35%)}.fields-summary-item.is-error{border-color:color-mix(in srgb,#cc6363 65%,var(--line) 35%)}.fields-summary-item.is-done{border-color:color-mix(in srgb,var(--primary) 65%,var(--line) 35%)}.fields-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fields-filter-bar button,.field-detail-toolbar button,.fields-mobile-actions button{margin-top:0}.fields-panel-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.fields-panel-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.fields-arrow-btn{width:auto;min-width:42px;padding-inline:12px;font-size:18px;line-height:1}.fields-panel-actions .queue-meta{margin-top:0;text-align:right}.fields-list{display:grid;gap:8px}.fields-empty{padding:16px 14px;border:1px dashed var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 76%,transparent);color:var(--muted);font-size:12px;overflow-wrap:anywhere}.field-list-row,.field-child-row{margin-top:0;text-align:left;display:grid;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--panel) 88%,transparent),color-mix(in srgb,var(--card-bg) 86%,transparent))}.field-list-row.is-active,.field-child-row.is-active{border-color:color-mix(in srgb,var(--primary) 70%,var(--line) 30%);background:linear-gradient(160deg,color-mix(in srgb,var(--primary) 14%,var(--panel) 86%),color-mix(in srgb,var(--card-bg-active) 88%,transparent));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent 65%) inset}.field-list-top,.field-child-top,.field-detail-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.field-list-name,.field-child-top strong{font-size:13px;font-weight:700;color:var(--text);overflow-wrap:anywhere}.field-list-metrics,.field-list-children,.field-child-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--muted)}.field-list-children{padding-top:4px;border-top:1px dashed color-mix(in srgb,var(--line) 85%,transparent)}.fields-mobile-actions{display:flex;justify-content:flex-start}.panel-advanced{display:grid;align-content:start;gap:8px}.panel h2{margin:0 0 10px;font-size:13px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.nofly-load-status{margin-left:8px;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}.panel h3{margin:10px 0 6px;font-size:12px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}.field{display:grid;gap:6px;margin-bottom:10px;min-width:0}.field span{color:var(--muted);font-size:12px}.field input,.field select,button{width:100%;border-radius:10px;border:1px solid var(--line);background:var(--input-bg);color:var(--text);padding:9px 10px;font-size:13px}.file-input-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:8px 10px;border:1px dashed color-mix(in srgb,var(--primary) 45%,var(--line) 55%);border-radius:10px;background:linear-gradient(150deg,color-mix(in srgb,var(--input-bg) 82%,transparent),color-mix(in srgb,var(--panel) 82%,transparent))}.file-picker-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;margin:0;padding:7px 11px;border-radius:8px;border:1px solid color-mix(in srgb,var(--primary) 60%,var(--line) 40%);background:linear-gradient(130deg,var(--button-primary-1),var(--button-primary-2));color:#f4fffd;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.file-picker-summary{min-width:0;font-size:12px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}button{cursor:pointer;background:linear-gradient(130deg,var(--button-bg-1),var(--button-bg-2));color:var(--button-text);max-width:100%;min-width:0;white-space:normal;line-height:1.2}button:hover{border-color:var(--primary)}button.active{border-color:var(--primary);box-shadow:0 0 0 2px #2dd4bf47 inset}button:disabled{opacity:.5;cursor:not-allowed}button.primary{border-color:color-mix(in srgb,var(--primary) 65%,var(--line) 35%);background:linear-gradient(130deg,var(--button-primary-1),var(--button-primary-2));color:#f4fffd}button.ghost{margin-top:8px;border-style:dashed;background:transparent;color:var(--muted)}button.small{width:auto;margin-top:8px;padding:6px 10px;font-size:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.grid2>*{min-width:0}.action-bar{position:static;display:grid;gap:8px;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 80%,transparent);box-shadow:0 8px 14px #0003}.queue-panel{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 72%,transparent)}.queue-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.queue-panel-head h3{margin:0;font-size:12px}.queue-panel-actions{display:flex;gap:6px;min-width:0}.queue-btn.small{margin-top:0;padding:5px 8px;min-width:max-content;white-space:nowrap}.queue-meta{margin-top:6px;color:var(--muted);font-size:11px}@container sidebar (max-width: 440px){.grid2{grid-template-columns:1fr}.titlebar h1{font-size:19px}.titlebar{flex-wrap:wrap}.titlebar-actions{width:100%;justify-content:flex-start}.sidebar-tabs{grid-template-columns:1fr}.fields-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fields-panel-actions{flex-direction:column;align-items:stretch}.fields-panel-nav{width:100%}.fields-panel-actions .queue-meta{text-align:left}.file-input-row{grid-template-columns:1fr;gap:8px}.file-picker-summary{white-space:normal;overflow-wrap:anywhere}.queue-panel-head{flex-direction:column;align-items:stretch}.queue-panel-actions,.queue-btn.small{width:100%}}@container sidebar (max-width: 700px){.action-bar .grid2{grid-template-columns:1fr}}.stack{display:grid;gap:7px;margin-bottom:10px}.hint{margin:6px 0 0;color:var(--muted);font-size:12px;min-width:0;overflow-wrap:anywhere}.switch{display:flex;align-items:center;gap:8px}.inline-switch{margin:8px 0 2px}.inline-switch .label{font-size:12px}.switch input{display:none}.switch .track{position:relative;width:36px;height:20px;border-radius:999px;background:var(--switch-bg);border:1px solid var(--line)}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .12s ease}.switch input:checked+.track:after{transform:translate(16px);background:var(--primary)}.switch .label{color:var(--muted);font-size:12px}.metrics{margin-top:8px;display:grid;gap:6px}.metrics div{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;gap:8px;min-width:0}.metrics strong{color:var(--text);font-size:13px}.perf-wrap{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}.advanced{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);display:grid;gap:10px;align-content:start;max-height:clamp(260px,58vh,900px);overflow-y:auto;padding-right:4px}.advanced-group{padding:10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 72%,transparent)}.advanced-group>h3{margin:0 0 8px}.advanced-group>.hint{margin-top:0}.server-admin-panel{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 74%,transparent)}.server-admin-panel h4{margin:0;font-size:13px}.server-update-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.server-update-actions .ghost{margin-top:0}.admin-users-panel{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.admin-users-list{display:grid;gap:6px;margin-top:6px}.admin-user-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:8px;background:color-mix(in srgb,var(--panel) 66%,transparent)}.admin-user-meta{min-width:0}.admin-user-email{font-size:12px;color:var(--text);overflow-wrap:anywhere}.admin-user-role{font-size:11px;color:var(--muted)}.server-auth-dialog{border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);width:min(94vw,420px);padding:0}.server-auth-dialog::backdrop{background:#0000008c}.server-auth-form{padding:14px}.server-auth-form h3{margin:0 0 8px;font-size:16px}.server-auth-google-btn{margin-top:10px;min-height:42px}.server-auth-actions{margin-top:10px;display:flex;justify-content:flex-end}.queue{display:grid;gap:6px;font-size:12px;margin:6px 0;padding:8px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 70%,transparent)}#queueStatus{max-height:clamp(160px,34vh,460px);overflow-y:auto;align-content:start}.queue-panel.is-collapsed #queueStatus{display:none}.queue-panel.is-collapsed .queue-meta{margin-bottom:2px}.queue .item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:8px;min-width:0}.nofly-ignore-wrap{margin-top:4px}.nofly-check-actions{display:flex;gap:8px;margin:8px 0 6px}.nofly-run-btn{width:100%}.nofly-ignore-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nofly-ignore-btn{margin-top:0;width:100%;font-size:11px;line-height:1.2;padding:7px 9px}.nofly-ignore-btn.is-active,.nofly-ignore-tag-btn.is-active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 55%,var(--line) 45%)}.nofly-ignore-tag-btn{margin-top:0;width:100%;font-size:11px;line-height:1.2;padding:7px 9px}.nofly-ignore-btn.is-active{background:color-mix(in srgb,var(--panel) 68%,var(--primary) 32%)}.nofly-ignore-tag-btn.is-active{background:color-mix(in srgb,var(--primary) 26%,var(--panel) 74%)}.manual-mission-panel{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 86%,transparent 14%)}.manual-mission-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.manual-mission-head h3{margin:0;font-size:14px;letter-spacing:.4px}.manual-mission-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.manual-mission-meta{min-width:0;display:grid;gap:2px}.manual-mission-name{font-size:12px;font-weight:700;color:var(--text)}.manual-mission-sub{font-size:11px;color:var(--muted)}.manual-mission-actions{display:flex;gap:6px;align-items:center}.manual-mission-actions button{margin:0;width:auto;min-width:0;padding:4px 8px;font-size:11px}#fieldSplitDraftList{max-height:170px;overflow-y:auto}.field-split-draft-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.field-split-draft-row .name{overflow-wrap:anywhere}.field-split-draft-row.is-valid .name{color:#86efac}.field-split-draft-row.is-invalid .name{color:#fca5a5}.field-split-draft-meta{display:block;font-size:11px;color:var(--muted)}.field-split-preview-section,.field-split-preview-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.field-split-preview-section{margin-top:6px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent 18%)}.field-split-preview-row .name{overflow-wrap:anywhere}.field-split-preview-label{background:color-mix(in srgb,var(--panel) 82%,#0f172a 18%);border:1px solid color-mix(in srgb,#6ee7b7 55%,var(--line) 45%);border-radius:999px;box-shadow:none;color:#ecfeff;font-size:11px;font-weight:700;letter-spacing:.01em;padding:4px 8px;white-space:nowrap}.field-split-preview-label:before{display:none}.subfield-map-label{background:transparent;border:none}.subfield-map-label span{align-items:center;background:color-mix(in srgb,var(--panel) 78%,#0f172a 22%);border:1px solid color-mix(in srgb,#6ee7b7 62%,var(--line) 38%);border-radius:999px;box-shadow:0 8px 18px #0f172a47;color:#ecfeff;display:flex;font-size:12px;font-weight:800;height:28px;justify-content:center;min-width:28px;padding:0 7px}.subfield-endpoint-step .badge{min-width:26px;height:24px;font-size:10px;line-height:22px;padding:0 7px}.waypoint-editor-list .item{display:grid;gap:6px}.waypoint-editor-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 88%,transparent 12%)}.waypoint-editor-row.is-selected{border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 50%,transparent 50%) inset}.waypoint-editor-idx{min-width:26px;text-align:center;font-size:11px;color:var(--muted)}.waypoint-editor-coords{min-width:0;font-size:11px;color:var(--text);overflow-wrap:anywhere}.waypoint-editor-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.waypoint-editor-actions .small{margin:0;min-width:0;padding:3px 6px;font-size:10px}.waypoint-editor-status-info{color:var(--muted)}.waypoint-editor-status-warn{color:var(--warn)}.waypoint-editor-status-error{color:var(--error)}.waypoint-relink-options{margin-top:8px}.waypoint-relink-option{display:grid;gap:5px;padding:7px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 84%,transparent 16%)}.waypoint-relink-option.invalid{border-color:color-mix(in srgb,var(--error) 55%,var(--line) 45%)}.waypoint-relink-option.valid{border-color:color-mix(in srgb,var(--primary) 55%,var(--line) 45%)}.waypoint-relink-meta{font-size:11px;color:var(--muted)}.waypoint-selected-ring,.waypoint-move-preview{pointer-events:none}.waypoint-move-handle-marker{width:18px;height:18px;border-radius:50%;background:#14b8a6;border:2px solid #99f6e4;box-shadow:0 0 0 1px #00101873}.field-split-handle{background:transparent;border:0}.field-split-handle-marker{display:block;width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 1px #00101873,0 2px 8px #00000038;cursor:grab}.field-split-handle-marker.is-valid{background:#22c55e;border:2px solid #dcfce7}.field-split-handle-marker.is-invalid{background:#ef4444;border:2px solid #fee2e2}.field-split-handle:active .field-split-handle-marker,.field-split-handle-marker:active{cursor:grabbing}@media(max-width:620px){.nofly-ignore-actions{grid-template-columns:1fr}}.queue .item .name{min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.queue .item .tag{justify-self:end}.tag{font-size:11px;padding:2px 6px;border-radius:6px;border:1px solid var(--line);background:#0b151c}.tag.done{border-color:var(--primary);color:#adf1e8}.tag.queueing{border-color:#6f95ad;color:#b5cada}.tag.queued{border-color:#8a98a4;color:#c3cbd2}.tag.waiting_for_homepoint{border-color:#4fb2ff;color:#b7e2ff}.tag.processing{border-color:#e6a83f;color:var(--warn)}.tag.warning{border-color:#d08f2f;color:#ffd38a}.tag.error{border-color:#cc6363;color:var(--error)}.tag.split{border-color:color-mix(in srgb,#67e8f9 60%,var(--line) 40%);color:color-mix(in srgb,#bafcff 85%,var(--text) 15%)}.error-text,.warn-text,.duration-text{font-size:11px;margin-top:4px;white-space:normal;overflow-wrap:anywhere}.error-text{color:var(--error)}.warn-text{color:var(--warn)}.duration-text{color:var(--muted)}.ui-hidden{display:none!important}.map-shell{display:grid;height:100%;position:relative;background:var(--map-bg);min-height:0;min-width:0}.map-stage{display:grid;grid-template-columns:minmax(0,1fr);height:100%;min-height:0;min-width:0}.map-canvas{display:grid;height:100%;position:relative;min-height:0;min-width:0}.map-shell>*,.map-stage>*,.map-canvas>*{min-height:0}.field-detail-host{min-width:0;min-height:0;height:100%;overflow-y:auto;border-right:1px solid var(--line);background:radial-gradient(520px 320px at 0% 0%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 65%),linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--panel-2) 96%,transparent));padding:12px 10px 12px 12px}.field-detail-host,.field-detail-panel{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 55%,var(--line) 45%) color-mix(in srgb,var(--panel) 82%,transparent)}.field-detail-card{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,color-mix(in srgb,var(--card-bg) 94%,transparent),color-mix(in srgb,var(--panel) 90%,transparent));box-shadow:0 20px 34px #00000029}.field-detail-header{display:grid;gap:10px}.field-detail-breadcrumb{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.field-detail-breadcrumb span{color:color-mix(in srgb,var(--muted) 65%,var(--text) 35%)}.field-detail-title-row h3{margin:0;font-size:20px;letter-spacing:.01em}.field-detail-title-row p{margin:4px 0 0;font-size:12px;color:var(--muted)}.field-detail-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.field-detail-toolbar{display:flex;flex-wrap:wrap;gap:8px}.field-detail-toolbar button{width:auto}.field-detail-messages{display:grid;gap:8px}.field-message{padding:9px 10px;border-radius:10px;border:1px solid var(--line);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.field-message.is-warning{border-color:var(--msg-warn-border);background:var(--msg-warn-bg);color:var(--warn)}.field-message.is-error{border-color:var(--msg-error-border);background:var(--msg-error-bg);color:var(--error)}.field-detail-section{display:grid;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel) 72%,transparent)}.field-detail-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.field-detail-section-head h4{margin:0;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.field-detail-tone{font-size:11px;line-height:1.3;color:var(--muted);text-align:right;max-width:22ch}.field-detail-tone.is-processing{color:var(--warn)}.field-detail-tone.is-error{color:var(--error)}.field-detail-tone.is-done{color:color-mix(in srgb,var(--primary) 85%,var(--text) 15%)}.field-detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.field-detail-row span{font-size:12px;color:var(--muted)}.field-detail-row strong{font-size:12px;color:var(--text);text-align:right;overflow-wrap:anywhere}.field-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.field-metric-card{padding:10px;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 86%,transparent);display:grid;gap:6px}.field-metric-label{font-size:11px;color:var(--muted)}.field-metric-value{font-size:16px;line-height:1.15;color:var(--text)}.field-child-list{display:grid;gap:8px}.app-busy-overlay{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;background:color-mix(in srgb,#000 44%,transparent);backdrop-filter:blur(2px)}.app-busy-box{min-width:min(88vw,340px);max-width:min(92vw,480px);display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--primary) 50%,var(--line) 50%);border-radius:12px;background:color-mix(in srgb,var(--panel) 94%,#000 6%);box-shadow:0 18px 40px #00000059}.app-busy-spinner{width:22px;height:22px;border-radius:999px;border:2px solid color-mix(in srgb,var(--line) 60%,transparent);border-top-color:var(--primary);animation:app-busy-spin .9s linear infinite;flex-shrink:0}.app-busy-text{font-size:13px;color:var(--text);line-height:1.3;overflow-wrap:anywhere}.app-busy-content{min-width:0;display:grid;gap:10px}#busyOverlayCancelBtn{margin-top:0;justify-self:end}@keyframes app-busy-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.history-toast{position:fixed;left:50%;bottom:24px;z-index:2400;max-width:min(92vw,560px);padding:10px 14px;border:1px solid color-mix(in srgb,var(--primary) 44%,var(--line) 56%);border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,#000 8%);color:var(--text);box-shadow:0 12px 30px #00000047;font-size:13px;line-height:1.35;opacity:0;transform:translate(-50%,14px);transition:opacity .16s ease,transform .18s ease;pointer-events:none}.history-toast.is-visible{opacity:1;transform:translate(-50%)}.sidebar-resize-handle{cursor:col-resize;background:linear-gradient(180deg,#1a2f3d,#132532);border-left:1px solid var(--line);border-right:1px solid var(--line)}.sidebar-resize-handle:hover{background:linear-gradient(180deg,#254257,#1d3648)}#map{width:100%;height:100%}.route-step .badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fffffff0;color:#0a0d11;border:1px solid rgba(0,0,0,.45);font-size:11px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 1px 2px #00000073}.route-step .badge-start{background:#10b981;color:#fff;border-color:#065f46;box-shadow:0 0 0 2px #10b98159,0 1px 2px #00000073}.route-step .badge-end{background:#ef4444;color:#fff;border-color:#7f1d1d;box-shadow:0 0 0 2px #ef444459,0 1px 2px #00000073}.route-arrow-icon div{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:10px solid rgba(255,255,255,.95);filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}.map-tools-overlay{position:absolute;left:12px;right:12px;bottom:12px;z-index:1050;display:grid;justify-content:start;gap:8px;pointer-events:none}.map-tools-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;padding:6px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 84%,transparent);pointer-events:auto;width:min(420px,calc(100vw - 24px))}.map-tools-tab{width:100%;min-width:0;margin:0;padding:6px 10px;min-height:34px;white-space:nowrap}.map-tools-tab.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 24%,var(--menu-bg) 76%);color:color-mix(in srgb,var(--text) 92%,#ffffff 8%)}.map-tools-panel{width:min(420px,calc(100vw - 24px));border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,transparent 8%);backdrop-filter:blur(3px);box-shadow:0 8px 18px #00000040;padding:10px;pointer-events:auto}.map-tools-panel>[hidden]{display:none!important}.map-tools-panel[hidden]{display:none!important}.route-sim-overlay{display:grid;gap:8px}.route-sim-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.route-sim-times{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.route-sim-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.route-sim-controls button{margin:0;min-height:34px}.route-sim-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route-sim-meta .field{margin:0}.route-sim-meta .field input,.route-sim-meta .field select{margin-top:4px}.route-sim-follow{margin-top:0}.route-sim-drone-icon{background:transparent;border:0}.route-sim-drone-glyph{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.55);background:#22d3ee;color:#001018;font-size:12px;font-weight:700;display:grid;place-items:center;box-shadow:0 1px 2px #00000073;transform-origin:50% 50%}.nofly-wrap{margin-top:0;border-top:0;padding-top:0}.nofly-opacity{margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.nofly-opacity label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.nofly-opacity input[type=range]{width:100%}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.nofly-list{max-height:280px;overflow-y:auto;margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--panel)}.nofly-group h4{margin:8px 0 6px;font-size:12px;color:var(--muted)}.nofly-option{display:flex;align-items:center;gap:8px;margin:5px 0;font-size:12px;color:var(--text)}input,select,textarea{background:var(--menu-bg);border-color:var(--menu-border);color:var(--text)}select option{background:var(--menu-bg);color:var(--text)}.leaflet-control-layers,.leaflet-control-layers-expanded,.leaflet-bar a,.leaflet-control-zoom a,.leaflet-popup-content-wrapper,.leaflet-popup-tip{background-color:var(--leaflet-panel-bg)!important;color:var(--leaflet-panel-text)!important;border-color:var(--leaflet-panel-border)!important}.leaflet-control-layers-expanded{border:1px solid var(--leaflet-panel-border);border-radius:10px;padding:8px 10px;min-width:146px}.leaflet-control-layers-separator{border-top:1px solid var(--leaflet-panel-border)}.leaflet-control-layers label,.leaflet-control-layers-list,.leaflet-popup-content{color:var(--leaflet-panel-text)!important}.leaflet-control-layers-overlays label{display:flex;align-items:center;gap:6px;margin:0;padding:2px 0;line-height:1.15}.leaflet-control-layers-selector{margin:0}.leaflet-route-label-toggle{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:var(--leaflet-panel-text)}.leaflet-coverage-legend-row{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:11px;color:color-mix(in srgb,var(--leaflet-panel-text) 84%,var(--muted) 16%);opacity:.95;padding-left:22px}.leaflet-coverage-swatch{width:10px;height:10px;border-radius:3px;border:1px solid color-mix(in srgb,#001018 35%,var(--leaflet-panel-border) 65%);flex-shrink:0}.leaflet-container a{color:var(--leaflet-link)}.leaflet-sam-actions,.leaflet-top.leaflet-left .leaflet-sam-actions{margin-top:8px}.leaflet-sam-actions .leaflet-sam-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:12px;font-weight:700;line-height:1}.leaflet-sam-actions .leaflet-sam-action-btn.active{border-color:var(--primary)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent 70%) inset}.leaflet-draw-toolbar a.leaflet-draw-edit-edit{background-image:none!important;position:relative}.leaflet-draw-toolbar a.leaflet-draw-edit-edit:before{content:"✎";position:absolute;inset:0;display:grid;place-items:center;color:var(--leaflet-edit-icon);font-size:15px;font-weight:700}.manual-mission-marker span{display:block;width:12px;height:12px;border-radius:50%;background:#0ea5e9;border:2px solid #7dd3fc;box-shadow:0 0 0 1px #00101873}.map-nofly-body{display:grid;gap:8px}.map-nofly-body h2{margin:0 0 8px;font-size:13px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.map-nofly-body .nofly-list{max-height:min(38vh,320px)}.osm-blocker-preview-hint{max-width:none;text-align:left}.osm-blocker-preview-summary{display:grid;gap:8px}.map-context-menu,.fields-context-menu{position:fixed;z-index:2000;min-width:220px;display:none;border:1px solid var(--line);border-radius:10px;background:var(--leaflet-panel-bg);backdrop-filter:blur(2px);box-shadow:0 8px 24px #00000047;padding:6px}.map-context-menu button,.fields-context-menu button{width:100%;text-align:left;padding:8px 9px;margin:2px 0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--leaflet-panel-text)}.map-context-menu button:hover,.fields-context-menu button:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 15%,transparent 85%)}.map-context-menu button:disabled,.fields-context-menu button:disabled{opacity:.45;cursor:not-allowed}.fields-context-menu button[data-action=delete-field]{color:color-mix(in srgb,var(--error) 82%,var(--leaflet-panel-text) 18%)}.nofly-popup h4{margin:0 0 8px;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.nofly-popup .entry{margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed var(--line)}.nofly-popup .entry:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.nofly-popup .legal-ref{margin-top:2px;font-size:11px;color:var(--muted)}.nofly-popup .detail{margin-top:4px;font-size:11px;color:var(--muted)}.nofly-popup .legal-link{display:inline-block;margin-top:5px;font-size:11px;text-decoration:underline}@media(max-width:980px){.layout,.layout.has-field-detail{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar-resize-handle{display:none}.sidebar{height:48vh}.map-tools-overlay{left:8px;right:8px;bottom:8px}.map-tools-panel,.map-tools-tabs{width:min(420px,calc(100vw - 16px))}.advanced{max-height:none;overflow-y:visible}.panel-actions,.panel-fields,.panel-advanced{max-height:min(46dvh,560px)}.field-detail-host{display:none!important}}@media(max-width:760px){:root{--mobile-collapsed-sidebar-offset: calc(74px + env(safe-area-inset-bottom, 0px)) ;--mobile-nofly-toggle-height: 36px}body{height:var(--app-height)}.layout{display:block;height:var(--app-height)}.map-shell,#map{height:var(--app-height)}.map-stage,.map-canvas{height:100%}.sidebar-resize-handle{display:none}.sidebar{position:absolute;left:8px;right:8px;bottom:8px;z-index:1250;max-height:min(72dvh,760px);height:auto;border:1px solid var(--line);border-radius:14px;padding:12px 6px;box-shadow:0 14px 32px #0000005c;backdrop-filter:blur(4px);transition:transform .18s ease}body:not(.mobile-sidebar-open) .sidebar{transform:translateY(calc(100% - 66px));overflow:hidden}body:not(.mobile-sidebar-open) .sidebar>:not(.titlebar){display:none!important}.titlebar{margin-bottom:0;padding:10px}.brand-logo{width:32px;height:32px}.titlebar h1{font-size:20px}.titlebar-actions{gap:6px}.titlebar-actions select{min-width:58px;padding:5px 7px}.titlebar-actions .small{padding:5px 8px}.sidebar-tabs{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;background:color-mix(in srgb,var(--panel) 84%,transparent);border:1px solid var(--line);border-radius:10px;padding:6px;gap:6px;overflow:hidden;max-height:86px;opacity:1;transform:translateY(0);transition:max-height .18s ease,opacity .14s ease,transform .18s ease,margin .16s ease,padding .16s ease,border-width .12s ease;margin-left:0;margin-right:0}.sidebar.sidebar-tabs-hidden .sidebar-tabs{max-height:0;opacity:0;transform:translateY(-6px);margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-width:0;pointer-events:none}.sidebar-tabs .tab-btn{width:100%;min-width:0;white-space:nowrap}.fields-filter-bar{grid-template-columns:1fr 1fr}.panel{padding:10px;border-radius:10px}.tab-btn{min-height:40px;font-size:13px}button,.field input,.field select{min-height:40px}.map-tools-overlay{left:8px;right:8px;bottom:8px;justify-content:stretch}.map-tools-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.map-tools-panel{width:min(100%,calc(100vw - 16px))}.route-sim-meta,.field-detail-title-row,.field-detail-row{grid-template-columns:1fr}.field-detail-chips,.field-detail-row strong{justify-content:flex-start;text-align:left}.field-detail-section-head,.field-detail-toolbar{flex-direction:column;align-items:stretch}.field-detail-toolbar button{width:100%}.field-metric-grid{grid-template-columns:1fr}.map-tools-tab{min-height:var(--mobile-nofly-toggle-height);font-size:13px;line-height:1.1}.leaflet-bottom.leaflet-right{right:8px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.leaflet-bottom.leaflet-right .leaflet-control{margin:0}.leaflet-bottom.leaflet-right .leaflet-control-scale{order:1}.leaflet-bottom.leaflet-right .leaflet-control-attribution{order:2;max-width:min(48vw,240px);white-space:normal;line-height:1.2;font-size:10px}body:not(.mobile-sidebar-open) .leaflet-bottom.leaflet-right{bottom:calc(var(--mobile-collapsed-sidebar-offset) + 6px)}body.mobile-sidebar-open .leaflet-bottom.leaflet-right{bottom:8px}.map-nofly-body .nofly-list{max-height:min(26dvh,260px)}}@media(max-width:360px){.sidebar-tabs{grid-template-columns:1fr}}@media(max-height:860px),(max-width:1180px){.panel-advanced .perf-wrap{display:none!important}}
