*{box-sizing:border-box}body{margin:0;background:#07111f;color:#eaf2ff;font-family:Inter,ui-sans-serif,system-ui}main{min-height:100vh;padding:22px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #22334b;padding-bottom:16px}h1{margin:4px 0;font-size:26px}.brand{letter-spacing:.18em;color:#e51b36;font-size:13px}.clock{font-size:30px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.clock small{display:block;text-align:right;font-size:11px;color:#8294ad}nav{display:flex;gap:8px;align-items:center;padding:14px 0}.navBtn,button,input,nav a,select{background:#101d2f;color:#dce9fb;border:1px solid #293b54;border-radius:8px;padding:9px 13px;text-decoration:none}button{cursor:pointer}button.active{background:#e51b36;border-color:#e51b36;color:white}.status{display:flex;justify-content:space-between;background:#0c192a;border:1px solid #20324a;border-radius:10px;padding:11px 15px;margin-bottom:12px}.board{display:grid;grid-template-columns:4fr 1.2fr;grid-gap:12px;gap:12px}.panel{background:#0b1727;border:1px solid #1c3655;border-radius:12px;overflow:hidden}.panel.oncall{border-color:#665a20}.panel h2{margin:0;padding:13px 16px;background:#10243b;font-size:15px;letter-spacing:.08em}.panel.oncall h2{background:#332f14;color:#ffe66d}.panel h2 span{float:right}.thead,article{display:grid;grid-template-columns:70px 2fr 1.4fr 70px 90px;grid-gap:10px;gap:10px;align-items:center;padding:10px 14px}.thead{font-size:10px;color:#7f94af;text-transform:uppercase;border-bottom:1px solid #203047}article{border-bottom:1px solid #15263a}article time{font-size:20px;font-weight:800}article small{display:block;color:#8ca0ba;margin-top:2px}article em{font-style:normal;font-size:11px;border:1px solid #31557c;border-radius:20px;padding:5px 7px;text-align:center}.oncall article em{border-color:#75661e;color:#ffe66d}.empty{padding:28px;color:#71859f;text-align:center}.warning{padding:10px;background:#4a1d24;border:1px solid #8d3040;border-radius:8px;margin-bottom:10px}.legacy{max-width:1600px;margin:auto}.legacyHeader{gap:16px}.logoMark{width:70px;height:62px;flex:0 0 70px;font-size:0;background:url(/thy-logo.svg) 50%/contain no-repeat;border:0;border-radius:0}.headerActions{margin-left:auto;display:flex;align-items:center;gap:10px}.headerActions .clock{margin-right:6px}.dateBar{display:flex;justify-content:space-between;align-items:center;padding:30px 18px 18px}.dateBar h2{margin:0 0 4px;font-size:24px}.dateBar small,.muted{color:#8fa0b6}.dateControls{display:flex;gap:10px}.dateControls input,.dateControls select{min-width:170px}.tabs{display:flex;gap:8px;margin:6px 0 16px}.tabs button{font-weight:700}.accordion,.filterBar,.flightTable,.legacyCard{background:#0b1727;border:1px solid #223650;border-radius:14px;margin-bottom:14px}.accordion summary{padding:15px 18px;font-weight:800;cursor:pointer}.accordion>div,.accordion>p{padding:0 18px 16px}.systemGrid{display:grid!important;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.sys{background:#0e1d30;border:1px solid #263d59;border-radius:10px;padding:14px;display:flex;justify-content:space-between;gap:12px}.sys span{color:#9db0c8}.sys b{font-size:12px}.legacyCard{padding:18px}.legacyCard h3{margin:0 0 14px}.teamRow{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.team{border-radius:10px;padding:16px;color:#102238;display:flex;justify-content:space-between;font-size:18px}.team.off{background:#dce3ea}.team.morning{background:#bcd9f3}.team.evening{background:#ffe9ad}.team.night{background:#dacbff}.rotationTable{font-size:13px}.rotationTable td,.rotationTable th{padding:9px 12px;border-bottom:1px solid #20344d;white-space:nowrap}.rotationTable th{color:#93a8c0;background:#0f1e31}.rotationTable tbody tr:hover{background:#0d1b2d}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:12px}.stat{background:#102238;border:1px solid #24405f;border-radius:14px;padding:16px;display:flex;align-items:center;gap:20px}.stat b{font-size:38px}.stat span{letter-spacing:.12em;color:#a8b7ca;font-size:12px;font-weight:800}.stat.yellow{border-color:#665a20}.stat.yellow b{color:#ffd23f}.filterBar{display:flex;gap:10px;padding:12px}.filterBar input{flex:1 1}.flightTable{overflow:hidden}.flightHead,.flightRow{display:grid;grid-template-columns:115px minmax(150px,1.65fr) minmax(125px,1.25fr) minmax(90px,1fr) minmax(90px,1fr) 72px 95px 82px;grid-gap:12px;gap:12px;align-items:center;padding:12px 16px}.flightHead{background:#102238;color:#8fa3ba;font-size:11px;text-transform:uppercase;font-weight:800}.flightRow{position:relative;border-top:1px solid #1b3047;min-height:82px}@keyframes legacyOpsPulse{0%,to{background:rgba(127,29,29,.18);box-shadow:inset 3px 0 #ef4444,0 0 0 rgba(239,68,68,0)}50%{background:rgba(127,29,29,.48);box-shadow:inset 5px 0 #ef4444,0 0 18px rgba(239,68,68,.55)}}.flightRow.hasChange{animation:legacyOpsPulse 1s ease-in-out infinite}.flightRow.hasChange .changeAlert{color:#fecaca}.flightRow>small{color:#8799af}.flightRow em{font-style:normal;border:1px solid #2b577e;border-radius:20px;text-align:center;padding:5px 8px;font-size:11px}.flightRow em.oc{border-color:#75661e;color:#ffe66d}.flightName small{display:block;color:#8799af;margin-top:2px}.timeCell{display:grid;grid-template-columns:auto 1fr;grid-gap:1px 6px;gap:1px 6px;align-items:center}.mainTimeLine{grid-column:1/-1;display:flex;align-items:center;gap:7px;min-width:0}.mainTimeLine>b{font-size:22px;line-height:1;color:#edf5ff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.arrivalStatus{display:inline-block;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:900;letter-spacing:.05em;white-space:nowrap}.arrivalStatus.delay{background:#5b1f25;color:#ffd1d1;border:1px solid #ef4444}.arrivalStatus.early{background:#18395d;color:#bfe2ff;border:1px solid #4aa7e8}.arrivalStatus.ontime{background:#153f2d;color:#b9ffd3;border:1px solid #2fbf71}.arrivalStatus.arrived{background:#29404f;color:#d6e8f4;border:1px solid #607d8b}.arrivalStatus.airborne{background:#283d59;color:#d5e7ff;border:1px solid #6fa8e8}.arrivalStatus.cancel{background:#3f2630;color:#ffc5cf;border:1px solid #e05a70}.arrivalStatus.neutral{background:#263746;color:#c7d5df;border:1px solid #587086}.timeCell>b{font-size:22px;line-height:1}.timeKind{font-size:9px;font-weight:900;letter-spacing:.08em;color:#55c7ff}.timeCell>small{grid-column:1/-1;color:#8395aa;font-size:10px}.countdown{grid-column:1/-1;margin-top:3px;color:#62d99b;font-size:11px;letter-spacing:.03em}.changeAlert{display:block;margin-top:7px;color:#ffd36a;font-size:10px;font-weight:800;line-height:1.35}.assignBtn{padding:8px 9px;min-height:42px;text-align:left;border-color:#35648b;background:#10263c;overflow:hidden}.assignBtn b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignBtn small{display:block;color:#8fb3d2;margin-top:3px;font-size:9px}.assignBtn.empty{border-style:dashed;border-color:#d5aa47;background:#3a3117;color:#ffe2a0;text-align:center;font-size:11px;animation:assignmentWaitingPulse 1.7s ease-in-out infinite}.assignBtn.empty small{color:#e7c875}@keyframes assignmentWaitingPulse{0%,to{box-shadow:0 0 0 0 rgba(213,170,71,0)}50%{box-shadow:0 0 0 3px rgba(213,170,71,.22)}}.archiveBox{display:flex!important;gap:10px}.archiveBox input{min-width:180px}.assignBackdrop{position:fixed;z-index:1000;inset:0;background:rgba(2,8,16,.78);display:flex;align-items:center;justify-content:center;padding:24px}.assignModal{width:min(760px,96vw);max-height:88vh;overflow:auto;background:#0b1727;border:1px solid #34506f;border-radius:16px;padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.5)}.assignTitle{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #233851;padding-bottom:13px}.assignTitle h3{margin:4px 0 0;font-size:21px}.assignTitle small{color:#e51b36;font-weight:900;letter-spacing:.12em}.teamTabs{display:flex;gap:8px;flex-wrap:wrap;padding:15px 0}.staffGrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.staffGrid label{display:flex;gap:10px;align-items:center;border:1px solid #263d59;background:#0e1d30;border-radius:10px;padding:11px;cursor:pointer}.staffGrid label.selected{border-color:#4b88bb;background:#112a43}.staffGrid input{min-width:auto}.staffGrid b,.staffGrid small{display:block}.staffGrid small{font-size:10px;color:#839ab3;margin-top:2px}.assignActions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.saveAssign{background:#e51b36;border-color:#e51b36;color:white;font-weight:800}.saveAssign:disabled{opacity:.45;cursor:not-allowed}.danger{margin-right:auto;border-color:#71333d;color:#ff9baa}@media(max-width:1150px){.flightHead,.flightRow{grid-template-columns:100px 1.5fr 120px 90px 90px 65px 80px 70px;gap:8px;padding-left:10px;padding-right:10px;font-size:12px}}@media(max-width:1000px){.board,.stats,.systemGrid,.teamRow{grid-template-columns:1fr}.clock{font-size:22px}.thead,article{grid-template-columns:60px 1.6fr 1fr 55px 75px;font-size:12px}.dateBar,.legacyHeader{align-items:flex-start;flex-wrap:wrap}.headerActions{width:100%;margin-left:0}.flightTable{overflow-x:auto}.flightHead,.flightRow{min-width:950px}.archiveBox,.filterBar{flex-wrap:wrap}.filterBar input{min-width:100%}.staffGrid{grid-template-columns:1fr}}.flightRow.approaching:not(.hasChange){background:rgba(22,163,74,.13);box-shadow:inset 4px 0 #22c55e}.flightRow.hasChange{animation:opsLivePulse 1s ease-in-out infinite!important;background:rgba(127,29,29,.24)!important;box-shadow:inset 4px 0 #ef4444!important}@keyframes opsLivePulse{0%,to{background:rgba(127,29,29,.2)}50%{background:rgba(220,38,38,.52)}}@keyframes fieldPulse{0%,to{background:rgba(239,68,68,.1);color:#fecaca;box-shadow:0 0 0 1px rgba(239,68,68,.35)}50%{background:rgba(239,68,68,.55);color:#fff;box-shadow:0 0 14px rgba(239,68,68,.7)}}.fieldAlert{animation:fieldPulse 1s ease-in-out infinite;border-radius:6px;padding:4px 6px!important}.flightRow.hasChange{animation:none!important;background:inherit!important;box-shadow:none!important}.fieldAlertCritical{animation:fieldPulse .8s ease-in-out infinite!important;background:rgba(239,68,68,.25)!important;color:#fff!important;font-weight:900!important}.flightRow.onCallRow{background:rgba(234,179,8,.1);box-shadow:inset 4px 0 #eab308}.flightRow.onCallRow .flightName b,.flightRow.onCallRow>strong{color:#fff4a3}.qualifiedTitle{margin:16px 0 8px;font-size:13px;color:#d9e8f8}.qualifiedGrid{margin-bottom:14px}.qualifiedGrid label{position:relative;padding-right:78px}.authOk{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:9px;color:#86efac;border:1px solid rgba(34,197,94,.45);background:rgba(22,163,74,.12);padding:4px 7px;border-radius:999px}.emptyAuth{grid-column:1/-1;border:1px dashed #34506f;border-radius:10px;padding:13px;color:#91a5bc;font-size:11px}.loginCard button,.loginCard input,.opsBoard button,.opsBoard input,.opsBoard select{font:inherit}.opsBoard a:focus-visible,.opsBoard button:focus-visible,.opsBoard input:focus-visible,.opsBoard select:focus-visible{outline:3px solid #38bdf8;outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#e50932!important;border:1px solid #f83253!important;color:#fff!important;border-radius:12px;padding:12px 18px;font-weight:800}.opsBoard .opsGrid{display:grid;grid-template-columns:155px minmax(160px,1.3fr) minmax(125px,1fr) 75px minmax(180px,1.2fr);align-items:center;grid-gap:18px;gap:18px;padding:16px 20px}.opsHead{font-size:11px;color:#8ea4bd;font-weight:800;letter-spacing:.08em;background:#0c1929}.opsRow{border-top:1px solid #223a50;background:#0d1b2a}.opsRow small{display:block;color:#9bb0c6;font-size:12px;margin-top:4px}.opsRow b{color:#edf5ff}.opsRow.onCallRow{background:#27251a;border-left:3px solid #e6ba52}.opsRow.pastFlight{opacity:.64}.opsRow.approaching{background:#12382b;box-shadow:inset 4px 0 #39dc88}.opsRow.approaching .timeCell>b{color:#9dffc7}.opsRow.approaching.onCallRow{border-left-color:#e6ba52}.flightOpen{padding:0!important;background:none!important;border:0!important;text-align:left;cursor:pointer}.flightOpen b{font-size:17px}.flightOpen small{font-size:14px}.opsRow em{display:inline-block;font-style:normal;font-size:10px;font-weight:800;background:#183949;padding:3px 7px;border-radius:4px;margin-top:7px}.opsRow em.oc{color:#ffd363;background:#4d3b12}.opsRow .assignBtn{width:100%;white-space:normal;min-height:44px}.flightFooter{display:flex;justify-content:space-between;gap:10px;padding:0 20px 10px;color:#8fa3b9;font-size:10px}.changeMessages{display:flex;gap:10px;flex-wrap:wrap;background:#482f11;border:1px solid #9f6720;color:#ffdc86;padding:10px 18px;font-size:13px}.changeMessages span{padding:0 8px}.boardStatus,.userBar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;color:#9cb1c8;font-size:12px}.userBar button{font-size:12px}.boardStatus{border-block:1px solid #23364a;margin:12px 0}.tvColumns{display:grid;grid-template-columns:minmax(0,4fr) minmax(245px,1fr);grid-gap:16px;gap:16px}.tvColumns h3{padding:12px;background:#102236;margin:0}.tvColumns aside h3{color:#f6d477}.tvColumns .compact .opsGrid{grid-template-columns:72px 1fr;gap:8px;padding:12px}.compact .opsGrid>:nth-child(n+3){grid-column:1/-1}.compact .timeCell b{font-size:23px}.compact .flightOpen b{font-size:14px}.compact .countdown{font-size:10px}.compact .changeMessages{padding:8px;font-size:11px}.tvBoard{max-width:none}.tvBoard .stats{margin:8px 0}.tvBoard .stat{padding:10px}.tvBoard .stat b{font-size:25px}.opsDialog{background:#0c1a2b;color:#e9f2ff;border:1px solid #34516d;border-radius:18px;padding:24px;width:min(860px,94vw);max-height:90vh;overflow:auto}.opsDialog::-webkit-backdrop{background:#020a14b8}.opsDialog::backdrop{background:#020a14b8}.dialogHeading{display:flex;justify-content:space-between;gap:20px;align-items:center}.dialogHeading h2{font-size:21px;margin:0}.opsDialog h3{margin-top:24px}.opsDialog p{font-size:13px;line-height:1.65}.opsDialog input:not([type=checkbox]),.opsDialog select,.ruleEditor input,.ruleEditor select{width:100%;background:#102238;color:#e9f2ff;border:1px solid #344c65;padding:10px;border-radius:8px}.opsDialog .staffGrid small{display:block}.opsDialog .staffGrid label{min-height:65px}.opsDialog .staffGrid input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;accent-color:#26bcb5}.historyDates{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;grid-gap:16px;gap:16px;align-items:end}.historyDates label,.loginCard label,.multiFilters label,.ruleEditor label,.rulesLayout>div>label{display:flex;flex-direction:column;gap:8px;color:#9baec5;font-size:12px;font-weight:700}.historyDates input,.multiFilters select,.rulesLayout select{padding:12px;border:1px solid #2c425c;border-radius:10px;background:#0d1d2f;color:#f1f7ff;min-width:0}.pager,.presetButtons{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.presetButtons button{border-radius:999px;font-size:12px}.multiFilters{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr;grid-gap:12px;gap:12px;margin:18px 0}.multiFilters select{min-height:90px}.sectionBody{padding:16px 6px}.tableScroll{overflow:auto}.rotationTable{width:100%;border-collapse:collapse}.rotationTable td,.rotationTable th{padding:12px;text-align:left;border-bottom:1px solid #2b3d52;font-size:12px}.rotationTable th{color:#96abc2}.rotationTable select{max-width:260px}.rotationTable pre{max-width:650px;max-height:280px;overflow:auto;white-space:pre-wrap}.rulesLayout{display:grid;grid-template-columns:minmax(220px,.9fr) 2fr;grid-gap:24px;gap:24px}.rulesLayout select[size]{width:100%;max-width:100%;font-size:12px}.rulesLayout select[size] option{padding:7px 4px}.ruleEditor{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.ruleEditor .checkLabel{flex-direction:row;align-items:center;grid-column:1/-1}.ruleEditor .checkLabel input{width:auto}.ruleEditor small{font-size:11px;font-weight:400}.ruleEditor input{min-width:0}.ruleEditor select[multiple]{min-height:130px}.serviceChecks{display:flex;align-items:center;gap:12px;white-space:nowrap}.serviceChecks label{display:flex;gap:6px;align-items:center;font-size:12px}.serviceChecks input{width:16px!important}.srOnly{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.yearCalendar{margin-top:22px;border-top:1px solid #304558;padding-top:20px}.team{cursor:pointer}.team.activeShift{outline:2px solid #43ca93}.team small{display:block;font-size:10px;color:inherit;margin-top:6px}.monthGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:20px}.monthCard{padding:14px;border:1px solid #2b435c;border-radius:12px;background:#0b1726}.monthCard h4{margin:0 0 12px}.monthDays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.monthDays>div{padding:6px 2px;text-align:center;border-radius:5px}.monthDays>div.todayCell{position:relative;outline:2px solid #34d399;outline-offset:1px;box-shadow:0 0 0 3px rgba(52,211,153,.16)}.monthDays>div.todayCell:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:999px;background:#34d399;box-shadow:0 0 7px rgba(52,211,153,.9)}.monthDays>div.selectedDateCell{box-shadow:inset 0 0 0 2px rgba(255,255,255,.9)}.monthDays>div.todayCell.selectedDateCell{box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),0 0 0 3px rgba(52,211,153,.16)}.monthDays b{display:block;font-size:13px}.monthDays small{font-size:8px}.morning{background:#143d48!important;color:#b3f3ef!important}.evening{background:#473715!important;color:#ffdb87!important}.night{background:#282951!important;color:#c7c1ff!important}.off{background:#1c2938!important;color:#8494a8!important}.calendarAnswer{padding:12px;background:#113537;border-radius:8px}.loginPage{min-height:100vh;display:grid;place-items:center;background:#06111e;padding:24px}.loginCard{width:min(460px,100%);background:#0f2031;border:1px solid #2c465d;padding:32px;border-radius:20px}.loginCard h1{font-size:23px}.loginCard form{display:grid;grid-gap:18px;gap:18px;margin-top:20px}.loginCard input{width:100%;box-sizing:border-box;background:#081626;border:1px solid #3a506a;border-radius:9px;padding:12px;color:white}.loginCard details{font-size:12px}.loginCard details label{margin-top:12px}.readOnlyNotice{position:fixed;bottom:24px;left:10%;right:10%;padding:20px;background:#102b41;border:1px solid #5d8eb4;border-radius:12px;z-index:20}@media(min-width:1700px){.tvBoard .opsGrid{grid-template-columns:160px minmax(200px,1.4fr) minmax(140px,1fr) 80px minmax(200px,1fr)}.tvBoard .flightOpen b{font-size:20px}}@media(max-width:1050px){.opsBoard .opsGrid{grid-template-columns:120px minmax(120px,1.2fr) 115px 60px minmax(145px,1fr);gap:12px;padding:12px}.monthGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tvColumns{grid-template-columns:minmax(0,1fr)}.tvColumns aside{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.tvColumns aside h3{grid-column:1/-1}.historyDates{grid-template-columns:1fr 1fr}.rulesLayout{grid-template-columns:1fr}.multiFilters{grid-template-columns:1fr 1fr}}@media(max-width:700px){.opsBoard .opsGrid{grid-template-columns:94px 1fr;gap:12px}.opsHead{display:none!important}.opsRow .opsGrid>:nth-child(5){grid-column:1/-1}.opsRow .opsGrid>:nth-child(3){grid-column:1}.opsRow .opsGrid>:nth-child(4){grid-column:2}.dateBar,.dateControls,.headerActions,.legacyHeader{flex-wrap:wrap}.historyDates,.monthGrid,.ruleEditor{grid-template-columns:1fr}.boardStatus,.userBar{flex-wrap:wrap}.tvColumns aside{display:block}.filterBar{flex-wrap:wrap}.filterBar>input{min-width:100%;box-sizing:border-box}.opsDialog{padding:18px}.loginCard{padding:22px}.teamRow{flex-wrap:wrap}.teamRow>.team{flex:1 1 40%}}.opsRow .fieldChange{display:block;max-width:100%;font-size:12px;line-height:1.5;margin:5px 0;color:#ffe09b;font-weight:600;overflow-wrap:anywhere}.opsRow .fieldChange>span{display:inline-block;border-radius:4px;padding:2px 4px;animation:fieldNotePulse 1.5s ease-in-out infinite}.opsRow .timeCell .fieldChange{grid-column:1/-1}@keyframes fieldNotePulse{0%,to{background:rgba(191,125,17,.12);color:#ffdc8b}50%{background:rgba(191,125,17,.48);color:#fff4d6}}@media(prefers-reduced-motion:reduce){.opsRow .fieldChange>span{animation:none;background:#644511}}.tvColumns .compact .opsGrid{grid-template-columns:90px minmax(0,1fr)}.tvColumns .compact .timeCell{grid-template-columns:1fr}.tvColumns .compact .timeKind{font-size:8px;margin-top:4px}.tvColumns .compact .flightName{min-width:0}.opsBoard .opsGrid{grid-template-columns:minmax(132px,1.05fr) minmax(130px,.9fr) minmax(180px,1.3fr) minmax(150px,1fr) minmax(90px,.65fr) minmax(180px,1.15fr)}.flightTable{overflow:visible}.flightTable>.opsHead{position:-webkit-sticky;position:sticky;top:0;z-index:5;border-bottom:1px solid #31506c}.opsRow .aircraftCell,.opsRow .departureCell,.opsRow .standCell{min-width:0}.opsRow .departureCell strong{display:block;font-size:18px;color:#dff2ff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.opsRow .departureCell small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opsRow .fieldChange{margin-top:6px;color:#fecaca}.opsRow .fieldChange>span{border:1px solid #ef4444;background:rgba(127,29,29,.42);color:#fecaca;padding:3px 6px;animation:fieldRedPulse 1s ease-in-out infinite;box-shadow:0 0 0 1px rgba(239,68,68,.2)}@keyframes fieldRedPulse{0%,to{background:rgba(127,29,29,.3);border-color:#ef4444;box-shadow:0 0 0 1px rgba(239,68,68,.22)}50%{background:rgba(220,38,38,.72);border-color:#fecaca;color:#fff;box-shadow:0 0 14px rgba(239,68,68,.78)}}@media(prefers-reduced-motion:reduce){.opsRow .fieldChange>span{animation:none;background:rgba(127,29,29,.58);border-color:#ef4444}}.tvColumns{height:calc(100vh - 300px);min-height:420px}.tvColumns>aside,.tvColumns>section{min-height:0;display:flex;flex-direction:column;overflow:hidden}.tvColumns .tvColumnHead{flex:0 0 auto;padding:9px 12px;background:#0c1929;color:#8ea4bd;border-bottom:1px solid #29445d;font-size:10px;font-weight:800;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tvColumns .tvScroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.tvColumns .tvScroll .opsRow{scroll-margin-top:4px}.tvColumns .opsRow.approaching{background:#12382b!important;box-shadow:inset 4px 0 #39dc88!important}.tvColumns .opsRow.approaching .timeCell>b{color:#9dffc7!important}.tvColumns .opsGrid.opsHead{position:static;z-index:auto;padding:9px 14px;font-size:10px;gap:12px}.tvColumns .compactHead{color:#f6d477;background:#332f14}.tvColumns .compact .departureCell strong{font-size:16px}@media(max-width:1050px){.opsBoard .opsGrid{grid-template-columns:120px minmax(120px,.9fr) minmax(120px,1.2fr) 115px 60px minmax(145px,1fr);gap:12px;padding:12px}.tvColumns{height:auto;min-height:0}.tvColumns>aside,.tvColumns>section{overflow:visible}.tvColumns .tvScroll{max-height:70vh}}@media(max-width:700px){.opsBoard .opsGrid{grid-template-columns:94px 1fr;gap:12px}.opsHead{display:none!important}.opsRow .opsGrid>:nth-child(n+3){grid-column:1/-1}.tvColumns .tvColumnHead{font-size:9px}.tvColumns .tvScroll{max-height:none}.tvColumns{height:auto}}.tvOpsBoard{width:100%;max-width:none;min-height:100vh;height:100vh;overflow:hidden;padding:0 14px 14px;background:#06111e}.tvHeader{height:72px;gap:24px;padding:0 10px;border-bottom:1px solid #1d3045;background:#06111e}.tvBrand,.tvHeader{display:flex;align-items:center}.tvBrand{gap:12px;color:#eaf2ff;text-decoration:none;font-size:17px;font-weight:800;white-space:nowrap}.tvLogo{display:block;width:48px;height:48px;background:url(/thy-logo.svg) 50%/contain no-repeat;flex:0 0 48px}.tvHeaderDate{padding-left:22px;border-left:1px solid #294059;color:#aabbd0;font-size:15px;font-weight:700;white-space:nowrap}.tvHeaderActions{display:flex;align-items:center;gap:14px;margin-left:auto}.tvClock{font-size:25px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;line-height:1.05;white-space:nowrap}.tvClock small{display:block;margin-top:4px;color:#31d789;font-size:9px;letter-spacing:.14em;font-weight:900}.tvPanelButton{padding:9px 16px;border:1px solid #2c4561;text-decoration:none;font-weight:800}.tvFullscreen,.tvPanelButton{border-radius:9px;background:#102238;color:#dbe9fa}.tvFullscreen{min-width:38px;height:38px;padding:0;border:1px solid #2c4561;font-size:21px;line-height:1}.tvPanel{height:calc(100vh - 92px);min-height:360px;display:flex;flex-direction:column;overflow:hidden;margin-top:14px;border:1px solid #203a53;border-radius:20px;background:#091927;box-shadow:0 16px 42px rgba(0,0,0,.2)}.tvPanelBar{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:0 22px;border-bottom:1px solid #20364d;color:#8fa5bc;font-size:12px;letter-spacing:.03em}.tvPanelBar strong{color:#e6f0fc;font-size:14px;letter-spacing:.07em}.tvPanelNotice{padding:8px 22px;background:#4a1d24;border-bottom:1px solid #9c3b4a;color:#ffc6ce;font-size:12px}.tvRow .opsGrid,.tvTableHead{display:grid;grid-template-columns:minmax(100px,1fr) minmax(100px,.95fr) minmax(190px,1.55fr) minmax(170px,1.15fr) minmax(90px,.7fr) minmax(160px,1.05fr);grid-gap:14px;gap:14px;align-items:center;padding:0 22px}.tvRow.compact .opsGrid>:nth-child(n){grid-column:auto}.tvTableHead{flex:0 0 36px;color:#8298b1;background:#0c1a2a;border-bottom:1px solid #29445d;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.tvScroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.tvRow{border-top:1px solid #1d354b;background:#0b1b2b}.tvRow .opsGrid{min-height:72px;padding-top:9px;padding-bottom:9px}.tvRow .timeCell{min-width:0}.tvRow .timeCell>b{font-size:23px;line-height:1}.tvRow .timeKind{font-size:9px}.tvRow .departureCell small,.tvRow .timeCell>small{font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tvRow .countdown{font-size:10px;margin-top:3px}.tvRow .departureCell strong{display:block;font-size:19px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tvRow .flightOpen b{font-size:17px}.tvRow .flightOpen small{font-size:12px}.tvRow .opsRow em,.tvRow em{margin-top:4px;padding:3px 7px;font-size:9px}.tvRow .aircraftCell b,.tvRow .standCell strong{font-size:16px}.tvRow .aircraftCell small,.tvRow .standCell small{font-size:10px}.tvRow .assignBtn{min-height:38px;padding:6px 9px}.tvRow .flightFooter{display:none}.tvRow .fieldChange{font-size:10px;line-height:1.2;margin-top:4px}.tvRow.approaching{background:#12382b!important;box-shadow:inset 4px 0 #39dc88!important}.tvRow.approaching .timeCell>b{color:#9dffc7!important}.tvRow.onCallRow{background:#2a281b;border-left:3px solid #e6ba52}.tvRow.pastFlight{opacity:.65}.tvPanelEmpty{display:grid;place-items:center;min-height:260px;flex:1 1;color:#91a4ba;font-size:17px}.tvBoard~*{display:none}@media(max-width:1100px){.tvHeader{gap:12px}.tvHeaderDate{padding-left:12px}.tvRow .opsGrid,.tvTableHead{grid-template-columns:82px 82px minmax(145px,1.4fr) minmax(130px,1fr) 72px minmax(125px,1fr);gap:8px;padding-left:14px;padding-right:14px}.tvRow .flightOpen b{font-size:14px}.tvRow .timeCell>b{font-size:20px}}@media(max-width:760px){.tvOpsBoard{height:auto;min-height:100vh;padding:0 8px 8px;overflow:visible}.tvHeader{height:64px}.tvBrand{font-size:13px}.tvLogo{width:38px;height:38px;flex-basis:38px}.tvHeaderDate{display:none}.tvClock{font-size:18px}.tvPanel{height:calc(100vh - 80px);margin-top:8px;border-radius:12px}.tvTableHead{display:none}.tvRow .opsGrid{grid-template-columns:80px 1fr;gap:7px;padding:10px}.tvRow.compact .opsGrid>:nth-child(n+3){grid-column:1/-1}.tvPanelBar{padding:0 12px}.tvPanelBar span{display:none}}.activeTeamBadge{display:inline-block;background:#0b7155;color:white;border-radius:20px;padding:4px 8px;margin-right:6px}.team.activeShift{box-shadow:0 0 0 2px #34d399,0 0 16px #34d39933}.teamMembers{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px;margin-bottom:20px}.teamMembers>button,.teamMembers>div{padding:12px;background:#102137;border:1px solid #26415f;border-radius:10px;color:inherit;text-align:left}.teamMembers>button{cursor:pointer}.teamMembers>button.selectedMember,.teamMembers>button:hover{border-color:#4aa7e8;background:#12304a}.teamMembers em,.teamMembers small{display:block;color:#a9bad0;margin-top:5px}.teamMembers em{font-size:10px;color:#6fb4e8;font-style:normal}.personalRotation{margin:18px 0 24px;padding:14px;border:1px solid #2a4b69;border-radius:14px;background:#0a1929}.dangerZone{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid #3d2730}.dangerButton{background:#351b22!important;border:1px solid #6f303d!important;color:#ffadb8!important}.dangerButton:hover{background:#47212b!important}.dangerStrong{background:#5a1f2a!important;border-color:#91384a!important;color:#ffd4da!important}.rolePreview{margin:10px 16px 4px;padding:12px 14px;border:1px solid #29435f;border-radius:12px;background:#0d1e31;color:#eaf3fb}.rolePreview.active{background:#3c2b16;border-color:#9b6a2c}.rolePreviewTop{display:flex;align-items:center;justify-content:space-between;gap:12px}.rolePreviewTop b{display:block;font-size:13px}.rolePreviewTop small{display:block;color:#9bb0c1;margin-top:3px}.rolePreview.active .rolePreviewTop small{color:#f0cf9b}.rolePreviewControls{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.rolePreviewControls select{min-width:180px;background:#0a1726;color:#fff;border:1px solid #31506d;border-radius:8px;padding:8px 10px}.rolePreviewControls button,.rolePreviewTop button{border-radius:8px;padding:8px 12px}.rolePreviewWarning{margin:9px 0 0;color:#ffc978;font-size:12px;font-weight:700}@media(max-width:700px){.rolePreviewControls{flex-direction:column}.rolePreviewControls button,.rolePreviewControls select{width:100%}.rolePreviewTop{align-items:flex-start;flex-direction:column}}.opsRow.newListing{animation:opsRowNewListingPulse 1.15s ease-in-out infinite!important;border-left:4px solid #ef4444!important}@keyframes opsRowNewListingPulse{0%,to{background:#2a151b;box-shadow:inset 4px 0 #ef4444,0 0 0 rgba(239,68,68,0)}50%{background:#5a1d25;box-shadow:inset 6px 0 #ff6b6b,0 0 18px rgba(239,68,68,.48)}}.newListBadge{display:inline-block!important;width:max-content;margin-top:6px!important;padding:3px 7px;border:1px solid #ff6b6b;border-radius:999px;background:#5a1d25;color:#ffd5d5!important;font-size:9px!important;font-weight:900!important;letter-spacing:.08em}@media(prefers-reduced-motion:reduce){.opsRow.newListing{animation:none!important;background:#3a1820!important;box-shadow:inset 4px 0 #ef4444!important}}.tvRow .mainTimeLine>b{font-size:23px}.tvRow .arrivalStatus{font-size:7px;padding:2px 5px}@media(max-width:1100px){.tvRow .mainTimeLine>b{font-size:20px}}.opsRow .standFoundChange>span{border-color:#22c55e!important;background:rgba(20,83,45,.55)!important;color:#bbf7d0!important;animation:standFoundWebPulse 1.1s ease-in-out infinite!important;box-shadow:0 0 0 1px rgba(34,197,94,.25)!important}@keyframes standFoundWebPulse{0%,to{background:rgba(20,83,45,.5);box-shadow:0 0 0 1px rgba(34,197,94,.3)}50%{background:rgba(22,163,74,.85);color:#fff;box-shadow:0 0 16px rgba(34,197,94,.75)}}@media(prefers-reduced-motion:reduce){.opsRow .standFoundChange>span{animation:none!important}}.opsRow.newlyCancelled{animation:opsCancelledPulse 1s ease-in-out infinite!important;border-left:5px solid #ff334f!important;opacity:1!important}.cancelledListBadge{display:inline-block!important;width:max-content;margin-top:6px!important;padding:4px 8px;border:2px solid #ff7282;border-radius:5px;background:#8c1729;color:#fff!important;font-size:11px!important;font-weight:900!important;letter-spacing:.06em}@keyframes opsCancelledPulse{0%,to{background:#40141e;box-shadow:inset 5px 0 #ff334f}50%{background:#ad2036;box-shadow:inset 7px 0 #ff7282,0 0 22px #ff334f99}}@media(prefers-reduced-motion:reduce){.opsRow.newlyCancelled{animation:none!important;background:#57202a!important;box-shadow:inset 5px 0 #ff334f!important}}.standEditBtn{margin-top:6px;border:1px solid #315d7d;background:#102a42;color:#bfe3ff;border-radius:7px;padding:5px 7px;font-size:10px;font-weight:800;cursor:pointer}.standEditBtn:hover{background:#163955}.standCell small+.standEditBtn{display:inline-block}.editableStand{cursor:pointer;border-radius:8px;transition:background .15s ease,box-shadow .15s ease}.editableStand:hover{background:#102a42;box-shadow:inset 0 0 0 1px #315d7d}.editableStand:focus-visible{outline:2px solid #6fb4e8;outline-offset:2px}.companyList{display:flex;flex-direction:column;gap:0;max-height:440px;overflow:auto;margin-top:8px;border:1px solid #344c65;border-radius:5px}.companyList button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:0;border-bottom:1px solid #263c52;border-radius:0;padding:5px 8px;min-height:29px;background:#102238;color:#e9f2ff;font-size:12px;line-height:18px}.companyList button:last-child{border-bottom:0}.companyList strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.companyNumber{display:inline-block;min-width:24px;color:#9eb5ca;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.companyList small{flex-shrink:0;font-size:10px;color:#9eb5ca;margin:0;line-height:18px}.companyConditions button[aria-pressed=true],.companyList button[aria-pressed=true]{background:#173b4b;box-shadow:inset 3px 0 #26bcb5}.companyConditions button:focus-visible,.companyList button:focus-visible{outline:2px solid #26bcb5;outline-offset:-2px}.companyConditions{display:flex;flex-direction:column;gap:4px}.companyConditions button{display:flex;align-items:baseline;gap:10px;text-align:left;border:1px solid #344c65;border-radius:4px;padding:5px 8px;background:#102238;color:#e9f2ff;min-height:29px;line-height:18px}.companyConditions strong{flex-shrink:0;font-size:11px;font-weight:600}.companyConditions span{font-size:12px;color:#bad0e5;line-height:18px}@media(max-width:700px){.companyConditions button{flex-wrap:wrap;gap:2px 8px}.companyList{max-height:320px}}.igaDiscoveryBadge{display:inline-block;margin-left:6px;padding:1px 4px;border:1px solid #80bac9;border-radius:4px;color:#477889;font-size:9px;font-weight:700;line-height:1.3;vertical-align:middle}@media print{.igaDiscoveryBadge{display:none!important}}.compactDatePicker{position:relative;display:inline-flex;align-items:center;width:142px;height:42px;border:1px solid #2a4561;border-radius:8px;background:#102137;overflow:hidden;cursor:pointer;flex:0 0 142px}.compactDatePicker>span{width:100%;padding:0 12px;color:#eaf2ff;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap}.compactDatePicker>input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;opacity:0!important;cursor:pointer!important;padding:0!important;border:0!important}.dateControls>.compactDatePicker{min-width:142px!important;max-width:142px!important}.tvBoard .timeCell{cursor:pointer;pointer-events:auto;position:relative}.tvBoard .timeCell:hover{background:rgba(56,189,248,.08);border-radius:8px;box-shadow:inset 0 0 0 1px rgba(56,189,248,.28)}.tvBoard .opsDialog{z-index:2147483647}.tvBoard .timeCell{position:relative!important}.tvBoard .tvTimeHotspot{position:absolute!important;inset:0!important;z-index:20!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;cursor:pointer!important}.tvBoard .tvTimeHotspot:focus-visible{outline:2px solid #38bdf8!important;outline-offset:-2px!important}.opsBoard,html{background:#07111f}.opsBoard{isolation:isolate}.opsBoard .clock{contain:paint;min-width:108px}.opsRow{isolation:isolate;contain:paint}.opsRow.pastFlight{opacity:1;background:#0b1826}.opsRow.onCallRow.pastFlight{background:#222218}.opsRow.pastFlight .departureCell>strong,.opsRow.pastFlight .timeCell>strong,.opsRow.pastFlight b{color:#a5b5c7}.opsRow.pastFlight small{color:#8497ad}.opsRow.handoverAttention b,.opsRow.newlyCancelled b{color:#edf5ff}.tvRow .aircraftCell{min-width:0}.tvRow .aircraftCell small{font-size:11px!important;font-weight:900;color:#dff5ff!important;white-space:nowrap;overflow:visible;text-overflow:clip;line-height:1.2;margin-top:3px}.tvRow .opsGrid,.tvTableHead{grid-template-columns:minmax(100px,1fr) minmax(100px,.95fr) minmax(180px,1.45fr) minmax(215px,1.35fr) minmax(90px,.7fr) minmax(150px,1fr)}@media(max-width:1100px){.tvRow .opsGrid,.tvTableHead{grid-template-columns:82px 82px minmax(140px,1.3fr) minmax(170px,1.2fr) 70px minmax(120px,1fr)}}@media(max-width:760px){.tvRow .aircraftCell small{white-space:normal}.tvRow .opsGrid{grid-template-columns:80px 1fr}}