:root{--bg:#f4f3ef;--surface:#fff;--soft:#eeedf3;--text:#202239;--muted:#616678;--line:#dadbe3;--gold:#866018;--field:#fff;color-scheme:light}html[data-theme=dark]{--bg:#0b0c1c;--surface:#14162c;--soft:#1b1e37;--text:#eff0f7;--muted:#a9aec4;--line:#2d304b;--gold:#ebc96d;--field:#101226;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0%,var(--soft),transparent 65%),var(--bg);color:var(--text);font:15px system-ui,sans-serif;min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:235px;padding:16px 22px;background:#0b0c20;border-right:1px solid #393348;overflow:auto}.brand{display:block;text-align:center;color:white;text-decoration:none}.brand img{width:100%;border-radius:8px}.brand strong{display:block;font:30px Georgia,serif;letter-spacing:3px;margin:8px 0}aside .eyebrow{font-size:10px;text-align:center;color:#a9aec4;line-height:1.8}nav{margin-top:35px}nav a{display:block;color:#bdc0d3;padding:14px 16px;margin:6px 0;border-radius:8px;text-decoration:none}nav a.active{background:linear-gradient(90deg,#3b3240,#242239);color:#f3d787;box-shadow:inset 3px 0 #e0b95b}.profile{margin-top:45px;color:#a9aec4;font-size:12px;line-height:1.8}main{margin-left:235px;padding:40px 5%;max-width:1500px}header,.toolbar,.actions{display:flex;align-items:center;justify-content:space-between;gap:18px}header{margin-bottom:35px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}h1{font:40px Georgia,serif;margin-bottom:14px}h2{font-size:20px}p{color:var(--muted);line-height:1.7}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px;overflow:auto}.toolbar{margin:26px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.wide{grid-column:1/-1}label{display:block;font-size:13px;font-weight:600}input,textarea,select{display:block;width:100%;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:12px;font:inherit;margin-top:9px}input[type=checkbox]{width:22px;height:22px;accent-color:#cca44b}button,a.primary{border:1px solid var(--line);border-radius:7px;padding:10px 14px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer;text-decoration:none}.primary,a.primary{background:linear-gradient(120deg,#efd68d,#cfa449);color:#211a0c;border:0;font-weight:600}form>.actions{margin-top:28px;justify-content:flex-start}a{color:var(--gold)}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:12px;color:var(--muted)}td,th{padding:18px 10px;border-bottom:1px solid var(--line)}td .actions{justify-content:flex-start}small{display:block;color:var(--muted);margin-top:7px}.danger{color:var(--muted)}.error{background:#7d24242b;color:var(--text);padding:15px;border-left:3px solid #d97474}.success{padding:15px;border-left:3px solid #71b99a;background:#26754920}.login{max-width:480px}.login .primary{margin-top:20px}.footnote{font-size:12px;margin-top:28px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:850px){aside{position:static;width:auto}.brand{display:flex;align-items:center;gap:15px}.brand img{width:100px}aside .eyebrow{text-align:left}nav{display:flex;flex-wrap:wrap;margin:10px 0}.profile{margin:15px 0}main{margin:0;padding:24px}.fields{grid-template-columns:1fr}.wide{grid-column:auto}h1{font-size:32px}.actions{flex-wrap:wrap}.panel{padding:18px}}
.catalog{padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:9px;margin:20px 0 28px}.catalog p{font-size:12px}.airport-result{display:block;width:100%;text-align:left;margin:7px 0}.airport-result:hover{border-color:var(--gold)}
.catalog-update{margin:24px 0;border-top:2px solid var(--gold)}.catalog-update h2{margin-top:0}.catalog-update p{max-width:760px}.catalog-update button:disabled{opacity:.7;cursor:wait}
.nav-caption{color:#a9aec4;text-transform:uppercase;letter-spacing:1.5px;font-size:10px;margin:30px 16px 8px}.subnav{margin-top:0}.subnav a{padding:9px 16px;font-size:13px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}.settings-card{display:block;min-width:0;text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}.settings-card:hover{border-color:var(--gold);transform:translateY(-2px)}.settings-card h2{margin:14px 0 10px}.settings-card p{margin-bottom:0}.breadcrumb{font-size:12px;margin-bottom:26px}.flight-route{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0 25px}.airport-code{font-size:38px;font-weight:650;letter-spacing:2px}.route-arrow{font-size:30px;color:var(--gold)}details summary{cursor:pointer;font-weight:600;line-height:1.8}details[open] summary{margin-bottom:20px}button:disabled{opacity:.55;cursor:not-allowed}.login-page main{margin:0 auto;max-width:650px}.login-page .login{max-width:none}.actions{flex-wrap:wrap}[hidden]{display:none!important}@media(max-width:850px){.settings-grid{grid-template-columns:1fr}.subnav{display:flex}.nav-caption{margin-top:15px}.airport-code{font-size:30px}}
.network-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.network-stats strong{display:block;font-size:30px;color:var(--gold);margin-top:10px}#route-network-graph svg{display:block;width:100%;max-height:650px;min-height:280px}.network-edge{stroke:var(--gold);stroke-width:1.4}.network-edge.incomplete{stroke-dasharray:6 6}.network-node{cursor:pointer}.network-node circle{fill:var(--surface);stroke:var(--gold);stroke-width:2}.network-node text{fill:var(--text);font:15px system-ui,sans-serif;font-weight:600}.network-node:focus circle,.network-node:hover circle{fill:var(--gold)}@media(max-width:650px){.network-stats{gap:8px}.network-stats .panel{padding:12px}.network-stats strong{font-size:25px}}
.overview-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.overview-multiple{border:1px solid var(--line);border-radius:8px;padding:12px;min-width:0}.overview-multiple>div{max-height:220px;overflow:auto}.overview-multiple label{display:flex;align-items:center;gap:10px;padding:6px 2px;font-weight:400}.overview-multiple input[type=checkbox]{margin:0;flex-shrink:0}.overview-ranges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.overview-sorting{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.overview-table-scroll{overflow:auto}.overview-table-scroll table{min-width:1050px}.overview-table-scroll th button{border:0;padding:0;background:none;font-size:12px;color:var(--muted);white-space:nowrap}.overview-table-scroll th[aria-sort=ascending] button,.overview-table-scroll th[aria-sort=descending] button{color:var(--gold)}.overview-table-scroll td{vertical-align:top}.overview-table-scroll td:nth-child(5),.overview-table-scroll td:nth-child(6){white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:1000px){.overview-sorting{grid-template-columns:1fr 1fr}}@media(max-width:650px){.overview-filter-grid,.overview-ranges,.overview-sorting{grid-template-columns:1fr}.overview-multiple>div{max-height:170px}}
.overview-table-scroll{max-height:75vh}.overview-table-scroll table{min-width:1950px}.overview-table-scroll th{vertical-align:top;min-width:135px;position:sticky;top:0;background:var(--surface);z-index:1}.overview-table-scroll th:last-child{min-width:145px}.overview-table-scroll th label{font-size:11px;font-weight:400;margin-top:8px}.overview-table-scroll th input{padding:7px;margin-top:4px;font-size:12px;min-width:95px}.overview-table-scroll .overview-multiple{padding:7px;margin-top:10px}.overview-table-scroll .overview-multiple summary{font-size:11px;white-space:normal}.overview-table-scroll .overview-multiple[open] summary{margin-bottom:8px}.overview-table-scroll .overview-multiple>div{max-height:170px}.overview-table-scroll .overview-multiple label{gap:6px}.overview-table-scroll .overview-multiple input[type=checkbox]{min-width:18px;width:18px;height:18px}.overview-table-scroll td:nth-child(7),.overview-table-scroll td:nth-child(8),.overview-table-scroll td:nth-child(10),.overview-table-scroll td:nth-child(11){white-space:nowrap;font-variant-numeric:tabular-nums}.overview-column-range{display:grid;gap:4px}

.planning-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:10px 0 28px}.planning-tabs a{margin:0;border-radius:7px 7px 0 0;padding:13px 24px;color:var(--muted);text-decoration:none}.planning-tabs a[aria-current=page]{color:var(--gold);background:var(--soft);box-shadow:inset 0 -3px var(--gold)}.route-picker-main{max-width:none;padding:30px 3%}.route-picker-main h1{font:600 25px system-ui,sans-serif;margin:0}.route-picker-main .toolbar p{margin:3px 0}.picker-controls{display:flex;gap:20px;margin-bottom:18px;max-width:760px}.picker-controls label{flex:1}.picker-table-scroll{overflow:auto;border:1px solid var(--line);border-radius:12px}.picker-table{min-width:950px}.picker-table th{background:var(--field);padding:12px 9px;font-size:14px;color:var(--text)}.picker-table th button{padding:0;border:0;background:transparent;font-weight:600}.picker-table th[aria-sort=ascending] button,.picker-table th[aria-sort=descending] button{color:var(--gold)}.picker-table td{padding:12px 9px;background:var(--surface);font-size:14px}.picker-table tbody tr:nth-child(even) td{background:var(--soft)}.picker-table tbody tr:hover td{background:var(--field)}.picker-table .picker-filters td{background:var(--field);padding:8px 9px}.picker-filters input{padding:7px 9px;margin:0;font-size:13px;min-width:85px}.picker-filters button{padding:7px 9px;font-size:12px}.picker-table .numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.picker-flight-number{font-weight:700}.icao-badge{display:inline-block;border-radius:5px;padding:3px 7px;background:var(--line);font-size:12px;font-weight:700;margin-right:9px}.picker-airport-name{font-size:13px;color:var(--muted)}.route-active{background:#168252;color:white;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.picker-plan{display:inline-block;border:1px solid var(--line);border-radius:5px;padding:6px 9px;color:var(--gold);text-decoration:none;font-size:12px;white-space:nowrap}.picker-plan:hover{border-color:var(--gold)}@media(max-width:650px){.picker-controls{display:block}.picker-controls label{margin-bottom:12px}.route-picker-main{padding:24px}.planning-tabs a{padding:12px 18px}}
