/* Airvecta Track appearance enhancement (development preview).
   Original app.css remains unchanged; "dark" is its original V5.4.1 theme.
   Light mode uses semantic colours and explicitly covers dark-only legacy components. */

/* Shared appearance chooser */
.appearance-switch{display:flex;flex-direction:column;gap:5px;min-width:105px;font-size:10px;font-weight:700;letter-spacing:.065em;text-transform:uppercase;color:var(--muted)}
.appearance-switch select{appearance:auto;min-height:36px;min-width:105px;border:1px solid var(--edge);border-radius:9px;padding:7px 9px;background:var(--panel);color:var(--white);font-size:12px;font-weight:650;letter-spacing:0;text-transform:none;cursor:pointer}
.appearance-switch select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(max-width:630px){.header-right{flex-wrap:wrap;flex-direction:row;justify-content:space-between;gap:10px}.appearance-switch{order:1;min-width:94px}.appearance-switch select{min-width:94px}.view-switch{order:0}.clock{order:2;margin-left:auto}.header-right{align-items:center}}
@media(max-width:380px){.view-switch a{padding:7px 7px}.appearance-switch{min-width:82px}.appearance-switch select{min-width:82px;padding-left:5px;padding-right:2px}.clock strong{font-size:18px}}

/* Light theme palette — text is deliberately dark enough for daylight use. */
html[data-theme="light"]{
 color-scheme:light;
 --bg:#f3f8fb;--panel:#ffffff;--panel2:#eaf3f7;--edge:#bed0dc;
 --muted:#4c6271;--white:#172d3c;--cyan:#066b82;--green:#146946;
 --blue:#2856ac;--amber:#865a0d;--red:#aa263a;
}
html[data-theme="light"] body{background:radial-gradient(ellipse at 5% 0%,#dbeef5 0%,transparent 38%),var(--bg);color:var(--white)}
html[data-theme="light"] .header{border-color:var(--edge)}
html[data-theme="light"] .airvecta-wordmark{color:#103c50}
html[data-theme="light"] .subbrand{color:#526d7e}
html[data-theme="light"] .version{color:#08687a;border-color:#a5cbd5}
html[data-theme="light"] .view-switch{background:#e6f0f5}
html[data-theme="light"] .view-switch a.active{background:#13788c;color:#fff}
html[data-theme="light"] .intro h1 em{background:#dcecf2;border-color:#9cc4d1}
html[data-theme="light"] .btn{background:#eaf3f8;border-color:var(--edge);color:var(--white)}
html[data-theme="light"] .btn-outline{background:transparent}
html[data-theme="light"] .btn-primary,html[data-theme="light"] .file-button{background:#0e7388;border-color:#0e7388;color:#fff}
html[data-theme="light"] .pdf-upload{background:#0e7388;color:#fff}
html[data-theme="light"] .pdf-upload:hover{background:#095a6b}
html[data-theme="light"] .controls{background:rgba(255,255,255,.96);box-shadow:0 1px 8px #25516b0c}
html[data-theme="light"] .control select,html[data-theme="light"] .control input,html[data-theme="light"] .custom-fields input,html[data-theme="light"] .custom-fields select,html[data-theme="light"] .editor-grid input,html[data-theme="light"] .editor-grid textarea,html[data-theme="light"] .watch-add input{background:#fff;color:#172d3c;border-color:#b5cbd7}
html[data-theme="light"] .btn-toggle,html[data-theme="light"] .btn-notify{background:#eaf3f8;border-color:var(--edge);color:var(--white)}
html[data-theme="light"] .btn-toggle.active{background:#cfead9;border-color:#6eae8a;color:#125b3b}
html[data-theme="light"] .custom-airport{background:#fff;border-color:var(--edge)}
html[data-theme="light"] .status{background:#fff;border-color:var(--edge)}
html[data-theme="light"] .status.ok .status-dot{box-shadow:0 0 0 6px #14694620}
html[data-theme="light"] .status.error .status-dot{box-shadow:0 0 0 6px #aa263a20}
html[data-theme="light"] .demo-banner{background:#fff0d4;border-color:#c8a167;color:#76470b}
html[data-theme="light"] .demo-banner a{color:#75400c}
html[data-theme="light"] .approach-banner{background:#e0f4e8;border-color:#69ac88;color:#125e3e}
html[data-theme="light"] .approach-banner span,html[data-theme="light"] .approach-banner button{color:#125e3e}
html[data-theme="light"] .metric{background:#fff;border-color:var(--edge)}
html[data-theme="light"] .map-frame{background:#e9f1f5;border-color:var(--edge)}
html[data-theme="light"] .radar{background:radial-gradient(ellipse at center,#e6f3f8,#c7dee9)}
html[data-theme="light"] .radar-h{border-color:#407d9650}
html[data-theme="light"] .radar-h:before,html[data-theme="light"] .radar-h:after{background:#407d9650}
html[data-theme="light"] .radar-ring{border-color:#387b9880}
html[data-theme="light"] .radar-north,html[data-theme="light"] .radar-west,html[data-theme="light"] .radar-east,html[data-theme="light"] .radar-south{color:#335f75}
html[data-theme="light"] .radar-plane small{background:#fff;color:#213f51;box-shadow:0 1px 3px #29516a26}
html[data-theme="light"] .radar-note,html[data-theme="light"] .map-overlay{background:#ffffffed;color:#1c3b4d;border-color:#b6cbd5}
html[data-theme="light"] .leaflet-container{background:#e1edf3!important}
html[data-theme="light"] .leaflet-popup-content-wrapper,html[data-theme="light"] .leaflet-popup-tip{background:#fff!important;color:#173244!important}
html[data-theme="light"] .leaflet-control-zoom a{background:#fff!important;color:#153d50!important;border-color:#a9c3d0!important}
html[data-theme="light"] .plane-marker{background:#fff;border-color:#b6ccd7;box-shadow:0 2px 9px #1e4b6542;color:#95640a}
html[data-theme="light"] .plane-marker.inbound{color:#137548}
html[data-theme="light"] .plane-marker.outbound{color:#2559b7}
html[data-theme="light"] .movement{background:#fff;border-color:var(--edge)}
html[data-theme="light"] .movement-title,html[data-theme="light"] .flight-row{border-color:#dce7ed}
html[data-theme="light"] .move-icon{background:#d9eee5}
html[data-theme="light"] .movement-out .move-icon{background:#e1eafa}
html[data-theme="light"] .movement-other .move-icon{background:#faefd9}
html[data-theme="light"] .count-bubble{border-color:#bdd1dd;color:#345c6f}
html[data-theme="light"] .flight-row.selected{background:#e5f3f7}
html[data-theme="light"] .flight-distance{color:#153e50}
html[data-theme="light"] .flight-label{background:#e1eff2;color:#1f6073}
html[data-theme="light"] .flight-estimate{color:#176b46}
html[data-theme="light"] .footer{border-color:var(--edge)}
html[data-theme="light"] .fleet-detail{background:linear-gradient(115deg,#e3f2f7,#f8fcfd);border-color:#a9cedc}
html[data-theme="light"] .fleet-detail-left span:not(.section-kicker),html[data-theme="light"] .fleet-detail-right span,html[data-theme="light"] .fleet-disclaimer{color:#4b6675}
html[data-theme="light"] .ops-panel{background:linear-gradient(140deg,#fff,#f3f9fb);border-color:var(--edge)}
html[data-theme="light"] .ops-title strong{color:#18394a}
html[data-theme="light"] .ops-empty{color:#536c7b}
html[data-theme="light"] .due-plane{background:#f0f7fa;border-color:#ccdde5}
html[data-theme="light"] .due-plane .due-detail,html[data-theme="light"] .rawmetar{color:#4c6575}
html[data-theme="light"] .planning,html[data-theme="light"] .fleet-settings{background:#fff;border-color:var(--edge)}
html[data-theme="light"] .schedule-row{background:#f1f7fa;border-color:#d0e0e7}
html[data-theme="light"] .schedule-time{color:#173e51}
html[data-theme="light"] .schedule-tag{background:#dceaf1;color:#35586a}
html[data-theme="light"] .planning-actions [role=status]{color:#146946}
html[data-theme="light"] .fleet-editor summary{color:#1b5a71}
html[data-theme="light"] .pdf-local,html[data-theme="light"] #movementImportMessage{color:#4a6b7b}
html[data-theme="light"] .movement-sheet-panel{background:#f6fafc;border-color:#bed5df}
html[data-theme="light"] .movement-summary h3,html[data-theme="light"] .movement-pdf-row strong,html[data-theme="light"] .movement-pdf-row b{color:#173b4d}
html[data-theme="light"] .movement-summary small,html[data-theme="light"] .movement-pdf-row small,html[data-theme="light"] .movement-pdf-row .movement-bay{color:#516c7b}
html[data-theme="light"] .movement-grid h4,html[data-theme="light"] .movement-notes,html[data-theme="light"] .movement-notes summary{color:#244c5d}
html[data-theme="light"] .movement-grid h4 span{background:#e4eef3}
html[data-theme="light"] .movement-pdf-list{background:#fff;border-color:#cbdde7}
html[data-theme="light"] .movement-pdf-row,html[data-theme="light"] .movement-notes .note{border-color:#e0eaef}
html[data-theme="light"] .movement-notes p{color:#526b78}
html[data-theme="light"] .movement-changes,html[data-theme="light"] .movement-archive{background:#fff4e6;border-color:#d1a56b;color:#75471d}
html[data-theme="light"] .movement-review{background:#fff;border-color:#afcbd9;color:#1a3646;box-shadow:0 25px 80px #17394935}
html[data-theme="light"] .movement-review::backdrop{background:#132e4080}
html[data-theme="light"] .review-details,html[data-theme="light"] .review-details strong{color:#203f51}
html[data-theme="light"] .review-table-wrap,html[data-theme="light"] .review-table th,html[data-theme="light"] .review-table td{border-color:#c9dce5}
html[data-theme="light"] .review-table th{background:#e7f2f6;color:#244d61}
html[data-theme="light"] .review-warning{background:#fff2db;border-color:#b77a24;color:#76500e}
html[data-theme="light"] .review-change{color:#80501d;border-color:#e6d6c3}
html[data-theme="light"] .tow-section{background:#eaf4f8;border-color:#b5ccd8}
html[data-theme="light"] .tow-header,html[data-theme="light"] .tow-reg{color:#1b394b}
html[data-theme="light"] .tow-header strong{color:#076d7d}
html[data-theme="light"] .tow-header>span{background:#d2e6ee}
html[data-theme="light"] .tow-header small,html[data-theme="light"] .tow-more{color:#526b7b}
html[data-theme="light"] .tow-card{background:#fff;border-color:#c5dbe5}
html[data-theme="light"] .tow-route,html[data-theme="light"] .tow-source{color:#365969}
html[data-theme="light"] .tow-meta,html[data-theme="light"] .tow-pill{color:#865711}
html[data-theme="light"] .tow-urgent{color:#a52937}
html[data-theme="light"] .tow-source{border-color:#dbe6ed}
html[data-theme="light"] .watch-panel{background:linear-gradient(115deg,#e8f4f7,#fff);border-color:#bfd8e1}
html[data-theme="light"] .watch-heading strong{color:#183e51}
html[data-theme="light"] .watch-heading small,html[data-theme="light"] .watch-add label,html[data-theme="light"] .watch-empty{color:#516a77}
html[data-theme="light"] .watch-count{background:#d5eaf0;color:#086c78}
html[data-theme="light"] .watch-add [role=status]{color:#176b46}
html[data-theme="light"] .watch-chip{background:#dcecf1;border-color:#b5d3de;color:#204353}
html[data-theme="light"] .watch-chip button{background:#bad7e2;color:#1c475a}
html[data-theme="light"] .flight-row .watch-star{background:#f0f6f9;border-color:#bdd0d9;color:#627889}
html[data-theme="light"] .flight-row .watch-star.is-watched{background:#fff0ca;border-color:#d5b873;color:#95610a}
html[data-theme="light"] .mro-members{border-color:#c2d4de}
html[data-theme="light"] .mro-members legend{color:#22546a}
html[data-theme="light"] .member-check{background:#f1f7fa;border-color:#c5dae4;color:#204354}
html[data-theme="light"] .mro-members small{color:#536a77}
html[data-theme="light"] .map-popup-meta{color:#526d7d}
/* Preserve map popup text readability regardless of the underlying OSM tile colour. */
.map-popup-meta{font-size:11px;color:#a3c5d5}
html[data-theme="light"] .map-popup-meta{color:#4c6879}

/* Status text must stay legible in both appearances, including PDF import errors. */
#movementImportMessage[data-status="info"]{color:#a4e8de}
#movementImportMessage[data-status="error"]{color:#ffc1af}
html[data-theme="light"] #movementImportMessage[data-status="info"]{color:#146946}
html[data-theme="light"] #movementImportMessage[data-status="error"]{color:#aa263a}
