/* NEXAR UX5 Stage 03 — semantic typography and record states.
   Only UI semantics; role gating, financial amounts and stored values are unchanged. */
.nx4-workspace .workspace-title .eyebrow{font-size:11px;letter-spacing:.025em;font-weight:900}
.nx4-workspace .workspace-title h1{color:var(--nx5-primary-ink)}
.nx4-workspace .workspace-title p{color:var(--nx5-secondary-ink)}
.nx4-workspace .nx4-records .record-select-label{font-size:12px;line-height:1.65;color:var(--nx5-secondary-ink);font-weight:800}
.nx4-workspace .nx4-records .record-select-label .input{font-size:13px;min-height:44px;height:44px}
.nx4-workspace .nx4-records .input:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent) 18%,transparent);border-color:var(--app-accent)}
.nx4-workspace .nx4-records .table-status,.nx4-workspace .nx4-records .record-card-status{font-size:11px;font-weight:900;border:1px solid currentColor}
.nx4-workspace .nx4-records .table-status[data-status="active"],.nx4-workspace .nx4-records .table-status[data-status="approved"],.nx4-workspace .nx4-records .table-status[data-status="completed"],.nx4-workspace .nx4-records .table-status[data-status="received"],.nx4-workspace .nx4-records .table-status[data-status="income"],
.nx4-workspace .nx4-records .record-card-status[data-status="active"],.nx4-workspace .nx4-records .record-card-status[data-status="approved"],.nx4-workspace .nx4-records .record-card-status[data-status="completed"],.nx4-workspace .nx4-records .record-card-status[data-status="received"],.nx4-workspace .nx4-records .record-card-status[data-status="income"]{
 color:var(--nx5-number-positive);
 background:color-mix(in srgb,var(--nx5-number-positive) 9%,var(--nx4-panel));
 border-color:color-mix(in srgb,var(--nx5-number-positive) 25%,var(--nx4-line-light));
}
.nx4-workspace .nx4-records .table-status[data-status="rejected"],.nx4-workspace .nx4-records .table-status[data-status="suspended"],.nx4-workspace .nx4-records .table-status[data-status="expense"],.nx4-workspace .nx4-records .table-status[data-status="retired"],
.nx4-workspace .nx4-records .record-card-status[data-status="rejected"],.nx4-workspace .nx4-records .record-card-status[data-status="suspended"],.nx4-workspace .nx4-records .record-card-status[data-status="expense"],.nx4-workspace .nx4-records .record-card-status[data-status="retired"]{
 color:var(--nx5-number-negative);
 background:color-mix(in srgb,var(--nx5-number-negative) 9%,var(--nx4-panel));
 border-color:color-mix(in srgb,var(--nx5-number-negative) 26%,var(--nx4-line-light));
}
.nx4-workspace .nx4-records .table-status[data-status="submitted"],.nx4-workspace .nx4-records .table-status[data-status="planned"],.nx4-workspace .nx4-records .table-status[data-status="draft"],.nx4-workspace .nx4-records .table-status[data-status="maintenance"],
.nx4-workspace .nx4-records .record-card-status[data-status="submitted"],.nx4-workspace .nx4-records .record-card-status[data-status="planned"],.nx4-workspace .nx4-records .record-card-status[data-status="draft"],.nx4-workspace .nx4-records .record-card-status[data-status="maintenance"]{
 color:var(--nx5-warning-ink);
 background:color-mix(in srgb,var(--nx5-warning-ink) 9%,var(--nx4-panel));
 border-color:color-mix(in srgb,var(--nx5-warning-ink) 25%,var(--nx4-line-light));
}
.nx4-workspace .nx4-records .table-status[data-status="on_leave"],.nx4-workspace .nx4-records .table-status[data-status="ordered"],.nx4-workspace .nx4-records .table-status[data-status="paused"],.nx4-workspace .nx4-records .table-status[data-status="assigned"],
.nx4-workspace .nx4-records .record-card-status[data-status="on_leave"],.nx4-workspace .nx4-records .record-card-status[data-status="ordered"],.nx4-workspace .nx4-records .record-card-status[data-status="paused"],.nx4-workspace .nx4-records .record-card-status[data-status="assigned"]{
 color:var(--nx5-info-ink);
 background:color-mix(in srgb,var(--nx5-info-ink) 8%,var(--nx4-panel));
 border-color:color-mix(in srgb,var(--nx5-info-ink) 25%,var(--nx4-line-light));
}
.nx5-money{white-space:nowrap;display:inline-block;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;font-weight:900}
.nx5-money--in{color:var(--nx5-number-positive)}
.nx5-money--out{color:var(--nx5-number-negative)}
.nx5-money--in:before{content:"+ ";font-weight:900}
.nx5-money--out:before{content:"− ";font-weight:900}
.nx4-workspace .record-card-fields dt{color:var(--nx5-secondary-ink);font-size:12px}
.nx4-workspace .record-card-fields dd{color:var(--nx5-primary-ink);font-size:13px}
.nx4-workspace .record-card-fields dd:has(.nx5-money){direction:ltr;text-align:right}
.nx4-workspace .dialog .form-label{font-size:13px;color:var(--nx5-primary-ink)}
.nx4-workspace .dialog .input{font-size:14px;min-height:44px}
.nx4-workspace .dialog .input:focus-visible{outline:0;border-color:var(--app-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent) 16%,transparent)}
.nx4-workspace .pagination{font-size:12px}
@media(max-width:620px){
 .nx4-workspace .nx4-records .record-select-label{font-size:12px}
 .nx4-workspace .nx4-records .record-select-label .input{font-size:16px;min-height:48px;height:48px}
 .nx4-workspace .dialog .input{font-size:16px;min-height:48px}
}
@media(prefers-contrast:more){
 .nx4-workspace .nx4-records .table-status,.nx4-workspace .nx4-records .record-card-status{border-width:2px}
}


