/* CABIN OPS NEO X v5.58 — interface-only accessibility layer. No print/PDF changes. */
@media screen {
:root{--ui-ink:#f2f6fd;--ui-muted:#bfd0e2;--ui-paper-ink:#192a3d;--ui-focus:#ff7183}
html{-webkit-text-size-adjust:100%}
.workspace,.panel,.neo-main-grid,.neo-lower,.neo-hero,.neo-flight{min-width:0}
.panel,.ops-summary,.watch-box,.approval,.caution-inline{overflow-wrap:anywhere}
.tab :is(input,select,textarea){max-width:100%;min-width:0;font-size:max(16px,1rem)}
.tab :is(input,select,textarea)::placeholder{opacity:1;color:#a7b8ca}
.tab :is(button,input,select,textarea,a):focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}
.tab button{overflow-wrap:anywhere;white-space:normal;line-height:1.3}
.tab :is(.muted,.empty,small,.mini){opacity:1}
/* Dark panels and their readable labels, without overriding paper surfaces. */
.neo-command .neo-lower>.panel,.neo-command .neo-flight,.neo-command .neo-aircraft,.neo-command .neo-module-grid button{color:var(--ui-ink)}
.neo-command .neo-lower>.panel :is(h2,h3,h4,label,strong,b){color:#f4f8ff}
.neo-command .neo-lower>.panel :is(p,small,.muted,.empty){color:var(--ui-muted)}
.neo-command .neo-lower>.panel button{color:#f4f8ff}
/* White status cards must always use dark ink. */
#dashboard-dossier-summary,#dashboard-dossier-summary :is(p,span,div,small,strong,b,li,label){color:var(--ui-paper-ink)!important;-webkit-text-fill-color:var(--ui-paper-ink)!important;text-shadow:none!important}
#dashboard-dossier-summary :is(button,a){color:#fff!important;-webkit-text-fill-color:#fff!important}
/* Existing light profile cards and template library, scoped to known paper areas. */
#tab-crew :is(.crew-profile-detail,.crew-observations,.crew-directory-filters,.crew-search-result),
#tab-templates .report-template-library{color:var(--ui-paper-ink)}
#tab-crew :is(.crew-profile-detail,.crew-observations,.crew-directory-filters,.crew-search-result) :is(p,small,span,label,li,dt,dd,h2,h3,h4),
#tab-templates .report-template-library :is(p,small,span,label,li,h2,h3,h4){color:#24374b;-webkit-text-fill-color:#24374b}
#tab-crew :is(.crew-profile-detail,.crew-observations,.crew-directory-filters) :is(input,textarea,select){color:#14283d;-webkit-text-fill-color:#14283d;background:#fff;border-color:#71859a}
#tab-crew .crew-directory-collapse .crew-roster-table :is(td,th,small,span,strong){color:#f4f8ff!important;-webkit-text-fill-color:#f4f8ff!important}
#tab-crew .crew-directory-collapse .crew-roster-table button{color:#fff!important;-webkit-text-fill-color:#fff!important}
#tab-templates .report-template-library :is(input,select,textarea){background:#101e30;color:#fff;-webkit-text-fill-color:#fff}
/* Responsive controls and horizontal table access without clipping data. */
#dashboard-flight{width:100%;max-width:100%;text-overflow:ellipsis}
#tab-crew .crew-directory-collapse{max-width:100%;overflow-x:auto}
#tab-crew .crew-roster-table{min-width:580px}
@media(max-width:1050px){.neo-main-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.neo-flight{grid-column:1/-1}.neo-lower{grid-template-columns:repeat(2,minmax(0,1fr))}.neo-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:740px){.workspace{padding:12px 10px 60px}.neo-main-grid,.neo-lower{grid-template-columns:minmax(0,1fr)}.neo-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.neo-topline{flex-wrap:wrap}.neo-top-actions{flex-basis:100%;overflow-x:auto;justify-content:flex-start}.neo-hero{padding:12px!important}.neo-hero-chips{flex-wrap:wrap}.neo-hero-chips>div{min-width:90px}}
}
