:root{font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,-apple-system,sans-serif;color-scheme:light;--bg:#f4f9fc;--surface:#fff;--ink:#193447;--ink2:#476476;--muted:#748d9e;--line:#dce8ef;--primary:#087b9c;--primary2:#0a95a8;--mint:#dff5ed;--teal:#008f77;--sky:#eaf6fd;--warn:#a66d24;--warnbg:#fff6e7;--danger:#ba4d57;--dangerbg:#fff2f2;--shadow:0 16px 42px rgba(33,91,116,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{min-width:0}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid #93d9e6;outline-offset:2px}[hidden]{display:none!important}a{color:var(--primary)}h1,h2,h3,h4,p{overflow-wrap:anywhere}
.shell{max-width:1560px;margin:auto;min-height:100vh;background:var(--bg)}.topbar{position:relative;z-index:5;background:#fff;border-bottom:1px solid var(--line);padding:17px clamp(18px,4.5vw,68px);display:flex;align-items:center;gap:22px;justify-content:space-between;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap;color:#1a435a}.brandmark{display:grid;place-items:center;background:linear-gradient(140deg,#0b92b0,#21b7aa);color:#fff;width:42px;height:42px;border-radius:14px;box-shadow:0 7px 18px #29b0b432;font-size:23px;transform:rotate(-5deg)}.brandword{font-size:23px;font-weight:900;letter-spacing:-1.1px;line-height:1.05}.brandword b{color:#11a5a7}.brandword small{display:block;color:#83a0b1;font-size:9px;letter-spacing:1.6px;margin-top:5px;font-weight:750}.nav{display:flex;gap:6px;background:#f3f8fa;padding:5px;border:1px solid #e7eef3;border-radius:99px}.nav button{color:#607b8a;background:transparent;border:0;border-radius:99px;padding:10px 16px;font-weight:750;font-size:13px;white-space:nowrap}.nav button.active{color:#fff;background:#156f8d;box-shadow:0 4px 10px #156f8d23}.nav button:hover:not(.active){background:#e7f1f5}.headtools{display:flex;align-items:center;gap:12px}.lang{display:flex;gap:3px;background:#f4f8fa;border:1px solid #e4edf2;border-radius:10px;padding:4px}.lang button{font-size:12px;font-weight:800;border:0;background:transparent;color:#78929f;padding:8px 10px;border-radius:7px}.lang button.active{background:white;color:#0b708f;box-shadow:0 1px 8px #15394612}.ownerlink{font-size:12px;color:#5b7788;background:transparent;border:1px solid #d7e6ed;border-radius:9px;padding:10px 12px;font-weight:700}.content{padding:35px clamp(18px,4.5vw,68px) 75px}.eyebrow{font-size:11px;font-weight:850;letter-spacing:2px;text-transform:uppercase;color:#098ca1}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(325px,.95fr);gap:35px;align-items:center;padding:35px 0 32px}.hero h1{font-size:clamp(35px,4vw,59px);line-height:1.22;letter-spacing:-1.8px;margin:16px 0 17px;font-weight:860}.hero h1 span{color:#129b9a}.hero p{color:#627f90;line-height:1.9;font-size:14px;max-width:535px;margin:0}.hero-actions,.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:25px}.btn{border:1px solid #d2e3ec;background:white;color:#305b73;border-radius:11px;padding:11px 17px;font-size:13px;font-weight:800;line-height:1.2;transition:background .15s,transform .15s,border-color .15s}.btn:not(:disabled):hover{transform:translateY(-1px);border-color:#94c8d6;background:#f2fafc}.btn.primary{background:#087f9d;border-color:#087f9d;color:white;box-shadow:0 7px 17px #008ca521}.btn.primary:not(:disabled):hover{background:#056f8a;color:white}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.soft{background:#e9f6f8;border-color:#d4edf2;color:#08738b}.btn.warn{background:#fff6e8;border-color:#f4e3c9;color:#a57129}.btn.danger{background:#fff1f0;border-color:#f4d7d8;color:#b74d52}.btn.sm{font-size:12px;padding:8px 12px;border-radius:9px}.btn.active{background:#e4f4f5;border-color:#93d7d9;color:#087b91}.btn.fullwidth{width:100%}.hero-card{position:relative;overflow:hidden;isolation:isolate;min-height:307px;border:1px solid #ccecf0;border-radius:27px;padding:30px;background:linear-gradient(145deg,#ecfbf7 4%,#e5f6fc 62%,#d7eff9 100%);box-shadow:0 20px 55px #539ab31a}.hero-card:before{content:"";position:absolute;width:280px;height:280px;border:1px solid #61bbc74a;border-radius:50%;top:-82px;right:-70px;box-shadow:0 0 0 60px #71c6d91f,0 0 0 128px #a0dae627;z-index:-1}.hero-card:after{content:"✈";font-size:145px;color:#69c3cb29;position:absolute;right:24px;top:30px;transform:rotate(-18deg);z-index:-1}.hero-card .micro{font-size:11px;letter-spacing:2px;font-weight:900;color:#4a899b}.hero-card .big-number{font-size:clamp(64px,6.2vw,103px);font-weight:900;letter-spacing:-5px;margin:15px 0 3px;color:#105b75;line-height:1}.hero-card h3{font-size:22px;margin:7px 0 8px}.hero-card p{color:#538092;line-height:1.7;font-size:13px}.hero-foot{border-top:1px solid #bfe5e9;margin-top:25px;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;color:#277f8b}.live-dot{width:7px;height:7px;border-radius:50%;background:#18aa88;display:inline-block;margin-right:6px;box-shadow:0 0 0 4px #18aa8824}.notice-line{background:#fff;border:1px solid #d6e7ee;border-radius:13px;padding:13px 17px;display:flex;gap:12px;align-items:center;font-size:13px;color:#4c7084;margin:0 0 18px}.notice-line:before{content:"✳";font-size:17px;color:#179f95}.notice-line.pause{border-color:#ead7be;background:#fff8ee;color:#905f2b}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:13px 0 41px}.stat,.panel,.plane-card,.airport-card,.request-card,.portedit{background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:0 4px 22px #407a9210}.stat{padding:21px 22px}.stat small{font-size:11px;font-weight:760;letter-spacing:.45px;color:#7a95a3}.stat b{display:block;color:#204d62;font-size:33px;letter-spacing:-1px;line-height:1.2;margin-top:8px}.stat em{font-style:normal;color:#8b9fab;font-size:11px}.stat.highlight{background:#ebf9f6;border-color:#ceeae1}.stat.highlight b{color:#098c7c}.stat.pending{background:#e9f6fc;border-color:#cce7f5}.stat.pending b{color:#096b8c}.hgroup{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:43px 0 18px}.hgroup h2{font-size:27px;letter-spacing:-1px;margin:8px 0}.hgroup p,.hint{font-size:13px;color:#7891a0;line-height:1.7;margin:0}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.field{border:1px solid #d7e5ed;border-radius:10px;background:#fff;color:#23475d;padding:11px 12px;font-size:13px;min-height:42px;width:100%}.field::placeholder{color:#9cb0ba}.filters .field{width:auto;min-width:152px}.filters .search{min-width:205px;flex:1}.toggle,.checks label{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#547184;font-weight:650;cursor:pointer}.toggle input,.checks input,input[type=checkbox]{accent-color:#098c9c}.fleet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.plane-card{padding:22px;display:flex;flex-direction:column;min-height:257px;gap:11px;position:relative;overflow:hidden}.plane-card:after{content:"↗";font-size:55px;position:absolute;right:18px;top:65px;color:#e5f3f8;font-weight:300;pointer-events:none}.cardtop{display:flex;justify-content:space-between;align-items:center;gap:11px}.code{font-weight:900;color:#126d8c;letter-spacing:-.4px;font-size:21px}.plane-card h3{font-size:16px;font-weight:750;margin:0}.plane-card .tags{min-height:28px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span{border-radius:8px;background:#f3f8fb;color:#648595;font-size:11px;padding:5px 8px;font-weight:700}.pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:#f3f7fa;color:#668291;border:1px solid #e1eaf0;border-radius:99px;font-size:11px;font-weight:800;padding:6px 10px}.pill.good{background:#e5f6ef;border-color:#cceadd;color:#108266}.pill.wait{background:#fff4e5;border-color:#f2e1c7;color:#a46e2d}.pill.off{background:#f5f2f3;border-color:#e6dce2;color:#9b7885}.pill.warn{background:#fff5e4;border-color:#eedebe;color:#9f7039}.qtys{display:flex;gap:30px;border-top:1px solid #edf2f5;margin-top:auto;padding-top:15px}.qtys strong{display:block;color:#19465b;font-size:26px}.qtys small{font-size:11px;color:#8b9fab}.plane-card .btn{margin-top:4px}.airport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.airport-card{padding:23px}.airport-card h3{font-size:18px;margin:10px 0 9px}.airport-card p{font-size:12px;color:#8096a3;margin:0 0 16px}.rowline{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #edf2f5;font-size:12px;color:#718b9a}.rowline strong{color:#24566c}.footer{border-top:1px solid #e1edf2;background:#fff;padding:26px 34px;text-align:center;color:#8ba2af;font-size:11px}.app-layout{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:710px}.side{padding:27px 13px;border-right:1px solid #e3edf2;background:#fff;display:flex;flex-direction:column;gap:5px}.side p{font-weight:900;letter-spacing:1.5px;color:#a0b1bb;font-size:10px;margin:0 11px 20px}.side button{border:1px solid transparent;border-radius:10px;background:transparent;padding:12px 14px;text-align:left;font-size:13px;color:#5d7c8e;font-weight:760}.side button:hover{background:#edf6f9}.side button.active{color:#087c99;background:#eaf7fa;border-color:#cfeaf1}.side small{margin-top:auto;color:#9eb0b9;font-size:11px;padding:16px}.workarea{padding:33px clamp(17px,3.2vw,48px) 75px;min-width:0}.work-title{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:3px 0 24px}.work-title h1{font-size:30px;letter-spacing:-1px;margin:6px 0}.work-title p{margin:0;color:#7b93a1;font-size:13px;line-height:1.7}.panel{padding:24px;margin-bottom:14px}.panel h3{font-size:18px;margin:0 0 12px}.sectionline{display:flex;justify-content:space-between;align-items:center;gap:13px;flex-wrap:wrap;margin:20px 0 17px}.sectionline h2{font-size:20px;margin:0}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:25px}.admin-stats .stat{padding:17px}.admin-stats .stat b{font-size:30px}.two-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.request-card{padding:20px;margin-bottom:12px}.request-head{display:flex;gap:12px;justify-content:space-between;align-items:center}.request-head b{font-size:14px}.request-card .meta{font-size:12px;color:#8095a3;line-height:1.85;margin:13px 0}.request-actions{display:flex;gap:7px;flex-wrap:wrap}.stack{display:grid;gap:14px}.tblwrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:700px}.table th{font-size:11px;letter-spacing:.5px;text-align:left;color:#8fa4af;border-bottom:1px solid #dce9ef;padding:13px 9px}.table td{border-bottom:1px solid #eef3f6;padding:14px 9px;font-size:12px;color:#446578}.table tr:last-child td{border-bottom:0}.table td b{color:#214b60}.table input[type=number]{width:76px}.portedit{padding:21px;margin-bottom:14px}.portedit header{display:flex;align-items:center;justify-content:space-between;gap:12px}.portedit h3{margin:5px 0 0;font-size:17px}.portgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:17px}.settingsbox{background:#f8fbfd;border:1px solid #e1edf2;border-radius:13px;padding:17px}.settingsbox h4{margin:0 0 12px;color:#3c667b;font-size:14px}.checkrow{display:flex;flex-wrap:wrap;gap:12px;margin:13px 0}.checkrow label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#668395;cursor:pointer}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.label{font-size:12px;font-weight:800;color:#45697b;display:flex;flex-direction:column;gap:8px}.full{grid-column:1/-1}.small-hint,.legal{font-size:11px;color:#93a8b3;line-height:1.65}.inline-fields{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline-fields .label{flex:1;min-width:170px}.banner{border:1px solid #d5ebe9;background:#eff9f5;border-radius:11px;padding:13px 16px;font-size:12px;color:#457569;line-height:1.7;margin-bottom:19px}.banner.warn{background:#fff6e9;border-color:#f1dcc0;color:#94612d}.banner.blue{background:#ebf6fc;border-color:#cfe9f4;color:#3e7791}.modalshade{position:fixed;inset:0;background:#103e51a8;display:flex;justify-content:center;align-items:flex-start;padding:36px 15px;overflow:auto;z-index:20;backdrop-filter:blur(3px)}.dialog{position:relative;background:white;border-radius:20px;box-shadow:0 25px 85px #173e4d48;width:min(620px,100%);padding:27px;border:1px solid #d3e7ec}.dialog.wide{width:min(700px,100%)}.dialog h2{margin:1px 0 8px;font-size:25px;letter-spacing:-.6px}.dialog p{margin:6px 0 17px;font-size:13px;line-height:1.7;color:#748c99}.close{position:absolute;right:18px;top:17px;background:#f0f7f9;color:#7b98a7;border:0;border-radius:9px;width:29px;height:29px;font-size:21px}.mini-stat{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;background:#ebf7fa;border:1px solid #d1eaf0;border-radius:13px;padding:14px 17px;margin:16px 0}.mini-stat .amount{font-size:30px;line-height:1;font-weight:900;color:#126d88}.mini-stat .text{font-size:12px;color:#567d8c;font-weight:750}.confirm-box{border:1px solid #e2edf2;border-radius:13px;padding:18px;margin:15px 0}.confirm-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf2f6;font-size:13px;color:#7793a1}.confirm-row:last-child{border:0}.confirm-row strong{color:#25516a;text-align:right;word-break:break-word}.wait-warning{padding:14px 15px;border:1px solid #f0dcba;border-radius:12px;background:#fff9ef;color:#996a2b;line-height:1.8;font-size:12px;margin:15px 0}.wait-warning strong{display:block;margin-bottom:4px;color:#916122}.login-choice{display:flex;gap:8px;flex-wrap:wrap}.login-choice .btn{flex:1}.blank{border:1px dashed #c9dce6;border-radius:15px;text-align:center;padding:38px 22px;color:#94a7b2;background:#ffffff91}.code-badge{display:inline-block;border:1px dashed #93cbd6;color:#166e87;background:#effafd;border-radius:8px;padding:9px 12px;word-break:break-word;font-weight:850;font-size:13px;letter-spacing:.4px}.link{background:none;border:0;color:#087d9d;text-decoration:underline;font-size:12px;font-weight:800;padding:0}.statusbar{position:fixed;bottom:22px;right:22px;z-index:30;border-radius:12px;border:1px solid #cee5e6;background:white;color:#24616d;padding:14px 17px;box-shadow:0 15px 40px #173e4d26;font-size:13px;max-width:min(380px,calc(100vw - 40px))}.statusbar.error{border-color:#f2cfd2;color:#b44f53;background:#fff6f6}.statusbar button{float:right;margin-left:17px}.division{height:1px;background:#e9f0f4;margin:15px 0}.inline{display:inline-flex;gap:6px;align-items:center}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-end{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.tabrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tabrow button{font-size:12px}.account-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.avatar{height:43px;width:43px;border-radius:13px;display:grid;place-items:center;background:#e0f4f3;color:#078b82;font-weight:950;font-size:19px}.muted{color:#8aa1ad}.tiny{font-size:11px}.search-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.search-bar .field{flex:1;min-width:200px}.empty-state{font-size:13px;color:#8fa4b1;padding:20px 10px}.grid-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.owner-tip{font-size:12px;color:#7293a0;line-height:1.8}
@media(max-width:1120px){.topbar{gap:13px}.nav button{padding:10px}.hero{grid-template-columns:1fr 1fr;gap:20px}.app-layout{grid-template-columns:195px minmax(0,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.admin-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:830px){.hero{grid-template-columns:1fr}.hero-card{min-height:250px}.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-wrap:wrap}.nav{order:3;width:100%;justify-content:center}.nav button{flex:1}.headtools{margin-left:auto}}
@media(max-width:650px){.topbar{padding:14px 16px}.content{padding:24px 16px 55px}.hero{padding:9px 0 20px}.hero h1{font-size:38px;letter-spacing:-1.5px}.hero-card{min-height:240px;padding:23px}.hero-card .big-number{font-size:76px}.hero-card:after{font-size:90px;right:10px;top:15px}.stats,.airport-grid,.fleet-grid,.two-panel,.formgrid,.portgrid,.grid-summary{grid-template-columns:1fr}.stats{gap:9px}.stat{padding:16px}.stat b{font-size:28px}.hgroup{align-items:flex-start}.hgroup h2{font-size:24px}.app-layout{display:block}.side{flex-direction:row;overflow:auto;padding:10px 13px;gap:3px}.side p,.side small{display:none}.side button{white-space:nowrap;padding:10px 12px}.workarea{padding:25px 16px 55px}.work-title h1{font-size:25px}.admin-stats{grid-template-columns:1fr 1fr}.admin-stats .stat{padding:13px}.admin-stats .stat b{font-size:25px}.dialog{padding:23px 17px}.modalshade{padding:11px 8px}.brandword{font-size:20px}.brandmark{width:37px;height:37px}.nav button{padding:9px 6px;font-size:11px}.headtools{gap:7px}.ownerlink{padding:8px;font-size:11px}.full{grid-column:1}.statusbar{bottom:9px;right:9px}}

/* Consolidated multi-aircraft application */
.fleet-apply-cta{white-space:nowrap;font-size:15px;padding:15px 25px;border-radius:14px;box-shadow:0 12px 26px #058da025}
.sectionline.compact{margin:2px 0 12px}.sectionline.compact h3{font-size:16px;margin:0}
.application-dialog{max-height:calc(100vh - 65px);overflow-y:auto;scrollbar-gutter:stable}
.aircraft-picker{border:1px solid #d7e8ef;border-radius:14px;overflow:hidden;background:#fff}
.picker-line{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 14px;border-top:1px solid #edf3f6}
.picker-line:first-child{border-top:0}.picker-line:nth-child(even){background:#f9fcfe}
.picker-line.picker-disabled{opacity:.65}.picker-label{min-width:0}.picker-label b{display:block;font-size:14px;color:#19546d}
.picker-label small{display:block;font-size:11px;color:#7b93a3;line-height:1.55;margin-top:3px}
.stepper{display:flex;align-items:center;gap:0;border:1px solid #d6e9f0;border-radius:11px;overflow:hidden;background:#fff;flex-shrink:0}
.stepper button{border:0;background:#eaf6f9;color:#087d98;font-size:21px;font-weight:800;width:38px;height:38px}
.stepper button:disabled{opacity:.32}.stepper button:not(:disabled):hover{background:#d5eff4}
.stepper output{min-width:40px;text-align:center;color:#24536a;font-weight:900;font-variant-numeric:tabular-nums}
.picked-count{display:inline-flex;align-items:center;background:#eaf7fa;color:#287d90;font-size:12px;font-weight:800;border-radius:99px;padding:8px 12px}.picked-count b{font-size:15px}
.quota-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-radius:13px;background:linear-gradient(120deg,#eaf6fc,#e9f9f5);border:1px solid #cfebee;padding:14px}
.quota-strip>div{display:grid;gap:6px}.quota-strip small,.personal-cap small{font-size:11px;color:#648897;font-weight:700}.quota-strip b,.personal-cap strong{font-size:21px;color:#166981}
.total-row{background:#f1fafb;padding:13px!important;margin:5px -8px -6px;border-radius:10px}
.batch-lines{border:1px solid #e1ecf2;border-radius:12px;overflow:hidden;background:#fff}.batch-line{padding:13px;border-top:1px solid #edf3f7}.batch-line:first-child{border:0}
.batch-row{display:flex;gap:12px;justify-content:space-between;align-items:center}.batch-row b{font-size:13px;color:#235470}.batch-row small{display:block;color:#91a3b0;font-size:11px;margin-top:4px}
.qty-inline{color:#0a95a8}.batch-line .request-actions{margin-top:11px}.batch-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:13px}
.request-identity{font-size:12px;color:#7b95a5;margin-top:6px}.grouped-request .meta{margin:11px 0}.personal-cap{display:flex;align-items:center;gap:16px;border:1px solid #cfe8ed;border-radius:14px;background:#eef9fa;padding:14px 18px;margin:0 0 17px}
.personal-cap>div{display:grid;gap:4px;flex-shrink:0}.personal-cap p{font-size:12px;line-height:1.7;color:#668793;margin:0}
@media(max-width:650px){.hgroup{align-items:stretch;flex-direction:column}.fleet-apply-cta{width:100%;text-align:center}.application-dialog{max-height:calc(100vh - 22px);padding:19px 15px}.picker-line{gap:8px;padding:10px}.picker-label small{max-width:185px}.stepper button{width:35px;height:35px}.stepper output{min-width:29px}.quota-strip{gap:6px;padding:11px 9px}.quota-strip b{font-size:16px}.quota-strip small{font-size:10px}.personal-cap{align-items:flex-start;flex-direction:column}}

.quota-alert{padding:11px 14px;margin:0;border-radius:10px;color:#a36a2c;background:#fff7ea;border:1px solid #f0dfc2;font-weight:700;font-size:12px;line-height:1.7}

/* v6: explicit editable airport combobox / account settings */
.headtools{flex-wrap:wrap;justify-content:flex-end}.head-login{white-space:nowrap}.head-account{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head-logout{padding-left:5px;padding-right:5px}.work-actions{display:flex;flex-wrap:wrap;gap:9px}
.guest-login-banner,.member-identity{display:flex;align-items:center;gap:13px;padding:16px 17px;border:1px solid #d5e9ee;border-radius:13px;background:linear-gradient(125deg,#f5fdff,#f1faf7)}.guest-login-banner{justify-content:space-between;flex-wrap:wrap}.guest-login-banner b,.member-identity strong{color:#24596d;font-size:13px}.guest-login-banner p{margin:5px 0 0;font-size:12px}.guest-login-banner .btn{flex-shrink:0}.identity-details{display:grid;gap:6px;font-weight:500;color:#3b6c80;font-size:12px}.identity-details small{color:#6f929e;font-size:11px;line-height:1.5}.identity-details span{overflow-wrap:anywhere}.profile-intro{display:flex;align-items:center;gap:14px;padding:19px;background:#ebf9f6;border:1px solid #d3ede4;border-radius:15px;margin-bottom:15px}.profile-intro>div{display:grid;gap:5px;flex:1}.profile-intro b{color:#205b62}.profile-intro small{color:#658c97}.profile-divider{padding-top:17px;border-top:1px solid #e4eef1}.profile-divider b{color:#265b71}.profile-divider p{font-size:12px;color:#7a96a3;line-height:1.8}
@media(max-width:650px){.topbar{gap:9px}.headtools{margin-left:auto}.head-account{max-width:130px}.head-logout{display:none}.guest-login-banner{align-items:stretch;flex-direction:column}.guest-login-banner .btn{width:100%}.member-identity{align-items:flex-start}.identity-details{min-width:0}.profile-intro{flex-wrap:wrap}.work-actions .btn{padding:9px 11px}}

/* One editable/selectable airport field. The arrow is inside its border. */
.airport-combo{position:relative;min-width:0;width:100%}
.airport-field{position:relative;display:flex;min-height:46px;align-items:center;border:1px solid #c9dfe8;background:#fff;border-radius:11px;overflow:hidden}
.airport-field:focus-within{border-color:#2b9bae;box-shadow:0 0 0 3px #c3edf0}
.airport-input{display:block;width:100%;min-width:0;min-height:44px;border:0;border-radius:inherit;background:transparent;padding:11px 43px 11px 13px;color:#24536a;font-size:13px;font-weight:800;letter-spacing:1px;outline:none!important}
.airport-input::placeholder{font-weight:500;letter-spacing:0;color:#94aab5}
.airport-input[readonly]{cursor:pointer;letter-spacing:.5px}
.airport-trigger{position:absolute;right:0;top:0;bottom:0;width:40px;display:grid;place-items:center;border:0;border-radius:0;background:transparent;color:#0e879a;padding:0;cursor:pointer}
.airport-trigger:hover,.airport-trigger[aria-expanded=true]{background:#edf9f8}
.airport-results{position:absolute;top:48px;left:0;right:0;z-index:25;background:white;border:1px solid #c5dee5;border-radius:12px;box-shadow:0 15px 35px #214f6629;max-height:235px;overflow:auto;padding:5px}
.airport-option{display:flex;width:100%;align-items:center;gap:10px;padding:11px 9px;border:0;border-radius:8px;background:transparent;text-align:left;font-size:12px;color:#416d80}
.airport-option b{min-width:34px;font-size:13px;color:#087f97}
.airport-option>span{flex:1;min-width:0;overflow-wrap:anywhere}
.airport-option small{font-size:10px;text-align:right;max-width:120px}
.airport-option:not(:disabled):hover,.airport-option.highlight{background:#edf9fa}
.airport-option:disabled{opacity:1;color:#be3544;background:#fff6f6;cursor:not-allowed}
.airport-option:disabled b,.airport-option:disabled span,.airport-option:disabled small{color:#be3544}
.airport-empty{padding:17px;color:#899fae;font-size:12px}
.combo-feedback{display:block;margin-top:6px;color:#18836f;font-weight:500}
.combo-feedback:empty{display:none}
.unavailable{color:#be3544!important}
.aircraft-eligibility{display:block;color:#348a7d;font-size:10px;margin-top:5px;line-height:1.5}
.inbound-picker{max-height:330px;overflow:auto;margin-top:11px}
.selected-aircraft{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.selected-aircraft>span{display:flex;align-items:center;gap:11px;padding:7px 10px;background:#e9f8f6;border:1px solid #cce7df;border-radius:8px;color:#187b73;font-size:12px;font-weight:700}
.selected-aircraft button{padding:2px 5px;text-decoration:none}
.request-direction{display:block;font-size:11px;margin-top:5px;color:#14867e;font-weight:700}
.request-filters{display:flex;gap:8px;flex-wrap:wrap}
.request-filters .field{width:auto;max-width:240px}
.actions.compact{margin:0}
.destination-required{margin-bottom:0;color:#9b6a36}
.receiving-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.9fr);gap:30px;align-items:center;border:1px solid #bfe6df;border-radius:22px;background:linear-gradient(125deg,#edfbf6,#f7fdff);padding:28px;margin:12px 0 29px;scroll-margin-top:25px}
.receiving-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#d6f2e9;color:#078f78;font-size:30px;font-weight:700;margin-bottom:16px}
.receiving-intro h2{font-size:29px;letter-spacing:-.6px;color:#175958;margin:9px 0 13px}
.receiving-intro p{font-size:13px;line-height:1.9;color:#557e87;margin:0 0 16px}
.receiving-intro .tags span{background:#e1f5ef;color:#398272;line-height:1.6}
.receive-open-count{display:flex;align-items:center;gap:5px;margin-top:18px;font-size:12px;font-weight:650;color:#4e827c}
.receive-open-count strong{font-size:17px;color:#167d70}
.receiving-entry{background:#ffffffc9;border:1px solid #d7ebe9;border-radius:16px;padding:20px;min-width:0}
.receiving-status-list{display:grid;gap:0;margin-top:14px}
.receiving-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #e8f2ef;font-size:12px;color:#377482}
.receiving-status-row .available{color:#168769}
.receiving-empty{font-size:11px;color:#a26940;line-height:1.75;margin:9px 0 13px}
.receiving-cta{width:100%;line-height:1.5;margin-top:11px;background:#078b79!important;border-color:#078b79!important}
@media(max-width:800px){.receiving-section{grid-template-columns:1fr;gap:19px;padding:23px}.receiving-icon{margin-bottom:11px}.receiving-intro h2{font-size:26px}}
@media(max-width:650px){.receiving-section{padding:20px 15px;border-radius:17px;margin-top:5px}.receiving-entry{padding:15px}.nav{overflow-x:auto;max-width:100%}.nav button{flex-shrink:0}}
@media(max-width:650px){.request-filters{width:100%}.request-filters .field{flex:1;max-width:100%}.airport-option{gap:8px}.airport-option small{max-width:86px}.picker-label small{white-space:normal;line-height:1.55}.aircraft-eligibility{max-width:170px}.inbound-picker{max-height:300px}}

.extension-choice{border:1px solid #d6e8ed;border-radius:12px;padding:15px 16px;margin:3px 0;background:#f9fcfd;min-width:0}
.extension-choice legend{font-size:12px;font-weight:800;color:#37677b;padding:0 5px}
.extension-options{display:flex;gap:15px;flex-wrap:wrap}
.extension-options label{display:flex;align-items:center;gap:7px;font-size:12px;color:#477789;cursor:pointer}
.extension-options input{accent-color:#0b8c9c}.extension-choice p{margin:9px 0 0!important;font-size:11px!important}
.request-extension{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 13px;padding:10px 12px;border:1px solid #d8ebe8;border-radius:9px;background:#f0faf7;font-size:11px;color:#57877c}
.request-extension strong{color:#246f64}
.stock-add-form{margin-top:14px}.dispatch-fleet-list{display:grid;gap:9px;margin:12px 0 16px}
.dispatch-fleet-row{border:1px solid #d7e8ed;border-radius:10px;background:white;padding:12px}
.dispatch-fleet-row>small{display:block;color:#7896a2;font-size:10px;margin:6px 0 11px;line-height:1.5}
.dispatch-fleet-list{max-height:365px;overflow-y:auto;padding-right:3px}.portgrid{align-items:start}
.dispatch-stock-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}
.dispatch-stock-fields .label{font-size:10px}.dispatch-stock-fields .field{padding:8px;font-size:12px;min-height:35px}
.dispatch-add{padding-top:14px;border-top:1px solid #dce9ee;font-size:12px;color:#386d7e}
.settingsbox h5{font-size:12px;margin:13px 0 6px;color:#437489}
.acceptance-specs{display:flex;gap:16px;flex-wrap:wrap;padding:8px 0 11px;line-height:1.55}
.acceptance-specs>div{display:grid;gap:3px}.acceptance-specs small{color:#819ba7;font-size:10px}.acceptance-specs strong{color:#326b7e;font-size:11px;font-weight:700}
.receiving-airport-item{border-top:1px solid #e8f2ef}.receiving-airport-item .receiving-status-row{border-top:0;padding-bottom:3px}
.label .acceptance-specs{padding:9px 12px;border-radius:9px;background:#f0f9f7;border:1px solid #dcece8}
@media(max-width:650px){.extension-options{gap:12px}.dispatch-stock-fields{grid-template-columns:1fr 1fr auto}.dispatch-stock-fields .btn{padding:9px 8px}}

.airframe-list{display:grid;gap:10px}.airframe-row{display:grid;grid-template-columns:minmax(200px,1.6fr) minmax(120px,1fr) auto auto;align-items:center;gap:15px;padding:15px;border:1px solid #dae9ef;border-radius:12px;background:white}
.airframe-row .small-hint{display:block;margin-top:7px}.airframe-actions{display:flex;gap:6px;flex-wrap:wrap}
.dispatch-fleet-list .airframe-row{grid-template-columns:1fr;gap:10px}
.dispatch-aircraft-options{display:grid;gap:8px;max-height:315px;overflow:auto}.dispatch-aircraft-options label{display:flex;align-items:center;gap:11px;border:1px solid #d4e8ec;border-radius:10px;padding:12px;color:#345f74;font-size:13px;background:#f7fcfd}.dispatch-aircraft-options small{display:block;margin-top:5px;color:#7893a2;font-size:11px}
.contract-card{padding:22px;border:1px solid #d6e6ed;border-radius:16px;background:white;margin-bottom:15px}.contract-card.overdue{border:2px solid #dd5b59;background:#fff3ef;box-shadow:0 4px 20px #b6514920}
.overdue-banner{border:1px solid #ecb2aa;border-left:5px solid #c53c39;border-radius:11px;background:#fff0ec;padding:15px 17px;margin:0 0 18px;color:#ac342e;font-size:13px}
.pill.danger{color:#af322e;background:#ffe0db;border-color:#eeb2a9}.contract-owner{font-size:12px;color:#7192a3;margin:14px 0;line-height:1.7}
.contract-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin:18px 0}.contract-times>div{display:grid;gap:6px}.contract-times small{color:#839ba7;font-size:11px}.contract-times strong{color:#2d637b;font-size:13px}
.overdue .contract-times strong{color:#a3473d}.contract-audit{margin-top:17px;font-size:11px;color:#7f97a4}.contract-audit summary{cursor:pointer;font-weight:750}.contract-audit p{margin:8px 0;line-height:1.7}
@media(max-width:900px){.airframe-row{grid-template-columns:minmax(170px,1fr) 1fr}.airframe-row .airframe-actions{justify-content:flex-end}}
@media(max-width:650px){.airframe-row{grid-template-columns:1fr;gap:12px}.airframe-row .airframe-actions{justify-content:flex-start}.contract-times{grid-template-columns:1fr}.contract-card{padding:17px}}

/* Inventory groups and contract-derived aircraft status. */
.fleet-airport-group{margin-top:22px}.fleet-airport-group+.fleet-airport-group{margin-top:32px;padding-top:24px;border-top:2px solid #d9e9ee}
.fleet-airport-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 17px;background:#edf8fa;border:1px solid #cfe6ec;border-radius:12px}
.fleet-airport-heading>div{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.fleet-airport-heading small{font-size:12px;color:#628492}.fleet-airport-heading>span{font-size:12px;color:#257087;font-weight:700}
.fleet-kind-group{margin-top:21px}.fleet-kind-group h4{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#275e73;margin:0 0 11px;font-size:14px}.fleet-kind-group h4 small{font-size:11px;color:#7996a2;font-weight:500}
.fleet-model-group{margin-top:11px;border:1px solid #dbe8ee;border-radius:12px;overflow:hidden;background:#f6fafc}
.fleet-model-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:13px 15px;flex-wrap:wrap}.fleet-model-heading>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fleet-model-heading b{font-size:14px;color:#16758c}.fleet-model-heading span{font-size:11px;color:#74909f}.fleet-model-heading .tags span{background:white}
.fleet-model-group>.airframe-list{gap:0}.fleet-model-group .airframe-row{border:0;border-top:1px solid #e1ebef;border-radius:0}
.airframe-row{grid-template-columns:minmax(185px,1fr) minmax(220px,1.4fr) auto;align-items:start;gap:18px}.airframe-row.overdue{background:#fff4ef;border-left:4px solid #d36558}
.airframe-status{display:flex;align-items:flex-start;flex-direction:column;gap:7px;min-width:0}.airframe-status-label{font-size:11px;font-weight:700;color:#7995a1}.airframe-status .small-hint{margin:0}
.airframe-contract{display:grid;gap:5px;font-size:12px;line-height:1.6;overflow-wrap:anywhere;color:#476d80}.airframe-contract b{font-size:12px;color:#315f73}.airframe-contract small{font-size:11px;color:#849ba6}.airframe-actions{padding-top:21px}
.dispatch-fleet-list .fleet-airport-group{margin-top:0}.dispatch-fleet-list .fleet-model-heading{padding:11px}.dispatch-fleet-list .airframe-row{padding:12px;gap:10px}.dispatch-fleet-list .airframe-actions{padding-top:0}.dispatch-fleet-list .fleet-kind-group h4{font-size:12px}
.dispatch-add-panel{margin-top:21px;padding-top:19px;border-top:1px solid #d9e8ee}.dispatch-add-panel>div{margin-top:13px;padding:15px;background:#f1f9fa;border:1px solid #d8e9ed;border-radius:12px}.dispatch-add-panel .stock-add-form{margin-top:0}.dispatch-add-panel .small-hint{line-height:1.8}
@media(max-width:950px){.airframe-row{grid-template-columns:minmax(180px,1fr) minmax(210px,1.2fr)}.airframe-row .airframe-actions{grid-column:2;padding-top:0;justify-content:flex-start}.dispatch-fleet-list .airframe-row .airframe-actions{grid-column:auto}}
@media(max-width:650px){.airframe-row{grid-template-columns:1fr;gap:13px}.airframe-row .airframe-actions{grid-column:auto;padding-top:0}.fleet-airport-heading{align-items:flex-start;flex-direction:column;gap:8px}.fleet-kind-group h4{flex-wrap:wrap}.fleet-model-heading{padding:12px}.dispatch-add-panel>div{padding:12px}}

/* Dedicated aircraft registration and airport dispatch model lists. */
.fleet-add-section{scroll-margin-top:22px;background:#f0faf8;border-color:#c8e7df}.fleet-add-section h3{color:#177c71}
.fleet-add-section .formgrid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.1fr)}.fleet-add-section .formgrid>.full:nth-child(-n+3){grid-column:auto}
.fleet-add-section .formgrid>.full:last-child{margin-top:0}.fleet-add-section .sectionline{gap:12px;flex-wrap:wrap}.fleet-add-section .hint{max-width:820px}
.port-model-add{display:flex;gap:9px;align-items:end;margin:15px 0}.port-model-add .label{flex:1;min-width:0}.port-model-add .btn{min-height:42px;white-space:nowrap}
.port-model-list{display:grid;gap:15px;max-height:460px;overflow:auto;padding-right:3px}.port-model-kind h5{margin:0 0 8px!important;font-size:12px;color:#47768a}
.port-model-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid #d8e7ec;border-radius:10px;background:white}.port-model-row+.port-model-row{margin-top:7px}
.port-model-info{min-width:0}.port-model-info>b{color:#1a788c;font-size:13px}.port-model-info>small{display:block;color:#839ca7;font-size:10px;line-height:1.6;margin:5px 0 8px;overflow-wrap:anywhere}
.port-model-row>.btn{white-space:nowrap;align-self:center}.port-model-info>small{margin-bottom:0}.port-model-add{padding-top:15px;border-top:1px solid #dce9ed}
@media(max-width:850px){.fleet-add-section .formgrid{grid-template-columns:1fr 1fr}.fleet-add-section .formgrid>.full:nth-child(3){grid-column:1/-1}.port-model-add{align-items:stretch;flex-direction:column}.port-model-add .btn{min-height:37px}}
@media(max-width:650px){.fleet-add-section .formgrid{grid-template-columns:1fr}.fleet-add-section .formgrid>.full:nth-child(-n+3){grid-column:1/-1}.port-model-row{padding:10px}.port-model-list{max-height:420px}}

/* Contracts are grouped by player identity and the operator's airport. */
.contract-player-group{margin:10px 0;border:1px solid #d4e5e9;border-radius:12px;overflow:hidden;background:#fff}
.contract-player-heading{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#f2f8f9;cursor:pointer;list-style:none;color:#1b6374}
.contract-player-heading::-webkit-details-marker{display:none}.contract-player-heading::before{content:'›';font-size:24px;line-height:1;transition:transform .15s}.contract-player-group[open]>.contract-player-heading::before{transform:rotate(90deg)}.contract-player-heading:focus-visible{outline:3px solid #a20b29;outline-offset:-3px}
.contract-player-identity{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0;flex-wrap:wrap}.contract-player-identity>b{font-size:16px;overflow-wrap:anywhere}.contract-player-identity>small{font-size:11px;color:#647c88;overflow-wrap:anywhere}.contract-player-count{display:flex;align-items:center;gap:10px;font-size:12px;color:#647c88;flex-shrink:0}.contract-player-content{padding:0 18px 1px}
.contract-airport-group{margin:18px 0 24px;padding-left:17px;border-left:3px solid #cee4ea}.contract-airport-group>h4{color:#44778b;font-size:13px;margin:0 0 12px}.contract-airport-group .contract-card{margin-bottom:11px}
#contract-edit-form{margin-top:18px}#contract-edit-form .toggle{line-height:1.8}#contract-edit-form [hidden]{display:none}
@media(max-width:650px){.contract-player-heading{padding:13px}.contract-player-identity>b{font-size:15px}.contract-player-heading{gap:8px}.contract-player-count{gap:4px;flex-direction:column;align-items:flex-end}.contract-player-content{padding:0 10px 1px}.contract-airport-group{padding-left:9px;border-left-width:2px}.contract-airport-group .contract-card{padding:15px}}
.direction-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px}.direction-tab{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border:1px solid #d5e5ed;border-radius:13px;background:#fff;color:#5c7b8a;font-weight:800;text-align:left}.direction-tab.active{background:#e8f7f7;border-color:#69bfc7;color:#086f83;box-shadow:inset 0 -3px #21a5aa}.direction-tab b{background:#f4f9fb;border-radius:8px;padding:5px 10px;min-width:36px;text-align:center}.direction-tab.active b{background:#fff;color:#087f93}.direction-intro{padding:17px 20px;background:#f3f9fc;border:1px solid #deebf1;border-radius:12px;margin-bottom:16px}.direction-intro>b{font-size:13px;color:#25667e}.direction-intro p{font-size:12px;color:#77919e;line-height:1.8;margin:8px 0 0}.direction-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 22px}.direction-stats>div{background:#fff;border:1px solid #dfebf0;border-radius:11px;padding:15px}.direction-stats small{display:block;font-size:11px;color:#7893a0;line-height:1.6}.direction-stats b{display:block;font-size:27px;color:#176b80;margin-top:7px}.overview-direction{margin:25px 0}.overview-direction>h3{font-size:16px;color:#236d7e}.player-direction-section{margin:26px 0;padding:22px;border:1px solid #d8e9ed;border-radius:15px;background:#fff}.player-direction-section>h3{color:#176d80;margin:0 0 8px}.player-direction-section>h4{font-size:13px;margin:24px 0 12px;color:#658794}.player-direction-section .contract-card{background:#fbfefe}.incoming-quantity{width:70px;min-width:0;border:0;background:#fff;text-align:center;font-size:15px;font-weight:850;color:#23576a;padding:9px 2px;appearance:textfield;-moz-appearance:textfield}.incoming-quantity::-webkit-inner-spin-button,.incoming-quantity::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.incoming-registration-lists{display:grid;gap:16px;margin-top:18px}.incoming-registration-lists textarea{resize:vertical;min-height:85px}.incoming-quota-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;border:1px solid #cce8e6;border-radius:11px;background:#effaf6;color:#34767d}.incoming-quota-summary b{font-size:21px}.port-model-add{border-top:0;padding-top:0;margin-top:15px;margin-bottom:20px}
@media(max-width:650px){.direction-tabs{gap:8px}.direction-tab{padding:12px 10px;font-size:12px;align-items:flex-start}.direction-tab b{padding:3px 6px;min-width:28px}.direction-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.direction-stats>div{padding:12px}.direction-stats b{font-size:23px}.direction-intro{padding:14px}.player-direction-section{padding:15px}.incoming-quantity{width:55px;font-size:14px}.incoming-quota-summary{align-items:flex-start;flex-direction:column}.inbound-picker .picker-label small{max-width:155px}}
.review-new-aircraft{padding:18px;background:#f0f9f7;border:1px solid #cae6e3;border-radius:13px;margin:20px 0}.review-new-aircraft h3{font-size:15px;margin:0}.review-add-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr auto;gap:10px;align-items:end}.review-add-grid .btn{min-height:43px}.staged-planes{display:grid;gap:8px;margin-top:14px}.staged-planes>span{font-size:12px;padding:10px;border-radius:8px;background:white;color:#206575}.staged-planes small{font-size:10px;color:#839da8;margin-left:5px}.review-line{padding:18px;border:1px solid #dce9ed;border-radius:12px;background:#fff;margin:0 0 15px}.review-line h3{font-size:16px;margin:0}.review-quantities{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:15px 0}.review-remainder{border-radius:10px;background:#f2f8fb;padding:12px 15px;display:flex;flex-direction:column;justify-content:center}.review-remainder small{color:#829baa;font-size:11px}.review-remainder b{font-size:24px;color:#28738a;margin-top:6px}.review-aircraft{border:1px solid #d8e8eb;border-radius:10px;padding:13px;display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:290px;overflow:auto}.review-aircraft legend{font-size:12px;color:#688d9b;font-weight:750;padding:0 6px}.review-aircraft-option{display:flex;gap:10px;align-items:center;padding:11px;background:#f5fafc;border-radius:8px;cursor:pointer}.review-aircraft-option input{accent-color:#1096a2;width:17px;height:17px}.review-aircraft-option b{font-size:12px;color:#28697f}.review-aircraft-option small{display:block;color:#86a0ac;font-size:10px;line-height:1.8;margin-top:3px}.change-pending-note{font-size:12px;color:#967224;background:#fff9ec;padding:10px 13px;border:1px solid #f0e2bd;border-radius:8px}.change-review-section{margin-bottom:30px}.change-review-section>h2{font-size:19px}.change-review-section .request-card p{font-size:12px;color:#6c8a99;line-height:1.8}
@media(max-width:850px){.review-add-grid{grid-template-columns:1fr 1fr}.review-new-aircraft{padding:15px}}@media(max-width:650px){.review-add-grid{grid-template-columns:1fr}.review-line{padding:13px}.review-quantities{grid-template-columns:1fr 1fr;gap:8px}.review-remainder{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.review-remainder b{margin:0;font-size:20px}.review-aircraft{grid-template-columns:1fr}.review-aircraft-option{padding:9px}}

.review-aircraft{display:block}.review-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.review-option-disabled{opacity:.48;cursor:not-allowed}.review-aircraft legend b{color:#18798c;font-variant-numeric:tabular-nums}.review-remainder b{overflow-wrap:anywhere}.review-form-validation{color:#b44e53}
@media(max-width:650px){.review-choice-grid{grid-template-columns:1fr}}

.batch-dialog{width:min(1000px,100%)}.batch-dialog>h2{padding-right:30px;margin-bottom:22px}.batch-owner{padding-bottom:22px;border-bottom:1px solid var(--line)}.manual-batch-rows{display:grid;gap:14px;margin:20px 0}.manual-batch-row{padding:18px;border:1px solid #d5e5eb;border-radius:13px;background:#f8fbfc}.batch-row-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.batch-mode{width:auto;min-width:160px}.batch-row-top .actions{margin:0;gap:5px}.manual-row-fields{display:grid;grid-template-columns:1fr 1.5fr 2fr .65fr;gap:12px;align-items:start}.manual-row-fields>*{min-width:0}.batch-stock-preview{margin:12px 0 0;font-size:12px;color:#527f90;overflow-wrap:anywhere}.batch-row-details,.batch-common-details{margin-top:15px;color:#607f8d;font-size:12px}.batch-row-details summary,.batch-common-details summary{cursor:pointer;font-weight:700;padding:8px 0}.batch-row-details[open] .formgrid,.batch-common-details[open] .formgrid{margin-top:12px}.batch-row-details textarea{resize:vertical}.batch-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0}.batch-tools b{color:#156d81;font-size:18px}.batch-dialog .row-end{margin-top:24px}.batch-row-error{color:#b44e53;font-size:12px;margin-top:10px}.manual-batch-row .airport-results{max-height:220px}.manual-batch-row .airport-combo{min-width:0}
@media(max-width:850px){.manual-row-fields{grid-template-columns:1fr 1fr}.batch-dialog{width:min(760px,100%)}}
@media(max-width:650px){.manual-batch-row{padding:13px}.manual-row-fields{grid-template-columns:1fr}.batch-row-top{align-items:flex-start}.batch-mode{min-width:0;width:145px}.batch-row-top .actions{justify-content:flex-end}.batch-row-top .btn{padding:8px}.batch-tools{gap:8px}.batch-tools b{font-size:16px}.batch-owner{gap:12px}}

.batch-row-label{white-space:nowrap;color:#294a57;font-size:13px}.batch-row-top .batch-mode{margin-right:auto}.manual-stock-picker{border:0;margin:0;padding:0;min-width:0}.manual-stock-picker legend{font-weight:700;color:#294a57;font-size:13px;padding:0}.manual-stock-count{margin:8px 0}.manual-stock-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;max-height:260px;overflow:auto;padding:2px}.manual-stock-choice{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;background:#fff;border:1px solid #d5e5eb;border-radius:8px;cursor:pointer;color:#294a57}.manual-stock-choice input{width:17px;height:17px;flex:none;accent-color:#A20B29}.manual-stock-choice:has(input:checked){border-color:#A20B29;background:#fff5f7}.manual-stock-choice:focus-within{outline:2px solid #A20B29;outline-offset:1px}.manual-stock-choice span{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.manual-stock-choice small{color:#607f8d;font-size:11px}.manual-stock-choice.is-unavailable{opacity:.6;cursor:not-allowed}.manual-stock-empty{margin:8px 0;color:#607f8d}.batch-row-error ul{margin:0;padding-left:20px}.batch-row-error li+li{margin-top:5px}@media(max-width:650px){.batch-row-top{flex-wrap:wrap}.batch-row-label{flex-basis:100%}.manual-stock-list{grid-template-columns:1fr}}

.manual-stock-entry{display:grid;gap:12px;margin-top:16px}.manual-stock-entry>label:first-child{max-width:350px}.manual-stock-text[hidden]{display:none}.manual-stock-text textarea{resize:vertical;min-height:100px;font-family:inherit}.manual-stock-text small{font-weight:400;line-height:1.6;color:#607f8d}.manual-stock-choice.from-list{cursor:default}.manual-stock-choice.from-list input:disabled{opacity:1}

.contract-renewal{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid #dce8eb;background:#f4f8fa;border-radius:9px;padding:11px 12px;margin:12px 0;font-size:12px;line-height:1.6}.contract-renewal span{color:#567783}.contract-renewal strong{font-weight:800}.contract-renewal.renew-yes{background:#edf8f2;border-color:#c6e2d1;color:#176641}.contract-renewal.renew-no{background:#fff3f5;border-color:#edccd4;color:#8e1b39}.review-model-addition{padding:18px;border:1px solid #dce8eb;border-radius:12px;background:#f7fafc;margin:20px 0}.review-model-addition h3{margin:0;font-size:15px}.review-model-grid{display:grid;grid-template-columns:1.2fr 1.3fr auto;gap:10px;align-items:end}.review-model-grid .btn{min-height:43px}@media(max-width:650px){.review-model-grid{grid-template-columns:1fr}.contract-renewal{align-items:flex-start;flex-direction:column;gap:4px}}

.manual-workbench form{display:grid;gap:20px}.manual-player-section{display:grid;gap:12px}.manual-player-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.manual-aircraft-section{position:relative}.manual-aircraft-search{width:100%;resize:vertical;margin-top:7px}.manual-search-results{border:1px solid #d9e5ea;background:#fff;border-radius:10px;padding:10px;margin-top:7px;max-height:300px;overflow:auto;box-shadow:0 8px 20px #2349590a}.manual-search-plane{display:flex;gap:11px;align-items:center;padding:10px;border-radius:7px;cursor:pointer}.manual-search-plane:hover{background:#f4f8fa}.manual-search-plane input{accent-color:#a20b29}.manual-search-plane small,.manual-cart-identity small{display:block;color:#627c89;font-size:12px;margin-top:5px;line-height:1.7}.manual-search-plane.is-unavailable{opacity:.55;cursor:not-allowed}.manual-inline-create{border:1px solid #ead7dd;border-radius:10px;padding:15px;margin-top:10px;background:#fff8fa}.manual-create-grid{display:grid;grid-template-columns:1.5fr 1fr auto;gap:10px;align-items:end}.manual-cart{border:1px solid #dce8ec;border-radius:12px;padding:17px}.manual-cart h3{font-size:15px;margin:0}.manual-cart-row{display:grid;grid-template-columns:1.1fr 1fr auto;gap:12px;align-items:center;padding:15px 0;border-top:1px solid #e5edf0}.manual-cart-row [data-manual-error]{grid-column:1/-1}.manual-cart-route{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:13px}.manual-cart-route .airport-combo{width:100%}.manual-more-settings{padding:13px;border:1px solid #e2e9ed;border-radius:9px}.manual-more-settings summary{font-size:13px;cursor:pointer;color:#5c7785}.manual-more-settings .formgrid{margin-top:14px}@media(max-width:650px){.manual-player-fields,.manual-create-grid{grid-template-columns:1fr}.manual-cart-row{grid-template-columns:1fr auto}.manual-cart-route{grid-column:1/-1;grid-row:2}.manual-cart{padding:12px}}

.manual-player-vip,.vip-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:1.6;color:#5c6c7a}.manual-player-vip input,.vip-toggle input{accent-color:#a20b29}.vip-badge{background:#fff0cf;color:#795015;margin-left:7px}.verification-guide>summary{cursor:pointer;font-weight:700;font-size:13px}

/* Real daylight aviation photography. Sources and licenses: PHOTO-CREDITS.md. */
:root {
  --airport-photo: url("/images/airport.jpg");
  --aircraft-photo: url("/images/aircraft.jpg");
}

body {
  background-color: #eaf4fb;
  background-image: linear-gradient(rgba(240, 248, 253, .24), rgba(244, 249, 252, .48)), var(--airport-photo);
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}
.shell { background: transparent; }
.topbar, .footer { background: rgba(255, 255, 255, .96); }
.content {
  background: rgba(247, 251, 253, .25);
}
.app-layout { background: transparent; }
.workarea { background: rgba(245, 250, 253, .46); }
.work-title { background: rgba(255, 255, 255, .93); padding: 18px 20px; border-radius: 14px; }

.hero {
  min-height: 450px;
  margin: 0 0 30px;
  padding: clamp(26px, 3.8vw, 52px);
  gap: 28px;
  align-items: center;
  border: 1px solid #d2e5ef;
  border-radius: 24px;
  background-color: #e5f2fa;
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .87) 30%, rgba(255, 255, 255, .30) 59%, rgba(255, 255, 255, .06) 100%), var(--airport-photo);
  background-position: center;
  background-size: cover;
  box-shadow: 0 16px 44px rgba(30, 79, 102, .10);
}
.hero > div:first-child { min-width: 0; }
.hero h1 { color: #16384f; }
.hero h1 span { color: #078390; }
.hero-actions { gap: 9px; }
.hero-actions .btn { background: rgba(255, 255, 255, .97); }
.hero-actions .btn.primary { background: #087f9d; }
.hero-actions .btn.soft { background: #e9f6f8; }
.hero-card {
  align-self: start;
  justify-self: end;
  width: 100%;
  max-width: 300px;
  min-height: 0;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .92);
  border-radius: 18px;
  background: rgba(255, 255, 255, .93);
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 32px rgba(28, 69, 93, .12);
}
.hero-card::before, .hero-card::after { display: none; }
.hero-card .big-number { font-size: clamp(56px, 5vw, 76px); letter-spacing: -3px; margin: 0 0 7px; }
.hero-card h3 { font-size: 19px; }
.hero-foot { margin-top: 18px; font-size: 11px; }

.receiving-section {
  background-color: #e9f5f8;
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .84) 42%, rgba(255, 255, 255, .42)), var(--aircraft-photo);
  background-position: center 55%;
  background-size: cover;
  border-color: #c9e2e8;
  box-shadow: 0 8px 28px rgba(30, 79, 102, .06);
}
.receiving-entry { background: rgba(255, 255, 255, .98); }
.receiving-intro h2 { color: #17495c; }

@media (max-width: 830px) {
  .hero {
    grid-template-columns: 1fr;
    min-height: 520px;
    gap: 30px;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .80) 42%, rgba(255, 255, 255, .30) 76%, rgba(255, 255, 255, .64)), var(--airport-photo);
    background-position: 58% center;
  }
  .hero-card { align-self: end; max-width: 290px; }
}
@media (max-width: 650px) {
  :root {
    --airport-photo: url("/images/airport.jpg");
    --aircraft-photo: url("/images/aircraft.jpg");
  }
  body { background-attachment: scroll; }
  .hero { padding: 25px 22px; border-radius: 18px; }
  .hero h1 { font-size: clamp(31px, 8.5vw, 38px); }
  .hero-card { padding: 18px; max-width: 265px; }
  .hero-card .big-number { font-size: 62px; }
  .receiving-section {
    background-image: linear-gradient(rgba(255, 255, 255, .82), rgba(255, 255, 255, .94)), var(--aircraft-photo);
    background-position: 52% center;
  }
}

.auth-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.brandword{font-size:22px;letter-spacing:.5px}.launch-loading{padding:70px 25px;text-align:center;color:#45697b}

.migration-banner{padding:12px 20px;margin:12px 0;background:#fff0df;color:#8b4c13;border-radius:12px}
:root { --brand-red: #b51f2c; }
.brand { gap: 13px; color: var(--brand-red); }
.brandmark { display: inline-flex; flex: 0 0 100px; width: 100px; height: 39px; align-items: center; justify-content: center; background: transparent; border-radius: 0; box-shadow: none; transform: none; color: var(--brand-red); }
.brandmark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.brandword { position: relative; color: var(--brand-red); line-height: 1; }
.brandword > img { display: block; width: 133px; height: 43px; object-fit: contain; }
.brand-name { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 650px) { .brand { gap: 8px; } .brandmark { flex-basis: 74px; width: 74px; height: 29px; } .brandword > img { width: 110px; height: 35px; } }
@media (max-width: 430px) { .brand { gap: 6px; } .brandmark { flex-basis: 61px; width: 61px; height: 25px; } .brandword > img { width: 92px; height: 30px; } }
