.airport-map_root__LRGfd{--map-boundary:#edf2ea;--map-apron:#d5dfea;--map-surface:#e1e8ed;--map-line:#9eafbf;--map-runway:#71869a;--map-taxiway:#a4b5c6;--map-stand-line:#537f9f;--map-road:#cad5df;--map-building-side:#a2b8cd;--map-building-top:#e4edf6;--map-building-border:#718da8;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 240px;background:#f6f9fd;color:#233e5a;border:1px solid #d8e2ee;border-radius:8px;overflow:hidden}.airport-map_root__LRGfd[data-theme=dark]{--map-boundary:#1b3545;--map-apron:#405468;--map-surface:#2b4657;--map-line:#607589;--map-runway:#8094a7;--map-taxiway:#536a7e;--map-stand-line:#65859c;--map-road:#30485d;--map-building-side:#365771;--map-building-top:#7897ad;--map-building-border:#abc1d0;background:#101f35;color:#dce8f9}.airport-map_scene__fmbvt{min-width:0;position:relative;min-height:520px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#253e58,#101f35 75%)}.airport-map_canvas__lP1oB{display:block;width:100%;height:520px;touch-action:none;cursor:grab;outline-offset:-4px}.airport-map_canvas__lP1oB:active{cursor:grabbing}.airport-map_controls__ikgPc{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;pointer-events:none}.airport-map_controls__ikgPc>*{pointer-events:auto}.airport-map_controls__ikgPc button,.airport-map_controls__ikgPc select{min-height:34px;background:#17304c;color:#edf5ff;border:1px solid #466080;border-radius:6px;padding:5px 9px;font-size:12px}.airport-map_controls__ikgPc button[aria-pressed=true]{background:#1663af}.airport-map_controls__ikgPc span{margin-left:auto;font-size:11px;background:#17304c;padding:7px;border-radius:5px}.airport-map_footnote__L9vo8{position:absolute;bottom:10px;left:12px;right:12px;display:flex;justify-content:space-between;gap:12px;align-items:end;font-size:10px;pointer-events:none}.airport-map_footnote__L9vo8 a{color:#b1ceef;pointer-events:auto}.airport-map_footnote__L9vo8 p{max-width:390px;margin:0;background:#102038e6;padding:6px;border-radius:4px}.airport-map_sidebar__YrycU{border-left:1px solid #344b65;display:flex;flex-direction:column;max-height:520px;min-width:0;background:#14263e;overflow:hidden}.airport-map_sidebarHeader__0haT8{flex:none;padding:8px 12px;border-bottom:1px solid var(--map-line)}.airport-map_sidebarBody__YwkkY{flex:1 1;min-height:0;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}.airport-map_summary__H1KnS{padding:12px;border-bottom:1px solid #344b65;font-size:11px;line-height:1.5}.airport-map_summary__H1KnS strong{font-size:13px;display:block;margin-bottom:4px;color:#fff}.airport-map_list__4fkyx{padding:5px}.airport-map_list__4fkyx button{width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #2b405a;color:#e1ecfa;padding:10px 8px;min-height:44px;border-radius:4px;display:flex;flex-direction:column;gap:3px;font-size:11px}.airport-map_list__4fkyx button:hover{background:#203e60}.airport-map_canvas__lP1oB:focus-visible,.airport-map_controls__ikgPc button:focus-visible,.airport-map_list__4fkyx button:focus-visible{outline:2px solid #86c8ff;outline-offset:-2px}.airport-map_list__4fkyx button strong{font-size:12px;color:#85c5ff}.airport-map_list__4fkyx small{color:#a8bdd6}.airport-map_empty___UUZB{padding:22px;text-align:center;font-size:12px}.airport-map_stand__9cziq circle{fill:#1f4667;stroke:#8fbee6;stroke-width:1;vector-effect:non-scaling-stroke}.airport-map_stand__9cziq text{fill:#cce5ff;paint-order:stroke;stroke:#102039;stroke-width:3px;font-family:inherit;font-size:11px}.airport-map_root__LRGfd[data-theme=light] .airport-map_scene__fmbvt{background:radial-gradient(ellipse at 50% 45%,#fff,#eef4fa 75%)}.airport-map_root__LRGfd[data-theme=light] .airport-map_controls__ikgPc button,.airport-map_root__LRGfd[data-theme=light] .airport-map_controls__ikgPc select,.airport-map_root__LRGfd[data-theme=light] .airport-map_controls__ikgPc span{background:#ffffffeb;color:#254c71;border-color:#b9cce0}.airport-map_root__LRGfd[data-theme=light] .airport-map_controls__ikgPc button[aria-pressed=true]{background:#e2efff;color:#075ec4;border-color:#74a9df}.airport-map_root__LRGfd[data-theme=light] .airport-map_sidebar__YrycU{background:#f8fbff;border-color:#d5e0ec}.airport-map_root__LRGfd[data-theme=light] .airport-map_list__4fkyx button,.airport-map_root__LRGfd[data-theme=light] .airport-map_summary__H1KnS{border-color:#d5e0ec}.airport-map_root__LRGfd[data-theme=light] .airport-map_summary__H1KnS strong{color:#1a3552}.airport-map_root__LRGfd[data-theme=light] .airport-map_list__4fkyx button{color:#294c6c}.airport-map_root__LRGfd[data-theme=light] .airport-map_footnote__L9vo8 a,.airport-map_root__LRGfd[data-theme=light] .airport-map_list__4fkyx button strong{color:#075daa}.airport-map_root__LRGfd[data-theme=light] .airport-map_list__4fkyx small{color:#506b85}.airport-map_root__LRGfd[data-theme=light] .airport-map_list__4fkyx button:hover{background:#e7f0fb}.airport-map_root__LRGfd[data-theme=light] .airport-map_footnote__L9vo8 p{background:#fffffff0;color:#385776}.airport-map_root__LRGfd[data-theme=light] .airport-map_stand__9cziq circle{fill:#fff;stroke:#367cab}.airport-map_root__LRGfd[data-theme=light] .airport-map_stand__9cziq text{fill:#153d63;stroke:#fff}@media(max-width:850px){.airport-map_root__LRGfd{grid-template-columns:1fr}.airport-map_sidebar__YrycU{border-left:0;border-top:1px solid #344b65;max-height:230px}.airport-map_scene__fmbvt{min-height:420px}.airport-map_canvas__lP1oB{height:420px}.airport-map_controls__ikgPc button,.airport-map_controls__ikgPc select{min-height:44px}.airport-map_controls__ikgPc span{display:none}.airport-map_footnote__L9vo8{font-size:9px}.airport-map_footnote__L9vo8 p{max-width:240px}}@media(max-width:1100px),(pointer:coarse){.airport-map_controls__ikgPc button,.airport-map_controls__ikgPc select{min-height:44px;min-width:44px}}@media print{.airport-map_root__LRGfd{display:none}}.airport-map_listCollapsed__duwro{grid-template-columns:minmax(0,1fr)}.airport-map_sidebar__YrycU[hidden]{display:none}.airport-map_sidebarHeader__0haT8 button,.airport-map_summary__H1KnS button{min-height:34px;padding:5px 9px;border:1px solid var(--map-line);border-radius:6px;background:transparent;color:inherit;cursor:pointer;margin-bottom:6px}.airport-map_sidebarHeader__0haT8 button:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(max-width:1100px),(pointer:coarse){.airport-map_sidebarHeader__0haT8 button,.airport-map_summary__H1KnS button{min-height:44px;min-width:44px}}.airport-map_assignedAircraft__K8MX8{--aircraft-fill:#064baa;--aircraft-border:#fff;cursor:pointer}.airport-map_aircraftHitArea__4fyCw{fill:transparent;stroke:transparent;stroke-width:2px}.airport-map_aircraftSilhouette__nvWkc{fill:var(--aircraft-fill);stroke:var(--aircraft-border);stroke-width:2px;stroke-linejoin:round;paint-order:stroke;pointer-events:none}.airport-map_root__LRGfd[data-theme=dark] .airport-map_assignedAircraft__K8MX8{--aircraft-fill:#edf5ff;--aircraft-border:#123656}.airport-map_assignedAircraft__K8MX8 text{fill:#153d63;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:12px;font-family:inherit}.airport-map_root__LRGfd[data-theme=dark] .airport-map_assignedAircraft__K8MX8 text{fill:#dce8f9;stroke:#101f35}.airport-map_assignedAircraft__K8MX8:focus-visible .airport-map_aircraftHitArea__4fyCw{stroke:#ffbd4a;stroke-width:4px}.airport-map_flightCard__ydVqs{border-bottom:1px solid var(--map-line)}.airport-map_flightCard__ydVqs button{border-bottom:0}.airport-map_flightCard__ydVqs button[aria-pressed=true]{background:#203e60;box-shadow:inset 3px 0 #85c5ff}.airport-map_root__LRGfd[data-theme=light] .airport-map_flightCard__ydVqs button[aria-pressed=true]{background:#e2efff;box-shadow:inset 3px 0 #075daa}.airport-map_selectedAircraftHalo__8nWqS{fill:none;stroke:#ffbd4a;stroke-width:3px;pointer-events:none}.airport-map_flightSelection__GkMw1{position:absolute;z-index:3;left:12px;bottom:78px;width:min(340px,calc(100% - 24px));max-height:calc(100% - 190px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;background:#14263ef5;color:#dce8f9;border:1px solid #607589;border-radius:10px;padding:12px;box-shadow:0 5px 22px #10203930;font-size:12px;overflow-wrap:anywhere}.airport-map_root__LRGfd[data-theme=light] .airport-map_flightSelection__GkMw1{background:#fffffff5;color:#233e5a;border-color:#b9cce0}.airport-map_selectionHeader__DVhcl{display:flex;align-items:center;justify-content:space-between;gap:10px}.airport-map_selectionHeader__DVhcl strong{display:flex;align-items:center;gap:6px}.airport-map_flightSelection__GkMw1 button{min-height:34px;cursor:pointer;background:transparent;border:1px solid var(--map-line);border-radius:6px;color:inherit;padding:5px 9px}.airport-map_flightSelection__GkMw1 button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.airport-map_flightSelection__GkMw1 p{line-height:1.5;margin:8px 0}.airport-map_flightSelection__GkMw1 dl{display:flex;gap:24px;margin:8px 0}.airport-map_flightSelection__GkMw1 dt{font-size:11px;opacity:.8}.airport-map_flightSelection__GkMw1 dd{margin:3px 0 0;font-weight:600}.airport-map_selectionStatus__llr4C{border-top:1px solid var(--map-line);padding-top:8px}.airport-map_flightSelection__GkMw1 .airport-map_openFlightDetails__f1LSF{width:100%;margin-top:8px}@media(max-width:1100px),(pointer:coarse){.airport-map_flightSelection__GkMw1 button{min-height:44px;min-width:44px}}.airport-map_assignments__iq_5J{font-size:11px;padding:0 8px 8px;overflow-wrap:anywhere}.airport-map_assignments__iq_5J summary{min-height:34px;line-height:34px;cursor:pointer;border-radius:4px;color:inherit}.airport-map_assignments__iq_5J summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}.airport-map_assignments__iq_5J p{line-height:1.5;margin:4px 0 8px}.airport-map_assignments__iq_5J ul{padding-left:18px;margin:4px 0 10px}.airport-map_assignments__iq_5J li{padding:2px 0}.airport-map_resourceList__RB5Ou{list-style:none;padding-left:0!important;display:grid;gap:4px}.airport-map_resourceList__RB5Ou li{display:flex;align-items:flex-start;gap:6px}.airport-map_resourceList__RB5Ou svg{flex:none;margin-top:2px;color:inherit}.airport-map_resourceList__RB5Ou span{min-width:0}.airport-map_summary__H1KnS p{margin:5px 0}.airport-map_layerLegend__wdTgf{list-style:none;margin:0;padding:0;display:grid;gap:10px}.airport-map_layerLegend__wdTgf li{display:flex;align-items:flex-start;gap:8px}.airport-map_layerLegend__wdTgf svg{flex:none;margin-top:2px;color:inherit}.airport-map_layerLegend__wdTgf span{min-width:0}.airport-map_layerLegend__wdTgf b{display:block;font-weight:600}@media(max-width:1100px),(pointer:coarse){.airport-map_assignments__iq_5J summary{min-height:44px;min-width:44px;line-height:44px}}.airport-map_expanded__xdvTu{height:100%;min-height:440px;border:0;border-radius:0}.airport-map_expanded__xdvTu .airport-map_canvas__lP1oB,.airport-map_expanded__xdvTu .airport-map_scene__fmbvt{height:100%;min-height:440px}.airport-map_expanded__xdvTu .airport-map_sidebar__YrycU{height:100%;max-height:none;overflow:hidden}@media(max-width:850px){.airport-map_expanded__xdvTu{position:relative;display:block}.airport-map_expanded__xdvTu .airport-map_sidebar__YrycU:not([hidden]){position:absolute;z-index:2;top:0;right:0;bottom:0;width:min(300px,85%);max-height:none;border-top:0;border-left:1px solid var(--map-line);box-shadow:-4px 0 18px #10203926}.airport-map_expanded__xdvTu .airport-map_summary__H1KnS button{min-height:44px}}.desktop-map-notice_notice___CUEp{display:grid;justify-items:center;gap:14px;padding:36px 20px;margin:12px auto;max-width:540px;text-align:center;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.desktop-map-notice_notice___CUEp>svg{color:var(--accent)}.desktop-map-notice_notice___CUEp h1{margin:0;font-size:22px}.desktop-map-notice_notice___CUEp p{margin:0;color:var(--text-secondary);line-height:1.6}.desktop-map-notice_notice___CUEp a{min-height:44px;padding:10px 18px;text-decoration:none}.directory-mapping-view_toolbar___fpm1{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0;color:var(--text-primary)}.directory-mapping-view_field__UIHVe{display:grid;gap:5px;font-size:12px;color:var(--text-secondary);min-width:190px}.directory-mapping-view_field__UIHVe:first-child{flex:1 1;max-width:420px}.directory-mapping-view_input__RDMgD{width:100%;min-height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);padding:7px 10px;font:inherit;font-size:14px}.directory-mapping-view_input__RDMgD:focus-visible,.directory-mapping-view_toolbar___fpm1 button:focus-visible{outline:2px solid var(--blue,#0969ed);outline-offset:2px}.directory-mapping-view_summary__L_vo_{font-size:12px;color:var(--text-secondary);margin:0 0 10px}.directory-mapping-view_draft__ICBVH{padding:10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-subtle);color:var(--text-primary);font-size:13px;margin:0 0 10px}.directory-mapping-view_empty__uqnsF{padding:20px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);border-radius:8px;margin:10px 0}@media(max-width:700px){.directory-mapping-view_field__UIHVe,.directory-mapping-view_field__UIHVe:first-child{flex:1 1 100%;max-width:none;min-width:0}.directory-mapping-view_input__RDMgD,.directory-mapping-view_toolbar___fpm1 [role=combobox],.directory-mapping-view_toolbar___fpm1 button{min-height:44px}.directory-mapping-view_toolbar___fpm1{align-items:stretch}}.shiftBrowserFilters{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-bottom:1px solid var(--border,#d9e3ef)}.shiftBrowserFilters input,.shiftBrowserFilters>*{min-width:150px;flex:1 1}.shiftBrowserDialog>input,.shiftBrowserFilters input{border:1px solid #d9e3ef;border-radius:10px;padding:10px 12px;color:inherit;background:var(--surface,#fff);font:inherit}.shiftPlanningToolHint{margin:0;padding:0 12px 10px;color:var(--text-secondary);font-size:11px;line-height:1.45}.shiftPlanningTools .shiftBrowserFilters .secondaryButton{min-height:42px;white-space:normal;line-height:1.25;text-align:center}.shiftEmployeeScroll{overflow:auto;max-height:650px}.shiftEmployeeTable{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.shiftEmployeeTable td,.shiftEmployeeTable th{min-width:130px;padding:8px;border-right:1px solid #d9e3ef;border-bottom:1px solid #d9e3ef;vertical-align:top}.shiftEmployeeTable thead th{position:sticky;top:0;z-index:2;background:var(--surface,#f7f9fc)}.shiftEmployeeTable tbody th{position:sticky;left:0;z-index:1;background:var(--surface,#fff);min-width:190px;text-align:left}.shiftEmployeeTable th small{display:block;margin-top:4px;font-weight:400}button.shiftCalendarItem{display:grid;gap:3px;width:100%;min-width:0;text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--surface,#fff)}.shiftCalendarItem>span{white-space:nowrap}button.shiftCalendarItem:hover{background:#eef5ff}button.shiftCalendarItem:focus-visible{outline:2px solid #006bff;outline-offset:2px}.shiftBrowserPagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}.shiftScopeSummary{padding:6px 12px;font-size:11px;color:var(--text-secondary);border-bottom:1px solid var(--border,#d9e3ef)}.shiftBrowserDialog{position:fixed;margin:auto;border:1px solid #d9e3ef;border-radius:16px;padding:20px;width:min(620px,calc(100vw - 32px));max-height:85vh;overflow:auto;color:inherit;background:var(--surface,#fff)}.shiftBrowserDialog::backdrop{background:rgba(18,32,57,.45)}.shiftDayList{display:grid;gap:8px;margin-top:12px;max-height:50vh;overflow:auto}.shiftBrowserDetails{display:grid;grid-template-columns:1fr 2fr;gap:12px}.shiftBrowserDetails dd{margin:0;min-width:0;overflow-wrap:anywhere;font-weight:600}.shiftDropTarget{background:#eef8f2!important;outline:1px dashed #379967;outline-offset:-2px}.shiftHolidayButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.shiftCalendarDay.isWeekend,.shiftEmployeeTable .isWeekend{background:#fffaf0}.shiftCalendarDay.isWeekend>header,.shiftEmployeeTable thead .isWeekend{background:#fff3d8}.shiftCalendarDay.isHoliday,.shiftEmployeeTable .isHoliday{background:#fff7f7}.shiftCalendarDay.isHoliday>header,.shiftEmployeeTable thead .isHoliday{background:#ffe8e8;color:#9f2525}.shiftCalendarDay>header small,.shiftEmployeeTable thead th small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-transform:none}.shiftHolidayDialog{display:grid;gap:14px}.shiftHolidayDialog>p{margin:0;color:var(--text-muted,#64748b)}.shiftHolidayLegend{display:flex;gap:8px;flex-wrap:wrap}.shiftHolidayLegend span{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.shiftHolidayLegend .weekend{background:#fff3d8;color:#835500}.shiftHolidayLegend .holiday{background:#ffe8e8;color:#9f2525}.shiftHolidayRows{display:grid;max-height:52vh;overflow:auto;border:1px solid #d9e3ef;border-radius:12px}.shiftHolidayRows article{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:10px 12px;border-bottom:1px solid #d9e3ef}.shiftHolidayRows article:last-child{border-bottom:0}.shiftHolidayRows time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted,#64748b)}.shiftChangeEditor,.shiftChangeFields,.shiftChangeReview{min-width:0;max-width:100%;box-sizing:border-box}.shiftChangeFields{border:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shiftChangeFields label,.shiftChangeReview label{display:grid;min-width:0;gap:6px;font-size:13px}.shiftChangeFields label>small{color:var(--text-tertiary,#6f8096);font-size:11px;line-height:1.35}.shiftChangeFields label>*,.shiftChangeReview label>*{min-width:0;max-width:100%;box-sizing:border-box}.shiftChangeFields input,.shiftChangeReview textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d9e3ef;border-radius:10px;padding:10px;color:inherit;background:var(--surface,#fff);font:inherit}.shiftChangeReview{margin-top:16px;padding:12px;background:var(--surface,#f7f9fc);border:1px solid #d9e3ef;border-radius:12px}.shiftChangeReview label{margin:12px 0}.shiftDayProposalList{max-height:400px;overflow:auto;display:grid;gap:8px}.shiftDayProposalList label{display:flex;align-items:flex-start;gap:10px}.shiftDayProposalList small{display:block;color:#64748b}.shiftPlanningTools{padding:12px}.shiftTaskTimeline{min-width:0;border-top:1px solid var(--border,#d9e3ef);padding-top:12px}.shiftTaskTimeline h3{margin:0 0 8px;font-size:14px;color:var(--text-primary)}.shiftTaskAxis,.shiftTaskCaveat,.shiftTaskScope,.shiftTaskTimes{color:var(--text-secondary);font-size:12px;line-height:1.5}.shiftTaskScope{margin:0 0 12px}.shiftTaskAxis{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shiftTaskTimeline ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px;max-height:40vh;overflow:auto}.shiftTaskTimeline li{min-width:0;padding:10px;border:1px solid var(--border,#d9e3ef);border-radius:8px;background:var(--surface,#fff);overflow-wrap:anywhere}.shiftTaskHeading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;color:var(--text-primary)}.shiftTaskHeading>span{color:var(--text-secondary);font-size:12px}.shiftTaskCaveat,.shiftTaskTimes{display:block;margin-top:4px}.shiftTaskTrack{position:relative;height:10px;margin-top:8px;background:var(--surface-subtle);border:1px solid var(--border,#d9e3ef);border-radius:4px;overflow:hidden}.shiftTaskTrack>span{position:absolute;height:100%;background:var(--accent,#006bff);border-radius:3px}@media(max-width:520px){.shiftChangeFields{grid-template-columns:1fr}}