:root{
  color-scheme:dark;
  --bg:#050b13;--panel:#0c1725;--panel2:#122033;--panel3:#172a41;--line:#29415f;
  --text:#eef6ff;--muted:#9fb3ca;--accent:#79b8ff;--accent2:#9ed7ff;
  --good:#4ad18b;--warn:#f0c75e;--bad:#f17070;--shadow:0 14px 40px rgba(0,0,0,.32);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at top,#10233a 0,#07111f 38%,var(--bg) 72%);color:var(--text);min-height:100vh;padding-bottom:86px}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app-header{position:sticky;top:0;z-index:20;display:flex;gap:18px;justify-content:space-between;align-items:center;padding:18px clamp(16px,4vw,42px);background:rgba(5,11,19,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(121,184,255,.18)}
.app-header h1{font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.05;margin:3px 0}
html[data-environment="test"] .app-header h1,.env-test .app-header h1{display:inline-block;background:#f0c75e;color:#211900;border:2px solid #ffe49a;border-radius:9px;padding:6px 11px;box-shadow:0 0 0 3px rgba(240,199,94,.18),0 8px 25px rgba(0,0,0,.28)}
html[data-environment="test"] .version-line,.env-test .version-line{color:#ffe49a;font-weight:750}.eyebrow{color:var(--accent2);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.version-line{color:var(--muted);font-size:.85rem}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.header-actions select{min-width:150px}
.app-shell{width:min(1460px,100%);margin:auto;padding:20px clamp(12px,3vw,32px)}.card{background:linear-gradient(145deg,rgba(18,32,51,.97),rgba(9,20,34,.97));border:1px solid rgba(121,184,255,.2);border-radius:18px;box-shadow:var(--shadow);padding:18px;margin-bottom:18px}.card h2,.card h3{margin-top:0}.loading-card{text-align:center;padding:70px 20px}.spinner{width:42px;height:42px;margin:0 auto 16px;border:4px solid #29415f;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{background:rgba(5,11,19,.38);border:1px solid var(--line);border-radius:13px;padding:13px}.metric .label{color:var(--muted);font-size:.78rem}.metric .value{font-size:1.18rem;font-weight:700;margin-top:4px}.muted{color:var(--muted)}.small{font-size:.82rem}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}
button,.button{border:1px solid var(--line);background:linear-gradient(#1a304a,#11243a);border-radius:11px;padding:10px 14px;font-weight:650;transition:.16s ease}button:hover{border-color:var(--accent);transform:translateY(-1px)}button.primary{background:linear-gradient(#3986d9,#2563a5);border-color:#5da8f5}button.danger{background:#4b1e27;border-color:#8d3b4a}button.ghost{background:transparent}button:disabled{opacity:.5;cursor:not-allowed;transform:none}
input,select,textarea{width:100%;border:1px solid var(--line);background:#071321;border-radius:10px;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(121,184,255,.12)}label{display:block;color:var(--muted);font-size:.84rem}label>input,label>select,label>textarea{margin-top:6px;color:var(--text)}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline>*{width:auto}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.toolbar label{min-width:150px;flex:1}.divider{height:1px;background:var(--line);margin:18px 0}.notice{padding:12px 14px;border-radius:11px;border:1px solid var(--line);background:#0b1a2b}.notice.good{border-color:#2e8f62;background:#0b281d}.notice.warn{border-color:#92752b;background:#2c240f}.notice.bad{border-color:#9d4343;background:#301315}
.bottom-nav{position:fixed;z-index:30;left:50%;transform:translateX(-50%);bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;width:min(420px,calc(100% - 24px));background:rgba(7,17,31,.94);border:1px solid rgba(121,184,255,.28);border-radius:18px;padding:7px;box-shadow:0 16px 45px rgba(0,0,0,.5);backdrop-filter:blur(18px)}.bottom-nav button{border:0;background:transparent;padding:10px;display:flex;gap:8px;align-items:center;justify-content:center}.bottom-nav button.active{background:#183454;color:#d9edff}.environment-badge{position:fixed;z-index:60;right:10px;top:10px;background:#f0c75e;color:#211900;border:2px solid #ffe49a;border-radius:999px;padding:6px 10px;font-weight:800;font-size:.74rem;box-shadow:var(--shadow)}.update-banner{position:fixed;z-index:70;left:50%;top:12px;transform:translateX(-50%);width:min(600px,calc(100% - 24px));display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 14px;background:#173b5e;border:1px solid #67b1f6;border-radius:13px;box-shadow:var(--shadow)}
.main-tabs,.settings-tabs{display:flex;gap:8px;flex-wrap:wrap}.settings-tabs button.active,.main-tabs button.active{border-color:var(--accent);background:#1a4168}.settings-section{display:none}.settings-section.active{display:block}.dirty-dot::after{content:" •";color:var(--warn)}
.profile-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.profile-bar select{width:auto;min-width:180px}.section-title-row{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.section-title-row h2,.section-title-row h3{margin:0}.save-state{font-size:.82rem;color:var(--warn)}
.date-buttons{display:flex;gap:8px;overflow:auto;padding-bottom:5px}.date-buttons button{min-width:88px}.date-buttons button.active{border-color:var(--accent);background:#1b436a}.planning-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:18px}.filters{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.chip-list{display:flex;gap:7px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#0b1828}.chip input{width:auto;margin:0}
.object-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}.object-table{width:max-content;min-width:100%;border-collapse:collapse}.object-table th,.object-table td{padding:10px 9px;border-bottom:1px solid rgba(41,65,95,.7);vertical-align:middle;text-align:left}.object-table th{position:sticky;top:0;background:#12243a;z-index:2;color:#cfe6ff;font-size:.78rem}.object-table tr:hover td{background:rgba(121,184,255,.05)}.object-name{font-weight:750}.score-badge{display:inline-flex;min-width:46px;justify-content:center;padding:5px 8px;border-radius:999px;background:#173450}.score-badge.good{background:#123b2b}.score-badge.warn{background:#443813}.score-badge.bad{background:#4b1d23}.mini-chart{width:230px;height:92px;display:block}.pagination{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:13px 0}.pagination .pages{display:flex;gap:6px;flex-wrap:wrap}.pagination button.active{background:#2f74b9;border-color:#73b6f6}.result-summary{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.85rem}
.weather-table{width:100%;border-collapse:collapse;min-width:960px}.weather-table th,.weather-table td{padding:8px;border-bottom:1px solid var(--line);text-align:center;font-size:.82rem}.weather-table th{background:#12243a;position:sticky;top:0}.weather-scroll{overflow:auto;border:1px solid var(--line);border-radius:13px}.quality-pill{border-radius:999px;padding:4px 8px;display:inline-block;font-weight:700}.quality-pill.good{background:#155037}.quality-pill.warn{background:#5a4715}.quality-pill.bad{background:#642531}
.framing-view{position:relative;min-height:430px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#02060b}.framing-view iframe{width:100%;height:430px;border:0}.frame-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid #79b8ff;pointer-events:none}.object-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid #f0c75e;border-radius:50%;pointer-events:none}.framing-info{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;gap:7px;pointer-events:none}.framing-info>div{background:rgba(5,11,19,.82);border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:.78rem}.framing-controls{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin-top:12px}.short-range{max-width:240px}
.horizon-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.direction-label{display:block;font-weight:750;color:#d8ebff}.obstacle-list{display:grid;gap:8px}.obstacle-row{display:grid;grid-template-columns:1.3fr .7fr .7fr auto;gap:8px;align-items:end}.equipment-list{display:grid;gap:10px}.equipment-row{display:grid;grid-template-columns:1.4fr repeat(3,.8fr) auto;gap:8px;align-items:end}.column-editor{display:grid;gap:7px}.column-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:10px}.weight-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.weight-total{font-size:1.1rem;font-weight:800}.weight-total.ok{color:var(--good)}.weight-total.error{color:var(--bad)}
.help-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.help-toc a{display:block;padding:10px;border:1px solid var(--line);border-radius:10px;color:#cfe7ff;text-decoration:none}.help-article section{scroll-margin-top:100px}.data-actions{display:flex;gap:10px;flex-wrap:wrap}.data-actions button{flex:1;min-width:180px}.storage-status{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.storage-status .metric{min-height:78px}
@media(max-width:1050px){.planning-layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,1fr)}.grid.four,.weight-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){body{padding-bottom:94px}.app-header{align-items:flex-start}.header-actions{width:46%}.header-actions select{min-width:0}.app-shell{padding:12px}.card{padding:14px;border-radius:15px}.grid.two,.grid.three,.grid.four,.filters,.framing-controls,.horizon-grid,.weight-grid,.help-toc,.storage-status{grid-template-columns:1fr}.object-table{min-width:800px}.mini-chart{width:190px}.equipment-row{grid-template-columns:1fr 1fr}.equipment-row label:first-child{grid-column:1/-1}.equipment-row button{grid-column:1/-1}.obstacle-row{grid-template-columns:1fr 1fr}.obstacle-row label:first-child{grid-column:1/-1}.obstacle-row button{grid-column:1/-1}.bottom-nav button{font-size:1.05rem}.bottom-nav span{font-size:.86rem}.framing-info{right:8px}.update-banner{top:8px}}
@media(max-width:430px){.app-header{display:block}.header-actions{width:100%;margin-top:10px;justify-content:flex-start}.header-actions select{flex:1}.date-buttons button{min-width:82px}.pagination button{padding:10px 12px}.profile-bar select{width:100%}}

/* Version 1.0 – Korrekturrunde 2 */
.planning-window-toolbar{margin-top:14px;align-items:center}.planning-window-toolbar label{max-width:360px}.planning-window-toolbar .small{flex:2;min-width:260px}
.object-row{cursor:pointer}.object-row:focus{outline:2px solid var(--accent);outline-offset:-2px}.object-row.selected td{background:rgba(121,184,255,.11)}.object-detail-row>td{padding:0!important;background:#07111d!important}.object-detail-card{padding:18px;border-top:2px solid var(--accent);background:linear-gradient(160deg,#0c1b2d,#07111d)}.object-detail-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.object-detail-header h2{margin:2px 0 0}.close-detail-button{border-color:#8d5260;background:#3a1b25}.object-detail-metrics{margin-bottom:16px}.object-detail-section{border:1px solid var(--line);border-radius:15px;padding:16px;background:rgba(5,11,19,.35);margin-bottom:16px}.object-detail-section h3{margin:3px 0}.object-chart-panel{border:1px solid var(--line);border-radius:14px;background:rgba(5,11,19,.32);margin-top:14px;overflow:hidden}.object-chart-panel summary{cursor:pointer;padding:14px 16px;font-weight:800;font-size:1.05rem;background:#102238}.object-chart-panel[open] summary{border-bottom:1px solid var(--line)}.chart-description{padding:12px 16px 0;color:var(--muted);font-size:.85rem}.large-altitude-chart,.large-horizon-chart,.settings-horizon-chart{display:block;width:100%;height:auto;max-height:460px;background:#07111d;border:1px solid var(--line);border-radius:12px;margin-top:12px}.object-chart-panel canvas{border-width:0;border-radius:0;margin-top:10px}.settings-horizon-chart{max-height:390px}
.weather-model-summary{text-align:right}.weather-summary-grid{margin:14px 0}.weather-quality-table{min-width:1280px}.weather-quality-table thead tr:first-child th{background:#17314f}.weather-quality-table thead tr:nth-child(2) th{background:#10263d}.weather-quality-table td{transition:background .15s ease}.weather-cell.good{color:#eafff4;background:rgba(74,209,139,.22);box-shadow:inset 4px 0 0 rgba(74,209,139,.9)}.weather-cell.warn{color:#fff5c9;background:rgba(240,199,94,.22);box-shadow:inset 4px 0 0 rgba(240,199,94,.9)}.weather-cell.bad{color:#ffe1e6;background:rgba(241,112,112,.24);box-shadow:inset 4px 0 0 rgba(241,112,112,.9)}.weather-quality-table tr.selected-window-hour td:first-child{box-shadow:inset 4px 0 0 var(--accent)}.weather-quality-table tr.selected-window-hour td{border-top-color:rgba(121,184,255,.55);border-bottom-color:rgba(121,184,255,.55)}.weather-footnote{margin-top:10px;line-height:1.45}.quality-pill.good{color:#dfffee}.quality-pill.warn{color:#fff1bd}.quality-pill.bad{color:#ffdce1}
.framing-view{min-height:645px}.framing-view iframe{height:645px}.framing-scaled-overlay{position:absolute;left:50%;top:50%;pointer-events:none}.frame-overlay{border:2px solid #67cbff;background:rgba(40,183,215,.08);box-shadow:0 0 8px rgba(103,203,255,.35)}.object-overlay{border:2px solid #f0c75e;background:rgba(240,199,94,.05)}.framing-controls{grid-template-columns:repeat(5,minmax(150px,1fr));align-items:end}.framing-time-control{grid-column:span 2}.framing-controls input[type=range]{padding:0}.framing-info{top:50%;right:14px}.framing-section #framingObjectSelect{width:min(420px,100%)}
.settings-horizon-chart+ .horizon-grid{margin-top:16px}.direction-label{font-size:.9rem}.obstacle-row input[type=number]{min-width:0}
@media(max-width:1100px){.framing-controls{grid-template-columns:repeat(2,minmax(160px,1fr))}.framing-time-control{grid-column:span 2}.object-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.object-detail-card{padding:12px}.object-detail-header{align-items:flex-start}.close-detail-button{width:100%}.framing-view{min-height:520px}.framing-view iframe{height:520px}.framing-controls{grid-template-columns:1fr}.framing-time-control{grid-column:auto}.large-altitude-chart,.large-horizon-chart,.settings-horizon-chart{min-width:820px}.object-chart-panel{overflow:auto}.object-detail-metrics{grid-template-columns:1fr}.weather-model-summary{text-align:left}.planning-window-toolbar label{max-width:none}}
[hidden]{display:none!important}

/* Version 1.0 – Korrekturrunde 3: synchronisierte Zeitsteuerung und Dämmerungslegende */
.detail-time-controller{margin:12px 16px 4px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(7,17,29,.76)}
.detail-time-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.detail-time-head strong{display:block;font-size:1.04rem;margin-top:3px}.detail-time-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.detail-time-actions label{width:auto;min-width:116px}.detail-time-actions label.chip{min-width:0;align-self:center}.detail-time-actions input[type=time]{min-width:116px}.detail-time-slider{padding:0;margin-top:12px;cursor:pointer}.detail-time-limits{display:flex;justify-content:space-between;color:var(--muted);font-size:.76rem;margin-top:3px}
.large-altitude-chart{cursor:crosshair;touch-action:none}.large-horizon-chart{touch-action:pan-x pan-y}
.twilight-legend{display:flex;gap:9px 14px;align-items:center;flex-wrap:wrap;padding:11px 16px 4px;color:var(--muted);font-size:.78rem}.twilight-legend span{display:inline-flex;align-items:center;gap:6px}.twilight-legend i{width:12px;height:12px;border-radius:3px;border:1px solid rgba(255,255,255,.16);display:inline-block}.legend-civil{background:#3a3227}.legend-nautical{background:#1b2a3d}.legend-astronomical{background:#142235}.legend-night{background:#08121f}.legend-selected{background:rgba(121,184,255,.28);border-color:#6fc9ff!important}.legend-current{background:#f0c75e;border-color:#fff0af!important}
.hourly-altitude-strip{display:flex;gap:7px;overflow-x:auto;padding:10px 16px 16px;scrollbar-width:thin}.hourly-altitude-item{min-width:64px;display:grid;justify-items:center;gap:2px;padding:8px 7px;border:1px solid var(--line);border-radius:9px;background:#0b1929}.hourly-altitude-item strong{font-size:.78rem}.hourly-altitude-item span{color:var(--accent2);font-size:.82rem;font-weight:750}.hourly-altitude-item small{color:var(--muted);font-size:.7rem;font-weight:700}
.meteoblue-external-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,#10243a,#091827)}.meteoblue-actions{display:flex;gap:10px;flex-wrap:wrap}.meteoblue-actions .button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.button.primary{background:linear-gradient(#3986d9,#2563a5);border-color:#5da8f5}
@media(max-width:720px){.detail-time-controller{margin:10px 10px 2px}.detail-time-head{display:block}.detail-time-actions{justify-content:flex-start;margin-top:10px}.detail-time-actions button{flex:1}.detail-time-actions label{flex:1}.twilight-legend{min-width:820px}.hourly-altitude-strip{min-width:820px}.meteoblue-actions{width:100%}.meteoblue-actions .button{width:100%}}


/* Version 1.0 – Testkorrektur 4: animierte Wolkenkarte und Meteoblue-Widgets */
.cloud-map-card details>summary,.meteoblue-card details>summary{cursor:pointer;font-weight:800}
.cloud-map-toolbar{align-items:end}
.cloud-appearance-hint{margin-top:8px;padding:8px 10px;border-left:3px solid rgba(121,184,255,.55);background:rgba(121,184,255,.06);border-radius:0 8px 8px 0}
.cloud-map-stage.cloud-like #cloudMapCanvas{filter:drop-shadow(0 2px 5px rgba(0,0,0,.24))}
.cloud-map-toolbar label{min-width:180px}
.cloud-map-summary .value{font-size:1.08rem}
.cloud-map-stage{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#061321}
#cloudMapCanvas{display:block;width:100%;height:auto;aspect-ratio:35/18;background:#061321}
.cloud-map-legend{position:absolute;left:22px;bottom:18px;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(140,200,235,.28);border-radius:11px;background:rgba(3,12,20,.78);backdrop-filter:blur(5px);font-size:.76rem;color:#dcecff}
.legend-gradient{width:170px;height:11px;border-radius:999px;border:1px solid rgba(255,255,255,.25)}
.legend-gradient.clouds{background:linear-gradient(90deg,#071b2c,#506679,#dfe9f2)}
.legend-gradient.uncertainty{background:linear-gradient(90deg,#36cf72,#e7d04d,#ef5b5b)}
.rain-legend{color:#6fc9ff;font-weight:750}
.cloud-map-movement{position:absolute;right:22px;bottom:18px;max-width:42%;padding:8px 11px;border:1px solid rgba(255,214,107,.35);border-radius:11px;background:rgba(3,12,20,.78);color:#ffe08a;font-size:.78rem;font-weight:700;text-align:right}
.cloud-map-time-controls{display:grid;grid-template-columns:auto auto minmax(220px,1fr) auto;gap:10px;align-items:center}
.cloud-map-time-controls input[type=range]{padding:0}
.clear-window-notice strong{margin-right:6px}
.location-comparison>summary{font-weight:750}
.meteoblue-embed{position:relative;margin-top:12px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#09131b;min-height:560px}
.meteoblue-frame{display:block;width:100%;height:680px;border:0;background:#09131b}
.meteoblue-frame.seeing-frame{height:720px}
.meteoblue-frame.map-frame{height:720px}
.meteoblue-credit{padding-top:7px;text-align:right;font-size:.78rem}
.meteoblue-credit a{color:var(--accent2)}
.meteoblue-embed:fullscreen{background:#06101a;padding:0}
.meteoblue-embed:fullscreen .meteoblue-frame{height:100vh}
@media(max-width:900px){
  .cloud-map-legend{position:static;border-radius:0;border-width:1px 0 0;justify-content:center;flex-wrap:wrap}
  .cloud-map-movement{position:static;max-width:none;border-radius:0;border-width:1px 0 0;text-align:center}
  .cloud-map-time-controls{grid-template-columns:1fr 1fr}
  .cloud-map-time-controls input[type=range]{grid-column:1/-1;grid-row:1}
  .meteoblue-frame,.meteoblue-frame.seeing-frame,.meteoblue-frame.map-frame{height:620px}
}
@media(max-width:560px){
  .cloud-map-toolbar label{min-width:100%;width:100%}
  .cloud-map-time-controls{grid-template-columns:1fr 1fr}
  .cloud-map-time-controls button{width:100%}
  .cloud-map-legend{font-size:.68rem}
  .legend-gradient{width:110px}
  .meteoblue-embed{min-height:500px}
  .meteoblue-frame,.meteoblue-frame.seeing-frame,.meteoblue-frame.map-frame{height:540px}
}

/* Version 1.0 – kumulative Korrekturen: Speichern, Sicherung, Standort und Horizonteditor */
.save-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.save-bar .save-state{min-width:190px;color:var(--muted);font-weight:700}
.save-bar.is-dirty .save-state{color:var(--warn)}
.save-bar.is-success .save-state{color:#ffe08a}
button.save-success,button.save-success:disabled{opacity:1;background:linear-gradient(#f5d66d,#d7aa2f);border-color:#ffe89c;color:#251c00;box-shadow:0 0 0 3px rgba(240,199,94,.16)}
.storage-warning-card{border:2px solid #f0c75e;background:linear-gradient(145deg,rgba(76,58,15,.96),rgba(32,26,12,.97));box-shadow:0 0 0 4px rgba(240,199,94,.08),var(--shadow)}
.storage-warning-card h2{color:#ffe08a}.storage-warning-card p{line-height:1.62}.backup-support{display:inline-flex;padding:7px 10px;border:1px solid currentColor;border-radius:999px;font-size:.78rem;font-weight:750}
.help-article section{padding:16px 0;border-bottom:1px solid rgba(41,65,95,.62)}.help-article section:last-of-type{border-bottom:0}.help-article p{line-height:1.65}.help-return{display:flex;justify-content:center;margin-top:22px}.help-return .button{text-decoration:none}
.planning-night-selector{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.8fr);grid-template-areas:"location dates" "calendar dates";gap:10px 18px;align-items:start}.planning-location-select{grid-area:location}.calendar-date-field{grid-area:calendar}.planning-night-selector .date-buttons{grid-area:dates;align-self:start}.planning-location-select .coordinate-line,.planning-location-coordinates{display:block;margin-top:7px;color:var(--muted);font-size:.84rem}.planning-location-select select{min-height:46px}
.equipment-row.mount-row{grid-template-columns:1.4fr 1fr 1fr .55fr auto}
.editable-horizon{cursor:crosshair;touch-action:none}.horizon-editor-wrap{overflow-x:auto}.horizon-editor-help{line-height:1.5;margin-top:8px}.horizon-editor-actions{display:flex;gap:8px;flex-wrap:wrap}
.cloud-map-summary{margin-top:14px!important;margin-bottom:10px}.cloud-map-time-controls{margin-top:0!important}.legend-gradient.dynamic{border-color:rgba(255,255,255,.28)}
#cloudMapCanvas{image-rendering:auto}.cloud-map-stage{isolation:isolate}
.data-actions .button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:980px){.planning-night-selector{grid-template-columns:1fr}.equipment-row.mount-row{grid-template-columns:1fr 1fr}.equipment-row.mount-row label:first-child{grid-column:1/-1}.equipment-row.mount-row button{width:100%}}
@media(max-width:720px){.save-bar{align-items:stretch;flex-direction:column}.save-bar .save-state{min-width:0}.save-bar button{width:100%}.storage-status{grid-template-columns:1fr}.help-toc{grid-template-columns:1fr}.planning-night-selector{grid-template-columns:1fr}.equipment-row.mount-row{grid-template-columns:1fr}.equipment-row.mount-row label:first-child{grid-column:auto}}

/* Test 6: temporäre Ausrüstung, mehrere Horizonte und stabile Aladin-Overlays */
.planning-profile-toolbar{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;align-items:end}
.planning-profile-toolbar label,.framing-header-grid>*{min-width:0}
.framing-header-grid{display:grid;grid-template-columns:minmax(280px,2fr) repeat(4,minmax(150px,1fr));gap:12px;align-items:end;margin-bottom:12px}
.framing-header-grid h3{margin:3px 0}
.framing-section,.framing-view,.framing-view iframe,.object-detail-card,.object-detail-section,.object-detail-row>td{min-width:0;max-width:100%;box-sizing:border-box}
.framing-view iframe{display:block}
.horizon-detail-header{display:flex;justify-content:space-between;gap:14px;align-items:end;flex-wrap:wrap}
.horizon-detail-header label{min-width:min(320px,100%)}
.horizon-profile-toolbar{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1.2fr) repeat(4,auto);gap:10px;align-items:end;margin:14px 0}
.backup-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.backup-actions button{width:auto;min-height:42px;padding:9px 13px}
.backup-file-explanation code{white-space:normal;overflow-wrap:anywhere}
.save-bar button{width:auto;max-width:360px}
#optimalFrameRotation{align-self:end}
@media(max-width:1250px){.planning-profile-toolbar{grid-template-columns:repeat(3,minmax(170px,1fr))}.framing-header-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}.framing-header-grid>div:first-child{grid-column:1/-1}.horizon-profile-toolbar{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:800px){.planning-profile-toolbar,.framing-header-grid,.horizon-profile-toolbar{grid-template-columns:1fr}.framing-header-grid>div:first-child{grid-column:auto}.backup-actions button,.save-bar button{width:100%;max-width:none}.horizon-detail-header label{width:100%}}

/* Test 7: Astro-Topografie, Standortsuche, konfigurierbare Objektliste */
.filter-search-row{display:flex;gap:8px;align-items:center}.filter-search-row input{min-width:0;flex:1}.filter-search-row button{white-space:nowrap}
.location-search-box{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(6,19,33,.48)}
.location-search-results{display:grid;gap:8px;margin-top:12px}.location-search-result{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;width:100%;background:#0a1b2d}.location-search-result span{font-size:.78rem;color:var(--muted)}
.display-config-selector{margin-top:14px}.display-config-selector>summary{font-weight:800;cursor:pointer}.display-config-list{display:grid;gap:12px;margin-top:12px}.display-config-profile{padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(5,18,31,.5)}
.display-column-items{display:grid;gap:6px;margin-top:8px}.display-column-item{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:8px;padding:8px;border:1px solid rgba(41,65,95,.8);border-radius:9px;background:#091827}.display-column-item.dragging{opacity:.45}.display-column-item.drag-over{border-color:var(--accent);box-shadow:0 0 0 2px rgba(111,201,255,.18)}.display-column-item .drag-handle{cursor:grab;color:var(--muted);font-size:1.1rem}.display-column-item button{padding:5px 9px;min-height:34px}
.cloud-map-stage{background:#061321}.cloud-map-base{position:absolute;left:6.2857%;right:6.2857%;top:7.5%;bottom:17.5%;z-index:0;overflow:hidden;border-radius:16px;background:#0a1822}.cloud-map-base[hidden]{display:none}.cloud-map-base .maplibregl-map{width:100%;height:100%}.cloud-map-base .maplibregl-ctrl-attrib{font-size:9px;background:rgba(255,255,255,.72)}.cloud-map-base-fallback{display:grid;place-items:center;height:100%;color:var(--muted);font-size:.8rem}
#cloudMapCanvas{position:relative;z-index:1;background:transparent;pointer-events:none}.cloud-map-legend,.cloud-map-movement{z-index:2}
@media(max-width:720px){.filter-search-row{align-items:stretch;flex-direction:column}.display-column-item{grid-template-columns:auto minmax(0,1fr) auto auto}.location-search-box .grid.three{grid-template-columns:1fr}.cloud-map-base{left:6.3%;right:6.3%}}
.display-column-config{border:1px solid var(--line);border-radius:13px;background:rgba(5,18,31,.5);overflow:hidden}.display-column-config>summary{cursor:pointer;font-weight:800;padding:12px}.display-column-config-body{padding:0 12px 12px}.display-column-list{display:grid;gap:6px;margin-top:10px}.column-move-buttons{display:flex;gap:5px}.column-move-buttons button{padding:5px 9px;min-height:34px}.save-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.section-reset-button{white-space:nowrap}
@media(max-width:720px){.save-actions{width:100%;flex-direction:column}.save-actions button{width:100%!important}.display-column-item{grid-template-columns:auto minmax(0,1fr) auto}.column-move-buttons{grid-column:3;display:flex}}

/* Test 8: Markenleiste, Hauptbereiche, dunkle Wolkenkarte und Rechtshinweise */
.app-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:20px;
  align-items:center;
}
.header-title-block{min-width:0}
.header-actions{justify-self:end;min-width:0}
.header-brand{
  justify-self:center;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:1px;
  min-width:190px;
  color:var(--text);
  text-decoration:none;
  border-radius:14px;
  padding:3px 10px 5px;
  transition:background .2s ease,transform .2s ease;
}
.header-brand:hover{background:rgba(121,184,255,.08);transform:translateY(-1px)}
.header-brand img{display:block;width:auto;height:84px;max-width:230px;object-fit:contain}
.header-brand-site{font-size:.76rem;line-height:1.2;color:var(--accent2);font-weight:750;letter-spacing:.025em}
.header-brand-copyright{font-size:.66rem;line-height:1.2;color:var(--muted)}

.collapsible-card{padding:0;overflow:hidden}
.card-panel-details>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:20px clamp(16px,2.5vw,24px);
  user-select:none;
}
.card-panel-details>summary::-webkit-details-marker{display:none}
.card-panel-details>summary::after{
  content:'▾';
  flex:0 0 auto;
  color:var(--accent2);
  font-size:1.35rem;
  line-height:1;
  transition:transform .2s ease;
}
.card-panel-details:not([open])>summary::after{transform:rotate(-90deg)}
.card-panel-details>summary h2{margin:0;font-size:clamp(1.28rem,2vw,1.65rem)}
.card-panel-body{padding:0 clamp(16px,2.5vw,24px) 22px}
.weather-model-summary{text-align:right;max-width:360px}

.cloud-map-stage{background:#03080e;border:1px solid rgba(112,154,198,.18)}
.cloud-map-stage.cloud-only{background:#02070c}
.cloud-map-base{
  left:6.2857%;right:6.2857%;top:7.5%;bottom:10%;
  background:#061019;
  box-shadow:inset 0 0 0 1px rgba(126,169,204,.14);
}
.cloud-map-base .maplibregl-map{background:#061019}
.cloud-map-base .maplibregl-canvas{filter:brightness(.46) saturate(.45) contrast(1.28)}
.cloud-map-base::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:rgba(1,7,12,.25);
}
.cloud-map-base .maplibregl-control-container{position:relative;z-index:3}
.cloud-map-base .maplibregl-ctrl-attrib{
  color:#b9c8d6;
  background:rgba(2,8,14,.78);
  border-radius:5px 0 0 0;
}
.cloud-map-base .maplibregl-ctrl-attrib a{color:#c9e2f5}
.cloud-map-toolbar{align-items:end}
.cloud-value-toggle{align-self:end;min-height:42px}
.cloud-map-legend .cloud-value-key{color:#f2ad55;text-shadow:0 1px 3px #000,0 0 2px #000}

.framing-time-control{min-width:min(440px,100%)}
.framing-time-control small{display:block;margin-top:4px;color:var(--muted);font-size:.72rem}
.good-text{color:var(--good)}.bad-text{color:var(--bad)}
#resetObjectRotation,#centerAladinFrame{align-self:end}

.app-footer{
  width:min(1180px,calc(100% - 28px));
  margin:22px auto 92px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.5;
}
.app-footer button,.app-footer a{
  appearance:none;
  border:0;
  padding:2px 3px;
  background:transparent;
  color:var(--muted);
  text-decoration:none;
  min-height:auto;
}
.app-footer button:hover,.app-footer a:hover{color:var(--accent2);text-decoration:underline}
.legal-dialog{
  width:min(760px,calc(100% - 28px));
  max-height:min(86vh,880px);
  padding:0;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:18px;
  background:#0a1624;
  box-shadow:0 26px 80px rgba(0,0,0,.62);
}
.legal-dialog::backdrop{background:rgba(0,4,10,.78);backdrop-filter:blur(4px)}
.legal-dialog-shell{display:flex;flex-direction:column;max-height:inherit}
.legal-dialog-header,.legal-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.legal-dialog-header h2{margin:0}.legal-dialog-close{padding:7px 10px;min-height:36px}
.legal-dialog-content{padding:18px 20px;overflow:auto;line-height:1.65}
.legal-dialog-content p:first-child{margin-top:0}.legal-dialog-content a{color:var(--accent2)}
.legal-dialog-content code{overflow-wrap:anywhere;white-space:normal}
.legal-dialog-actions{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}

@media(max-width:980px){
  .app-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'title actions' 'brand brand'}
  .header-title-block{grid-area:title}.header-actions{grid-area:actions}.header-brand{grid-area:brand}
  .header-brand img{height:68px}
}
@media(max-width:620px){
  .app-header{position:relative;grid-template-columns:1fr;grid-template-areas:'title' 'brand' 'actions';justify-items:stretch;padding:14px 16px}
  .header-title-block{text-align:center}.header-actions{justify-self:stretch;justify-content:center}.header-actions select{max-width:100%}
  .header-brand{min-width:0}.header-brand img{height:56px;max-width:170px}
  .card-panel-details>summary{align-items:flex-start;padding:16px}.card-panel-body{padding:0 16px 18px}.weather-model-summary{text-align:left;max-width:none}
  .app-footer{font-size:13px;margin-bottom:88px}
  .legal-dialog{width:calc(100% - 16px);max-height:92vh}.legal-dialog-content{padding:15px}
}

/* Test 9: klar erkennbare Topografie, Niederschlagsarten und linke Aufklapp-Pfeile */
.card-panel-details>summary{
  justify-content:flex-start;
  align-items:center;
}
.card-panel-details>summary::after{content:none!important}
.card-panel-details>summary::before{
  content:'▾';
  flex:0 0 auto;
  color:var(--accent2);
  font-size:1.35rem;
  line-height:1;
  transition:transform .2s ease;
}
.card-panel-details:not([open])>summary::before{transform:rotate(-90deg)}
.card-panel-details>summary>div:first-of-type{min-width:0}
.card-panel-details>summary .weather-model-summary{margin-left:auto}

.cloud-map-stage{
  background:#07100f;
  box-shadow:inset 0 0 38px rgba(0,0,0,.28);
}
.cloud-map-stage.cloud-only{background:linear-gradient(180deg,#071522,#030a10)}
.cloud-map-base{
  background:#17231f;
  box-shadow:inset 0 0 0 1px rgba(135,175,196,.17),inset 0 0 45px rgba(0,0,0,.16);
}
.cloud-map-base .maplibregl-map{background:#17231f}
.cloud-map-base .maplibregl-canvas{
  filter:brightness(.82) saturate(.86) contrast(1.18);
}
.cloud-map-base::after{
  background:linear-gradient(180deg,rgba(3,9,10,.03),rgba(3,9,10,.09));
}
.cloud-map-base .maplibregl-ctrl-attrib{
  color:#d1dbe3;
  background:rgba(4,10,13,.74);
}

.cloud-map-legend{
  left:22px;
  right:auto;
  bottom:14px;
  max-width:calc(100% - 430px);
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 9px;
  border:1px solid rgba(140,200,235,.27);
  border-radius:12px;
  background:rgba(3,10,16,.84);
  backdrop-filter:blur(7px);
  color:#dcecff;
  pointer-events:auto;
}
.cloud-scale{display:flex;align-items:center;gap:8px;white-space:nowrap}
.cloud-scale>span:first-child{font-weight:700}
.cloud-scale-zero{color:#c0d0dc}
.cloud-scale .legend-gradient{width:150px;height:10px}
.cloud-phenomena{display:flex;align-items:center;gap:5px;padding-left:7px;border-left:1px solid rgba(140,200,235,.18)}
.cloud-phenomenon{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  border:1px solid rgba(111,201,255,.16);
  border-radius:8px;
  background:rgba(8,22,33,.64);
  color:#cfe7f7;
  font-size:.72rem;
  font-weight:700;
  cursor:pointer;
  user-select:none;
}
.cloud-phenomenon:hover{border-color:rgba(111,201,255,.5)}
.cloud-phenomenon input{position:absolute;opacity:0;pointer-events:none}
.cloud-phenomenon i{position:relative;display:inline-block;width:15px;height:15px;border-radius:3px;border:1px solid currentColor;overflow:hidden}
.cloud-phenomenon.precip{color:#68c8ff}
.cloud-phenomenon.precip i::after{content:'';position:absolute;left:6px;top:-2px;width:2px;height:20px;background:#68c8ff;transform:rotate(35deg);transform-origin:center}
.cloud-phenomenon.rain{color:#278dff}
.cloud-phenomenon.rain i{background:repeating-linear-gradient(120deg,transparent 0 3px,rgba(39,141,255,.9) 3px 5px)}
.cloud-phenomenon.snow{color:#b66cff}
.cloud-phenomenon.snow i::after{content:'✦';position:absolute;inset:-2px 0 0;display:grid;place-items:center;font-size:12px;line-height:1}
.cloud-phenomenon:not(:has(input:checked)){opacity:.42;filter:grayscale(.55)}
.cloud-value-legend{display:flex;align-items:center;gap:6px;padding-left:7px;border-left:1px solid rgba(140,200,235,.18);white-space:nowrap}
.cloud-value-legend b{color:#f2ad55;font-size:.82rem;text-shadow:0 1px 3px #000,0 0 2px #000}
.cloud-value-legend span{font-size:.67rem;line-height:1.1;color:#c8d7e3}
.cloud-map-movement{bottom:14px;background:rgba(3,10,16,.84);backdrop-filter:blur(7px)}

@media(max-width:1180px){
  .cloud-map-legend{max-width:calc(100% - 330px)}
  .cloud-scale .legend-gradient{width:105px}
  .cloud-phenomenon{padding:5px;font-size:0}
  .cloud-phenomenon i{margin:0}
  .cloud-value-legend span{display:none}
}
@media(max-width:900px){
  .card-panel-details>summary{align-items:flex-start}
  .card-panel-details>summary .weather-model-summary{margin-left:0}
  .cloud-map-legend{position:static;max-width:none;border-radius:0;border-width:1px 0 0;justify-content:center;flex-wrap:wrap}
  .cloud-map-movement{position:static;max-width:none;border-radius:0;border-width:1px 0 0;text-align:center}
  .cloud-phenomenon{font-size:.72rem}
  .cloud-value-legend span{display:inline}
}
@media(max-width:560px){
  .cloud-scale{width:100%;justify-content:center;flex-wrap:wrap}
  .cloud-scale .legend-gradient{width:min(180px,45vw)}
  .cloud-phenomena{width:100%;justify-content:center;border-left:0;padding-left:0}
  .cloud-value-legend{border-left:0;padding-left:0}
}

/* Version 1.0 – Testkorrektur 10: Sprachumschalter DE/EN */
.language-switch{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(121,184,255,.28);border-radius:999px;background:rgba(7,17,31,.62);padding:4px 7px;color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}
.language-switch button{min-width:34px;min-height:28px;padding:3px 7px;border:0;background:transparent;color:var(--muted);border-radius:999px;box-shadow:none}
.language-switch button:hover{transform:none;background:rgba(121,184,255,.12);color:var(--text)}
.language-switch button.active{background:var(--accent);color:#06101b}
html[data-language="en"] .language-switch button[data-language="en"],html[data-language="de"] .language-switch button[data-language="de"]{background:var(--accent);color:#06101b}
.help-language-note{margin-top:10px;color:var(--muted);font-size:.82rem}
/* Test 11: settings subtabs and extended filters */
.settings-tabs.subtabs{margin:0 0 16px 0;overflow-x:auto;display:flex;gap:8px;padding-bottom:4px}
.settings-tabs.subtabs button{white-space:nowrap}
.subtab-panel{display:none}
.subtab-panel.active{display:block}
.inline-select{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.settings-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;border:1px solid rgba(146,189,233,.22);border-radius:12px;padding:12px;margin:10px 0;background:rgba(5,18,32,.35)}
.object-detail-header .data-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
button.active,[data-toggle-target].active{border-color:#ffd66b;color:#ffd66b}
.moon-note{color:#ffd66b}
.target-list{display:grid;gap:14px;margin-top:16px}.target-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,160px) minmax(140px,180px);gap:12px;align-items:start;border:1px solid rgba(144,190,230,.22);border-radius:14px;background:rgba(7,21,36,.55);padding:14px}.target-row .target-main{grid-column:1/-1;display:grid;gap:4px}.target-row textarea{min-height:58px;resize:vertical}.target-row .danger{align-self:end}@media(max-width:900px){.target-row{grid-template-columns:1fr}.target-row .target-main{grid-column:auto}}

/* Test 12: stabilere Aufnahmeziele, kompaktere Filter und statische Objektlisten-Konfiguration */
.filter-main-grid{grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(120px,.75fr));align-items:end}
.filter-search-field input{max-width:none}
.numeric-compact input[type=number], .filters label.numeric-compact input[type=number], .settings-row input[type=number]{width:14ch;max-width:100%}
.size-filter-row{display:grid;grid-template-columns:minmax(280px,2fr) repeat(4,minmax(96px,.55fr));gap:12px;align-items:end;margin-top:12px}
.size-profile-field select{max-width:none}.surface-filter-grid{grid-template-columns:minmax(180px,360px)}
.filter-action-row{display:flex;justify-content:flex-end;margin-top:14px}.filter-action-row button{min-width:190px}
.target-inline-button{margin-top:8px;padding:6px 9px;font-size:.78rem;min-height:32px}.target-inline-button.active{background:#322910}
.display-config-selector.static{margin-top:16px;border-top:1px solid rgba(121,184,255,.18);padding-top:14px}.display-config-selector.static .section-title-row{align-items:end}.display-config-selector.static .section-title-row label{min-width:min(360px,100%)}
.target-search-dialog{width:min(760px,calc(100% - 28px));max-height:min(86vh,880px);padding:0;color:var(--text);border:1px solid var(--line);border-radius:18px;background:#0a1624;box-shadow:0 26px 80px rgba(0,0,0,.62)}
.target-search-dialog::backdrop{background:rgba(0,4,10,.78);backdrop-filter:blur(4px)}.target-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.target-search-results{display:grid;gap:8px;margin-top:12px}.target-search-result{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;width:100%;background:#0a1b2d}.target-search-result span{font-size:.78rem;color:var(--muted)}
@media(max-width:980px){.filter-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.size-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.size-profile-field{grid-column:1/-1}}
@media(max-width:720px){.filter-main-grid,.size-filter-row,.surface-filter-grid{grid-template-columns:1fr}.numeric-compact input[type=number],.filters label.numeric-compact input[type=number]{width:100%;max-width:none}.filter-action-row{justify-content:stretch}.filter-action-row button{width:100%}.target-search-row{grid-template-columns:1fr}}

/* Test 13: übersichtlicheres Filterlayout und Aufnahmezielbearbeitung */
label>input,label>select,label>textarea{display:block}
.filter-main-grid{display:grid;grid-template-columns:minmax(320px,2.2fr) repeat(3,max-content);gap:16px 20px;align-items:end}
.filter-main-grid label,.size-filter-row label,.surface-filter-grid label{align-self:end}
.filter-search-field{min-width:min(100%,420px)}
.numeric-compact{width:max-content;max-width:100%}.numeric-compact input[type=number]{width:100%;min-width:8ch;max-width:18ch}.numeric-compact .small{display:block;margin-top:5px;max-width:18ch}
.filter-main-grid label:not(.filter-search-field):not(.numeric-compact){min-width:min(100%,260px)}
.size-filter-row{display:grid;grid-template-columns:minmax(320px,1.8fr) repeat(4,max-content);gap:12px 16px;align-items:end;margin-top:14px}.size-filter-row .size-profile-field{min-width:min(100%,360px)}
.surface-filter-grid{display:grid;grid-template-columns:max-content;gap:12px;margin-top:12px}.surface-filter-grid .numeric-compact .small{max-width:260px}.filter-action-row{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.filter-action-row button{min-width:190px}
.target-filter-panel{margin-top:14px;border:1px solid rgba(121,184,255,.18);border-radius:14px;padding:10px 12px;background:rgba(5,15,28,.36)}.target-filter-panel>summary{cursor:pointer;font-weight:800;color:#dcecff}.target-filter-grid{display:grid;grid-template-columns:minmax(320px,2fr) repeat(5,minmax(120px,max-content));gap:12px 14px;align-items:end;margin-top:12px}.target-filter-search{min-width:min(100%,420px)}.target-filter-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.target-count{margin-top:10px}
.target-list{display:grid;gap:14px;margin-top:16px}.target-row{display:grid;grid-template-columns:1fr;gap:12px;align-items:start;border:1px solid rgba(144,190,230,.22);border-radius:14px;background:rgba(7,21,36,.55);padding:14px}.target-row.is-dirty{border-color:rgba(240,199,94,.68);box-shadow:0 0 0 2px rgba(240,199,94,.08)}.target-row .target-main{display:grid;gap:4px}.target-edit-grid{display:grid;grid-template-columns:max-content max-content minmax(320px,.75fr) minmax(420px,1.5fr);gap:12px;align-items:start}.target-priority-field{width:12ch}.target-status-field{width:20ch}.target-reference-field{min-width:220px}.target-note-field{min-width:320px}.target-note-field textarea{min-height:150px}.target-reference-field textarea{min-height:92px}.reference-link-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.small-button{font-size:.82rem;padding:7px 10px}.target-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center}.target-row-status{min-height:1.1em;color:var(--warn)}
@media(max-width:1150px){.filter-main-grid{grid-template-columns:minmax(260px,1fr) repeat(2,max-content)}.size-filter-row{grid-template-columns:minmax(260px,1fr) repeat(2,max-content)}.size-profile-field{grid-column:1/-1}.target-filter-grid{grid-template-columns:minmax(260px,1fr) repeat(2,minmax(120px,max-content))}.target-edit-grid{grid-template-columns:max-content max-content minmax(300px,1fr)}.target-note-field{grid-column:1/-1}.target-reference-field{grid-column:1/-1}}
@media(max-width:720px){.filter-main-grid,.size-filter-row,.surface-filter-grid,.target-filter-grid,.target-edit-grid{grid-template-columns:1fr}.filter-search-field,.target-filter-search,.size-filter-row .size-profile-field,.target-priority-field,.target-status-field,.target-reference-field,.target-note-field{width:100%;min-width:0}.numeric-compact{width:100%}.numeric-compact input[type=number]{width:100%;max-width:none}.filter-action-row,.target-filter-actions,.target-actions{justify-content:stretch;flex-direction:column}.filter-action-row button,.target-filter-actions button,.target-actions button{width:100%}}

/* Test 14: Filterfelder konsequent ausrichten, Helligkeitsfilter zusammenführen */
.filter-main-grid{
  display:grid;
  grid-template-columns:minmax(360px,2.2fr) max-content max-content max-content max-content;
  grid-template-areas:
    "search score mag surface altitude"
    "visible basis basis basis moon";
  gap:18px 24px;
  align-items:start;
}
.filter-main-grid label,.size-filter-row label{align-self:start}
.filter-area-search{grid-area:search;min-width:min(100%,520px)}
.filter-area-score{grid-area:score}
.filter-area-mag{grid-area:mag}
.filter-area-surface{grid-area:surface}
.filter-area-alt{grid-area:altitude}
.filter-area-visible{grid-area:visible}
.filter-area-basis{grid-area:basis;min-width:min(100%,420px)}
.filter-area-moon{grid-area:moon}
.filter-main-grid label>input,.filter-main-grid label>select,.size-filter-row label>input,.size-filter-row label>select{margin-top:7px}
.numeric-compact input[type=number],.filters label.numeric-compact input[type=number],.settings-row input[type=number]{width:auto;min-width:7ch;max-width:12ch}
.filter-area-surface .small{max-width:190px}
.size-filter-row{align-items:start;margin-top:18px}
@media(max-width:1280px){
  .filter-main-grid{
    grid-template-columns:minmax(300px,1.6fr) repeat(3,max-content);
    grid-template-areas:
      "search score mag altitude"
      "visible basis surface moon";
  }
  .filter-area-basis{min-width:min(100%,360px)}
}
@media(max-width:920px){
  .filter-main-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "search search"
      "score mag"
      "surface altitude"
      "visible moon"
      "basis basis";
  }
  .filter-area-search,.filter-area-basis{min-width:0}
}
@media(max-width:720px){
  .filter-main-grid{
    grid-template-columns:1fr;
    grid-template-areas:"search" "score" "mag" "surface" "altitude" "visible" "basis" "moon";
  }
}

/* Test 15: Filter-Tabs, Setup-Kombinationen und Aladin-Erweiterungen */
.filter-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:10px}
.filter-tabs button{border:1px solid var(--line);background:#0b1a2a;color:var(--muted);border-radius:12px;padding:10px 16px;font-weight:800;cursor:pointer}
.filter-tabs button.active{background:#173756;color:#f0c75e;border-color:#4387c9;box-shadow:0 0 0 1px rgba(67,135,201,.25) inset}
.filter-tab-panel{display:none;margin-top:12px}
.filter-tab-panel.active{display:block}
.filter-main-grid{align-items:start;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(110px,.42fr));gap:18px 22px}
.filter-main-grid label{align-self:start}.filter-main-grid input,.filter-main-grid select{margin-top:6px}.numeric-compact input{max-width:140px}.filter-area-search input{max-width:none}.filter-area-basis{grid-column:span 2}.filter-area-basis select{max-width:520px}.size-filter-row{display:grid;grid-template-columns:minmax(280px,2fr) repeat(4,minmax(110px,.36fr));gap:16px 20px;align-items:start;margin-top:16px}.size-profile-field select{max-width:none}.filter-action-row{display:flex;justify-content:flex-end;margin-top:18px;padding-top:12px;border-top:1px solid rgba(80,116,150,.25)}
.setup-row{grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) minmax(160px,1fr) minmax(160px,1fr) auto auto}
.moon-event-value{font-size:clamp(1rem,1.7vw,1.7rem)}
#openAladinExternal{min-width:220px}.framing-controls label:has(#aladinSurveySelect){min-width:230px}
@media(max-width:900px){.filter-main-grid,.size-filter-row{grid-template-columns:1fr 1fr}.filter-area-search,.filter-area-basis,.size-profile-field{grid-column:1/-1}.numeric-compact input{max-width:100%}.setup-row{grid-template-columns:1fr}}
.comparison-frame-picker{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#081726}.comparison-frame-picker>span{font-weight:800;color:#a9c7e9;margin-right:6px}.comparison-frame-picker .chip{margin:0}
.aladin-survey-settings{overflow:hidden}
.aladin-survey-list{display:grid;gap:8px;margin-top:12px}
.survey-config-row{display:grid;grid-template-columns:auto minmax(140px,1.1fr) minmax(220px,1.5fr) minmax(130px,.9fr) auto;gap:8px;align-items:end;padding:8px;border:1px solid var(--line);border-radius:12px;background:rgba(5,14,24,.35)}
.survey-config-row label{margin:0}
.survey-config-row input[readonly]{opacity:.78}
@media(max-width:980px){.survey-config-row{grid-template-columns:1fr 1fr}.survey-config-row .chip{align-self:center}}
@media(max-width:620px){.survey-config-row{grid-template-columns:1fr}}

/* Test 18: Aladin-Interaktion, Standortdialog, Wikipedia und Umrisszeichnung */
.external-aladin-note{align-self:center;max-width:260px;line-height:1.3}.compact-framing-controls{align-items:end}.compact-framing-controls .outline-control{order:30}.wiki-inline-button{margin-left:8px;min-width:2.4rem;padding:6px 9px;border-radius:999px;font-weight:900}.location-add-dialog{margin:14px 0;padding:14px;border:1px solid rgba(240,199,94,.45);border-radius:14px;background:rgba(35,28,6,.45)}.location-add-dialog h3{margin:0}.location-add-dialog .section-title-row{margin-bottom:10px}.object-row .wiki-inline-button{font-family:Georgia,serif;background:#0e2438;color:#e9f6ff;border:1px solid #466b91}.object-row .wiki-inline-button:hover{background:#173756}.data-actions [data-wikipedia-object]{background:#153653;border-color:#4d82bb}.framing-controls #centerAladinFrame{min-width:210px}
@media(max-width:800px){.external-aladin-note{max-width:none;grid-column:1/-1}.framing-controls #centerAladinFrame,#openAladinExternal{min-width:0;width:100%}}

/* Test 19: Basisfilter-Suche ans Ende, Standortdialog Variante A, Surveyverwaltung einklappbar */
.filter-search-bottom-row{margin-top:18px;padding-top:14px;border-top:1px solid rgba(80,116,150,.25)}
.filter-search-bottom-row .filter-search-field{display:block;width:min(100%,780px);min-width:0}
.filter-main-grid{grid-template-columns:repeat(6,minmax(105px,max-content));grid-template-areas:"score mag surface altitude visible moon" "basis basis basis basis basis basis";align-items:start}
.filter-area-search{grid-area:auto;min-width:0}
.filter-area-basis{grid-column:span 3;min-width:min(100%,460px)}
.location-add-search-row{grid-template-columns:minmax(240px,1.5fr) minmax(180px,.9fr) auto auto;gap:14px 16px;align-items:end}
.location-add-dialog .search-results{margin-top:10px}
.aladin-survey-settings summary{cursor:pointer;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.aladin-survey-settings summary .small{font-weight:400}
.object-row .wiki-inline-button{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;min-width:2.1rem;height:2.1rem;padding:0;border-radius:50%;font-family:Georgia,serif;font-size:1rem;line-height:1;background:#0e2438;color:#e9f6ff;border:1px solid #466b91;vertical-align:middle}
.object-row .wiki-inline-button:hover{background:#173756;color:#fff;border-color:#7caee5}
@media(max-width:1100px){.filter-main-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"score mag surface" "altitude visible moon" "basis basis basis"}.location-add-search-row{grid-template-columns:1fr 1fr}.location-add-search-row .inline{justify-content:flex-start}}
@media(max-width:720px){.filter-main-grid{grid-template-columns:1fr;grid-template-areas:"score" "mag" "surface" "altitude" "visible" "moon" "basis"}.filter-search-bottom-row .filter-search-field{width:100%}.location-add-search-row{grid-template-columns:1fr}}

/* Test 20: klarere Disclosure-Pfeile, ausgerichtete Basisfilter und Wikipedia-Spalte */
.disclosure-arrow::before{content:'▼';display:inline-block;margin-right:8px;color:var(--accent);font-weight:900;transition:transform .18s ease}
details:not([open]) > summary .disclosure-arrow::before{transform:rotate(-90deg)}
.aladin-survey-settings>summary,.display-column-config>summary{cursor:pointer;display:flex;align-items:center;gap:8px;list-style:none}
.aladin-survey-settings>summary::-webkit-details-marker,.display-column-config>summary::-webkit-details-marker{display:none}
.filter-main-grid label{display:grid;grid-template-rows:2.5em 48px minmax(1.3em,auto);align-content:start;gap:6px;min-height:108px}
.filter-main-grid .field-label{display:block;line-height:1.18;min-height:2.35em;color:var(--muted)}
.filter-main-grid label>input,.filter-main-grid label>select{margin-top:0!important;height:44px;align-self:start}
.filter-main-grid label>.small{line-height:1.25;min-height:1.25em}
.wiki-cell{text-align:center;width:56px}.object-table th:nth-child(3),.object-table td.wiki-cell{white-space:nowrap}
.wiki-inline-button{font-family:Georgia,serif;font-weight:900}
@media(max-width:900px){.filter-main-grid label{min-height:auto;grid-template-rows:auto 46px auto}.filter-main-grid .field-label{min-height:auto}}

/* Test 22: Direktsuche, aktive Suchfelder und kompaktere Zahlenfelder */
.numeric-compact input[type=number],
.filters label.numeric-compact input[type=number],
.settings-row input[type=number]{width:8ch;min-width:7ch;max-width:8ch;text-align:right}
.filter-main-grid{grid-template-columns:repeat(6,minmax(88px,max-content));gap:14px 16px;align-items:start}
.filter-main-grid label{min-width:0}
.filter-main-grid label>input,.filter-main-grid label>select{height:42px}
.filter-main-grid .field-label{min-height:2.35em}
.filter-main-grid label>.small{max-width:14ch}
.filter-area-surface .small{max-width:17ch}
.filter-area-basis{grid-column:1/-1;min-width:min(100%,520px)}
.size-filter-row{grid-template-columns:minmax(260px,1.45fr) repeat(4,minmax(82px,max-content));gap:12px 14px;align-items:start;margin-top:16px}
.size-filter-row label{min-width:0}.size-filter-row .size-profile-field{min-width:min(100%,340px)}
.size-filter-row .numeric-compact{width:min-content}.size-filter-row .numeric-compact input[type=number]{width:7.5ch;min-width:7ch;max-width:7.5ch;text-align:right}
.filter-search-bottom-row.dual-search-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.dual-search-row .filter-search-field{display:grid;width:100%;min-width:0;border:1px solid rgba(121,184,255,.18);border-radius:12px;padding:10px 12px;background:rgba(5,15,28,.28)}
.dual-search-row .filter-search-field input{width:100%;max-width:none;margin-top:7px}
.dual-search-row .filter-search-field.search-active{border-color:rgba(240,199,94,.82);background:rgba(55,41,9,.55);box-shadow:0 0 0 2px rgba(240,199,94,.12)}
.direct-search-notice{margin-top:10px}
@media(max-width:1100px){.filter-main-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.size-filter-row{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(82px,max-content))}.size-profile-field{grid-column:1/-1}.filter-search-bottom-row.dual-search-row{grid-template-columns:1fr}}
@media(max-width:720px){.filter-main-grid,.size-filter-row{grid-template-columns:1fr}.numeric-compact input[type=number],.filters label.numeric-compact input[type=number],.settings-row input[type=number],.size-filter-row .numeric-compact input[type=number]{width:100%;min-width:0;max-width:none}.filter-area-basis,.size-profile-field{grid-column:auto}.dual-search-row .filter-search-field{padding:9px 10px}}

/* Test 22: Mondsymbol/Filterhinweis und Firefox-Zahlenfeldpfeile */
input[type=number]{appearance:textfield;-moz-appearance:textfield}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.filter-area-basis{min-width:min(100%,620px)}
.filter-area-basis .basis-duration-hint{white-space:nowrap;max-width:none}
@media(max-width:720px){.filter-area-basis .basis-duration-hint{white-space:normal}}

/* Version 1.0.0/23: Basisfilter-Reset und stabilere Aktionszeile */
.filter-action-row{align-items:center;gap:10px;flex-wrap:wrap}
.filter-action-row .secondary{background:#102235;border-color:#45688a;color:#dcecff}
.filter-action-row .secondary:hover{background:#17304a}
.filter-reset-feedback{margin-top:10px}
@media(max-width:720px){.filter-action-row{justify-content:stretch}.filter-action-row button{width:100%}}

/* Test 1.0.1-1: Hauptnavigation in der festen Titelzeile */
body{padding-bottom:0}
.header-actions{gap:12px}
.header-main-nav{display:inline-grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;border:1px solid rgba(121,184,255,.24);border-radius:15px;background:rgba(7,17,31,.62);box-shadow:0 8px 28px rgba(0,0,0,.28)}
.header-main-nav button{border:0;background:transparent;min-height:38px;padding:8px 14px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;font-weight:800;color:var(--muted)}
.header-main-nav button.active{background:#183454;color:#d9edff;box-shadow:inset 0 0 0 1px rgba(121,184,255,.12)}
.header-main-nav button:hover{color:var(--text);background:rgba(121,184,255,.10)}
.bottom-nav{display:none!important}.app-footer{margin-bottom:0}
@media(max-width:980px){.header-main-nav{order:3;width:100%;max-width:360px}.header-actions{align-items:center}.header-actions select{flex:1;min-width:140px}}
@media(max-width:620px){.header-actions{gap:8px}.header-main-nav{width:100%;max-width:none;grid-column:1/-1}.header-main-nav button{min-height:42px;padding:9px 10px}.language-switch{order:1}.header-main-nav{order:2}.header-actions select{order:3}.header-actions #installButton{order:4;width:100%}}

/* Test A: calendar date, horizon tooltip and weather-unavailable note */
.calendar-date-field{display:flex;flex-direction:column;gap:6px;min-width:170px}
.calendar-date-field input{min-width:155px}
.weather-unavailable-notice{border-color:rgba(255,190,90,.35);background:rgba(255,190,90,.08)}
.horizon-editor-wrap{position:relative}
.horizon-editor-tooltip{position:absolute;z-index:20;display:none;pointer-events:none;padding:5px 8px;border-radius:8px;background:rgba(4,10,18,.92);border:1px solid rgba(255,255,255,.22);color:#f6f4e8;font-size:12px;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.35)}
@media (max-width:700px){.calendar-date-field{min-width:100%}.horizon-editor-tooltip{font-size:13px}}
.inline-help-link{display:inline;border:0;background:transparent;color:#9dccff;text-decoration:underline;font-weight:800;padding:0;cursor:pointer;box-shadow:none}.inline-help-link:hover{color:#fff}

.horizon-input-layer{position:absolute;z-index:15;background:transparent;outline:0;touch-action:none;cursor:crosshair}
.horizon-input-layer:focus{box-shadow:inset 0 0 0 2px rgba(121,184,255,.35);border-radius:12px}

/* Test 7: Tablet layout, extended equipment and Aladin controls */
.save-bar-top{position:sticky;top:calc(72px + env(safe-area-inset-top));z-index:12;margin:-4px 0 16px;background:rgba(7,17,31,.95);border:1px solid rgba(121,184,255,.28);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.extended-equipment-row{grid-template-columns:repeat(4,minmax(140px,1fr)) auto auto;align-items:end}.extended-equipment-row .calculated-equipment-value{align-self:center;min-width:160px}.optical-row{grid-template-columns:minmax(180px,1.5fr) minmax(150px,1fr) minmax(120px,.7fr) auto}.equipment-settings-card .notice{align-self:center}.framing-controls button.active{border-color:var(--warn);background:#4b3a10;color:#fff2bd}.framing-info.hidden{display:none!important}.framing-view.info-pos-left .framing-info{left:12px;right:auto}.framing-view.info-pos-top .framing-info{left:12px;right:12px;top:52px;transform:none;max-width:none;display:flex;gap:10px;flex-wrap:wrap;z-index:5}.framing-view.info-pos-bottom .framing-info{left:12px;right:12px;top:auto;bottom:18px;transform:none;max-width:none;display:flex;gap:10px;flex-wrap:wrap;z-index:5}.framing-view.info-pos-top .framing-info.hidden,.framing-view.info-pos-bottom .framing-info.hidden{display:none!important}.framing-view.info-pos-top .framing-info>div,.framing-view.info-pos-bottom .framing-info>div{flex:1;min-width:180px}.calculated-equipment-value{color:var(--accent2)}
@media (min-width:721px) and (max-width:1180px){
  body{padding-bottom:24px}.app-header{grid-template-columns:minmax(180px,1fr) minmax(150px,auto) minmax(260px,1fr);gap:12px;padding:14px 18px}.app-header h1{font-size:1.55rem}.header-brand img{height:62px;max-width:190px}.header-actions{gap:8px}.header-actions select{min-width:132px}.header-main-nav{order:5;width:100%;justify-content:flex-end}.app-shell{padding:16px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.framing-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.framing-controls label,.framing-controls button,.framing-controls .comparison-frame-picker{min-width:0}.framing-view iframe{height:470px}.framing-info{max-width:min(330px,45%)}.extended-equipment-row{grid-template-columns:repeat(2,minmax(0,1fr))}.optical-row{grid-template-columns:repeat(2,minmax(0,1fr))}.save-bar-top{top:92px}.planning-profile-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.object-table{min-width:880px}.weather-table{min-width:820px}
}
@media(max-width:720px){.extended-equipment-row,.optical-row{grid-template-columns:1fr}.framing-view.info-pos-top .framing-info,.framing-view.info-pos-bottom .framing-info{display:block}.save-bar-top{top:74px}}

/* Test 1.1.0-test.8 weather source tabs */
.weather-source-tabs-card .weather-source-panel{display:none;margin-top:12px}
.weather-source-tabs-card .weather-source-panel.active{display:block}
.weather-inner-details{border:1px solid var(--border);border-radius:18px;padding:12px;background:rgba(7,17,31,.45)}
.flight-weather-grid .metric{min-height:150px}.flight-decoded{margin-top:8px;line-height:1.45}.raw-block{white-space:pre-wrap;overflow:auto;background:rgba(0,0,0,.28);border:1px solid var(--border);border-radius:12px;padding:10px;margin-top:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}
.button.small{display:inline-block;margin-top:8px;padding:6px 10px;border-radius:10px;text-decoration:none}
.table-wrap{overflow:auto;margin-top:12px}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{border-bottom:1px solid rgba(150,190,230,.18);padding:8px;text-align:left;white-space:nowrap}
@media (max-width: 1100px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-weather-grid{grid-template-columns:1fr}.weather-source-tabs{flex-wrap:wrap}.framing-header-grid{grid-template-columns:1fr 1fr}.extended-equipment-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 780px){.grid.two,.grid.three,.grid.four,.framing-header-grid,.extended-equipment-row{grid-template-columns:1fr}.settings-tabs{overflow-x:auto;flex-wrap:nowrap}.app-header-inner{flex-wrap:wrap}.profile-bar{flex-wrap:wrap}.framing-controls{flex-wrap:wrap}}

.framing-view .framing-info.hidden{display:none!important}

/* Test 15: direkter Hilfe-Button in der Kopfzeile */
.header-help-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;min-width:42px;border:1px solid rgba(121,184,255,.28);border-radius:14px;background:rgba(7,17,31,.62);color:#dcecff;text-decoration:none;font-size:1.35rem;font-weight:900;line-height:1;box-shadow:0 8px 28px rgba(0,0,0,.24)}
.header-help-button:hover{border-color:var(--accent);background:rgba(121,184,255,.12);transform:translateY(-1px)}
.flight-taf-summary{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(7,19,33,.62);line-height:1.45}
@media(max-width:620px){.header-help-button{order:3;width:48px;height:42px}.header-actions select{order:4}.header-actions #installButton{order:5}}

/* Test 17: integrierte Flugwetter-Stationskarte und MOSMIX-Tabelle */
.flight-station-map-wrap{margin-top:12px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,rgba(12,31,51,.7),rgba(6,16,28,.82));padding:14px}
.flight-station-map-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.flight-station-map{position:relative;min-height:360px;border:1px solid rgba(121,184,255,.22);border-radius:16px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(42,84,112,.35),rgba(10,24,40,.88)),linear-gradient(0deg,rgba(121,184,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(121,184,255,.09) 1px,transparent 1px);background-size:auto,10% 10%,10% 10%;box-shadow:inset 0 0 40px rgba(0,0,0,.28)}
.flight-germany-outline{position:absolute;left:8%;top:4%;width:84%;height:92%;color:#8fc5ff;opacity:.8;filter:drop-shadow(0 0 12px rgba(121,184,255,.18))}
.flight-map-label{position:absolute;color:#9fc8ee;font-size:.78rem;font-weight:800;opacity:.75;pointer-events:none}.flight-map-label-north{left:50%;top:7px}.flight-map-label-south{left:50%;bottom:7px}.flight-map-label-west{left:10px;top:50%}.flight-map-label-east{right:10px;top:50%}
.flight-station-marker,.flight-site-marker{position:absolute;transform:translate(-50%,-50%);z-index:3;display:flex;align-items:center;justify-content:center;min-width:48px;height:30px;padding:0 8px;border-radius:999px;border:2px solid rgba(255,255,255,.78);font-weight:900;font-size:.84rem;color:#06121f;box-shadow:0 6px 18px rgba(0,0,0,.35);cursor:help}
.flight-station-marker span{white-space:nowrap}.flight-site-marker{min-width:34px;width:34px;padding:0;border-color:#fff;background:#f1c65d;color:#2b1e00;z-index:4}
.flight-category-vfr{background:#5be37b}.flight-category-mvfr{background:#f1d55a}.flight-category-ifr,.flight-category-lifr{background:#ff7b6f}.flight-category-unknown{background:#94a3b8;color:#081321}
.flight-station-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.92rem}.flight-station-legend span{display:inline-flex;align-items:center;gap:6px}.flight-station-legend i{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.72)}.flight-station-legend .flight-site-dot{background:#f1c65d}
.mosmix-table table{min-width:900px}.mosmix-table td,.mosmix-table th{font-size:.94rem}.flight-weather-actions #toggleFlightStationMap{max-width:320px}
@media(max-width:720px){.flight-station-map{min-height:280px}.flight-station-marker{min-width:42px;height:28px;font-size:.78rem}.flight-station-map-header{display:block}.flight-station-map-header .small{display:block;margin-top:5px}}

/* 1.1.0-test.18/19: zusätzliche externe Wetterquellen */
.external-weather-card .external-weather-embed{min-height:640px}
.external-weather-frame{height:720px}
.clearoutside-card .external-weather-embed{min-height:auto;padding:0;background:#07111c}
.clearoutside-image-link{display:flex;align-items:flex-start;justify-content:center;width:100%;overflow:auto;background:#07111c;text-align:center}
.clearoutside-forecast-image{display:block;width:100%;max-width:none;height:auto;margin:0 auto;background:#fff;border:0}
.clearoutside-language-note{padding:8px 10px;text-align:left;background:rgba(7,17,31,.72);border-top:1px solid rgba(121,184,255,.18)}
.external-weather-actions{align-items:center}
@media(max-width:720px){.external-weather-card .external-weather-embed{min-height:420px}.external-weather-frame{height:560px}}

/* Test 25: Aladin control tabs */
.aladin-control-card{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:rgba(7,17,29,.48);padding:14px}
.aladin-control-tabs{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid rgba(121,184,255,.18);padding-bottom:10px}
.aladin-tab-button-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.aladin-control-tabs button{border:1px solid var(--line);background:#0b1a2a;color:var(--muted);border-radius:12px;padding:10px 16px;font-weight:850;min-width:120px}
.aladin-control-tabs button.active{background:#173756;color:#f0c75e;border-color:#4387c9;box-shadow:0 0 0 1px rgba(67,135,201,.25) inset}
.aladin-control-tabs .aladin-external-action{margin-left:auto;min-width:250px;background:#132f4d;color:#dcecff;border-color:#365e85;box-shadow:none}
.aladin-control-tabs .aladin-external-action:hover{border-color:#6fc9ff;color:#fff}
.aladin-control-tabs .aladin-external-action.active{background:#132f4d;color:#dcecff;border-color:#365e85;box-shadow:none}
.aladin-tab-panel{display:none;margin-top:0}
.aladin-tab-panel.active{display:grid}
.aladin-tab-panel .framing-time-control{grid-column:span 2}
.aladin-tab-panel .external-aladin-note{align-self:center}
@media(max-width:780px){.aladin-control-tabs{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start}.aladin-tab-button-group{flex-wrap:nowrap}.aladin-control-tabs button{min-width:max-content}.aladin-control-tabs .aladin-external-action{margin-left:16px}.aladin-tab-panel .framing-time-control{grid-column:1/-1}}

/* 1.3.0-test.1: Nachtbewertung, Polarlicht und Mini-Horizont */
.planning-night-header{align-items:flex-start}.planning-night-actions{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;justify-content:flex-end}.aurora-box{min-width:260px;max-width:420px;border:1px solid rgba(121,184,255,.22);border-radius:14px;background:rgba(7,17,31,.72);padding:10px 12px;box-shadow:0 10px 24px rgba(0,0,0,.18)}.aurora-row{display:flex;gap:8px;align-items:center}.aurora-row button{white-space:nowrap}.aurora-main-button{font-weight:900}.aurora-yellow,.date-quality-warn{border-color:#d7ad47!important;box-shadow:0 0 0 1px rgba(215,173,71,.38) inset}.aurora-orange{border-color:#ffad5c!important;box-shadow:0 0 0 1px rgba(255,173,92,.5) inset}.aurora-red,.date-quality-bad{border-color:#f17070!important;box-shadow:0 0 0 1px rgba(241,112,112,.5) inset}.date-quality-good{border-color:#66d69a!important;box-shadow:0 0 0 1px rgba(102,214,154,.38) inset}.date-quality-neutral{opacity:.94}.enhanced-date-buttons button{min-width:118px;line-height:1.05;padding-top:9px;padding-bottom:9px}.enhanced-date-buttons button .date-line,.moon-date-info,.moon-window-info,.quality-date-info{display:block;margin-top:1px;line-height:1.05}.moon-event-value{font-size:clamp(1.05rem,1.6vw,1.45rem);line-height:1.25}.mini-chart-caption{font-size:10px;text-align:center;margin-top:2px}.weather-card summary #openMultiNightWeather{margin-left:auto;align-self:center}.multi-night-section h2{margin-top:0}@media(max-width:820px){.planning-night-actions{justify-content:flex-start}.aurora-box{min-width:100%;}.weather-card summary #openMultiNightWeather{margin-left:0;margin-top:8px}}


/* 1.3.0-test.2: kompaktere Tagesbuttons, deutlichere Warnrahmen */
.enhanced-date-buttons{gap:10px;max-width:100%;overflow-x:auto;scrollbar-width:thin}
.enhanced-date-buttons button{min-width:104px;padding:11px 13px;border-width:3px!important}
.enhanced-date-buttons .small,.moon-date-info,.quality-date-info{line-height:1.14}
.aurora-box{border-width:3px!important;background:rgba(7,17,31,.78)}
.aurora-yellow,.date-quality-warn{border-width:3px!important;background:linear-gradient(135deg,rgba(215,173,71,.13),rgba(19,43,69,.78))!important;box-shadow:0 0 0 2px rgba(215,173,71,.24) inset,0 10px 24px rgba(0,0,0,.18)!important}
.aurora-orange{border-width:3px!important;background:linear-gradient(135deg,rgba(255,173,92,.16),rgba(19,43,69,.78))!important;box-shadow:0 0 0 2px rgba(255,173,92,.28) inset,0 10px 24px rgba(0,0,0,.2)!important}
.aurora-red,.date-quality-bad{border-width:3px!important;background:linear-gradient(135deg,rgba(241,112,112,.18),rgba(19,43,69,.78))!important;box-shadow:0 0 0 2px rgba(241,112,112,.3) inset,0 10px 24px rgba(0,0,0,.2)!important}
.date-quality-good{border-width:3px!important;background:linear-gradient(135deg,rgba(102,214,154,.13),rgba(19,43,69,.78))!important;box-shadow:0 0 0 2px rgba(102,214,154,.24) inset,0 10px 24px rgba(0,0,0,.18)!important}
.date-quality-neutral{border-width:2px!important}
.aladin-settings{margin-top:16px}.aladin-settings details{border:1px solid rgba(121,184,255,.22);border-radius:14px;padding:10px 12px;background:rgba(7,17,31,.45);margin-top:10px}.aladin-settings summary{cursor:pointer;font-weight:900;color:var(--text)}
@media(min-width:1100px){.enhanced-date-buttons{overflow-x:visible}.enhanced-date-buttons button{min-width:100px}}

/* 1.3.0-test.6: stabile horizontale Objektlisten-Details und Aladin-Einstellungsdetails */
.object-table-wrap{overflow-x:auto;overflow-y:visible}
.object-detail-row>td{min-width:0}
.object-detail-card{min-width:min(1180px,100%)}
.aladin-settings details>summary{list-style:none}
.aladin-settings details>summary::-webkit-details-marker{display:none}
.horizon-delta-info{display:inline-block;margin-top:2px;color:#7ee2a8}

/* 1.3.0-test.6: Objektliste/Details, Spaltenköpfe, Polarlichtfarben und Farbpicker */
.object-list-shell{width:100%}
.object-list-shell>.object-table-wrap{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:13px;margin-bottom:12px}
.object-list-shell>.object-table-wrap .object-table{width:max-content;min-width:100%}
.object-detail-outside{margin-top:0;border:1px solid var(--line);border-radius:0 0 13px 13px;background:#07111d;overflow:hidden}
.object-detail-outside .object-detail-card{border-top:2px solid var(--accent);min-width:0;max-width:100%;box-sizing:border-box}
.object-detail-row{display:none!important}
.object-table th .th-wrap{display:inline-block;white-space:normal;line-height:1.18;max-width:132px}
.object-table th.col-visibleHorizon .th-wrap{max-width:118px}
.object-table th.col-visibleHorizonAndMin .th-wrap{max-width:150px}
.object-table th{white-space:normal}.object-table td{white-space:normal}.object-table td:nth-child(n+3){white-space:nowrap}
.color-picker-row{display:flex;align-items:center;gap:10px;margin-top:7px}.color-picker-field input[type=color],.color-swatch-input{width:112px;min-height:44px;padding:3px;border-radius:10px;border:2px solid rgba(207,230,255,.78);box-shadow:inset 0 0 0 1px rgba(0,0,0,.45),0 0 0 1px rgba(121,184,255,.18);background:transparent;cursor:pointer}
.aurora-box.aurora-yellow,.dashboard-card.aurora-yellow{border-color:#f4dc42!important;background:linear-gradient(135deg,rgba(244,220,66,.24),rgba(19,43,69,.82))!important;box-shadow:0 0 0 3px rgba(244,220,66,.24) inset,0 0 18px rgba(244,220,66,.14)!important}
.aurora-box.aurora-orange,.dashboard-card.aurora-orange{border-color:#ff7a1a!important;background:linear-gradient(135deg,rgba(255,122,26,.30),rgba(61,28,6,.30),rgba(19,43,69,.82))!important;box-shadow:0 0 0 4px rgba(255,122,26,.28) inset,0 0 22px rgba(255,122,26,.20)!important}
.aurora-box.aurora-red,.dashboard-card.aurora-red{border-color:#ff3355!important;background:linear-gradient(135deg,rgba(255,51,85,.30),rgba(70,12,24,.35),rgba(19,43,69,.82))!important;box-shadow:0 0 0 4px rgba(255,51,85,.30) inset,0 0 24px rgba(255,51,85,.23)!important}
.aurora-box.aurora-yellow::before{content:'Gelb';display:inline-block;margin:0 0 6px 0;padding:2px 8px;border-radius:999px;background:#f4dc42;color:#10130a;font-size:.76rem;font-weight:900}.aurora-box.aurora-orange::before{content:'Orange';display:inline-block;margin:0 0 6px 0;padding:2px 8px;border-radius:999px;background:#ff7a1a;color:#120a02;font-size:.76rem;font-weight:900}.aurora-box.aurora-red::before{content:'Rot';display:inline-block;margin:0 0 6px 0;padding:2px 8px;border-radius:999px;background:#ff3355;color:white;font-size:.76rem;font-weight:900}


/* 1.3.1-test.3: Polarlichtbereich kompakter und Dashboard besser lesbar */
.planning-title-block{flex:1 1 520px;min-width:280px}.planning-night-subtitle{line-height:1.28;max-width:820px}.aurora-status-line{margin-top:6px;line-height:1.25}.aurora-main-button{white-space:normal;text-align:center;line-height:1.15}.planning-night-actions{flex:0 0 auto}.aurora-box{max-width:390px}.aurora-row{align-items:stretch}.aurora-row .secondary{min-width:52px}
@media(max-width:980px){.planning-night-actions{width:100%;justify-content:flex-start}.aurora-box{max-width:100%;min-width:min(100%,320px)}.planning-night-selector{grid-template-columns:1fr;grid-template-areas:"location" "calendar" "dates"}}
/* 1.4.0 local survey configuration */
.mini-tabs{margin-bottom:10px}.local-survey-list{display:grid;gap:10px;margin-top:10px}.local-survey-row{border:1px solid #25425f;border-radius:12px;background:rgba(5,16,28,.55);padding:10px 12px}.local-survey-row summary{display:flex;gap:12px;align-items:center;cursor:pointer}.local-survey-row summary strong{min-width:260px}.survey-config-row button[data-open-local-survey]{align-self:end;white-space:nowrap}.survey-config-row label input[readonly]{opacity:.8}
/* 1.4.0 local survey configuration */
.mini-tabs{margin-bottom:10px}.local-survey-list{display:grid;gap:10px;margin-top:10px}.local-survey-row{border:1px solid #25425f;border-radius:12px;background:rgba(5,16,28,.55);padding:10px 12px}.local-survey-row summary{display:flex;gap:12px;align-items:center;cursor:pointer}.local-survey-row summary strong{min-width:260px}.survey-config-row button[data-open-local-survey]{align-self:end;white-space:nowrap}.survey-config-row label input[readonly]{opacity:.8}

/* 1.4.0-test.4: erweiterte Mondinfos in den Datumsbuttons und lokale Survey-Diagnose */
.enhanced-date-buttons button{min-height:128px;line-height:1.14;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px}
.enhanced-date-buttons .moon-window-info{display:block;color:#cfe5ff;white-space:nowrap}
.enhanced-date-buttons .quality-date-info{margin-top:3px}
.aladin-survey-debug{flex-basis:100%;margin-top:4px;word-break:break-all}
.local-survey-row summary{flex-wrap:wrap}.local-survey-path{font-size:12px;background:rgba(255,255,255,.06);border:1px solid #29415f;border-radius:7px;padding:2px 6px;color:#dcecff}

/* 1.4.0-test.5: kompaktere Tagesbuttons und oben ausgerichtete Survey-Diagnose */
.enhanced-date-buttons button{min-height:112px;padding:8px 10px;line-height:1.03;gap:1px}
.enhanced-date-buttons button br{display:none}
.enhanced-date-buttons button strong{line-height:1.05}
.enhanced-date-buttons .small,.enhanced-date-buttons .moon-date-info,.enhanced-date-buttons .moon-window-info,.enhanced-date-buttons .quality-date-info{line-height:1.03;margin-top:0}
[data-aladin-tab-panel="sky"].aladin-tab-panel.active{grid-template-columns:minmax(210px,auto) auto minmax(240px,1fr) minmax(300px,1.15fr);align-items:start}
[data-aladin-tab-panel="sky"] .external-aladin-note{align-self:start;max-width:330px;line-height:1.16;padding-top:1px}
.aladin-survey-debug{flex-basis:auto;margin-top:0;align-self:start;min-width:280px;word-break:break-word;overflow-wrap:anywhere;line-height:1.18;padding-top:1px}
@media(max-width:980px){[data-aladin-tab-panel="sky"].aladin-tab-panel.active{grid-template-columns:minmax(210px,1fr) auto}.aladin-survey-debug,[data-aladin-tab-panel="sky"] .external-aladin-note{grid-column:1/-1}}
@media(max-width:720px){.enhanced-date-buttons button{min-height:104px}.aladin-survey-debug{min-width:0}}

.temporary-equipment-notice{margin:-4px 0 12px}
.planning-night-selector{margin-top:2px!important}

/* 1.4.2 local survey folder selection and download management */
.input-button-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;margin-top:5px}
.input-button-row button{white-space:normal;min-width:190px}
@media(max-width:760px){.input-button-row{grid-template-columns:1fr}.input-button-row button{min-width:0}}

.update-banner #updateBannerText{display:flex;flex-direction:column;gap:4px;min-width:0}.update-summary{margin:3px 0 0;padding-left:19px;font-size:.84rem;line-height:1.35}.update-summary li{margin:2px 0}.update-critical{color:#ffd75e;font-weight:900}.update-details-link{color:#d9edff;white-space:nowrap;font-weight:800}.release-critical{border:2px solid #ffd75e;background:rgba(255,215,94,.12);color:#ffd75e;border-radius:12px;padding:12px 14px;margin:12px 0;font-weight:750}

/* 1.5.0: benutzerdefinierte strukturierte Wolkenwirkung */
.cloud-custom-config{border-color:rgba(121,184,255,.34);background:rgba(8,24,40,.72)}
.cloud-custom-config label{min-width:0}
.cloud-custom-config input[type=number]{width:100%}
.cloud-contrast-row{align-items:end}
.cloud-contrast-row label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center}
.cloud-contrast-row label input{grid-column:1/2;width:100%}
.cloud-contrast-row output{grid-column:2/3;grid-row:2;min-width:3ch;text-align:right;font-weight:850;color:var(--accent)}
.cloud-contrast-row .data-actions{justify-content:flex-end}
@media(max-width:760px){.cloud-custom-config .grid.four,.cloud-contrast-row{grid-template-columns:1fr}.cloud-contrast-row .data-actions{justify-content:flex-start}}
