/* V1.2.4 — visual system. Existing behaviour, font choices and permissions remain intact. */
:root {
 --app-bg:#F5F6FA; --surface:#FFFFFF; --surface-subtle:#F0F3F9;
 --ink:#202C46; --muted:#61708A; --line:#E0E5EF; --control:#9BA9BE;
 --primary:#365CD6; --primary-solid:#365CD6; --primary-hover:#2948B3;
 --blue-light:#EDF2FF; --success:#117C6B; --success-soft:#EAF8F3;
 --danger:#BF374D; --danger-soft:#FFF0F2; --danger-solid:#BF374D;
 --warning:#936010; --warning-soft:#FFF6E4; --new:#936010; --new-soft:#FFF6E4;
 --teal:#117C6B; --teal-soft:#EAF8F3; --indigo:#5550B9; --indigo-soft:#F0EEFF;
 --violet:#8052B3; --violet-soft:#F6EFFC; --track:#E9EDF5; --focus:#365CD6;
 --chart-new:#D8A13C; --chart-doing:#5279EA; --chart-overdue:#E05A6C; --chart-done:#24A58F;
 --rail:248px; --shadow-card:0 3px 16px #24334C05;
}
:root[data-theme=dark] {
 --app-bg:#101624; --surface:#1A2335; --surface-subtle:#232F45;
 --ink:#EDF1FA; --muted:#B1BED4; --line:#35425A; --control:#7F8FA9;
 --primary:#A2BCFF; --blue-light:#253558; --primary-solid:#365CD6;
 --success:#83D9C0; --success-soft:#193D37; --danger:#FFADB9; --danger-soft:#442634;
 --warning:#EDC277; --warning-soft:#3D3324; --new:#EDC277; --new-soft:#3D3324;
 --teal:#83D9C0; --teal-soft:#193D37; --indigo:#BDB8FF; --indigo-soft:#302F51;
 --violet:#D3AEF3; --violet-soft:#382B49; --track:#303D54; --focus:#A2BCFF;
 --shadow-card:none;
}
body {font-family:Inter,"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased;}
h1,h2,h3 {letter-spacing:-.025em;}
.ico {stroke-width:1.8;}
.content {max-width:1320px; margin-inline:auto; padding:1.75rem 2rem 2.5rem;}
.card,.work-space,.task-detail-screen {border-color:var(--line); border-radius:1.125rem; box-shadow:var(--shadow-card);}
.card {padding:1.25rem;}
.btn {border-color:var(--line); border-radius:.75rem; padding:.625rem 1rem; font-weight:600;}
.btn.primary {box-shadow:0 4px 10px #365CD61A;}
.btn:hover {border-color:var(--primary);}
.btn .ico {width:1.125rem; height:1.125rem; flex-shrink:0;}
.page-header {align-items:center; margin-bottom:1.25rem; gap:.75rem;}
.page-header__title {font-weight:750; letter-spacing:-.035em;}
.page-header__context {font-size:var(--font-small); margin-top:.375rem;}
.page-header__actions {gap:.5rem;}
.page-header__actions .btn {font-size:var(--font-small);}
.filter-summary {margin-bottom:1.125rem; padding:.25rem 0;}
.filter-summary>span {display:flex; align-items:center; gap:.5rem; line-height:1.35;}
.filter-summary>span>.ico {width:1rem;height:1rem;flex-shrink:0;}
.filter-summary .btn {background:var(--surface);}
input,select,textarea {border-radius:.75rem; border-color:var(--control);}
input:focus,select:focus,textarea:focus {border-color:var(--primary);}
.searchbox {background:var(--surface); border-color:var(--line); border-radius:.75rem;}
.searchbox input {background:transparent;}
.scope-switch {border-radius:.75rem; background:var(--surface-subtle); padding:.25rem;}
.scope-switch button {border-radius:.55rem; font-size:var(--font-small);}
.scope-switch button.active,.scope-switch button[aria-pressed=true] {box-shadow:0 2px 7px #24334C0A;}
.section-head {margin-bottom:1rem;}
.section-head h2 {display:flex; align-items:center; gap:.625rem; font-weight:700;}
.section-symbol {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:2rem; height:2rem; border-radius:.65rem; color:var(--primary); background:var(--blue-light);}
.section-symbol>.ico {width:1.125rem;height:1.125rem;}
.section-symbol.calendar {color:var(--violet);background:var(--violet-soft);}
.section-symbol.task {color:var(--warning);background:var(--warning-soft);}
.section-symbol.people {color:var(--teal);background:var(--teal-soft);}
.count-pill {border-radius:2rem; padding:.25rem .625rem; background:var(--surface-subtle); color:var(--muted);}
.empty {padding:1.25rem; text-align:center;}
.empty h3 {font-size:var(--font-body); margin:0 0 .375rem;}
.empty p {font-size:var(--font-small); max-width:28rem; margin:.25rem auto .5rem;}
.empty-symbol {display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin:0 auto .75rem;border-radius:1rem;background:var(--blue-light);color:var(--primary);}

/* A quiet navy navigation rail, with one clear selected destination. */
.sidebar {background:#172744; color:#D4DEEF; border-right:0; padding:1.75rem 1rem 1.25rem;}
.app-brand--sidebar {padding:0 .25rem 1.75rem; border-bottom:1px solid #31415F; margin-bottom:1.5rem;}
.brand-logo {object-fit:contain;background:#FFF;border-radius:.5rem;}
.app-brand--sidebar .brand-logo {padding:.125rem; width:2.75rem;height:2.75rem;flex-basis:2.75rem;}
.app-brand--sidebar .app-brand__text strong {color:#FFF; font-size:1rem;line-height:1.4;}
.app-brand--sidebar .app-brand__text>span {color:#B9C8DF; font-size:.75rem;line-height:1.6;margin-top:.25rem;}
.nav {gap:.5rem;}
.nav button {color:#C4D0E3; font-weight:500; border-radius:.75rem; min-height:3.25rem;padding:.75rem 1rem;}
.nav button.active {color:#FFF; background:#365CD6; box-shadow:none;}
.nav button:hover:not(.active) {background:#233656;color:#FFF;}
.nav-settings {border-top:1px solid #31415F!important; border-radius:0!important; margin-top:1.25rem; padding-top:1rem!important;}
.side-quick {gap:.625rem;margin-top:1.5rem;}
.side-quick>.btn:not(.primary) {background:#233656;color:#E3EBF8;border-color:#435572;}
.side-bottom {color:#B9C8DF;font-size:.75rem;}
.side-bottom .trial-badge {font-size:.75rem;color:#D4DEEF;letter-spacing:.06em;}
.side-bottom .text-action {color:#D4DEEF;}
.app-header {border-bottom:0; min-height:4.5rem;padding-inline:2rem;}
.app-header #unit-select {border-color:var(--line); border-radius:2rem;}
.desktop-greeting span {font-size:var(--font-body);}
.desktop-greeting small {margin-top:.125rem;}
.app-header__actions {gap:.5rem;}
.account-toggle {border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);}
.trial-ribbon {background:var(--surface); color:var(--muted); border-bottom:1px solid var(--line);font-size:.75rem;padding:.25rem 2rem .5rem;display:flex;align-items:center;gap:.375rem;}
.trial-ribbon:before {content:"";width:.375rem;height:.375rem;border-radius:50%;background:var(--warning);}

/* Overview: chart first. Zero data keeps the visual, never fabricates shares. */
.dashboard-layout {display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:1.25rem;align-items:start;}
.dashboard-main-chart {overflow:hidden;border-top:3px solid var(--primary-solid);padding-top:1.125rem;}
.dashboard-main-chart>.section-head {margin-bottom:.75rem;}
.chart-switch {display:inline-flex;width:max-content;max-width:100%;margin:0 0 1.25rem;}
.chart-switch button {flex:0 0 auto;white-space:nowrap;padding:.5rem 1rem;min-height:2.75rem;}
.status-visual {display:grid;grid-template-columns:minmax(8rem,.95fr) minmax(9rem,1fr);gap:1.25rem;align-items:center;padding:.5rem 0 1.25rem;}
.donut-wrap {position:relative;width:100%;max-width:13.5rem;aspect-ratio:1;flex:none;margin:auto;}
.donut-wrap svg {display:block;width:100%;height:auto;transform:rotate(-90deg);}
.donut-track {stroke:var(--track);}
.donut-segment {stroke-linecap:butt;cursor:pointer;}
.donut-segment.open_current {stroke:var(--chart-new);}
.donut-segment.doing_current {stroke:var(--chart-doing);}
.donut-segment.overdue {stroke:var(--chart-overdue);}
.donut-segment.done {stroke:var(--chart-done);}
.donut-total {position:absolute;inset:26%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;padding:0;border:0;background:transparent;color:var(--ink);border-radius:50%;}
.donut-total strong {font-size:2.4rem;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.045em;}
.donut-total span {font-size:var(--font-small);color:var(--muted);white-space:nowrap;}
.status-legend {display:grid;gap:.5rem;min-width:0;}
.status-item {display:grid;grid-template-columns:.5rem minmax(0,1fr) auto;gap:.625rem;align-items:center;min-height:2.75rem;border:0;border-radius:.625rem;padding:.625rem .75rem;text-align:left;color:var(--ink);background:var(--surface-subtle);font-size:var(--font-small);line-height:1.3;}
.status-item strong {font-size:var(--font-body);font-variant-numeric:tabular-nums;}
.status-item.open_current {background:var(--new-soft);}
.status-item.doing_current {background:var(--blue-light);}
.status-item.overdue {background:var(--danger-soft);}
.status-item.done {background:var(--success-soft);}
.status-dot {width:.5rem;height:.5rem;border-radius:50%;background:var(--chart-new);}
.doing_current .status-dot {background:var(--chart-doing);}
.overdue .status-dot {background:var(--chart-overdue);}
.done .status-dot {background:var(--chart-done);}
.status-caption {display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;border-top:1px solid var(--line);padding:.875rem 0 0;font-size:var(--font-small);color:var(--muted);}
.status-caption .text-action {padding:.125rem 0;min-height:2.75rem;}
.completion-caption {display:inline-flex;align-items:center;gap:.375rem;color:var(--success);}
.completion-caption>.ico {width:1rem;height:1rem;}
.ontime-caption {font-size:var(--font-small);color:var(--muted);margin-top:.5rem;}
.chart-explainer {font-size:var(--font-small);color:var(--muted);margin-top:.75rem;}
.chart-explainer summary {cursor:pointer;padding:.5rem 0;}
.chart-explainer p {margin:.375rem 0;}
.dashboard-agenda {display:grid;gap:1.25rem;}
.dashboard-agenda .attention-queue {margin:0;}
.dashboard-workload {grid-column:1/-1;}
.dashboard-layout>.completion-section {grid-column:1/-1;}
.panel-empty {display:flex;align-items:center;gap:.875rem;padding:.5rem 0;min-height:3.5rem;color:var(--muted);}
.panel-empty p {font-size:var(--font-small);margin:0;line-height:1.5;}
.panel-empty-icon {display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:var(--surface-subtle);color:var(--muted);}
.panel-empty-icon .ico {width:1.25rem;height:1.25rem;}
.load-track {height:.4rem;background:var(--track);}
.load-all {background:var(--chart-doing)!important;}
.load-done {background:var(--chart-done)!important;}

/* Work rows and detail: readable hierarchy, fewer competing outlines. */
.work-space {display:block; height:auto;min-height:0;background:var(--surface);}
.work-space>.task-pane {display:none;}
.work-list-panel {border:0;}
.work-list-scroll {max-height:none;overflow:visible;}
.list-caption {padding:1rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--line);}
.list-caption small:empty {display:none;}
.work-card {padding:1.125rem 1.25rem;gap:.875rem;}
.work-card:hover {background:var(--surface-subtle);}
.work-card-title {font-weight:650;line-height:1.45;}
.work-state-icon {border-radius:.75rem;width:2.5rem;height:2.5rem;background:var(--new-soft);color:var(--new);}
.work-state-icon.doing {background:var(--blue-light);color:var(--primary);}
.work-state-icon.done {background:var(--success-soft);color:var(--success);}
.work-card-meta {gap:.375rem .625rem;margin-top:.375rem;}
.work-assigned {margin-top:.625rem;}
.work-card .progress-summary {max-width:30rem;}
.work-card.compact {padding:.875rem 0;border-bottom:1px solid var(--line);}
.work-card.compact:last-of-type {border-bottom:0;}
.work-card.compact .work-state-icon {display:none;}
.work-card.compact .work-assigned,.work-card.compact .progress-summary {display:none;}
.work-card.compact .work-card-title {font-size:var(--font-small);}
.work-card.compact .work-card-meta {font-size:var(--font-small);}
.progress-track {height:.375rem;background:var(--track);}
.progress-track>i {background:var(--chart-doing);}
.progress-track.complete>i {background:var(--chart-done);}
.tag,.priority,.late,.review-tag,.kind-pill {border-radius:.375rem;font-size:var(--font-small);padding:.15rem .45rem;}
.tag.open {background:var(--new-soft);color:var(--new);}
.tag.doing {background:var(--blue-light);color:var(--primary);}
.tag.done {background:var(--success-soft);color:var(--success);}
.late {background:var(--danger-soft);color:var(--danger);}
.task-detail-screen .task-pane-head {padding:1.25rem;}
.task-detail-screen .task-pane-body {padding:0 1.25rem 1.25rem;}
.task-detail-screen .section-navigation {margin:0 1.25rem;}
.comment {border-radius:.75rem;}

/* One colour per equipment group; same navigation geometry everywhere. */
.module-nav {border-bottom:1px solid var(--line);padding-bottom:.25rem;margin-bottom:1.25rem;}
.module-switch {border-radius:.875rem;padding:.625rem .875rem;border-color:transparent;min-height:3rem;}
.module-switch:hover {border-color:currentColor;}
.module-select-row {gap:.5rem;}
.module-nav .tab-strip {gap:.25rem;background:transparent;border:0;padding:.375rem 0 0;}
.tab-strip__item {border-radius:.5rem .5rem 0 0;min-height:2.75rem;font-size:var(--font-small);padding:.625rem .875rem;}
.module-nav .tab-strip__item.active {background:var(--surface);font-weight:700;}
.fleet-metrics {gap:.875rem;}
.fleet-metrics>.card {text-align:left;display:grid;grid-template-columns:1fr auto;gap:.875rem .5rem;border:0;background:var(--blue-light);}
.fleet-metrics>.card:nth-child(2) {background:var(--success-soft);}
.fleet-metrics>.card:nth-child(3) {background:var(--warning-soft);}
.fleet-metrics>.card.status-overdue {background:var(--danger-soft);}
.fleet-metrics small {color:var(--ink);font-size:var(--font-small);}
.fleet-metrics strong {grid-column:1;font-size:2rem;line-height:1.1;}
.fleet-metric-icon {grid-column:2;grid-row:1/3;align-self:center;background:var(--surface);width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;color:var(--primary);}
.fleet-metrics>.card:nth-child(2) .fleet-metric-icon {color:var(--success);}
.fleet-metrics>.card:nth-child(3) .fleet-metric-icon {color:var(--warning);}
.fleet-metrics>.card.status-overdue .fleet-metric-icon {color:var(--danger);}
.machine-card,.fleet-record {border-radius:1rem;box-shadow:var(--shadow-card);}
.machine-card h3 {font-size:var(--font-body);}
.machine-card .machine-code {color:var(--primary);}
.fleet-record small,.fleet-alert small {line-height:1.5;}
.fleet-alert.urgent {border-left:3px solid var(--danger);}

/* Schedule, personnel and grouped settings share the same visual language. */
.schedule-date-controls {background:var(--surface);border:1px solid var(--line);border-radius:.875rem;padding:.375rem;gap:.25rem;}
.schedule-date-controls input {border:0;background:transparent;font-weight:600;padding-inline:.25rem;}
.schedule-date-controls>.btn {background:var(--blue-light);color:var(--primary);border-color:transparent;}
.schedule-views {margin-top:.75rem;}
.schedule-card {border-left:3px solid var(--primary);}
.schedule-date {border-right:0;border-radius:.625rem;background:var(--blue-light);padding:.625rem;min-width:3.5rem;}
.person-summary {border-top:3px solid var(--primary);}
.person-work-stats {gap:.5rem;}
.person-work-stats>span {padding:.75rem .5rem;border-radius:.75rem;background:var(--blue-light);font-size:var(--font-small);}
.person-work-stats>span:nth-child(2) {background:var(--success-soft);}
.person-work-stats>span:nth-child(3) {background:var(--danger-soft);}
.person-work-stats strong {font-size:1.75rem;}
.month-picker {margin-block:.75rem 1rem;}
.settings-index {gap:1.25rem;}
.settings-index section>h2 {font-size:var(--font-small);color:var(--muted);font-weight:600;margin-bottom:.625rem;}
.settings-index-group {border-radius:1rem;box-shadow:var(--shadow-card);overflow:hidden;}
.settings-index-group>button {padding:.875rem 1rem;gap:.875rem;}
.settings-index-group>button small {line-height:1.4;}
.settings-icon {border-radius:.75rem;width:2.5rem;height:2.5rem;background:var(--blue-light);}
[data-tone=amber] .settings-icon {background:var(--warning-soft);color:var(--warning);}
[data-tone=teal] .settings-icon {background:var(--teal-soft);color:var(--teal);}
.settings-content {border-radius:1rem;}
.settings-preview {border-radius:.875rem;background:var(--surface-subtle);}
.preference-buttons .btn[aria-pressed=true] {box-shadow:inset 0 0 0 1px var(--primary);}
.account-menu {background:var(--surface);border-radius:1rem;box-shadow:0 12px 48px #10243A24;}
.account-profile {padding-bottom:1rem;}
dialog {border-radius:1.25rem;box-shadow:0 24px 80px #17274430;}
.modal-head {padding:1rem 1.25rem;}
.modal-body {padding:1.25rem;}
.trial-gate {border-radius:1.5rem;box-shadow:var(--shadow-card);}
.persona {border-color:var(--line);border-radius:.875rem;}
.persona.recommended {border-color:var(--primary);background:var(--blue-light);}

@media (min-width:1101px) {
 .dashboard-main-chart {min-height:23rem;}
 .dashboard-agenda>.card {min-height:10.875rem;}
 .dashboard-workload .workload {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;}
 .module-group-links {border:0;background:var(--surface);border-radius:.875rem;padding:.375rem;}
}
@media (max-width:1100px) and (min-width:761px) {
 :root {--rail:196px;}
 .content {padding:1.25rem;}
 .dashboard-layout {grid-template-columns:minmax(0,1fr);}
 .dashboard-agenda {grid-template-columns:repeat(2,minmax(0,1fr));}
 .app-header {padding-inline:1.25rem;}
 .trial-ribbon {padding-inline:1.25rem;}
}
@media (max-width:760px) {
 :root {--rail:0px;}
 .content {padding:1.125rem 1rem calc(var(--bottom-nav-height,4rem) + 1.25rem);}
 .app-header {padding:.625rem 1rem .375rem;background:var(--surface);gap:.25rem .5rem;}
 .app-brand--mobile strong {font-size:var(--font-brand);letter-spacing:-.035em;}
 .app-brand--mobile .app-brand__text>span {font-size:.8125rem;line-height:1.4;color:var(--muted);}
 .app-header__actions {gap:.125rem;}
 .trial-ribbon {font-size:.75rem;padding:.25rem 1rem .5rem;line-height:1.2;}
 .app-chrome.is-compact .app-header {min-height:3.5rem;padding-block:.5rem;}
 .page-header {display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;align-items:center;}
 .page-header__text {flex:1 1 auto;min-width:0;}
 .page-header__actions {width:auto;flex:0 1 auto;justify-content:flex-start;gap:.5rem;}
 .page-header__actions .btn.primary {flex:0 1 auto;}
 .page-header:has(.page-header__actions>.btn:nth-child(2)) .page-header__actions {flex-basis:100%;}
 .page-header__actions .btn {font-size:var(--font-small);padding:.625rem .875rem;}
 .page-header:has(.page-header__actions>.btn:nth-child(2)) .page-header__actions .btn.primary {flex:1;}
 .page-header:has(.page-header__actions>.btn:nth-child(2)) .page-header__actions .btn:not(.primary) {flex:0 1 auto;}
 .card {padding:1rem;border-radius:1rem;}
 .filter-summary {margin-bottom:.875rem;}
 .filter-summary>span {font-size:var(--font-small);}
 .filter-summary .btn {padding:.5rem .625rem;}
 .dashboard-layout {display:flex;flex-direction:column;gap:.875rem;}
 .dashboard-layout>* {width:100%;min-width:0;}
 .dashboard-agenda {gap:.875rem;}
 .dashboard-main-chart {padding:1rem;}
 .dashboard-main-chart h2 {font-size:var(--font-heading);}
 .chart-switch {margin-bottom:.75rem;}
 .chart-switch button {padding:.375rem .875rem;}
 .status-visual {grid-template-columns:minmax(7rem,.9fr) minmax(0,1.15fr);gap:.875rem;padding:.375rem 0 1rem;}
 .donut-wrap {max-width:10rem;}
 .donut-total strong {font-size:2rem;}
 .donut-total span {font-size:.8125rem;}
 .status-legend {gap:.375rem;}
 .status-item {font-size:var(--font-small);gap:.375rem;padding:.5rem;min-height:2.75rem;}
 .status-item strong {font-size:var(--font-body);}
 .status-caption {padding-top:.75rem;line-height:1.4;}
 .section-head {margin-bottom:.75rem;}
 .section-head h2 {font-size:var(--font-heading);gap:.5rem;}
 .section-symbol {width:1.875rem;height:1.875rem;}
 .mobile-nav {padding:.375rem .375rem calc(.375rem + env(safe-area-inset-bottom,0px));border-top-color:var(--line);box-shadow:0 -4px 24px #17274405;}
 .mobile-nav button {gap:.25rem;padding:.375rem 0;min-height:3.25rem;border-radius:.75rem;font-size:.84375rem;}
 .mobile-nav button span {letter-spacing:-.035em;overflow-wrap:normal;white-space:nowrap;}
 .mobile-nav button.active {box-shadow:none;background:var(--blue-light);color:var(--primary);}
 .mobile-nav .ico {width:1.375rem;height:1.375rem;}
 .work-toolbar .btn {padding:.5rem .625rem;}
 .work-card {padding:1rem;gap:.625rem;}
 .work-card .work-state-icon {width:2rem;height:2rem;flex-shrink:0;}
 .work-card-meta {font-size:var(--font-small);}
 .work-scopes {margin-block:.875rem;}
 .active-filter-summary:empty {display:none;}
 .module-nav {margin-bottom:1rem;}
 .module-switch {padding:.625rem .75rem;font-size:var(--font-body);}
 .fleet-metrics {gap:.625rem;}
 .fleet-metrics>.card {padding:1rem .875rem;grid-template-columns:1fr;position:relative;}
 .fleet-metrics small {padding-right:1.5rem;line-height:1.35;min-height:2.7em;}
 .fleet-metrics strong {font-size:1.875rem;}
 .fleet-metric-icon {position:absolute;right:.625rem;top:.875rem;width:1.75rem;height:1.75rem;background:transparent;}
 .fleet-metric-icon>.ico {width:1.125rem;height:1.125rem;}
 .schedule-date-controls {grid-template-columns:2.75rem minmax(0,1fr) 2.75rem auto;gap:.125rem;}
 .schedule-date-controls>.btn {padding:.5rem;font-size:var(--font-small);}
 .schedule-date-controls input {font-size:var(--font-small);}
 .person-work-stats>span {padding:.75rem .375rem;}
 .person-summary-picker {padding-bottom:.5rem;}
 .settings-index {gap:1rem;}
 .settings-index-group>button {padding:.875rem;}
 .settings-index-group>button small {font-size:var(--font-small);}
 .empty {padding:1.25rem .75rem;}
 .empty-symbol {width:2.75rem;height:2.75rem;}
}
@media(max-width:359px) {
 .mobile-nav button {font-size:.8125rem;}
 .content {padding-inline:.75rem;}
 .app-header,.trial-ribbon {padding-inline:.75rem;}
 .status-visual {grid-template-columns:minmax(0,1fr);justify-items:center;gap:.75rem;}
 .donut-wrap {max-width:9rem;}
 .status-legend {width:100%;grid-template-columns:repeat(2,minmax(0,1fr));}
 .schedule-date-controls {grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;}
 .schedule-date-controls>.btn {grid-column:1/-1;justify-self:stretch;}
}
@media(max-width:430px) {
 :root[data-font=large] .status-visual {grid-template-columns:minmax(0,1fr);}
 :root[data-font=large] .status-legend {width:100%;grid-template-columns:repeat(2,minmax(0,1fr));}
 :root[data-font=large] .mobile-nav button span {white-space:normal;}
 :root[data-font=large] .mobile-nav button {font-size:1rem;}
 :root[data-font=large] .fleet-metrics small {padding-right:0;}
 :root[data-font=large] .fleet-metric-icon {display:none;}
}
:root[data-contrast=high] {--line:#8293AD;--control:#687C9D;}
:root[data-theme=light][data-contrast=high] {--muted:#334765;--ink:#15233D;}
:root[data-theme=dark][data-contrast=high] {--ink:#FFF;--muted:#E0E9FA;--control:#A6B6CE;}
:root[data-text-reflow=true] .status-visual {display:flex;flex-direction:column;}
:root[data-text-reflow=true] .status-legend {grid-template-columns:1fr;width:100%;}
:root[data-text-reflow=true] .page-header__actions {width:100%;}
@media print {
 :root {--app-bg:#FFF;--surface:#FFF;--ink:#202C46;--muted:#52657D;}
 .card {box-shadow:none;}
 .sidebar,.app-chrome,.mobile-nav {display:none!important;}
}

/* V1.2.5 — readable branding and document workflows */
.app-brand--sidebar .brand-logo {width:3rem;height:3rem;flex:0 0 3rem}
.account-toggle {position:relative}#avatar-notification-count {position:absolute;right:0;top:0}
.update-bar {display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem;background:var(--amber-bg,#fffbeb);border-bottom:1px solid var(--line);color:var(--ink)}
.update-bar>span {margin-right:auto;font-size:var(--font-small)}.update-bar .btn {padding:.375rem .625rem;min-height:2.75rem}
.fleet-metrics.machine-kpis {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.machine-kpis .card {min-height:6rem;padding:1rem;display:flex;flex-direction:column;gap:.5rem;text-align:left;position:relative;overflow-wrap:anywhere}
.machine-kpis small {font-size:var(--font-small);max-width:calc(100% - 1.5rem);line-height:1.4}
.machine-kpis strong {font-size:1.75rem;line-height:1.1;color:var(--ink)}
.machine-kpis .metric-operating {border-left:4px solid #0f766e}.machine-kpis .metric-repair {border-left:4px solid #b45309}
.machine-kpis .metric-overdue,.machine-kpis .metric-inspectionExpired {border-left:4px solid #b91c1c;background:var(--red-light,#fff1f2)}
.machine-kpis .metric-inspectionSoon {border-left:4px solid #b45309;background:var(--amber-light,#fffbeb)}
.inspection-toolbar,.document-summary {display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}
.inspection-card,.document-card,.document-version {background:var(--surface,#fff);border:1px solid var(--line);border-radius:1rem;padding:1rem;margin-bottom:.75rem;display:flex;gap:1rem;align-items:flex-start;min-width:0}
.inspection-card>div:first-child,.document-card__main {flex:1;min-width:0}.inspection-card h2,.document-card h3 {font-size:var(--font-heading);overflow-wrap:anywhere;margin:0 0 .5rem}
.inspection-card small,.document-card small,.document-version small,.document-filename small {display:block;color:var(--muted);font-size:var(--font-small);line-height:1.5}
.inspection-card .actions {flex-wrap:wrap}.inspection-card.state-expired,.inspection-card.state-revoked {border-left:4px solid #b91c1c}.inspection-card.state-soon {border-left:4px solid #b45309}
.document-type {background:var(--blue-light);color:var(--primary);font-size:var(--font-small);font-weight:700;padding:.5rem;border-radius:.5rem;flex:none}
.document-filters {display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:.75rem;margin:1rem 0}.document-filters label {min-width:0}.document-read-state {display:inline-block;margin:.5rem 0;font-size:var(--font-small);color:var(--muted)}
.file-picker {margin:1rem 0;padding:1rem;background:var(--surface,#fff);border:1px solid var(--line);border-radius:1rem}.file-picker input[type=file] {width:100%;max-width:100%;padding:.5rem}.file-picker p {font-size:var(--font-small)}
/* One scroll surface for machine fields plus attachments. A fixed attachment
   panel must not squeeze the machine fields into a tiny nested scroll area. */
.modal-body:has(.file-picker) {display:block;overflow:auto;}
.modal-body:has(.file-picker) #record-form {display:block;max-height:none;}
.modal-body:has(.file-picker) .form-grid {overflow:visible;min-height:auto;}
.modal-body:has(.file-picker) .modal-footer {position:sticky;bottom:0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));z-index:2;}
.file-queue-item {padding:.75rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:.5rem}.file-queue-item b {overflow-wrap:anywhere}.file-queue-item small {display:block;color:var(--muted)}
.document-dialog {width:min(62rem,calc(100vw - 2rem));max-width:calc(100vw - 1rem)}.document-filename {overflow-wrap:anywhere}
.original-toolbar {display:flex;flex-wrap:wrap;align-items:end;gap:.5rem;margin:.75rem 0}.original-toolbar label {max-width:8rem}.original-toolbar input {min-width:0;width:5rem}
.original-canvas-wrap {max-height:55vh;overflow:auto;background:#e2e8f0;border:1px solid var(--line);border-radius:.5rem}.original-canvas-wrap canvas {display:block;width:100%;max-width:none;height:auto}
.review-range {display:flex;gap:.75rem}.review-range label {flex:1;min-width:0}.review-scope,.review-select {display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0;line-height:1.5}.review-scope input,.review-select input {flex:none;margin-top:.25rem;width:1.25rem;height:1.25rem}
.document-review progress {width:100%;height:.75rem}.comparison-summary {padding:1rem;background:var(--blue-light);border-radius:.75rem;margin:1rem 0}.comparison-list {display:grid;gap:.75rem}
.comparison-row {border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:.75rem;padding:1rem;background:var(--surface,#fff);min-width:0}.compare-different {border-left-color:#b91c1c}.compare-match {border-left-color:#0f766e}.compare-uncertain {border-left-color:#b45309}.comparison-heading {display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.comparison-heading span {font-size:var(--font-small)}
.comparison-values {display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:.75rem 0}.comparison-values>* {min-width:0}.comparison-values small,.comparison-values strong {display:block;overflow-wrap:anywhere}.comparison-values small {color:var(--muted)}
.evidence-link {display:flex;flex-direction:column;gap:.375rem;text-align:left;width:100%;padding:.75rem;border:1px solid var(--line);background:var(--app-bg);color:var(--ink);border-radius:.5rem;margin:.5rem 0;overflow-wrap:anywhere;white-space:normal}.evidence-link small {color:var(--muted)}
[data-theme=dark] .metric-overdue,[data-theme=dark] .metric-inspectionExpired {background:#321c29}[data-theme=dark] .metric-inspectionSoon {background:#30271c}[data-theme=dark] .update-bar {background:#30271c}[data-theme=dark] .original-canvas-wrap {background:#172033}
@media(max-width:767px){
 .app-header {display:grid;grid-template-columns:minmax(0,1fr) 2.75rem;gap:.5rem;padding:.625rem .75rem}
 .app-brand--mobile {display:flex;align-items:center;gap:.625rem;min-width:0}.app-brand--mobile .brand-logo {width:2.5rem;height:2.5rem;flex:0 0 2.5rem}.app-brand--mobile .app-brand__text {min-width:0}.app-brand--mobile strong {font-size:var(--font-body);line-height:1.3;letter-spacing:-.025em}.app-brand--mobile .app-brand__text>span {font-size:calc(var(--font-body)*.875);line-height:1.4}
 .app-header__actions {gap:0}.app-header__actions>[data-action=notifications] {display:none}.app-header__actions .account-toggle {width:2.75rem;height:2.75rem;min-width:2.75rem}
 .app-chrome.is-compact .brand-logo,.chrome-compact .brand-logo {display:block}.trial-ribbon {padding:.25rem .75rem}
 .fleet-metrics.machine-kpis {grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.machine-kpis .card {padding:.75rem;min-height:6rem}
 .document-filters {grid-template-columns:1fr 1fr}.document-filters label:first-child {grid-column:1/-1}.document-card {gap:.5rem;padding:.75rem}.document-card .actions {gap:.375rem;flex-wrap:wrap}.inspection-card {flex-direction:column}.inspection-card .actions {width:100%}
 .file-queue-item {grid-template-columns:1fr}.comparison-values {grid-template-columns:1fr}.document-dialog {width:calc(100vw - .75rem)}
}
@media(max-width:350px){.document-filters {grid-template-columns:1fr}.fleet-metrics.machine-kpis {gap:.5rem}.machine-kpis .card {padding:.625rem}}

/* Preserve the flex brand when earlier layout rules use display:contents. */
@media(max-width:767px){.app-brand--mobile .app-brand__text{display:grid;gap:.125rem;min-width:0}.app-brand--mobile strong{padding:0}.app-header__actions{grid-column:2;grid-row:1}.app-chrome.is-compact .brand-logo{width:2.5rem;height:2.5rem}}

/* Preserve a visible, proportionate company logo while the header is compact. */
@media(max-width:767px){.app-chrome.is-compact .app-brand--mobile .brand-logo{display:block;width:40px;height:40px;flex:0 0 40px}}

@media(min-width:768px){#avatar-notification-count{display:none}}
#avatar-notification-count{top:-5px;right:-5px}