/* Stage 03 extended role vocabulary: neutral, ready, delayed and informational. */
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="available"],
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="present"],
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="paid"]{
 color:var(--nx5-number-positive);
 background:color-mix(in srgb,var(--nx5-number-positive) 9%,var(--nx4-panel));
 border-color:color-mix(in srgb,var(--nx5-number-positive) 27%,var(--nx4-line-light));
}
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="pending"],
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="under_review"],
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="late"]{
 color:var(--nx5-warning-ink);
 background:color-mix(in srgb,var(--nx5-warning-ink) 9%,var(--nx4-panel));
 border-color:color-mix(in srgb,var(--nx5-warning-ink) 27%,var(--nx4-line-light));
}
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="overdue"],
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="terminated"],
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="blocked"]{
 color:var(--nx5-danger-ink);
 background:color-mix(in srgb,var(--nx5-danger-ink) 10%,var(--nx4-panel));
 border-color:color-mix(in srgb,var(--nx5-danger-ink) 28%,var(--nx4-line-light));
}
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="archived"],
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="cancelled"],
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="inactive"]{
 color:var(--nx5-secondary-ink);
 background:color-mix(in srgb,var(--nx5-secondary-ink) 7%,var(--nx4-panel));
 border-color:color-mix(in srgb,var(--nx5-secondary-ink) 20%,var(--nx4-line-light));
}
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="in_progress"],
.nx4-workspace .nx4-records :is(.table-status,.record-card-status)[data-status="issued"]{
 color:var(--nx5-info-ink);
 background:color-mix(in srgb,var(--nx5-info-ink) 8%,var(--nx4-panel));
 border-color:color-mix(in srgb,var(--nx5-info-ink) 25%,var(--nx4-line-light));
}
/* Monetary meaning must remain explicit even without CSS or visible colors. */
.nx5-money[aria-label]{font-variant-numeric:tabular-nums;white-space:nowrap}
@media print{
 .nx5-money{color:#142B46!important}
 .nx5-money--in:before{content:"+ "}
 .nx5-money--out:before{content:"− "}
}
