/* F1 + L1 · Shared by browser, Windows and Android clients. */
:root {
  --navy:#0b1220; --bg:#111827; --surface:#1f2937; --ink:#f3f4f6;
  --muted:#b6c2d1; --border:#374151; --blue:#60a5fa;
  --teal:#4ade80; --orange:#fbbf24; --purple:#c4b5fd;
  --radius:12px; --shadow:0 4px 18px #00000012;
  color-scheme:dark;
}
body {background:var(--bg);color:var(--ink)}
input,select,textarea,.ma-form-grid textarea {background:#111827;color:var(--ink);border-color:#526075}
textarea {font:inherit}
input::placeholder,textarea::placeholder {color:#9caabd;opacity:1}
input[type=checkbox],input[type=radio] {accent-color:#2563eb}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible {outline:3px solid #93c5fd;outline-offset:3px}
.primary {background:#2563eb;color:white}
.primary:hover {background:#1d4ed8}
.secondary,.reset {background:#263244;color:var(--ink);border-color:#526075}
.secondary:hover,.reset:hover {background:#334155}
.module-switch button[aria-pressed=true],.tabs button[aria-selected=true] {background:#1e3a5f;color:#bfdbfe;border-color:#60a5fa}
.tabs,.bar-track {background:#111827}
.app-content .topbar,.sync-toolbar {background:#182231;border-color:var(--border)}
.sync-toolbar {color:#86efac}
.sync-toolbar.offline {background:#332918;color:#fcd34d}
.sidebar {background:var(--navy);border-right:1px solid #263244}
.sidebar-label,.sidebar-brand span:not(.mark),.sidebar-account>span {color:#a8b8cc}
.sidebar .mark,.auth-card .mark {background:#172f50;border-color:#31517b;color:#93c5fd}
.nav-item {color:#cbd5e1}
.nav-item:hover {background:#18263a}
.nav-item[aria-current=page] {background:#173455;color:#dbeafe;box-shadow:inset 3px 0 #60a5fa}
.sidebar-account .secondary {background:#182231;border-color:#374151}
.kpi {background:var(--surface)}
.kpi:first-child {background:#172f50;border-color:#31517b}
.kpi:first-child .kpi-note {color:#bfdbfe}
.kpi:nth-child(2) .kpi-value {color:var(--teal)}
.kpi:nth-child(3) .kpi-value {color:var(--orange)}
.bar-row:hover,tbody tr:hover {background:#263244}
th {background:#182231;color:#cbd5e1}
th,td,.ma-table th,.ma-table td,.ma-notices li,#security-panel article {border-color:var(--border)}
th[aria-sort=ascending],th[aria-sort=descending] {background:#173455;color:#93c5fd}
.formula,.install-instructions,.mfa-secret {background:#111827;color:#dbeafe;border-color:var(--border)}
.caution {color:#fcd34d}
.danger {color:#fca5a5}
.feedback,.install-message {background:#142f29;border-color:#2e6951;color:#a7f3d0}
.feedback.error {background:#3b2027;border-color:#85404c;color:#fecaca}
.feedback.busy {background:#172f50;border-color:#31517b;color:#bfdbfe}
.analysis-note,.ma-alerts {background:#332918;border-color:#80632b;color:#fde68a}
.svg-grid {stroke:#374151}
.svg-text {fill:#b6c2d1}
.chart-tooltip {background:#0b1220;border:1px solid #526075}
.gray {background:#94a3b8}
.ma-dialog,.install-dialog,#migration-dialog,#security-panel {background:var(--surface);color:var(--ink);border:1px solid var(--border)}
.ma-dialog::backdrop,.install-dialog::backdrop,#migration-dialog::backdrop {background:#030712bb}
.ma-facts dt {color:var(--muted)}
.ma-badge {background:#173455;color:#bfdbfe}
.ma-badge.warning {background:#49331a;color:#fde68a}
.ma-sound {background:var(--surface)}
.ma-kpis>.panel {padding:18px 20px}
.ma-kpis strong {display:block;margin-top:10px;font-variant-numeric:tabular-nums}
#maintenance-content>.panel {padding:20px}
.ma-calendar-legend {color:var(--purple)}
.ma-calendar-legend .late {color:#fca5a5}
.ma-calendar-legend .done {color:#86efac}
.ma-calendar-legend .forecast {color:var(--muted)}
.ma-month,.ma-week,.ma-weekday,.ma-week-line,.ma-calendar-day,.ma-month>.ma-calendar-day {border-color:var(--border)}
.ma-weekday,.ma-week-line {background:#182231}
.ma-calendar-day {background:#1b2533}
.ma-calendar-day.today {background:#172f50}
.ma-calendar-day.outside {background:#111827;color:#9caabd}
.ma-calendar-card {background:#2c2542!important;border-color:#65518d!important;border-left-color:#a78bfa!important;color:#e9d5ff!important}
.ma-calendar-card .ma-calendar-line {color:inherit}
.ma-calendar-card.late {background:#3b2027!important;border-color:#a95660!important;color:#fecaca!important}
.ma-calendar-card.done {background:#14362a!important;border-color:#398564!important;color:#bbf7d0!important}
.ma-calendar-card.forecast {background:#182231!important;border-color:#718198!important;color:#cbd5e1!important}
.ma-calendar-card:hover {filter:brightness(1.12)}
.auth-screen {padding:36px 24px;background:#0b1220}
.auth-layout {width:min(1120px,100%);display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border:1px solid #374151;border-radius:22px;overflow:hidden;box-shadow:0 24px 80px #0005;background:#182231}
.auth-visual {position:relative;min-height:690px;isolation:isolate;overflow:hidden;background:#07111b}
.auth-visual img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:-2}
.auth-visual::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07111b00 30%,#07111bcc 78%,#07111bf5);z-index:-1}
.auth-visual-copy {position:absolute;inset:auto 40px 44px;color:#f3f4f6}
.auth-visual-copy .eyebrow {color:#93c5fd;letter-spacing:.16em;margin-bottom:18px}
.auth-visual-copy h2 {font-size:clamp(2rem,3.6vw,3rem);line-height:1.12;letter-spacing:-.04em;margin-bottom:18px;font-weight:650}
.auth-visual-copy>p:last-child {font-size:.95rem;line-height:1.7;color:#cbd5e1;max-width:340px}
.auth-card {width:100%;min-width:0;border:0;border-radius:0;box-shadow:none;padding:48px;background:#182231;align-self:center}
.auth-card .brand {margin-bottom:48px}
.auth-card .brand .small {display:block;margin-top:4px}
.auth-card .eyebrow {color:#93c5fd}
.auth-card h1 {font-size:2rem;letter-spacing:-.035em}
.auth-card input {min-height:48px}
.auth-card .primary {min-height:48px}
.auth-card>button {width:100%;margin-top:16px}
.auth-note {border-top:1px solid var(--border);padding-top:20px;margin-top:28px}
/* Navigation: grouped modules, framed icons and a dedicated account footer. */
.sidebar {width:284px;padding:26px 14px max(16px,env(safe-area-inset-bottom));background:#0b1220;overflow:hidden;border-right:1px solid #29364b}
.app-content {margin-left:284px}
.sidebar-brand {padding:0 10px 20px;gap:12px;flex-shrink:0}
.sidebar .sidebar-brand .sidebar-emblem {display:grid;place-items:center;width:44px;height:48px;flex-shrink:0;border:1px solid #385a87;border-radius:13px;background:#172f50;box-shadow:inset 0 1px 0 #ffffff0d}
.sidebar-emblem svg {width:29px;height:29px;fill:none;stroke:#93c5fd;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sidebar .sidebar-brand .sidebar-overline {font-size:.55rem;letter-spacing:.13em;color:#91a4bf;margin:0 0 5px;font-weight:650}
.sidebar-brand strong {display:flex;gap:5px;align-items:baseline;font-size:1.3rem;letter-spacing:-.04em;line-height:1.1}
.sidebar .sidebar-brand .sidebar-product {display:inline;font-size:inherit;font-weight:400;color:#b9cbe0;margin:0}
.sidebar-scope {display:flex;gap:7px;padding:0 10px 20px;border-bottom:1px solid #263244;flex-shrink:0}
.sidebar-scope span {padding:4px 9px;border:1px solid #30405a;border-radius:6px;color:#adc2dc;font-size:.62rem;font-weight:650;letter-spacing:.05em;background:#121e30}
.sidebar .sidebar-navigation {display:flex;flex-direction:column;gap:14px;min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px 4px 12px;scrollbar-width:thin;scrollbar-color:#394c69 transparent;scroll-padding:12px}
.sidebar-section {display:grid;gap:2px;flex-shrink:0}
.sidebar-section .sidebar-label {display:flex;align-items:center;gap:10px;font-size:.6rem;letter-spacing:.14em;color:#8d9fb7;margin:0 10px 6px;font-weight:700}
.sidebar-section .sidebar-label::after {content:"";height:1px;background:#263244;flex:1}
.sidebar-admin-section:has(#nav-users[hidden]) {display:none}
.sidebar .nav-item {position:relative;min-height:44px;gap:12px;padding:6px 12px 6px 8px;border:1px solid transparent;border-radius:11px;color:#bccade;font-size:.86rem;font-weight:500;line-height:1.35;flex-shrink:0}
.nav-icon {display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:#172337;border:1px solid #2b3b53;border-radius:9px;color:#8cb7ee}
.sidebar .nav-icon svg {width:18px;height:18px;stroke-width:1.65}
.nav-text {min-width:0;text-align:left}
.sidebar .nav-care .nav-icon {color:#c4b5fd;background:#221e36;border-color:#3d3454}
.sidebar .nav-stock .nav-icon {color:#fcd38a;background:#30271d;border-color:#4f3f29}
.sidebar .nav-admin .nav-icon {color:#9caec6}
.sidebar .nav-item:hover {background:#162338;border-color:#2b3f5b;color:#f1f5f9}
.sidebar .nav-item[aria-current=page] {background:#193758;border-color:#355f8d;color:#eff6ff;box-shadow:inset 3px 0 #60a5fa,0 3px 10px #0002;padding-right:27px}
.sidebar .nav-item[aria-current=page] .nav-icon {color:#dbeafe;background:#285383;border-color:#4778b2}
.sidebar .nav-item[aria-current=page]::after {content:"";position:absolute;right:13px;top:calc(50% - 3px);width:6px;height:6px;border-top:1.5px solid #93c5fd;border-right:1.5px solid #93c5fd;transform:rotate(45deg)}
.sidebar-account {order:4;flex-shrink:0;margin:12px 4px 0;padding:14px 10px 10px;border:1px solid #2c3b52;border-radius:13px;background:#131f30}
.sidebar-profile {display:flex;gap:10px;align-items:center;margin-bottom:12px;min-width:0}
.account-avatar {display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:11px;background:#283c58;border:1px solid #415979;color:#c2d9f6}
.account-avatar svg {width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.account-meta {min-width:0;overflow-wrap:anywhere}
.account-meta strong {font-size:.78rem;line-height:1.4}
.account-meta>span {display:block;font-size:.65rem;color:#a3b5ce;line-height:1.6;margin-top:3px}
.sidebar-account #logout {min-height:38px;background:#1d2c41;border-color:#3a4e69;font-size:.75rem;gap:9px;color:#cbd5e1}
.sidebar-account #logout:hover {background:#2a3c56;color:white}
.sidebar-account #biometric-settings {font-size:.72rem;line-height:1.5;margin-bottom:8px;padding:9px}
.sidebar #security-open {order:3;flex-shrink:0;width:auto;min-height:40px;margin:10px 4px 0;border:1px solid #34475f;border-radius:10px;background:#142338;color:#b8cde8;font-size:.74rem;padding:10px 12px;text-align:left}
.sidebar #security-open:hover {background:#213751}
@media(prefers-reduced-motion:no-preference) {
  .sidebar .nav-item {transition:background-color .15s ease,border-color .15s ease,color .15s ease}
}
@media(max-width:1000px) {
  .sidebar {width:min(300px,90vw);padding-top:max(20px,env(safe-area-inset-top))}
  .app-content {margin-left:0}
  .sidebar-brand {padding-left:7px;padding-right:0;gap:10px}
  .sidebar .sidebar-brand .sidebar-overline {font-size:.5rem}
  .sidebar-brand strong {font-size:1.15rem}
  .sidebar .menu-close {min-width:34px;min-height:36px;flex-shrink:0}
}
@media(max-height:700px) {
  .sidebar {padding-top:max(14px,env(safe-area-inset-top))}
  .sidebar-brand {padding-bottom:12px}
  .sidebar-scope {padding-bottom:12px}
  .sidebar-account {margin-top:8px;padding-top:10px}
  .sidebar .sidebar-navigation {gap:14px}
}
@media(max-width:900px) {
  .auth-card {padding:36px 28px}
  .auth-visual-copy {left:28px;right:28px}
}
@media(max-width:760px) {
  tbody tr {background:var(--surface)}
  .auth-screen {padding:16px 12px;align-items:start}
  .auth-layout {grid-template-columns:1fr;max-width:520px;border-radius:16px}
  .auth-visual {min-height:220px}
  .auth-visual img {object-position:center 39%}
  .auth-visual::after {background:linear-gradient(90deg,#07111be6,#07111b38)}
  .auth-visual-copy {inset:auto 24px 24px}
  .auth-visual-copy h2 {font-size:1.8rem;margin-bottom:0}
  .auth-visual-copy .eyebrow {font-size:.65rem;margin-bottom:10px}
  .auth-visual-copy>p:last-child {display:none}
  .auth-card {padding:28px 24px}
  .auth-card .brand {margin-bottom:28px}
  .auth-card h1 {font-size:1.7rem}
  .auth-card input {font-size:1rem}
}

.sidebar-section:not(:has(.nav-item:not([hidden]))) {display:none}
#new-areas {height:140px}
#access-empty {margin:24px 0;min-height:260px}
#access-empty h1 {font-size:1.4rem;margin-bottom:14px}
#access-empty p {max-width:620px;line-height:1.7}
