@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#153b3d;--muted:#7c8987;--green:#246c58;--border:#e4e9e4}*{box-sizing:border-box}body{margin:0;background:#f6f7f3;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:7px;background:white;color:var(--ink);padding:11px 15px}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:wait}aside{position:fixed;width:226px;inset:0 auto 0 0;background:#f0f3ed;border-right:1px solid #dde3db;padding:36px 24px}.brand{display:flex;gap:10px;text-decoration:none;color:var(--ink);font-size:32px;font-weight:700;align-items:center}.brand span{font-family:Manrope,sans-serif;font-size:26px;letter-spacing:-1px}.brand small{display:block;font:9px 'DM Sans';letter-spacing:2px;margin-top:5px}.nav{display:block;border:0;width:100%;text-align:left;background:transparent;margin-top:16px;padding:14px;font-size:13px}.nav.active{margin-top:60px;background:#e0e9dd;border-radius:7px;font-weight:600}.asideBottom{position:absolute;bottom:32px;left:24px;right:24px;font-size:12px;line-height:1.8}.asideBottom p{color:var(--muted);border-top:1px solid var(--border);padding-top:22px;margin-top:24px}.asideBottom button{font-size:11px;padding:8px}.dot{display:block;width:8px;height:8px;background:#c0a779;border-radius:50%;margin-bottom:10px}main{margin-left:226px;padding:0 42px;max-width:1800px}header{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}header>span{font-size:10px;letter-spacing:1.7px;color:var(--muted)}header button{font-size:12px}.heading{display:flex;align-items:center;justify-content:space-between;margin:38px 0 30px;gap:15px}.eyebrow{font-size:9px;letter-spacing:2px;color:#7b9384;font-weight:700}h1{font-family:Manrope,sans-serif;letter-spacing:-1.3px;font-size:34px;margin:12px 0}p{color:var(--muted);line-height:1.6}h2{font-family:Manrope,sans-serif;font-size:18px;letter-spacing:-.5px;margin:0 0 6px}.primary{background:var(--green);color:#fff;border-color:var(--green);font-weight:600}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stats article{background:white;border:1px solid var(--border);border-radius:10px;padding:23px}.stats label{font-size:9px;letter-spacing:1.3px;color:#778882}.stats strong{display:block;font-family:Manrope;font-size:34px;margin:14px 0 9px;font-weight:600}.stats em{font-size:15px;font-style:normal;color:#8b9991}.stats small{font-size:11px;color:var(--muted)}.mapCard,.log{background:white;border:1px solid var(--border);border-radius:11px;overflow:hidden;margin-bottom:28px}.cardHead{padding:24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.cardHead p{font-size:12px;margin:0}.badge{font-size:9px;letter-spacing:1px;background:#eef4ed;padding:9px;border-radius:5px;white-space:nowrap}.badge i{display:inline-block;background:#438b63;width:5px;height:5px;border-radius:50%;margin-right:5px}#map{height:350px;background:#e9eee8}.leaflet-container{font-family:'DM Sans',sans-serif}.mapFoot{padding:13px 24px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.actions{display:flex;gap:10px}.actions input{width:235px}.actions button{font-size:12px}input,textarea{border:1px solid #dbe3dc;background:#fbfcf9;border-radius:6px;padding:11px;color:var(--ink);width:100%;min-width:0}input:focus,textarea:focus{outline:2px solid #85b7a1;outline-offset:1px}.pill{font:11px 'DM Sans';background:#eef2ed;padding:3px 7px;border-radius:5px;margin-left:6px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;font-size:9px;color:#88958e;letter-spacing:1px;background:#f8faf6;padding:14px 20px}td{padding:18px 20px;border-top:1px solid #eef1ec;font-size:12px}td strong{font-size:14px}td small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.tableWrap{overflow:auto}#empty{text-align:center;padding:40px 20px 48px}#empty>span{font-size:32px;color:#6d9480}#empty h3{font-family:Manrope;font-size:19px}#empty p{font-size:12px}#empty button{margin-top:8px}footer{display:flex;gap:20px;align-items:center;font-size:10px;letter-spacing:2px;color:#9ca69d;padding:2px 0 28px}footer span{letter-spacing:0}footer small{margin-left:auto;letter-spacing:0}dialog{border:1px solid var(--border);border-radius:15px;padding:28px;width:620px;max-width:94vw;max-height:92vh;overflow:auto;color:var(--ink);box-shadow:0 25px 100px #153b3d33}dialog::backdrop{background:#163c3e70;backdrop-filter:blur(4px)}.dialogHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dialogHead h2{font-size:23px;margin-top:8px}.dialogHead .close{border:0;font-size:24px;padding:5px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{font-size:12px;display:block}label input,label textarea{margin-top:7px}.wide{width:100%;margin-top:18px}#lookupStatus{font-size:12px;padding:12px;background:#f1f5ed;border-radius:6px}.hint{font-size:11px}summary{cursor:pointer;padding:12px 0;font-weight:600;font-size:13px}.dialogFoot{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:14px 22px;background:var(--ink);color:white;border-radius:8px;display:none;z-index:9999}.match{display:block;width:100%;text-align:left;margin:8px 0}.rowActions button{border:0;padding:6px;background:transparent}.rowActions{white-space:nowrap}@media(max-width:1100px){aside{width:180px;padding:30px 15px}main{margin-left:180px;padding:0 24px}.stats{gap:10px}.stats article{padding:18px}.heading h1{font-size:28px}.actions input{width:180px}}@media(max-width:760px){aside{position:relative;width:100%;height:76px;padding:15px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center}.brand small,.nav,.asideBottom{display:none!important}.brand span{font-size:24px}main{margin:0;padding:0 16px}header{height:55px}.heading{display:block;margin:28px 0}.heading button{margin-top:12px}.heading h1{font-size:27px}.stats{grid-template-columns:1fr 1fr}.stats strong{font-size:28px}.stats small{font-size:10px}.cardHead{padding:18px;flex-wrap:wrap}.badge{display:none}.actions{width:100%}.actions input{flex:1;width:100px}#map{height:300px}footer{flex-wrap:wrap}footer small{width:100%;margin:0}.grid{gap:12px}dialog{padding:20px}}
/* Theme and import workspace */
header{gap:10px}header>span{margin-right:auto}#themeToggle{font-size:12px}select{font:inherit;width:100%;padding:11px;margin-top:7px;border:1px solid var(--border);border-radius:6px;background:#fbfcf9;color:var(--ink)}dialog a{color:#28785b}#importDialog{width:980px}.uploadLabel{border:1px dashed #94b09c;padding:16px;border-radius:8px;background:#f5f8f1;margin:18px 0}.uploadLabel input{background:transparent;border:0;padding:8px 0}.importPreview{max-height:300px;border:1px solid var(--border);border-radius:7px;margin-top:14px}.importPreview th{position:sticky;top:0}.importPreview td{white-space:normal;min-width:80px;font-size:11px;padding:12px}.import-invalid td:last-child{color:#a94b35}.import-duplicate{opacity:.65}#importMessage,#importSummary{font-size:13px;line-height:1.7;margin:12px 0}.suggestion{border:1px solid #b4cdb9;background:#f4f8ee;padding:18px;border-radius:9px}.suggestion h3{font-size:16px;margin:0 0 12px}.suggestion dl{display:grid;grid-template-columns:65px 1fr;gap:8px;font-size:12px}.suggestion dd{margin:0}.suggestion dt{color:var(--muted)}.suggestion a{font-size:11px}.suggestionActions{display:flex;gap:8px;flex-wrap:wrap}.notice{font-size:12px;background:#edf0d8;padding:9px;border-radius:5px;color:#646a37}.suggestionActions button{font-size:12px}#lookupStatus{line-height:1.7}#matches>.hint{font-size:11px}html[data-theme=dark]{color-scheme:dark;--ink:#e0eae4;--muted:#9dafa6;--green:#397c64;--border:#33443c}html[data-theme=dark] body{background:#15221d}html[data-theme=dark] aside{background:#192a22;border-color:var(--border)}html[data-theme=dark] button{background:#25382e;color:var(--ink);border-color:var(--border)}html[data-theme=dark] .primary{background:#397c64;color:#fff}html[data-theme=dark] .nav{background:transparent}html[data-theme=dark] .nav.active{background:#2b4335}html[data-theme=dark] .stats article,html[data-theme=dark] .mapCard,html[data-theme=dark] .log,html[data-theme=dark] dialog{background:#1d2e25}html[data-theme=dark] th{background:#23372b}html[data-theme=dark] td{border-color:var(--border)}html[data-theme=dark] input,html[data-theme=dark] textarea,html[data-theme=dark] select{background:#17271f;border-color:var(--border);color:var(--ink)}html[data-theme=dark] .badge,html[data-theme=dark] .pill,html[data-theme=dark] #lookupStatus{background:#2c4030;color:#c6d8c8}html[data-theme=dark] .suggestion,html[data-theme=dark] .uploadLabel{background:#233c2b;border-color:#46674e}html[data-theme=dark] .notice{background:#444a2f;color:#e5e5b9}html[data-theme=dark] dialog a{color:#91c9a5}html[data-theme=dark] #map .leaflet-tile-pane{filter:brightness(.72) saturate(.6)}html[data-theme=dark] .leaflet-popup-content-wrapper,html[data-theme=dark] .leaflet-popup-tip{background:#243a2e;color:var(--ink)}html[data-theme=dark] .import-invalid td:last-child{color:#ffaf9d}html[data-theme=dark] #toast{background:#d7eadb;color:#183023}html[data-theme=dark] .rowActions button{background:transparent}#manual input{scroll-margin-top:20px}@media(max-width:760px){header>span{display:none}header{justify-content:flex-end}.suggestionActions{flex-direction:column}.dialogFoot{flex-wrap:wrap}#importDialog .grid{grid-template-columns:1fr 1fr}}
.requiredRoute{margin-top:18px}.airlineFlight{display:flex;align-items:center;gap:12px;min-width:150px}.airlineIcon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:9px;overflow:hidden;background:#fff;border:1px solid #e2e8e0;color:#55816b}.airlineLogo{position:absolute;inset:3px;width:34px;height:34px;object-fit:contain;background:white}.logoFallback{font-size:22px}.logoFallback[hidden]{display:none}.airlineFlight>span:last-child{display:block}#flightForm select{margin-top:7px}html[data-theme=dark] .airlineIcon{background:#fff;border-color:#486052}
/* Account screens */
body[data-auth=out]>aside,body[data-auth=out]>main,body[data-auth=loading]>aside,body[data-auth=loading]>main{display:none}body[data-auth=in] #authScreen{display:none}#authScreen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 18px;background:radial-gradient(ellipse at 15% 25%,#e5edde,transparent 60%)}.authBrand{font:800 35px Manrope,sans-serif;letter-spacing:-1px;margin-bottom:30px}.authBrand small{display:block;text-align:center;font:9px 'DM Sans';letter-spacing:2px;margin-top:8px}.authCard{width:470px;max-width:100%;padding:32px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 70px #163b3d0a}.authCard h1{font-size:29px;line-height:1.3}.authCard>p{font-size:13px}.authCard label,#passwordForm label{margin-top:17px}#authMessage,#passwordMessage{font-size:12px;color:#ad5b3e;line-height:1.5}.authSwitch{width:100%;border:0;background:transparent;margin-top:15px;font-size:12px}.authFoot{font-size:12px;margin-top:25px}.migrationBanner{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:15px 20px;margin-bottom:24px;border:1px solid #adc2a5;background:#edf3e6;border-radius:9px}.migrationBanner[hidden]{display:none}.migrationBanner p{margin:0;font-size:13px}.migrationBanner button{font-size:12px;flex-shrink:0}.asideBottom button{display:block;width:100%;margin-top:8px}#accountName{color:var(--ink)}html[data-theme=dark] #authScreen{background:radial-gradient(ellipse at 15% 25%,#283e30,transparent 60%)}html[data-theme=dark] .authCard{background:#1d2e25}html[data-theme=dark] .migrationBanner{background:#293f2c;border-color:#536e4f}html[data-theme=dark] #authMessage,html[data-theme=dark] #passwordMessage{color:#ffc1a6}body[data-auth=loading] .authCard{opacity:.65;pointer-events:none}body[data-auth=loading] .authFoot:after{content:' · Verbindung zur Datenbank …'}#accountMenu{font-size:12px}#accountLogout{margin-top:24px;width:100%}@media(max-width:760px){.authCard{padding:24px}.migrationBanner{align-items:stretch;flex-direction:column}.asideBottom{display:none}header button{padding:9px;font-size:11px!important}.authBrand{font-size:30px}}
.aircraftLookup{margin-top:22px;border-top:1px solid var(--border);padding-top:18px}.aircraftLookup .suggestion{margin-top:15px}.aircraftLookup .suggestionActions{margin-top:15px}
/* Logbook pages and personal fields */
[hidden]{display:none!important}.nav{display:block;text-decoration:none;color:inherit}.flightExtras{margin:24px 0;border-top:1px solid var(--border);padding-top:20px}textarea{font:inherit;width:100%;box-sizing:border-box;padding:12px;margin-top:8px;border:1px solid var(--border);border-radius:7px;background:#fbfcf9;color:var(--ink);resize:vertical}.customFieldRow{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:10px;margin-bottom:12px}.customFieldRow button{margin-bottom:1px}#customError{color:#ad5b3e;font-size:13px}.detailTable{min-width:2100px}.detailTable .textCell{white-space:pre-wrap;min-width:210px;max-width:340px;overflow-wrap:anywhere}.detailTable small{white-space:pre-wrap}.insightGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:26px 0}.metric,.ranking{background:var(--panel,#fff);border:1px solid var(--border);padding:22px;border-radius:12px;min-width:0}.metric label{font-size:10px;letter-spacing:1px;color:var(--muted)}.metric strong{display:block;font-size:27px;margin:13px 0;overflow-wrap:anywhere}.metric small{display:block;color:var(--muted);font-size:12px}.recordGrid,.rankGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.recordGrid .metric strong{font-size:19px}.rankRow{display:grid;grid-template-columns:1fr auto;gap:7px;margin:15px 0;font-size:13px}.barTrack{grid-column:1/-1;height:7px;background:var(--border);border-radius:8px;overflow:hidden}.barTrack>div{height:100%;background:#438a6b;border-radius:8px}.ranking h3{margin-top:0}.legalBody{display:block}.legalBody main.legalPage{margin:50px auto;padding:30px;max-width:760px;width:auto}.legalPage .eyebrow{margin-top:45px}.legalPage address{font-style:normal;line-height:1.8}.legalPage section{margin-top:35px}a{color:var(--green)}#allSearch{max-width:650px;margin-bottom:10px}html[data-theme=dark] .metric,html[data-theme=dark] .ranking{--panel:#1d2e25}html[data-theme=dark] a{color:#a6d2b7}.emptyStats{padding:24px;border:1px dashed var(--border);border-radius:8px}@media(max-width:1000px){.insightGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.rankGrid,.recordGrid{grid-template-columns:1fr}.customFieldRow{grid-template-columns:1fr}.customFieldRow button{justify-self:start}.insightGrid{gap:10px}.metric{padding:16px}.metric strong{font-size:23px}aside .nav{display:inline-block;font-size:12px;padding:10px}.legalBody main.legalPage{margin:15px auto}.nav{white-space:nowrap}}
.nav.active{margin-top:16px}.brand+.nav{margin-top:36px}@media(max-width:760px){aside{height:auto;min-height:76px;flex-wrap:wrap;gap:4px}.brand{width:100%;margin-bottom:6px}aside .nav{display:inline-block!important;width:auto;margin:0!important;padding:9px 10px}aside .nav.active{background:#e0e9dd}html[data-theme=dark] aside .nav.active{background:#2b4335}}
/* Always-visible flight actions */
.tableWrap td.rowActions{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-5px 0 8px #153b3d0a;width:58px;min-width:58px;text-align:center;padding:12px}.log .tableWrap th:last-child,.detailTable th:last-child{position:sticky;right:0;z-index:3;background:#f8faf6}.rowActions .flightGear{font-size:20px;line-height:1;padding:9px;border:1px solid var(--border);border-radius:7px;width:38px;height:38px;color:var(--ink)}#flightActions{position:fixed;inset:auto;margin:0;width:205px;padding:6px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink);box-shadow:0 12px 35px #102d322b}#flightActions button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:12px;font-size:13px}#flightActions button:hover,#flightActions button:focus-visible{background:#edf3ee}#flightActions .dangerAction{color:#a43232}html[data-theme=dark] .tableWrap td.rowActions,html[data-theme=dark] #flightActions{background:#1d2e25}html[data-theme=dark] .log .tableWrap th:last-child,html[data-theme=dark] .detailTable th:last-child{background:#23372b}html[data-theme=dark] #flightActions button:hover,html[data-theme=dark] #flightActions button:focus-visible{background:#2b4335}html[data-theme=dark] #flightActions .dangerAction{color:#ffb1a8}

.routePageHead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 22px}.routePageHead h1{margin:10px 0}.routePageHead p{margin:0}.routePageHead button{white-space:nowrap}.routeMap{height:calc(100dvh - 290px);min-height:480px;background:#e9eee8}#routesPage{padding-bottom:28px}#routesPage .mapFoot{gap:12px;flex-wrap:wrap;line-height:1.6}.legalPage h2{margin-top:25px}.legalPage h3{margin-top:24px}.legalPage p,.legalPage address{overflow-wrap:anywhere}html[data-theme=dark] #routeMap .leaflet-tile-pane{filter:brightness(.72) saturate(.6)}@media(max-width:760px){.routePageHead{align-items:flex-start;flex-direction:column;margin-top:22px}.routePageHead h1{font-size:28px}.routeMap{height:65dvh;min-height:380px}}
