/* A11-173: Gantt chart workspace. Scoped exclusively under #gantt-chart. */
#gantt-chart.gantt-chart-view{width:100%;max-width:none;min-height:100dvh;padding:0;background:#f3f6fa;color:#1e3545;font-family:inherit;font-size:14px}
#gantt-chart *{box-sizing:border-box}
#gantt-chart[hidden]{display:none!important}
#gantt-chart .gantt-global-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;padding:14px clamp(18px,3vw,46px);background:#fff;border-bottom:1px solid #e3eaf0}
#gantt-chart .gantt-back-button{display:inline-flex;align-items:center;gap:13px;padding:9px 2px;border:0;background:transparent;color:#334c5a;font-size:14px;font-weight:750;cursor:pointer}
#gantt-chart .gantt-back-button span{font-size:25px;line-height:1}
#gantt-chart .gantt-header-right{display:flex;align-items:center;gap:15px}
#gantt-chart .gantt-draft-chip{display:inline-flex;align-items:center;gap:7px;background:#f1f6fb;border:1px solid #e2ebf3;color:#638098;border-radius:100px;padding:8px 12px;font-size:11px;font-weight:700;white-space:nowrap}
#gantt-chart .gantt-draft-dot{height:7px;width:7px;border-radius:100%;background:#86acc8}
#gantt-chart .gantt-muted-action{background:#fff;color:#637887;border:1px solid #d7e2eb;padding:9px 13px;border-radius:9px;font-weight:700;cursor:pointer;font-size:12px}
#gantt-chart .gantt-muted-action:hover{border-color:#a4bbce;background:#f8fbfd}
#gantt-chart .gantt-page{padding:32px clamp(18px,3vw,46px) 60px;max-width:2100px;margin:auto}
#gantt-chart .gantt-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 28px}
#gantt-chart .gantt-eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#7390a2}
#gantt-chart .gantt-eyebrow span{color:#c6d2da;margin:0 5px}
#gantt-chart .gantt-intro h1{margin:8px 0 6px;color:#183748;font-size:clamp(34px,3vw,47px);font-weight:850;letter-spacing:-2px;line-height:1.08}
#gantt-chart .gantt-intro h1 span{color:#448cda}
#gantt-chart .gantt-intro p{margin:0;color:#81929f;font-size:13px}
#gantt-chart .gantt-summary{display:flex;background:#fff;border:1px solid #e1e9f0;border-radius:15px;box-shadow:0 4px 15px #1e355006;overflow:hidden}
#gantt-chart .gantt-summary>div{display:flex;flex-direction:column;min-width:123px;padding:14px 17px;gap:2px}
#gantt-chart .gantt-summary>div+div{border-left:1px solid #edf1f5}
#gantt-chart .gantt-summary span{font-size:11px;font-weight:650;color:#7d91a2}
#gantt-chart .gantt-summary b{font-size:24px;font-weight:850;line-height:1.26;color:#264b67;font-variant-numeric:tabular-nums}
#gantt-chart .gantt-summary small{font-size:9px;letter-spacing:.6px;color:#a2b2be;font-weight:700}
#gantt-chart .gantt-workspace{display:grid;grid-template-columns:minmax(205px,225px) minmax(0,1fr) minmax(290px,320px);gap:16px;align-items:stretch}
#gantt-chart .gantt-panel{min-width:0;border:1px solid #e1e8f0;border-radius:17px;background:#fff;box-shadow:0 4px 20px rgba(19,46,68,.035);overflow:hidden}
#gantt-chart .gantt-panel-head{padding:21px 19px 17px;border-bottom:1px solid #eef2f5}
#gantt-chart .gantt-panel-eyebrow{font-size:10px;font-weight:850;letter-spacing:1.55px;color:#7a9eb8;text-transform:uppercase}
#gantt-chart .gantt-panel-head h2,#gantt-chart .gantt-staff-head h2{margin:8px 0 5px;font-size:20px;letter-spacing:-.9px;font-weight:850;color:#263d50}
#gantt-chart .gantt-panel-head p,#gantt-chart .gantt-staff-head p{font-size:11px;line-height:1.6;margin:0;color:#94a4b0}
#gantt-chart .gantt-code-list{padding:8px 13px}
#gantt-chart .gantt-code-row{display:flex;align-items:center;gap:10px;padding:13px 7px;border-bottom:1px solid #f0f3f6}
#gantt-chart .gantt-code-mark{width:8px;height:32px;border-radius:5px;background:#82aacc}
#gantt-chart .gantt-code-mark.blue{background:#3473b0}
#gantt-chart .gantt-code-mark.cyan{background:#74b5db}
#gantt-chart .gantt-code-mark.orange{background:#ef9c55}
#gantt-chart .gantt-code-mark.amber{background:#ecb35b}
#gantt-chart .gantt-code-mark.gray{background:#a1adb8}
#gantt-chart .gantt-code-mark.green{background:#90c4aa}
#gantt-chart .gantt-code-row>div{flex:1;display:flex;flex-direction:column;gap:1px}
#gantt-chart .gantt-code-row strong{font-size:14px;color:#3c5262;font-weight:850}
#gantt-chart .gantt-code-row small{font-size:10px;color:#a5b2be}
#gantt-chart .gantt-code-more{font-weight:850;letter-spacing:3px;color:#bdcbd5}
#gantt-chart .gantt-code-footer{display:flex;gap:10px;align-items:center;margin:16px 13px;padding:15px 10px;background:#f7fafc;border:1px dashed #dce6ed;border-radius:12px}
#gantt-chart .gantt-outline-icon{display:grid;place-items:center;width:27px;height:27px;border:1px solid #cee0eb;border-radius:9px;color:#94adbf;font-size:16px}
#gantt-chart .gantt-code-footer div{display:flex;flex-direction:column;gap:3px}
#gantt-chart .gantt-code-footer strong{font-size:11px;color:#638095}
#gantt-chart .gantt-code-footer small{font-size:9px;line-height:1.4;color:#a2b3bf}
#gantt-chart .gantt-timeline-panel{display:flex;flex-direction:column}
#gantt-chart .gantt-timeline-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
#gantt-chart .gantt-timeline-timezone{border:1px solid #dce9f3;background:#f5f9fc;border-radius:7px;padding:7px 9px;font-size:10px;white-space:nowrap;font-weight:800;color:#5781a0}
#gantt-chart .gantt-timeline-legend{display:flex;justify-content:space-between;gap:13px;padding:15px 19px;color:#96a8b6;font-size:10px}
#gantt-chart .gantt-timeline-legend span{display:flex;align-items:center;gap:6px}
#gantt-chart .gantt-legend-swatch{display:inline-block;width:17px;height:9px;background:#70a5de;border-radius:3px}
#gantt-chart .gantt-legend-grid{width:13px;height:13px;display:inline-block;background:repeating-linear-gradient(90deg,transparent 0 3px,#bccddd 3px 4px)}
#gantt-chart .gantt-chart-scroll{overflow-x:auto;max-width:100%;padding:0 13px 4px;scrollbar-color:#bccedc #f2f6f9}
#gantt-chart .gantt-chart-board{min-width:650px}
#gantt-chart .gantt-chart-axis,#gantt-chart .gantt-timeline-row{display:grid;grid-template-columns:106px minmax(544px,1fr);align-items:stretch}
#gantt-chart .gantt-chart-axis{height:38px;border-top:1px solid #e6edf2;border-bottom:1px solid #e4ebf1;background:#f9fbfd}
#gantt-chart .gantt-axis-label{font-size:10px;font-weight:800;letter-spacing:.5px;color:#8ba0ae;display:flex;align-items:center;padding-left:10px;border-right:1px solid #e9eef3}
#gantt-chart .gantt-axis-time{position:relative;min-width:0}
#gantt-chart .gantt-axis-tick{position:absolute;top:11px;transform:translateX(-50%);font-size:10px;font-weight:750;color:#7c94a7;font-variant-numeric:tabular-nums}
#gantt-chart .gantt-axis-tick:first-child{transform:none;left:3px!important}
#gantt-chart .gantt-axis-tick:last-child{transform:translateX(-100%);left:calc(100% - 3px)!important}
#gantt-chart .gantt-timeline-row{min-height:62px;border-bottom:1px solid #edf1f4}
#gantt-chart .gantt-timeline-row:hover{background:#fafcfe}
#gantt-chart .gantt-row-name{display:flex;flex-direction:column;justify-content:center;padding:9px 8px 9px 10px;overflow:hidden}
#gantt-chart .gantt-row-name strong{font-size:11px;font-weight:850;color:#37536a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gantt-chart .gantt-row-name small{font-size:9px;color:#9caebb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
#gantt-chart .gantt-row-track{position:relative;min-width:0;background-image:linear-gradient(to right,#e8edf2 1px,transparent 1px);background-size:calc(100% / 19) 100%;}
#gantt-chart .gantt-row-track:after{content:'';position:absolute;top:0;bottom:0;right:0;width:1px;background:#e8edf2}
#gantt-chart .gantt-bar{position:absolute;top:15px;height:32px;min-width:3px;border:1px solid #00000014;border-radius:7px;display:flex;align-items:center;gap:7px;padding:0 9px;color:#fff;font-size:11px;font-weight:750;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 2px 6px #1c3b4d1d;cursor:default}
#gantt-chart .gantt-bar span{overflow:hidden;text-overflow:ellipsis}
#gantt-chart .gantt-bar small{font-size:9px;opacity:.85;flex-shrink:0}
#gantt-chart .gantt-empty-row{height:92px;display:flex;align-items:center;justify-content:center;color:#a3b1bd;font-size:12px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(5% - 1px),#eff3f7 calc(5% - 1px),#eff3f7 5%)}
#gantt-chart .gantt-timeline-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 19px;margin-top:auto;font-size:10px;color:#98a8b3}
#gantt-chart .gantt-timeline-foot strong{font-size:10px;color:#7b96aa;white-space:nowrap}
#gantt-chart .gantt-flight-panel .gantt-panel-head h2 span{color:#438cd4}
#gantt-chart .gantt-flight-form{display:grid;gap:11px;padding:17px 17px 19px}
#gantt-chart .gantt-field{display:grid;gap:6px;min-width:0;flex:1}
#gantt-chart .gantt-field>span{font-size:11px;font-weight:800;color:#657d8d}
#gantt-chart .gantt-field b{color:#ef8f7f}
#gantt-chart .gantt-field input{min-width:0;width:100%;height:40px;border:1px solid #dce5ec;border-radius:9px;padding:0 11px;color:#2f495d;background:#fff;outline:none;font-family:inherit;font-size:12px;font-weight:750;transition:border-color .15s,box-shadow .15s}
#gantt-chart .gantt-field input:focus{border-color:#79abe0;box-shadow:0 0 0 3px #e5f1ff}
#gantt-chart .gantt-field input::placeholder{font-weight:500;color:#b6c1c9}
#gantt-chart .gantt-form-pair{display:flex;gap:9px}
#gantt-chart .gantt-field-help{font-size:10px;color:#a1afba;margin:-4px 0 1px}
#gantt-chart .gantt-color-line{display:flex;gap:8px;align-items:flex-end}
#gantt-chart input[type=color]{flex:none;width:42px;height:40px;border:1px solid #dce5ec;border-radius:9px;background:#fff;padding:4px;cursor:pointer}
#gantt-chart .gantt-add-flight{width:100%;min-height:42px;background:#397dc3;color:#fff;border:0;border-radius:9px;font-size:12px;font-weight:850;cursor:pointer;box-shadow:0 4px 10px #397dc328}
#gantt-chart .gantt-add-flight:hover{background:#2b6cb1}
#gantt-chart .gantt-error{background:#fff3f1;border:1px solid #f5cbc5;padding:8px;border-radius:9px;font-size:11px;color:#b64a3a}
#gantt-chart .gantt-registered-head{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e7edf2;padding:15px 17px 8px}
#gantt-chart .gantt-registered-head strong{font-size:11px;color:#547185}
#gantt-chart .gantt-registered-head span{background:#edf5fc;border-radius:10px;padding:2px 7px;font-size:10px;color:#4787ba;font-weight:850}
#gantt-chart .gantt-flight-list{max-height:202px;overflow:auto;padding:0 12px}
#gantt-chart .gantt-flight-item{display:flex;align-items:center;gap:9px;padding:10px 4px;border-bottom:1px solid #f0f3f6}
#gantt-chart .gantt-flight-chip{height:28px;width:5px;border-radius:3px;flex-shrink:0}
#gantt-chart .gantt-flight-item-info{display:flex;flex-direction:column;flex:1;min-width:0;gap:3px}
#gantt-chart .gantt-flight-item-info b{font-size:11px;color:#385569}
#gantt-chart .gantt-flight-item-info small{font-size:10px;color:#96a8b5}
#gantt-chart .gantt-flight-item-remove{border:0;background:#f4f7fa;color:#8aa1b1;border-radius:7px;width:27px;height:27px;cursor:pointer;font-weight:700}
#gantt-chart .gantt-flight-item-remove:hover{background:#ffeae6;color:#c15f57}
#gantt-chart .gantt-flight-list-empty{padding:24px 4px;text-align:center;font-size:11px;color:#a7b5c0}
#gantt-chart .gantt-flight-notice{font-size:10px;line-height:1.8;color:#a4b3bd;background:#f8fafc;border-radius:11px;margin:11px 15px 17px;padding:11px 12px}
#gantt-chart .gantt-staff-panel{margin-top:18px;background:#fff;border:1px solid #e1e8f0;border-radius:17px;box-shadow:0 4px 20px rgba(19,46,68,.035);overflow:hidden}
#gantt-chart .gantt-staff-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 21px 15px}
#gantt-chart .gantt-staff-head h2{margin-bottom:2px}
#gantt-chart .gantt-staff-label{color:#7594aa;border:1px solid #dce8f1;background:#f5f9fc;padding:8px 12px;border-radius:9px;font-size:10px;font-weight:800;white-space:nowrap}
#gantt-chart .gantt-staff-scroller{overflow-x:auto;border-top:1px solid #ebf0f4;border-bottom:1px solid #ebf0f4;max-width:100%}
#gantt-chart .gantt-staff-table{border-collapse:separate;border-spacing:0;min-width:1390px;width:100%;table-layout:fixed;font-size:11px;text-align:center;color:#4a6679}
#gantt-chart .gantt-staff-table th,#gantt-chart .gantt-staff-table td{height:42px;border-right:1px solid #edf1f4;border-bottom:1px solid #edf1f4;font-variant-numeric:tabular-nums}
#gantt-chart .gantt-staff-table tr:last-child td{border-bottom:0}
#gantt-chart .gantt-staff-table thead th{background:#f8fafc;color:#6d899e;font-size:10px;font-weight:850}
#gantt-chart .gantt-staff-table th:first-child{width:125px;position:sticky;left:0;z-index:2;background:#f8fafc;text-align:left;padding-left:17px;box-shadow:1px 0 0 #e8eef3}
#gantt-chart .gantt-staff-table tbody th{font-size:11px;color:#59778c}
#gantt-chart .gantt-staff-table tbody td strong{color:#3c83b9;font-size:12px}
#gantt-chart .gantt-staff-table tbody tr:last-child td{background:#fbfcfe;color:#b7c3cc}
#gantt-chart .gantt-staff-caption{font-size:10px;color:#99a9b5;padding:12px 20px 16px;margin:0;line-height:1.7}
@media(min-width:1650px){#gantt-chart .gantt-workspace{grid-template-columns:minmax(220px,250px) minmax(0,1fr) minmax(300px,350px)}#gantt-chart .gantt-chart-board{min-width:730px}}
@media(max-width:1210px){#gantt-chart .gantt-workspace{grid-template-columns:minmax(185px,210px) minmax(0,1fr)}#gantt-chart .gantt-flight-panel{grid-column:1/-1}#gantt-chart .gantt-flight-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}#gantt-chart .gantt-color-line{align-items:end}#gantt-chart .gantt-field-help{display:none}#gantt-chart .gantt-add-flight{align-self:end}}
@media(max-width:750px){#gantt-chart .gantt-intro{flex-direction:column;align-items:stretch}#gantt-chart .gantt-summary>div{flex:1;min-width:0;padding:12px 9px}#gantt-chart .gantt-summary b{font-size:21px}#gantt-chart .gantt-workspace{grid-template-columns:1fr}#gantt-chart .gantt-code-panel,#gantt-chart .gantt-timeline-panel,#gantt-chart .gantt-flight-panel{grid-column:auto}#gantt-chart .gantt-code-list{display:grid;grid-template-columns:1fr 1fr}#gantt-chart .gantt-code-row:nth-child(odd){border-right:1px solid #f0f3f6}#gantt-chart .gantt-flight-form{display:grid;grid-template-columns:1fr}#gantt-chart .gantt-global-header{padding:12px 18px}#gantt-chart .gantt-draft-chip{font-size:9px}#gantt-chart .gantt-staff-head{align-items:flex-start}}
@media(max-width:480px){#gantt-chart .gantt-header-right{gap:4px}#gantt-chart .gantt-muted-action{padding:8px;font-size:10px}#gantt-chart .gantt-intro h1{font-size:34px}#gantt-chart .gantt-summary small{font-size:8px}#gantt-chart .gantt-timeline-legend{font-size:9px;flex-wrap:wrap}#gantt-chart .gantt-page{padding-top:22px}#gantt-chart .gantt-staff-head{flex-direction:column}#gantt-chart .gantt-staff-label{align-self:flex-start}}

/* A11-174: simplified top title and settings-based FLIGHT selector */
#gantt-chart .gantt-intro{margin-bottom:20px} 
#gantt-chart .gantt-intro h1{margin:0;line-height:1.16}
#gantt-chart .gantt-flight-form select{width:100%;min-height:42px;padding:0 12px;border:1px solid #dce5ec;border-radius:9px;color:#2f495d;background:#fff;font-family:inherit;font-size:12px;font-weight:750;cursor:pointer;outline:none}
#gantt-chart .gantt-flight-form select:focus{border-color:#79abe0;box-shadow:0 0 0 3px #e5f1ff}
#gantt-chart .gantt-flight-form select:disabled{background:#f5f7f9;color:#99a6b2;cursor:not-allowed}
#gantt-chart .gantt-source-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:-5px}
#gantt-chart #gantt-operation-status{font-size:10px;color:#7891a3;line-height:1.5;flex:1;min-width:0}
#gantt-chart #gantt-refresh-operations{white-space:nowrap;font-size:10px;font-weight:800;color:#397dc3;border:1px solid #d7e6f3;background:#f5f9ff;border-radius:7px;min-height:29px;padding:0 8px;cursor:pointer}
#gantt-chart #gantt-refresh-operations:disabled{opacity:.5;cursor:wait}
#gantt-chart .gantt-flight-form input:read-only{background:#f8fafc;color:#617e90}
@media(max-width:1210px){#gantt-chart .gantt-source-row{grid-column:1/-1}}

/* Prevent blank columns from stretching to match the FLIGHT editor height. */
#gantt-chart .gantt-workspace{align-items:start}
#gantt-chart .gantt-code-panel,#gantt-chart .gantt-timeline-panel,#gantt-chart .gantt-flight-panel{align-self:start}

/* A11-175: compact heading / date calendar / daily FLIGHT cards */
#gantt-chart .gantt-page{padding-top:12px}
#gantt-chart .gantt-intro{margin:0 0 17px;align-items:flex-start}
#gantt-chart .gantt-intro h1{margin:0 0 8px;font-size:clamp(32px,2.8vw,42px)}
#gantt-chart .gantt-title-block{position:relative;min-width:260px}
#gantt-chart .gantt-date-line{display:flex;align-items:center;gap:7px;font-size:18px;font-weight:850;color:#29465a}
#gantt-chart .gantt-day-trigger{border:1px solid #cfe1f1;background:#e8f4ff;color:#2872b5;border-radius:9px;padding:5px 11px;font-size:17px;font-weight:850;cursor:pointer}
#gantt-chart .gantt-day-trigger:hover{background:#d9ebfd}
#gantt-chart .gantt-day-trigger span{font-size:13px;margin-left:4px}
#gantt-chart .gantt-date-weekday{color:#8aa0af;font-size:12px;font-weight:700}
#gantt-chart .gantt-calendar{position:absolute;z-index:12;top:100%;left:0;margin-top:8px;width:304px;background:#fff;border:1px solid #d8e4ee;border-radius:14px;box-shadow:0 16px 35px #24465f22;padding:12px}
#gantt-chart .gantt-calendar[hidden]{display:none!important}
#gantt-chart .gantt-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
#gantt-chart .gantt-calendar-header strong{font-size:14px}
#gantt-chart .gantt-calendar-header button{height:32px;width:32px;border:1px solid #e3eaf0;border-radius:8px;background:#f6f9fc;color:#527992;font-size:20px}
#gantt-chart .gantt-calendar-weekdays,#gantt-chart .gantt-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
#gantt-chart .gantt-calendar-weekdays{font-size:11px;color:#91a2ae;margin-bottom:6px}
#gantt-chart .gantt-calendar-days button{min-height:35px;border:0;background:#fff;color:#415d70;border-radius:8px;font-size:12px;font-weight:650;cursor:pointer}
#gantt-chart .gantt-calendar-days button:hover{background:#e7f3fc}
#gantt-chart .gantt-calendar-days button.is-selected{background:#367bc0;color:white}
#gantt-chart .gantt-calendar-days button.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #76a9d3}
#gantt-chart .gantt-calendar-days button.weekend{color:#c36b66}
#gantt-chart .gantt-calendar-days button.is-selected.weekend{color:#fff}
#gantt-chart .gantt-calendar-bottom{display:flex;gap:8px;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #edf2f6}
#gantt-chart .gantt-calendar-bottom button{border:0;background:#edf5fd;border-radius:8px;color:#367bb8;font-size:11px;font-weight:800;padding:8px 12px;cursor:pointer}
#gantt-chart .gantt-timeline-panel .gantt-chart-scroll{padding-bottom:13px}
#gantt-chart .gantt-panel-head{padding-bottom:15px}
#gantt-chart .gantt-flight-overview{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:13px 16px 0}
#gantt-chart #gantt-operation-status{font-size:11px;color:#8199aa}
#gantt-chart #gantt-refresh-operations{min-width:30px;height:29px}
#gantt-chart .gantt-registered-head{border-top:0;padding-top:9px}
#gantt-chart .gantt-flight-list{max-height:none;padding-bottom:8px}
#gantt-chart .gantt-flight-item{min-height:48px}
#gantt-chart .gantt-flight-item.is-unplottable{background:#fffcf5}
#gantt-chart .gantt-flight-item-info small.gantt-flight-warning{color:#d1823f}
#gantt-chart .gantt-flight-item .gantt-source-tag{font-size:9px;font-weight:700;color:#849eaf;background:#f1f6f9;padding:3px 6px;border-radius:6px}
#gantt-chart .gantt-manual-section{padding:12px 15px 17px;border-top:1px solid #edf1f5}
#gantt-chart .gantt-expand-add{width:100%;padding:12px 8px;border-radius:9px;border:1px solid #b9d6ed;color:#337db7;background:#f3faff;font-weight:850;font-size:12px;cursor:pointer}
#gantt-chart .gantt-expand-add:hover{background:#e4f3ff}
#gantt-chart .gantt-flight-form{padding-top:0;border-top:0}
#gantt-chart .gantt-flight-form[hidden]{display:none!important}
#gantt-chart .gantt-add-actions{display:flex;gap:8px}
#gantt-chart .gantt-add-actions .gantt-add-flight{flex:1;min-width:0}
#gantt-chart .gantt-cancel-add{padding:0 13px;border:1px solid #dbe5ee;border-radius:9px;background:#fff;color:#718798;font-size:12px;font-weight:750}
#gantt-chart .gantt-empty-row{height:75px}
@media(max-width:1210px){#gantt-chart .gantt-flight-form{display:grid;grid-template-columns:1fr 1fr;align-items:end}#gantt-chart .gantt-add-actions{grid-column:1/-1}}
@media(max-width:750px){#gantt-chart .gantt-flight-form{grid-template-columns:1fr}#gantt-chart .gantt-page{padding-top:13px}}

#gantt-chart .gantt-unplottable-note{position:absolute;top:20px;left:12px;color:#b77c44;font-size:10px;font-weight:750}

/* A11-176: dense, accurate roster code times / airline-row Gantt. */
#gantt-chart .gantt-code-column-head{display:grid;grid-template-columns:minmax(0,1fr) 53px 53px;gap:5px;padding:10px 10px 6px;color:#8298aa;font-size:10px;font-weight:750;background:#fafcfe}
#gantt-chart .gantt-code-column-head span:not(:first-child){text-align:right}
#gantt-chart .gantt-code-list{padding:0 10px 7px;max-height:405px;overflow-y:auto;scrollbar-color:#bed1e1 #f7f9fb}
#gantt-chart .gantt-code-row{display:grid;grid-template-columns:minmax(0,1fr) 53px 53px;gap:5px;align-items:center;padding:6px 0;min-height:29px;border-bottom:1px solid #edf2f5}
#gantt-chart .gantt-code-row strong{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#34576f}
#gantt-chart .gantt-code-row time{font-size:10px;font-weight:650;color:#64859c;font-variant-numeric:tabular-nums;text-align:right}
#gantt-chart .gantt-code-row.is-no-hours time{color:#b7c4cc}
#gantt-chart .gantt-code-loading{font-size:11px;color:#96a6b4;padding:12px 1px}
#gantt-chart .gantt-airline-row .gantt-row-name strong{font-size:13px}
#gantt-chart .gantt-airline-row .gantt-row-name small{font-size:10px}
#gantt-chart .gantt-airline-row .gantt-bar{height:29px;max-height:29px}
#gantt-chart .gantt-airline-row{min-height:50px}
#gantt-chart .gantt-airline-row .gantt-row-track{min-height:50px}
@media(max-width:750px){#gantt-chart .gantt-code-list{display:block}#gantt-chart .gantt-code-row:nth-child(odd){border-right:0}}

/* A11-177: airline brand logo, one color per airline, per-flight caption above accurate bar. */
#gantt-chart .gantt-chart-axis,#gantt-chart .gantt-timeline-row{grid-template-columns:70px minmax(544px,1fr)}
#gantt-chart .gantt-chart-board{min-width:610px}
#gantt-chart .gantt-axis-label{padding-left:5px;font-size:9px;letter-spacing:0;justify-content:center}
#gantt-chart .gantt-row-name{padding:4px 5px;align-items:center;justify-content:center;border-right:1px solid #eef2f5}
#gantt-chart .gantt-row-logo{display:block;max-width:58px;width:100%;height:29px;object-fit:contain;object-position:center}
#gantt-chart .gantt-logo-fallback{display:block;color:#52738d;font-weight:850;font-size:12px;letter-spacing:-.2px}
#gantt-chart .gantt-airline-row .gantt-row-track{min-height:78px}
#gantt-chart .gantt-airline-row .gantt-bar-minimal{height:17px!important;min-height:17px;max-height:17px!important;border-radius:4px;min-width:2px;padding:0;overflow:visible;box-shadow:0 1px 4px #203e4e22;z-index:1}
#gantt-chart .gantt-bar-caption{position:absolute;z-index:2;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:calc(100% - 8px);width:max-content;white-space:nowrap;min-height:28px;padding:4px 6px;border:1px solid #e9edf1;background:#ffffffed;box-shadow:0 1px 3px #193e4712;border-radius:5px;pointer-events:auto;color:#34566e}
#gantt-chart .gantt-caption-time{font-size:11px;font-variant-numeric:tabular-nums;color:#53718c;font-weight:800;flex:none}
#gantt-chart .gantt-caption-flight{display:inline-flex;align-items:center;gap:4px;min-width:0}
#gantt-chart .gantt-caption-flight b{font-size:11px;color:#27465b;font-weight:850;letter-spacing:-.35px}
#gantt-chart .gantt-caption-logo{display:block;object-fit:contain;flex:none;width:28px;max-height:17px}
#gantt-chart .gantt-caption-flight .gantt-logo-fallback{font-size:9px}
#gantt-chart .gantt-airline-row .gantt-row-name small{display:none!important}
@media(max-width:750px){#gantt-chart .gantt-chart-axis,#gantt-chart .gantt-timeline-row{grid-template-columns:64px minmax(544px,1fr)}#gantt-chart .gantt-row-logo{max-width:54px}}

/* A11-178: dense airline rows, narrower sidebars, and shift times below each code. */
#gantt-chart .gantt-workspace{grid-template-columns:156px minmax(0,1fr) 236px;gap:10px}
#gantt-chart .gantt-section-heading{margin:0!important;font-size:16px!important;letter-spacing:-.5px!important;line-height:1.3!important;color:#28485e;font-weight:850}
#gantt-chart .gantt-section-index{font-size:11px;letter-spacing:.1px;color:#7196b0;font-weight:850;margin-right:4px}
#gantt-chart .gantt-flight-panel .gantt-panel-head h2 .gantt-section-index{color:#7196b0}
#gantt-chart .gantt-panel-head{padding:15px 14px 14px}
#gantt-chart .gantt-timeline-head{min-height:57px}
#gantt-chart .gantt-timeline-timezone{padding:5px 6px;font-size:9px}
#gantt-chart .gantt-timeline-legend{padding:9px 14px}
#gantt-chart .gantt-airline-row,#gantt-chart .gantt-airline-row .gantt-row-track{min-height:58px}
/* Preserve A11-177's caption/logo/17px bar dimensions while removing wasted vertical whitespace. */
#gantt-chart .gantt-bar-caption{margin:0;line-height:16px}
#gantt-chart .gantt-airline-row .gantt-bar-minimal{height:17px!important;min-height:17px!important;max-height:17px!important}
#gantt-chart .gantt-row-logo{height:29px;max-width:58px}
#gantt-chart .gantt-code-list{padding:3px 7px 6px;max-height:405px;overflow-y:auto}
#gantt-chart .gantt-code-row{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:2px;min-height:40px;padding:4px 0;border-bottom:1px solid #edf2f5}
#gantt-chart .gantt-code-row strong{font-size:11px;line-height:1.2;display:block}
#gantt-chart .gantt-code-row > .gantt-code-times{display:flex;flex:none;flex-direction:row;justify-content:space-between;align-items:center;gap:5px;width:100%;min-width:0}
#gantt-chart .gantt-code-time-item{display:inline-flex;align-items:baseline;gap:2px;white-space:nowrap;min-width:0}
#gantt-chart .gantt-code-time-label{font-size:8px;color:#839bae;font-weight:700}
#gantt-chart .gantt-code-time-item time{font-size:9px;font-weight:750;color:#537994;white-space:nowrap;font-variant-numeric:tabular-nums}
#gantt-chart .gantt-code-row.is-no-hours time{color:#b7c4cc}
#gantt-chart .gantt-flight-list{padding:0 6px}
#gantt-chart .gantt-flight-item{min-height:35px;padding:6px 1px;gap:6px}
#gantt-chart .gantt-flight-chip{height:23px;width:4px}
#gantt-chart .gantt-flight-item-info{gap:1px}
#gantt-chart .gantt-flight-item-info b{font-size:10px;letter-spacing:-.22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gantt-chart .gantt-flight-item-info small{font-size:8px;white-space:nowrap}
#gantt-chart .gantt-flight-item-remove{width:24px;height:24px;flex:none}
#gantt-chart .gantt-flight-overview{padding:9px 9px 0}
#gantt-chart .gantt-registered-head{padding:8px 9px 5px}
#gantt-chart .gantt-manual-section{padding:10px 9px 12px}
#gantt-chart .gantt-staff-head{padding:15px 17px 13px}
@media(min-width:1650px){#gantt-chart .gantt-workspace{grid-template-columns:164px minmax(0,1fr) 248px;gap:12px}}
@media(max-width:1210px) and (min-width:751px){#gantt-chart .gantt-workspace{grid-template-columns:168px minmax(0,1fr)}#gantt-chart .gantt-flight-panel{grid-column:1/-1}}
@media(max-width:750px){#gantt-chart .gantt-workspace{grid-template-columns:minmax(0,1fr)}#gantt-chart .gantt-code-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}#gantt-chart .gantt-code-row{border-right:0!important}}

/* A11-181: 50% taller airline rows (58 -> 87px).
   Give +17px to captions (28 -> 45px, ~30%) and +12px to actual
   flight bars (17 -> 29px, ~20%). Preserve airline logos in the left rail;
   caption itself now shows arrival / flight number / departure only. */
#gantt-chart .gantt-airline-row,
#gantt-chart .gantt-airline-row .gantt-row-track{min-height:72px}
#gantt-chart .gantt-bar-caption{height:45px;min-height:45px;padding:7px 7px;line-height:1.15;align-items:center;gap:7px}
#gantt-chart .gantt-caption-time{font-size:12px}
#gantt-chart .gantt-caption-flight b{font-size:12px;letter-spacing:-.25px}
#gantt-chart .gantt-airline-row .gantt-bar-minimal{height:29px!important;min-height:29px!important;max-height:29px!important}

/* A11-182: Keep the 29px bars and 12px text unchanged;
   reduce the excessive white caption to 30px. */
#gantt-chart .gantt-bar-caption{
  height:30px;
  min-height:30px;
  padding:4px 7px;
  line-height:1.25;
  align-items:center;
}


/* A11-185: exact-fit timeline rows. Caption (30px) sits immediately on
   the flight bar (29px), with no invisible top/bottom lane padding. */
#gantt-chart .gantt-airline-row,
#gantt-chart .gantt-airline-row .gantt-row-track{min-height:59px}


/* A11-185: centered monthly Ramp staffing title and Daily FLT summary. */
#gantt-chart .gantt-intro{justify-content:center;align-items:center;text-align:center;margin:0 0 23px}
#gantt-chart .gantt-title-block{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center}
#gantt-chart .gantt-intro #gantt-chart-title{font-size:clamp(26px,2.85vw,43px);line-height:1.22;letter-spacing:-1.3px;font-weight:900;color:#213f52;margin:3px 0 12px;text-align:center;word-break:keep-all}
#gantt-chart .gantt-date-line{justify-content:center}
#gantt-chart .gantt-calendar{left:50%;transform:translateX(-50%);text-align:left}
#gantt-chart .gantt-workspace{grid-template-columns:176px minmax(0,1fr) 218px;gap:10px}
#gantt-chart .gantt-daily-panel{padding:0 0 12px}
#gantt-chart .gantt-daily-summary{display:flex;flex-direction:column;align-items:center;padding:15px 11px 11px;border-bottom:1px solid #edf2f6;background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%)}
#gantt-chart .gantt-daily-summary h2{margin:0;font-size:17px;font-weight:900;letter-spacing:.25px;color:#2c638c}
#gantt-chart .gantt-daily-date{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:11px;padding:7px 12px 8px;min-width:74px;border-radius:13px;background:#edf6ff;border:1px solid #dceaf8}
#gantt-chart .gantt-daily-day{font-size:37px;line-height:1.05;font-weight:900;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#266dab}
#gantt-chart .gantt-daily-weekday{font-size:14px;font-weight:850;color:#537c9e;margin-top:3px}
#gantt-chart .gantt-daily-table{width:calc(100% - 14px);margin:13px 7px 0;border-collapse:separate;border-spacing:0;table-layout:fixed;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;color:#36556e;border:1px solid #e2eaf1;border-radius:9px;overflow:hidden}
#gantt-chart .gantt-daily-table th,#gantt-chart .gantt-daily-table td{padding:11px 1px;border-bottom:1px solid #e6edf3;border-right:1px solid #e6edf3;text-align:center;white-space:nowrap;line-height:1.2}
#gantt-chart .gantt-daily-table tr>*:last-child{border-right:0}
#gantt-chart .gantt-daily-table tbody tr:last-child>*{border-bottom:0}
#gantt-chart .gantt-daily-table thead th{padding:10px 1px;background:#f2f6fb;font-weight:850;color:#56758b;font-size:10px}
#gantt-chart .gantt-daily-table tbody th{font-weight:900;color:#326483;background:#fafcff}
#gantt-chart .gantt-daily-table tbody td{font-size:12px;font-weight:750}
#gantt-chart .gantt-daily-table tbody .gantt-daily-total>*{background:#e8f3fd!important;color:#216aaf;font-weight:900;border-top:1px solid #cedff0}
#gantt-chart .gantt-daily-note{margin:12px 7px 0;text-align:center;color:#8196a7;line-height:1.65;font-size:9px;font-weight:700}
@media(min-width:1650px){#gantt-chart .gantt-workspace{grid-template-columns:185px minmax(0,1fr) 231px;gap:12px}}
@media(max-width:1210px) and (min-width:751px){#gantt-chart .gantt-workspace{grid-template-columns:180px minmax(0,1fr)}#gantt-chart .gantt-flight-panel{grid-column:1/-1}}
@media(max-width:750px){#gantt-chart .gantt-workspace{grid-template-columns:1fr}#gantt-chart .gantt-daily-panel{max-width:100%}#gantt-chart .gantt-intro #gantt-chart-title{font-size:clamp(23px,5.2vw,31px)}#gantt-chart .gantt-daily-table{width:calc(100% - 32px);margin-left:16px;margin-right:16px}#gantt-chart .gantt-daily-table th,#gantt-chart .gantt-daily-table td{padding:12px 4px}#gantt-chart .gantt-daily-summary{padding-top:12px}}


/* A11-187 preview: one time scale shared with flights, and 30m roster below. */
#gantt-chart .gantt-workspace{grid-template-columns:minmax(0,1fr) 218px;gap:10px;align-items:start}
#gantt-chart .gantt-main-stack{display:flex;flex-direction:column;gap:6px;min-width:0}
#gantt-chart .gantt-main-overview{display:grid;grid-template-columns:176px minmax(0,1fr);gap:10px;align-items:start;min-width:0}
#gantt-chart .gantt-roster-panel{grid-column:auto;grid-row:auto;min-width:0;background:#fff;border:1px solid #e1e8f0;border-radius:15px;overflow:hidden;box-shadow:0 4px 20px rgba(19,46,68,.035)}
#gantt-chart .gantt-roster-toolbar{min-height:47px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px 8px 13px;background:#fcfdff;border-bottom:1px solid #e8eef4}
#gantt-chart .gantt-roster-heading{display:flex;align-items:center;gap:7px;min-width:0}
#gantt-chart .gantt-roster-heading strong{font-size:13px;font-weight:900;white-space:nowrap;color:#284d69}
#gantt-chart .gantt-roster-icon{font-size:17px;color:#448cda;font-weight:850;line-height:1}
#gantt-chart .gantt-roster-unit{font-size:10px;font-weight:800;color:#5385ab;padding:4px 7px;border-radius:5px;background:#edf5ff;white-space:nowrap}
#gantt-chart .gantt-roster-demo{font-size:9px;color:#8a9daf;white-space:nowrap}
#gantt-chart .gantt-roster-scroll{overflow-x:auto;scrollbar-color:#bed0e0 #f2f5f9}
#gantt-chart .gantt-roster-board{min-width:0;width:max-content;background:#fff;--roster-meta:270px;--roster-track:780px}
#gantt-chart .gantt-roster-grid{display:grid;grid-template-columns:var(--roster-meta) var(--roster-track);width:max-content}
#gantt-chart .gantt-roster-metacells{display:grid;grid-template-columns:minmax(51px,1.3fr) minmax(43px,1fr) minmax(43px,1fr) minmax(52px,1.16fr) minmax(39px,.87fr);width:100%;min-width:0;align-items:stretch;border-right:1px solid #cbd9e4;background:#f5f8fc}
#gantt-chart .gantt-roster-metacells>*{min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 2px;border-right:1px solid #e2eaf0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gantt-chart .gantt-roster-metacells>*:last-child{border-right:0}
#gantt-chart .gantt-roster-headrow .gantt-roster-metacells{background:#f2f6fa}
#gantt-chart .gantt-roster-headrow .gantt-roster-metacells>*{font-size:10px;font-weight:850;color:#59758a}
#gantt-chart .gantt-roster-timecells{display:grid;grid-template-columns:repeat(38,minmax(0,1fr));min-width:0}
#gantt-chart .gantt-roster-timecells>*{position:relative;min-width:0;border-right:1px solid #ecf1f5;border-bottom:1px solid #e7edf3}
#gantt-chart .gantt-roster-timecells>*:nth-child(2n+1){border-left:1px solid #cad9e6}
#gantt-chart .gantt-roster-headrow{height:36px}
#gantt-chart .gantt-roster-headrow .gantt-roster-timecells{background:#f5f8fc}
#gantt-chart .gantt-roster-tick{display:flex;align-items:center;justify-content:flex-start;font-size:9px;font-weight:800;color:#718fa8;padding-left:2px;letter-spacing:-.2px;white-space:nowrap}
#gantt-chart .gantt-roster-tick.half{color:#b2c1cd;font-size:8px}
#gantt-chart .gantt-roster-sumrow{height:34px}
#gantt-chart .gantt-roster-sumrow .gantt-roster-metacells{background:#dfeefa}
#gantt-chart .gantt-roster-sumrow .gantt-roster-metacells strong{font-size:11px;font-weight:900;color:#29618e}
#gantt-chart .gantt-roster-sumrow .gantt-roster-timecells{background:#edf6ff}
#gantt-chart .gantt-roster-sumrow .gantt-roster-timecells>*{display:flex;align-items:center;justify-content:center;color:#286ba5;font-size:10px;font-weight:900;font-variant-numeric:tabular-nums}
#gantt-chart .gantt-roster-entry{height:37px}
#gantt-chart .gantt-roster-entry .gantt-roster-metacells{background:#fff}
#gantt-chart .gantt-roster-entry .gantt-roster-metacells>*{font-size:10px;color:#446278;font-weight:750;font-variant-numeric:tabular-nums;border-bottom:1px solid #e9eff3}
#gantt-chart .gantt-roster-entry .gantt-roster-metacells .gantt-roster-code{font-size:10px;font-weight:850;color:#274c67;letter-spacing:-.2px}
#gantt-chart .gantt-roster-people-input{width:33px;max-width:100%;height:25px;padding:0 2px;appearance:textfield;text-align:center;border:1px solid #d8e5ee;border-radius:5px;background:#f7fafc;color:#265f90;font:800 11px inherit;outline:none}
#gantt-chart .gantt-roster-people-input::-webkit-inner-spin-button,#gantt-chart .gantt-roster-people-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#gantt-chart .gantt-roster-people-input:focus{border-color:#5d9cda;box-shadow:0 0 0 2px #d9ebff}
#gantt-chart .gantt-roster-cell{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:0;border-right:1px solid #edf1f5;border-bottom:1px solid #e7edf3;background:#fff;font-size:10px;font-weight:800;color:transparent;cursor:pointer;border-radius:0}
#gantt-chart .gantt-roster-cell.hour{border-left:1px solid #cbdbe8}
#gantt-chart .gantt-roster-cell.filled{background:#e2effb;color:#2769a0}
#gantt-chart .gantt-roster-cell.filled:hover{background:#bcdcf5}
#gantt-chart .gantt-roster-cell:not(.filled):hover{background:#f1f7fd;color:#9cb5ca}
#gantt-chart .gantt-roster-cell:focus-visible{outline:2px solid #448cda;outline-offset:-2px;position:relative;z-index:1}
#gantt-chart .gantt-roster-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#f9fbfd;color:#8a9bab;font-size:9px;font-weight:700}
#gantt-chart .gantt-roster-footer>span:first-child{display:inline-flex;align-items:center;gap:5px}
#gantt-chart .gantt-roster-dot{display:inline-block;width:9px;height:9px;background:#d2e7fb;border:1px solid #b7d6f2;border-radius:2px}
/* The same 30-minute gridlines run through the airline flight chart. */
#gantt-chart .gantt-row-track{background-size:calc(100% / 38) 100%}
@media(min-width:1650px){#gantt-chart .gantt-roster-toolbar{min-height:50px}#gantt-chart .gantt-workspace{grid-template-columns:minmax(0,1fr) 231px;gap:12px}#gantt-chart .gantt-main-overview{grid-template-columns:185px minmax(0,1fr);gap:12px}}
@media(max-width:1210px) and (min-width:751px){#gantt-chart .gantt-workspace{grid-template-columns:minmax(0,1fr)}#gantt-chart .gantt-main-overview{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:750px){#gantt-chart .gantt-workspace{grid-template-columns:1fr}#gantt-chart .gantt-main-overview{grid-template-columns:1fr}#gantt-chart .gantt-roster-toolbar{flex-direction:column;align-items:flex-start;gap:3px}#gantt-chart .gantt-roster-scroll{max-width:100%}#gantt-chart .gantt-roster-footer{flex-wrap:wrap}}

/* A11-187: Join the 30-minute staffing matrix immediately to the flight timeline.
   Keep every time column and click-to-edit preview behavior unchanged. */
#gantt-chart .gantt-main-stack { gap: 0; }
#gantt-chart .gantt-main-overview { margin-bottom: 0; }
#gantt-chart .gantt-main-overview .gantt-timeline-panel {
  border-radius: 16px 16px 0 0;
  border-bottom-color: transparent;
}
#gantt-chart .gantt-main-overview .gantt-timeline-panel .gantt-chart-scroll {
  padding-bottom: 0;
}
#gantt-chart .gantt-roster-panel {
  margin-top: -1px;
  border-radius: 0 0 15px 15px;
  border-top: 1px solid #e5edf4;
}
#gantt-chart .gantt-roster-headrow {
  border-top: 0;
}
@media(max-width:750px) {
  #gantt-chart .gantt-main-stack {gap: 0;}
  #gantt-chart .gantt-roster-panel {margin-top: 0;}
}
