:root{--aw-navy:#0b1d3a;--aw-navy-light:#17335e;--aw-gold:#d4a017;--aw-gold-dark:#b3840d;--aw-sand:#f2e9d6;--aw-white:#fff;--aw-sky:#dceaf6;--aw-sky-deep:#afc9e6;--aw-text:#16202e;--aw-muted:#5e6b7a;--aw-border:#d9e0e7;--aw-success:#2e7d32;--aw-warning:#b7791f;--aw-danger:#c0392b;--aw-ink:var(--aw-navy);--aw-green:var(--aw-navy-light);--aw-green-deep:var(--aw-navy);--aw-terracotta:var(--aw-gold-dark);--aw-cream:var(--aw-sand);--aw-paper:var(--aw-white);--aw-shadow:0 8px 24px #0b1d3a14;--aw-radius:.75rem;--aw-teal:var(--aw-navy-light)}*{box-sizing:border-box}body{background:linear-gradient(180deg,#edf4f2 0,var(--aw-cream) 20rem);color:var(--aw-ink);margin:0;font-family:Arial,Helvetica Neue,sans-serif;line-height:1.5}a{color:inherit}.admin-shell{max-width:100rem;margin:auto;padding:0 2rem 3rem}.admin-header{color:#fff;background:linear-gradient(90deg,#043542f5,#006f68db),url(/assets/air-westralia/backgrounds/background_margaret_river.png) 50% 48%/cover;min-height:13rem;margin:0 -2rem 2rem;padding:1.25rem 2rem 2rem}.admin-header__bar{justify-content:space-between;align-items:center;gap:1.5rem;max-width:96rem;margin:auto;display:flex}.admin-header__brand{box-shadow:var(--aw-shadow);background:#fff;border-radius:.5rem;align-items:center;padding:.4rem .75rem;display:inline-flex}.admin-header__copy{max-width:96rem;margin:2.2rem auto 0}.admin-header h1{margin:.1rem 0;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05}.eyebrow{color:#ffd77c;text-transform:uppercase;letter-spacing:.1em;margin:0;font-weight:800}.mobile-menu{display:none}.admin-layout{grid-template-columns:18rem minmax(0,1fr);align-items:start;gap:2rem;display:grid}.admin-nav{background:var(--aw-green-deep);border-radius:var(--aw-radius);box-shadow:var(--aw-shadow);align-content:start;gap:.35rem;padding:1rem;display:grid;position:sticky;top:1rem}button{background:var(--aw-gold);min-height:2.75rem;color:var(--aw-ink);font:inherit;cursor:pointer;border:0;border-radius:.55rem;padding:.65rem .9rem;font-weight:750}.admin-nav button{text-align:left;color:#fff;background:0 0;width:100%}.admin-nav button:hover{background:#ffffff1f}.admin-content{min-width:0}.page-title{border-left:.35rem solid var(--aw-terracotta);background:var(--aw-paper);border-radius:var(--aw-radius);box-shadow:var(--aw-shadow);margin:0 0 1rem;padding:1.25rem 1.5rem}.breadcrumb{color:var(--aw-muted);margin:0 0 .25rem;font-size:.9rem}.table-scroll,.editor,.empty-state{background:var(--aw-paper);border:1px solid var(--aw-border);border-radius:var(--aw-radius);box-shadow:var(--aw-shadow);overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #d8dfdc;padding:.8rem}th{background:var(--aw-green-deep);color:#fff}input,select,textarea{max-width:100%;font:inherit;border:1px solid #8ca5a1;border-radius:.35rem;padding:.55rem}.editor{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin-top:1rem;padding:1.25rem;display:grid}.editor label{align-content:start;gap:.3rem;display:grid}.editor textarea,.editor aside,.editor p,.editor h3{grid-column:1/-1}.empty-state{background:linear-gradient(90deg,#fffdfaf5,#fffdfad1),url(/assets/air-westralia/backgrounds/background_busselton_jetty.png) 50%/cover;min-height:12rem;padding:2rem}@media (prefers-reduced-motion:no-preference){button{transition:background-color .15s,color .15s,transform .15s}button:active{transform:translateY(1px)}}@media (max-width:760px){.admin-shell{padding:0 1rem 2rem}.admin-header{min-height:11rem;margin:0 -1rem 1rem;padding:1rem}.admin-header__bar{align-items:flex-start}.admin-header__brand img{width:170px!important}.mobile-menu{display:block}.admin-layout{grid-template-columns:1fr;gap:1rem}.admin-nav{display:none;position:static}.admin-nav[data-open=true]{display:grid}.page-title{padding:1rem}.admin-header__copy{margin-top:1.5rem}}.auth-controls{align-items:center;gap:.75rem;margin-left:auto;display:flex}.auth-controls span{display:grid}.auth-controls small{color:#d7ece8}.auth-controls a{font-weight:700}.auth-controls button{min-height:2.25rem}.login-page{background:linear-gradient(90deg,#043542d1,#006f68ad),url(/assets/air-westralia/backgrounds/background_lucky_bay_esperance.png) 50%/cover;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{border-radius:var(--aw-radius);background:#fffdfaf7;gap:1rem;width:min(100%,29rem);padding:2rem;display:grid;box-shadow:0 22px 70px #0000004d}.login-card img{max-height:5rem}.login-card h1,.login-card p{margin:0}.login-card label{gap:.35rem;font-weight:700;display:grid}.form-error{color:#9c2f22;min-height:1.5rem}@media (max-width:760px){.auth-controls{display:none}}.auth-check{color:#fff;background:linear-gradient(90deg,#043542f5,#006f68db),url(/assets/air-westralia/backgrounds/background_margaret_river.png) 50%/cover;place-items:center;min-height:100vh;font-size:1.1rem;font-weight:700;display:grid}.auth-controls button{color:#fff;background:0 0;border:2px solid #fff}.auth-controls button:hover{color:var(--aw-ink);background:#fff}@media (max-width:760px){.auth-controls{display:flex}.auth-controls span,.auth-controls a{display:none}}.airport-editor{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem 1rem;overflow:visible}.airport-editor input,.airport-editor select,.airport-editor textarea{width:100%;min-width:0}.airport-selector{grid-column:1/-1}.airport-selector select{width:100%}.airport-flags{flex-wrap:wrap;grid-column:1/-1;gap:1rem 2rem;padding:.25rem 0;display:flex}.airport-flags label{align-items:center;gap:.55rem;display:flex}.airport-flags input{width:auto}.airport-aliases{grid-column:1/3}.airport-hours{border:1px solid var(--aw-border);background:var(--aw-sky);border-radius:.65rem;grid-column:3/-1;padding:1rem}.airport-hours h3,.airport-hours p{margin:0}.airport-hours>p{color:var(--aw-muted);font-size:.9rem}.airport-hours__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .9rem;margin-top:.8rem;display:grid}.airport-hours__day{border-bottom:1px solid #d8dfdc;justify-content:space-between;gap:1rem;padding:.4rem 0;display:flex}.airport-runways{grid-column:1/-1}.airport-runways__grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.airport-runways article{border:1px solid var(--aw-border);border-left:4px solid var(--aw-teal);background:var(--aw-sky);border-radius:.65rem;flex-direction:column;gap:.45rem;padding:1rem;display:flex}.airport-runways h3,.airport-runways h4{margin:0}.airport-runways dl{margin:.25rem 0}.airport-runways dl div{justify-content:space-between;gap:1rem;padding:.2rem 0;display:flex}.airport-runways dt{font-weight:700}.airport-runways dd{text-align:right;margin:0}.airport-runways small{color:#7b3b25}.airport-preview{grid-column:1/-1}.airport-actions{grid-column:1/-1;align-items:center;gap:1rem;display:flex}.airport-actions button{min-width:14rem}.airport-actions p{margin:0}@media (max-width:1050px){.airport-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.airport-aliases,.airport-hours{grid-column:1/-1}}@media (max-width:600px){.airport-editor{grid-template-columns:1fr}.airport-editor>*{grid-column:1!important}.airport-hours__grid{grid-template-columns:1fr}.airport-actions{flex-direction:column;align-items:stretch}.airport-actions button{width:100%}}.admin-seat-map{border:1px solid var(--aw-border);background:var(--aw-sky);border-radius:.75rem;grid-column:1/-1;padding:1.25rem}.admin-seat-map>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-seat-map h3,.admin-seat-map p{margin:0}.admin-seat-map>header p{color:var(--aw-muted)}.admin-seat-legend{flex-wrap:wrap;gap:.65rem 1rem;display:flex}.admin-seat-legend span{align-items:center;gap:.35rem;font-size:.85rem;display:flex}.admin-seat-legend i{border:2px solid var(--aw-green);background:var(--aw-white);border-radius:.25rem;width:1.35rem;height:1.35rem}.admin-seat-legend i.business{border-color:var(--aw-ink);background:var(--aw-sky)}.admin-seat-legend i.premium{border-color:var(--aw-gold-dark);background:var(--aw-sand)}.admin-seat-legend i.unavailable{border-color:var(--aw-muted);background:color-mix(in srgb,var(--aw-muted) 20%,var(--aw-white))}.admin-aircraft{text-align:center;width:max-content;max-width:100%;margin:1.25rem auto 0}.admin-aircraft__nose{border:3px solid var(--aw-border);border-bottom:0;border-radius:7rem 7rem 0 0;width:11rem;height:2.4rem;margin:auto}.admin-seat-rows{border-inline:3px solid var(--aw-border);min-width:22rem;padding:1rem 2.5rem 2rem}.admin-seat-cabin h4{background:var(--aw-ink);color:#fff;margin:1rem 0 .6rem;padding:.45rem}.admin-seat-cabin--economy{border-top:3px double var(--aw-gold);margin-top:1.2rem;padding-top:.2rem}.admin-seat-row{justify-content:center;align-items:center;gap:.35rem;margin:.35rem 0;display:flex;position:relative}.admin-row-number{width:2rem;font-weight:800}.admin-seat-position{align-items:center;gap:.35rem;display:flex}.admin-seat{border:2px solid var(--aw-green);background:var(--aw-white);border-radius:.45rem;place-items:center;width:3.6rem;min-height:3.6rem;font-weight:750;display:grid}.admin-seat.business{border-color:var(--aw-ink);background:var(--aw-sky)}.admin-seat.premium{border-color:var(--aw-gold-dark);background:var(--aw-sand)}.admin-seat.unavailable{border-color:var(--aw-muted);background:color-mix(in srgb,var(--aw-muted) 20%,var(--aw-white));color:var(--aw-muted)}.admin-seat-aisle{width:2.4rem}.admin-seat-gap{width:3.6rem;height:3.6rem}.admin-seat-row.is-exit-row .admin-seat{border-style:dashed;border-color:var(--aw-terracotta)}.admin-exit{color:var(--aw-danger);font-size:.7rem;font-weight:900;position:absolute}.admin-exit--left{margin-right:.4rem;right:100%}.admin-exit--right{margin-left:.4rem;left:100%}@media (max-width:600px){.admin-seat-map{overflow:auto}.admin-seat-map>header{min-width:22rem}.admin-seat-rows{padding-inline:1.5rem}.admin-seat{width:3rem;min-height:3rem}.admin-seat-gap{width:3rem;height:3rem}}.table-sort{width:100%;min-height:0;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:.65rem;padding:0;display:flex}.table-sort:hover{text-decoration:underline}.table-sort span{color:#ffd77c;font-size:.75rem}.admin-header{min-height:9.5rem;margin-bottom:1.25rem;padding-bottom:1.25rem}.admin-header__copy{margin-top:1rem}.admin-layout{gap:1.25rem}.page-title{z-index:4;padding:.85rem 1.2rem;position:sticky;top:0}.page-title h2{margin:.15rem 0}.admin-table-toolbar{z-index:4;background:var(--aw-paper);border-bottom:1px solid var(--aw-border);justify-content:flex-end;align-items:center;gap:.75rem;min-width:100%;min-height:3.25rem;padding:.4rem .7rem;display:flex;position:sticky;top:0;left:0}.admin-table-toolbar strong{margin-right:auto}.admin-table-toolbar button{min-height:2.5rem}.admin-content>.table-scroll,.admin-table-region .table-scroll{max-height:min(58vh,38rem)}.table-scroll thead{z-index:3;position:sticky;top:3.25rem}.editor{gap:.75rem;padding:1rem;overflow:visible}.editor h3{margin:.15rem 0}.admin-nav{scrollbar-gutter:stable;max-height:calc(100vh - 2rem);overflow-y:auto}@media (max-width:760px){.admin-header{min-height:8rem}.page-title{position:static}.admin-table-toolbar{flex-wrap:wrap}.admin-content>.table-scroll{max-height:60vh}.editor{grid-template-columns:1fr}}html{background:var(--aw-sand)}body{background:linear-gradient(180deg,var(--aw-sky) 0,var(--aw-sand) 20rem);color:var(--aw-text)}.admin-header{background:linear-gradient(90deg,#0b1d3af5,#17335edd),url(/assets/air-westralia/backgrounds/background_margaret_river.png) 50% 48%/cover}.admin-nav{background:var(--aw-navy)}.admin-nav button[aria-current=page]{background:var(--aw-gold);color:var(--aw-navy)}.page-title{border-left-color:var(--aw-gold)}th{background:var(--aw-navy)}tbody tr:hover{background:var(--aw-sky)}input,select,textarea{border-color:var(--aw-border);background:var(--aw-white);min-height:2.75rem;color:var(--aw-text)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--aw-gold);outline-offset:3px}.login-page{background:linear-gradient(90deg,#0b1d3ad9,#17335eaa),url(/assets/air-westralia/backgrounds/background_lucky_bay_esperance.png) 50%/cover}.login-card{border:1px solid var(--aw-border);background:#fffffff8}.login-card .eyebrow{color:var(--aw-gold-dark)}.form-error{color:var(--aw-danger)}
