/* NEXAR UX 5.0 — Stage 17 accessibility & theme foundation.
 * System preferences work immediately, while explicit Comfort/Contrast UI controls
 * are reserved for the remaining theme implementation. */
@media(prefers-contrast:more){
 :root{--nx5-primary-ink:#101B2E;--nx5-secondary-ink:#24384D;--nx5-support-ink:#3B5268;--nx5-danger-ink:#9A2040;--nx5-warning-ink:#78490F;--nx5-interactive-ink:#075C94}
 :root[data-theme="dark"]{--nx5-primary-ink:#FFFFFF;--nx5-secondary-ink:#EFF4FF;--nx5-support-ink:#D5E2F5;--nx5-danger-ink:#FFC2D0;--nx5-warning-ink:#FFE2A7;--nx5-interactive-ink:#AFE4FF}
 .nx4-workspace :is(.panel,.metric,.record-card,.dialog,.nx5-module-insights),
 .nx4-hub :is(.app-card,.nx5-launcher-panel){border-width:2px}
 .nx4-workspace :is(.input,textarea,select),.nx4-hub :is(input,button){border-width:2px}
 .nx4-workspace :is(.button,.icon-btn,select,input,textarea):focus-visible,.nx4-hub :is(.app-card,button):focus-visible{outline-width:3px;outline-offset:3px}
 .nx5-vivid-icon{stroke-width:2.1}
}
@media(forced-colors:active){
 .nx5-vivid-icon{color:ButtonText!important;stroke:ButtonText!important;forced-color-adjust:auto}
 .nx5-vivid-icon .nx5-icon-accent{stroke:Highlight!important;fill:Highlight!important}
 .nx4-workspace :is(.button,.icon-btn,.sidebar-link,.record-card,.dialog),
 .nx4-hub :is(.app-card,.nx5-launcher-shortcut),.nx5-mobile-nav-item{border:1px solid CanvasText}
 .nx4-workspace :is(.button,.icon-btn,.sidebar-link):focus-visible,
 .nx4-hub .app-card:focus-visible{outline:3px solid Highlight!important;outline-offset:2px}
 .nx5-mobile-nav-item.is-active{border-color:Highlight!important;color:Highlight!important}
 .nx4-workspace :is(.table-status,.record-card-status),.nx5-chip{border-color:CanvasText!important;color:CanvasText!important}
 .nx5-insight-progress>span{border-inline-end:2px solid Canvas;background:Highlight!important}
}
@media(prefers-reduced-motion:reduce){
 .nx4-workspace :is(.nx4-hr-kpi,.nx5-module-insights,.nx5-hr-timeline,.nx5-mobile-nav-item,.dialog),
 .nx4-hub :is(.app-card,.nx5-launcher-panel,.hub-hero){animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{
 .nx5-mobile-nav,.nx5-breadcrumb,.nx5-cinema,.nx5-cinema-skip,
 .nx4-workspace .sidebar,.nx4-workspace .topbar,.nx4-workspace .workspace-actions{display:none!important}
 .nx4-workspace .workspace-body,.nx4-workspace .workspace-body main{padding:0!important;margin:0!important;max-width:none!important}
 .nx4-workspace .nx5-module-insights,.nx4-workspace .nx5-hr-timeline{box-shadow:none!important;break-inside:avoid}
 .nx5-money{font-variant-numeric:tabular-nums}
}

/* Stage 17 — optional Comfort reading theme; the approved module accent tokens remain unchanged. */
:root[data-theme="comfort"]{
 color-scheme:light;
 --nx-bg:#F5F1EB;--nx-surface:#FFFCF7;--nx-surface-soft:#F9F5EE;--nx-surface-muted:#EEE8DF;
 --nx-text:#243148;--nx-text-soft:#45566D;--nx-text-muted:#596B7E;--nx-border:#DCD7D0;--nx-border-strong:#C9C2B9;
 --nx-brand:#314E84;--nx-brand-hover:#243A67;--nx-brand-soft:#EBE8F1;--nx-navy:#1A2942;
 --bg:var(--nx-bg);--surface:var(--nx-surface);--surface2:var(--nx-surface-soft);
 --ink:var(--nx-text);--muted:var(--nx-text-muted);--line:var(--nx-border);--blue:var(--nx-brand);--accent:var(--nx-brand);--navy:var(--nx-navy);
 --nx4-paper:#F5F1EB;--nx4-panel:#FFFCF7;--nx4-line-light:#DCD7D0;--nx4-text:#243148;--nx4-muted:#596B7E;
 --nx4-elevate:0 17px 43px -38px #24314866,0 3px 13px #2431480C;
 --nx5-primary-ink:#1B2B41;--nx5-secondary-ink:#44566B;--nx5-support-ink:#5D6D7D;
 --nx5-interactive-ink:#17618D;--nx5-number-positive:#117B83;--nx5-number-negative:#A63A5E;
 --nx5-danger-ink:#A63A54;--nx5-warning-ink:#885411;--nx5-info-ink:#176D9D;--nx5-success-ink:#137B74;
}
:root[data-theme="comfort"] body{background:var(--nx-bg);color:var(--nx-text)}
:root[data-theme="comfort"] .nx4-workspace :is(.panel,.table-panel,.record-card,.dialog,.metric),
:root[data-theme="comfort"] .nx4-hub :is(.app-card,.nx5-launcher-panel){border-color:var(--nx4-line-light)}
@media(prefers-contrast:more){
 :root[data-theme="comfort"]{--nx5-primary-ink:#101A29;--nx5-secondary-ink:#293B4D;--nx5-support-ink:#3B4E62;--nx5-interactive-ink:#074D7A;--nx-border:#B9B1A6;--nx4-line-light:#B9B1A6}
}

/* Manual high contrast augments the OS preference without changing module identity. */
:root[data-contrast="high"]{
 --nx5-primary-ink:#0C1C2D;--nx5-secondary-ink:#213C53;--nx5-support-ink:#34506A;
 --nx5-interactive-ink:#07568B;--nx5-danger-ink:#921F3E;--nx5-warning-ink:#74440B;
 --nx-border:#AEB9C7;--nx4-line-light:#AEB9C7;
}
:root[data-theme="dark"][data-contrast="high"]{
 --nx5-primary-ink:#FFFFFF;--nx5-secondary-ink:#ECF3FF;--nx5-support-ink:#D8E2F5;
 --nx5-interactive-ink:#B0E3FF;--nx5-danger-ink:#FFC3D1;--nx5-warning-ink:#FFDF9C;
 --nx-border:#778CAB;--nx4-line-light:#778CAB;
}
:root[data-contrast="high"] .nx4-workspace :is(.panel,.metric,.record-card,.dialog,.nx5-module-insights),
:root[data-contrast="high"] .nx4-hub :is(.app-card,.nx5-launcher-panel){border-width:2px}
:root[data-contrast="high"] :is(button,input,select,textarea,a):focus-visible{outline:3px solid var(--nx5-interactive-ink);outline-offset:3px}
.nx5-skip-link{position:fixed;inset-inline-start:12px;top:-120px;z-index:2000;
 display:inline-flex;align-items:center;min-height:44px;padding:8px 15px;border-radius:11px;
 background:var(--nx4-panel);color:var(--nx5-primary-ink);border:2px solid var(--nx5-interactive-ink);
 box-shadow:0 9px 30px #0B234333;font:800 14px/1.6 Cairo,system-ui,sans-serif}
.nx5-skip-link:focus-visible{top:max(10px,env(safe-area-inset-top,0px))}
