:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#25313b;background:#f4f6f7;font-size:14px;--navy:#17354b;--blue:#255a78;--line:#dce2e6;--muted:#647584;--green:#28694a;--red:#9e4038;--gold:#a47833}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;}button,input,select,textarea{font:inherit}button{cursor:pointer;border-radius:6px;min-height:36px;font-weight:550;border:1px solid transparent;padding:8px 13px}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #5798bd;outline-offset:2px}input,select,textarea{color:#263743;background:white;border:1px solid #cfd9df;border-radius:5px;padding:10px 11px;min-width:0;width:100%}textarea{resize:vertical;min-height:70px}label{font-size:12px;font-weight:650;display:block;color:#485c6c;margin-bottom:6px}p,h1,h2,h3,h4{margin:0}h1{font-size:25px;letter-spacing:-.6px}h2{font-size:19px;letter-spacing:-.3px}h3{font-size:15px}small,.small{font-size:12px}.muted{color:var(--muted)}.helper{font-size:12px;color:#788995}.empty{padding:26px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:7px;background:#fafbfc}.topline{font-size:11px;letter-spacing:1.2px;font-weight:750;color:var(--muted);text-transform:uppercase}.subline{margin-top:5px;color:var(--muted);font-size:13px}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.gap{height:15px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.span2{grid-column:span 2}.span3{grid-column:span 3}.panel{background:#fff;border:1px solid var(--line);border-radius:8px}.pad{padding:19px}.rule{border:0;border-top:1px solid #e5e9ec;margin:16px 0}.primary{background:var(--navy);color:#fff}.primary:hover{background:#264e69}.secondary{background:#fff;border-color:#cbd7df;color:#31495a}.secondary:hover{background:#edf3f7}.quiet{background:transparent;color:var(--blue);padding:7px 8px}.danger{color:#a03936;border-color:#e3c8c5;background:#fff}.good{background:#257048;color:white}.danger-fill{background:#a44439;color:white}.pill{font-size:11px;font-weight:700;border:1px solid transparent;border-radius:4px;padding:4px 7px;white-space:nowrap;display:inline-block}.pill.draft{background:#e8edf1;color:#60717e}.pill.confirmed,.pill.accepted{background:#e2f0e8;color:#226444}.pill.pending,.pill.awaiting{background:#fff0d9;color:#946621}.pill.declined,.pill.cancelled{background:#f7e2df;color:#9a3b34}.pill.reposition{background:#eef1f3;color:#526573}.pill.blade_charter{background:#e6eff7;color:#28618b}.pill.zip_charter{background:#e7f2e9;color:#267044}.splash{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:700;font-size:25px;gap:10px;color:#183950}.splash small{font-weight:400}.symbol{font-size:29px;color:#41748f}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(125deg,#e7edf1,#f7f9fa)}.login-card{width:100%;max-width:420px;padding:33px;background:white;border:1px solid #d8e1e6;border-radius:11px;box-shadow:0 14px 45px #102a3d10}.login-mark{background:var(--navy);color:white;border-radius:8px;width:45px;height:45px;display:grid;place-items:center;font-size:23px;margin-bottom:20px}.login-card p{color:var(--muted);margin:9px 0 25px;line-height:1.5}.login-card .primary{width:100%;margin-top:18px;min-height:43px}.login-card .quiet{margin-top:8px}.error{color:#9e3b36;background:#fff0ed;border:1px solid #ebcbc5;padding:10px;border-radius:5px;margin:12px 0;font-size:12px}.success-msg{background:#e8f2ec;color:#256848;border:1px solid #c6e2d0;padding:10px;border-radius:5px;font-size:12px;margin:12px 0}
.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#d6e2e9;display:flex;flex-direction:column;padding:22px 12px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;margin:6px 11px 38px;color:#fff}.brand-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid #53758a;border-radius:6px;color:#e4f0f7;font-size:20px}.brand-name{font-size:19px;font-weight:760;letter-spacing:-.5px}.brand-tag{font-size:10px;letter-spacing:1px;color:#a7bfcc;margin-top:2px}.nav{display:flex;flex-direction:column;gap:3px}.nav button{display:flex;gap:12px;align-items:center;text-align:left;width:100%;background:transparent;color:#d2e0e8;border:none;padding:11px 13px;font-weight:520}.nav button.active,.nav button:hover{background:#2a4e66;color:white}.nav .ico{width:21px;text-align:center;opacity:.95}.sidebar-foot{margin-top:auto;padding:16px 11px;border-top:1px solid #335569;font-size:12px;color:#adc2ce;line-height:1.7}.main{min-width:0;display:flex;flex-direction:column}.topbar{background:#fff;border-bottom:1px solid var(--line);height:66px;display:flex;justify-content:space-between;align-items:center;padding:0 29px;gap:13px}.app-label{color:#607786;font-weight:650;font-size:13px}.topbar-right{display:flex;align-items:center;gap:12px}.user-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#dce9ef;color:#245572;font-weight:800;font-size:12px}.notice-btn{position:relative;padding:8px 11px;background:white;border:1px solid var(--line);border-radius:6px}.count{position:absolute;top:-7px;right:-6px;border-radius:30px;background:#a74539;color:#fff;min-width:16px;height:16px;font-size:10px;display:grid;place-items:center;padding:0 4px}.content{max-width:1500px;width:100%;margin:0 auto;padding:28px 29px 60px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.heading-row{display:flex;align-items:center;gap:10px}.statrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.stat{background:#fff;border:1px solid var(--line);padding:16px 18px;border-radius:7px}.stat strong{font-size:26px;display:block;margin:8px 0 3px;line-height:1}.stat span{color:var(--muted);font-size:12px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;margin-bottom:15px}.btn-group{display:flex;gap:5px;align-items:center}.btn-group button{border:1px solid #d5dde1;background:white;color:#465e6c}.btn-group button.active{background:var(--navy);color:white;border-color:var(--navy)}.list{width:100%;border-collapse:collapse}.list th{font-size:11px;letter-spacing:.45px;text-align:left;font-weight:700;color:#6b7c87;background:#f7f9fa;border-bottom:1px solid #dfe6e9;padding:12px 14px}.list td{padding:13px 14px;border-bottom:1px solid #eaf0f2;vertical-align:middle;font-size:13px}.list tr:last-child td{border:0}.list tr.clickable{cursor:pointer}.list tr.clickable:hover td{background:#f3f8fa}.emph{font-weight:700;color:#263846}.flight-sub{font-size:11px;color:var(--muted);margin-top:5px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.calhead{padding:12px 6px;background:#f6f9fa;border-right:1px solid #e1e6e9;font-size:12px;text-align:center;font-weight:650}.day{padding:8px;border-right:1px solid #e4e9ec;border-top:1px solid #e4e9ec;min-height:125px;min-width:0}.day:nth-child(7n){border-right:0}.daynum{color:#657782;font-size:12px;font-weight:750;margin-bottom:9px}.todaynum{display:inline-block;color:white;background:#285b78;padding:4px 7px;border-radius:5px}.calendar-trip{background:#e9f2f7;border-left:3px solid #417c9b;margin-bottom:7px;padding:7px 6px;border-radius:3px;cursor:pointer;font-size:11px;line-height:1.45;overflow:hidden}.calendar-trip:hover{background:#d8e9f3}.calendar-trip.draft{background:#e9edf0;border-left-color:#91a0aa}.calendar-trip.cancelled{opacity:.55}.calendar-trip b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-trip small{font-size:10px;color:#566b79}.filters{display:flex;gap:8px;align-items:center}.filters select{width:auto;min-width:135px}.vertical-stack{display:grid;gap:12px}.leg-card{border:1px solid #dee6ea;border-radius:7px;padding:15px;background:#fff}.leg-title{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:12px}.route{font-size:19px;font-weight:760;color:#213c4f;letter-spacing:-.4px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;font-size:12px;margin:12px 0}.detail-grid strong{display:block;color:#273b49;margin-top:5px;font-size:13px}.resp-line{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #edf0f1;gap:12px}.resp-line:last-child{border:0}.progress-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.progress-row button{font-size:12px}.timeline{font-size:12px;border-left:2px solid #cbdce5;padding-left:15px;margin-left:7px;display:grid;gap:9px}.timeline-entry{position:relative}.timeline-entry:before{content:'';position:absolute;left:-21px;top:3px;width:8px;height:8px;border-radius:50%;background:#5287a2}.notice-list{max-height:350px;overflow-y:auto}.notice-item{padding:13px 12px;border-bottom:1px solid #e7ecef;cursor:pointer}.notice-item.unread{background:#eef5f8}.notice-item:last-child{border:0}.notice-item:hover{background:#e8f0f4}.notice-date{font-size:11px;margin-top:6px;color:var(--muted)}
.overlay{position:fixed;inset:0;background:#0a2234a3;z-index:50;display:flex;justify-content:flex-end}.drawer{height:100%;overflow-y:auto;width:min(700px,100vw);background:#f6f8f9;box-shadow:-12px 0 35px #162c3c36}.drawer-head{padding:22px 26px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1}.drawer-body{padding:20px 26px 40px;display:grid;gap:15px}.modal{width:min(980px,100vw);height:100%;overflow-y:auto;background:#f5f7f8}.modal-head{background:white;padding:21px 29px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.modal-body{max-width:900px;margin:0 auto;padding:21px 25px 70px}.form-section{padding:19px;margin-bottom:14px;background:white;border:1px solid var(--line);border-radius:8px}.form-section h3{margin-bottom:13px}.form-section>.section-title{margin-bottom:15px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:13px}.field-row{display:grid;grid-template-columns:2fr 1fr 35px;gap:10px;align-items:end;margin:9px 0}.inline-error{font-size:12px;color:#ab453c;margin-top:6px}.text-action{background:none;color:#286484;padding:5px 0;border:0;font-size:12px}.close{background:transparent;color:#476073;border:1px solid #ccd7de;padding:6px 10px}.footer-actions{display:flex;gap:9px;justify-content:flex-end;background:#fff;padding:16px 24px;position:sticky;bottom:0;border-top:1px solid var(--line);z-index:2}.toast{position:fixed;bottom:22px;right:22px;background:#1c394b;color:white;padding:14px 18px;max-width:410px;box-shadow:0 10px 35px #1234;z-index:110;border-radius:6px;font-size:13px}.toast.fail{background:#903d36}.menu-items{display:grid;gap:10px}.sm-card{padding:14px 16px;border:1px solid var(--line);border-radius:7px;background:white}.smallbadge{font-size:11px;color:#607888;font-weight:600}.table-scroll{overflow-x:auto}.tagrow{display:flex;gap:7px;flex-wrap:wrap}.float-actions{display:flex;gap:8px;flex-wrap:wrap}.mob-nav{display:none}.navshade{display:none}
@media(max-width:950px){.shell{grid-template-columns:70px minmax(0,1fr)}.sidebar{padding:16px 6px}.brand-name,.brand-tag,.nav .navlabel,.sidebar-foot{display:none}.brand{margin:0 auto 30px}.nav button{justify-content:center}.nav .ico{font-size:18px}.content{padding:20px}.topbar{padding:0 20px}.statrow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.shell{display:block}.sidebar{display:none}.topbar{height:59px;padding:0 13px}.topbar .app-label{font-size:15px}.topbar-right .desktop-name{display:none}.content{padding:16px 13px 100px}.page-head{margin-bottom:15px}.page-head h1{font-size:22px}.page-head>.primary{font-size:12px}.statrow{gap:8px}.stat{padding:14px}.stat strong{font-size:22px}.toolbar{align-items:stretch}.btn-group{width:100%}.btn-group button{flex:1}.calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.calhead{font-size:10px;padding:9px 2px}.day{padding:3px;min-height:100px}.daynum{font-size:10px;margin-bottom:6px}.calendar-trip{padding:4px 2px;font-size:9px;line-height:1.3;border-left-width:2px}.calendar-trip small{display:none}.calendar-trip b{font-size:9px}.panel.pad{padding:13px}.form-row,.grid2,.grid3{grid-template-columns:1fr}.span2,.span3{grid-column:auto}.drawer-head{padding:15px}.drawer-body{padding:15px 13px 35px}.modal-head{padding:16px}.modal-body{padding:14px}.form-section{padding:13px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-row{grid-template-columns:1fr 90px 28px}.mob-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--navy);height:68px;z-index:22;justify-content:space-around;padding:5px 3px max(5px,env(safe-area-inset-bottom))}.mob-nav button{display:grid;gap:2px;place-items:center;min-width:0;background:none;color:#b9d0dc;border:0;font-size:10px;padding:4px 3px}.mob-nav button.active{color:white}.mob-nav button .ico{font-size:20px}.list th,.list td{padding:10px 8px}.list .hide-mobile{display:none}.login-card{padding:25px}.float-actions button{flex:1}.topbar-right{gap:7px}}
@media print{body{background:white!important}.shell,.overlay,.toast,.login-wrap{display:none!important}.print-sheet{display:block!important} @page{size:letter;margin:0.45in}}
/* HeliSuite v2 — restrained operational UI additions */
.brand-icon{overflow:hidden;border-color:#6b95ac;background:#0b2b40;padding:0}
.brand-icon img{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px}
.login-mark{padding:0!important;overflow:hidden}
.login-mark img{width:100%;height:100%;object-fit:cover;border-radius:7px}
.brand-tag{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}
.reg-tag{display:inline-block;padding:7px 12px;border-left:4px solid var(--reg-color,#406e8e);background:color-mix(in srgb,var(--reg-color,#406e8e) 19%,white);font-size:15px;color:#233e4e;font-weight:780;border-radius:3px;letter-spacing:.2px}
.calendar-trip:not(.draft){background:color-mix(in srgb,var(--reg-color,#406e8e) 21%,white);border-left-color:var(--reg-color,#406e8e)}
.calendar-trip:not(.draft):hover{background:color-mix(in srgb,var(--reg-color,#406e8e) 34%,white)}
.day-board-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:6px;max-height:75vh}
.day-board{--cols:4;display:grid;grid-template-columns:72px repeat(var(--cols),minmax(165px,1fr));width:max(100%,calc(72px + var(--cols) * 165px));position:relative}
.hour-head,.plane-head{position:sticky;top:0;z-index:6;background:#eef3f6;border-right:1px solid #cdd7dc;border-bottom:1px solid #cdd7dc;padding:12px 7px;min-height:67px;text-align:center;font-weight:700;color:#354c5a}
.plane-head small{display:block;font-weight:400;color:#627d8d;margin-top:3px}
.hour-track,.plane-track{position:relative;border-right:1px solid #e4e9ec}
.hour-label{position:absolute;width:100%;text-align:center;transform:translateY(-6px);font-size:11px;color:#70818d}
.day-flight,.day-oos{position:absolute;left:4px;right:4px;z-index:2;border-radius:4px;padding:6px 8px;overflow:hidden;font-size:12px;cursor:pointer;line-height:1.35}
.day-flight{background:color-mix(in srgb,var(--reg-color,#406e8e) 23%,white);border-left:4px solid var(--reg-color,#406e8e);color:#223640;box-shadow:0 1px 2px #15344a15}
.day-flight:hover{background:color-mix(in srgb,var(--reg-color,#406e8e) 39%,white)}
.day-flight strong,.day-flight small{display:block}.day-flight small{font-size:10px;margin-top:3px}
.day-oos{background:repeating-linear-gradient(135deg,#f4e5e4,#f4e5e4 7px,#e7d0ce 7px,#e7d0ce 11px);border:1px solid #b88f88;color:#743f3c;z-index:1;cursor:default}
.oos-entry{border-left:3px solid #ab574b;margin-top:9px;padding:7px 10px;background:#fff1ee;font-size:12px;color:#743f3c}
.aircraft-panel{min-height:200px}
.qual-line{display:grid;grid-template-columns:1fr 165px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #e9edef}
.qual-line input[type=date]{font-size:12px}
.check-inline{display:flex;align-items:center;gap:9px;margin:9px 0;font-size:13px;font-weight:550;color:#304958}
.check-inline input[type=checkbox]{width:17px;height:17px;min-width:17px;accent-color:#245875}
.leg-revision{background:#fff8e9;border:1px solid #d8b77a;border-left:4px solid #b67f22;padding:12px 13px;border-radius:4px;margin:11px 0;font-size:12px}
.leg-revision strong{display:block;font-size:11px;color:#8d6220;margin-bottom:4px}.leg-revision button{margin-top:8px}
.live-lift .pill,.live-lifted .pill{background:#bb3338!important;color:#fff!important;border-color:#a62930!important;font-weight:760}
.duty-warning td{background:#fff3e6}.duty-warning td:first-child{border-left:3px solid #c18539}
@media(max-width:650px){.day-board-wrap{max-height:65vh}.day-board{grid-template-columns:60px repeat(var(--cols),minmax(145px,1fr));width:max(100%,calc(60px + var(--cols) * 145px))}.qual-line{grid-template-columns:1fr 130px}}
/* v2.1: clear and restrained operational cautions, reporting controls */
.oos-caution{background:#fff4d8;border-left:4px solid #be8721;border-radius:4px;color:#744c12;padding:11px 14px;margin:13px 0;line-height:1.5;font-size:12px}
.oos-caution strong{display:block;font-size:13px}
.oos-caution small{display:block;margin-top:6px}
.live-eta{font-size:11px;color:#8f2c31;font-weight:650;margin-top:5px;white-space:nowrap}
.report-filters{margin-top:20px;border-top:1px solid #dfe5ea;padding-top:15px}
.report-filter{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;gap:8px;align-items:center;margin-top:8px}
.report-filter select,.report-filter input{width:100%}
@media(max-width:650px){.report-filter{grid-template-columns:1fr 1fr}.report-filter button{grid-column:span 2}}
