:root{--bg: #0f1419;--bg-panel: #161b22;--bg-elevated: #1c2330;--border: #2d3748;--border-subtle: rgba(255, 255, 255, .04);--border-subtle-faint: rgba(255, 255, 255, .03);--border-subtle-medium: rgba(255, 255, 255, .06);--border-subtle-strong: rgba(255, 255, 255, .08);--border-subtle-emphasis: rgba(255, 255, 255, .12);--text: #e8edf4;--text-muted: #8b9cb3;--text-bright: #f8fafc;--text-on-accent: #ffffff;--aircraft-label-primary: #f8fafc;--aircraft-status-parked: var(--aircraft-label-primary);--aircraft-status-maintenance: #f59e0b;--aircraft-status-towing: #a78bfa;--aircraft-status-hold: #ef4444;--aircraft-status-transient: #34d399;--accent: #3b9eff;--accent-dim: #2563a8;--accent-hover: #2d8ae6;--accent-subtle-bg: rgba(59, 158, 255, .08);--accent-muted-bg: rgba(59, 130, 246, .1);--accent-hover-bg: rgba(59, 130, 246, .12);--accent-selected-bg: rgba(59, 158, 255, .12);--feature-clearance: #34d399;--feature-clearance-selected-bg: rgba(52, 211, 153, .18);--feature-guidelines: #3b9eff;--feature-guidelines-selected-bg: rgba(59, 158, 255, .12);--feature-obstacles: #facc15;--feature-obstacles-selected-bg: rgba(250, 204, 21, .12);--accent-chip-border: rgba(59, 158, 255, .45);--accent-chip-bg: rgba(59, 158, 255, .1);--accent-drag-bg: rgba(59, 130, 246, .04);--accent-silhouette-fill: rgba(59, 158, 255, .18);--silhouette-preview-grid: rgba(148, 163, 184, .14);--floor: #1a2332;--floor-grid: #3d4f66;--floor-stroke: #4a5568;--status-safe: #34d399;--status-safe-bg: rgba(52, 211, 153, .18);--status-safe-bg-strong: rgba(52, 211, 153, .28);--status-safe-border: rgba(52, 211, 153, .42);--status-safe-border-strong: rgba(52, 211, 153, .5);--status-safe-badge-bg: rgba(52, 211, 153, .24);--status-safe-surface: rgba(22, 48, 40, .96);--status-safe-surface-text: #a7f3d0;--status-danger: #ef4444;--status-danger-text: #fca5a5;--status-danger-bg: rgba(239, 68, 68, .1);--status-danger-border: rgba(239, 68, 68, .3);--status-danger-border-strong: rgba(239, 68, 68, .45);--status-danger-btn-border: rgba(239, 68, 68, .4);--status-danger-surface: rgba(28, 35, 48, .94);--status-danger-surface-text: #fecaca;--status-danger-silhouette-fill: rgba(239, 68, 68, .15);--status-danger-invalid-fill: rgba(185, 28, 28, .52);--status-danger-invalid-stroke: #fecaca;--status-danger-error-text: #f87171;--status-warn: #fbbf24;--status-warn-text: #fcd34d;--status-warn-text-light: #fde68a;--status-warn-bg: rgba(245, 158, 11, .1);--status-warn-bg-strong: rgba(245, 158, 11, .14);--status-warn-border: rgba(245, 158, 11, .35);--status-warn-border-medium: rgba(245, 158, 11, .22);--status-warn-badge-bg: rgba(251, 191, 36, .12);--status-warn-surface-bg: rgba(245, 158, 11, .85);--status-warn-prototype-bg: #5b3e0b;--status-warn-prototype-text: #fde68a;--status-warn-validation-bg: rgba(251, 191, 36, .08);--forecast: #a78bfa;--forecast-bg: rgba(167, 139, 250, .08);--surface-deep: #131b25;--surface-timeline: #0f141c;--surface-inset: rgba(0, 0, 0, .15);--surface-highlight: rgba(255, 255, 255, .03);--surface-highlight-faint: rgba(255, 255, 255, .02);--timeline-accent: #60a5fa;--timeline-accent-strong: #93c5fd;--timeline-hour-muted: #94a3b8;--timeline-hour-hover-text: #e2e8f0;--timeline-hour-day-start: #cbd5e1;--timeline-selected-bg: rgba(250, 204, 21, .18);--timeline-selected-bg-medium: rgba(250, 204, 21, .12);--timeline-selected-bg-faint: rgba(250, 204, 21, .08);--timeline-selected-text: #fde68a;--timeline-selected-border: rgba(250, 204, 21, .35);--timeline-scrubber: #eab308;--timeline-scrubber-strong: #ca8a04;--timeline-nav-current: #facc15;--timeline-bar-inset: rgba(255, 255, 255, .12);--unassigned-bar-base: rgba(148, 163, 184, .35);--unassigned-bar-stripe: rgba(226, 232, 240, .2);--legend-warn-text: #fde68a;--legend-warn-bg: rgba(245, 158, 11, .1);--legend-warn-border: rgba(245, 158, 11, .22);--legend-swatch-border: rgba(255, 255, 255, .35);--legend-proximity: #94a3b8;--legend-invalid-bg: rgba(185, 28, 28, .85);--proximity-stroke: #94a3b8;--proximity-label: #cbd5e1;--heading-marker-stroke: #f8fafc;--aircraft-label-secondary: #e2e8f0;--egress-clear-stroke: #22d3ee;--egress-clear-bg: rgba(34, 211, 238, .12);--egress-clear-border: rgba(34, 211, 238, .35);--egress-direction-clear: #34d399;--egress-direction-blocked: #f59e0b;--egress-arrow-fill: #f59e0b;--nose-marker-fill: #fde68a;--nose-marker-stroke: #713f12;--silhouette-drag-stroke: #e2e8f0;--delete-preview-fill: rgba(127, 29, 29, .5);--delete-preview-stroke: #7f1d1d;--delete-swatch-bg: rgba(127, 29, 29, .65);--envelope-fill: rgba(16, 185, 129, .12);--envelope-stroke: #10b981;--unsupported-fill: #ef4444;--preset-accent: #14b8a6;--preset-bg: rgba(20, 184, 166, .08);--preset-bg-strong: rgba(20, 184, 166, .1);--preset-silhouette-fill: rgba(20, 184, 166, .12);--preset-silhouette-fill-selected: rgba(20, 184, 166, .22);--preset-silhouette-stroke: rgba(20, 184, 166, .55);--preset-index-bg: rgba(20, 184, 166, .2);--preset-index-text: #5eead4;--shadow-color: rgba(0, 0, 0, .3);--inset-overlay: rgba(0, 0, 0, .18);--row-stripe: rgba(255, 255, 255, .015);--row-hover: rgba(59, 130, 246, .06);--tag-bg: rgba(255, 255, 255, .06);--modal-backdrop: rgba(0, 0, 0, .65);--modal-shadow: rgba(0, 0, 0, .5);--font-sans: "DM Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--scrollbar-size: 8px;--scrollbar-track: transparent;--scrollbar-thumb: rgba(139, 156, 179, .28);--scrollbar-thumb-hover: rgba(59, 158, 255, .5);--scrollbar-thumb-active: rgba(59, 158, 255, .72);--timeline-view-menu-width: 400px;--timeline-label-width: 100px;--timeline-header-height: 47px;--control-height-sm: 30px;--control-height: 36px;--control-height-lg: 40px;--control-pad-x-sm: 10px;--control-pad-x: 14px;--control-pad-x-lg: 16px;--control-select-pad-end: 28px;--control-min-width-select: 140px;--control-radius-sm: 6px;--control-radius: 8px;--control-font-sm: 12px;--control-font: 13px;--control-gap: 8px;--control-checkbox-size: 20px;color-scheme:dark}[data-theme=light]{--bg: #e3eaf1;--bg-panel: #f7fafc;--bg-elevated: #edf2f7;--border: #aebfd2;--border-subtle: rgba(19, 34, 56, .07);--border-subtle-faint: rgba(19, 34, 56, .05);--border-subtle-medium: rgba(19, 34, 56, .09);--border-subtle-strong: rgba(19, 34, 56, .12);--border-subtle-emphasis: rgba(19, 34, 56, .16);--text: #132238;--text-muted: #566885;--text-bright: #091628;--text-on-accent: #ffffff;--aircraft-label-primary: #0b1524;--aircraft-status-parked: var(--aircraft-label-primary);--aircraft-status-maintenance: #c2410c;--aircraft-status-towing: #6d28d9;--aircraft-status-hold: #dc2626;--aircraft-status-transient: #047857;--accent: #0a5cad;--accent-dim: #cfe3f4;--accent-hover: #084a8d;--accent-subtle-bg: rgba(10, 92, 173, .07);--accent-muted-bg: rgba(10, 92, 173, .1);--accent-hover-bg: rgba(10, 92, 173, .12);--accent-selected-bg: rgba(10, 92, 173, .14);--feature-clearance: #047857;--feature-clearance-selected-bg: rgba(4, 120, 87, .14);--feature-guidelines: #0a5cad;--feature-guidelines-selected-bg: rgba(10, 92, 173, .14);--feature-obstacles: #ca8a04;--feature-obstacles-selected-bg: rgba(202, 138, 4, .14);--accent-chip-border: rgba(10, 92, 173, .55);--accent-chip-bg: rgba(10, 92, 173, .12);--accent-drag-bg: rgba(10, 92, 173, .05);--accent-silhouette-fill: rgba(10, 92, 173, .14);--silhouette-preview-grid: rgba(100, 116, 139, .16);--floor: #d2dce8;--floor-grid: #6f879f;--floor-stroke: #8198ae;--status-safe: #047857;--status-safe-bg: rgba(4, 120, 87, .14);--status-safe-bg-strong: rgba(4, 120, 87, .22);--status-safe-border: rgba(4, 120, 87, .34);--status-safe-border-strong: rgba(4, 120, 87, .42);--status-safe-badge-bg: rgba(4, 120, 87, .18);--status-safe-surface: #e4f7ef;--status-safe-surface-text: #065f46;--status-danger: #c81e1e;--status-danger-text: #991b1b;--status-danger-bg: rgba(200, 30, 30, .08);--status-danger-border: rgba(200, 30, 30, .24);--status-danger-border-strong: rgba(200, 30, 30, .34);--status-danger-btn-border: rgba(200, 30, 30, .28);--status-danger-surface: #fde8e8;--status-danger-surface-text: #7f1d1d;--status-danger-silhouette-fill: rgba(200, 30, 30, .14);--status-danger-invalid-fill: rgba(200, 30, 30, .2);--status-danger-invalid-stroke: #991b1b;--status-danger-error-text: #991b1b;--status-warn: #e11d48;--status-warn-text: #be123c;--status-warn-text-light: #e11d48;--status-warn-bg: rgba(225, 29, 72, .09);--status-warn-bg-strong: rgba(225, 29, 72, .13);--status-warn-border: rgba(225, 29, 72, .28);--status-warn-border-medium: rgba(225, 29, 72, .2);--status-warn-badge-bg: rgba(225, 29, 72, .11);--status-warn-surface-bg: rgba(225, 29, 72, .88);--status-warn-prototype-bg: #ffe4e6;--status-warn-prototype-text: #be123c;--status-warn-validation-bg: rgba(225, 29, 72, .07);--forecast: #6d28d9;--forecast-bg: rgba(109, 40, 217, .08);--surface-deep: #d8e2ec;--surface-timeline: #f2f6fa;--surface-inset: rgba(19, 34, 56, .05);--surface-highlight: rgba(19, 34, 56, .04);--surface-highlight-faint: rgba(19, 34, 56, .025);--timeline-accent: #0a5cad;--timeline-accent-strong: #084a8d;--timeline-hour-muted: #5f738d;--timeline-hour-hover-text: #132238;--timeline-hour-day-start: #3f5570;--timeline-selected-bg: rgba(99, 102, 241, .16);--timeline-selected-bg-medium: rgba(99, 102, 241, .12);--timeline-selected-bg-faint: rgba(99, 102, 241, .07);--timeline-selected-text: #4338ca;--timeline-selected-border: rgba(67, 56, 202, .35);--timeline-scrubber: #6366f1;--timeline-scrubber-strong: #4f46e5;--timeline-nav-current: #4338ca;--timeline-bar-inset: rgba(19, 34, 56, .12);--unassigned-bar-base: rgba(86, 104, 133, .24);--unassigned-bar-stripe: rgba(19, 34, 56, .07);--legend-warn-text: #be123c;--legend-warn-bg: rgba(225, 29, 72, .09);--legend-warn-border: rgba(225, 29, 72, .22);--legend-swatch-border: rgba(19, 34, 56, .22);--legend-proximity: #5f738d;--legend-invalid-bg: rgba(153, 27, 27, .82);--proximity-stroke: #5f738d;--proximity-label: #3f5570;--heading-marker-stroke: #132238;--aircraft-label-secondary: #2f4660;--egress-clear-stroke: #0e7490;--egress-clear-bg: rgba(14, 116, 144, .09);--egress-clear-border: rgba(14, 116, 144, .26);--egress-direction-clear: #047857;--egress-direction-blocked: #f97316;--egress-arrow-fill: #f97316;--nose-marker-fill: #06b6d4;--nose-marker-stroke: #0e7490;--silhouette-drag-stroke: #3f5570;--delete-preview-fill: rgba(200, 30, 30, .2);--delete-preview-stroke: #991b1b;--delete-swatch-bg: rgba(153, 27, 27, .72);--envelope-fill: rgba(4, 120, 87, .11);--envelope-stroke: #047857;--unsupported-fill: #c81e1e;--preset-accent: #0f766e;--preset-bg: rgba(15, 118, 110, .08);--preset-bg-strong: rgba(15, 118, 110, .11);--preset-silhouette-fill: rgba(15, 118, 110, .11);--preset-silhouette-fill-selected: rgba(15, 118, 110, .19);--preset-silhouette-stroke: rgba(15, 118, 110, .48);--preset-index-bg: rgba(15, 118, 110, .16);--preset-index-text: #115e59;--shadow-color: rgba(19, 34, 56, .1);--inset-overlay: rgba(19, 34, 56, .05);--row-stripe: rgba(19, 34, 56, .035);--row-hover: rgba(10, 92, 173, .08);--tag-bg: rgba(19, 34, 56, .07);--modal-backdrop: rgba(19, 34, 56, .35);--modal-shadow: rgba(19, 34, 56, .15);--scrollbar-thumb: rgba(86, 104, 133, .38);--scrollbar-thumb-hover: rgba(10, 92, 173, .48);--scrollbar-thumb-active: rgba(10, 92, 173, .68);color-scheme:light}[data-theme=light] .tool-btn.active{color:var(--accent-hover);background:var(--accent-selected-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent),0 1px 3px var(--shadow-color)}[data-theme=light] .toolbar-view-btn.active{color:var(--accent-hover);background:var(--accent-chip-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent),0 1px 2px var(--shadow-color)}[data-theme=light] .timeline-view-chip{border-color:var(--border-subtle-emphasis);background:var(--bg-panel);color:var(--text-muted)}[data-theme=light] .timeline-view-chip.active,[data-theme=light] .timeline-toolbar-btn.active{border-color:var(--text-bright);color:var(--text-bright);background:var(--accent-chip-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-bright) 35%,transparent)}[data-theme=light] .timeline-toolbar-btn:hover,[data-theme=light] .timeline-nav-btn:hover{border-color:var(--text-bright);color:var(--text-bright);background:color-mix(in srgb,var(--text-bright) 6%,var(--bg-elevated));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-bright) 22%,transparent)}[data-theme=light] .timeline-nav-current:hover{color:var(--text-bright);background:color-mix(in srgb,var(--text-bright) 6%,var(--bg-panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-bright) 22%,transparent)}[data-theme=light] .timeline-view-menu-btn.has-filters:before{background:var(--text-bright);box-shadow:none}[data-theme=light] .control-field-select,[data-theme=light] .schedule-page-actions select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23566885' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E")}[data-theme=light] .status-field select,[data-theme=light] .status-field textarea,[data-theme=light] .status-field input:not([type=checkbox]){color-scheme:light}[data-theme=light] .schedule-page-table input,[data-theme=light] .schedule-page-table select{color-scheme:light}.datetime-local-input{font-variant-numeric:tabular-nums}input[type=date]::-webkit-calendar-picker-indicator{pointer-events:none}.datetime-local-input.input-invalid{border-color:var(--danger, #c0392b)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}:is(.app-scroll,.status-panel,.library-list,.schedule-page-table-wrap){scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}:is(.app-scroll,.status-panel,.library-list,.schedule-page-table-wrap)::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}:is(.app-scroll,.status-panel,.library-list,.schedule-page-table-wrap)::-webkit-scrollbar-track{background:var(--scrollbar-track)}:is(.app-scroll,.status-panel,.library-list,.schedule-page-table-wrap)::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border:2px solid transparent;border-radius:999px;background-clip:padding-box}:is(.app-scroll,.status-panel,.library-list,.schedule-page-table-wrap)::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}:is(.app-scroll,.status-panel,.library-list,.schedule-page-table-wrap)::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active)}:is(.app-scroll,.status-panel,.library-list,.schedule-page-table-wrap)::-webkit-scrollbar-corner{background:transparent}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;color:var(--text)}.control,.control-sm,.control-lg,.control-square,.control-square-sm,.control-field{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1;font-family:inherit}.control,.control-field{height:var(--control-height);padding:0 var(--control-pad-x);font-size:var(--control-font);border-radius:var(--control-radius)}.control-sm{height:var(--control-height-sm);padding:0 var(--control-pad-x-sm);font-size:var(--control-font-sm);border-radius:var(--control-radius-sm)}.control-lg{height:var(--control-height-lg);padding:0 var(--control-pad-x-lg);font-size:var(--control-font);border-radius:var(--control-radius)}.control-square{width:var(--control-height);height:var(--control-height);padding:0;border-radius:var(--control-radius-sm)}.control-square-sm{width:var(--control-height-sm);height:var(--control-height-sm);padding:0;border-radius:var(--control-radius-sm)}.control-field{justify-content:flex-start;width:100%;min-width:0}.control-field-select{padding-right:var(--control-select-pad-end);min-width:var(--control-min-width-select);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b9cb3' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.control-block{width:100%}.control-row{display:flex;align-items:center;gap:var(--control-gap)}.control-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;width:var(--control-checkbox-size);height:var(--control-checkbox-size);margin:0;flex-shrink:0;border:1px solid var(--border);border-radius:var(--control-radius-sm);background:var(--bg-elevated);cursor:pointer;position:relative;vertical-align:middle}.control-checkbox:checked{background:var(--accent);border-color:var(--accent)}.control-checkbox:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--text-on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.control-checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.control-checkbox:disabled{opacity:.55;cursor:not-allowed}.primary-btn,.secondary-btn,.toolbar-save-btn,.toolbar-refresh-btn,.toolbar-undo-btn,.schedule-page-add,.schedule-page-place,.visit-type-add-btn,.designer-add-btn,.tail-config-toolbar .tail-config-save-one.primary-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--control-height);padding:0 var(--control-pad-x-lg);font-size:var(--control-font);line-height:1;border-radius:var(--control-radius)}.toolbar-view-btn,.tool-btn,.feature-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--control-height-sm);padding:0 var(--control-pad-x);font-size:var(--control-font-sm);line-height:1;border-radius:var(--control-radius-sm)}.toolbar-icon-btn,.toolbar-design-btn.toolbar-icon-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--control-height);height:var(--control-height);padding:0;line-height:1;border-radius:var(--control-radius-sm)}.control-field,.appearance-field>input[type=text],.appearance-field>select,.appearance-color-input>input[type=text],.appearance-opacity-input input,.tail-config-search,.tail-config-individual select,.tail-config-row-input,.schedule-page-actions select,.appearance-color-input input[type=color]{box-sizing:border-box;height:var(--control-height);font-size:var(--control-font);line-height:1.2;border-radius:var(--control-radius)}.app{display:flex;flex-direction:column;height:100%}.toolbar{position:relative;display:flex;align-items:center;flex-wrap:nowrap;gap:10px 16px;padding:8px 16px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;min-width:0;-webkit-app-region:drag;app-region:drag}.toolbar button,.toolbar .window-controls,.toolbar-hangar-controls,.toolbar-hangar-controls-wrap{-webkit-app-region:no-drag;app-region:no-drag}.toolbar-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none;background:color-mix(in srgb,var(--accent) 28%,transparent)}.toolbar-progress-bar{width:40%;height:100%;background:var(--accent);animation:toolbar-progress-slide 1.1s ease-in-out infinite}@keyframes toolbar-progress-slide{0%{transform:translate(-120%)}to{transform:translate(280%)}}.toolbar-brand{display:flex;flex-direction:row;align-items:center;gap:0;flex-shrink:0}.toolbar-logo{display:block;height:22px;width:auto;margin-right:18px;flex-shrink:0}[data-theme=light] .toolbar-logo{filter:invert(1) hue-rotate(180deg)}.toolbar-brand-text{display:flex;flex-direction:column;justify-content:center}.toolbar-title{font-size:16px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.toolbar-subtitle{font-size:11px;color:var(--text-muted);margin-top:1px}.toolbar-views{display:flex;gap:2px;padding:3px;background:var(--bg-elevated);border-radius:8px;border:1px solid var(--border);flex-shrink:0}.toolbar-hangar-controls-wrap{position:relative;flex:1;min-width:0}.toolbar-hangar-controls-wrap:before,.toolbar-hangar-controls-wrap:after{content:"";position:absolute;top:0;bottom:0;width:28px;pointer-events:none;z-index:1;opacity:0;transition:opacity .15s ease}.toolbar-hangar-controls-wrap:before{left:0;background:linear-gradient(to right,var(--bg-panel) 0%,transparent 100%)}.toolbar-hangar-controls-wrap:after{right:0;background:linear-gradient(to left,var(--bg-panel) 0%,transparent 100%)}.toolbar-hangar-controls-wrap.fade-left:before{opacity:1}.toolbar-hangar-controls-wrap.fade-right:after{opacity:1}.toolbar-hangar-controls{display:flex;align-items:center;gap:10px;height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.toolbar-hangar-controls::-webkit-scrollbar{display:none}.toolbar-view-btn{font-weight:600;color:var(--text-muted);transition:all .15s;white-space:nowrap}.toolbar-view-btn:hover{color:var(--text)}.toolbar-view-btn.active{color:var(--text);background:var(--accent-muted-bg);box-shadow:0 1px 3px var(--shadow-color)}.toolbar-section{display:flex;align-items:center;gap:8px;flex-shrink:0}.toolbar-obstacles{padding:3px;background:var(--bg-elevated);border-radius:8px}.tool-btn{font-weight:500;color:var(--text-muted);transition:all .15s}.tool-btn:hover{color:var(--text);background:var(--bg-panel)}.tool-btn-draggable{cursor:grab}.tool-btn-draggable:active{cursor:grabbing}.toolbar-overlays{gap:6px}.feature-btn{gap:6px;font-weight:600;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);transition:all .15s;white-space:nowrap}.feature-btn.on{color:var(--text)}.feature-btn.clearance.on{border-color:var(--feature-clearance);background:var(--feature-clearance-selected-bg)}.feature-btn:disabled{opacity:.45;cursor:not-allowed}.feature-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.feature-btn.on .feature-dot{background:currentColor}.feature-btn.clearance.on .feature-dot{background:var(--feature-clearance)}.feature-btn.guidelines.on{border-color:var(--feature-guidelines);background:var(--feature-guidelines-selected-bg)}.feature-btn.guidelines.on .feature-dot{background:var(--feature-guidelines)}.feature-btn.obstacles.on{border-color:var(--feature-obstacles);background:var(--feature-obstacles-selected-bg)}.feature-btn.obstacles.on .feature-dot{background:var(--feature-obstacles)}.feature-tag{font-size:9px;font-weight:500;padding:1px 5px;border-radius:4px;background:var(--tag-bg);color:var(--text-muted);font-family:var(--font-mono)}.toolbar-meta{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.window-controls{display:flex;align-items:stretch;position:absolute;top:0;right:0;height:100%;max-height:52px}.toolbar-desktop{padding-right:150px}.window-control-btn{display:inline-flex;align-items:center;justify-content:center;width:46px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s}.window-control-btn:hover{background:var(--accent-subtle-bg);color:var(--text)}.window-control-close:hover{background:#e81123;color:#fff}.window-control-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.window-control-btn svg{display:block}.toolbar-design-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--text-muted);transition:all .15s}.toolbar-design-btn:hover{border-color:var(--accent);color:var(--text)}.toolbar-design-btn svg{display:block}.toolbar-icon-btn{font-family:var(--font-mono);font-size:var(--control-font-sm);font-weight:600;border:1px solid var(--border);background:var(--bg-elevated)}.toolbar-icon-btn:hover{border-color:var(--accent);color:var(--accent)}.toolbar-save-btn{font-family:var(--font-ui, inherit);font-weight:700;letter-spacing:.02em;border:1px solid color-mix(in srgb,var(--accent) 70%,var(--border));background:var(--accent);color:var(--text-on-accent);box-shadow:0 1px color-mix(in srgb,var(--accent) 35%,transparent);cursor:pointer;transition:filter .15s,border-color .15s}.toolbar-save-btn:hover{filter:brightness(1.08);border-color:var(--accent)}.toolbar-save-btn:active{filter:brightness(.95)}.toolbar-refresh-btn{font-family:var(--font-ui, inherit);font-weight:700;letter-spacing:.02em;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.toolbar-refresh-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle-bg, var(--bg-elevated))}.toolbar-refresh-btn:active{filter:brightness(.97)}.toolbar-undo-btn{font-family:var(--font-ui, inherit);font-weight:700;letter-spacing:.02em;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.toolbar-undo-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle-bg, var(--bg-elevated))}.toolbar-undo-btn:active{filter:brightness(.97)}.toolbar-save-btn:disabled,.toolbar-refresh-btn:disabled,.toolbar-undo-btn:disabled{opacity:.55;cursor:not-allowed;filter:none}.toolbar-save-btn:disabled:hover,.toolbar-refresh-btn:disabled:hover,.toolbar-undo-btn:disabled:hover{filter:none;border-color:inherit;color:inherit}.workspace{display:flex;flex:1;min-height:0}.facility-load-status,.facility-load-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center}.facility-load-status{color:var(--text)}.facility-load-error{color:var(--status-danger-surface-text, #8a1f1f)}.facility-load-error strong{font-size:16px}.facility-load-error p{margin:0;max-width:36rem;font-size:13px;line-height:1.45;color:var(--text-muted, inherit);opacity:.9}.canvas-area{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;user-select:none;-webkit-user-select:none}.library-notice{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:20;max-width:min(520px,calc(100% - 24px));padding:10px 14px;border-radius:8px;border:1px solid var(--status-danger-border-strong);background:var(--status-danger-surface);color:var(--status-danger-surface-text);font-size:12px;line-height:1.45;text-align:center;box-shadow:0 8px 24px var(--shadow-color);pointer-events:none}.library-notice--success{border-color:var(--status-safe-border-strong);background:var(--status-safe-surface);color:var(--status-safe-surface-text)}.sidebar-shell{display:flex;flex-direction:row;flex-shrink:0;min-height:0;position:relative}.sidebar-shell-body{display:flex;flex-direction:column;min-height:0;min-width:0}.sidebar-shell-body[hidden]{display:none!important}.sidebar-shell-body>.library.hangar-sidebar{border-right:none;height:100%}.sidebar-shell-collapse{flex:0 0 12px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:none;border-right:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);font-size:8px;line-height:1;cursor:pointer}.sidebar-shell-collapse:hover,.sidebar-shell-collapse:focus-visible{color:var(--text);background:var(--bg-elevated);outline:none}.sidebar-shell-reopen{display:flex;align-items:center;justify-content:center;width:12px;height:100%;margin:0;padding:0;border:none;border-right:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);font-size:8px;line-height:1;cursor:pointer}.sidebar-shell-reopen:hover,.sidebar-shell-reopen:focus-visible{color:var(--text);background:var(--bg-elevated);outline:none}.sidebar-shell-reopen-arrow{font-size:8px;line-height:1}.hangar-split{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.hangar-split.is-dragging{cursor:row-resize}.hangar-split.is-dragging *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}.hangar-split-pane{min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.hangar-split-pane.is-collapsed{flex:0 0 auto}.hangar-split-pane-body{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.hangar-split-pane-body[hidden]{display:none!important}.hangar-split-pane--canvas .hangar-split-pane-body>.hangar-canvas-wrap{flex:1;min-height:0}.hangar-split-pane--timeline .hangar-split-pane-body>.hangar-timeline-panel{flex:1;min-height:0;height:auto;max-height:none}.hangar-split-handle{flex:0 0 6px;position:relative;z-index:4;cursor:row-resize;touch-action:none;background:var(--border);border:none;padding:0}.hangar-split-handle:before{content:"";position:absolute;left:50%;top:50%;width:36px;height:3px;transform:translate(-50%,-50%);border-radius:999px;background:color-mix(in srgb,var(--text-muted) 55%,transparent)}.hangar-split-handle:hover,.hangar-split-handle:focus-visible,.hangar-split.is-dragging .hangar-split-handle{background:color-mix(in srgb,var(--accent) 45%,var(--border));outline:none}.hangar-split-handle:hover:before,.hangar-split-handle:focus-visible:before,.hangar-split.is-dragging .hangar-split-handle:before{background:var(--accent)}.hangar-split-reopen{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:28px;padding:0 12px;border:none;border-top:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.02em;cursor:pointer}.hangar-split-reopen--canvas{border-top:none;border-bottom:1px solid var(--border)}.hangar-split-reopen:hover,.hangar-split-reopen:focus-visible{color:var(--text);background:var(--bg-elevated);outline:none}.hangar-split-reopen-arrow{font-size:10px;line-height:1}.library{width:260px;flex-shrink:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-panel)}.library.hangar-sidebar{width:320px;overflow-y:auto}.hangar-sidebar-library-stack{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.hangar-sidebar-library-stack.hangar-sidebar-hidden{display:none}.library.hangar-sidebar .library-embedded-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.library.hangar-sidebar .library-embedded-panel .library-list{flex:1 1 auto;min-height:140px;max-height:none}.site-notes-panel{flex-shrink:0;margin-top:auto;padding:10px 12px 12px;border-top:1px solid var(--border);background:var(--bg-panel)}.site-notes-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.site-notes-panel h3{margin:0;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.site-notes-status{font-size:10px;color:var(--text-muted)}.site-notes-status-saved{color:var(--status-safe)}.site-notes-status-error{color:var(--danger, #ef4444)}.site-notes-input{display:block;width:100%;min-height:calc(14em + 16px);resize:vertical;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input, var(--bg));color:var(--text);font:inherit;font-size:12px;line-height:1.4}.site-notes-input:focus{outline:none;border-color:var(--accent)}.site-notes-input:read-only{opacity:.85;cursor:default}.sidebar-library-tabs{display:flex;gap:4px;padding:10px 12px 0;border-bottom:1px solid var(--border)}.sidebar-library-tab{flex:1;padding:8px 10px;font-size:11px;font-weight:600;color:var(--text-muted);border-radius:6px 6px 0 0;border:1px solid transparent;border-bottom:none;margin-bottom:-1px;background:transparent}.sidebar-library-tab:hover{color:var(--text)}.sidebar-library-tab.active{color:var(--text);background:var(--bg-panel);border-color:var(--border)}.existing-aircraft-meta{display:flex;flex-direction:column;gap:3px;margin-top:4px}.existing-aircraft-status{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--text-muted)}.existing-aircraft-remarks{font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.existing-aircraft-item .item-model.mono{font-family:var(--font-mono)}.sidebar-panel-back-wrap{padding:12px 16px 0}.sidebar-panel-back{display:inline-flex;align-items:center;gap:2px;margin:0;padding:2px 0;border:none;background:none;font-size:12px;font-weight:500;line-height:1.3;color:var(--text-muted);cursor:pointer;transition:color .12s ease}.sidebar-panel-back:hover{color:var(--text)}.sidebar-panel-back:focus-visible{outline:none;color:var(--accent)}.sidebar-panel-back-icon{flex-shrink:0;display:block;opacity:.8}.sidebar-panel-back:hover .sidebar-panel-back-icon,.sidebar-panel-back:focus-visible .sidebar-panel-back-icon{opacity:1}.library-header{padding:14px 14px 10px;border-bottom:1px solid var(--border)}.library-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.library-header h3{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.library-count{flex-shrink:0;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.library-header p{font-size:10px;color:var(--text-muted);margin-top:4px;line-height:1.35}.library-filters{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.library-filters input,.library-filters select{width:100%;padding:7px 10px;font-size:12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px}.library-filters input:focus,.library-filters select:focus{outline:none;border-color:var(--accent)}.library-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 6px 4px 8px;scrollbar-gutter:stable}.library-item{width:100%;text-align:left;padding:10px 10px 9px;margin-bottom:2px;border-radius:6px;border:1px solid transparent;transition:background .12s,border-color .12s}.library-item:hover{background:var(--bg-elevated)}.library-item.selected{border-color:var(--accent);background:var(--accent-subtle-bg)}.item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0}.item-model{min-width:0;font-size:13px;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--text)}.item-icao{flex-shrink:0;margin-top:1px;padding:1px 6px;border-radius:4px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 12%,transparent);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--accent);line-height:1.4}.item-icao.is-missing{border-color:var(--border);background:transparent;color:var(--text-muted);font-weight:500}.item-manufacturer{margin-top:3px;font-size:11px;color:var(--text-muted);line-height:1.3}.item-dims{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:7px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent);font-family:var(--font-mono);font-size:11px;line-height:1.2;color:var(--text)}.item-dim{display:inline-flex;align-items:baseline;gap:4px;min-width:0}.item-dim-label{font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--text-muted)}.item-dim-value{font-weight:600;font-variant-numeric:tabular-nums}.item-dim-sep{color:var(--text-muted);font-weight:500}.library-empty{font-size:11px;color:var(--text-muted);padding:12px;text-align:center}.library-footer{padding:8px 12px;border-top:1px solid var(--border);font-size:9px;color:var(--text-muted);line-height:1.4}.status-panel{padding:0;width:320px;flex:0 0 320px;min-width:320px;overflow-y:auto;border-left:1px solid var(--border);background:var(--bg-panel)}.panel-section{padding:14px 16px;border-bottom:1px solid var(--border)}.panel-section h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}.section-desc{font-size:11px;color:var(--text-muted);margin:-6px 0 10px}.alert-box{padding:10px 12px;border-radius:6px;font-size:11px;line-height:1.5}.alert-box.safe{background:var(--status-safe-bg);border:1px solid var(--status-safe-border);color:var(--status-safe)}.alert-box.danger{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger-text)}.alert-box.egress-warn{background:var(--status-warn-bg);border:1px solid var(--status-warn-border);color:var(--status-warn-text)}.alert-box ul{margin-top:6px;padding-left:16px;font-family:var(--font-mono);font-size:10px}.alert-box.egress-warn ul li{line-height:1.4;overflow-wrap:anywhere}.alert-box.egress-placement-conflict{margin-top:8px}.alert-box.egress-placement-conflict ul li{line-height:1.4;overflow-wrap:anywhere}.egress-status.placement-conflict{color:var(--status-danger-text)}.detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:12px}.detail-label{color:var(--text-muted)}.detail-value{font-weight:500;text-align:right;max-width:160px}.aircraft-details-grid{display:flex;flex-direction:column;gap:8px;font-size:12px}.hangar-sidebar fieldset.aircraft-details-grid,.hangar-sidebar fieldset.schedule-split-segments{border:none;margin:0;padding:0;min-width:0}.aircraft-details-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center;min-width:0;font-size:inherit}.aircraft-details-row .detail-label{color:var(--text-muted);font-size:inherit;line-height:1.35}.aircraft-details-row-top{align-items:start}.aircraft-details-row-top .detail-label{padding-top:8px}.aircraft-details-row .detail-value{text-align:left;max-width:none;min-width:0;font-size:inherit;font-weight:500}.aircraft-details-control,.aircraft-details-row .status-select-wrap{width:100%;min-width:0}.aircraft-details-row .status-select-wrap select{flex:1;min-width:0;width:auto}.aircraft-details-row textarea,.aircraft-details-row input:not([type=checkbox]),.aircraft-details-row select{width:100%;min-width:0;padding:8px 10px;font-size:12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text);color-scheme:inherit;resize:vertical}.aircraft-details-row textarea:focus,.aircraft-details-row input:not([type=checkbox]):focus,.aircraft-details-row select:focus{outline:none;border-color:var(--accent)}.aircraft-details-form{gap:12px}.aircraft-details-form-row{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;align-items:center;min-width:0}.designer-form .aircraft-details-form-row{display:grid;flex-direction:unset;text-transform:none;letter-spacing:normal;font-size:inherit;color:inherit}.aircraft-details-form-row-top{align-items:start}.aircraft-details-form-row-top .aircraft-details-form-label{padding-top:10px}.aircraft-details-form-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;line-height:1.3}.aircraft-details-form-row .status-select-wrap{width:100%;min-width:0}.aircraft-details-datetime-row{align-items:end}.aircraft-details-datetime-row label{display:flex;flex-direction:column;gap:6px;min-width:0;text-transform:none;letter-spacing:normal;font-size:inherit;color:inherit}.aircraft-details-datetime-row .aircraft-details-form-label{min-height:2.6em}.mono{font-family:var(--font-mono)}.status-field{display:flex;flex-direction:column;gap:6px;margin-top:10px}.status-select-wrap{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-field select,.status-field textarea,.status-field input:not([type=checkbox]){width:100%;padding:8px 10px;font-size:12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text);color-scheme:inherit;resize:vertical}.status-field select:focus,.status-field textarea:focus,.status-field input:not([type=checkbox]):focus{outline:none;border-color:var(--accent)}.action-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:stretch;gap:var(--control-gap);margin-top:12px}.action-row button.active-heading,.action-row .heading-deg-field.active-heading{border-color:var(--accent);color:var(--accent);background:var(--accent-selected-bg)}.action-row>*{min-width:0;width:100%;box-sizing:border-box;height:var(--control-height-lg);font-size:var(--control-font-sm);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--control-radius)}.action-row>button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0 4px;line-height:1.1;cursor:pointer}.action-row-label{display:block}.action-row-sublabel{display:block;font-size:.85em;color:var(--text-muted);font-family:var(--font-mono)}.action-row button.active-heading .action-row-sublabel{color:inherit}.action-row button:hover:not(:disabled){border-color:var(--accent)}.action-row .heading-deg-field{display:flex;align-items:center;justify-content:center;gap:2px;padding:0 4px;cursor:text}.action-row .heading-deg-field.is-locked{cursor:not-allowed;opacity:.72}.action-row .heading-deg-input{flex:1 1 auto;width:100%;min-width:0;height:100%;border:0;background:transparent;color:inherit;font:inherit;font-family:var(--font-mono);text-align:center;padding:0}.action-row .heading-deg-field.active-heading .heading-deg-suffix{color:inherit}.action-row .heading-deg-input:disabled,.action-row .heading-deg-input:read-only{cursor:not-allowed;color:inherit;opacity:.85}.action-row .heading-deg-field:not(.active-heading) .heading-deg-input:disabled,.action-row .heading-deg-field:not(.active-heading) .heading-deg-input:read-only{color:var(--text-muted);opacity:1}.action-row .heading-deg-suffix{flex:0 0 auto;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--control-font-sm)}.danger-btn{color:var(--status-danger-text)!important;border-color:var(--status-danger-btn-border)!important}.danger-btn:hover{background:var(--status-danger-bg)!important}.schedule-split-segments{display:grid;border:none;margin:0;padding:0;min-width:0}.schedule-split-segment-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.schedule-split-remove-btn{align-self:center;border:none;background:none;line-height:1;margin:0;padding:0;font-size:11px;color:var(--status-danger-text);cursor:pointer}.schedule-split-remove-btn:hover{text-decoration:underline}.schedule-split-errors{margin:0;padding-left:16px;font-size:11px;line-height:1.4}.selected-aircraft-section,.schedule-split-section{display:grid;gap:12px}.selected-aircraft-section>h3,.schedule-split-section>h3{margin-bottom:0}.selected-aircraft-section>.action-row,.schedule-split-section>.schedule-split-actions,.selected-aircraft-section>.egress-status{margin-top:0}.selected-aircraft-section>.egress-status ul{margin-top:6px}.sidebar-detail-group,.schedule-segment-group{padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.sidebar-detail-group{display:grid;gap:8px}.sidebar-detail-group h4,.schedule-segment-group-label{margin:0;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.schedule-split-segments{gap:12px}.schedule-split-segment,.schedule-split-segment:first-child{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.schedule-split-segment.is-timeline-active{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--bg-elevated))}.schedule-split-segment-header{margin-bottom:0}.schedule-split-segment-title{display:flex;align-items:baseline;gap:8px;min-width:0}.schedule-split-segment-title strong{font-size:12px}.schedule-segment-group{display:grid;gap:8px;padding:10px;border-color:color-mix(in srgb,var(--border) 75%,transparent);background:color-mix(in srgb,var(--bg-panel) 55%,transparent)}.schedule-segment-time-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.schedule-segment-time-grid .aircraft-details-row{display:flex;flex-direction:column;align-items:stretch;gap:6px}.schedule-segment-time-grid .detail-label{font-size:10px;font-weight:600}.schedule-segment-time-grid .aircraft-details-control{font-family:var(--font-mono);font-size:11px}.schedule-segment-group .aircraft-details-grid .aircraft-details-row{display:flex;flex-direction:column;align-items:stretch;gap:6px}.schedule-segment-group .aircraft-details-grid .detail-label{font-size:10px;font-weight:600}.schedule-segment-group .aircraft-details-row-top .detail-label{padding-top:0}.schedule-segment-rotation{margin-top:0}.schedule-segment-rotation button:disabled{cursor:not-allowed;opacity:.55}.schedule-split-actions{grid-auto-flow:row;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.schedule-split-actions>:last-child{grid-column:1 / -1}.secondary-btn:disabled{opacity:.55;cursor:not-allowed}.no-select,.no-select *{user-select:none;-webkit-user-select:none;-ms-user-select:none}.hangar-canvas-wrap{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.hangar-canvas-tools{position:absolute;top:10px;left:10px;z-index:6;display:flex;flex-direction:row;align-items:center;gap:6px}.hangar-canvas-tool-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel);color:var(--text-muted);box-shadow:0 4px 16px color-mix(in srgb,#000 18%,transparent);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.hangar-canvas-tool-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg-elevated))}.hangar-canvas-tool-btn:disabled{opacity:.55;cursor:wait}.hangar-canvas-tool-btn svg{display:block}.hangar-canvas-tool-btn[data-hint]{position:relative}.hangar-canvas-tool-btn[data-hint]:after{content:attr(data-hint);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);color:var(--text);font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap;box-shadow:0 6px 18px color-mix(in srgb,#000 22%,transparent);opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:8}.hangar-canvas-tool-btn[data-hint]:hover:after,.hangar-canvas-tool-btn[data-hint]:focus-visible:after{opacity:1}.hangar-lock-btn.is-locked{border-color:color-mix(in srgb,var(--accent) 70%,var(--border));color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg-elevated))}.hangar-canvas-viewport.is-view-locked{cursor:default}.canvas-legend{position:absolute;top:10px;right:10px;z-index:6;display:flex;flex-direction:column;align-items:stretch;gap:8px;width:max-content;max-width:min(480px,calc(100% - 20px));padding:3px 4px;font-size:11px;color:var(--text-muted);border:1px solid var(--border);border-radius:5px;background:color-mix(in srgb,var(--bg-panel) 92%,transparent);box-shadow:0 2px 8px color-mix(in srgb,#000 14%,transparent);pointer-events:none}.canvas-legend>*{pointer-events:auto}.canvas-legend-instructions{width:100%;min-width:0}.canvas-legend-keys{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-width:0}.canvas-legend-key{display:inline-flex;align-items:center;gap:7px;padding:3px 8px;border-radius:6px;background:var(--legend-warn-bg);border:1px solid var(--legend-warn-border);color:var(--legend-warn-text);font-size:10px;font-weight:600;line-height:1.35}.canvas-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0;border:1px solid var(--legend-swatch-border)}.canvas-legend-swatch.invalid{background:var(--legend-invalid-bg);border-color:var(--status-danger-invalid-stroke)}.canvas-legend-swatch.egress{background:var(--status-warn-surface-bg);border-color:var(--status-warn-text-light)}.canvas-legend-swatch.proximity{width:14px;height:2px;border:none;border-radius:1px;background:repeating-linear-gradient(90deg,var(--legend-proximity) 0 4px,transparent 4px 6px);opacity:.9}.departure-paths-legend{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-width:0;max-height:min(40vh,280px);overflow-y:auto}.departure-paths-legend.has-warnings{border-left:3px solid var(--status-warn-border);border-radius:3px;background:color-mix(in srgb,var(--status-warn-bg-strong) 42%,transparent)}.departure-paths-legend-badge{font-size:10px;font-weight:600;font-family:var(--font-mono);padding:2px 8px;border-radius:4px;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35;flex-shrink:0}.departure-paths-legend-badge.clear{color:var(--status-safe);background:var(--status-safe-bg-strong);border:1px solid var(--status-safe-border-strong)}.departure-paths-legend-badge.warn{color:var(--status-warn-text);background:var(--status-warn-bg-strong);border:1px solid var(--status-warn-border)}.departure-paths-legend.has-warnings .departure-paths-legend-badge.warn{border:0;border-radius:0;background:transparent}.departure-paths-legend-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;cursor:pointer;text-align:left}.departure-paths-legend-toggle:focus-visible{outline:2px solid var(--status-warn-text);outline-offset:-2px}.departure-paths-legend-toggle>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.departure-paths-legend-arrow{flex:0 0 auto;font-size:12px;line-height:1}.departure-paths-legend-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;width:100%;min-width:0}.departure-paths-legend.has-warnings .departure-paths-legend-list{padding:6px 8px 8px;border-top:1px solid color-mix(in srgb,var(--status-warn-border) 55%,transparent)}.departure-paths-legend-list li{font-family:var(--font-mono);font-size:10px;color:var(--status-warn-text);line-height:1.4;white-space:normal;overflow-wrap:anywhere}.departure-paths-legend-list li.placement-conflict{color:var(--status-danger-text);font-weight:600}.departure-paths-loading{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none;background:color-mix(in srgb,var(--accent) 28%,transparent)}.egress-section{position:relative}.egress-section>.departure-paths-loading{bottom:0}.departure-paths-loading-bar{width:40%;height:100%;background:var(--accent);animation:departure-paths-loading-slide 1.1s ease-in-out infinite}@keyframes departure-paths-loading-slide{0%{transform:translate(-120%)}to{transform:translate(280%)}}.legend-scale{font-family:var(--font-mono)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.hangar-canvas-viewport{flex:1;min-height:0;overflow:hidden;cursor:grab;touch-action:none;display:flex;flex-direction:column}.hangar-canvas-viewport.is-panning{cursor:grabbing}.hangar-svg{flex:1;width:100%;height:100%;cursor:inherit;display:block}.hangar-floor{fill:var(--floor);stroke:var(--floor-stroke);stroke-width:2}.grid-major{stroke:var(--floor-grid);stroke-width:.8;opacity:.6}.park-line{stroke:var(--park-line-stroke, #38bdf8);stroke-width:2;stroke-dasharray:8 5;opacity:.9;pointer-events:none}.park-line-name-label{fill:var(--text-muted, var(--text));font-size:16px;font-weight:600;font-family:var(--font-mono, monospace);letter-spacing:.06em;pointer-events:none}.grid-minor{stroke:var(--floor-grid);stroke-width:.3;opacity:.25}.hangar-door{stroke:var(--accent);stroke-width:5px;stroke-linecap:square;opacity:.95}.hangar-name-label{fill:var(--text);font-size:28px;font-weight:650;font-family:var(--font-sans);letter-spacing:.02em}.obstacle{fill:#4a3728;stroke:#8b6914;stroke-width:1.5;stroke-dasharray:4 2}.obstacle.selected{stroke:var(--status-warn);stroke-width:2.5;stroke-dasharray:none;filter:drop-shadow(0 0 4px rgba(251,191,36,.5))}.obstacle.drag-delete-preview{fill:var(--silhouette-delete-preview-fill, var(--delete-preview-fill));stroke:var(--silhouette-delete-preview-stroke, var(--delete-preview-stroke));stroke-width:var(--silhouette-delete-preview-stroke-width, 2px);stroke-dasharray:var(--silhouette-delete-preview-stroke-dash, none);filter:none}.obstacle-preview{opacity:.55;pointer-events:none}.obstacle-shape{cursor:grab}.obstacle-dot{background:#8b6914}.obstacle-label{fill:#d4a574;font-size:8px;pointer-events:none}.prototype-silhouette{fill:var(--silhouette-default-fill, rgba(98, 119, 145, .58));stroke:var(--silhouette-default-stroke, #c7d2de);stroke-width:var(--silhouette-default-stroke-width, 1.2);stroke-dasharray:var(--silhouette-default-stroke-dash, none);pointer-events:none}.prototype-silhouette.selected{stroke:var(--silhouette-selected-stroke, #67e8f9);stroke-width:var(--silhouette-selected-stroke-width, 1.8);stroke-dasharray:var(--silhouette-selected-stroke-dash, none)}.prototype-silhouette.library-drag-silhouette{stroke:var(--silhouette-drag-stroke);stroke-width:1.6;stroke-dasharray:6 4;pointer-events:none}.canvas-legend-swatch.delete{background:var(--delete-swatch-bg);border:1px solid var(--delete-preview-stroke)}.catalog-placeholder{fill:#94a3b840;stroke:var(--text-muted);stroke-width:1}.operational-envelope{fill:var(--envelope-fill);stroke:var(--envelope-stroke);stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.nose-marker{fill:var(--nose-marker-fill);stroke:var(--nose-marker-stroke);stroke-width:.5;pointer-events:none}.aircraft-shape{cursor:grab}.aircraft-shape.dragging{cursor:grabbing;opacity:.95}.aircraft-shape.rotating,.hangar-canvas-wrap.is-rotating-aircraft{cursor:crosshair}.aircraft-drag-surface{fill:transparent;stroke:transparent;cursor:inherit;pointer-events:all}.egress-route{stroke-width:2;pointer-events:none}.egress-route.clear{stroke:var(--egress-clear-stroke);stroke-dasharray:6 4}.egress-route.blocked{stroke:var(--status-warn);stroke-dasharray:4 3}.prototype-silhouette.drag-delete-preview{fill:var(--silhouette-delete-preview-fill, var(--delete-preview-fill));stroke:var(--silhouette-delete-preview-stroke, var(--delete-preview-stroke));stroke-width:var(--silhouette-delete-preview-stroke-width, 2px);stroke-dasharray:var(--silhouette-delete-preview-stroke-dash, none)}.egress-status{margin-top:.75rem;padding:.6rem .75rem;border-radius:6px;font-size:.85rem}.egress-status.clear{background:var(--egress-clear-bg);border:1px solid var(--egress-clear-border)}.egress-status.blocked{background:var(--status-danger-bg);border:1px solid var(--status-danger-border)}.egress-status ul{margin:.4rem 0 0;padding-left:1.1rem;font-size:.82rem}.aircraft-label{fill:var(--aircraft-label-primary);font-size:14px;font-weight:600;font-family:var(--font-mono);pointer-events:none}.aircraft-model-label{fill:var(--aircraft-label-primary);font-size:12px;font-weight:500;font-family:var(--font-mono);pointer-events:none}.aircraft-info-label{pointer-events:none}.aircraft-status-label,.aircraft-condition-label{font-size:12px;font-weight:700;font-family:var(--font-mono);pointer-events:none}.aircraft-status-label--parked{fill:var(--aircraft-status-parked)}.aircraft-status-label--maintenance{fill:var(--aircraft-status-maintenance)}.aircraft-status-label--towing{fill:var(--aircraft-status-towing)}.aircraft-status-label--hold{fill:var(--aircraft-status-hold)}.aircraft-status-label--transient{fill:var(--aircraft-status-transient)}.aircraft-time-label{fill:var(--text-bright);font-size:11px;font-weight:600;font-family:var(--font-mono);pointer-events:none}.aircraft-remarks-label{fill:var(--aircraft-label-secondary);font-size:11px;font-weight:500;font-family:var(--font-mono);pointer-events:none}.dim-label{fill:var(--text-muted);font-size:9px;font-family:var(--font-mono)}.hangar-timeline-panel{border-top:none;background:var(--bg-panel);padding:4px 8px 6px;flex:1;height:auto;max-height:none;overflow:hidden;display:flex;flex-direction:column;min-height:0}.hangar-timeline-panel .schedule-timeline{flex:1;min-height:0;display:grid}.hangar-timeline-panel .timeline-body{flex:1;min-height:0}.schedule-timeline{position:relative;border:1px solid var(--border);border-radius:8px;background:var(--surface-timeline);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;flex:1;outline:none}.timeline-view-menu{position:relative;z-index:10}.timeline-toolbar-left{position:absolute;top:4px;left:6px;z-index:10;display:flex;align-items:center;gap:6px;min-width:0}.timeline-sort-buttons{display:flex;align-items:center;gap:3px;min-width:0;flex-wrap:wrap}.timeline-sort-btn{white-space:nowrap}.timeline-tail-filter{width:72px;height:22px;box-sizing:border-box;padding:0 6px;font-size:10px;font-weight:600;letter-spacing:.01em;line-height:1;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;color:var(--text-muted)}.timeline-tail-filter:focus{outline:none;border-color:var(--accent);color:var(--text)}.timeline-tail-filter::-webkit-search-decoration,.timeline-tail-filter::-webkit-search-cancel-button{-webkit-appearance:none}.timeline-view-menu-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;text-transform:none}.timeline-view-menu-btn.has-filters:before{content:"";position:absolute;top:2px;right:2px;width:5px;height:5px;border-radius:50%;background:var(--text-on-accent);box-shadow:0 0 0 1px #ffffff59;z-index:1}.timeline-view-menu-panel{position:absolute;top:calc(100% + 6px);left:0;width:min(var(--timeline-view-menu-width),calc(100vw - 32px));max-height:min(360px,calc(100vh - 180px));overflow:auto;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);box-shadow:0 12px 28px var(--modal-shadow)}.timeline-view-menu-section+.timeline-view-menu-section{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.timeline-view-menu-section h3{margin:0 0 6px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.timeline-view-menu-field{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.timeline-view-menu-label{font-size:10px;color:var(--text-muted)}.timeline-view-menu-field select,.timeline-view-menu-field input[type=date]{width:100%;padding:5px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);font-size:11px}.timeline-view-chip-row{display:flex;flex-wrap:wrap;gap:4px}.timeline-view-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;border:1px solid var(--border);background:var(--surface-highlight-faint);color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.timeline-view-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--surface-highlight-faint))}.timeline-view-chip.active{border-color:var(--text-on-accent);color:var(--text);background:var(--accent-chip-bg);box-shadow:inset 0 0 0 1px #ffffff59}.timeline-view-chip.active:hover{border-color:var(--text-on-accent);background:color-mix(in srgb,var(--accent) 18%,var(--accent-chip-bg));box-shadow:inset 0 0 0 1px #ffffff80}.timeline-view-chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.timeline-view-menu-toggle{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;color:var(--text);cursor:pointer}.timeline-view-menu-toggle.disabled{color:var(--text-muted);cursor:not-allowed}.timeline-view-menu-footer{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.timeline-view-clear-btn{width:100%;padding:6px 8px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:10px;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.timeline-view-clear-btn:hover{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.timeline-toolbar-actions{position:absolute;top:4px;right:6px;z-index:3;display:flex;align-items:center;gap:4px}.timeline-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;height:22px;box-sizing:border-box;padding:0 7px;border-radius:4px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.01em;line-height:1;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.timeline-toolbar-btn:hover{border-color:var(--text-on-accent);color:var(--text);background:color-mix(in srgb,#fff 8%,var(--bg-elevated));box-shadow:inset 0 0 0 1px #ffffff47}.timeline-toolbar-btn.active{border-color:var(--text-on-accent);color:var(--text);background:var(--accent-selected-bg);box-shadow:inset 0 0 0 1px #ffffff59}.timeline-toolbar-btn.active:hover{border-color:var(--text-on-accent);background:color-mix(in srgb,var(--accent) 18%,var(--accent-selected-bg));box-shadow:inset 0 0 0 1px #ffffff80}.timeline-tail-filter{transition:border-color .12s ease,color .12s ease,background .12s ease}.timeline-tail-filter:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--text)}.timeline-toolbar-btn[data-hint],.timeline-nav-btn[data-hint],.timeline-nav-current[data-hint],.timeline-tail-filter[data-hint],.timeline-scroll-lock[data-hint]{position:relative}.timeline-toolbar-btn[data-hint]:after,.timeline-nav-btn[data-hint]:after,.timeline-nav-current[data-hint]:after,.timeline-tail-filter[data-hint]:after,.timeline-scroll-lock[data-hint]:after{content:attr(data-hint);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);color:var(--text);font-family:var(--font-sans, inherit);font-size:11px;font-weight:500;letter-spacing:0;line-height:1.25;text-transform:none;white-space:nowrap;box-shadow:0 6px 18px color-mix(in srgb,#000 22%,transparent);opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:20}.timeline-toolbar-actions .timeline-toolbar-btn[data-hint]:after{left:auto;right:calc(100% + 8px)}.timeline-nav-btn[data-hint]:after,.timeline-nav-current[data-hint]:after,.timeline-tail-filter[data-hint]:after{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.timeline-scroll-lock[data-hint]:after{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.timeline-toolbar-btn[data-hint]:hover:after,.timeline-toolbar-btn[data-hint]:focus-visible:after,.timeline-nav-btn[data-hint]:hover:after,.timeline-nav-btn[data-hint]:focus-visible:after,.timeline-nav-current[data-hint]:hover:after,.timeline-nav-current[data-hint]:focus-visible:after,.timeline-tail-filter[data-hint]:hover:after,.timeline-tail-filter[data-hint]:focus-visible:after,.timeline-scroll-lock[data-hint]:hover:after,.timeline-scroll-lock[data-hint]:focus-visible:after{opacity:1}.timeline-nav{grid-row:1;position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding:4px 8px 4px 34px;border-bottom:1px solid var(--border);background:var(--surface-timeline);flex-shrink:0}.timeline-nav-center{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.timeline-nav-back,.timeline-nav-forward{display:flex;align-items:center;gap:4px}.timeline-nav-btn{width:22px;height:22px;border-radius:4px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:15px;line-height:1;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.timeline-nav-btn-week{width:26px;font-size:13px;letter-spacing:-.12em}.timeline-nav-btn:hover{border-color:var(--text-on-accent);color:var(--text);background:color-mix(in srgb,#fff 8%,var(--bg-elevated));box-shadow:inset 0 0 0 1px #ffffff47}.timeline-nav-date{position:relative;min-width:180px;text-align:center}.timeline-nav-current{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--timeline-nav-current);cursor:pointer;transition:background .12s ease,color .12s ease}.timeline-nav-current:hover{background:color-mix(in srgb,#fff 8%,var(--bg-elevated));color:var(--text);box-shadow:inset 0 0 0 1px #ffffff47}.timeline-nav-date-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none;border:0;color-scheme:inherit}.timeline-scroll{flex:1;min-width:0;min-height:0;overflow-x:auto;overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);cursor:grab;touch-action:pan-x pan-y}.timeline-scroll.is-lock-vertical{overflow-y:hidden}.timeline-scroll.is-lock-horizontal{overflow-x:hidden}.timeline-scroll::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}.timeline-scroll::-webkit-scrollbar:horizontal{height:0;display:none}.timeline-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track)}.timeline-scroll::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border:2px solid transparent;border-radius:999px;background-clip:padding-box}.timeline-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.timeline-scroll::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active)}.timeline-scroll::-webkit-scrollbar-corner{background:transparent}.timeline-scroll.is-panning,.timeline-grid-column.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.timeline-scroll.is-panning *,.timeline-grid-column.is-panning *{cursor:grabbing}.timeline-scroll.is-scrubbing,.timeline-grid-column.is-scrubbing{cursor:ew-resize;-webkit-user-select:none;user-select:none}.timeline-scroll.is-scrubbing *,.timeline-grid-column.is-scrubbing *{cursor:ew-resize}.timeline-body{grid-row:2;position:relative;z-index:1;display:flex;min-height:0;min-width:0}.timeline-fixed-labels{display:flex;flex-direction:column;flex-shrink:0;width:var(--timeline-label-width);min-height:0;border-right:1px solid var(--border);background:var(--surface-deep);overflow:visible}.timeline-axis-corner{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:2px;flex-shrink:0;height:var(--timeline-header-height);padding:4px;box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--surface-deep)}.timeline-scroll-lock{display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:0;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.timeline-scroll-lock:hover{border-color:var(--text-on-accent);color:var(--text);background:color-mix(in srgb,#fff 8%,var(--bg-elevated));box-shadow:inset 0 0 0 1px #ffffff47}.timeline-scroll-lock.active{border-color:var(--text-on-accent);color:var(--text);background:var(--accent-selected-bg);box-shadow:inset 0 0 0 1px #ffffff59}.timeline-scroll-lock:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.timeline-grid-column{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}.timeline-header-scroll{flex:0 0 var(--timeline-header-height);height:var(--timeline-header-height);overflow:hidden;margin-right:var(--scrollbar-size);background:var(--surface-timeline)}.timeline-grid-column>.timeline-selection-line{top:calc(var(--timeline-header-height) - 6px)}.timeline-label-rows{flex:1;min-height:0;overflow:hidden}.timeline-label-header{border-bottom:1px solid var(--border)}.timeline-track-area{position:relative;min-width:min-content;min-height:100%}.timeline-track-headers{height:var(--timeline-header-height);background:var(--surface-timeline)}.timeline-track-header{display:flex;flex-shrink:0;background:var(--surface-timeline)}.timeline-track{position:relative;flex-shrink:0}.timeline-data-track{position:relative;border-bottom:1px solid var(--border-subtle)}.timeline-grid{position:relative;min-width:100%}.timeline-header-row,.timeline-data-row,.timeline-empty-row{display:flex;align-items:stretch}.timeline-label-col,.timeline-sticky-col{width:88px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface-deep)}.timeline-sticky-col{position:sticky;left:0;z-index:4}.timeline-header-row .timeline-sticky-col{z-index:6}.timeline-plane-label.timeline-sticky-col{z-index:5}.timeline-fixed-labels .timeline-plane-label{display:flex;align-items:center;padding:0 6px;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border-subtle)}.timeline-group-header-label,.timeline-group-header-track{flex-shrink:0;border-bottom:1px solid var(--border-subtle-strong);background:var(--surface-highlight)}.timeline-group-header-label{display:flex;align-items:center;padding:0 8px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--timeline-accent-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-group-header-track{position:relative}.timeline-track-header,.timeline-track{position:relative;flex-shrink:0}.timeline-month-row .timeline-label-col,.timeline-day-row .timeline-label-col,.timeline-dow-row .timeline-label-col{min-height:18px}.timeline-track-header{display:flex}.timeline-month-row{border-bottom:1px solid var(--border-subtle)}.timeline-month-cell{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:4px 6px;border-right:1px solid var(--border-subtle-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-day-row{border-bottom:1px solid var(--border-subtle);height:15px}.timeline-day-cell{text-align:center;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--timeline-accent);padding:1px 0;border-right:1px solid var(--border-subtle-medium);line-height:14px;height:14px}.timeline-dow-row{border-bottom:1px solid var(--border-subtle);height:15px}.timeline-hour-row{border-bottom:1px solid var(--border);height:17px}.timeline-day-column{display:flex;flex-shrink:0;height:100%}.timeline-day-columns{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.timeline-day-column.alt-day{background:var(--row-stripe)}.timeline-hour-row .timeline-day-column.alt-day{background:var(--surface-highlight-faint)}.timeline-hour-label{display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.timeline-hour-header-cell{text-align:center;font-family:var(--font-mono);font-size:9px;color:var(--timeline-hour-muted);padding:0;border-right:1px solid var(--border-subtle-faint);flex-shrink:0;overflow:hidden;border-top:none;border-bottom:none;border-left:none;background:transparent;cursor:pointer;line-height:16px;height:16px;transition:background .12s ease,color .12s ease}.timeline-hour-header-cell:hover{background:var(--accent-hover-bg);color:var(--timeline-hour-hover-text)}.timeline-hour-header-cell.selected{background:var(--timeline-selected-bg);color:var(--timeline-selected-text);font-weight:700}.timeline-hour-header-cell.day-start{color:var(--timeline-hour-day-start);font-weight:600}.timeline-hour-header-cell.day-boundary,.timeline-hour-cell.day-boundary{border-right-color:var(--border-subtle-emphasis)}.timeline-dow-cell{text-align:center;font-family:var(--font-mono);font-size:9px;color:var(--timeline-accent-strong);padding:0 0 1px;border-right:1px solid var(--border-subtle-medium);text-transform:uppercase;line-height:14px;height:14px}.timeline-plane-label{display:flex;align-items:center;padding:0 8px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text)}.timeline-data-track .timeline-hour-grid{cursor:pointer;background-image:repeating-linear-gradient(to right,transparent 0,transparent 49px,var(--border-subtle-faint) 49px,var(--border-subtle-faint) 50px)}.timeline-hour-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.timeline-hour-cell{height:100%;border-right:1px solid var(--border-subtle-faint);flex-shrink:0;border-top:none;border-bottom:none;border-left:none;padding:0;background:transparent;cursor:pointer;transition:background .12s ease}.timeline-hour-cell:hover{background:var(--accent-muted-bg)}.timeline-hour-cell.selected{background:var(--timeline-selected-bg-medium)}.timeline-hour-cell.alt-day{background:transparent}.timeline-bar{position:absolute;top:3px;bottom:3px;border-radius:3px;min-width:6px;display:flex;align-items:center;padding:0 3px;box-shadow:inset 0 0 0 1px var(--timeline-bar-inset);z-index:2;pointer-events:auto;cursor:pointer;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;font:inherit}.timeline-bar.selected{box-shadow:inset 0 0 0 2px var(--timeline-selected-text);z-index:5}.timeline-scroll.is-panning .timeline-bar{cursor:grabbing}.timeline-bar-icon{font-size:8px;line-height:1;opacity:.9}.timeline-bar--planned{z-index:3}.timeline-bar--unassigned{z-index:2;background:repeating-linear-gradient(-45deg,var(--unassigned-bar-base, rgba(148, 163, 184, .35)) 0 6px,var(--unassigned-bar-stripe, rgba(226, 232, 240, .2)) 6px 12px);border-left:3px solid var(--unassigned-bar-accent, var(--text-muted));opacity:.95}.timeline-bar--placeable{cursor:grab}.timeline-bar--placeable:active{cursor:grabbing}.timeline-bar--extra{z-index:2;background:repeating-linear-gradient(var(--extra-bar-angle, 45deg),var(--extra-bar-base, rgba(148, 163, 184, .28)) 0 var(--extra-bar-band, 5px),var(--extra-bar-stripe, rgba(251, 191, 36, .35)) var(--extra-bar-band, 5px) calc(var(--extra-bar-band, 5px) * 2));border-left:3px solid var(--extra-bar-accent, #f59e0b);opacity:.95}.timeline-bar--extra-solid{background:var(--extra-bar-base, rgba(245, 158, 11, .28))}.scheduling-import-input{display:none}.scheduling-import-summary{margin:0 var(--schedule-page-gutter, 20px) 12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-deep);font-size:12px;color:var(--text-muted)}.scheduling-import-error{border-color:var(--status-danger-border);color:var(--status-danger-text)}.scheduling-import-warnings{margin:8px 0 0;padding-left:18px}.scheduling-page .schedule-page-empty{margin:0}.timeline-selection-line{position:absolute;bottom:0;width:14px;margin-left:-7px;z-index:8;pointer-events:auto;cursor:ew-resize;touch-action:none;outline:none}.timeline-selection-line-shaft{position:absolute;left:50%;top:10px;bottom:0;width:2px;transform:translate(-50%);background:var(--timeline-scrubber, #eab308);box-shadow:0 0 0 1px color-mix(in srgb,var(--timeline-scrubber-strong, #ca8a04) 55%,transparent),0 0 8px color-mix(in srgb,var(--timeline-scrubber, #eab308) 40%,transparent);pointer-events:none}.timeline-selection-line-handle{position:absolute;left:50%;top:0;width:12px;height:12px;transform:translate(-50%);border-radius:2px;background:var(--timeline-scrubber, #eab308);border:1px solid var(--timeline-scrubber-strong, #ca8a04);box-shadow:0 1px 2px #00000059,inset 1px 0 color-mix(in srgb,#fff 28%,transparent),inset -1px 0 color-mix(in srgb,#000 25%,transparent);pointer-events:none}.timeline-selection-line-handle:before,.timeline-selection-line-handle:after{content:"";position:absolute;top:3px;bottom:3px;width:1px;background:color-mix(in srgb,#000 40%,transparent)}.timeline-selection-line-handle:before{left:3px}.timeline-selection-line-handle:after{right:3px}.timeline-selection-line:hover .timeline-selection-line-shaft,.timeline-selection-line.is-dragging .timeline-selection-line-shaft{width:3px;background:var(--timeline-scrubber-strong, #ca8a04);box-shadow:0 0 0 1px color-mix(in srgb,var(--timeline-scrubber-strong, #ca8a04) 65%,transparent),0 0 12px color-mix(in srgb,var(--timeline-scrubber, #eab308) 55%,transparent)}.timeline-selection-line:hover .timeline-selection-line-handle,.timeline-selection-line.is-dragging .timeline-selection-line-handle,.timeline-selection-line:focus-visible .timeline-selection-line-handle{background:var(--timeline-scrubber-strong, #ca8a04);transform:translate(-50%) scale(1.08);box-shadow:0 1px 4px #0006,inset 1px 0 color-mix(in srgb,#fff 32%,transparent),inset -1px 0 color-mix(in srgb,#000 25%,transparent)}.timeline-selection-line.is-dragging{cursor:ew-resize}.timeline-empty-track{display:flex;align-items:center;padding:0 10px;color:var(--text-muted);font-size:11px}.schedule-position{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.schedule-page{--schedule-page-gutter: 20px;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg-panel)}.schedule-page.drag-over{outline:2px dashed var(--accent);outline-offset:-4px;background:var(--accent-drag-bg)}.schedule-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px var(--schedule-page-gutter) 16px;border-bottom:1px solid var(--border)}.schedule-page-header h2{font-size:16px;font-weight:650}.schedule-page-header p{margin-top:4px;font-size:11px;color:var(--text-muted);max-width:52ch}.schedule-page-toolbar{display:flex;align-items:center;gap:var(--control-gap);padding:12px var(--schedule-page-gutter) 0}.schedule-page-search{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text);font-size:12px}.schedule-page-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle-bg)}.schedule-page-toolbar .schedule-page-add{flex-shrink:0}.schedule-page-count{padding:10px var(--schedule-page-gutter) 0;font-size:11px;font-weight:600;color:var(--text-muted);font-family:var(--font-mono)}.schedule-page-actions{display:flex;align-items:center;gap:var(--control-gap)}.schedule-page-actions select{min-width:200px;padding:0 var(--control-select-pad-end) 0 var(--control-pad-x-sm);border:1px solid var(--border);background-color:var(--bg-elevated);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b9cb3' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;color:var(--text);-moz-appearance:none;appearance:none;-webkit-appearance:none}.schedule-page-add{background:var(--accent);color:var(--text-on-accent);font-weight:600}.schedule-page-add:disabled{opacity:.5}.schedule-page-place{font-weight:600;background:var(--accent);color:var(--text-on-accent)}.schedule-page-place:disabled{opacity:.5}.schedule-placed-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.schedule-placed-badge.is-placed{background:var(--status-safe-badge-bg);color:var(--status-safe)}.schedule-placed-badge.is-pending{background:var(--status-warn-badge-bg);color:var(--status-warn)}.schedule-row-pending{opacity:.92}.schedule-page-drop-hint{margin:0 var(--schedule-page-gutter) 8px;padding:10px 12px;border-radius:6px;border:1px dashed var(--accent);background:var(--accent-subtle-bg);color:var(--accent);font-size:12px;font-weight:600}.schedule-page-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:13px;padding:32px var(--schedule-page-gutter)}.schedule-page-empty-filtered{flex:0;padding-top:24px;padding-bottom:24px}.schedule-page-table-wrap{flex:1;min-height:0;overflow:auto;padding:12px var(--schedule-page-gutter) 20px}.schedule-page-table{width:100%;min-width:640px;border-collapse:collapse;font-size:11px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.schedule-page-table th,.schedule-page-table td{padding:8px 12px;border-bottom:1px solid var(--border);border-right:1px solid var(--border-subtle);text-align:left;vertical-align:middle;white-space:nowrap}.schedule-page-table th:last-child,.schedule-page-table td:last-child{border-right:none}.schedule-page-table tbody tr:last-child td{border-bottom:none}.schedule-page-table th{position:sticky;top:0;z-index:2;background:var(--surface-deep);color:var(--text-muted);font-family:var(--font-mono);font-size:9px;font-weight:500;text-transform:uppercase}.schedule-page-table tbody tr:nth-child(2n){background:var(--row-stripe)}.schedule-page-table tbody tr:hover{background:var(--row-hover)}.schedule-page-table input,.schedule-page-table select{width:100%;min-width:72px;padding:5px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-elevated);color:var(--text);color-scheme:inherit;font-size:11px}.schedule-row-num{width:40px;text-align:center;font-family:var(--font-mono);color:var(--text-muted)}.schedule-aircraft-type{font-size:11px}.schedule-check{text-align:center}.schedule-check input{min-width:auto;width:auto;accent-color:var(--accent)}.library-item[draggable=true]{cursor:grab}.library-item[draggable=true]:active{cursor:grabbing}.scheduling-page{--schedule-page-gutter: clamp(18px, 3vw, 40px);padding:clamp(16px,2.25vw,28px);gap:14px;overflow:hidden;background:linear-gradient(135deg,var(--surface-deep),transparent 36%),var(--bg-panel)}.scheduling-page .schedule-page-header{align-items:center;padding:0 2px 14px;border-bottom:1px solid var(--border-subtle-strong)}.schedule-page-heading{min-width:0}.scheduling-page .schedule-page-header h2{margin:0;color:var(--text-bright);font-size:clamp(20px,2vw,26px);font-weight:650;letter-spacing:-.025em;line-height:1.1}.scheduling-page .schedule-page-header p{max-width:60ch;margin:6px 0 0;font-size:12px;line-height:1.45}.scheduling-page .schedule-page-actions{flex-shrink:0}.scheduling-page .schedule-page-add,.scheduling-page .schedule-page-export{min-height:34px;padding:0 13px;border:1px solid transparent;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.01em}.scheduling-page .schedule-page-add{box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 20%,transparent)}.scheduling-page .schedule-page-add:hover:not(:disabled){background:var(--accent-hover)}.scheduling-page .schedule-page-export{flex-shrink:0;border-color:var(--border);background:var(--bg-elevated);color:var(--text)}.scheduling-page .schedule-page-export:hover:not(:disabled){border-color:var(--accent);background:var(--accent-subtle-bg)}.scheduling-page .schedule-page-add:focus-visible,.scheduling-page .schedule-page-export:focus-visible,.scheduling-page .schedule-page-clear-search:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scheduling-page .schedule-manifest{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface-deep);box-shadow:0 14px 32px color-mix(in srgb,var(--shadow-color) 28%,transparent)}.schedule-manifest-header{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:16px 18px 13px;border-bottom:1px solid var(--border-subtle-strong);background:var(--surface-highlight-faint)}.schedule-manifest-header h3{margin:0;color:var(--text-bright);font-size:14px;font-weight:650;letter-spacing:-.01em}.scheduling-page .schedule-page-count{flex-shrink:0;margin:0;padding:0;color:var(--timeline-accent-strong);font-size:10px;letter-spacing:.015em;text-align:right}.scheduling-page .schedule-page-toolbar{padding:12px 18px;border-bottom:1px solid var(--border-subtle);background:var(--surface-highlight-faint)}.scheduling-page .schedule-page-search{height:34px;padding:0 11px;border-radius:5px;background:var(--bg-panel);font-size:12px}.scheduling-page .schedule-page-table-wrap{padding:0;background:var(--surface-deep)}.scheduling-page .schedule-page-table{min-width:710px;border:0;border-radius:0;font-size:12px}.scheduling-page .schedule-page-table th,.scheduling-page .schedule-page-table td{padding:11px 14px;border-right:0}.scheduling-page .schedule-page-table th{top:0;z-index:2;padding-top:9px;padding-bottom:9px;border-bottom-color:var(--border-subtle-strong);background:var(--bg-elevated);color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.08em}.scheduling-page .schedule-page-table tbody tr{transition:background .12s ease}.scheduling-page .schedule-page-table tbody tr:nth-child(2n){background:var(--surface-highlight-faint)}.scheduling-page .schedule-page-table tbody tr:hover{background:var(--accent-subtle-bg)}.scheduling-page .schedule-row-num{width:42px;color:var(--text-muted);font-size:10px}.scheduling-page .schedule-tail{color:var(--text-bright);font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.025em}.scheduling-page .schedule-aircraft-type{color:var(--text);font-family:var(--font-mono);font-size:11px}.scheduling-page .schedule-flight-window{min-width:290px;color:var(--text);font-family:var(--font-mono);font-size:10px;vertical-align:middle}.schedule-flight-window-content{display:flex;align-items:center;gap:9px}.schedule-flight-time{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}.schedule-flight-time-label{color:var(--text-muted);font-family:var(--font-sans);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.schedule-flight-direction{color:var(--timeline-accent);font-size:15px;font-weight:400;line-height:1}.scheduling-page .schedule-visit-cell{width:1%}.schedule-visit-tag{display:inline-flex;align-items:center;min-height:21px;padding:0 8px;border:1px solid var(--visit-type-color, var(--accent-chip-border));border-radius:999px;background:color-mix(in srgb,var(--visit-type-color, var(--accent)) 14%,transparent);color:var(--text);font-size:10px;font-weight:650;line-height:1;white-space:nowrap}.scheduling-page .schedule-page-empty{margin:0;text-align:center;background:radial-gradient(circle at center,var(--accent-subtle-bg),transparent 55%)}.scheduling-page .schedule-page-empty p{max-width:48ch;margin:0;line-height:1.5}.scheduling-page .schedule-page-empty p:first-child{color:var(--text);font-weight:650}.scheduling-page .schedule-page-empty-filtered{flex:1}.schedule-page-clear-search{margin-top:4px;padding:0;border:0;background:transparent;color:var(--timeline-accent-strong);font-size:11px;font-weight:650;cursor:pointer}.schedule-page-clear-search:hover{color:var(--text-bright);text-decoration:underline;text-underline-offset:3px}.scheduling-page .scheduling-import-summary{position:relative;margin:0;padding:11px 84px 11px 14px;border-radius:7px;background:var(--surface-deep);box-shadow:0 8px 20px color-mix(in srgb,var(--shadow-color) 14%,transparent)}.scheduling-page .scheduling-import-summary.is-expanded{max-height:min(30vh,220px);overflow-y:auto}.scheduling-page .scheduling-import-summary.is-collapsed .scheduling-import-warnings,.scheduling-page .scheduling-import-summary.is-collapsed .scheduling-import-detail{display:none}.scheduling-page .scheduling-import-summary p{margin:0;line-height:1.45}.scheduling-import-dismiss,.scheduling-import-toggle{position:absolute;top:10px;right:12px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-elevated);color:var(--text-muted);font-size:10px;font-weight:650;cursor:pointer}.scheduling-import-dismiss:hover,.scheduling-import-toggle:hover{border-color:var(--accent);color:var(--text)}.scheduling-import-dismiss:focus-visible,.scheduling-import-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:640px){.scheduling-page{--schedule-page-gutter: 16px;gap:12px;padding:14px;overflow:auto}.scheduling-page .schedule-page-header,.schedule-manifest-header{align-items:flex-start;flex-direction:column}.scheduling-page .schedule-page-header{gap:12px;padding-bottom:12px}.scheduling-page .schedule-page-actions,.scheduling-page .schedule-page-add{width:100%}.scheduling-page .schedule-manifest{flex:none;overflow:visible}.schedule-manifest-header{gap:8px;padding:14px}.scheduling-page .schedule-page-count{text-align:left}.scheduling-page .schedule-page-toolbar{align-items:stretch;flex-direction:column;padding:10px 14px}.scheduling-page .schedule-page-export{width:100%}.scheduling-page .schedule-page-table-wrap{overflow:visible}.scheduling-page .schedule-page-table,.scheduling-page .schedule-page-table tbody,.scheduling-page .schedule-page-table tr,.scheduling-page .schedule-page-table td{display:block;width:100%;min-width:0}.scheduling-page .schedule-page-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.scheduling-page .schedule-page-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 14px;padding:14px;border-bottom:1px solid var(--border)}.scheduling-page .schedule-page-table tbody tr:last-child{border-bottom:0}.scheduling-page .schedule-page-table tbody tr:nth-child(2n){background:var(--surface-highlight-faint)}.scheduling-page .schedule-page-table td{padding:0;border:0}.scheduling-page .schedule-row-num{grid-column:2;grid-row:1;width:auto;padding-top:2px;text-align:right}.scheduling-page .schedule-tail{grid-column:1;grid-row:1;font-size:14px}.scheduling-page .schedule-aircraft-type{grid-column:1 / -1;grid-row:2;margin-top:3px;color:var(--text-muted)}.scheduling-page .schedule-flight-window{grid-column:1 / -1;grid-row:3;min-width:0;margin-top:11px;padding-top:10px;border-top:1px solid var(--border-subtle)}.schedule-flight-window-content{flex-wrap:wrap}.scheduling-page .schedule-visit-cell{grid-column:1 / -1;grid-row:4;width:auto;margin-top:10px}}.reports-page{--reports-page-gutter: clamp(18px, 3vw, 40px);flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding:clamp(16px,2.25vw,28px);gap:14px;overflow:auto;background:linear-gradient(135deg,var(--surface-deep),transparent 36%),var(--bg-panel)}.reports-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px 14px;border-bottom:1px solid var(--border-subtle-strong)}.reports-page-header h2,.reports-catalogue-header h3,.reports-list-copy h4,.reports-page-header p,.reports-catalogue-header p,.reports-list-copy p{margin:0}.reports-page-header h2{color:var(--text-bright);font-size:clamp(20px,2vw,26px);font-weight:650;letter-spacing:-.025em;line-height:1.1}.reports-page-header p{max-width:60ch;margin-top:6px;color:var(--text-muted);font-size:12px;line-height:1.45}.reports-period{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.reports-period-form{display:flex;align-items:end;gap:10px}.reports-period-form label{display:flex;flex-direction:column;gap:4px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.reports-period-form input{min-height:32px;min-width:148px;padding:0 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-panel);color:var(--text);font:inherit;font-size:12px;text-transform:none}.reports-period-form input:focus{outline:2px solid var(--accent);outline-offset:2px}.reports-period-error{margin:0;color:var(--status-danger-text);font-size:12px;line-height:1.4}.reports-catalogue{align-self:flex-start;width:min(100%,860px);overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface-deep);box-shadow:0 14px 32px color-mix(in srgb,var(--shadow-color) 28%,transparent)}.reports-catalogue-header{padding:16px 18px 13px;border-bottom:1px solid var(--border-subtle-strong);background:var(--surface-highlight-faint)}.reports-catalogue-header h3{color:var(--text-bright);font-size:14px;font-weight:650;letter-spacing:-.01em}.reports-catalogue-header p{margin-top:4px;color:var(--text-muted);font-size:11px;line-height:1.45}.reports-list{margin:0;padding:0;list-style:none}.reports-list-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border-bottom:1px solid var(--border-subtle)}.reports-list-item:last-child{border-bottom:none}.reports-list-copy{flex:1 1 auto;min-width:0}.reports-list-copy h4{color:var(--text);font-size:13px;font-weight:650;line-height:1.35}.reports-list-copy p{margin-top:4px;color:var(--text-muted);font-size:12px;line-height:1.45}.reports-housekeeping{margin-top:14px}.reports-list-copy .reports-housekeeping-subtitle{margin:0;color:var(--text);font-size:11px;font-weight:650;letter-spacing:-.01em;line-height:1.35}.reports-housekeeping-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-top:8px}.reports-housekeeping-form label{display:flex;flex-direction:column;gap:4px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.reports-housekeeping-form input,.reports-housekeeping-form select{min-height:32px;min-width:132px;padding:0 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-panel);color:var(--text);font:inherit;font-size:12px;text-transform:none}.reports-housekeeping-form select{min-width:150px}.reports-housekeeping-form button,.reports-housekeeping-list button{min-height:32px;padding:0 10px;border:1px solid var(--border);border-radius:5px;background:var(--bg-elevated);color:var(--text);font-size:11px;font-weight:700;cursor:pointer}.reports-housekeeping-form button:disabled{cursor:not-allowed;opacity:.55}.reports-housekeeping-form input:focus,.reports-housekeeping-form select:focus,.reports-housekeeping-form button:focus-visible,.reports-housekeeping-list button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reports-housekeeping-error{margin-top:8px;color:var(--status-danger-text)}.reports-housekeeping-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}.reports-housekeeping-list li{display:flex;align-items:center;gap:8px;padding:4px 5px 4px 9px;border:1px solid var(--border-subtle-emphasis);border-radius:5px;background:var(--surface-highlight-faint);color:var(--text-muted);font-family:var(--font-mono);font-size:10px}.reports-housekeeping-list button{min-height:22px;padding:0 6px;border-color:transparent;background:transparent;color:var(--text-muted);font-family:inherit;font-size:inherit}.reports-housekeeping-list button:hover{color:var(--status-danger-text)}.reports-list-actions{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;gap:12px}.reports-export{min-height:34px;padding:0 13px;border:1px solid var(--border);border-radius:5px;background:var(--bg-elevated);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.01em}.reports-export:hover:not(:disabled){border-color:var(--accent);background:var(--accent-subtle-bg);color:var(--text)}.reports-export:focus-visible,.reports-export-error button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reports-export:disabled{cursor:not-allowed;opacity:.55}.reports-export-error{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid var(--status-danger-border);background:var(--status-danger-bg);color:var(--status-danger-text);font-size:12px;line-height:1.45}.reports-export-error p{margin:0}.reports-export-error button{flex-shrink:0;padding:0;border:none;background:none;color:inherit;font:inherit;font-weight:700;cursor:pointer}@media(max-width:620px){.reports-page-header,.reports-period,.reports-period-form{align-items:stretch;flex-direction:column}.reports-period-form input{min-width:0;width:100%}.reports-list-item{align-items:flex-start;flex-direction:column}.reports-list-actions{width:100%;justify-content:space-between}.reports-housekeeping-form{align-items:stretch}.reports-housekeeping-form label,.reports-housekeeping-form input,.reports-housekeeping-form select,.reports-housekeeping-form button{flex:1 1 100%;min-width:0}.reports-export-error{align-items:flex-start;flex-direction:column;gap:6px}}.reports-capture-host{position:fixed;top:0;left:-10000px;width:1400px;height:900px;display:flex;flex-direction:column;pointer-events:none}.home-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:22px;padding:clamp(18px,2.4vw,32px);overflow:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 180px),var(--bg-panel)}.home-greeting h1{margin:0;color:var(--text-bright);font-size:clamp(20px,1.8vw,26px);font-weight:650;letter-spacing:-.035em;line-height:1.05}.home-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.home-metric{min-height:108px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:14px 16px 16px;border:1px solid var(--border-subtle-strong);border-radius:8px;background:color-mix(in srgb,var(--bg-elevated) 86%,transparent)}.home-metric h2,.home-metric p,.home-activity-heading h2,.home-activity-heading p,.home-operations h3,.home-moves h3,.home-moves-empty{margin:0}.home-metric h2{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.home-metric p{color:var(--text-bright);font-family:var(--font-mono);font-size:clamp(28px,2.4vw,36px);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.home-metric-reserved{background:transparent}.home-activity{display:flex;flex-direction:column;gap:18px;min-width:0}.home-activity-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle-strong)}.home-activity-heading h2,.home-operations h3,.home-moves h3{color:var(--text-bright);font-weight:650;letter-spacing:-.02em}.home-activity-heading h2{font-size:clamp(18px,1.6vw,22px)}.home-activity-heading p,.home-operations h3,.home-moves h3{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.home-operations h3,.home-moves h3{margin-bottom:10px}.home-operations ul{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px 28px;margin:0;padding:0;list-style:none}.home-operations-separator{width:1px;min-height:22px;align-self:stretch;background:var(--border-subtle-emphasis)}.home-operations li{display:flex;align-items:baseline;gap:8px;color:var(--text-muted);font-size:13px;font-weight:650}.home-operations li span{color:var(--text-bright);font-family:var(--font-mono);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.home-moves-empty{color:var(--text-muted);font-size:13px}.home-moves-board{overflow:auto;border:1px solid var(--border-subtle-strong);border-radius:8px;background:var(--bg-elevated)}.home-moves-board table{width:100%;border-collapse:collapse;min-width:420px}.home-moves-board th,.home-moves-board td{padding:11px 14px;text-align:left;vertical-align:baseline}.home-moves-board th{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border-subtle-strong)}.home-moves-board td{color:var(--text);font-size:14px;border-top:1px solid var(--border-subtle)}.home-moves-board tbody tr:first-child td{border-top:0}.home-move-time{width:5.5rem;color:var(--text-bright);font-family:var(--font-mono);font-variant-numeric:tabular-nums;box-shadow:inset 3px 0 0 var(--accent)}.home-moves-board td:nth-child(2){color:var(--text-bright);font-weight:650;letter-spacing:.01em}@media(max-width:980px){.home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.home-metrics{grid-template-columns:1fr}.home-activity-heading{align-items:flex-start;flex-direction:column;gap:6px}}@media(prefers-reduced-motion:reduce){.home-page{scroll-behavior:auto}}.modal.hangar-designer.logs-dialog{width:min(1180px,98vw);height:min(760px,94vh);max-height:min(94vh,760px)}.modal.logs-dialog .modal-header{padding:16px 20px 0}.modal.logs-dialog .modal-header h2{font-size:17px}.modal.logs-dialog .modal-header p{margin-top:2px;font-size:12px}.modal.logs-dialog>.logs-dialog-body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.logs-dialog-message{flex-shrink:0;margin:16px 20px 0}.logs-dialog-status{flex:1;display:flex;align-items:center;justify-content:center;margin:0;padding:24px 20px;color:var(--text-muted);font-size:13px;text-align:center}.logs-dialog-count{flex-shrink:0;margin:0;padding:14px 20px 0;font-size:11px;font-weight:600;color:var(--text-muted);font-family:var(--font-mono)}.logs-dialog-table-wrap{flex:1;min-height:0;overflow:auto;padding:12px 20px 16px}.logs-dialog-table{width:100%;min-width:720px;border-collapse:collapse;font-size:11px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.logs-dialog-table th,.logs-dialog-table td{padding:8px 12px;border-bottom:1px solid var(--border);border-right:1px solid var(--border-subtle);text-align:left;vertical-align:top}.logs-dialog-table th:last-child,.logs-dialog-table td:last-child{border-right:none}.logs-dialog-table tbody tr:last-child td{border-bottom:none}.logs-dialog-table th{position:sticky;top:0;z-index:2;background:var(--surface-deep);color:var(--text-muted);font-family:var(--font-mono);font-size:9px;font-weight:500;text-transform:uppercase;white-space:nowrap}.logs-dialog-table td{white-space:nowrap}.logs-dialog-table td.logs-page-summary{white-space:normal;min-width:16rem;max-width:36rem}.logs-page-change-text{line-height:1.45}.logs-page-details-toggle{margin-top:6px;padding:0;border:none;background:none;color:var(--accent, #60a5fa);font-size:11px;cursor:pointer}.logs-page-details{margin:8px 0 0;padding:8px;border-radius:6px;background:var(--surface-deep);color:var(--text-muted);font-family:var(--font-mono);font-size:10px;line-height:1.4;white-space:pre-wrap;overflow-x:auto}.logs-dialog-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.logs-dialog-footer .secondary-btn.control{width:auto;flex-shrink:0}.logs-dialog-page-label{justify-self:center;color:var(--text-muted);font-size:12px;text-align:center}.logs-dialog-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px}.logs-page-table .logs-page-time{white-space:nowrap}.logs-page-summary{max-width:none}.logs-page-action{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#94a3b82e;color:var(--text-secondary, #94a3b8)}.logs-page-action-create{background:#22c55e29;color:#4ade80}.logs-page-action-update,.logs-page-action-settings_apply{background:#3b82f629;color:#60a5fa}.logs-page-action-soft_delete{background:#ef444429;color:#f87171}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px 16px}.modal-overlay-raised{z-index:110}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;width:420px;max-width:92vw;max-height:min(88vh,640px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 48px var(--modal-shadow)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 0;flex-shrink:0}.modal-header h2{font-size:18px;font-weight:700}.modal-header p{font-size:12px;color:var(--text-muted);margin-top:4px}.modal-close{font-size:24px;line-height:1;color:var(--text-muted);padding:4px 8px}.modal-close:hover{color:var(--text)}.designer-form{padding:20px;display:flex;flex-direction:column;gap:14px;min-height:0;overflow-y:auto}.designer-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.designer-form input{padding:10px 12px;font-size:14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px}.designer-form input:focus{outline:none;border-color:var(--accent)}.designer-form input.input-readonly,.designer-form input:disabled{opacity:.72;cursor:default}.designer-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.new-aircraft-status-wrap{margin-top:0;width:100%;min-width:0}.new-aircraft-status-wrap select{flex:1;min-width:0;padding:10px 12px;font-size:14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px}.designer-preview{margin-top:4px}.modal.new-aircraft-dialog{width:min(520px,92vw);max-height:min(92vh,720px)}.modal.schedule-import-clash-dialog{width:min(520px,92vw)}.modal.schedule-import-clash-dialog .modal-header{padding-bottom:8px}.modal.schedule-import-clash-dialog .modal-header>div{display:flex;flex-direction:column;gap:10px}.modal.schedule-import-clash-dialog .modal-header h2{margin:0}.modal.schedule-import-clash-dialog .modal-header p{margin:0;line-height:1.45}.schedule-import-clash-body{padding:0 20px 8px;display:grid;gap:12px;font-size:13px;color:var(--text-muted)}.schedule-import-clash-body p{margin:0;line-height:1.5}.silhouette-delete-warnings{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--text-muted);font-size:13px;line-height:1.45}.modal.schedule-import-clash-dialog .modal-footer-actions{display:flex;align-items:center;gap:10px}.modal.schedule-import-clash-dialog .modal-footer-actions>.secondary-btn:first-child{flex:0 0 auto;width:auto}.modal.schedule-import-clash-dialog .modal-footer-actions>.secondary-btn:not(:first-child),.modal.schedule-import-clash-dialog .modal-footer-actions>.primary-btn{flex:1 1 0;width:auto;min-width:0}.modal.schedule-import-discard-dialog{width:min(680px,92vw);max-height:min(88vh,720px)}.schedule-import-discard-body{padding:4px 24px 12px;min-height:0}.schedule-import-discard-table-wrap{max-height:min(52vh,480px);overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.modal.schedule-import-discard-dialog .modal-header{padding:20px 24px 0}.modal.schedule-import-discard-dialog .modal-footer{padding:16px 24px 20px}.schedule-import-discard-table{width:100%;min-width:100%;border-collapse:collapse;font-size:12px}.schedule-import-discard-table th,.schedule-import-discard-table td{padding:9px 14px;border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle}.schedule-import-discard-table th{position:sticky;top:0;z-index:1;background:var(--surface-deep, var(--bg-panel));color:var(--text-muted);font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.schedule-import-discard-table tbody tr:nth-child(2n){background:var(--row-stripe)}.schedule-import-discard-table tbody tr:last-child td{border-bottom:none}.schedule-import-discard-row{width:48px;text-align:center;font-family:var(--font-mono);color:var(--text-muted)}.schedule-import-discard-table .mono{font-family:var(--font-mono);font-size:11px}.modal-footer-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.modal-footer-actions .primary-btn,.modal-footer-actions .secondary-btn{width:auto;flex-shrink:0}.new-aircraft-form-wrap{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}.new-aircraft-form textarea{width:100%;min-width:0;padding:10px 12px;font-size:14px;font-family:inherit;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;resize:vertical;min-height:64px}.new-aircraft-form textarea:focus{outline:none;border-color:var(--accent)}.new-aircraft-form .aircraft-details-form-row input{width:100%;min-width:0}.new-aircraft-error{margin:-6px 0 0;font-size:12px;color:var(--status-danger-error-text)}.modal-footer.new-aircraft-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;flex-shrink:0;padding:16px 20px 20px;margin-top:0}.modal-footer.new-aircraft-footer>.primary-btn,.modal-footer.new-aircraft-footer>.secondary-btn{width:auto;flex-shrink:0}.modal.hangar-designer{width:min(1040px,96vw);height:min(720px,92vh);max-height:min(92vh,720px)}.modal.hangar-designer.settings-dialog{width:min(1376px,98vw);height:min(760px,94vh);max-height:min(94vh,760px)}.modal>.designer-body,.settings-tab-pane{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.settings-tab-pane[hidden]{display:none}.settings-main>:is(.settings-silhouette-panel,.settings-visit-types-panel,.settings-preset-panel,.settings-appearance-panel,.settings-clearance-panel,.settings-miscellaneous-panel,.hangars-settings-panel),.settings-tab-pane>:is(.settings-visit-types-panel,.hangars-settings-panel){flex:1 1 auto;min-height:0;overflow:hidden}.settings-main>:is(.settings-silhouette-panel,.settings-visit-types-panel,.settings-appearance-panel,.settings-clearance-panel,.settings-miscellaneous-panel),.settings-tab-pane>.settings-visit-types-panel{overflow-y:auto}.tail-config-toolbar{display:flex;align-items:center;flex-shrink:0;gap:12px;padding:16px 20px 0}.tail-config-search-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:center}.tail-config-search{width:100%;padding:0 var(--control-pad-x);border:1px solid var(--border);background:var(--bg-panel);color:var(--text);-moz-appearance:none;appearance:none;-webkit-appearance:none}.tail-config-search::-webkit-search-decoration,.tail-config-search::-webkit-search-cancel-button{-webkit-appearance:none}.tail-config-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:2;list-style:none;margin:0;padding:4px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);box-shadow:0 8px 24px #00000040;max-height:220px;overflow-y:auto}.tail-config-search-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:6px;border:none;background:transparent;color:var(--text);font-size:12px;text-align:left}.tail-config-search-option:hover{background:var(--accent-selected-bg)}.tail-config-search-type{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px}.tail-config-individual{display:flex;align-items:center;gap:8px;flex-shrink:0}.tail-config-individual select{min-width:var(--control-min-width-select);padding:0 var(--control-select-pad-end) 0 var(--control-pad-x-sm);border:1px solid var(--border);background-color:var(--bg-panel);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b9cb3' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;color:var(--text);-moz-appearance:none;appearance:none;-webkit-appearance:none}.tail-config-toolbar .tail-config-save-one.primary-btn{width:auto;white-space:nowrap;flex-shrink:0}.tail-config-body{min-height:0}.tail-config-unassigned-tab{margin-bottom:4px}.tail-config-unassigned-list{display:flex;flex-direction:column;gap:4px}.tail-config-unassigned-option.active{background:var(--accent-selected-bg);box-shadow:inset 0 0 0 1px var(--accent-chip-border)}.tail-config-empty{margin:0;font-size:12px;color:var(--text-muted)}.tail-config-type-tab .designer-hangar-tab-name{display:inline-flex;align-items:center;gap:8px}.tail-config-main{padding:20px;display:flex;flex-direction:column;gap:14px;min-height:0;overflow-y:auto}.tail-config-main-header h3{margin:0;font-size:14px;font-weight:600}.tail-config-main-header p{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.tail-config-rows{display:flex;flex-direction:column;gap:8px}.tail-config-row-input{width:100%;padding:0 var(--control-pad-x);border:1px solid var(--border);background:var(--bg-panel);color:var(--text);font-family:var(--font-mono)}.tail-config-row-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-selected-bg)}.settings-shell{display:flex;flex:1 1 auto;min-height:0;border-top:1px solid var(--border)}.settings-nav{flex:0 0 196px;width:196px;display:flex;flex-direction:column;gap:16px;padding:14px 10px;border-right:1px solid var(--border);background:var(--bg-elevated);overflow-y:auto;min-height:0}.settings-nav-group{display:flex;flex-direction:column;gap:2px}.settings-nav-label{padding:0 8px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.settings-nav-item{display:block;width:100%;padding:7px 10px;border:1px solid transparent;border-radius:var(--control-radius);background:transparent;color:var(--text);font-size:13px;font-weight:600;line-height:1.3;text-align:left}.settings-nav-item:hover{background:color-mix(in srgb,var(--bg-panel) 70%,transparent)}.settings-nav-item.active{border-color:var(--accent);background:var(--accent-selected-bg)}.settings-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.settings-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.settings-preset-panel{display:flex;flex-direction:column;min-height:0;border-bottom:1px solid var(--border)}.settings-preset-intro{padding:14px 20px 0}.settings-preset-intro h3{font-size:14px;font-weight:650;color:var(--text)}.settings-preset-intro p{margin-top:4px;font-size:12px;color:var(--text-muted);line-height:1.4}.settings-preset-panel .tail-config-toolbar{padding:12px 20px;border-bottom:1px solid var(--border)}.settings-preset-body{flex:1;min-height:280px;max-height:none;overflow:hidden}.settings-preset-body .tail-config-main{overflow:auto}.hup-designation-add{flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:8px;padding-bottom:8px}.hup-designation-input{box-sizing:border-box;width:100%;min-width:0;height:var(--control-height);padding:0 var(--control-pad-x);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--bg-panel);color:var(--text);font-family:inherit;font-size:var(--control-font);line-height:1.2;color-scheme:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}.hup-designation-input.mono{font-family:var(--font-mono)}.hup-designation-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-selected-bg)}.hup-designation-input::placeholder{color:var(--text-muted)}.hup-designation-tail{width:160px;flex:none}.hup-designation-date .hup-designation-input,.hup-designation-table input[type=date]{width:150px}.hup-designation-date{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-muted)}.hup-designation-table-wrap{flex:1;min-height:0;overflow:auto;margin:12px 20px 20px;border:1px solid var(--border);border-radius:8px}.hup-designation-table{width:100%;border-collapse:collapse;font-size:13px}.hup-designation-table tr:last-child td{border-bottom:none}.hup-designation-table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--bg-elevated);color:var(--text-muted);border-bottom:1px solid var(--border)}.hup-designation-table td{padding:10px 12px;vertical-align:middle;border-bottom:1px solid var(--border)}.hup-designation-until{display:flex;align-items:center;gap:8px}.hup-designation-table input.mono{width:160px}.hup-designation-table th:last-child,.hup-designation-table td:last-child{text-align:right;width:1%;white-space:nowrap}.hup-designation-status{font-size:12px;font-weight:650;color:var(--text-muted);white-space:nowrap}.hup-designation-status.is-active{color:#16a34a}[data-theme=light] .hup-designation-status.is-active{color:#15803d}.hup-designation-error{margin-top:4px;font-size:11px;color:#dc2626}.settings-silhouette-panel{padding:20px 22px 24px;display:flex;flex-direction:column;gap:20px;border-bottom:1px solid var(--border)}.silhouette-section-header h4,.silhouette-import-card-header h4{margin:0;font-size:13px;font-weight:650}.silhouette-import-card-header h4{margin-bottom:4px}.silhouette-import-section,.silhouette-catalog-section{display:flex;flex-direction:column;gap:12px}.silhouette-import-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:16px;align-items:stretch}.silhouette-import-card,.silhouette-preview-card{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);min-width:0}.silhouette-meta-grid .appearance-field>input{width:100%;min-width:0;height:var(--control-height);padding:0 var(--control-pad-x-sm);border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);color:var(--text);font-size:12px}.silhouette-meta-grid .appearance-field>input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.silhouette-meta-grid .appearance-field>input[type=number]::-webkit-outer-spin-button,.silhouette-meta-grid .appearance-field>input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.silhouette-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:118px;padding:18px 16px;border:1.5px dashed var(--border-strong, var(--border));border-radius:10px;background:var(--bg-panel);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.silhouette-dropzone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-dim) 55%,var(--bg-panel))}.silhouette-dropzone.has-file{border-style:solid;border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.silhouette-dropzone.is-dragging{border-style:dashed;border-color:var(--accent);background:color-mix(in srgb,var(--accent-dim) 75%,var(--bg-panel))}.silhouette-dropzone-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:28px;border-radius:6px;background:var(--accent-dim);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em}.silhouette-dropzone-title{font-size:13px;font-weight:600;color:var(--text);word-break:break-word}.silhouette-dropzone-hint{font-size:12px;color:var(--text-muted)}.silhouette-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.silhouette-meta-manufacturer{grid-column:1 / -1}.silhouette-import-actions{display:flex;flex-wrap:wrap;gap:8px}.silhouette-preview-stage{flex:1 1 auto;min-height:260px;display:flex;align-items:center;justify-content:center;padding:12px;border:1px solid var(--border);border-radius:10px;background:radial-gradient(circle at top,color-mix(in srgb,var(--accent) 6%,transparent),transparent 55%),var(--bg-panel)}.silhouette-preview-stage.is-empty{min-height:260px}.silhouette-preview-empty{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:240px;text-align:center;color:var(--text-muted)}.silhouette-preview-empty p{margin:0;font-size:13px;font-weight:600;color:var(--text)}.silhouette-preview-empty span{font-size:12px;line-height:1.45}.silhouette-preview-empty.is-error span{color:var(--status-danger-text, #b91c1c)}.silhouette-preview-empty-icon{font-size:28px;opacity:.45}.silhouette-outline-preview{width:100%;max-width:360px;height:auto;aspect-ratio:1}.silhouette-preview-shape{fill:var(--accent-silhouette-fill);stroke:var(--accent);stroke-width:.7;vector-effect:non-scaling-stroke}.silhouette-preview-axis{stroke:color-mix(in srgb,var(--text-muted) 35%,transparent);stroke-width:.35;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.silhouette-preview-nose{fill:#f59e0b;stroke:#fff;stroke-width:.35;vector-effect:non-scaling-stroke}.silhouette-preview-nose-label{font-size:3.2px;fill:var(--text-muted);font-weight:600}.silhouette-preview-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.silhouette-preview-meta div{display:flex;flex-direction:column;gap:2px;min-width:0}.silhouette-preview-meta dt{margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.silhouette-preview-meta dd{margin:0;font-size:12px;font-weight:600;color:var(--text)}.silhouette-preview-meta code{font-family:var(--font-mono);font-size:11px;font-weight:500}.silhouette-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}.silhouette-catalog-card{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);min-width:0;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.silhouette-catalog-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent-dim) 18%,var(--bg-elevated))}.silhouette-catalog-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent-dim) 24%,var(--bg-elevated))}.silhouette-catalog-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:36px}.silhouette-catalog-delete-btn{margin-left:auto}.silhouette-catalog-preview{display:flex;align-items:center;justify-content:center;min-height:88px;padding:6px;border-radius:8px;background:var(--bg-panel);border:1px solid var(--border)}.silhouette-catalog-preview .silhouette-outline-preview{max-width:120px}.silhouette-catalog-preview-fallback{width:72px;height:36px;border-radius:18px 18px 4px 4px;background:color-mix(in srgb,var(--text-muted) 16%,transparent)}.silhouette-catalog-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.silhouette-catalog-copy strong{font-size:12px;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.silhouette-catalog-copy span{font-size:11px;color:var(--text-muted)}.silhouette-alias-section{display:flex;flex-direction:column;gap:.75rem;padding:1rem 0 0}.silhouette-alias-add-row{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.silhouette-alias-pattern-field{flex:1 1 16rem}.silhouette-alias-error{margin:0;color:var(--status-danger-text, #f87171);font-size:.88rem}.silhouette-alias-pattern-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.silhouette-alias-pattern-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border:1px solid var(--border-subtle);border-radius:.5rem;background:var(--surface-elevated, rgba(15, 23, 42, .35))}.silhouette-alias-remove-btn{flex-shrink:0}@media(max-width:900px){.silhouette-import-layout{grid-template-columns:1fr}}.settings-appearance-panel,.settings-clearance-panel,.settings-miscellaneous-panel{padding:20px;display:flex;flex-direction:column;gap:18px;border-bottom:1px solid var(--border)}.settings-modal-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.settings-modal-footer-start{display:flex;align-items:center;min-width:0}.settings-modal-footer-message{display:flex;align-items:center;justify-content:flex-end;min-width:0}.settings-apply-notice{margin:0;width:100%;padding:8px 10px;border-radius:6px;font-size:12px;line-height:1.45;text-align:left}.settings-apply-notice--error{border:1px solid var(--status-danger-border-strong);background:var(--status-danger-surface);color:var(--status-danger-surface-text)}.settings-apply-notice--success{border:1px solid var(--status-safe-border-strong);background:var(--status-safe-surface);color:var(--status-safe-surface-text)}.settings-modal-footer .settings-reset-btn{width:auto;flex-shrink:0}.settings-modal-footer>.primary-btn.settings-apply-btn{width:auto;min-width:148px;flex-shrink:0}.settings-modal-footer-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.settings-modal-footer-actions .settings-apply-btn{width:auto;min-width:96px;flex-shrink:0}.settings-modal-footer-actions .primary-btn.settings-apply-btn{min-width:148px}.modal.settings-dialog .modal-header{align-items:center;height:56px;padding:0 16px 0 20px}.modal.settings-dialog .modal-header h2{font-size:17px;line-height:1}.modal.settings-dialog .modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;font-size:22px;line-height:1}.settings-visit-types-panel{padding:20px;display:flex;flex-direction:column;gap:18px;border-bottom:1px solid var(--border)}.settings-users-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:8px}.settings-users-table{width:100%;border-collapse:collapse;font-size:13px}.settings-users-table th,.settings-users-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.settings-users-table th{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-elevated)}.settings-users-table tr:last-child td{border-bottom:none}.settings-users-email{font-family:var(--font-mono);font-size:12px;word-break:break-all;width:100%}.settings-users-table th:nth-child(2),.settings-users-table th:nth-child(3),.settings-users-table td:nth-child(2),.settings-users-table td:nth-child(3){width:140px;white-space:nowrap}.settings-users-role-select{min-width:0;width:140px;max-width:140px;padding:0 var(--control-pad-x-sm);height:var(--control-height);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--bg-panel);color:var(--text)}.settings-users-status{font-size:12px;color:var(--text-muted)}.settings-users-status.is-inactive{color:var(--danger, #b91c1c)}.settings-users-date{font-size:12px;color:var(--text-muted);white-space:nowrap}.settings-users-table tr.is-inactive-row .settings-users-email{color:var(--text-muted)}.visit-type-add-row.settings-users-add-row,.settings-users-add-row{grid-template-columns:minmax(0,1fr) 140px 140px auto}.settings-users-add-row>.appearance-field:nth-child(2),.settings-users-add-row>.appearance-field:nth-child(3){width:140px}.settings-users-add-row .settings-users-role-select{width:100%;max-width:none;min-width:0}.appearance-section h3{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.appearance-warning-grid,.appearance-scenario-grid{display:grid;gap:12px}.appearance-warning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-label-row-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.appearance-label-row-toggle{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.appearance-scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-scenario-card{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.appearance-scenario-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.appearance-scenario-header h4{margin:0;font-size:13px;font-weight:600}.appearance-scenario-preview{width:42px;height:24px;border-radius:4px;flex-shrink:0}.appearance-scenario-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appearance-field{display:flex;flex-direction:column;gap:4px;min-width:0}.appearance-field-label{font-size:10px;color:var(--text-muted)}.appearance-color-input{display:grid;grid-template-columns:var(--control-height) minmax(0,1fr);gap:6px;align-items:center}.appearance-color-input.has-alpha{grid-template-columns:var(--control-height) minmax(0,1fr) 56px}.appearance-opacity-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px;min-width:0}.appearance-opacity-input input{width:100%;min-width:0;padding:0 4px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);text-align:right;border-radius:var(--control-radius)}.appearance-opacity-suffix{font-size:11px;color:var(--text-muted)}.appearance-color-input input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--control-height);height:var(--control-height);box-sizing:border-box;padding:0;border:1px solid var(--border);border-radius:var(--control-radius);background:transparent;cursor:pointer;overflow:hidden}.appearance-color-input input[type=color]::-webkit-color-swatch-wrapper{padding:0;border:none}.appearance-color-input input[type=color]::-webkit-color-swatch{border:none;border-radius:calc(var(--control-radius) - 1px)}.appearance-color-input input[type=color]::-moz-color-swatch{border:none;border-radius:calc(var(--control-radius) - 1px)}.appearance-color-input>input[type=text]{width:100%;min-width:0;padding:0 var(--control-pad-x-sm);border:1px solid var(--border);background:var(--bg-panel);color:var(--text)}.appearance-field>input[type=text],.appearance-field>input[type=number],.appearance-field>input[type=email],.appearance-field>select{width:100%;height:var(--control-height);box-sizing:border-box;padding:0 var(--control-pad-x-sm);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--bg-panel);color:var(--text)}.settings-section-desc{font-size:13px;line-height:1.5;color:var(--text-muted)}.settings-section-desc code{font-family:var(--font-mono);font-size:12px;color:var(--text)}.settings-section-hint{font-size:12px;line-height:1.45;color:var(--text-muted)}.appearance-field>.settings-section-hint{margin:0}.designer-body{display:grid;grid-template-columns:200px 1fr;gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);min-height:0}.hangars-settings-panel{display:flex;flex-direction:column;min-height:0}.hangar-layout-toolbar{display:flex;flex-wrap:nowrap;align-items:flex-end;justify-content:flex-start;gap:12px 16px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.hangar-layout-toolbar-fields{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:12px;flex:0 0 auto;min-width:0}.hangar-layout-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 auto;margin-left:auto}.hangar-layout-action-btn{height:var(--control-height);box-sizing:border-box;display:inline-flex;align-items:center}.hangar-layout-delete-btn{border:1px solid var(--status-danger-border-strong)!important;background:var(--status-danger-bg)!important;color:var(--status-danger-text)!important}.hangar-layout-delete-btn:hover{background:var(--status-danger-surface)!important;border-color:var(--status-danger)!important;color:var(--status-danger-surface-text)!important}.hangar-layout-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.hangar-layout-field-version{flex:0 0 var(--hangar-layout-version-width, 300px);width:var(--hangar-layout-version-width, 300px)}.hangar-layout-field-date{flex:0 0 var(--hangar-layout-date-width, 172px);width:var(--hangar-layout-date-width, 172px)}.hangar-layout-range{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:12px;flex:0 0 auto}.hangar-layout-control,.hangar-layout-toolbar select.hangar-layout-control{width:100%;min-width:0;padding:8px 10px;font-size:12px;font-variant-numeric:tabular-nums;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text);height:var(--control-height);box-sizing:border-box}.hangar-layout-control:focus,.hangar-layout-toolbar select.hangar-layout-control:focus{outline:none;border-color:var(--accent)}.hangar-layout-control.input-readonly,.hangar-layout-control:disabled{opacity:.72;cursor:default}.hangars-settings-panel .designer-body{display:grid;grid-template-columns:200px 1fr;flex:1 1 auto;min-height:0;border-top:none;border-bottom:none}.designer-hangar-list{display:flex;flex-direction:column;border-right:1px solid var(--border);padding:16px 12px;background:var(--bg-elevated);min-height:0;overflow:hidden}.designer-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.designer-add-btn{font-weight:600;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);padding:0 var(--control-pad-x-sm);font-size:var(--control-font-sm)}.designer-add-btn:disabled{opacity:.4;cursor:not-allowed}.designer-hangar-list ul{list-style:none;display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-height:0;overflow-y:auto;margin:0}.hangar-layout-sidebar-actions{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.hangar-layout-sidebar-action-btn{width:100%;justify-content:center}.designer-hangar-list li{display:flex;align-items:stretch;gap:6px}.designer-hangar-list li:not(.designer-hangar-list-item) .designer-hangar-tab{flex:1;min-width:0}.designer-hangar-list-item{display:flex;align-items:stretch;gap:6px}.designer-hangar-list-item .designer-hangar-tab{flex:1 1 auto;min-width:0}.designer-hangar-tab{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:var(--control-height);height:100%;width:100%;padding:8px 10px;border-radius:var(--control-radius);border:1px solid transparent;background:transparent;text-align:left;box-sizing:border-box}.designer-hangar-list-item .designer-hangar-remove-btn{width:var(--control-height);min-width:var(--control-height);height:auto;align-self:stretch}.designer-hangar-tab.active{border-color:var(--accent);background:var(--accent-selected-bg)}.designer-hangar-tab-name{font-size:12px;font-weight:600;color:var(--text)}.designer-hangar-tab-dims{font-size:10px;font-family:var(--font-mono);color:var(--text-muted)}.designer-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-height);min-width:var(--control-height);height:var(--control-height);box-sizing:border-box;padding:0;border-radius:var(--control-radius);border:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);font-size:16px;line-height:1;flex-shrink:0}.designer-remove-btn:hover{color:var(--status-danger);border-color:var(--status-danger)}.designer-preview-label{display:block;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.designer-park-lines{display:grid;gap:8px;margin-top:4px}.designer-park-lines-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.designer-park-lines-header>span{font-size:12px;font-weight:600;color:var(--text)}.designer-park-lines-desc,.designer-park-lines-empty{margin:0;font-size:12px;line-height:1.45;color:var(--text-muted)}.designer-park-lines-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.designer-park-line-row{display:flex;flex-direction:column;gap:6px;min-width:0}.designer-park-line-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.designer-park-line-controls{display:flex;align-items:center;gap:8px;min-width:0}.designer-park-line-controls>input[type=number]{flex:1 1 auto;min-width:0;height:var(--control-height);box-sizing:border-box}.designer-park-line-name{flex:0 0 3.75rem;width:3.75rem;min-width:3.75rem;height:var(--control-height);box-sizing:border-box;padding-inline:.35rem;text-align:center;font-family:var(--font-mono, monospace);text-transform:uppercase;letter-spacing:.02em}.designer-form .designer-park-line-color,.designer-park-line-color{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--control-height);height:var(--control-height);box-sizing:border-box;padding:0;border:1px solid var(--border);border-radius:var(--control-radius);background:transparent;cursor:pointer;flex:0 0 var(--control-height);overflow:hidden}.designer-park-line-color::-webkit-color-swatch-wrapper{padding:0;border:none}.designer-park-line-color::-webkit-color-swatch{border:none;border-radius:calc(var(--control-radius) - 1px)}.designer-park-line-color::-moz-color-swatch{border:none;border-radius:calc(var(--control-radius) - 1px)}.designer-park-line-controls .designer-remove-btn{flex:0 0 var(--control-height)}.preview-park-line{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#38bdf8;opacity:.9;pointer-events:none}.preview-bay.selected .preview-park-line.draggable{pointer-events:auto;cursor:ew-resize;width:12px;margin-left:-6px;background:transparent;border-left:2px solid var(--preview-park-line-color, #38bdf8);opacity:1;z-index:2;touch-action:none}.preview-bay.selected .preview-park-line.draggable:hover,.preview-bay.selected .preview-park-line.draggable.dragging{border-left-width:3px;margin-left:-7px;width:14px}.preview-park-line-labels{position:absolute;left:0;right:0;bottom:18px;height:0;pointer-events:none}.preview-park-line-label{position:absolute;bottom:0;transform:translate(-50%);font-size:8px;font-weight:600;font-family:var(--font-mono, monospace);letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase}.preview-facility{background:transparent;border:none;border-radius:6px;display:flex;align-items:flex-end;gap:4px;overflow:hidden;min-height:80px}.preview-bay{position:relative;background:var(--floor);border:2px solid var(--border);border-radius:6px;display:flex;align-items:flex-start;justify-content:center;cursor:pointer;min-width:0}.preview-bay.selected{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.preview-bay-label{position:absolute;bottom:6px;left:50%;transform:translate(-50%);font-size:9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}.hangar-divider{stroke:var(--border);stroke-width:2;stroke-dasharray:6 4;pointer-events:none}.preview-floor{background:var(--floor);border:2px solid var(--border);border-radius:6px;position:relative;max-height:120px;display:flex;align-items:flex-start;justify-content:center}.preview-door{position:absolute;top:0;left:50%;height:3px;transform:translate(-50%,-50%);background:var(--accent);opacity:.7;border-radius:1px;pointer-events:none;z-index:1}.preview-dims{font-size:11px;color:var(--text-muted);margin-top:8px;font-family:var(--font-mono)}.modal-footer{flex-shrink:0;padding:16px 20px 20px;border-top:1px solid var(--border)}.primary-btn{width:auto;font-weight:600;background:var(--accent);color:var(--text-on-accent);transition:background .15s}.primary-btn.control-block,.modal-footer>.primary-btn{width:100%}.modal.undo-layout-changes-dialog{width:min(480px,92vw)}.modal.undo-layout-changes-dialog .modal-header{padding-bottom:8px}.modal.undo-layout-changes-dialog .modal-header>div{display:flex;flex-direction:column;gap:10px;min-width:0}.modal.undo-layout-changes-dialog .modal-header h2,.modal.undo-layout-changes-dialog .modal-header p,.undo-layout-changes-body p{margin:0}.modal.undo-layout-changes-dialog .modal-header p,.undo-layout-changes-body{line-height:1.45}.undo-layout-changes-body{padding:0 20px 8px;font-size:13px;color:var(--text-muted)}.modal.undo-layout-changes-dialog .modal-footer-actions{justify-content:flex-end}.modal.undo-layout-changes-dialog .modal-footer-actions>.primary-btn,.modal.undo-layout-changes-dialog .modal-footer-actions>.secondary-btn{flex:0 0 auto;width:auto}.primary-btn:hover{background:var(--accent-hover)}.secondary-btn{font-weight:600;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text)}.secondary-btn:hover{border-color:var(--accent)}.prototype-warning{padding:7px 12px;background:var(--status-warn-prototype-bg);color:var(--status-warn-prototype-text);font-size:12px;font-weight:600}.invalid-pose{fill:var(--silhouette-invalid-fill, var(--status-danger-invalid-fill))!important;stroke:var(--silhouette-invalid-stroke, var(--status-danger-invalid-stroke))!important;stroke-width:var(--silhouette-invalid-stroke-width, 2.4px);stroke-dasharray:var(--silhouette-invalid-stroke-dash, 4 2)}.heading-marker{stroke:var(--heading-marker-stroke);stroke-width:1.5px;pointer-events:none}.proximity-line{stroke:var(--proximity-stroke);stroke-width:1.25px;stroke-dasharray:3 3;opacity:.75;pointer-events:none}.proximity-label{fill:var(--proximity-label);font-family:var(--font-mono);font-size:10px;font-weight:600;pointer-events:none}.proximity-indicator{pointer-events:none}.wall-proximity-line{stroke:var(--status-warn);stroke-width:1.25px;stroke-dasharray:4 2;opacity:.8;pointer-events:none}.wall-proximity-label{fill:var(--status-warn-text-light);font-family:var(--font-mono);font-size:10px;font-weight:600;pointer-events:none}.wall-proximity-indicator{pointer-events:none}.egress-direction.tail-egress,.egress-route.tail-egress{stroke-dasharray:4 3}.egress-direction{stroke-width:1.5px;stroke-dasharray:4 3;opacity:.7;pointer-events:none}.egress-direction.clear{stroke:var(--egress-direction-clear)}.egress-direction.blocked{stroke:var(--egress-direction-blocked)}.egress-arrow-head{fill:var(--egress-arrow-fill)}.unsupported-aircraft circle{fill:var(--unsupported-fill)}.unsupported-aircraft text{fill:var(--text-on-accent);font-size:9px}.checkbox-field{display:flex;align-items:center;gap:8px}.move-sequence,.unplaced-list{margin:8px 0 0;padding-left:18px;color:var(--text-muted);font-size:11px}.prototype-silhouette.preset-spot-silhouette{fill:var(--preset-silhouette-fill);stroke:var(--preset-silhouette-stroke)}.prototype-silhouette.preset-spot-silhouette.selected{fill:var(--preset-silhouette-fill-selected);stroke:var(--preset-accent)}.prototype-silhouette.preset-preview-silhouette{fill:var(--accent-silhouette-fill);stroke:var(--accent);stroke-width:1.8}.app-error-boundary{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;background:var(--bg);color:var(--text)}.app-error-boundary h1{font-size:20px}.app-error-boundary p{max-width:480px;color:var(--text-muted)}.app-error-boundary button{margin-top:8px;padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer}.prototype-silhouette.preset-preview-silhouette.invalid-pose{fill:var(--status-danger-silhouette-fill);stroke:var(--status-danger)}.modal.user-profile-dialog{width:320px}.user-profile-body{padding:8px 20px 4px}.user-profile-fields{width:100%;margin:0;display:flex;flex-direction:column;gap:12px}.user-profile-field{display:flex;flex-direction:column;gap:4px;min-width:0}.user-profile-field dt{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.user-profile-field dd{margin:0;font-size:14px;font-weight:500;color:var(--text-bright);word-break:break-word}.user-profile-footer{border-top:none;padding-top:8px}.user-profile-footer .user-profile-logout{width:100%}.recipient-list{display:flex;flex-direction:column;gap:6px}.recipient-row{display:flex;align-items:center;gap:6px}.recipient-input{flex:1;min-width:0;height:var(--control-height);box-sizing:border-box;padding:0 var(--control-pad-x-sm);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--bg-panel);color:var(--text)}.recipient-input[aria-invalid=true]{border-color:var(--status-danger, #ef4444)}.recipient-remove-btn{width:var(--control-height);height:var(--control-height);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--bg-panel);color:var(--text-muted);cursor:pointer}.recipient-remove-btn:hover{color:var(--text)}.settings-field-stack{display:flex;flex-direction:column;gap:12px}.settings-field-stack>.settings-section-desc{margin:0}.appearance-field>input[type=time]{width:100%;height:var(--control-height);box-sizing:border-box;padding:0 var(--control-pad-x-sm);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--bg-panel);color:var(--text);color-scheme:dark light}.weekday-toggle-row{display:flex;flex-wrap:wrap;gap:6px}.weekday-toggle{min-width:48px;height:var(--control-height);padding:0 12px;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--bg-panel);color:var(--text-muted);font-size:13px;cursor:pointer}.weekday-toggle:hover{color:var(--text)}.weekday-toggle.is-selected{border-color:var(--accent-chip-border);background:var(--accent-chip-bg);color:var(--text)}.settings-link-btn{align-self:flex-start;padding:0;border:none;background:none;color:var(--accent);font-size:12px;cursor:pointer}.settings-link-btn:hover{text-decoration:underline}.login-boot-message{margin:0;font-size:14px;color:var(--text-muted);text-align:center}.login-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(ellipse 80% 60% at 50% -10%,var(--accent-subtle-bg),transparent 55%),var(--bg)}.login-card{width:min(100%,400px);padding:32px 28px 28px;border:1px solid var(--border);border-radius:12px;background:var(--bg-panel);box-shadow:0 24px 48px var(--modal-shadow)}.login-brand{margin-bottom:28px}.login-logo{display:block;width:min(100%,160px);height:auto;margin:0 0 18px}.login-kicker{margin:0 0 10px;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.login-card h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--text-bright)}.login-microsoft-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:var(--control-height-lg);padding:0 var(--control-pad-x-lg);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--bg-elevated);color:var(--text-bright);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.login-microsoft-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-hover-bg)}.login-microsoft-btn:disabled{opacity:.7;cursor:wait}.login-microsoft-btn svg{display:block;flex-shrink:0}.login-error{margin:14px 0 0;padding:10px 12px;border:1px solid var(--status-danger-border);border-radius:var(--control-radius-sm);background:var(--status-danger-bg);color:var(--status-danger-text);font-size:13px;line-height:1.4}.visit-type-config-body{padding:20px;display:flex;flex-direction:column;gap:18px}.visit-type-config-section h3{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.visit-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visit-type-card{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.visit-type-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.visit-type-card-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.visit-type-card-title strong{font-size:13px}.visit-type-swatch{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:1px solid var(--legend-swatch-border)}.visit-type-system-badge{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.visit-type-delete-btn{border:1px solid var(--status-danger-border);background:transparent;color:var(--status-danger-text);border-radius:6px;padding:4px 8px;font-size:11px;cursor:pointer}.visit-type-card-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visit-type-card-fields .visit-type-import-field,.visit-type-card-fields .visit-type-label-rows{grid-column:1 / -1}.visit-type-add-row .visit-type-import-field{grid-column:auto}.visit-type-import-toggle{display:inline-flex;align-items:center;gap:10px;min-height:var(--control-height);font-size:12px;color:var(--text);cursor:pointer}.visit-type-add-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end}.visit-type-add-row.has-stripe{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto}.visit-type-add-row.has-import-toggle{grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(168px,.95fr) auto}.visit-type-add-row.has-label-only{grid-template-columns:minmax(0,1fr) auto}.visit-type-add-btn{align-self:end;white-space:nowrap;width:auto}.visit-type-config-section>.settings-section-hint{margin:14px 0 0}.time-type-rows{display:flex;flex-direction:column;gap:8px}.time-type-row{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.time-type-row-main{display:flex;align-items:end;gap:10px}.time-type-row-label{flex:1;min-width:0}.time-type-row-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding-bottom:1px}.time-type-reorder{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--bg)}.time-type-reorder-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:var(--control-height);margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-muted);cursor:pointer}.time-type-reorder-btn+.time-type-reorder-btn{border-left:1px solid var(--border)}.time-type-reorder-btn svg{width:12px;height:12px;display:block}.time-type-reorder-btn:hover:not(:disabled){background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.time-type-reorder-btn:disabled{opacity:.35;cursor:default}.time-type-row-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.time-type-row-toggle{min-height:auto}.time-type-row .visit-type-delete-btn:disabled{opacity:.4;cursor:default}@media(max-width:640px){.time-type-row-main{flex-wrap:wrap}.time-type-row-label{flex:1 1 100%}.time-type-row-actions{margin-left:auto}}
