@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/noto-sans-devanagari.woff2') format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/manrope-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308,
    U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --bg: #f6f3f0;
  --bg-deep: #efe9e4;
  --panel: #ffffff;
  --panel-alt: #fdfaf8;
  --border: #ece4de;
  --border-strong: #8e8377;
  --text: #211915;
  --text-dim: #6b6259;
  --text-faint: #706962;
  --surface-2: #f8f6f3;
  --ink-dim: #b4aba1;
  --primary: #b5471e;
  --primary-dark: #8b3414;
  --primary-light: #e8794a;
  --primary-soft: #fbeae2;
  --gradient-primary: linear-gradient(135deg, #c44f1e 0%, #b5471e 45%, #8b3414 100%);
  --gray-soft: #f1ece7;
  --amber: #a75c05;
  --amber-soft: #fef3e0;
  --green: #11813a;
  --green-soft: #e8f9ee;
  --red: #d12424;
  --red-soft: #fdeaea;
  --completed: #2f6690;
  --completed-soft: #e7f1f7;
  --held: #7a3f8f;
  --held-soft: #f4ebf7;
  --radius-xl: 16px;
  --radius-lg: 16px;
  --radius-md: 12px;
  --radius-sm: 8px;
  --radius-xs: 8px;
  --radius-pill: 999px;
  --radius-cover: 26px;
  --rail-w: 216px;
  --rail-w-collapsed: 68px;
  --shadow-sm:
    0 1px 2px rgba(63, 16, 3, 0.05),
    0 1px 1px rgba(63, 16, 3, 0.03);
  --shadow-md:
    0 2px 4px rgba(63, 16, 3, 0.04),
    0 6px 16px -4px rgba(63, 16, 3, 0.08);
  --shadow-lg:
    0 2px 4px rgba(63, 16, 3, 0.04),
    0 12px 28px -6px rgba(63, 16, 3, 0.12),
    0 24px 48px -12px rgba(63, 16, 3, 0.10);
  --shadow-xl:
    0 4px 8px rgba(63, 16, 3, 0.05),
    0 20px 44px -8px rgba(63, 16, 3, 0.16),
    0 40px 72px -16px rgba(63, 16, 3, 0.12);
  --shadow-inset-sunken: inset 0 1px 2px rgba(63, 16, 3, 0.04);
  --shadow-inset-top: inset 0 1px 0 rgba(255, 255, 255, 0.75);
  --shadow-glow-primary: 0 4px 14px -2px rgba(181, 71, 30, 0.34), 0 2px 4px rgba(139, 52, 20, 0.2);
  --ease-spring: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-pop: cubic-bezier(0.34, 1.8, 0.5, 1);
  --ease-smooth: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 140ms;
  --dur-base: 240ms;
  --dur-slow: 420ms;
  --dur-reveal: 820ms;
  --dur-draw: 1500ms;
  --topbar-h: 57px;
  --z-sticky: 50;
  --z-sticky-below: 40;
  --z-dropdown: 60;
  --z-toast: 1000;
  --z-skip: 1100;
  --font: 'Manrope', 'Noto Sans Devanagari', -apple-system, 'Segoe UI', Roboto, sans-serif;
  --text-micro: 0.75rem;
  --text-small: 0.875rem;
  --text-body: 1rem;
  --text-lead: 1.125rem;
  --text-heading: 1.35rem;
  --text-display: 1.7rem;
  --text-hero: 2.4rem;
  --glyph-empty: 2.4rem;
  --leading-text: 1.55;
  --leading-tight: 1.15;
  --weight-heavy: 800;
  --weight-strong: 700;
  --weight-bold: 600;
  --weight-medium: 500;
  --qa-in: 0ms;
  --track-caps: 0.06em;
  --track-caps-print: 0.04em;
  --track-tight: -0.02em;
  --track-display: -0.03em;
  --track-letterhead: 0.19em;
  --space-2: 2px;
  --space-4: 4px;
  --space-6: 6px;
  --space-8: 8px;
  --space-10: 10px;
  --space-12: 12px;
  --space-14: 14px;
  --space-16: 16px;
  --space-18: 18px;
  --space-20: 20px;
  --space-22: 22px;
  --space-24: 24px;
  --space-28: 28px;
  --space-32: 32px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; color-scheme: only light; }
::selection { background: var(--primary-soft); color: var(--primary-dark); }
input, textarea, select { caret-color: var(--primary); }
body {
  margin: 0;
  font-family: var(--font);
  background:
    radial-gradient(1200px 600px at 12% -8%, #fef2ec 0%, transparent 60%),
    radial-gradient(900px 500px at 92% 0%, #f7efe9 0%, transparent 55%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 100%);
  background-attachment: fixed;
  color: var(--text);
  font-size: var(--text-body);
  line-height: var(--leading-text);
  letter-spacing: -0.005em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
a { color: var(--primary); text-decoration: none; transition: color var(--dur-fast) var(--ease-smooth); }
a:hover { text-decoration: underline; }
a:not([class]) {
  text-decoration: underline;
  text-underline-offset: 2px;
}
h1, h2, h3, h4 { font-weight: var(--weight-strong); margin: 0; text-wrap: balance; }
h1 { letter-spacing: -0.028em; }
h2 { letter-spacing: -0.022em; }
h3, h4 { letter-spacing: -0.014em; }
p { text-wrap: pretty; }
.kpi-value,
.item-qty,
.step-progress,
.item-timer,
.po-card-meta,
.item-meta-line,
td {
  font-variant-numeric: tabular-nums;
}
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--text);
  color: var(--on-accent);
  padding: var(--space-10) var(--space-16);
  z-index: var(--z-skip);
  border-radius: 0 0 var(--radius-sm) 0;
  font-weight: var(--weight-medium);
}
.skip-link:focus { left: 0; top: 0; }
:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
  border-radius: var(--radius-xs);
}
@keyframes rise-in {
  from { opacity: 0; transform: translateY(14px) scale(0.985); }
  to { opacity: 1; transform: none; }
}
.kpi-tile,
.chart-card,
.po-card,
.panel,
.table-wrap,
.empty-state {
  animation: rise-in var(--dur-slow) var(--ease-smooth) backwards;
}
.kpi-strip .kpi-tile:nth-child(1) { animation-delay: 0ms; }
.kpi-strip .kpi-tile:nth-child(2) { animation-delay: 45ms; }
.kpi-strip .kpi-tile:nth-child(3) { animation-delay: 90ms; }
.kpi-strip .kpi-tile:nth-child(4) { animation-delay: 135ms; }
.kpi-strip .kpi-tile:nth-child(5) { animation-delay: 180ms; }
.kpi-strip .kpi-tile:nth-child(6) { animation-delay: 225ms; }
.kpi-strip .kpi-tile:nth-child(7) { animation-delay: 270ms; }
.kpi-strip .kpi-tile:nth-child(8) { animation-delay: 315ms; }
.charts-row .chart-card:nth-child(2) { animation-delay: 80ms; }
.po-list .po-card:nth-child(1) { animation-delay: 60ms; }
.po-list .po-card:nth-child(2) { animation-delay: 110ms; }
.po-list .po-card:nth-child(3) { animation-delay: 160ms; }
.po-list .po-card:nth-child(4) { animation-delay: 200ms; }
.po-list .po-card:nth-child(n+5) { animation-delay: 240ms; }
label {
  display: block;
  font-weight: var(--weight-medium);
  font-size: var(--text-small);
  color: var(--text-dim);
  letter-spacing: -0.003em;
  margin: var(--space-14) 0 var(--space-6);
}
input, select, textarea {
  width: 100%;
  padding: 11px 13px;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--border-strong);
  background: var(--panel);
  color: var(--text);
  font-family: var(--font);
  font-size: var(--text-body);
  box-shadow: var(--shadow-inset-sunken);
  transition: border-color var(--dur-fast) var(--ease-smooth), box-shadow var(--dur-fast) var(--ease-smooth);
}
input[type='checkbox'],
input[type='radio'] {
  width: auto;
  padding: 0;
  box-shadow: none;
}
input::placeholder, textarea::placeholder { color: var(--text-faint); }
input:hover:not(:focus), select:hover:not(:focus), textarea:hover:not(:focus) { border-color: var(--text-faint); }
input:focus, select:focus, textarea:focus {
  border-color: var(--primary);
  outline: none;
  box-shadow: 0 0 0 3.5px var(--primary-soft), var(--shadow-inset-sunken);
}
textarea { resize: vertical; min-height: 70px; }
button {
  cursor: pointer;
  font-family: var(--font);
  font-weight: var(--weight-bold);
  font-size: var(--text-body);
  letter-spacing: -0.006em;
  border-radius: var(--radius-sm);
  border: 1.5px solid transparent;
  padding: 11px 18px;
  position: relative;
  transition:
    background-color var(--dur-fast) var(--ease-smooth),
    background-position var(--dur-base) var(--ease-smooth),
    color var(--dur-fast) var(--ease-smooth),
    border-color var(--dur-fast) var(--ease-smooth),
    transform var(--dur-base) var(--ease-spring),
    box-shadow var(--dur-base) var(--ease-smooth);
}
button:active { transform: translateY(1px) scale(0.985); }
button:disabled { opacity: 0.5; cursor: not-allowed; transform: none !important; }
button.primary,
.btn.btn-filled {
  background: var(--gradient-primary);
  border-color: transparent;
  color: var(--on-accent);
  box-shadow: var(--shadow-glow-primary), var(--shadow-inset-top);
}
button.primary {
  background-size: 170% 170%;
  background-position: 0% 0%;
  width: 100%;
  margin-top: var(--space-18);
  padding: 13px 18px;
  overflow: hidden;
}
.btn-inline,
.btn-inline.primary {
  width: auto;
  margin-top: 0;
}
.btn-flush,
.btn-flush.primary {
  margin-top: 0;
}
button.primary::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.28) 50%, transparent 65%);
  transform: translateX(-120%);
  transition: transform var(--dur-slow) var(--ease-smooth);
  pointer-events: none;
}
@media (hover: hover) {
  button.primary:hover:not(:disabled) {
    background-position: 65% 45%;
    box-shadow: 0 8px 22px -4px rgba(181, 71, 30, 0.42), 0 2px 6px rgba(139, 52, 20, 0.24), var(--shadow-inset-top);
    transform: translateY(-2px);
  }
  button.primary:hover:not(:disabled)::after { transform: translateX(120%); }
}
button.primary:active:not(:disabled) { transform: translateY(1px) scale(0.99); box-shadow: var(--shadow-sm); }
button.secondary {
  color: var(--text);
  border-color: var(--border-strong);
  box-shadow: var(--shadow-sm), var(--shadow-inset-top);
}
@media (hover: hover) {
  button.secondary:hover:not(:disabled) {
    border-color: var(--primary-light);
    color: var(--primary);
    box-shadow: var(--shadow-md), var(--shadow-inset-top);
    transform: translateY(-2px);
  }
}
button.danger { background: var(--panel); color: var(--red); border-color: #f3c6c6; }
@media (hover: hover) {
  button.danger:hover:not(:disabled) { background: var(--red); color: var(--on-accent); border-color: var(--red); transform: translateY(-2px); box-shadow: 0 6px 16px -4px rgba(220, 38, 38, 0.4); }
}
button.small { padding: 7px 12px; font-size: var(--text-small); border-radius: var(--radius-xs); }
button.text-btn { background: none; border: none; color: var(--primary); padding: var(--space-4) var(--space-6); text-decoration: underline; text-underline-offset: 2px; }
button.text-btn:hover:not(:disabled) { color: var(--primary-dark); transform: none; }
.error-msg {
  color: var(--red);
  font-size: var(--text-small);
  margin-top: var(--space-10);
  min-height: 1em;
  font-weight: var(--weight-medium);
}
.card {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-2);
  padding: var(--space-14);
}
.card + .card { margin-top: var(--space-10); }
.card.compact { padding: var(--space-10) var(--space-12); }
.row-between {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-10);
  flex-wrap: wrap;
}
.error-text {
  color: var(--red);
  font-size: var(--text-small);
  min-height: 1em;
  font-weight: var(--weight-medium);
}
.login-forgot { margin-top: var(--space-14); text-align: center; color: var(--text-dim); font-size: var(--text-small); }
.login-privacy { margin-top: var(--space-8); text-align: center; font-size: var(--text-small); }
.login-privacy a { color: var(--text-dim); text-decoration: underline; }
.field-spacer { display: block; font-size: var(--text-small); line-height: 1.4; margin-bottom: var(--space-4); }
.field-help {
  display: block;
  color: var(--text-dim);
  font-size: var(--text-small);
  max-width: 68ch;
  line-height: 1.4;
  margin-top: var(--space-4);
}
.link-btn {
  background: none;
  border: none;
  color: var(--primary);
  padding: var(--space-4) var(--space-6);
  text-decoration: underline;
  text-underline-offset: 2px;
  font: inherit;
  cursor: pointer;
}
.link-btn:hover:not(:disabled) { color: var(--primary-dark); }
.link-btn.danger,
button.text-btn.danger { color: var(--red); }
.link-btn.danger:hover:not(:disabled),
button.text-btn.danger:hover:not(:disabled) { color: var(--red); text-decoration-thickness: 2px; }
.ghost {
  background: none;
  border: 1.5px solid var(--border-strong);
  color: var(--text-dim);
}
.ghost:hover:not(:disabled) { color: var(--text); border-color: var(--text-dim); }
.panel-inner {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-2);
  padding: var(--space-16);
  margin-top: var(--space-12);
}
.form-actions {
  display: flex;
  gap: var(--space-10);
  align-items: center;
  flex-wrap: wrap;
  margin-top: var(--space-16);
}
.form-actions button.primary { width: auto; margin-top: 0; }
.tile-row { display: flex; flex-wrap: wrap; gap: var(--space-12); margin: var(--space-12) 0; }
.tile {
  flex: 1 1 150px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-16);
}
.tile-value {
  display: block;
  font-size: var(--text-display);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-tight);
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.tile-label {
  display: block;
  font-weight: var(--weight-bold);
  font-size: var(--text-micro);
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  margin-top: var(--space-4);
}
.tile-basis { display: block; color: var(--text-faint); font-size: var(--text-micro); margin-top: var(--space-6); line-height: 1.4; }
.mr-figure-what { color: var(--text-dim); font-size: var(--text-small); }
.quick-group { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--panel); overflow: hidden; }
.quick-group-head {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  min-height: 44px;
  padding: var(--space-12) var(--space-16);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.quick-group-count { color: var(--text-dim); font-weight: var(--weight-medium); font-size: var(--text-small); }
.quick-group-body { padding: 0 var(--space-10) var(--space-10); display: flex; flex-direction: column; gap: var(--space-8); }
.tr-amt-in { width: 92px; min-width: 92px; }
.tr-row-actions { display: flex; flex-wrap: nowrap; gap: var(--space-8); align-items: center; white-space: nowrap; }
.center-screen {
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-20);
  background:
    radial-gradient(700px 420px at 50% -12%, var(--primary-soft) 0%, transparent 62%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 100%);
}
.login-panel {
  width: 100%;
  max-width: 400px;
  border-radius: var(--radius-xl);
  background: var(--panel);
  box-shadow: var(--shadow-xl);
  border: 1px solid var(--border);
  overflow: hidden;
  position: relative;
  animation: rise-in 520ms var(--ease-smooth) backwards;
}
.login-panel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gradient-primary);
}
.login-panel .lp-header { padding: 36px 28px 18px; text-align: center; }
.login-panel .lp-header .lp-logo {
  width: 68px;
  height: 68px;
  object-fit: contain;
  margin-bottom: var(--space-14);
  filter: drop-shadow(0 6px 12px rgba(63, 16, 3, 0.22));
}
.login-panel .lp-header .mark {
  font-family: var(--font);
  font-weight: var(--weight-strong);
  font-size: var(--text-display);
  letter-spacing: -0.028em;
  color: var(--text);
}
.login-panel .lp-header .sub {
  color: var(--text-dim);
  font-size: var(--text-body);
  margin-top: var(--space-6);
}
.login-panel .lp-body { padding: var(--space-6) var(--space-28) var(--space-32); }
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-12) var(--space-24);
  background: #fffdfb;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 3px rgba(63, 16, 3, 0.04), 0 8px 24px -12px rgba(63, 16, 3, 0.10);
  gap: var(--space-12);
  flex-wrap: wrap;
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
}
.topbar { transition: transform var(--dur-base) var(--ease-smooth); }
body.topbar-away .topbar { transform: translateY(-100%); }
@media (prefers-reduced-motion: reduce) {
  .badge.overdue,
  .badge.at_risk,
  .badge.unscheduled { animation: none; box-shadow: 0 0 10px -1px var(--badge-glow); }
}
@media (prefers-reduced-motion: reduce) {
  .topbar { transition: none; }
}
.topbar::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--gradient-primary);
  opacity: 0.9;
}
.topbar .brand {
  font-weight: var(--weight-strong);
  font-size: var(--text-lead);
  letter-spacing: -0.022em;
  display: flex;
  align-items: center;
  gap: var(--space-10);
}
.topbar .brand .logo-mark {
  width: 38px;
  height: 38px;
  object-fit: contain;
  filter: drop-shadow(0 2px 5px rgba(63, 16, 3, 0.24));
  transition: transform var(--dur-base) var(--ease-spring);
}
@media (hover: hover) {
  .topbar .brand:hover .logo-mark { transform: scale(1.06) rotate(-3deg); }
}
.topbar .brand .subtitle {
  color: var(--text-dim);
  font-weight: 500;
  font-size: var(--text-small);
  letter-spacing: 0;
}
.insp-paper > summary {
  cursor: pointer;
  font-size: var(--text-small);
  color: var(--primary);
  min-height: 44px;
  display: flex;
  align-items: center;
}
.insp-paper-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  align-items: flex-start;
  padding: var(--space-10) 0;
}
.insp-paper-result {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  font-size: var(--text-small);
}
.insp-instruments > summary {
  cursor: pointer;
  font-size: var(--text-small);
  color: var(--primary);
  min-height: 44px;
  display: flex;
  align-items: center;
}
.insp-instruments-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  padding: var(--space-10) 0;
}
.insp-instrument-group-label {
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  color: var(--text-dim);
  margin-bottom: var(--space-4);
}
.insp-instrument-row {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  font-size: var(--text-small);
  min-height: 36px;
}
.insp-from-photo {
  margin-top: var(--space-6);
  padding: var(--space-8) var(--space-10);
  background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  background: var(--amber-soft);
  font-size: var(--text-small);
}
.insp-add-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr));
  gap: var(--space-10);
  align-items: end;
}
.insp-add-grid label {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  font-size: var(--text-small);
  color: var(--text-dim);
}
.insp-point-spec {
  font-size: var(--text-small);
  color: var(--text-dim);
  font-variant-numeric: tabular-nums;
}
.insp-spec {
  display: block;
  font-size: var(--text-small);
  color: var(--text-dim);
  font-variant-numeric: tabular-nums;
}
.insp-tool {
  display: block;
  font-size: var(--text-micro);
  color: var(--text-faint);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
}
.insp-checks .insp-reads .insp-check-answers {
  display: flex;
  align-items: center;
  gap: var(--space-10);
}
.insp-value {
  width: 108px;
  min-height: 44px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.insp-value.is-out {
  border-color: var(--red);
  color: var(--red);
  font-weight: var(--weight-strong);
}
.insp-verdict {
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  color: var(--red);
  white-space: nowrap;
}
.si-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  padding: var(--space-12) 0;
}
.si-sets {
  margin: 0;
  padding: var(--space-10) var(--space-12);
  border-radius: var(--radius-md);
  background: var(--primary-soft);
  background-image: linear-gradient(var(--primary-soft), var(--primary-soft));
  font-size: var(--text-small);
}
.si-sets.is-none {
  background: var(--amber-soft);
  background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
}
.si-sets strong { font-size: var(--text-lead); }
.si-empty {
  margin: 0;
  color: var(--text-dim);
  font-size: var(--text-small);
}
.si-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}
.si-row {
  padding: var(--space-10) var(--space-12);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--panel-alt);
}
.si-row-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-10);
  margin-bottom: var(--space-8);
}
.si-name {
  font-weight: var(--weight-bold);
  color: inherit;
}
.si-per,
.si-drg,
.si-from {
  font-size: var(--text-small);
  color: var(--text-dim);
}
.si-strip { overflow-x: auto; }
.si-add-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr));
  gap: var(--space-10);
}
.si-add-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-10);
  margin-top: var(--space-10);
}
.si-hint {
  font-size: var(--text-small);
  color: var(--text-dim);
}
.sheet-calc > summary {
  cursor: pointer;
  font-weight: var(--weight-bold);
  color: var(--primary);
  padding: var(--space-6) 0;
}
.sheet-calc-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  padding: var(--space-12);
  background: var(--panel-alt);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.sheet-calc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(120px, 100%), 1fr));
  gap: var(--space-10);
}
.sheet-calc-out {
  font-size: var(--text-small);
  color: var(--text-dim);
}
.sheet-calc-out.is-known {
  color: var(--text);
  font-weight: var(--weight-bold);
}
.sheet-calc button { align-self: flex-start; }
.masthead { display: none; }
@media (min-width: 900px) {
  .topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
  }
  .topbar-title {
    grid-column: 1;
    grid-row: 1;
    justify-self: stretch;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topbar > nav { grid-column: 3; grid-row: 1; justify-self: stretch; justify-content: flex-end; min-width: 0; }
  .masthead {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    display: flex;
    align-items: center;
    gap: var(--space-16);
    padding: var(--space-4) var(--space-22);
    transition: padding var(--dur-base) var(--ease-smooth), gap var(--dur-base) var(--ease-smooth);
    color: inherit;
    text-decoration: none;
    border-radius: var(--radius-lg);
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--glass-fill-firm), var(--glass-fill-firm)) border-box;
    box-shadow: var(--accent-glow);
  }
  .masthead-med {
    width: 60px;
    height: 60px;
    flex: none;
    color: var(--primary);
    filter: drop-shadow(0 2px 7px rgba(181, 71, 30, 0.38));
    transition:
      transform var(--dur-base) var(--ease-spring),
      width var(--dur-base) var(--ease-smooth),
      height var(--dur-base) var(--ease-smooth);
  }
  .masthead-words {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .masthead-name {
    height: 26px;
    display: block;
    color: var(--text);
    transition: height var(--dur-base) var(--ease-smooth);
    filter: drop-shadow(0 1px 10px var(--accent-aura-strong));
  }
  .masthead-trade {
    font-size: var(--text-micro);
    font-weight: var(--weight-bold);
    text-transform: uppercase;
    letter-spacing: var(--track-letterhead);
    margin-right: -0.19em;
    margin-top: 5px;
    line-height: 1;
    color: var(--primary);
    white-space: nowrap;
  }
  .masthead:active .masthead-med { transform: scale(0.97); }
  .masthead:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 4px;
  }
  .masthead-med { animation: masthead-strike var(--dur-slow) var(--ease-pop) backwards; }
  .masthead-name { animation: masthead-rise var(--dur-slow) var(--ease-smooth) 70ms backwards; }
  .masthead-trade { animation: masthead-open var(--dur-slow) var(--ease-smooth) 150ms backwards; }
}
@media (hover: hover) {
  .masthead.is-bursting .masthead-med { opacity: 0; }
  .masthead:hover { text-decoration: none; }
}
@media (min-width: 900px) {
  .topbar { transition: transform var(--dur-base) var(--ease-smooth), padding var(--dur-base) var(--ease-smooth); }
  body.topbar-lean .topbar {
    padding-top: var(--space-4);
    padding-bottom: var(--space-4);
  }
  body.topbar-lean .masthead { padding: var(--space-6) var(--space-22); gap: var(--space-12); }
  body.topbar-lean .masthead-med { width: 38px; height: 38px; }
  body.topbar-lean .masthead-name { height: 18px; }
  body.topbar-lean .masthead-trade {
    max-height: 0;
    opacity: 0;
    margin-top: 0;
  }
  .masthead-trade {
    max-height: 14px;
    transition:
      max-height var(--dur-base) var(--ease-smooth),
      opacity var(--dur-fast) var(--ease-smooth),
      margin-top var(--dur-base) var(--ease-smooth);
    overflow: hidden;
  }
}
@media (min-width: 900px) and (max-width: 1199px) {
  .masthead { gap: var(--space-12); padding-left: var(--space-14); padding-right: var(--space-14); }
  .masthead-med { width: 48px; height: 48px; }
  .masthead-name { height: 22px; }
}
.masthead-burst {
  position: fixed;
  z-index: calc(var(--z-sticky) + 5);
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .masthead-burst { display: none; }
  .masthead:hover .masthead-med,
  .masthead.is-bursting .masthead-med { opacity: 1; }
}
@keyframes masthead-strike {
  from { opacity: 0; transform: scale(0.7) rotate(-14deg); }
  to { opacity: 1; transform: none; }
}
@keyframes masthead-rise {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: none; }
}
@keyframes masthead-open {
  from { opacity: 0; letter-spacing: 0.02em; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .masthead-med,
  .masthead-name,
  .masthead-trade { animation: none; }
  .masthead-med,
  .masthead-name,
  .masthead-trade,
  .topbar { transition: none; }
  .masthead:hover .masthead-med,
  .masthead:active .masthead-med { transform: none; }
}
.topbar nav {
  display: flex;
  gap: var(--space-8);
  align-items: center;
  flex-wrap: nowrap;
}
.topbar-tools {
  display: inline-flex;
  align-items: stretch;
  height: 44px;
  border: 1.5px solid var(--border-strong);
  border-radius: var(--radius-pill);
  background: var(--panel);
  box-shadow: var(--shadow-sm), var(--shadow-inset-top);
  overflow: visible;
  transition: transform var(--dur-fast) var(--ease-smooth), box-shadow var(--dur-fast) var(--ease-smooth);
}
@media (hover: hover) {
  .topbar-tools:hover { transform: translateY(-1px); box-shadow: var(--shadow-md), var(--shadow-inset-top); }
}
.topbar-tools > * { display: flex; }
.topbar-tools > * + * { border-left: 1px solid var(--border); }
.topbar-tools .nav-cam-btn,
.topbar-tools .nav-fs-btn,
.topbar-tools .nav-lang-btn,
.topbar-tools .notif-bell-btn {
  height: 100%;
  min-width: 44px;
  margin: 0;
  padding: 0 var(--space-12);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-smooth), color var(--dur-fast) var(--ease-smooth);
}
.topbar-tools > :first-child,
.topbar-tools > :first-child > .notif-bell-btn { border-radius: var(--radius-pill) 0 0 var(--radius-pill); }
.topbar-tools > :last-child,
.topbar-tools > :last-child > .notif-bell-btn { border-radius: 0 var(--radius-pill) var(--radius-pill) 0; }
.topbar-tools .notif-dropdown { border-radius: var(--radius-lg); }
@media (hover: hover) {
  .topbar-tools .nav-cam-btn:hover,
  .topbar-tools .nav-fs-btn:hover,
  .topbar-tools .nav-lang-btn:hover,
  .topbar-tools .notif-bell-btn:hover:not(:disabled) { background: var(--panel-alt); color: var(--primary); transform: none; box-shadow: none; }
}
.topbar-tools :focus-visible { outline: 2px solid var(--primary-light); outline-offset: -2px; }
.tool-icon { width: 22px; height: 22px; transition: transform var(--dur-fast) var(--ease-spring); }
.topbar-tools .nav-cam-btn:active .tool-icon,
.topbar-tools .nav-fs-btn:active .tool-icon,
.topbar-tools .notif-bell-btn:active .tool-icon { transform: scale(0.86); }
.topbar-tools .nav-lang-btn:active { transform: scale(0.96); }
.nav-cam-btn.is-busy { pointer-events: none; }
.nav-cam-btn.is-busy .tool-icon { animation: cam-breathe 900ms ease-in-out infinite; }
@keyframes cam-breathe { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.35; transform: scale(0.9); } }
.nav-lang-btn { height: 44px; font-size: var(--text-small); font-weight: var(--weight-bold); white-space: nowrap; }
.nav-lang-btn .nav-lang-short { display: none; }
@media (max-width: 380px) {
  .nav-lang-btn .nav-lang-long { display: none; }
  .nav-lang-btn .nav-lang-short { display: inline; }
}
.nav-lang-btn.is-flipping { animation: word-flip 170ms var(--ease-smooth) forwards; }
@keyframes word-flip { to { transform: rotateX(90deg); opacity: 0.2; } }
.notif-bell-btn:has(.notif-badge.is-new) .tool-icon { animation: bell-ring 700ms var(--ease-smooth); transform-origin: 50% 15%; }
@keyframes bell-ring {
  0% { transform: rotate(0); }
  15% { transform: rotate(14deg); }
  30% { transform: rotate(-12deg); }
  45% { transform: rotate(8deg); }
  60% { transform: rotate(-4deg); }
  100% { transform: rotate(0); }
}
.quick-header .topbar-tools { margin-left: auto; }
.nav-remind-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  height: 44px;
  padding: 0 var(--space-16);
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  background:
    var(--btn-lit-sheen) padding-box,
    var(--gradient-primary) padding-box,
    var(--btn-lit-rim) border-box;
  color: var(--on-accent);
  font-size: var(--text-body);
  font-weight: var(--weight-heavy);
  text-decoration: none;
  white-space: nowrap;
  box-shadow: var(--btn-lit-shadow);
  transition: transform var(--dur-fast) var(--ease-smooth), filter var(--dur-fast) var(--ease-smooth);
}
@media (hover: hover) {
  .nav-remind-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
}
.nav-remind-btn:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .nav-remind-btn { transition: none; }
  .nav-remind-btn:hover { transform: none; }
}
@media (max-width: 420px) {
  .nav-remind-btn { position: relative; padding: 0 var(--space-12); font-size: calc(var(--text-body) - 1px); }
  .nav-remind-count { position: absolute; top: -6px; right: -6px; }
}
.nav-remind-count {
  min-width: 18px;
  height: 18px;
  padding: 0 var(--space-4);
  border-radius: var(--radius-pill);
  background: var(--red);
  color: var(--on-accent);
  box-shadow: 0 0 0 2px var(--on-accent);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  font-variant-numeric: tabular-nums;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.nav-remind-count[hidden] { display: none; }
.quick-header .nav-remind-btn { margin-left: auto; }
.quick-header .nav-remind-btn + .topbar-tools { margin-left: var(--space-8); }
.notif-bell-wrap { position: relative; }
.notif-bell-btn {
  position: relative;
  background: var(--panel);
  border: 1.5px solid var(--border-strong);
  color: var(--text);
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: var(--radius-pill);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-lead);
  box-shadow: var(--shadow-sm), var(--shadow-inset-top);
}
@media (hover: hover) {
  .notif-bell-btn:hover:not(:disabled) {
    border-color: var(--primary-light);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md), var(--shadow-inset-top);
  }
}
@keyframes badge-pop {
  0% { transform: scale(0.4); opacity: 0; }
  70% { transform: scale(1.15); }
  100% { transform: scale(1); opacity: 1; }
}
.notif-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 var(--space-4);
  border-radius: var(--radius-pill);
  background: var(--gradient-primary);
  color: var(--on-accent);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(181, 71, 30, 0.45), 0 0 0 2px rgba(255, 253, 251, 0.9);
}
.notif-badge.is-new {
  animation: badge-pop 320ms var(--ease-spring);
}
@keyframes dropdown-in {
  from { opacity: 0; transform: translateY(-8px) scale(0.97); }
  to { opacity: 1; transform: none; }
}
.notif-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 340px;
  max-width: calc(100vw - 32px);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  overflow: hidden;
  z-index: var(--z-dropdown);
  transform-origin: top right;
  animation: dropdown-in var(--dur-base) var(--ease-spring);
}
@media (max-width: 1200px) {
  .notif-bell-wrap { position: static; }
  .notif-dropdown {
    left: auto;
    right: 12px;
    top: calc(100% + 8px);
    max-width: calc(100vw - 24px);
    transform-origin: top right;
  }
}
@media (max-width: 720px) {
  .notif-dropdown {
    left: 12px;
    width: auto;
    max-width: none;
    transform-origin: top center;
  }
  .notif-list { max-height: min(360px, 55vh); }
}
.num,
th.num {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.panel-head,
.notif-dropdown-head,
.item-row-head,
.bom-head,
.tr-form-head,
.challan-toolbar,
.sched-head,
.comment-compose-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  flex-wrap: wrap;
}
.notif-dropdown-hint { font-size: var(--text-micro); color: var(--text-dim); font-weight: normal; }
.notif-dropdown-head {
  padding: var(--space-12) var(--space-16);
  border-bottom: 1px solid var(--border);
  font-weight: var(--weight-strong);
  font-size: var(--text-small);
  letter-spacing: -0.01em;
}
.notif-list { max-height: 360px; overflow-y: auto; overscroll-behavior: contain; }
.notif-item {
  display: flex;
  gap: var(--space-10);
  align-items: flex-start;
  padding: var(--space-10) var(--space-16);
  border-bottom: 1px solid var(--border);
  text-decoration: none;
  color: inherit;
  transition: background-color var(--dur-fast) var(--ease-smooth), padding-left var(--dur-base) var(--ease-smooth);
}
.notif-item:hover { background: var(--panel-alt); text-decoration: none; padding-left: var(--space-20); }
.notif-item:last-child { border-bottom: none; }
.notif-icon { font-size: var(--text-lead); line-height: 1.3; flex: none; }
.notif-body { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.notif-title { font-weight: var(--weight-bold); font-size: var(--text-small); color: var(--text); }
.notif-repeat { color: var(--text-faint); font-weight: var(--weight-medium); font-size: var(--text-micro); }
.notif-sub { font-size: var(--text-small); color: var(--text-dim); }
.notif-time { font-size: var(--text-micro); color: var(--text-faint); margin-top: 1px; }
.notif-empty { padding: var(--space-28) var(--space-16); text-align: center; color: var(--text-faint); font-size: var(--text-small); }
.notif-dropdown-foot {
  padding: var(--space-10) var(--space-16);
  border-top: 1px solid var(--border);
  background: var(--panel-alt);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-10);
}
.notif-dropdown-foot .text-btn { font-size: var(--text-small); font-weight: var(--weight-bold); }
.notif-dropdown-foot a.text-btn {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}
.container {
  max-width: min(1920px, 100%);
  margin: 0 auto;
  padding: 28px var(--space-20) var(--space-24);
  position: relative;
  z-index: 2;
}
.container.narrow { max-width: min(820px, 100%); }
.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-16);
  flex-wrap: wrap;
  margin-bottom: var(--space-32);
}
.page-header > div { min-width: 0; }
.page-header > .plan-date-pick { flex: none; }
.page-header h1 { font-size: var(--text-display); letter-spacing: var(--track-display); overflow-wrap: anywhere; }
.sub { color: var(--text-dim); font-size: var(--text-small); }
.page-header .sub {
  color: var(--text-dim);
  font-size: var(--text-body);
  margin-top: 5px;
  max-width: 68ch;
}
.page-header
.card-chooser { margin-bottom: var(--space-16); }
.chooser-title { margin-top: 0; }
.chooser-grid { display: flex; flex-wrap: wrap; gap: var(--space-20); }
.chooser-set { flex: 1 1 220px; border: 0; padding: 0; margin: 0; min-width: 0; }
.chooser-set legend {
  padding: 0;
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-faint);
}
.chooser-tick {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  min-height: 44px;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.chooser-tick input { width: 20px; height: 20px; flex: none; }
.chooser-foot { display: flex; align-items: center; gap: var(--space-12); flex-wrap: wrap; margin-top: var(--space-14); }
.chooser-count { color: var(--text-dim); font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.plan-editor-photo { margin-bottom: var(--space-14); }
.plan-photo-read { margin-bottom: var(--space-16); }
.pp-row {
  padding: var(--space-16) 0;
  border-bottom: 1px solid var(--border);
}
.pp-row:last-of-type { border-bottom: 0; }
.pp-topic { font-weight: var(--weight-strong); display: flex; align-items: baseline; gap: var(--space-8); flex-wrap: wrap; }
.pp-who { font-size: var(--text-small); color: var(--text-dim); margin-bottom: var(--space-6); }
.pp-lines { display: flex; flex-direction: column; gap: var(--space-6); }
.pp-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px minmax(120px, auto);
  gap: var(--space-8);
  align-items: center;
  padding: var(--space-8) var(--space-10);
  border-radius: var(--radius-md);
  background: var(--surface-2);
}
.pp-line.is-ok { background-image: linear-gradient(var(--primary-soft), var(--primary-soft)); }
.pp-line.is-choose { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.pp-line.is-miss { border-left: 1px solid var(--border-strong); opacity: 0.75; }
.plan-ahead-warn {
  margin-top: var(--space-10);
  padding: var(--space-10);
  border-radius: var(--radius-md);
  background-image: linear-gradient(var(--red-soft), var(--red-soft));
  background: var(--red-soft);
  color: var(--red);
  line-height: 1.45;
}
.plan-ahead-warn strong { display: block; }
.ml-needs { color: var(--red); }
.ml-known { color: var(--red); font-weight: var(--weight-bold); }
.ml-missing { color: var(--text-dim); font-size: var(--text-micro); margin-top: var(--space-4); }
.ml-low-confidence { color: var(--amber); font-size: var(--text-micro); margin-top: var(--space-4); }
.ml-failed { margin-top: var(--space-12); border-top: 1px solid var(--border); padding-top: var(--space-10); }
.ml-failed-title { font-weight: var(--weight-bold); margin-bottom: var(--space-8); }
.ml-failed-row { display: flex; justify-content: space-between; gap: var(--space-10); padding: var(--space-8) 0; flex-wrap: wrap; }
.ml-failed-why { display: block; color: var(--red); }
.ml-failed-acts { white-space: nowrap; }
.ml-fetch { margin-top: var(--space-12); border-top: 1px solid var(--border); padding-top: var(--space-10); }
.ml-fetch-title { font-weight: var(--weight-bold); margin-bottom: var(--space-4); }
.ml-fetch-sub { color: var(--text-dim); margin-bottom: var(--space-8); }
.ml-fetch-row { display: flex; justify-content: space-between; gap: var(--space-10); padding: var(--space-8) 0; flex-wrap: wrap; }
.ml-fetch-why { display: block; color: var(--text-dim); }
.ml-fetch-acts { white-space: nowrap; }
.ml-about { display: block; max-width: 68ch; overflow-wrap: anywhere; font-weight: var(--weight-medium); margin-bottom: var(--space-4); }
.ml-about-tag { font-size: var(--text-micro); font-weight: var(--weight-bold); color: var(--text-dim); letter-spacing: 0.02em; margin-right: var(--space-4); }
.ml-about.is-text { font-weight: normal; }
.ml-about.is-blank { color: var(--text-dim); font-weight: normal; }
.bom-rej { padding: var(--space-8) 0; display: flex; flex-direction: column; gap: var(--space-8); }
.bom-rej-title { font-weight: var(--weight-bold); }
.bom-rej-sub { color: var(--text-dim); }
.bom-rej-row { display: flex; gap: var(--space-8); flex-wrap: wrap; align-items: center; }
.bom-rej-qty { width: 110px; }
.bom-rej-note { max-width: 420px; }
.bom-rej-hint { color: var(--text-dim); }
.bom-rej-item { display: flex; justify-content: space-between; gap: var(--space-10); padding: var(--space-8) 0; flex-wrap: wrap; }
.bom-rej-who { color: var(--text-dim); }
.bom-rej-open { color: var(--amber); }
.rej-win,
.ask-win {
  border: none;
  border-radius: var(--radius-lg);
  padding: 0;
  width: min(560px, calc(100vw - var(--space-32)));
  max-height: calc(100vh - var(--space-32));
  background: var(--panel);
  color: var(--text);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}
.rej-win::backdrop,
.ask-win::backdrop { background: rgba(0, 0, 0, 0.45); }
.sw-reasons { margin: var(--space-8) 0 0; padding-left: var(--space-18); }
.sw-heading { margin-top: var(--space-16); }
.ask-win-choices { display: flex; gap: var(--space-10); flex-wrap: wrap; margin-top: var(--space-4); }
.ask-win-choices button { flex: 1 1 200px; text-align: center; }
.rej-win-form { padding: var(--space-18); display: flex; flex-direction: column; gap: var(--space-10); }
.rej-win-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-12); }
.rej-win-head h3 { margin: 0 0 var(--space-4); font-size: var(--text-lead); }
.rej-win-sub { color: var(--text-dim); font-size: var(--text-small); }
.rej-win-body { display: flex; flex-direction: column; gap: var(--space-8); }
.rej-win-body label { font-size: var(--text-small); font-weight: var(--weight-bold); color: var(--text-dim); }
.rej-win-row { display: flex; gap: var(--space-12); flex-wrap: wrap; }
.rej-win-hint { color: var(--text-dim); font-size: var(--text-small); line-height: 1.5; }
.rej-win-picked { color: var(--text-dim); font-size: var(--text-small); }
.rej-win-body .bom-rej-save { align-self: flex-start; }
.rej-win-shots { display: flex; gap: var(--space-8); flex-wrap: wrap; margin-top: var(--space-4); }
.rej-win-shot { font-size: var(--text-small); }
.rej-win-add {
  cursor: pointer;
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  padding: var(--space-4) var(--space-6);
  font-size: var(--text-small);
}
@media (pointer: coarse) {
  .rej-win-add { min-height: 44px; display: inline-flex; align-items: center; }
}
.bom-rej-item-actions { display: flex; gap: var(--space-8); align-items: center; flex-wrap: wrap; }
.bom-rej-item-main { min-width: 0; }
.bom-rej-list:not(:empty) { border-top: 1px solid var(--border); padding-top: var(--space-8); }
.rj-tabs { display: flex; gap: var(--space-8); margin-bottom: var(--space-10); flex-wrap: wrap; }
.rj-tab { padding: var(--space-8) var(--space-16); border: 1px solid var(--border); background: var(--panel); border-radius: var(--radius-sm); cursor: pointer; min-height: 44px; }
.rj-tab.is-on { border-color: var(--primary); color: var(--primary); font-weight: var(--weight-bold); }
.rj-settled { display: flex; align-items: center; gap: var(--space-8); margin-bottom: var(--space-16); color: var(--text-dim); }
@media (pointer: coarse) { .rj-settled { min-height: 44px; } }
.rj-row { display: flex; justify-content: space-between; gap: var(--space-16); padding: var(--space-10) 0; border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.rj-row.is-open { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); padding-left: var(--space-10); }
.rj-main { flex: 1 1 60%; }
.rj-why { margin-top: var(--space-4); }
.rj-where { text-align: right; }
.rj-dim { color: var(--text-dim); }
.rj-acts { margin-top: var(--space-8); display: flex; gap: var(--space-8); flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 640px) {
  .rj-row { flex-direction: column; gap: var(--space-6); }
  .rj-main { flex: 1 1 auto; }
  .rj-where { text-align: left; }
  .rj-where .rj-dim { display: inline; }
  .rj-where a + .rj-dim::before { content: ' · '; }
  .rj-acts { justify-content: flex-start; }
  .rj-decide label, .rj-return label, .rj-sendback-box label { display: block; }
  .rj-decide input, .rj-return input, .rj-return select, .rj-sendback-box input { width: 100%; }
  .rj-return-row { flex-direction: column; align-items: stretch; }
  .rj-decide-acts button { flex: 1 1 auto; }
  .rj-clear-row { flex-direction: column; align-items: stretch; }
}
.rj-clear-host:not(:empty) { margin-top: var(--space-8); background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); padding-left: var(--space-10); }
.rj-clear-row { display: flex; justify-content: space-between; gap: var(--space-10); padding: var(--space-8) 0; flex-wrap: wrap; align-items: center; }
.rj-clear-acts { display: flex; gap: var(--space-8); flex-wrap: wrap; align-items: center; }
.rj-qty { width: 90px; }
.ow-scrap-rate { font-size: var(--text-lead); margin-bottom: var(--space-8); }
.ow-scrap-where { color: var(--text-dim); margin-bottom: var(--space-10); }
.ow-scrap-material { border-top: 1px solid var(--border); padding-top: var(--space-10); margin-bottom: var(--space-10); }
.ow-scrap-mat-title {
  font-weight: var(--weight-strong);
  font-size: var(--text-small);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-dim);
  margin-bottom: var(--space-6);
}
.ow-scrap-mat-row { margin-bottom: var(--space-4); }
.ow-scrap-sales { border-top: 1px solid var(--border); padding-top: var(--space-10); }
.ow-scrap-note { color: var(--text-dim); }
.sc-short { color: var(--red); }
.sc-over { color: var(--amber); }
.sc-level { color: var(--green); }
.sc-rec-months { margin-top: var(--space-12); }
.sc-rec-months summary { cursor: pointer; font-size: var(--text-small); color: var(--text-dim); }
.sc-rec-month { padding: var(--space-6) 0; border-top: 1px solid var(--border); }
.sc-rec-month-head { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; justify-content: space-between; }
.sc-rec-caveats { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-12); padding-left: var(--space-16); }
.td-upload { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; margin: var(--space-12) 0; }
.td-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--space-8); margin-bottom: var(--space-14); }
.td-fact { display: flex; flex-direction: column; gap: var(--space-2); }
.td-fact-label { font-size: var(--text-micro); color: var(--text-dim); text-transform: uppercase; letter-spacing: var(--track-caps); }
.td-table { width: 100%; font-size: var(--text-small); }
.td-table th, .td-table td { text-align: left; padding: var(--space-4) var(--space-8); vertical-align: top; }
.td-table th { font-size: var(--text-micro); color: var(--text-dim); }
.td-table tbody tr { border-top: 1px solid var(--border); }
.ih-card { margin-top: var(--space-8); }
.mc-card { margin-top: var(--space-8); }
.mc-find { border-top: 1px solid var(--border); padding-top: var(--space-8); }
.mc-find > summary { overflow-wrap: anywhere; }
.mc-line { font-size: var(--text-small); margin-top: var(--space-4); }
.mc-body { padding: var(--space-8) 0; max-width: 72ch; }
.mc-figure { margin: var(--space-8) 0 var(--space-4); }
.mc-lines { list-style: none; padding: 0; margin: var(--space-8) 0; }
.mc-lines > li { padding: var(--space-8) 0; border-top: 1px solid var(--border); overflow-wrap: anywhere; }
.mc-row { display: flex; justify-content: space-between; gap: var(--space-8); }
.ih-ask, .mc-ask { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: flex-end; margin: var(--space-8) 0; }
.ih-ask label, .mc-ask label { display: flex; flex-direction: column; gap: var(--space-4); font-size: var(--text-small); min-width: min(180px, 100%); }
.pl-rows { list-style: none; padding: 0; margin: var(--space-8) 0; }
.pl-rows > li { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr)); gap: var(--space-8); padding: var(--space-8) 0; border-top: 1px solid var(--border); }
.pl-rows label { display: flex; flex-direction: column; gap: var(--space-4); font-size: var(--text-small); }
.pl-rows .pl-wide { grid-column: 1 / -1; overflow-wrap: anywhere; }
.pl-rows input.pl-doubt { border-color: var(--amber); background: var(--amber-soft); }
.ih-odds { font-weight: var(--weight-bold); margin: var(--space-4) 0; }
.ih-tenders { padding-left: var(--space-16); }
.ih-tender { padding: var(--space-8) 0; border-top: 1px solid var(--border); font-size: var(--text-small); overflow-wrap: anywhere; }
.ih-bidders { padding-left: var(--space-16); margin: var(--space-4) 0; }
.td-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.td-withtax { font-size: var(--text-micro); color: var(--text-dim); }
.td-clause { padding: var(--space-10) 0; border-top: 1px solid var(--border); }
.td-clause-head { font-weight: var(--weight-bold); font-size: var(--text-small); }
.td-clause-means { margin: var(--space-4) 0; }
.td-clause-text { margin: var(--space-6) 0 0; padding-left: var(--space-10); border-left: 1px solid var(--border); color: var(--text-dim); font-size: var(--text-small); }
.plan-editor-propose { display: flex; gap: var(--space-10); align-items: center; flex-wrap: wrap; padding: var(--space-10) var(--space-12); margin-bottom: var(--space-12); border-radius: var(--radius-sm); border: 1px dashed var(--border-strong); background: var(--surface-2); }
.plan-editor-propose .sub { flex: 1 1 18rem; font-size: var(--text-micro); color: var(--text-dim); }
.pe-proposal-note { font-size: var(--text-micro); color: var(--text-dim); margin-bottom: var(--space-12); display: flex; flex-direction: column; gap: var(--space-4); }
.pe-proposal-hand { color: var(--amber); }
.sheet-line-why { display: block; color: var(--primary); margin-top: var(--space-2); }
.qq-result { margin-top: var(--space-14); }
.qq-head { font-weight: var(--weight-strong); font-size: var(--text-lead); margin-bottom: var(--space-10); }
.qq-row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-16); flex-wrap: wrap; padding: var(--space-10) 0; border-top: 1px solid var(--border); }
.qq-row.is-band strong { color: var(--primary); font-size: var(--text-lead); }
.qq-note { font-size: var(--text-micro); color: var(--text-dim); margin-top: var(--space-2); }
.qq-warn { font-size: var(--text-micro); color: var(--amber); margin-top: var(--space-4); }
.qq-refusals { margin-top: var(--space-14); padding: var(--space-10) var(--space-12); border-radius: var(--radius-sm); background: var(--surface-2); }
.qq-refusals-head { font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--text-dim); margin-bottom: var(--space-4); }
.qq-send { display: flex; gap: var(--space-10); flex-wrap: wrap; align-items: flex-end; margin-top: var(--space-16); }
.qq-send input { max-width: 14rem; }
.promise-block { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.promise-row { padding: var(--space-10) 0; border-top: 1px solid var(--border); }
.promise-row:first-of-type { border-top: 0; }
.promise-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-12); flex-wrap: wrap; }
.promise-slip { color: var(--red); font-weight: var(--weight-bold); font-size: var(--text-small); white-space: nowrap; }
.promise-why { font-size: var(--text-small); margin-top: var(--space-4); }
.promise-basis { font-size: var(--text-micro); color: var(--text-dim); margin-top: var(--space-2); }
.promise-actions { margin-top: var(--space-8); }
.jw-chase { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.jw-chase-vendor { padding: var(--space-10) 0; border-top: 1px solid var(--border); }
.jw-chase-vendor:first-of-type { border-top: 0; }
.jw-chase-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-12); flex-wrap: wrap; }
.jw-chase-record { display: block; font-size: var(--text-micro); color: var(--text-dim); margin-top: var(--space-2); }
.jw-chase-list { margin: var(--space-8) 0 0; padding-left: var(--space-18); font-size: var(--text-small); }
.jw-chase-list li { margin-top: var(--space-4); }
.jw-chase-list strong { color: var(--amber); }
.short-vendor-warn { font-size: var(--text-micro); color: var(--text-dim); margin-top: var(--space-4); }
.short-vendor-warn.is-late { color: var(--amber); font-weight: var(--weight-bold); }
.td-us-head { margin: var(--space-10) 0 var(--space-14); font-size: var(--text-small); color: var(--text-dim); }
.td-us-head em { color: var(--amber); font-style: normal; font-weight: var(--weight-bold); }
.td-us { margin-top: var(--space-8); padding: var(--space-10) var(--space-12); border-radius: var(--radius-sm); background: var(--surface-2); }
.td-us-label { font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--primary); margin-bottom: var(--space-6); }
.td-us-fact { font-size: var(--text-small); margin-top: var(--space-4); }
.td-us-fact.is-thin { color: var(--text-dim); }
.td-us-fact em { font-style: normal; color: var(--amber); }
.td-us-quiet { margin-top: var(--space-8); font-size: var(--text-small); color: var(--text-faint); }
.td-carry { margin-top: var(--space-20); padding-top: var(--space-14); border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: var(--space-8); align-items: flex-start; }
#clause-quotes { margin: var(--space-10) 0 var(--space-14); }
#clause-quotes:empty { display: none; }
.td-quote-list { display: flex; flex-wrap: wrap; gap: var(--space-8); margin: var(--space-10) 0; }
.td-quote-chip { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-8); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.td-caveats { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-12); padding-left: var(--space-16); }
.td-foot { margin-top: var(--space-14); }
.rp-stages { margin-top: var(--space-12); }
.rp-stages h4 { font-size: var(--text-small); margin: 0 0 var(--space-4); }
.rp-stages ul { margin: var(--space-4) 0 0; padding-left: var(--space-16); font-size: var(--text-small); }
.rp-trouble { margin-top: var(--space-10); font-size: var(--text-small); color: var(--red); }
.cb-brief-row { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; margin-top: var(--space-10); }
.cb-brief { margin-top: var(--space-10); padding-top: var(--space-10); border-top: 1px solid var(--border); }
.cb-brief-summary { font-weight: var(--weight-medium); margin: 0 0 var(--space-10); }
.cb-brief-point { padding: var(--space-6) 0; }
.cb-brief-fact { font-size: var(--text-small); color: var(--text-dim); }
.cb-brief-raise { margin-top: var(--space-10); }
.cb-brief-raise h4 { font-size: var(--text-small); margin: 0 0 var(--space-4); }
.cb-brief-raise ul { margin: 0; padding-left: var(--space-16); }
.cb-brief-foot { margin-top: var(--space-10); }
.mr-head { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; justify-content: space-between; }
.mr-actions { display: flex; gap: var(--space-8); align-items: center; flex-wrap: wrap; }
.mr-headline { font-size: var(--text-body); font-weight: var(--weight-bold); margin: var(--space-10) 0; }
.mr-finding { padding: var(--space-10) 0; border-top: 1px solid var(--border); }
.mr-finding-head { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; justify-content: space-between; }
.mr-finding-value { font-variant-numeric: tabular-nums; white-space: nowrap; }
.mr-finding-value small { color: var(--text-dim); }
.mr-finding p { margin: var(--space-4) 0 0; }
.mr-worth { color: var(--text-dim); font-size: var(--text-small); margin-top: var(--space-4); }
.mr-next { margin-top: var(--space-14); }
.mr-next h3 { font-size: var(--text-small); margin: 0 0 var(--space-6); }
.mr-next ol { margin: 0; padding-left: var(--space-16); }
.mr-next li { margin-bottom: var(--space-6); }
.mr-gap, .mr-written { color: var(--text-dim); font-size: var(--text-small); margin-top: var(--space-10); }
.mr-figures { margin-top: var(--space-12); }
.mr-figures summary { cursor: pointer; font-size: var(--text-small); color: var(--text-dim); }
.mr-figure { display: flex; justify-content: space-between; gap: var(--space-10); padding: var(--space-4) 0; font-size: var(--text-small); flex-wrap: wrap; }
.mr-figure-value { font-variant-numeric: tabular-nums; white-space: nowrap; }
.mr-figure-value small { color: var(--text-dim); }
.ow-scrap-list { margin-top: var(--space-8); }
.ow-scrap-row { display: flex; justify-content: space-between; gap: var(--space-10); padding: var(--space-8) 0; flex-wrap: wrap; }
.ow-scrap-lots { width: 100%; font-size: var(--text-small); margin: var(--space-10) 0; }
.ow-scrap-lots th, .ow-scrap-lots td { text-align: left; padding: var(--space-4) var(--space-8); vertical-align: top; }
.ow-scrap-lots th { font-size: var(--text-micro); color: var(--text-dim); font-weight: var(--weight-medium); }
.ow-scrap-lots tbody tr { border-top: 1px solid var(--border); }
.ow-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ow-up { color: var(--green); }
.ow-down { color: var(--red); }
.ow-scrap-add { display: flex; gap: var(--space-8); flex-wrap: wrap; margin-top: var(--space-10); align-items: center; }
.rp-failed { margin: var(--space-10) 0; background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); padding-left: var(--space-10); }
.rp-failed-title { font-weight: var(--weight-bold); margin-bottom: var(--space-8); }
.rp-failed-row { display: flex; justify-content: space-between; gap: var(--space-10); padding: var(--space-8) 0; flex-wrap: wrap; }
.rp-failed-why { display: block; color: var(--text-dim); }
.ml-rules { margin-top: var(--space-12); border-top: 1px solid var(--border); padding-top: var(--space-10); }
.ml-rules-title {
  list-style: none;
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: var(--space-8);
  font-weight: var(--weight-bold);
}
.ml-rules-title::-webkit-details-marker { display: none; }
.ml-rules-title::before {
  content: '›';
  color: var(--text-dim);
  transition: transform var(--dur-fast) var(--ease-smooth);
}
.ml-rules[open] > .ml-rules-title::before { transform: rotate(90deg); }
.ml-rules-count { color: var(--text-dim); font-weight: 400; }
.ml-rule-row { display: flex; justify-content: space-between; gap: var(--space-10); padding: var(--space-8) 0; flex-wrap: wrap; }
.ml-rule-who { color: var(--text-dim); }
.ml-rule-in { flex: 1; min-width: 220px; }
.ml-nr-note { color: var(--text-dim); font-size: var(--text-micro); padding: var(--space-8) 0; max-width: 68ch; }
.ml-nr-more { color: var(--text-dim); font-weight: 400; font-size: var(--text-micro); }
.ml-nr-row { padding: var(--space-10) 0; border-top: 1px solid var(--border); }
.ml-nr-head { display: flex; justify-content: space-between; gap: var(--space-10); flex-wrap: wrap; }
.ml-nr-when { color: var(--text-dim); font-size: var(--text-micro); }
.ml-nr-subj { color: var(--text-dim); }
.ml-nr-att { color: var(--text-dim); font-size: var(--text-micro); }
.ml-nr-why { color: var(--amber); font-size: var(--text-micro); margin-top: var(--space-4); }
.ml-nr-sure { margin-top: var(--space-10); padding-top: var(--space-8); border-top: 1px solid var(--border); }
.ml-nr-sure > .ml-rules-title { color: var(--text-dim); }
.plan-fold summary .badge { margin-left: var(--space-8); }
.plan-fold-title { font-weight: var(--weight-bold); margin-top: var(--space-12); margin-bottom: var(--space-8); }
.plan-fold-list { margin: 0; padding-left: var(--space-16); }
.plan-fold-list li { margin-top: var(--space-8); }
.plan-fold-list.is-blockers li { color: var(--red); }
.band-title { margin: var(--space-32) 0 var(--space-4); font-size: var(--text-lead); font-weight: var(--weight-strong); padding-top: var(--space-16); border-top: 2px solid var(--border-strong); }
.band-sub { color: var(--text-dim); font-size: var(--text-small); margin-bottom: var(--space-16); }
.band-note { color: var(--text-dim); font-size: var(--text-small); margin-top: -4px; margin-bottom: var(--space-12); }
.thin-tag { font-size: var(--text-micro); color: var(--text-dim); border: 1px dashed var(--border); border-radius: 4px; padding: 0 var(--space-4); margin-left: var(--space-4); }
.tally-write { display: flex; gap: var(--space-12); align-items: flex-start; margin: var(--space-12) 0; font-size: var(--text-small); }
.tally-write[hidden] { display: none; }
.tally-write input { margin-top: var(--space-4); min-width: var(--space-20); min-height: var(--space-20); }
.tv-pair { display: inline-flex; gap: var(--space-8); align-items: center; flex-wrap: wrap; }
.plan-chip { text-decoration: none; }
a.plan-chip { cursor: pointer; }
a.plan-chip::after { content: ' →'; }
a.plan-chip:hover, a.plan-chip:focus-visible { text-decoration: underline; }
.improving-up { color: var(--green); font-weight: var(--weight-bold); }
.improving-down { color: var(--red); font-weight: var(--weight-bold); }
td.is-short { color: var(--red); font-weight: var(--weight-bold); }
tr.is-late td:first-child { color: var(--red); }
.paper-trail { margin-top: var(--space-12); }
.paper-trail summary { cursor: pointer; color: var(--text-dim); }
.pt-body { margin-top: var(--space-8); }
.pt-row { display: flex; gap: var(--space-10); padding: var(--space-8) 0; border-bottom: 1px solid var(--border); }
.pt-when { color: var(--text-dim); white-space: nowrap; min-width: 118px; }
.pt-what { min-width: 0; overflow-wrap: anywhere; }
.sp-from-mail {
  margin: var(--space-8) 0;
  padding: var(--space-10);
  background-image: linear-gradient(var(--primary-soft), var(--primary-soft));
  background: var(--surface-2);
  border-radius: var(--radius-md);
}
.sp-unmatched { display: block; color: var(--red); margin-top: var(--space-4); }
.sp-qty-change { display: block; margin-top: var(--space-4); font-weight: var(--weight-bold); }
.sp-suggest { display: block; margin-top: var(--space-4); }
.sp-suggest .sp-use { margin-left: var(--space-4); }
.doc-from-mail { margin-top: var(--space-10); color: var(--text-dim); }
.ml-to-note { color: var(--text-dim); margin-top: var(--space-4); }
.ack-issued-mail { display: block; margin-top: var(--space-8); color: var(--text-dim); }
.ml-to { display: flex; align-items: center; gap: var(--space-8); margin-top: var(--space-8); flex-wrap: wrap; }
.ml-to span { color: var(--text-dim); }
.ml-to input { flex: 1 1 220px; min-height: 44px; }
.ml-taken {
  margin-top: var(--space-8);
  padding: var(--space-8);
  border-radius: var(--radius-md);
  background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  background: var(--amber-soft);
  color: var(--amber);
}
.ml-stale {
  margin-top: var(--space-8);
  padding: var(--space-8);
  border-radius: var(--radius-md);
  background-image: linear-gradient(var(--red-soft), var(--red-soft));
  background: var(--red-soft);
  color: var(--red);
}
.ml-letter { margin-top: var(--space-8); }
.ml-letter summary { cursor: pointer; color: var(--text-dim); }
.ml-letter pre {
  background: var(--surface-2);
  border-radius: var(--radius-md);
  padding: var(--space-10);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: var(--space-8) 0;
}
.ml-subject { font-weight: var(--weight-bold); margin-top: var(--space-8); }
.ml-edit-body {
  width: 100%;
  min-height: 12rem;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-10);
  font: inherit;
  margin: var(--space-8) 0;
}
.ml-edited-note { color: var(--text-dim); font-style: italic; margin-bottom: var(--space-8); }
.store-filter { margin-bottom: var(--space-14); }
.scrap-controls { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; margin-bottom: var(--space-14); }
.scrap-controls label { font-size: var(--text-small); color: var(--text-dim); }
.scrap-register { margin-bottom: var(--space-14); }
.scrap-month { margin-bottom: var(--space-10); }
.scrap-month-head { cursor: pointer; display: flex; flex-wrap: wrap; gap: var(--space-8) var(--space-16); align-items: baseline; }
.scrap-month-name { font-weight: var(--weight-bold); }
.scrap-month-sums { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-12); font-size: var(--text-small); color: var(--text-dim); }
.scrap-month-body h3 { margin: var(--space-14) 0 var(--space-6); font-size: var(--text-small); }
.scrap-month-body h3 small { font-weight: normal; color: var(--text-dim); margin-left: var(--space-6); }
.scrap-table { font-size: var(--text-small); width: 100%; }
.scrap-table th, .scrap-table td { text-align: left; padding: var(--space-4) var(--space-8); vertical-align: top; }
.scrap-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.scrap-none { padding: var(--space-6) 0; }
.scrap-grades tbody tr { border-top: 1px solid var(--border); }
.scrap-grades td:first-child { white-space: nowrap; }
.store-filter input { width: 100%; max-width: 34rem; }
.store-rename { display: flex; flex-wrap: wrap; gap: var(--space-8); margin: var(--space-8) 0; }
.store-rename input { flex: 1 1 16rem; }
.store-take-search { display: flex; gap: var(--space-8); margin-bottom: var(--space-8); }
.store-take-search input { flex: 1 1 auto; }
.store-take-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-8);
  padding: var(--space-8) 0;
  border-top: 1px solid var(--border);
}
.store-take-row:first-child { border-top: 0; }
.store-take-act { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; }
.store-take-act input[type='number'] { width: 6rem; }
.q-store-take {
  margin-top: var(--space-14);
  padding: var(--space-10);
  background: var(--surface-2);
  border-radius: var(--radius-md);
}
.q-store-take-line { margin-bottom: var(--space-8); }
.q-store-take-act { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; }
.q-store-take-act input[type='number'] { width: 6rem; }
.q-store-link { display: inline-block; margin-top: var(--space-8); }
.q-spread { margin-top: var(--space-14); }
.q-spread summary { cursor: pointer; color: var(--text-dim); }
.q-spread-body { padding: var(--space-10); background: var(--surface-2); border-radius: var(--radius-md); margin-top: var(--space-8); }
.q-spread-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-8);
  padding: var(--space-8) 0;
  border-top: 1px solid var(--border);
}
.q-spread-row:first-child { border-top: 0; }
.q-spread-row.is-done { color: var(--text-dim); }
.q-spread-alloc { width: 6rem; }
.q-spread-saved { font-weight: var(--weight-bold); color: var(--green); }
.ss-wip-row { padding: var(--space-10) 0; border-top: 1px solid var(--border); }
.ss-wip-row:first-of-type { border-top: 0; }
.ss-wip-row.is-off { opacity: 0.65; }
.ss-wip-act { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; margin-top: var(--space-8); }
.ss-wip-act input[type='number'] { width: 6rem; }
.ml-sent { display: flex; justify-content: space-between; gap: var(--space-10); padding: var(--space-8) 0; }
.ml-sent-when { color: var(--text-dim); white-space: nowrap; }
.pick-stage.is-ahead .pick-stage-note { color: var(--text-dim); font-style: italic; }
.plan-job-what .plan-job-waiting { color: var(--red); }
.sheet-line.is-ahead { background-image: linear-gradient(var(--red-soft), var(--red-soft)); padding-left: var(--space-8); }
.pp-raw { margin-top: var(--space-8); color: var(--text-dim); }
.pp-raw pre { background: var(--surface-2); border-radius: var(--radius-md); padding: var(--space-8); overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.pp-what { min-width: 0; overflow-wrap: anywhere; display: flex; flex-direction: column; gap: var(--space-4); }
.pp-what-in, .pp-pick { width: 100%; min-height: 40px; }
.pp-qty-in { width: 100%; min-height: 40px; text-align: right; font-variant-numeric: tabular-nums; }
.pp-line.is-skip { opacity: 0.45; }
.pp-line.is-skip .pp-what strong { text-decoration: line-through; }
.pp-who-in { width: 100%; max-width: 260px; min-height: 40px; }
.pp-what small { display: block; color: var(--text-faint); font-size: var(--text-micro); }
.pp-qty { text-align: right; font-variant-numeric: tabular-nums; font-weight: var(--weight-bold); }
.pp-flag { font-size: var(--text-micro); color: var(--text-faint); }
.pp-tag {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  padding: var(--space-2) var(--space-6);
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  color: var(--text-dim);
}
.pp-pick { width: 100%; min-height: 44px; }
.worker-pw { display: flex; flex-direction: column; gap: var(--space-6); padding: var(--space-12); }
.worker-pw[hidden] { display: none; }
.worker-pw label { font-size: var(--text-micro); color: var(--text-faint); }
.worker-pw input { width: 100%; min-height: 44px; }
.tab-row-worker { display: flex; }
.tab-row-worker .tab { flex: 1 1 auto; }
.tab-row-worker #worker-settings-btn { flex: 0 0 56px; }
.tab-row-worker #worker-settings-btn .nav-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.notice-list { display: flex; flex-direction: column; gap: var(--space-10); }
.notice {
  padding: var(--space-14);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--primary-soft), var(--primary-soft));
  border-radius: var(--radius-md);
  background: var(--panel);
  --glass-tint: var(--tint-await);
}
.notice.is-past { border-left-color: var(--border-strong); }
.notice.is-past .notice-body { color: var(--text-dim); }
.notice-body { font-size: var(--text-body); white-space: pre-wrap; overflow-wrap: anywhere; max-width: 68ch; }
.notice-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-10);
  margin-top: var(--space-8);
  font-size: var(--text-micro);
  color: var(--text-faint);
}
.notice-unit, .notice-until, .notice-state {
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  font-weight: var(--weight-bold);
}
.notice-state { color: var(--text-faint); }
.notice-past { margin-top: var(--space-20); }
.notice-past summary { cursor: pointer; color: var(--text-dim); font-size: var(--text-small); }
.notice-past .notice-list { margin-top: var(--space-10); }
.notice-strip { display: flex; flex-direction: column; gap: var(--space-8); margin-bottom: var(--space-16); }
.notice-strip-item {
  display: flex;
  gap: var(--space-10);
  align-items: baseline;
  padding: var(--space-10) var(--space-12);
  background-image: linear-gradient(var(--primary-soft), var(--primary-soft));
  background: var(--surface-2);
  border-radius: var(--radius-md);
  font-size: var(--text-small);
}
.notice-strip-tag {
  flex: none;
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--primary);
}
.notice-strip-body { overflow-wrap: anywhere; }
.cardread { margin-bottom: var(--space-12); }
.cardread-btn {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  width: 100%;
  padding: var(--space-12) var(--space-14);
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--panel);
  cursor: pointer;
  min-height: 44px;
}
.cardread-btn:active { transform: translateY(1px); }
.cardread-icon { font-size: var(--text-lead); color: var(--primary); flex: none; }
.cardread-btn strong { display: block; font-size: var(--text-body); }
.cardread-btn small { display: block; color: var(--text-faint); font-size: var(--text-small); }
.cardread-out:empty { display: none; }
.cardread-working, .cardread-err {
  margin-top: var(--space-8);
  padding: var(--space-10) var(--space-12);
  border-radius: var(--radius-md);
  font-size: var(--text-small);
}
.cardread-working { background: var(--surface-2); color: var(--text-dim); }
.cardread-err { background: var(--red-soft); color: var(--red); }
.cardread-head { display: flex; align-items: center; gap: var(--space-12); margin-bottom: var(--space-12); }
.cardread-head h2 { margin: 0; font-size: var(--text-lead); }
.cardread-job { margin-bottom: var(--space-12); }
.cardread-item { font-weight: var(--weight-strong); font-size: var(--text-lead); }
.cardread-po, .cardread-stage { color: var(--text-dim); font-size: var(--text-small); }
.cardread-count { color: var(--text-dim); font-size: var(--text-small); margin-bottom: var(--space-10); }
.cardread-warn {
  padding: var(--space-10) var(--space-12);
  background-image: linear-gradient(var(--red-soft), var(--red-soft));
  background: var(--surface-2);
  font-size: var(--text-small);
  margin-bottom: var(--space-12);
}
.cardread-rows { display: flex; flex-direction: column; gap: var(--space-8); }
.cardread-row {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: var(--space-8);
  padding: var(--space-10);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--panel);
}
.cardread-row.is-unclear { border-color: var(--primary); }
.cardread-row.is-dupe { opacity: 0.72; }
.cardread-tick { display: flex; align-items: center; justify-content: center; min-height: 44px; }
.cardread-tick input { width: 22px; height: 22px; }
.cardread-fields { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.cardread-fields label { flex: 1 1 84px; font-size: var(--text-micro); color: var(--text-faint); }
.cardread-fields input { width: 100%; min-height: 44px; }
.cardread-flags { grid-column: 2; display: flex; flex-wrap: wrap; gap: var(--space-8); }
.cardread-sign { font-size: var(--text-micro); color: var(--text-faint); }
.cardread-flag { font-size: var(--text-micro); color: var(--primary); font-weight: var(--weight-bold); }
.cardread-flag.is-dupe { color: var(--text-faint); }
.cardread-actions { display: flex; gap: var(--space-8); margin-top: var(--space-14); }
.cardread-actions button { flex: 1; min-height: 44px; }
.cardread-none { color: var(--text-dim); font-size: var(--text-body); }
.quick-say { margin-bottom: var(--space-12); }
.quick-say-label { display: block; font-size: var(--text-small); color: var(--text-dim); margin-bottom: var(--space-6); }
.quick-say-row { display: flex; gap: var(--space-8); align-items: stretch; }
.quick-say-input { flex: 1; min-width: 0; }
.quick-say-mic { min-width: 44px; padding: 0 var(--space-10); font-size: var(--text-lead); }
.quick-say-mic.is-listening { border-color: var(--red); color: var(--red); }
.quick-say-out:empty { display: none; }
.quick-say-yes,
.quick-say-no {
  margin-top: var(--space-10);
  padding: var(--space-10);
  border-radius: var(--radius-md);
  background-image: linear-gradient(var(--green-soft), var(--green-soft));
  background: var(--surface-2);
}
.quick-say-no { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); font-size: var(--text-small); }
.quick-say-what { font-size: var(--text-body); }
.quick-say-job { font-size: var(--text-small); margin-top: var(--space-2); }
.quick-say-when { font-size: var(--text-micro); color: var(--text-dim); margin-top: var(--space-4); }
.quick-say-actions { display: flex; gap: var(--space-8); align-items: center; margin-top: var(--space-10); flex-wrap: wrap; }
.quick-search {
  max-width: 260px;
  margin: 0;
}
.filters {
  display: flex;
  gap: var(--space-10);
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: var(--space-22);
}
.filters[hidden] { display: none; }
.filters .field { min-width: 170px; }
.filters .field label { margin: 0 0 var(--space-6); }
.filters .field-grow { flex: 1; min-width: 220px; }
.settings-section {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-10);
}
.settings-section > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-14) var(--space-16);
  min-height: 44px;
  position: relative;
}
.settings-section > summary::-webkit-details-marker { display: none; }
.settings-section > summary::after {
  content: '›';
  position: absolute;
  right: var(--space-16);
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-faint);
  font-size: var(--text-lead);
}
.settings-section[open] > summary::after { transform: translateY(-50%) rotate(90deg); }
.settings-section-title { font-weight: var(--weight-bold); }
.settings-section-sub { color: var(--text-dim); font-size: var(--text-small); }
.settings-section-body { padding: 0 var(--space-16) var(--space-16); }
.settings-section .panel { border: none; box-shadow: none; padding-left: 0; padding-right: 0; }
.settings-signout { margin-top: var(--space-24); display: flex; }
.settings-signout button.danger { width: auto; }
.po-plumbing { margin-top: var(--space-12); }
.po-plumbing > summary {
  list-style: none;
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  color: var(--text-dim);
  font-size: var(--text-small);
  font-weight: var(--weight-medium);
}
.po-plumbing > summary::-webkit-details-marker { display: none; }
.po-plumbing > summary::before { content: '›'; margin-right: var(--space-6); transition: transform var(--dur-fast) var(--ease-smooth); }
.po-plumbing[open] > summary::before { transform: rotate(90deg); }
.filters-fold { flex: none; }
.panel > .section-title:first-child { margin-top: 0; }
.opening-stock { margin-bottom: var(--space-18); }
.opening-stock-head {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: var(--space-8);
  min-height: 44px;
  font-weight: var(--weight-bold);
}
.opening-stock-head::-webkit-details-marker { display: none; }
.opening-stock-head::before { content: '\002B'; color: var(--text-faint); }
.opening-stock[open] .opening-stock-head::before { content: '\2212'; }
.opening-stock-body { padding-top: var(--space-10); }
.active-filters { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-bottom: var(--space-10); }
.active-filters[hidden] { display: none; }
.active-filter {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  min-height: 44px;
  padding: var(--space-6) var(--space-12);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-pill);
  background: var(--primary-soft);
  color: var(--text);
  font-weight: var(--weight-bold);
  font-size: var(--text-small);
  cursor: pointer;
}
.active-filter span[aria-hidden] { color: var(--primary-dark); }
.active-filter span[aria-hidden] { font-size: var(--text-body); line-height: 1; opacity: 0.8; }
.customer-fold { margin-bottom: var(--space-14); }
.customer-fold summary::before { content: '\25B8'; }
.customer-fold[open] summary::before { content: '\25BE'; }
.customer-fold summary.is-filtered {
  border-color: var(--border-strong);
  color: var(--text);
  font-weight: var(--weight-bold);
}
.customer-fold .chip-row { padding-top: var(--space-10); }
.filters-fold summary,
.customer-fold summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  min-height: 44px;
  padding: 0 var(--space-12);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--panel);
  font-size: var(--text-small);
  font-weight: var(--weight-medium);
  color: var(--text-dim);
}
.filters-fold summary::-webkit-details-marker,
.customer-fold summary::-webkit-details-marker { display: none; }
.filters-fold summary::before { content: '⚙'; font-size: var(--text-small); }
.filters-fold[open] summary,
.customer-fold[open] summary { color: var(--text); border-color: var(--border-strong); }
.filters-fold-body {
  display: flex;
  gap: var(--space-12);
  flex-wrap: wrap;
  padding-top: var(--space-10);
}
.chip-row { display: flex; gap: var(--space-8); flex-wrap: wrap; }
@media (max-width: 560px) {
  .chip-strip {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: var(--space-4) var(--space-2) var(--space-10);
    margin-inline: calc(-1 * var(--space-2));
  }
  .chip-strip::-webkit-scrollbar { display: none; }
  .chip-strip .chip { flex: 0 0 auto; white-space: nowrap; }
  .chip-strip.has-more-right {
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%);
    mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%);
  }
  .chip-strip.has-more-left {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 28px);
    mask-image: linear-gradient(to right, transparent 0, #000 28px);
  }
  .chip-strip.has-more-left.has-more-right {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
  }
  .filters .field-grow > label[for='search-input'] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
}
.chip-row-all {
  flex-wrap: wrap;
  padding-bottom: var(--space-4);
}
.chip-row-all .chip { flex: 0 0 auto; }
.chip-row-all:empty { display: none; margin: 0 !important; }
.chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  min-height: 44px;
  padding: var(--space-6) var(--space-14);
  border-radius: var(--radius-pill);
  border: 1.5px solid var(--border-strong);
  color: var(--text-dim);
  font-weight: var(--weight-bold);
  font-size: var(--text-small);
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition:
    color var(--dur-fast) var(--ease-smooth),
    border-color var(--dur-fast) var(--ease-smooth),
    transform var(--dur-base) var(--ease-spring),
    box-shadow var(--dur-base) var(--ease-smooth);
}
@media (hover: hover) {
  .chip:hover { border-color: var(--primary); color: var(--primary); transform: translateY(-2px); box-shadow: var(--shadow-md); }
}
.chip.active {
  background: var(--gradient-primary);
  border-color: var(--primary-dark);
  color: var(--on-accent);
  box-shadow: 0 4px 12px -2px rgba(181, 71, 30, 0.36), var(--shadow-inset-top);
}
.chip .count { color: var(--text-dim); font-weight: var(--weight-medium); font-variant-numeric: tabular-nums; }
.chip.active .count { color: var(--on-accent); }
.badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  padding: var(--space-4) var(--space-12);
  border-radius: var(--radius-pill);
  font-weight: var(--weight-bold);
  font-size: var(--text-small);
  letter-spacing: -0.004em;
  white-space: nowrap;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.035);
}
.badge.on_track { background: var(--green-soft); color: var(--green); }
.badge.at_risk {
  background: var(--amber-soft);
  color: var(--amber);
  --badge-glow: var(--glow-risk);
}
.badge.overdue {
  background: var(--red-soft);
  color: var(--red);
  --badge-glow: var(--glow-late);
}
.badge.packed_late { background: var(--held-soft); color: var(--held); }
.badge.completed { background: var(--completed-soft); color: var(--completed); }
.badge.unscheduled {
  background: var(--primary-soft);
  color: var(--primary);
  --badge-glow: var(--glow-await);
}
.badge.is-in-view:is(.at_risk, .overdue, .unscheduled) { position: relative; }
.badge.is-in-view:is(.at_risk, .overdue, .unscheduled)::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 12px 2px var(--badge-glow);
  opacity: 0;
  pointer-events: none;
}
.badge.at_risk.is-in-view::after     { animation: badge-asking 2.3s var(--ease-smooth) 3, badge-rest 0.9s var(--ease-smooth) 6.9s forwards; }
.badge.overdue.is-in-view::after     { animation: badge-asking 1.8s var(--ease-smooth) 3, badge-rest 0.9s var(--ease-smooth) 5.4s forwards; }
.badge.unscheduled.is-in-view::after { animation: badge-asking 2.8s var(--ease-smooth) 3, badge-rest 0.9s var(--ease-smooth) 8.4s forwards; }
@media (prefers-reduced-motion: reduce) {
  .badge.at_risk.is-in-view::after,
  .badge.overdue.is-in-view::after,
  .badge.unscheduled.is-in-view::after { animation: none; }
}
@keyframes badge-asking {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}
@keyframes badge-rest { from { opacity: 0; } to { opacity: 0.6; } }
:root {
  --glow-late: rgba(209, 36, 36, 0.34);
  --glow-risk: rgba(167, 92, 5, 0.32);
  --glow-await: rgba(181, 71, 30, 0.34);
}
:root[data-theme='dark'] {
  --glow-late: rgba(242, 102, 107, 0.50);
  --glow-risk: rgba(255, 204, 77, 0.44);
  --glow-await: rgba(255, 165, 61, 0.50);
}
.po-list { display: flex; flex-direction: column; gap: var(--space-16); }
.po-card,
.today-block {
  content-visibility: auto;
  contain-intrinsic-size: auto 220px;
}
.po-card { contain-intrinsic-size: auto 400px; }
.po-card .po-item-row {
  content-visibility: auto;
  contain-intrinsic-size: auto 232px;
}
@media (max-width: 560px) {
  .po-card { contain-intrinsic-size: auto 620px; }
  .po-card .po-item-row { contain-intrinsic-size: auto 352px; }
}
.po-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md), var(--shadow-inset-top);
  overflow: hidden;
  transition: box-shadow var(--dur-base) var(--ease-smooth), transform var(--dur-base) var(--ease-smooth), border-color var(--dur-base) var(--ease-smooth);
}
.po-card.is-overdue { background-image: linear-gradient(var(--red-soft), var(--red-soft));
  --glass-tint: var(--tint-late);
}
.po-card.is-packed_late { background-image: linear-gradient(var(--held-soft), var(--held-soft));
  --glass-tint: color-mix(in oklab, var(--held) 14%, transparent);
}
.po-card.is-at_risk { background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  --glass-tint: var(--tint-risk);
}
.po-card .item-qty,
.po-card .po-number,
.po-card-meta strong { font-variant-numeric: tabular-nums; }
.po-card .item-meta-line { color: var(--text-faint); }
.po-card .item-meta-line strong { color: var(--text-dim); font-weight: var(--weight-medium); }
@media (hover: hover) {
  .po-card:hover {
    box-shadow: var(--shadow-lg), var(--shadow-inset-top);
    transform: translateY(-3px);
    border-color: #e3d5cb;
  }
}
.po-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-16);
  padding: var(--space-18) var(--space-22);
  flex-wrap: wrap;
  transition: background-color var(--dur-fast) var(--ease-smooth);
}
a.po-card-head { cursor: pointer; }
.po-card-head { color: inherit; text-decoration: none; }
a.po-card-head:hover { background: var(--panel-alt); text-decoration: none; }
.po-card-head:focus-visible {
  outline: 3px solid var(--primary);
  outline-offset: -3px;
  background: var(--panel-alt);
}
.po-card-head .titles { display: flex; flex-direction: column; gap: 3px; }
.po-card-head .customer { font-weight: var(--weight-strong); font-size: var(--text-lead); letter-spacing: -0.018em; }
.po-card-head .po-headline { color: var(--text); font-size: var(--text-body); }
.po-card-head .po-more-items { color: var(--text-faint); }
.po-card-head .po-number { color: var(--text-dim); font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.po-card-meta {
  display: flex;
  gap: var(--space-22);
  flex-wrap: wrap;
  font-size: var(--text-small);
  color: var(--text-dim);
}
.po-card-meta strong { color: var(--text); font-weight: var(--weight-bold); }
.item-timer {
  display: inline-flex;
  align-items: center;
  gap: var(--space-4);
  font-weight: var(--weight-bold);
  color: var(--primary-dark);
}
.item-timer.completed { color: var(--green); }
.projection {
  display: inline-flex;
  align-items: center;
  gap: var(--space-4);
  font-weight: var(--weight-bold);
  color: var(--completed);
  font-variant-numeric: tabular-nums;
}
.projection.late { color: var(--red); }
.projection.thin { color: var(--text-dim); font-weight: var(--weight-medium); }
.projection-sample { font-weight: 400; color: var(--text-dim); }
.rejected-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--red-soft);
  color: var(--red);
  font-weight: var(--weight-bold);
  font-size: var(--text-micro);
  font-variant-numeric: tabular-nums;
}
.doc-panel {
  margin-top: var(--space-16);
  padding-top: var(--space-14);
  border-top: 1px dashed var(--border-strong);
}
.doc-panel-title {
  font-weight: var(--weight-strong);
  font-size: var(--text-small);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-dim);
  margin-bottom: var(--space-8);
}
.doc-list { display: flex; flex-direction: column; gap: var(--space-6); margin-bottom: var(--space-10); }
.doc-row { display: flex; align-items: center; gap: var(--space-10); flex-wrap: wrap; }
.today-summary { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-bottom: var(--space-22); }
.today-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 13px;
  border-radius: var(--radius-pill);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  background: var(--surface-2);
  border: 1px solid var(--border-strong);
  color: var(--text-dim);
  text-decoration: none;
}
a.today-chip:hover { text-decoration: none; }
@media (hover: hover) {
  a.today-chip:hover { border-color: var(--primary); }
}
a.today-chip:active { background: var(--gray-soft); }
span.today-chip-flat { border-style: dashed; opacity: 0.65; }
@media (pointer: coarse) {
  .today-chip { min-height: 44px; padding: var(--space-6) var(--space-16); }
}
.today-chip.bad { background: var(--red-soft); color: var(--red); border-color: color-mix(in srgb, var(--red) 30%, transparent); }
.today-chip.warn { background: var(--amber-soft); color: var(--amber); border-color: color-mix(in srgb, var(--amber) 30%, transparent); }
.today-chip.held { background: var(--held-soft); color: var(--held); border-color: color-mix(in srgb, var(--held) 30%, transparent); }
.today-chip.good { background: var(--green-soft); color: var(--green); border-color: color-mix(in srgb, var(--green) 30%, transparent); }
.today-block {
  scroll-margin-top: var(--space-16);
  margin-bottom: var(--space-20);
  padding: var(--space-18) var(--space-20);
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
}
.today-block.bad { background-image: linear-gradient(var(--red-soft), var(--red-soft));
  --glass-tint: var(--tint-late);
}
.today-block.held { background-image: linear-gradient(var(--held-soft), var(--held-soft));
  --glass-tint: color-mix(in oklab, var(--held) 14%, transparent);
}
.today-block.warn { background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  --glass-tint: var(--tint-risk);
}
.today-block.good { background-image: linear-gradient(var(--green-soft), var(--green-soft));
  --glass-tint: var(--tint-good);
}
.today-block-head { display: flex; align-items: center; gap: var(--space-10); margin-bottom: var(--space-4); }
.today-block-head h2 { font-size: var(--text-body); font-weight: var(--weight-strong); margin: 0; }
.today-count {
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  color: var(--text-dim);
}
.today-note { margin-bottom: var(--space-12); }
.today-rows { display: flex; flex-direction: column; }
.today-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-16);
  padding: var(--space-10) 0;
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
}
.today-row:first-child { border-top: none; }
.today-row-main a { font-weight: var(--weight-bold); text-decoration: none; color: var(--text); }
.today-row-main a:hover { color: var(--primary); text-decoration: underline; }
.today-row-sub { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-2); }
.today-row-fact { text-align: right; font-size: var(--text-small); color: var(--text-dim); margin-left: auto; }
.today-row-fact strong {
  display: block;
  font-size: var(--text-body);
  color: var(--text);
  font-variant-numeric: tabular-nums;
}
.today-row-fact.bad strong { color: var(--red); }
.today-row-fact.held strong { color: var(--held); }
.today-row-fact.warn strong { color: var(--amber); }
.today-row-fact.good strong { color: var(--green); }
.today-unit {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  color: var(--text-dim);
  margin-left: var(--space-6);
}
@media (max-width: 560px) {
  .today-row-fact { text-align: left; margin-left: 0; }
}
.quick-pending {
  margin: 0 0 var(--space-14);
  padding: var(--space-12) var(--space-14);
  border-radius: 12px;
  background: var(--amber-soft);
  border: 1px solid color-mix(in srgb, var(--amber) 30%, transparent);
  color: var(--amber);
  font-weight: var(--weight-bold);
  font-size: var(--text-body);
}
.quote-panel { padding: var(--space-20) var(--space-22); }
.quote-form {
  display: flex;
  gap: var(--space-14);
  align-items: flex-end;
  flex-wrap: wrap;
}
.quote-form > div { display: flex; flex-direction: column; gap: var(--space-4); }
.quote-form input { max-width: 190px; }
.quote-headline {
  margin-top: var(--space-18);
  padding: var(--space-14) var(--space-16);
  border-radius: 12px;
  background: var(--surface-2);
  border: 1px solid var(--border-strong);
  font-size: var(--text-body);
  line-height: var(--leading-text);
}
.quote-row.over td { background: color-mix(in srgb, var(--red) 7%, transparent); }
.quote-row.comfortable td { background: color-mix(in srgb, var(--green) 7%, transparent); }
.verdict-tag {
  display: inline-block;
  padding: var(--space-4) var(--space-12);
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  white-space: nowrap;
}
.verdict-tag.comfortable { background: var(--green-soft); color: var(--green); }
.verdict-tag.tight { background: var(--amber-soft); color: var(--amber); }
.verdict-tag.over { background: var(--red-soft); color: var(--red); }
.verdict-tag.unknown { background: var(--surface-2); color: var(--text-dim); }
.verdict-tag { white-space: normal; }
.cap-card { padding: var(--space-20) var(--space-22); margin-bottom: var(--space-14); }
.cap-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-16);
  flex-wrap: wrap;
  margin-bottom: var(--space-14);
}
.cap-unit-name { font-weight: var(--weight-strong); font-size: var(--text-lead); }
.cap-card-head .muted { font-size: var(--text-small); margin-top: 3px; }
.cap-util {
  font-size: var(--text-display);
  font-weight: var(--weight-strong);
  line-height: 1;
  text-align: right;
  color: var(--text-dim);
}
.cap-util span { display: block; font-size: var(--text-micro); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: var(--track-caps); margin-top: var(--space-4); }
.cap-util.ok { color: var(--green); }
.cap-util.tight { color: var(--amber); }
.cap-util.over { color: var(--red); }
.cap-bar {
  position: relative;
  height: 14px;
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  border: 1px solid var(--border-strong);
  overflow: hidden;
}
.cap-bar-fill { height: 100%; border-radius: var(--radius-pill); transition: width var(--dur-slow) var(--ease-smooth); }
.cap-bar-fill.ok { background: var(--green); }
.cap-bar-fill.tight {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.38) 0 3px, transparent 3px 7px),
    var(--amber);
}
.cap-bar-fill.over {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.38) 0 3px, transparent 3px 7px),
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.30) 0 3px, transparent 3px 7px),
    var(--red);
}
.cap-bar-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 71.4%;
  width: 2px;
  background: var(--text-dim);
  opacity: 0.55;
}
.cap-bar-empty { font-size: var(--text-small); color: var(--text-dim); padding: var(--space-6) 0; }
.cap-bar-key {
  display: flex;
  justify-content: space-between;
  gap: var(--space-12);
  flex-wrap: wrap;
  font-size: var(--text-small);
  color: var(--text-dim);
  margin-top: 7px;
}
.cap-flags { display: flex; flex-direction: column; gap: var(--space-6); margin-top: var(--space-12); }
.page-header + .cap-flags { margin-bottom: var(--space-14); }
.cap-flag {
  font-size: var(--text-small);
  padding: 6px 11px;
  border-radius: 8px;
  font-weight: var(--weight-medium);
}
.cap-flag.over { background: var(--red-soft); color: var(--red); }
.cap-flag.warn { background: var(--amber-soft); color: var(--amber); }
.comment-panel { padding: var(--space-18) var(--space-20) var(--space-16); }
.comment-thread { display: flex; flex-direction: column; gap: var(--space-14); }
.comment {
  padding-bottom: var(--space-14);
  border-bottom: 1px solid var(--border);
}
.comment:last-child { border-bottom: none; padding-bottom: var(--space-4); }
.comment-head {
  display: flex;
  align-items: baseline;
  gap: var(--space-10);
  flex-wrap: wrap;
  margin-bottom: 5px;
}
.comment-when { font-size: var(--text-small); color: var(--text-dim); }
.comment-actions {
  margin-left: auto;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-fast) var(--ease-smooth);
}
.comment:hover .comment-actions, .comment-actions:focus-within {
  opacity: 1;
  pointer-events: auto;
}
@media (hover: none), (pointer: coarse) {
  .comment-actions { opacity: 1; pointer-events: auto; }
}
.comment-body {
  font-size: var(--text-body);
  line-height: var(--leading-text);
  max-width: 68ch;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.mention {
  background: var(--primary-soft);
  color: var(--primary);
  font-weight: var(--weight-bold);
  border-radius: 4px;
  padding: var(--space-2) var(--space-8);
}
.comment-compose { margin-top: var(--space-16); padding-top: var(--space-14); border-top: 1px dashed var(--border-strong); }
.comment-compose textarea { width: 100%; }
.comment-compose-foot {
  margin-top: var(--space-8);
}
.comment-compose-foot .muted { font-size: var(--text-small); }
.comment-edit-box { width: 100%; }
.rate-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  padding: var(--space-4) var(--space-12);
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  border: 1px solid transparent;
  cursor: help;
}
.rate-behind { background: var(--red-soft); color: var(--red); border-color: color-mix(in srgb, var(--red) 30%, transparent); }
.rate-ahead { background: var(--green-soft); color: var(--green); border-color: color-mix(in srgb, var(--green) 30%, transparent); }
.rate-neutral { background: var(--surface-2); color: var(--text-dim); border-color: var(--border-strong); }
.quick-stoppage {
  margin-top: var(--space-22);
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  background: var(--surface-2);
  overflow: hidden;
}
.quick-stoppage summary {
  padding: var(--space-14) var(--space-16);
  font-weight: var(--weight-bold);
  cursor: pointer;
  list-style: none;
  color: var(--text-dim);
}
.quick-stoppage summary::-webkit-details-marker { display: none; }
.quick-stoppage[open] summary { border-bottom: 1px solid var(--border-strong); color: var(--text); }
.quick-stoppage-body { padding: var(--space-14) var(--space-16) var(--space-16); }
.quick-stoppage-hint { margin-bottom: var(--space-12); }
.quick-reason-grid { display: flex; flex-direction: column; gap: var(--space-8); }
.quick-reason-btn {
  padding: 15px 16px;
  border-radius: 12px;
  border: 1px solid var(--border-strong);
  background: var(--panel);
  color: var(--text);
  font-weight: var(--weight-bold);
  font-size: var(--text-body);
  text-align: left;
  cursor: pointer;
}
.quick-reason-btn:disabled { opacity: 0.5; }
.quick-reason-btn.selected {
  border-color: var(--primary);
  background: var(--primary-soft);
  color: var(--primary);
}
.quick-stoppage-days { margin-top: var(--space-16); display: flex; flex-direction: column; gap: var(--space-6); }
.quick-stoppage-days-head { font-size: var(--text-small); color: var(--text-dim); margin-bottom: var(--space-4); }
.quick-stoppage-day {
  padding: var(--space-10) var(--space-12);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--surface-2);
  color: var(--text-dim);
  font-size: var(--text-small);
  text-align: left;
  cursor: pointer;
}
.quick-stoppage-day.selected {
  border-color: var(--amber);
  background: var(--amber-soft);
  color: var(--amber);
  font-weight: var(--weight-bold);
}
.stoppage-phase-list { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-top: var(--space-10); }
.stoppage-phase-tag {
  padding: var(--space-4) var(--space-12);
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  border: 1px solid var(--border-strong);
  font-size: var(--text-small);
  color: var(--text-dim);
}
.drawing-panel {
  margin-top: var(--space-14);
  padding-top: var(--space-12);
  border-top: 1px dashed var(--border-strong);
}
.drawing-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  margin-bottom: var(--space-10);
}
.drawing-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 116px;
}
.drawing-card a {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  text-decoration: none;
  color: inherit;
}
.drawing-card img,
.drawing-pdf {
  width: 116px;
  height: 84px;
  border-radius: 8px;
  border: 1px solid var(--border-strong);
  background: #fff;
  object-fit: contain;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--weight-strong);
  font-size: var(--text-small);
  color: var(--text-dim);
  letter-spacing: var(--track-caps);
  transition: border-color var(--dur-fast) var(--ease-smooth), transform var(--dur-fast) var(--ease-smooth);
}
@media (hover: hover) {
  .drawing-card a:hover img,
  .drawing-card a:hover .drawing-pdf {
    border-color: var(--primary);
    transform: translateY(-1px);
  }
}
.drawing-caption {
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.3;
  color: var(--text);
  overflow-wrap: anywhere;
}
.drawing-upload {
  display: flex;
  gap: var(--space-8);
  flex-wrap: wrap;
  align-items: center;
}
.drawing-upload .drawing-file { max-width: 220px; }
.drawing-upload .drawing-label {
  max-width: 150px;
  padding: 7px 9px;
  font-size: var(--text-small);
}
.drawing-compare {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-8);
  margin: 0 0 var(--space-10);
  font-size: var(--text-small);
  color: var(--text-dim);
}
.drawing-compare select {
  max-width: 170px;
  padding: var(--space-6) var(--space-8);
}
.dc-out { flex-basis: 100%; }
.dc-heading {
  margin-top: var(--space-8);
  font-weight: var(--weight-strong);
  color: var(--text);
}
.dc-same { margin-top: var(--space-4); color: var(--text-dim); }
.dc-table {
  width: 100%;
  margin-top: var(--space-8);
  border-collapse: collapse;
}
.dc-table th,
.dc-table td {
  padding: var(--space-6) var(--space-8);
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--border);
  font-weight: var(--weight-medium);
}
.dc-table th { width: 40%; color: var(--text-dim); }
.dc-table td { color: var(--text); }
.dc-metal th { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); padding-left: var(--space-6); }
.dc-printed {
  margin-top: var(--space-2);
  font-size: var(--text-micro);
  color: var(--text-faint);
}
.dc-doubt {
  margin-top: var(--space-2);
  font-size: var(--text-micro);
  color: var(--amber);
}
.dc-verdict {
  margin-top: var(--space-8);
  font-weight: var(--weight-strong);
  color: var(--amber);
}
.dc-verdict.dc-paper { color: var(--green); }
.dc-jobs {
  margin: var(--space-6) 0 0;
  padding-left: var(--space-18);
  color: var(--text);
}
.dc-jobs li { margin-bottom: var(--space-6); line-height: var(--leading-text); }
.dc-caveat {
  margin-top: var(--space-10);
  font-size: var(--text-micro);
  color: var(--text-faint);
  line-height: var(--leading-text);
}
.quick-drawings {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  margin-bottom: var(--space-16);
}
.quick-drawing {
  display: block;
  padding: var(--space-14) var(--space-16);
  border-radius: 12px;
  border: 1px solid var(--border-strong);
  background: var(--surface-2);
  color: var(--text);
  font-weight: var(--weight-bold);
  font-size: var(--text-body);
  text-decoration: none;
}
.quick-drawing:active { background: var(--bg); }
.quick-entry-drawing { color: var(--text-dim); font-size: var(--text-small); margin-top: var(--space-4); }
.po-card-body { border-top: 1px solid var(--border); }
.po-item-row {
  padding: var(--space-16) var(--space-22);
  border-bottom: 1px solid var(--border);
}
.po-item-row:last-child { border-bottom: none; }
.po-item-row .item-head {
  margin-bottom: var(--space-12);
}
.po-card .item-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-4) var(--space-12);
  flex-wrap: wrap;
}
.po-item-row .item-name { font-weight: var(--weight-bold); letter-spacing: -0.012em; }
.po-item-row .item-qty { color: var(--text-dim); font-size: var(--text-small); }
.stepper-wrap { display: flex; flex-direction: column; gap: var(--space-6); }
.stepper-summary {
  display: flex;
  align-items: baseline;
  gap: var(--space-8);
  flex-wrap: wrap;
  line-height: 1.35;
}
.stepper-summary-stage {
  font-weight: var(--weight-strong);
  font-size: var(--text-body);
  letter-spacing: -0.012em;
}
.stepper-summary-meta {
  font-size: var(--text-small);
  color: var(--text-dim);
  font-variant-numeric: tabular-nums;
}
.stepper {
  display: flex;
  align-items: flex-start;
  overflow-x: auto;
  padding-top: var(--space-8);
  margin-top: calc(-1 * var(--space-6));
  padding-bottom: var(--space-4);
  gap: 0;
  scrollbar-width: thin;
  overscroll-behavior-x: contain;
}
.step {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 132px;
  flex: 1;
  position: relative;
}
@media (min-width: 721px) {
  .step { min-width: 80px; }
}
.step .connector {
  position: absolute;
  top: 18.5px;
  left: -50%;
  width: 100%;
  height: 3px;
  background: var(--border-strong);
  border-radius: var(--radius-pill);
  z-index: 0;
  transition: background var(--dur-slow) var(--ease-smooth);
}
.step:first-child .connector { display: none; }
.step .connector.filled { background: linear-gradient(90deg, #0d6a2f, #11813a); }
.step .circle {
  width: auto;
  height: auto;
  min-height: 34px;
  border: 0;
  background: none;
  box-shadow: none;
  border-radius: var(--radius-md);
  padding: var(--space-2);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  color: var(--text-faint);
  transition: transform var(--dur-base) var(--ease-spring), color var(--dur-fast) var(--ease-smooth);
}
.step .circle[role="button"] { cursor: pointer; }
.step .circle[role="button"]:hover,
.step .circle[role="button"]:focus-visible {
  outline: 2px solid var(--primary-dark);
  outline-offset: 3px;
  border-radius: var(--radius-md);
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 6px 12px -3px rgba(33, 25, 21, 0.34), var(--shadow-inset-top);
}
.chip:active {
  background: var(--primary-soft);
  border-color: var(--primary-dark);
  color: var(--primary-dark);
}
a.po-card-head:active {
  background: var(--primary-soft);
}
.drawing-card a:active img,
.drawing-card a:active .drawing-pdf {
  border-color: var(--primary-dark);
  background: var(--primary-soft);
}
a:active .attach-thumb {
  border-color: var(--primary-dark);
}
.step .circle[role="button"]:active {
  transform: translateY(0) scale(1.02);
  box-shadow: 0 2px 4px -1px rgba(33, 25, 21, 0.3), var(--shadow-inset-top);
}
@media (prefers-reduced-motion: reduce) {
  .step .circle[role="button"]:hover,
  .step .circle[role="button"]:focus-visible,
  .step .circle[role="button"]:active {
    transform: none;
  }
}
.step.not_started .circle { color: var(--text-faint); }
.step.in_progress .circle { color: var(--amber); }
.step.done .circle { color: var(--green); }
.step .label {
  margin-top: var(--space-8);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  text-align: center;
  color: var(--text-dim);
  line-height: 1.25;
  max-width: 124px;
  letter-spacing: -0.002em;
  transition: color var(--dur-base) var(--ease-smooth);
}
.step.behind .circle { border-color: var(--red); color: var(--red); }
.step.behind .label { color: var(--red); }
.step-behind {
  margin-top: var(--space-2);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  color: var(--red);
  text-align: center;
}
.step-owed {
  margin-top: var(--space-2);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  color: var(--amber);
  text-align: center;
}
.step.done .label { color: var(--green); }
.step.in_progress .label { color: var(--amber); }
.step-progress {
  margin-top: 3px;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  color: var(--text-dim);
}
@keyframes editor-in {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: none; }
}
.phase-editor {
  margin-top: var(--space-16);
  padding: var(--space-18);
  background: linear-gradient(180deg, var(--panel-alt) 0%, var(--surface-2) 100%);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-inset-sunken);
  animation: editor-in var(--dur-base) var(--ease-smooth);
}
.phase-editor h4 { font-size: var(--text-body); margin-bottom: var(--space-4); }
.phase-editor .phase-sub { color: var(--text-dim); font-size: var(--text-small); margin-bottom: var(--space-14); }
.status-choice { display: flex; gap: var(--space-8); margin-bottom: var(--space-4); flex-wrap: wrap; }
.status-choice button {
  flex: 1;
  min-width: 110px;
  background: var(--panel);
  border: 1.5px solid var(--border-strong);
  color: var(--text-dim);
}
.status-choice button.sel-pending.selected { background: var(--gray-soft); border-color: var(--text-faint); color: var(--text); }
.status-choice button.sel-done.selected { background: var(--green-soft); border-color: var(--green); color: var(--green); }
.phase-editor .editor-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 var(--space-14);
  margin-top: var(--space-10);
}
.phase-editor .editor-grid .full { grid-column: 1 / -1; }
.phase-editor .editor-actions {
  display: flex;
  gap: var(--space-8);
  margin-top: var(--space-14);
}
.phase-editor .editor-actions button { width: auto; margin-top: 0; }
.status-readout { font-weight: var(--weight-bold); }
.status-readout.status-not_started { color: var(--text-faint); }
.status-readout.status-in_progress { color: var(--amber); }
.status-readout.status-done { color: var(--green); }
.phase-log-list { margin: var(--space-10) 0; }
.phase-log-row, .phase-checklist-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-10);
  padding: var(--space-10) 0;
  border-bottom: 1px solid var(--border);
  font-size: var(--text-small);
}
.phase-log-row:last-child, .phase-checklist-row:last-child { border-bottom: none; }
.plr-main { flex: 1; min-width: 0; }
.plr-note { color: var(--text-dim); margin-top: var(--space-2); }
.plr-meta { color: var(--text-faint); font-size: var(--text-micro); margin-top: var(--space-2); }
.plr-actions { display: flex; gap: var(--space-10); flex: none; }
.checklist-toggle { display: flex; align-items: center; gap: var(--space-8); cursor: pointer; }
.checklist-toggle input { width: auto; accent-color: var(--green); }
.cl-done { text-decoration: line-through; color: var(--text-dim); }
.attach-row { display: flex; gap: var(--space-8); flex-wrap: wrap; margin-top: var(--space-8); }
.attach-thumb {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-strong);
  box-shadow: var(--shadow-sm);
  transition: transform var(--dur-base) var(--ease-spring), box-shadow var(--dur-base) var(--ease-smooth);
}
@media (hover: hover) {
  .attach-thumb:hover { transform: scale(1.09); box-shadow: var(--shadow-md); }
}
.attach-file {
  display: inline-flex;
  align-items: center;
  font-size: var(--text-small);
  padding: var(--space-6) var(--space-10);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-strong);
  background: var(--panel);
  transition: border-color var(--dur-fast) var(--ease-smooth);
}
.attach-file:hover { border-color: var(--primary-light); text-decoration: none; }
.phase-add-form {
  margin-top: var(--space-12);
  padding-top: var(--space-14);
  border-top: 1px dashed var(--border-strong);
}
.kpi-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--space-24);
}
.kpi-strip:empty { display: none; }
.kpi-strip .empty-state { flex: 1 1 100%; border: 0; border-radius: 0; }
.kpi-tile {
  position: relative;
  flex: 1 1 150px;
  background: var(--panel);
  padding: var(--space-16);
  overflow: hidden;
}
.kpi-tile::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--kpi-accent, var(--border-strong));
  box-shadow: 0 0 12px -2px var(--kpi-accent, transparent);
}
.kpi-tile .kpi-label {
  font-weight: var(--weight-bold);
  font-size: var(--text-micro);
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
}
.kpi-tile .kpi-value {
  font-weight: var(--weight-strong);
  font-size: var(--text-heading);
  margin-top: 5px;
  line-height: 1;
  letter-spacing: -0.035em;
}
.kpi-tile.overdue .kpi-value { font-size: var(--text-display); }
.kpi-tile.total { --kpi-accent: var(--text-faint); }
.kpi-tile.on_track { --kpi-accent: var(--green); }
.kpi-tile.on_track .kpi-value { color: var(--green); }
.kpi-tile.at_risk { --kpi-accent: var(--amber); }
.kpi-tile.at_risk .kpi-value { color: var(--amber); }
.kpi-tile.overdue { --kpi-accent: var(--red); }
.kpi-tile.overdue .kpi-value { color: var(--red); }
.kpi-tile.unscheduled { --kpi-accent: var(--text-dim); }
.kpi-tile.unscheduled .kpi-value { color: var(--text-dim); }
.kpi-tile.completed { --kpi-accent: var(--completed); }
.kpi-tile.is-zero .kpi-value { color: var(--text-faint); }
.kpi-tile.is-zero { --kpi-accent: var(--border); }
.kpi-tile.is-zero::after { box-shadow: none; }
.kpi-tile.completed .kpi-value { color: var(--completed); }
.health-line .health-frag {
  background: none;
  border: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  padding: 12px 3px;
  margin: -12px -3px;
  min-height: 44px;
  text-decoration: underline;
  text-decoration-color: var(--border-strong);
  text-underline-offset: 3px;
}
.health-line .health-frag:hover { text-decoration-color: currentColor; }
.health-line .health-frag .kpi-value { font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; }
.health-line .health-frag.overdue { color: var(--red); }
.health-line .health-frag.packed_late { color: var(--held); }
.health-line .health-frag.at_risk { color: var(--amber); }
.health-line .health-frag.unscheduled { color: var(--text-dim); }
.charts-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: var(--space-16);
  margin-bottom: var(--space-28);
}
.charts-row > * { min-width: 0; }
.chart-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md), var(--shadow-inset-top);
  padding: var(--space-20) var(--space-22);
  transition: box-shadow var(--dur-base) var(--ease-smooth), transform var(--dur-base) var(--ease-smooth);
}
@media (hover: hover) {
  .chart-card:hover { box-shadow: var(--shadow-lg), var(--shadow-inset-top); transform: translateY(-3px); }
}
.chart-card h3 {
  font-size: var(--text-body);
  font-weight: var(--weight-strong);
  margin-bottom: var(--space-4);
}
.chart-card .chart-sub {
  margin-bottom: var(--space-16);
}
.chart-card .chart-wrap { position: relative; height: 240px; }
.empty-state {
  padding: 60px 24px;
  text-align: center;
  border: 1.5px dashed var(--border-strong);
  border-radius: var(--radius-xl);
  color: var(--text-dim);
  background: linear-gradient(180deg, var(--panel) 0%, var(--panel-alt) 100%);
}
.empty-state .big { font-weight: var(--weight-strong); font-size: var(--text-lead); color: var(--text); margin-bottom: var(--space-8); letter-spacing: var(--track-tight); }
.empty-state .icon { font-size: var(--glyph-empty); margin-bottom: var(--space-12); opacity: 0.85; }
.decide-first {
  margin-bottom: var(--space-20);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  background: var(--panel);
  overflow: hidden;
}
.decide-first-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-12);
  padding: var(--space-12) var(--space-16);
  border-bottom: 1px solid var(--border);
}
.decide-first-head h2 {
  margin: 0;
  font-size: var(--text-lead);
  letter-spacing: var(--track-tight);
}
.decide-first-head a { font-size: var(--text-small); }
.decide-row {
  display: grid;
  grid-template-columns: minmax(88px, auto) 1fr minmax(0, 1.1fr);
  gap: var(--space-16);
  align-items: baseline;
  padding: var(--space-16);
  border-top: 1px solid var(--border);
  border-left: 3px solid transparent;
  color: inherit;
  text-decoration: none;
}
.decide-row:first-of-type { border-top: 0; }
.decide-row.bad { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.decide-row.warn { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.decide-row:hover { background: var(--panel-alt); }
.decide-when {
  font-weight: var(--weight-strong);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--track-tight);
}
.decide-row.bad .decide-when { color: var(--red); }
.decide-row.warn .decide-when { color: var(--amber); }
.decide-who { color: var(--text-dim); font-size: var(--text-small); }
.decide-do { color: var(--text-dim); font-size: var(--text-small); }
.decide-rate { font-variant-numeric: tabular-nums; }
@media (max-width: 640px) {
  .decide-row { grid-template-columns: 1fr; gap: var(--space-4); }
}
.nav-queue-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 var(--space-6);
  border-radius: 10px;
  background: var(--amber);
  color: var(--on-accent);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  font-variant-numeric: tabular-nums;
}
.nav-queue-badge[hidden] { display: none; }
.nav-queue-badge.at-risk { background: var(--red); }
.quick-stale {
  margin-bottom: var(--space-12);
  padding: var(--space-10) var(--space-12);
  border-radius: var(--radius-md);
  background: var(--amber-soft);
  color: var(--amber);
  border: 1px solid var(--amber);
  font-weight: var(--weight-medium);
}
.empty-state-actions { margin-top: var(--space-20); display: flex; gap: var(--space-12); justify-content: center; flex-wrap: wrap; }
.panel-empty {
  padding: var(--space-20) var(--space-16);
  text-align: center;
  color: var(--text-dim);
  font-size: var(--text-small);
  line-height: 1.5;
}
.skeleton {
  background: linear-gradient(90deg, var(--panel-alt) 25%, var(--border) 37%, var(--panel-alt) 63%);
  background-size: 400% 100%;
  animation: shimmer 1.4s ease infinite;
  border-radius: var(--radius-lg);
}
@keyframes shimmer {
  0% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}
.skeleton-card { height: 120px; margin-bottom: var(--space-16); }
.skeleton-row { height: 52px; margin-bottom: var(--space-10); border-radius: var(--radius-md); }
.panel {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: var(--space-24);
  box-shadow: var(--shadow-md), var(--shadow-inset-top);
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: 0 var(--space-16);
}
.form-grid .full { grid-column: 1 / -1; }
@media (max-width: 640px) {
  .form-grid { grid-template-columns: 1fr; }
}
.track-sched { display: inline-flex; flex-wrap: wrap; gap: var(--space-6); align-items: baseline; }
.track-lot {
  display: inline-block;
  padding: 2px 9px;
  border-radius: var(--radius-pill);
  background: var(--panel-alt);
  border: 1px solid var(--border);
  font-size: var(--text-micro);
  font-variant-numeric: tabular-nums;
}
.track-lot-open { border-style: dashed; color: var(--text-dim); background: none; }
.track-lot-late { border-color: var(--red); color: var(--red); background: var(--red-soft); }
.track-lot-next { border-color: var(--amber); color: var(--amber); background: var(--amber-soft); }
.track-lot-met { color: var(--text-dim); }
.lot {
  display: inline-block;
  padding: 1px 8px;
  border-radius: var(--radius-pill);
  background: var(--panel-alt);
  border: 1px solid var(--border);
  font-size: var(--text-micro);
  font-variant-numeric: tabular-nums;
}
.lot-open { border-style: dashed; color: var(--text-dim); background: none; }
.sched-panel {
  margin: var(--space-10) 0 0;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--panel);
  overflow: hidden;
}
.sched-head {
  padding: var(--space-8) var(--space-12);
  background: var(--surface-2);
  border-bottom: 1px solid var(--border-strong);
}
.sched-title { font-size: var(--text-micro); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--text-dim); }
.sched-sum { font-size: var(--text-small); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.sched-list { list-style: none; margin: 0; padding: 0; }
.sched-row {
  display: grid;
  grid-template-columns: 3.5rem 1fr auto;
  align-items: baseline;
  gap: var(--space-12);
  padding: var(--space-10) var(--space-12);
  border-top: 1px solid var(--border);
}
.sched-row:first-child { border-top: none; }
.sched-qty {
  font-size: var(--text-lead);
  font-weight: var(--weight-strong);
  font-variant-numeric: tabular-nums;
  text-align: right;
  color: var(--text);
}
.sched-when { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.sched-when strong { font-weight: var(--weight-bold); }
.sched-label { font-size: var(--text-small); color: var(--text-dim); }
.sched-running { font-size: var(--text-small); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.sched-state {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-2);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.sched-note { font-weight: 400; color: var(--text-dim); font-size: var(--text-micro); }
.sched-row.is-late { background: var(--red-soft); }
.sched-row.is-late .sched-state { color: var(--red); }
.sched-row.is-late .sched-qty { color: var(--red); }
.sched-row.is-next { background: var(--amber-soft); }
.sched-row.is-next .sched-state { color: var(--amber); }
.sched-row.is-packed-late { background: var(--held-soft); }
.sched-row.is-packed-late .sched-state { color: var(--held); }
.sched-row.is-packed .sched-state { color: var(--green); }
.sched-row.is-met .sched-qty { color: var(--text-dim); }
.sched-row.is-met .sched-state { color: var(--green); }
.sched-row.is-waiting .sched-state { color: var(--text-dim); }
.sched-row.is-open { background: none; }
.sched-row.is-open .sched-qty, .sched-row.is-open .sched-when strong { color: var(--text-dim); font-weight: var(--weight-bold); }
@media (max-width: 560px) {
  .sched-row {
    grid-template-columns: 3rem 1fr;
    row-gap: var(--space-4);
  }
  .sched-state { grid-column: 2; align-items: flex-start; }
}
.sched { margin-top: var(--space-14); padding-top: var(--space-12); border-top: 1px dashed var(--border-strong); }
.sched-head {
  margin-bottom: var(--space-4);
  font-weight: var(--weight-bold);
  font-size: var(--text-small);
}
.sched-why { font-size: var(--text-small); line-height: 1.45; margin-bottom: var(--space-10); }
.sched-rows { display: flex; flex-direction: column; gap: var(--space-8); }
.sched-form-row { display: grid; grid-template-columns: 110px minmax(150px, 1fr) auto; gap: var(--space-8); align-items: center; }
.sched-form-row input { margin: 0; }
.sched-tally { margin-top: var(--space-10); font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.sched-over { color: var(--red); font-weight: var(--weight-bold); }
@media (max-width: 560px) {
  .sched-form-row { grid-template-columns: 1fr 1fr auto; }
}
.item-sched-edit { margin-top: var(--space-14); padding-top: var(--space-12); border-top: 1px dashed var(--border-strong); }
.item-sched-edit-head { margin-bottom: var(--space-4); font-weight: var(--weight-bold); font-size: var(--text-small); }
.item-sched-edit-why { font-size: var(--text-small); line-height: 1.45; margin-bottom: var(--space-10); }
.item-sched-edit-rows { display: flex; flex-direction: column; gap: var(--space-8); }
.item-sched-edit-row { display: grid; grid-template-columns: 110px minmax(150px, 1fr) auto; gap: var(--space-8); align-items: center; }
.item-sched-edit-row input { margin: 0; }
.item-sched-edit-tally { margin-top: var(--space-10); font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.item-sched-edit-over { color: var(--red); font-weight: var(--weight-bold); }
@media (max-width: 560px) {
  .item-sched-edit-row { grid-template-columns: 1fr 1fr auto; }
}
.item-row {
  margin-bottom: var(--space-14);
  padding: var(--space-16) var(--space-18);
  background: linear-gradient(180deg, var(--panel-alt) 0%, var(--surface-2) 100%);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-inset-sunken);
}
.item-row label { margin: 0 0 var(--space-6); }
.item-row .form-grid { margin-top: 0; }
.item-row .form-grid label { margin-top: var(--space-12); }
.item-row .form-grid > div:nth-child(-n+2) label { margin-top: 0; }
.item-row-head {
  margin-bottom: var(--space-2);
}
.item-row-head .item-row-title { font-weight: var(--weight-strong); font-size: var(--text-small); color: var(--text-dim); text-transform: uppercase; letter-spacing: var(--track-caps); }
.item-meta-line {
  display: flex;
  gap: var(--space-16);
  flex-wrap: wrap;
  font-size: var(--text-small);
  color: var(--text-dim);
  margin-top: var(--space-4);
}
.item-meta-line strong { color: var(--text); font-weight: var(--weight-bold); }
.sched-lede { color: var(--text); }
.sched-lede-late strong { color: var(--red); }
.sched-lede-packed strong { color: var(--held); }
.sched-lede-met strong { color: var(--green); }
.add-row-btn { margin-top: var(--space-4); }
.muted { color: var(--text-dim); font-size: var(--text-small); }
.section-title {
  font-weight: var(--weight-strong);
  font-size: var(--text-lead);
  letter-spacing: -0.018em;
  margin: var(--space-24) 0 var(--space-10);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  flex-wrap: wrap;
}
.table-wrap {
  overscroll-behavior-x: contain;
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--panel);
  box-shadow: var(--shadow-md), var(--shadow-inset-top);
}
@media (min-width: 900px) {
  .table-wrap { max-height: 70vh; }
}
@media (max-width: 640px) {
  table.stacks-on-phone thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  table.stacks-on-phone,
  table.stacks-on-phone tbody,
  table.stacks-on-phone tr,
  table.stacks-on-phone td { display: block; width: auto; }
  table.stacks-on-phone tr {
    padding: var(--space-12) 0;
    border-bottom: 1px solid var(--border);
  }
  table.stacks-on-phone tr:last-child { border-bottom: none; }
  table.stacks-on-phone td:first-child {
    padding: 0 var(--space-16) var(--space-8);
    font-weight: var(--weight-bold);
    border-bottom: none;
  }
  table.stacks-on-phone td:not(:first-child) {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-12);
    padding: var(--space-6) var(--space-16);
    border-bottom: none;
    text-align: right;
  }
  table.stacks-on-phone td[data-label]::before {
    content: attr(data-label);
    color: var(--text-dim);
    font-size: var(--text-small);
    font-weight: var(--weight-medium);
    text-align: left;
    flex: 0 0 auto;
  }
  table.stacks-on-phone td .muted { display: block; }
}
table { width: 100%; border-collapse: collapse; font-size: var(--text-body); }
th, td { text-align: left; padding: 13px 16px; border-bottom: 1px solid var(--border); }
td > a, td > div { overflow-wrap: anywhere; }
@media (min-width: 721px) and (max-width: 1279px) {
  th, td { padding: 11px 10px; }
}
th {
  color: var(--text-dim);
  font-weight: var(--weight-bold);
  font-size: var(--text-micro);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  background: var(--panel-alt);
  position: sticky;
  top: 0;
}
tbody tr:last-child td { border-bottom: none; }
tbody tr { transition: background-color var(--dur-fast) var(--ease-smooth); }
tbody tr:hover { background: var(--panel-alt); }
#toast-stack {
  position: fixed;
  bottom: 22px;
  right: 22px;
  z-index: var(--z-toast);
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  max-width: 340px;
}
.toast {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--primary-soft), var(--primary-soft));
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xl);
  padding: 13px 15px;
  font-size: var(--text-small);
  animation: toast-in var(--dur-base) var(--ease-spring);
}
@keyframes toast-in {
  from { opacity: 0; transform: translateX(24px) scale(0.96); }
  to { opacity: 1; transform: none; }
}
.toast.error { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.toast.success { background-image: linear-gradient(var(--green-soft), var(--green-soft)); }
.toast .t-title { font-weight: var(--weight-strong); font-size: var(--text-micro); margin-bottom: 3px; text-transform: uppercase; letter-spacing: var(--track-caps); }
.toast.error .t-title { color: var(--red); }
.toast.success .t-title { color: var(--green); }
.track-body { display: flex; flex-direction: column; min-height: 100dvh; }
.track-header {
  display: flex;
  align-items: center;
  gap: var(--space-14);
  padding: var(--space-18) var(--space-24);
  background: rgba(255, 253, 251, 0.86);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--border);
  position: relative;
}
.track-header::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--gradient-primary);
}
.track-logo { width: 46px; height: 46px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(63, 16, 3, 0.24)); }
.track-brand { font-weight: var(--weight-strong); font-size: var(--text-lead); letter-spacing: -0.024em; }
.track-brand-sub { color: var(--text-dim); font-size: var(--text-small); }
.track-main {
  flex: 1;
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  padding: 28px 20px 60px;
  position: relative;
  z-index: 2;
}
.track-loading,
.quick-loading,
.quick-empty,
.challan-loading,
.report-loading {
  padding: 50px var(--space-20);
  text-align: center;
  color: var(--text-dim);
}
.rp-retry-row { margin-top: var(--space-12); }
.track-summary {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md), var(--shadow-inset-top);
  padding: var(--space-22) var(--space-24);
  margin-bottom: var(--space-20);
  animation: rise-in var(--dur-slow) var(--ease-smooth) backwards;
}
.track-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-16);
  flex-wrap: wrap;
  margin-bottom: var(--space-14);
}
.track-po-number { font-weight: var(--weight-strong); font-size: var(--text-heading); letter-spacing: -0.028em; }
.track-customer { color: var(--text-dim); font-size: var(--text-body); margin-top: var(--space-2); }
.track-summary-meta {
  display: flex;
  gap: var(--space-22);
  flex-wrap: wrap;
  font-size: var(--text-small);
  color: var(--text-dim);
  font-variant-numeric: tabular-nums;
}
.track-summary-meta strong { color: var(--text); font-weight: var(--weight-bold); }
.track-item {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md), var(--shadow-inset-top);
  padding: var(--space-22) var(--space-24);
  margin-bottom: var(--space-16);
  animation: rise-in var(--dur-slow) var(--ease-smooth) backwards;
}
.track-item:nth-child(2) { animation-delay: 60ms; }
.track-item:nth-child(3) { animation-delay: 110ms; }
.track-item:nth-child(n+4) { animation-delay: 150ms; }
.track-item-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-14);
  flex-wrap: wrap;
  margin-bottom: var(--space-16);
}
.track-item-head h2 { font-size: var(--text-lead); letter-spacing: var(--track-tight); }
.track-item-meta { color: var(--text-dim); font-size: var(--text-small); margin-top: 3px; font-variant-numeric: tabular-nums; }
.track-tank { margin: var(--space-12) 0 var(--space-14); border-radius: 14px; background: linear-gradient(180deg, #f2ece7 0%, #e6ddd5 100%); overflow: hidden; }
.track-tank-view { width: 100%; height: 240px; touch-action: pan-y; cursor: grab; }
.track-tank-view canvas { width: 100% !important; height: 100% !important; display: block; }
.track-tank-caption { padding: var(--space-8) var(--space-12); color: var(--text-dim); font-size: var(--text-small); text-align: center; }
.track-progress-bar {
  height: 9px;
  border-radius: var(--radius-pill);
  background: var(--gray-soft);
  overflow: hidden;
  box-shadow: var(--shadow-inset-sunken);
}
.track-progress-fill {
  height: 100%;
  border-radius: var(--radius-pill);
  background: var(--gradient-primary);
  box-shadow: 0 0 10px -2px rgba(181, 71, 30, 0.5);
  transition: width var(--dur-slow) var(--ease-smooth);
}
.track-progress-label {
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  color: var(--text-dim);
  margin-top: 7px;
  font-variant-numeric: tabular-nums;
}
.track-steps {
  display: flex;
  margin-top: var(--space-20);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding-bottom: var(--space-6);
}
@media (max-width: 760px) {
  .track-steps {
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent 100%);
    mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent 100%);
  }
}
.track-step {
  position: relative;
  flex: 1;
  min-width: 88px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.track-step-line {
  position: absolute;
  top: 14px;
  left: 50%;
  width: 100%;
  height: 3px;
  background: var(--border-strong);
  border-radius: var(--radius-pill);
  z-index: 0;
}
.track-step.done .track-step-line { background: linear-gradient(90deg, #0d6a2f, #11813a); }
.track-step-dot {
  position: relative;
  z-index: 1;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--weight-strong);
  font-size: var(--text-small);
  border: 3px solid var(--border-strong);
  background: var(--panel);
  color: var(--text-faint);
  box-shadow: var(--shadow-sm);
}
.track-step.in_progress .track-step-dot {
  border-color: var(--amber);
  background: linear-gradient(150deg, #fef3e0, #fbd68a);
  color: #6d3d06;
  box-shadow: 0 3px 10px -2px rgba(217, 119, 6, 0.4);
}
.track-step.done .track-step-dot {
  border-color: var(--green);
  background: linear-gradient(150deg, #11813a 0%, #0d6a2f 55%, #0a5023 100%);
  color: var(--on-accent);
  box-shadow: 0 3px 12px -2px rgba(21, 128, 61, 0.45);
}
.track-step-label {
  margin-top: var(--space-8);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  line-height: 1.28;
  color: var(--text-dim);
  max-width: 84px;
}
.track-step.done .track-step-label { color: var(--green); }
.track-step.in_progress .track-step-label { color: var(--amber); }
.track-step-qty { font-size: var(--text-micro); font-weight: var(--weight-bold); color: var(--text-faint); margin-top: 3px; font-variant-numeric: tabular-nums; }
.track-dates {
  display: flex;
  gap: var(--space-20);
  flex-wrap: wrap;
  margin-top: var(--space-18);
  padding-top: var(--space-14);
  border-top: 1px solid var(--border);
  font-size: var(--text-small);
  color: var(--text-dim);
  font-variant-numeric: tabular-nums;
}
.track-dates strong { color: var(--text); font-weight: var(--weight-bold); }
.track-empty {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
  padding: 56px 28px;
  text-align: center;
}
.track-empty-icon { font-size: var(--glyph-empty); margin-bottom: var(--space-12); opacity: 0.7; }
.track-empty h2 { font-size: var(--text-lead); margin-bottom: var(--space-8); }
.track-empty p { color: var(--text-dim); font-size: var(--text-body); margin: var(--space-6) 0; }
.track-footer {
  padding: 22px 24px 30px;
  text-align: center;
  color: var(--text-faint);
  font-size: var(--text-small);
  border-top: 1px solid var(--border);
  position: relative;
  z-index: 2;
}
.track-footer-note { margin-top: 5px; }
.share-panel { margin-top: var(--space-16); padding-top: var(--space-14); border-top: 1px dashed var(--border-strong); }
.share-url-row { display: flex; gap: var(--space-8); flex-wrap: wrap; align-items: center; margin: var(--space-8) 0 var(--space-6); }
.share-url-row input {
  flex: 1;
  min-width: 220px;
  font-size: 16px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  background: var(--panel-alt);
}
@media (max-width: 720px) {
  .track-main { padding: 18px 14px 44px; }
  .track-summary, .track-item { padding: var(--space-18) var(--space-16); }
  .track-po-number { font-size: var(--text-lead); }
}
.audit-when { white-space: nowrap; color: var(--text-dim); font-variant-numeric: tabular-nums; }
.audit-action {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  font-weight: var(--weight-bold);
  font-size: var(--text-micro);
  white-space: nowrap;
}
.audit-creative { background: var(--green-soft); color: var(--green); }
.audit-neutral { background: var(--gray-soft); color: var(--text-dim); }
.audit-destructive { background: var(--red-soft); color: var(--red); }
.audit-link { margin-top: 3px; font-size: var(--text-small); }
.quick-body { background: var(--bg); }
.quick-header {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  padding: calc(12px + env(safe-area-inset-top, 0px)) 16px 12px;
  background: #fffdfb;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
}
.quick-header::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--gradient-primary);
}
.quick-logo { width: 34px; height: 34px; object-fit: contain; flex: none; }
.quick-header-text { flex: 1; min-width: 0; }
.quick-title { margin: 0; font-weight: var(--weight-strong); font-size: var(--text-lead); letter-spacing: var(--track-tight); }
.quick-sub { color: var(--text-dim); font-size: var(--text-small); }
.quick-main { padding: var(--space-16) var(--space-14) var(--space-24); max-width: 640px; margin: 0 auto; position: relative; z-index: 2; }
.quick-search {
  width: 100%;
  padding: var(--space-14) var(--space-16);
  font-size: var(--text-body);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-14);
}
.quick-list { display: flex; flex-direction: column; gap: var(--space-10); }
@media (min-width: 1200px) {
  .quick-main { max-width: min(1400px, 100%); }
  .quick-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr));
    align-items: start;
  }
  .quick-search { max-width: 520px; }
}
.quick-card {
  display: block;
  width: 100%;
  text-align: left;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm), var(--shadow-inset-top);
  padding: var(--space-14) var(--space-16);
  font-family: var(--font);
}
.quick-card:active { transform: scale(0.985); }
.quick-card-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-10); }
.quick-card-item { font-weight: var(--weight-strong); font-size: var(--text-body); letter-spacing: -0.014em; color: var(--text); }
.quick-part-of { display: block; font-weight: normal; font-size: var(--text-small); color: var(--text-dim); letter-spacing: 0; }
.quick-card-phase {
  flex: none;
  color: var(--text-faint);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  white-space: nowrap;
}
.quick-card-po { color: var(--text-dim); font-size: var(--text-small); margin-top: var(--space-2); }
.quick-card-stage { color: var(--primary); font-weight: var(--weight-bold); font-size: var(--text-small); margin-top: var(--space-6); }
.quick-card-progress {
  display: flex;
  align-items: center;
  gap: var(--space-10);
  margin-top: var(--space-8);
  font-size: var(--text-small);
  color: var(--text-dim);
  font-variant-numeric: tabular-nums;
}
.quick-bar { flex: 1; height: 6px; border-radius: var(--radius-pill); background: var(--gray-soft); border: 1px solid var(--border-strong); overflow: hidden; }
.quick-bar-fill { display: block; height: 100%; background: var(--gradient-primary); border-radius: var(--radius-pill); }
.quick-back {
  background: none;
  border: none;
  color: var(--primary);
  font-weight: var(--weight-bold);
  padding: var(--space-12) 0;
  margin: calc(-1 * var(--space-8)) 0 calc(var(--space-10) - var(--space-8));
  min-height: 44px;
  font-size: var(--text-body);
}
.quick-entry-head {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm), var(--shadow-inset-top);
  padding: var(--space-14) var(--space-16);
  margin-bottom: var(--space-14);
}
.quick-entry-head { view-transition-name: quick-card; }
::view-transition-group(quick-card) { animation-duration: var(--dur-base); animation-timing-function: var(--ease-smooth); }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: var(--dur-fast); }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
.quick-entry-item { font-weight: var(--weight-strong); font-size: var(--text-lead); letter-spacing: -0.018em; }
.quick-entry-po { color: var(--text-dim); font-size: var(--text-small); margin-top: var(--space-2); }
.quick-entry-stage { color: var(--primary); font-weight: var(--weight-bold); font-size: var(--text-small); margin-top: var(--space-8); }
.quick-stat {
  display: flex;
  gap: var(--space-10);
  margin-bottom: var(--space-18);
}
.quick-stat > div {
  flex: 1;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: var(--space-12) var(--space-8);
  text-align: center;
}
.quick-stat-num { display: block; font-weight: var(--weight-strong); font-size: var(--text-heading); line-height: 1; letter-spacing: var(--track-display); font-variant-numeric: tabular-nums; }
.quick-stat-label { display: block; font-size: var(--text-micro); color: var(--text-dim); text-transform: uppercase; letter-spacing: var(--track-caps); margin-top: var(--space-4); font-weight: var(--weight-bold); }
.quick-label { display: block; font-weight: var(--weight-bold); font-size: var(--text-small); color: var(--text); margin: 16px 0 7px; }
.quick-input-lg {
  font-size: var(--text-heading);
  font-weight: var(--weight-bold);
  padding: 15px 16px;
  border-radius: var(--radius-md);
  font-variant-numeric: tabular-nums;
}
.quick-main input, .quick-main textarea, .quick-main select { font-size: 16px; }
.quick-main .quick-input-lg { font-size: var(--text-heading); }
.quick-main input[type="file"] { padding: var(--space-12); }
.quick-choice { display: flex; gap: var(--space-8); margin-top: var(--space-12); }
.quick-choice-btn {
  flex: 1;
  padding: 13px 10px;
  background: var(--panel);
  border: 1.5px solid var(--border-strong);
  color: var(--text-dim);
  border-radius: var(--radius-md);
  font-size: var(--text-body);
}
.quick-choice-btn.selected { background: var(--primary-soft); border-color: var(--primary); color: var(--primary); }
.quick-divider {
  margin: var(--space-24) 0 var(--space-4);
  font-weight: var(--weight-strong);
  font-size: var(--text-small);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-dim);
  padding-top: var(--space-16);
  border-top: 1px dashed var(--border-strong);
}
.quick-check-list { display: flex; flex-direction: column; gap: var(--space-8); margin-top: var(--space-12); }
.quick-check-row {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  padding: var(--space-16) var(--space-16);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  font-weight: var(--weight-medium);
  margin: 0;
  cursor: pointer;
  font-size: var(--text-body);
  color: var(--text);
}
.quick-check-row input { width: 22px; height: 22px; flex: none; accent-color: var(--green); }
.quick-check-row.is-done { color: var(--text-dim); }
.quick-check-row.is-done span { text-decoration: line-through; }
.quick-save { font-size: var(--text-lead); padding: var(--space-16); margin-top: var(--space-22); }
.quick-empty-icon { font-size: var(--glyph-empty); margin-bottom: var(--space-10); }
.quick-empty-title { font-weight: var(--weight-strong); font-size: var(--text-lead); color: var(--text); margin-bottom: var(--space-6); }
.page-404 {
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: var(--space-10);
  text-align: center;
  padding: var(--space-20);
}
.page-404 .code {
  font-weight: var(--weight-strong);
  font-size: clamp(3.5rem, 14vw, 7rem);
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--primary-dark);
}
@media (max-width: 720px) {
  .container { padding: var(--space-18) var(--space-14) var(--space-24); }
  .po-card-meta { gap: var(--space-12); }
  th, td { padding: var(--space-10); font-size: var(--text-small); }
  .page-header h1 { font-size: var(--text-heading); }
  .kpi-tile .kpi-value { font-size: var(--text-display); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
    animation-delay: 0ms !important;
  }
  .po-card:hover, .chart-card:hover,
  button.primary:hover:not(:disabled), button.secondary:hover:not(:disabled),
  .chip:hover, .notif-bell-btn:hover:not(:disabled), .topbar-tools:hover { transform: none; }
  .nav-cam-btn.is-busy .tool-icon, .nav-lang-btn.is-flipping, .notif-bell-btn:has(.notif-badge.is-new) .tool-icon { animation: none; }
}
.challan-body { background: var(--bg-deep); }
.challan-toolbar {
  padding: var(--space-12) var(--space-20);
  background: var(--panel);
  border-bottom: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
}
.challan-toolbar-right { display: flex; align-items: center; gap: var(--space-14); flex-wrap: wrap; }
.challan-sheet {
  width: 210mm;
  min-height: 297mm;
  margin: var(--space-20) auto;
  padding: 14mm 14mm 12mm;
  background: #fff;
  color: #000;
  box-shadow: var(--shadow-lg);
  position: relative;
  font-size: 10.5pt;
  line-height: 1.4;
}
.challan-copy-label {
  position: absolute;
  top: 8mm;
  right: 14mm;
  font-size: 8.5pt;
  font-weight: var(--weight-bold);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  color: #555;
  border: 1px solid #999;
  padding: var(--space-2) var(--space-8);
  border-radius: 3px;
}
.challan-sheet { --challan-copper: #d2622f; }
@media (max-width: 860px) {
  .challan-sheet-scroll { overflow-x: auto; overscroll-behavior-x: contain; padding-bottom: var(--space-8); }
  .challan-sheet { margin-left: var(--space-8); margin-right: var(--space-8); }
}
@media print {
  .challan-sheet-scroll { overflow: visible; padding: 0; }
  .challan-sheet { margin-left: auto; margin-right: auto; }
}
.challan-head {
  display: flex;
  align-items: center;
  gap: 6mm;
  padding-top: 5mm;
  padding-bottom: 4mm;
  border-bottom: 2px solid var(--challan-copper);
}
.challan-logo { width: 16mm; height: 16mm; object-fit: contain; flex: none; }
.challan-company { flex: 1 1 auto; }
.challan-company-name { font-size: 16pt; font-weight: var(--weight-strong); letter-spacing: var(--track-caps); line-height: var(--leading-tight); }
.challan-company-tag {
  font-size: 7.5pt;
  text-transform: uppercase;
  letter-spacing: var(--track-letterhead);
  color: var(--challan-copper);
  margin-top: 0.6mm;
}
.challan-company-reg { text-align: right; font-size: 8.5pt; color: #555; line-height: 1.45; }
.challan-company-gstin { color: #000; font-weight: var(--weight-bold); font-size: 9pt; margin-top: 0.8mm; }
.challan-title {
  text-align: center;
  font-size: 13pt;
  font-weight: var(--weight-strong);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 5mm 0;
}
.challan-meta { width: 100%; border-collapse: collapse; border: 1px solid #000; margin-bottom: 4mm; }
.challan-meta-cell { border: 1px solid #000; padding: 3mm 4mm; vertical-align: top; width: 50%; font-size: 9.5pt; }
.challan-label { font-size: 7.5pt; text-transform: uppercase; letter-spacing: var(--track-caps); color: #555; font-weight: var(--weight-bold); margin-bottom: 1mm; }
.challan-consignee-name { font-weight: var(--weight-strong); font-size: 11pt; margin-bottom: 1mm; }
.challan-missing { color: #b00; font-style: italic; font-size: 8.5pt; }
.challan-kv { display: flex; justify-content: space-between; gap: 6mm; padding: 0.8mm 0; }
.challan-kv span { color: #555; }
.challan-items { width: 100%; border-collapse: collapse; border: 1px solid #000; }
.challan-items th, .challan-items td { border: 1px solid #000; padding: 2.4mm 3mm; font-size: 9.5pt; text-align: left; }
.challan-items th { background: #f0f0f0; color: #000; font-size: 8.5pt; text-transform: uppercase; letter-spacing: var(--track-caps); }
.challan-num { text-align: right; font-variant-numeric: tabular-nums; }
.challan-filler td { height: 7mm; }
.challan-total-label { text-align: right; font-weight: var(--weight-bold); }
.challan-total { font-weight: var(--weight-strong); }
.challan-transport { width: 100%; border-collapse: collapse; border: 1px solid #000; border-top: none; }
.challan-transport td { border: 1px solid #000; padding: 2.5mm 3mm; width: 33.33%; font-size: 9.5pt; }
.challan-notes { border: 1px solid #000; border-top: none; padding: 2.5mm 3mm; font-size: 9.5pt; }
.challan-notes .challan-label { display: block; }
.challan-declaration { margin-top: 4mm; font-size: 8.5pt; color: #333; }
.challan-signatures { display: flex; justify-content: space-between; gap: 20mm; margin-top: 16mm; }
.challan-sign { width: 60mm; text-align: center; font-size: 9pt; }
.challan-sign-line { border-top: 1px solid #000; margin-bottom: 1.5mm; }
.challan-sign-sub { font-size: 8pt; color: #555; }
.challan-foot { margin-top: 8mm; padding-top: 2mm; border-top: 1px solid #ccc; font-size: 8pt; color: #666; text-align: center; }
@media print {
  @page { size: A4; margin: 0; }
  html, body { background: #fff !important; margin: 0; padding: 0; }
  body::before { display: none !important; }
  .glass-page::after { display: none !important; }
  .glass-page *, .glass-page {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .no-print, .topbar, #toast-stack { display: none !important; }
  html:root[data-theme='dark'] {
    --bg: #f6f3f0;
    --bg-deep: #efe9e4;
    --panel: #ffffff;
    --panel-alt: #fdfaf8;
    --surface-2: #f8f6f3;
    --gray-soft: #f1ece7;
    --border: #ece4de;
    --border-strong: #8e8377;
    --text: #211915;
    --text-dim: #6b6259;
    --text-faint: #706962;
    --ink-dim: #b4aba1;
    --primary: #b5471e;
    --primary-dark: #8b3414;
    --primary-light: #e8794a;
    --primary-soft: #fbeae2;
    --amber: #a75c05;
    --amber-soft: #fef3e0;
    --green: #11813a;
    --green-soft: #e8f9ee;
    --red: #d12424;
    --red-soft: #fdeaea;
    --completed: #2f6690;
    --completed-soft: #e7f1f7;
    --held: #7a3f8f;
    --held-soft: #f4ebf7;
    --on-accent: #ffffff;
    color-scheme: light;
  }
  button,
  input:not([type='checkbox']):not([type='radio']),
  select,
  textarea,
  .push-prompt,
  .btn { display: none !important; }
  :is(a, span).batch-tag { background: none; color: var(--primary-dark); border: 1px solid currentColor; }
  .ask-bubble-host, .ask-drawer, .install-bar { display: none !important; }
  .table-wrap { overflow-x: visible; overflow-y: visible; max-height: none; border: none; box-shadow: none; background: none; }
  .table-wrap thead { display: table-header-group; }
  .challan-sheet {
    width: auto;
    min-height: auto;
    margin: 0;
    padding: 12mm 12mm 10mm;
    box-shadow: none;
    page-break-after: always;
    break-after: page;
  }
  .challan-sheet:last-child { page-break-after: auto; break-after: auto; }
  .challan-copy-label { right: 12mm; }
  .challan-items { page-break-inside: avoid; }
  .challan-signatures { page-break-inside: avoid; }
}
.an-kpi-note,
.kpi-note { margin-top: var(--space-6); font-size: var(--text-micro); color: var(--text-faint); font-weight: var(--weight-medium); }
.an-sample { font-size: var(--text-micro); font-weight: var(--weight-bold); color: var(--text-faint); font-variant-numeric: tabular-nums; }
.an-sample.thin { color: var(--amber); }
.an-nosample { font-size: var(--text-micro); font-weight: var(--weight-medium); color: var(--text-faint); font-style: italic; }
.an-row-empty td { color: var(--text-dim); }
.an-row-empty .an-nosample { color: var(--text-dim); }
.an-coverage {
  background: var(--amber-soft);
  border: 1px solid #f0dcb8;
  color: #7a4a06;
  border-radius: var(--radius-md);
  padding: 11px 15px;
  font-size: var(--text-small);
  margin-bottom: var(--space-18);
}
.an-worst-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  padding: var(--space-10) 0;
  border-bottom: 1px solid var(--border);
  font-size: var(--text-small);
}
.an-worst-row:last-child { border-bottom: none; }
.an-worst-name { font-weight: var(--weight-bold); min-width: 0; }
.an-worst-stat { flex: none; font-variant-numeric: tabular-nums; }
.an-worst-stat .muted { font-size: var(--text-micro); }
.an-bad { color: var(--red); }
.an-chart-empty { padding: 60px 10px; text-align: center; color: var(--text-dim); font-size: var(--text-small); }
.rej-cause { display: flex; align-items: center; gap: var(--space-8); margin-top: var(--space-6); flex-wrap: wrap; }
.rej-select {
  width: auto;
  min-width: 190px;
  padding: 5px 9px;
  font-size: 16px;
  font-weight: var(--weight-medium);
  border-radius: var(--radius-xs);
}
.rej-src {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  padding: 2px 7px;
  border-radius: var(--radius-pill);
  background: var(--primary-soft);
  color: var(--primary-dark);
}
.rej-src.ai { background: var(--completed-soft); color: var(--completed); }
.an-coverage.ok { background: var(--green-soft); border-color: #c7ebd3; color: #14622f; }
.carried-panel {
  margin-top: var(--space-18);
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--surface-2);
}
.carried-panel summary {
  padding: var(--space-10) var(--space-14);
  cursor: pointer;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  color: var(--text-dim);
  list-style: none;
}
.carried-panel summary::-webkit-details-marker { display: none; }
.carried-body { padding: 0 var(--space-14) var(--space-14); }
.carried-body .muted { font-size: var(--text-small); }
.carried-hint {
  margin: var(--space-6) 0 var(--space-10);
}
.carried-form { display: flex; gap: var(--space-8); flex-wrap: wrap; align-items: center; }
.carried-form .carried-qty { max-width: 110px; }
.carried-form .carried-note { max-width: 260px; }
.carried-check { display: flex; align-items: center; gap: 7px; font-size: var(--text-small); font-weight: var(--weight-medium); }
.carried-check input { width: auto; margin: 0; }
.bom-quick { margin: var(--space-10) 0; }
.bom-quick label { display: block; font-size: var(--text-small); color: var(--text-dim); margin-bottom: var(--space-4); }
.bom-quick .bom-quick-sets { max-width: 120px; }
.bom-quick-actions { display: flex; gap: var(--space-8); flex-wrap: wrap; margin-top: var(--space-8); }
.bom-panel {
  margin-top: var(--space-16);
  padding-top: var(--space-14);
  border-top: 1px dashed var(--border-strong);
}
.bom-fold-summary {
  list-style: none;
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-8);
  font-size: var(--text-small);
}
.bom-fold-summary::-webkit-details-marker { display: none; }
.bom-fold-summary::before {
  content: '›';
  color: var(--text-dim);
  transition: transform var(--dur-fast) var(--ease-smooth);
}
.bom-panel[open] > .bom-fold-summary::before { transform: rotate(90deg); }
.bom-fold-summary .doc-panel-title { margin-bottom: 0; }
.bom-fold-body { padding-top: var(--space-8); }
.nesting-panel {
  margin-top: var(--space-16);
  padding-top: var(--space-14);
  border-top: 1px dashed var(--border-strong);
}
.nest-fold-summary {
  list-style: none;
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: var(--space-8);
  font-size: var(--text-small);
}
.nest-fold-summary::-webkit-details-marker { display: none; }
.nest-fold-summary::before {
  content: '›';
  color: var(--text-dim);
  transition: transform var(--dur-fast) var(--ease-smooth);
}
.nesting-panel[open] > .nest-fold-summary::before { transform: rotate(90deg); }
.nest-fold-body { padding-top: var(--space-8); }
.nest-sheets { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: var(--space-14); margin: var(--space-10) 0; }
.nest-sheet { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); padding: var(--space-10); }
.nest-sheet-svg { width: 100%; height: auto; display: block; background: var(--panel); border-radius: var(--radius-sm); }
.nest-part { fill: color-mix(in srgb, var(--primary) 22%, transparent); stroke: var(--primary); stroke-width: 3; }
.nest-hole { fill: var(--panel); stroke: var(--primary); stroke-width: 2; }
.nest-sheet-outline { fill: none; stroke: var(--border-strong); stroke-width: 4; }
.nest-sheet-foot { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-8); margin-top: var(--space-8); font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.nest-tally { margin: var(--space-8) 0; padding-left: var(--space-18); font-size: var(--text-small); color: var(--text-dim); }
.nest-unplaced { color: var(--red); font-size: var(--text-small); }
.nest-stale { color: var(--amber); font-size: var(--text-small); }
.nest-buy { font-weight: var(--weight-bold); font-size: var(--text-small); }
.nest-buy-stale { text-decoration: line-through; color: var(--text-dim); }
.nest-refused {
  border: 1px solid color-mix(in srgb, var(--red) 35%, var(--border));
  border-radius: var(--radius-sm);
  background: var(--red-soft);
  padding: var(--space-8) var(--space-10);
  margin: var(--space-10) 0;
}
.nest-refused-title { margin: 0 0 var(--space-4); font-weight: var(--weight-bold); font-size: var(--text-small); color: var(--red); }
.nest-refused ul { margin: 0; padding-left: var(--space-18); font-size: var(--text-small); color: var(--text); }
.sn-dropzone {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  border: 2px dashed var(--border-strong);
  border-radius: var(--radius-md);
  cursor: pointer;
  text-align: center;
  padding: var(--space-14);
}
.sn-dropzone-label { color: var(--text-dim); font-size: var(--text-small); }
.sn-note { color: var(--text); font-size: var(--text-small); margin: var(--space-4) 0; }
.sn-warning { margin: var(--space-4) 0; }
.sn-file-card { margin-top: var(--space-10); }
.sn-file-name { font-weight: var(--weight-bold); margin-bottom: var(--space-8); }
.sn-shapes { display: flex; flex-direction: column; gap: var(--space-6); }
.sn-shape-row {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  align-items: center;
  gap: var(--space-10);
  font-size: var(--text-small);
  padding: var(--space-8) 0;
  border-bottom: 1px solid var(--border);
}
.sn-shape-row:last-child { border-bottom: none; }
.sn-shape-qty { display: flex; align-items: center; gap: var(--space-4); }
.sn-shape-qty input { width: 4.5em; }
.sn-cut-order-note { font-size: var(--text-small); color: var(--text-dim); margin: var(--space-4) 0; }
.bom-head {
  margin-bottom: var(--space-10);
  font-size: var(--text-small);
}
.bom-blocking { color: var(--amber); font-weight: var(--weight-bold); }
.bom-ok { color: var(--green); font-weight: var(--weight-bold); }
.bom-coverage {
  margin: var(--space-10) 0;
  padding: var(--space-10);
  border-radius: var(--radius-md);
  border-left: 1px solid var(--border);
  background: var(--surface-2);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.bom-coverage.is-short { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.bom-coverage.is-ready { background-image: linear-gradient(var(--green-soft), var(--green-soft)); }
.bom-coverage-main { font-size: var(--text-body); }
.bom-coverage.is-short .bom-coverage-main strong { color: var(--amber); }
.bom-coverage.is-ready .bom-coverage-main strong { color: var(--green); }
.bom-coverage-meta { font-size: var(--text-small); color: var(--text-dim); }
.stk-unmatched {
  margin: var(--space-10) 0;
  padding: var(--space-10);
  background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  border-radius: var(--radius-md);
  background: var(--surface-2);
  font-size: var(--text-small);
}
.bom-list-upload { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; }
.bom-lists { display: flex; flex-wrap: wrap; gap: var(--space-8); margin: var(--space-8) 0 var(--space-10); }
.bom-list-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  padding: var(--space-4) var(--space-10);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  font-size: var(--text-small);
}
.bom-used { margin-top: var(--space-4); }
.bom-used summary { cursor: pointer; font-size: var(--text-small); }
.bom-used summary small { color: var(--text-dim); margin-left: var(--space-2); }
.bom-used-table { margin-top: var(--space-2); }
.bom-used-over td { color: var(--red); }
.bom-table { font-size: var(--text-small); }
.bom-table th { white-space: nowrap; font-size: var(--text-micro); }
.bom-num { text-align: right; white-space: nowrap; }
.bom-uom { color: var(--text-dim); font-weight: var(--weight-medium); }
.bom-spec { font-size: var(--text-micro); color: var(--text-dim); margin-top: var(--space-2); }
.bom-row-actions { white-space: nowrap; vertical-align: top; text-align: right; }
.bom-row-actions .text-btn { display: block; width: 100%; text-align: right; padding-left: 0; padding-right: 0; }
.bom-qty {
  width: 74px;
  padding: 5px 7px;
  font-size: var(--text-small);
  text-align: right;
}
.bom-state {
  display: inline-block;
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  white-space: nowrap;
}
.bom-state-unchecked { background: var(--surface-2); color: var(--text-dim); }
.bom-state-short { background: var(--red-soft); color: var(--red); }
.bom-state-inspect,
.bom-state-issue { background: var(--amber-soft); color: var(--amber); }
.bom-state-ready { background: var(--green-soft); color: var(--green); }
.bom-add {
  display: flex;
  gap: var(--space-8);
  flex-wrap: wrap;
  align-items: center;
  margin-top: var(--space-12);
}
.bom-add input { padding: 6px 9px; font-size: 16px; }
.bom-add .bom-new-material { max-width: 220px; }
.bom-add .bom-new-spec { max-width: 160px; }
.bom-add .bom-new-drg { max-width: 150px; }
.bom-add .bom-new-per { max-width: 90px; }
.bom-add .bom-new-uom { max-width: 70px; }
.bom-add .bom-new-remarks { max-width: 170px; }
.short-group {
  margin-bottom: var(--space-20);
  padding: var(--space-16) var(--space-18);
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
}
.short-group.warn { background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  --glass-tint: var(--tint-risk);
}
.short-group.bad { background-image: linear-gradient(var(--red-soft), var(--red-soft));
  --glass-tint: var(--tint-late);
}
.short-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-16);
  flex-wrap: wrap;
  margin-bottom: var(--space-12);
}
.short-material { font-weight: var(--weight-strong); font-size: var(--text-lead); }
.short-meta { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-2); }
.short-total { text-align: right; font-size: var(--text-small); color: var(--text-dim); }
.short-total strong { display: block; font-size: var(--text-heading); line-height: 1.1; color: var(--text); }
.short-total.warn strong { color: var(--amber); }
.short-total.bad strong { color: var(--red); }
.short-when { margin-top: 3px; }
.short-table { font-size: var(--text-small); }
.short-table th { font-size: var(--text-micro); white-space: nowrap; }
.short-table td.warn { color: var(--amber); font-weight: var(--weight-bold); }
.short-table td.bad { color: var(--red); font-weight: var(--weight-bold); }
.short-num { text-align: right; white-space: nowrap; }
.short-receive { display: flex; gap: var(--space-6); align-items: center; }
.short-recv { width: 88px; padding: 5px 7px; font-size: var(--text-small); text-align: right; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.short-pick-col { width: 44px; text-align: center; }
.short-pick { width: 20px; height: 20px; accent-color: var(--primary); cursor: pointer; }
.short-pick-col { position: relative; }
.short-pick-hit {
  position: absolute;
  inset: 0;
  cursor: pointer;
}
.short-table tr.is-picked { background: var(--primary-soft); }
.short-onorder { color: var(--completed); font-weight: var(--weight-bold); }
.pick-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: calc(60px + env(safe-area-inset-bottom));
  z-index: 60;
  background: var(--panel);
  border-top: 1px solid var(--border-strong);
  box-shadow: 0 -8px 24px rgba(33, 25, 21, 0.1);
  animation: pickBarIn var(--dur-fast) var(--ease-smooth);
}
@keyframes pickBarIn {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .pick-bar { animation: none; }
}
.pick-bar-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: var(--space-10) var(--space-20);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  font-size: var(--text-body);
}
.pick-bar-actions { display: flex; gap: var(--space-8); align-items: center; flex: none; }
.pick-bar-actions .primary { margin-top: 0; }
.pick-bar-actions button { white-space: nowrap; }
.pick-bar-inner > div:first-child { min-width: 0; }
.sup-compose { padding: var(--space-20) var(--space-22); margin-bottom: var(--space-22); border: 2px solid var(--primary); }
.sup-compose h2 { font-size: var(--text-lead); margin-bottom: var(--space-4); }
.sup-compose .sub { margin-bottom: var(--space-16); }
.sup-fields { display: flex; flex-wrap: wrap; gap: var(--space-12); margin-bottom: var(--space-14); }
.sup-fields .field-grow { flex: 1; min-width: 200px; }
.field-optional { font-weight: 500; color: var(--text-faint); font-size: var(--text-small); }
.sup-via-choice { border: 0; padding: 0; margin: 0 0 var(--space-16); }
.sup-via-choice legend {
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: var(--track-caps-print);
  margin-bottom: 7px;
  padding: 0;
}
.sup-via-opt { cursor: pointer; gap: 7px; }
.sup-via-opt input { accent-color: var(--primary); margin: 0; }
.sup-via-opt:has(input:checked) {
  background: var(--primary-soft);
  border-color: var(--primary);
  color: var(--primary-dark);
  font-weight: var(--weight-bold);
}
.sup-qty { width: 92px; }
.sup-compose-foot { display: flex; gap: var(--space-10); flex-wrap: wrap; margin-top: var(--space-16); }
.sup-compose-foot.two-sends { align-items: center; }
.sup-compose-foot.two-sends button.primary { width: auto; margin-top: 0; }
.sup-section { margin-top: 34px; }
.sup-section-head { margin-bottom: var(--space-14); }
.sup-section-head h2 { font-size: var(--text-lead); margin-bottom: 3px; }
.sup-order {
  margin-bottom: var(--space-14);
  padding: var(--space-14) var(--space-16);
  background: var(--panel);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--completed-soft), var(--completed-soft));
  border-radius: var(--radius-lg);
  --glass-tint: var(--tint-done);
}
.sup-order.bad { background-image: linear-gradient(var(--red-soft), var(--red-soft));
  --glass-tint: var(--tint-late);
}
.sup-order-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-14); flex-wrap: wrap; margin-bottom: var(--space-10); }
.sup-supplier { font-weight: var(--weight-strong); font-size: var(--text-body); }
.sup-order-when { text-align: right; font-size: var(--text-small); }
.sup-order-when .bad { color: var(--red); }
.sup-note { margin-bottom: var(--space-10); font-style: italic; }
.sup-via {
  display: inline-block;
  padding: 1px 7px;
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  margin-right: var(--space-4);
}
.sup-via-written { background: var(--completed-soft); color: var(--completed); }
.sup-via-phone { background: var(--amber-soft); color: var(--amber); }
.sup-via-whatsapp { background: var(--green-soft); color: var(--green); }
@media (min-width: 900px) {
  .pick-bar { left: var(--rail-w); bottom: 0; transition: left var(--dur-base) var(--ease-smooth); }
}
.jw-card {
  margin-bottom: var(--space-14);
  padding: var(--space-16) var(--space-18);
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
}
.jw-card.bad { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.jw-card.critical { background-image: linear-gradient(var(--red-soft), var(--red-soft)); border-color: color-mix(in srgb, var(--red) 40%, var(--border)); background: var(--red-soft); }
.jw-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-14); flex-wrap: wrap; }
.jw-vendor { font-weight: var(--weight-strong); font-size: var(--text-lead); }
.jw-card-count { text-align: right; font-size: var(--text-small); color: var(--text-dim); }
.jw-card-count strong { display: block; font-size: var(--text-display); line-height: 1.1; color: var(--text); }
.jw-card.bad .jw-card-count strong, .jw-card.critical .jw-card-count strong { color: var(--red); }
.jw-card-for { margin-top: var(--space-10); display: flex; gap: var(--space-8); align-items: baseline; flex-wrap: wrap; font-size: var(--text-body); }
.jw-card-when {
  margin-top: var(--space-8);
  display: flex;
  gap: var(--space-16);
  flex-wrap: wrap;
  font-size: var(--text-small);
  color: var(--text-dim);
}
.jw-card-when .bad { color: var(--red); font-weight: var(--weight-bold); }
.jw-note { margin-top: var(--space-8); font-style: italic; }
.jw-nochallan { color: #9c5605; font-weight: var(--weight-bold); }
.jw-card-undo { margin-top: var(--space-10); }
.jw-limit {
  margin-top: var(--space-12);
  padding: var(--space-10) var(--space-12);
  border-radius: var(--radius-sm);
  background: var(--panel);
  border: 1px solid color-mix(in srgb, var(--red) 35%, var(--border));
  font-size: var(--text-small);
  line-height: 1.5;
}
.jw-stage-said {
margin: var(--space-8) 0 0;
padding-left: var(--space-10);
border-left: 2px solid var(--primary);
font-size: var(--text-small);
line-height: 1.5;
color: var(--text-dim);
}
.jw-returns { margin-top: var(--space-10); display: flex; flex-wrap: wrap; gap: var(--space-10); font-size: var(--text-small); color: var(--text-dim); }
.jw-returns .bad { color: var(--red); font-weight: var(--weight-bold); }
.jw-return { margin-top: var(--space-14); padding-top: var(--space-12); border-top: 1px dashed var(--border-strong); }
.jw-return-fields { display: flex; flex-wrap: wrap; gap: var(--space-10); align-items: flex-end; }
.jw-return-fields .field { min-width: 110px; }
.jw-return-fields input { width: 100%; }
.jw-return-hint { margin-top: var(--space-8); font-size: var(--text-small); color: var(--text-dim); line-height: 1.5; }
.jw-compose { padding: var(--space-20) var(--space-22); margin-bottom: var(--space-22); border: 2px solid var(--primary); }
.jw-compose h2 { font-size: var(--text-lead); margin-bottom: var(--space-4); }
.jw-compose .sub { margin-bottom: var(--space-16); }
.jw-compose select { width: 100%; }
.jw-history { margin-top: var(--space-24); }
.jw-history summary { cursor: pointer; font-weight: var(--weight-bold); font-size: var(--text-body); color: var(--text-dim); padding: var(--space-6) 0; }
.jw-history summary:hover { color: var(--text); }
.quick-stat .quick-stat-away { color: var(--amber); }
.jw-away-note {
  margin: var(--space-10) 0 0;
  padding: 9px 12px;
  border-radius: var(--radius-sm);
  background: var(--amber-soft);
  border: 1px solid color-mix(in srgb, var(--amber) 30%, transparent);
  color: var(--amber);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
}
.promise-rows, .stalled-rows { display: flex; flex-direction: column; }
.promise-row {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) 62px 62px 96px;
  gap: var(--space-10);
  align-items: center;
  padding: var(--space-10) 6px;
  border-bottom: 1px solid var(--border);
  border-left: 3px solid transparent;
  border-radius: var(--radius-xs);
  color: inherit;
  text-decoration: none;
}
.promise-row:last-child { border-bottom: 0; }
.promise-row:hover { background: var(--surface-2); }
.promise-row.short { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.promise-row.nothing { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.promise-row.ready { background-image: linear-gradient(var(--green-soft), var(--green-soft)); }
.promise-when, .promise-who, .promise-count { min-width: 0; }
.promise-when strong, .promise-who strong, .promise-count strong { display: block; font-size: var(--text-small); line-height: 1.25; }
.promise-when small, .promise-who small, .promise-count small {
  display: block;
  font-size: var(--text-micro);
  color: var(--text-faint);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  margin-top: 1px;
}
.promise-when.soon strong { color: var(--amber); }
.promise-when.past strong { color: var(--red); }
.promise-who strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.promise-who small { text-transform: none; letter-spacing: 0; font-size: var(--text-micro); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.promise-who em.promise-clash {
  font-style: normal;
  color: var(--red);
  font-weight: var(--weight-bold);
  margin-left: var(--space-6);
}
.promise-count { text-align: right; font-variant-numeric: tabular-nums; }
.promise-count strong.short { color: var(--amber); }
.promise-count strong.nothing { color: var(--red); }
.promise-count strong.ready { color: var(--green); }
.promise-verdict {
  text-align: right;
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  white-space: nowrap;
}
.promise-verdict small {
  display: block;
  font-weight: var(--weight-medium);
  font-size: var(--text-micro);
  color: var(--text-faint);
  margin-top: 1px;
}
.promise-verdict.ready { color: var(--green); }
.promise-verdict.short { color: var(--amber); }
.promise-verdict.nothing { color: var(--red); }
@media (min-width: 900px) {
  .charts-row:has(.promise-card) { grid-template-columns: 1.45fr 1fr; }
}
@media (max-width: 520px) {
  .promise-row { grid-template-columns: 70px minmax(0, 1fr) 82px; row-gap: var(--space-4); }
  .promise-count { display: none; }
}
.call-rows { display: flex; flex-direction: column; gap: var(--space-8); }
.call-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-6) var(--space-16);
  padding: var(--space-10) var(--space-14);
  background: var(--panel);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--completed-soft), var(--completed-soft));
  border-radius: var(--radius-md);
}
.call-row.warn { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.call-row.bad { background-image: linear-gradient(var(--red-soft), var(--red-soft)); background: var(--red-soft); }
.call-what { font-size: var(--text-body); }
.call-who { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-2); }
.call-note { font-size: var(--text-small); color: var(--text-dim); font-style: italic; margin-top: var(--space-4); }
.call-when { font-size: var(--text-small); font-weight: var(--weight-strong); text-align: right; white-space: nowrap; }
.call-when.warn { color: var(--amber); }
.call-when.bad { color: var(--red); }
.call-actions { grid-column: 1 / -1; display: flex; gap: var(--space-12); flex-wrap: wrap; margin-top: var(--space-2); }
.call-clash {
  margin-bottom: var(--space-16);
  padding: var(--space-14) var(--space-16);
  border-radius: var(--radius-md);
  background: var(--red-soft);
  border: 1px solid color-mix(in srgb, var(--red) 40%, var(--border));
  font-size: var(--text-body);
  line-height: var(--leading-text);
}
.call-clash strong { color: var(--red); }
.call-clash-line { margin-top: var(--space-6); color: var(--text); }
.call-clash-line em { font-style: normal; color: var(--red); font-weight: var(--weight-bold); }
.call-clash-foot { margin-top: var(--space-8); font-size: var(--text-small); color: var(--text-dim); }
.badge.call-badge { font-variant-numeric: tabular-nums; }
.badge.call-badge.call {
  background: var(--completed-soft);
  color: var(--completed);
  border-color: color-mix(in srgb, var(--completed) 30%, transparent);
}
.user-row.inactive td { opacity: 0.62; }
.you-tag {
  margin-left: 7px;
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-caps-print);
  text-transform: uppercase;
  color: var(--text-dim);
  background: var(--surface-2);
  border-radius: var(--radius-pill);
  padding: var(--space-2) var(--space-8);
}
.user-edit-fields { display: flex; flex-wrap: wrap; gap: var(--space-12); align-items: flex-end; }
.user-edit-fields .field { min-width: 150px; flex: 1 1 150px; }
.user-edit-fields input, .user-edit-fields select { width: 100%; }
.user-edit-actions { display: flex; gap: var(--space-10); align-items: center; flex: none; }
.user-edit .error-msg { margin-top: var(--space-10); }
.challan-register td { vertical-align: top; }
.challan-goods {
  max-width: 260px;
  font-size: var(--text-small);
  color: var(--text-dim);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.challan-value {
  margin-top: 4mm;
  padding: 2.5mm 3mm;
  border: 1px solid #000;
  display: flex;
  align-items: baseline;
  gap: 4mm;
  flex-wrap: wrap;
}
.challan-value strong { font-size: 4mm; }
.challan-value em {
  font-style: normal;
  font-size: 2.8mm;
  color: #333;
}
.challan-value em.challan-eway-warn { font-weight: var(--weight-bold); color: #000; }
.ch-amount,
.ch-qty {
  padding: 9px 10px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ch-amount { min-width: 132px; }
.ch-qty { min-width: 86px; }
input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type='number'] { -moz-appearance: textfield; appearance: textfield; }
.push-prompt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-10);
  flex-wrap: wrap;
  margin: 0 0 var(--space-16);
  padding: var(--space-10) var(--space-12);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  border-radius: var(--radius-md);
  background: var(--surface-2);
  --glass-tint: var(--tint-risk);
}
.push-prompt-text { font-size: var(--text-small); }
.push-prompt.is-alarm {
  background: var(--red-soft);
  --glass-tint: var(--tint-late);
  color: var(--text);
}
.push-prompt.is-alarm .push-prompt-text { font-weight: var(--weight-bold); }
.battery-guide {
  margin: 0 0 var(--space-16);
  padding: var(--space-12) var(--space-16);
  border-radius: var(--radius-md);
  background: var(--surface-2);
  --glass-tint: var(--tint-risk);
}
.battery-guide-title { font-size: var(--text-body); margin: 0 0 var(--space-8); }
.battery-guide p { margin: 0 0 var(--space-10); max-width: 68ch; }
.battery-guide-steps { list-style: none; margin: 0 0 var(--space-12); padding: 0; display: grid; gap: var(--space-8); }
.battery-guide-steps li { display: flex; flex-direction: column; gap: var(--space-2); }
.battery-guide-steps span { font-size: var(--text-small); color: var(--text-dim); }
.notif-cat.is-urgent { cursor: default; }
.reach-note { margin-bottom: var(--space-12); }
.reach-summary { margin: 0 0 var(--space-10); font-weight: var(--weight-bold); }
.reach-table tr.reach-out td { background: var(--red-soft); }
.notif-urgent-tag { font-size: var(--text-small); color: var(--red); margin-left: var(--space-6); white-space: nowrap; }
.push-prompt-actions { display: flex; align-items: center; gap: var(--space-8); flex-shrink: 0; }
:root:not([data-theme='dark']) .push-prompt .text-btn { color: var(--primary-dark); }
.po-show-more { display: block; width: 100%; margin-top: var(--space-10); min-height: 44px; }
.so-stage {
  border-bottom: 1px solid var(--border);
}
.so-stage:last-child { border-bottom: 0; }
.so-stage-head {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: baseline;
  gap: var(--space-12);
  flex-wrap: wrap;
  padding: var(--space-12) 0;
  min-height: 44px;
}
.so-stage-head::-webkit-details-marker { display: none; }
.so-stage-head::before {
  content: '\25B8';
  color: var(--text-faint);
  font-size: var(--text-micro);
  align-self: center;
}
.so-stage[open] .so-stage-head::before { content: '\25BE'; }
.so-stage-name { font-weight: var(--weight-bold); }
.so-stage-who {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-14);
  font-size: var(--text-small);
  color: var(--text-dim);
}
.so-who-label {
  color: var(--text-faint);
  margin-right: var(--space-6);
}
.so-who-none { color: var(--primary); }
.so-stage[open] .so-stage-who { display: none; }
.so-unit { margin: var(--space-8) 0 var(--space-10); }
.so-unit-name {
  font-size: var(--text-small);
  color: var(--text-dim);
  margin-bottom: var(--space-4);
}
.stage-instructions {
  background-image: linear-gradient(var(--primary-soft), var(--primary-soft));
  background: var(--primary-soft);
  border-radius: var(--radius-sm);
  padding: var(--space-10) var(--space-12);
  margin: var(--space-12) 0;
}
.stage-ins-head {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  color: var(--primary);
  margin-bottom: var(--space-6);
}
.stage-ins { font-size: var(--text-small); }
.stage-ins + .stage-ins { margin-top: var(--space-8); }
.stage-ins-who { display: block; font-size: var(--text-micro); }
.so-instructions { padding: var(--space-8) 0 var(--space-14); }
.so-ins-head {
  font-size: var(--text-small);
  color: var(--text-dim);
  margin-bottom: var(--space-8);
}
.so-ins {
  background-image: linear-gradient(var(--primary-soft), var(--primary-soft));
  background: var(--primary-soft);
  border-radius: var(--radius-sm);
  padding: var(--space-10) var(--space-12);
  margin-bottom: var(--space-8);
}
.so-ins-text { font-size: var(--text-small); }
.so-ins-meta { font-size: var(--text-micro); margin-top: var(--space-4); }
.so-ins-empty { font-size: var(--text-small); margin-bottom: var(--space-10); }
.so-ins-form { margin-top: var(--space-10); }
.so-ins-controls {
  display: flex;
  gap: var(--space-8);
  flex-wrap: wrap;
  margin-top: var(--space-8);
}
.so-ins-controls select { width: auto; min-width: 130px; }
.so-ins-controls button { width: auto; margin: 0; }
.so-people {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
}
.so-person {
  display: inline-flex;
  align-items: center;
  position: relative;
  min-height: 44px;
  padding: 0 var(--space-12);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--panel);
  color: var(--text-dim);
  font-size: var(--text-small);
  margin: 0;
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease-smooth),
              border-color var(--dur-fast) var(--ease-smooth),
              background-color var(--dur-fast) var(--ease-smooth);
}
.so-person input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.so-person:hover { border-color: var(--border-strong); color: var(--text); }
.so-person:active { transform: translateY(1px); }
.so-person:has(:checked) {
  color: var(--primary);
  border-color: var(--primary);
  background: var(--primary-soft);
  font-weight: var(--weight-bold);
}
.so-person:has(:focus-visible) {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}
.so-saved { font-size: var(--text-micro); min-height: 1em; }
.jw-freestanding { font-weight: var(--weight-bold); }
.jw-mode { display: flex; flex-wrap: wrap; gap: var(--space-8) var(--space-16); margin-bottom: var(--space-10); }
.jw-mode-opt {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  min-height: 44px;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.jw-mode-opt input:disabled + span { color: var(--text-dim); }
.chart-head-link {
  float: right;
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  color: var(--primary);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
}
.chart-head-link:hover { color: var(--primary-dark); text-decoration: underline; }
.target-rows { display: flex; flex-direction: column; }
.target-row {
  display: grid;
  grid-template-columns: minmax(96px, 1fr) minmax(60px, 1.6fr) 108px;
  gap: var(--space-12);
  align-items: center;
  padding: var(--space-10) 4px;
  border-bottom: 1px solid var(--border);
  color: inherit;
  text-decoration: none;
  border-radius: var(--radius-xs);
}
.target-row:last-child { border-bottom: 0; }
.target-row:hover { background: var(--surface-2); }
.target-unit { min-width: 0; }
.target-unit strong { display: block; font-weight: var(--weight-strong); font-size: var(--text-body); }
.target-unit small { display: block; font-size: var(--text-micro); color: var(--text-dim); }
.target-bar {
  height: 12px;
  background: var(--surface-2);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-pill);
  overflow: hidden;
}
.target-bar-fill { display: block; height: 100%; background: var(--primary); border-radius: var(--radius-pill); }
.target-bar-fill.good { background: var(--green); }
.target-bar-fill.bad {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.38) 0 3px, transparent 3px 7px),
    var(--amber);
}
.target-num { text-align: right; font-variant-numeric: tabular-nums; }
.target-num strong { display: block; font-size: var(--text-lead); font-weight: var(--weight-strong); line-height: var(--leading-tight); }
.target-num strong span { font-size: var(--text-small); font-weight: var(--weight-bold); color: var(--text-dim); }
.target-num strong.good { color: var(--green); }
.target-num strong.bad { color: var(--amber); }
.target-num small { display: block; font-size: var(--text-micro); color: var(--text-dim); }
.target-num small em { white-space: nowrap; }
.muted-strong { color: var(--text-faint); }
.plan-unit { margin-bottom: 26px; }
.plan-unit-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-14);
  flex-wrap: wrap;
  margin-bottom: var(--space-12);
}
.plan-unit-head h2 { font-size: var(--text-heading); margin: 0; }
.plan-note {
  background: var(--amber-soft);
  border: 1px solid color-mix(in srgb, var(--amber) 30%, transparent);
  color: var(--amber);
  border-radius: var(--radius-sm);
  padding: 9px 13px;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  margin-bottom: var(--space-14);
}
.plan-none {
  background: var(--panel);
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius-lg);
  padding: var(--space-18) var(--space-20);
  font-size: var(--text-body);
  line-height: var(--leading-text);
  color: var(--text-dim);
}
.plan-none strong { color: var(--text); }
.plan-none-sub { margin-top: var(--space-8); }
.plan-score { display: flex; align-items: center; gap: var(--space-16); flex-wrap: wrap; margin-bottom: var(--space-16); }
.plan-score-num { font-variant-numeric: tabular-nums; }
.plan-score-num strong { font-size: var(--text-hero); font-weight: var(--weight-strong); letter-spacing: var(--track-display); }
.plan-score-num span { font-size: var(--text-body); color: var(--text-dim); margin-left: 5px; }
.plan-score-num.good strong { color: var(--green); }
.plan-score-num.bad strong { color: var(--amber); }
.plan-score-meta { font-size: var(--text-small); color: var(--text-dim); }
.plan-extra { color: var(--amber); font-weight: var(--weight-bold); }
.plan-bar {
  display: inline-block;
  flex: 1 1 140px;
  min-width: 90px;
  height: 12px;
  background: var(--surface-2);
  border-radius: var(--radius-pill);
  overflow: hidden;
  white-space: nowrap;
}
.plan-bar-done { display: inline-block; height: 100%; background: var(--primary); vertical-align: top; }
.plan-bar-over { display: inline-block; height: 100%; background: var(--green); vertical-align: top; }
.plan-jobs { display: flex; flex-direction: column; }
.plan-job {
  display: grid;
  grid-template-columns: minmax(120px, 2fr) minmax(70px, 1.4fr) minmax(118px, max-content);
  gap: var(--space-12);
  align-items: center;
  padding: var(--space-10) var(--space-4);
  border-bottom: 1px solid var(--border);
}
.plan-job:last-child { border-bottom: 0; }
@media (max-width: 720px) {
  .plan-job { grid-template-columns: 1fr; gap: var(--space-8); }
  .plan-count { display: flex; flex-wrap: wrap; }
  .plan-count-field { display: flex; flex-direction: column; gap: var(--space-2); flex: 1 1 96px; }
  .plan-count-word { display: block; font-size: var(--text-micro); color: var(--text-dim); font-weight: var(--weight-medium); }
  .plan-count-qty, .plan-count-scrap { width: 100%; min-width: 96px; }
}
.plan-job.met { background: var(--green-soft); border-radius: var(--radius-xs); }
.plan-job-what { min-width: 0; }
.plan-job-what strong { display: block; font-size: var(--text-body); font-weight: var(--weight-bold); }
.plan-job-what small { display: block; font-size: var(--text-micro); color: var(--text-dim); }
.plan-job-note { font-style: italic; }
.plan-job-num { text-align: right; font-variant-numeric: tabular-nums; }
.plan-job-num strong { font-size: var(--text-lead); font-weight: var(--weight-strong); }
.plan-job-num strong span { font-size: var(--text-small); color: var(--text-dim); }
.plan-job-num small { display: block; font-size: var(--text-micro); color: var(--text-dim); }
.plan-extra-block { margin-top: var(--space-16); }
.pc-row { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-8); }
.pc-status { font-size: var(--text-micro); font-weight: var(--weight-bold); padding: var(--space-2) var(--space-8); border-radius: var(--radius-pill); }
.pc-kept { color: var(--green); background: var(--green-soft); }
.pc-short { color: var(--amber); background: var(--amber-soft); }
.pc-open { color: var(--red); background: var(--red-soft); }
.pc-form { flex-basis: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); gap: var(--space-8) var(--space-12); padding: var(--space-12); border: 1px solid var(--border); border-radius: var(--radius-xs); background: var(--panel-alt); }
.pc-form[hidden] { display: none; }
.pc-field { display: flex; flex-direction: column; gap: var(--space-2); font-size: var(--text-micro); color: var(--text-dim); font-weight: var(--weight-medium); }
.pc-field input, .pc-field select { width: 100%; margin: 0; }
.pc-wide { grid-column: 1 / -1; }
.pc-logged { font-size: var(--text-small); }
.pc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-8); }
.pc-unit-line { font-size: var(--text-small); margin: var(--space-8) 0; }
.pc-yield { flex-basis: 100%; font-size: var(--text-small); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.pc-yield strong { color: var(--amber); }
.sp-block { margin-top: var(--space-16); padding-bottom: 0; border-bottom: 0; }
.sp-count { margin-bottom: var(--space-8); }
.sp-filter { width: 100%; margin-bottom: var(--space-8); }
.sp-list { display: flex; flex-direction: column; }
.sp-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-12); padding: var(--space-8) 0; border-bottom: 1px solid var(--border); font-size: var(--text-small); }
.sp-row.sp-off { opacity: 0.6; }
.sp-name { font-weight: var(--weight-bold); flex: 1 1 14rem; }
.sp-facts { color: var(--text-dim); flex: 2 1 18rem; }
.sp-missing { color: var(--amber); }
.sp-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: var(--space-8) var(--space-12); margin: var(--space-12) 0; padding: var(--space-12); border: 1px solid var(--border); border-radius: var(--radius-xs); background: var(--panel-alt); }
.sp-form[hidden] { display: none; }
.sp-form label { display: flex; flex-direction: column; gap: var(--space-2); font-size: var(--text-micro); color: var(--text-dim); }
.sp-form input, .sp-form select { width: 100%; margin: 0; }
.sp-wide { grid-column: 1 / -1; }
.pc-card { margin-bottom: var(--space-16); padding: var(--space-12) var(--space-16); border: 1px solid var(--border); border-radius: var(--radius-xs); background: var(--panel); }
.pc-card-head h2 { margin: 0; font-size: var(--text-lead); }
.pc-people { display: flex; flex-direction: column; margin-top: var(--space-8); }
.pc-person { border-bottom: 1px solid var(--border); }
.pc-person:last-child { border-bottom: 0; }
.pc-person summary { cursor: pointer; padding: var(--space-8) 0; font-size: var(--text-small); }
.pc-kept-n { color: var(--green); font-weight: var(--weight-bold); }
.pc-short-n { color: var(--amber); }
.pc-open-n { color: var(--red); font-weight: var(--weight-bold); }
.pc-lines { margin: 0 0 var(--space-8); padding-left: var(--space-16); font-size: var(--text-small); }
.pc-lines small { color: var(--text-dim); }
.pc-week { margin-top: var(--space-12); }
.pc-week summary { cursor: pointer; font-size: var(--text-small); font-weight: var(--weight-bold); padding: var(--space-6) 0; }
.pc-week-table { width: 100%; border-collapse: collapse; font-size: var(--text-small); margin: var(--space-8) 0; font-variant-numeric: tabular-nums; }
.pc-week-table th, .pc-week-table td { text-align: left; padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--border); }
.pc-week-table .pc-idle td { color: var(--text-dim); }
.pc-scroll { overflow-x: auto; max-width: 100%; }
.pa-card { border-left: 3px solid var(--amber); }
.rp-table .rp-part { min-width: 9rem; }
.rp-table .rp-why { min-width: 16rem; }
.pa-racks { margin-top: var(--space-8); padding-left: var(--space-16); }
.us-block { margin-bottom: var(--space-16); padding-bottom: var(--space-12); border-bottom: 1px solid var(--border); }
.us-block[hidden] { display: none; }
.us-title { margin: 0 0 var(--space-4); font-size: var(--text-body); }
.us-sub { margin-bottom: var(--space-8); }
.us-unit { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-8); padding: var(--space-6) 0; }
.us-unit-name { min-width: 72px; font-weight: var(--weight-bold); }
.us-unit select { width: auto; min-width: min(240px, 100%); margin: 0; }
.plan-extra-block summary { cursor: pointer; font-size: var(--text-small); font-weight: var(--weight-bold); color: var(--amber); padding: var(--space-6) 0; }
.plan-editor {
  background: var(--panel);
  border: 2px solid var(--primary);
  border-radius: var(--radius-lg);
  padding: var(--space-18) var(--space-20);
}
.plan-editor-note { margin-bottom: var(--space-14); }
.plan-editor-pick { margin-bottom: var(--space-14); }
.plan-editor select, .plan-editor input { width: 100%; }
.plan-sheet { border-top: 1px dashed var(--border-strong); padding-top: var(--space-12); }
.sheet-head, .sheet-row {
  display: grid;
  grid-template-columns: 44px minmax(96px, 132px) minmax(180px, 1fr) minmax(120px, 148px) minmax(110px, 168px);
  gap: var(--space-10);
  align-items: start;
}
.sheet-head {
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--border-strong);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-faint);
}
.sheet-row { padding: var(--space-16) 0; border-bottom: 1px solid var(--border); }
.sheet-row:last-of-type { border-bottom: 0; }
.sheet-sno { font-variant-numeric: tabular-nums; color: var(--text-faint); font-weight: var(--weight-bold); padding-top: var(--space-8); }
.sheet-topic { font-weight: var(--weight-strong); padding-top: var(--space-6); overflow-wrap: anywhere; }
.sheet-line { display: grid; grid-template-columns: minmax(0, 1fr) 104px auto; gap: var(--space-8); align-items: center; padding: var(--space-4) 0; }
.sheet-line + .sheet-line { border-top: 1px dotted var(--border); }
.sheet-line-what { display: flex; flex-direction: column; min-width: 0; }
.sheet-line-what strong { font-weight: var(--weight-medium); overflow-wrap: anywhere; }
.sheet-line-what small { color: var(--text-faint); font-size: var(--text-micro); }
.sheet-line-qty { display: flex; align-items: baseline; gap: var(--space-6); }
.sheet-line-qty input { min-width: 64px; text-align: right; font-variant-numeric: tabular-nums; padding: var(--space-8) 10px; }
.sheet-line-uom { color: var(--text-faint); font-size: var(--text-micro); }
.sheet-who select, .sheet-remarks input { width: 100%; padding: var(--space-8) 10px; }
.sheet-remarks input { font-size: 16px; }
#stations tr.is-off { opacity: 0.5; }
#stations input { width: 100%; }
.plan-unit-actions { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.plan-station-note {
  margin-top: var(--space-10);
  padding: var(--space-10) var(--space-12);
  border-left: 1px solid var(--border-strong);
  background: var(--surface-2);
  font-size: var(--text-small);
  color: var(--text-dim);
}
.plan-editor-members { margin-bottom: var(--space-14); }
.member-chips { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-top: var(--space-8); }
.member-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  padding: var(--space-8) var(--space-12);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-pill);
  cursor: pointer;
  font-size: var(--text-small);
  min-height: 44px;
}
.member-chip input { width: auto; }
.member-chip:has(input:checked) { border-color: var(--primary); background: var(--primary-soft); font-weight: var(--weight-bold); }
.plan-editor-machine { margin-bottom: var(--space-14); }
.machine-add { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; }
.machine-add select { flex: 0 1 168px; }
#pe-station { flex: 0 1 150px; }
#pe-station-what { flex: 3 1 160px; min-width: 0; }
#pe-station-qty { flex: 0 0 76px; }
#pe-station-lands { flex: 0 1 168px; }
.pe-per { display: inline-flex; align-items: center; gap: var(--space-6); flex: 0 1 190px; white-space: nowrap; font-size: var(--text-small); color: var(--text-dim); }
.pe-per[hidden] { display: none; }
.pe-per input { width: 6.5rem; }
#pe-station-input { flex: 2 1 150px; min-width: 0; }
.plan-count-word { display: none; }
.plan-count-field { display: contents; }
.plan-count { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-4); align-items: center; margin-top: var(--space-4); }
.plan-count-qty { width: 88px; }
.store-empty-ledger { padding: var(--space-8) 0; }
.store-untouched { color: var(--amber); font-weight: var(--weight-bold); }
.plan-count-scrap { width: 72px; }
.cu-same-as-select { width: 10rem; max-width: 100%; }
.cu-actions { min-width: 10rem; }
.cu-logo {
  display: inline-block;
  vertical-align: middle;
  width: 44px;
  height: 30px;
  margin-right: var(--space-8);
  padding: var(--space-2);
  object-fit: contain;
  border-radius: 6px;
  background: #a39a91;
}
.cu-actions .text-btn { white-space: nowrap; }
.machine-add input#pe-station-what { flex: 2 1 200px; }
.machine-add input#pe-station-qty { flex: 0 1 96px; text-align: right; font-variant-numeric: tabular-nums; }
.machine-add button { flex: none; }
@media (max-width: 720px) {
  .sheet-head { display: none; }
  .sheet-row { grid-template-columns: 1fr; gap: var(--space-8); }
  .sheet-sno { display: none; }
  .sheet-topic { font-size: var(--text-lead); padding-top: 0; }
  .sheet-row .sr-only {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: normal;
    display: block;
    font-size: var(--text-micro);
    font-weight: var(--weight-bold);
    color: var(--text-dim);
    text-transform: uppercase;
    letter-spacing: var(--track-caps);
  }
}
.plan-draft-total {
  margin-top: var(--space-12);
  padding-top: var(--space-10);
  border-top: 1px solid var(--border-strong);
  font-size: var(--text-body);
  color: var(--text-dim);
}
.plan-draft-total strong { color: var(--text); font-size: var(--text-lead); font-weight: var(--weight-strong); }
.plan-compare-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: var(--space-16);
}
.plan-compare-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md), var(--shadow-inset-top);
  padding: var(--space-18) var(--space-20);
}
.plan-compare-card h3 { font-size: var(--text-lead); margin: 0 0 var(--space-14); }
.plan-compare-today, .plan-compare-week { margin-bottom: var(--space-12); }
.plan-compare-label {
  display: block;
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  color: var(--text-faint);
}
.plan-compare-today strong, .plan-compare-week strong {
  font-size: var(--text-heading);
  font-weight: var(--weight-strong);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--track-tight);
}
.plan-compare-today strong.good { color: var(--green); }
.plan-compare-today strong.bad { color: var(--amber); }
.plan-compare-today small, .plan-compare-week small { display: block; font-size: var(--text-small); color: var(--text-dim); }
.plan-week-chart {
  display: flex;
  align-items: flex-end;
  gap: var(--space-6);
  height: 76px;
  margin-top: var(--space-14);
}
.plan-week-day {
  position: relative;
  flex: 1;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.plan-week-day i {
  position: absolute;
  bottom: 14px;
  border-radius: 2px 2px 0 0;
  min-height: 2px;
}
.plan-week-target { width: 100%; background: var(--bg); border: 1px solid var(--border-strong); }
.plan-week-done { width: 56%; background: var(--primary); }
.plan-week-done.good { background: var(--green); }
.plan-week-day em {
  position: absolute;
  bottom: 0;
  font-style: normal;
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  color: var(--text-faint);
}
.plan-week-key { display: flex; gap: var(--space-14); margin-top: var(--space-12); font-size: var(--text-micro); font-weight: var(--weight-medium); color: var(--text-dim); }
.plan-week-key span { display: flex; align-items: center; gap: var(--space-6); }
.plan-week-key i { width: 12px; height: 10px; border-radius: 2px; display: inline-block; }
.plan-week-key .plan-week-target { position: static; border: 1px solid var(--border-strong); background: var(--bg); }
.plan-week-key .plan-week-done { position: static; width: 12px; background: var(--primary); }
.plan-revised {
  display: inline-block;
  margin-left: var(--space-8);
  padding: 2px 9px;
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  background: var(--surface-2);
  color: var(--text-dim);
  border: 1px solid var(--border-strong);
  white-space: nowrap;
}
.plan-revised.up {
  background: var(--green-soft);
  color: var(--green);
  border-color: color-mix(in srgb, var(--green) 30%, transparent);
}
.plan-revised.down {
  background: var(--amber-soft);
  color: var(--amber);
  border-color: color-mix(in srgb, var(--amber) 35%, transparent);
}
.target-revised {
  font-style: normal;
  font-weight: var(--weight-bold);
  color: var(--amber);
}
.plan-editor-warn {
  background: var(--amber-soft);
  border: 1px solid color-mix(in srgb, var(--amber) 30%, transparent);
  color: var(--amber);
  border-radius: var(--radius-sm);
  padding: var(--space-10) var(--space-14);
  font-size: var(--text-small);
  line-height: 1.5;
  margin-bottom: var(--space-16);
}
.plan-history { margin-top: var(--space-18); }
.plan-history summary {
  cursor: pointer;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  color: var(--text-dim);
  padding: var(--space-6) 0;
}
.plan-history summary:hover { color: var(--text); }
.plan-history-list {
  list-style: none;
  margin: var(--space-10) 0 0;
  padding: 0 0 0 var(--space-4);
  border-left: 2px solid var(--border-strong);
}
.plan-history-list li {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: var(--space-10);
  padding: var(--space-10) 0 var(--space-10) var(--space-14);
  position: relative;
}
.plan-history-list li::before {
  content: '';
  position: absolute;
  left: -6px;
  top: 16px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--border-strong);
}
.plan-history-list li.first::before { background: var(--primary); }
.plan-history-when {
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  color: var(--text-faint);
  font-variant-numeric: tabular-nums;
  padding-top: 1px;
}
.plan-history-what strong { display: block; font-size: var(--text-body); }
.plan-history-what small { display: block; font-size: var(--text-small); color: var(--text-dim); }
.plan-history-what small em { font-style: normal; font-weight: var(--weight-bold); }
.plan-history-what small em.up { color: var(--green); }
.plan-history-what small em.down { color: var(--amber); }
.plan-change-list {
  list-style: none;
  margin: var(--space-6) 0 0;
  padding: 0;
  font-size: var(--text-small);
  color: var(--text-dim);
}
.plan-change-list li { display: block; padding: var(--space-2) 0; grid-template-columns: none; }
.plan-change-list li::before { display: none; }
.plan-change-list strong.up { color: var(--green); }
.plan-change-list strong.down { color: var(--amber); }
.short-textout {
  background: var(--surface-2);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
  padding: var(--space-12) var(--space-14);
  font-size: var(--text-small);
  white-space: pre-wrap;
  margin-bottom: var(--space-16);
}
.short-incomplete {
  padding: 13px 16px;
  margin-bottom: var(--space-18);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--amber) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--amber) 28%, transparent);
  font-size: var(--text-small);
  line-height: 1.5;
}
.short-unchecked-list { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-top: 9px; }
.short-unchecked-list a {
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  padding: 3px 9px;
  border-radius: var(--radius-pill);
  background: var(--panel);
  border: 1px solid var(--border-strong);
  text-decoration: none;
  color: var(--text);
}
.sug-panel {
  margin: var(--space-12) 0 var(--space-14);
  padding: var(--space-14) var(--space-16);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--primary) 6%, transparent);
  border: 1px solid color-mix(in srgb, var(--primary) 26%, transparent);
}
.sug-head { margin-bottom: var(--space-8); font-size: var(--text-small); }
.sug-head .muted { display: block; font-size: var(--text-small); margin-top: 3px; line-height: 1.45; }
.sug-sources { display: flex; flex-wrap: wrap; gap: var(--space-6); margin-bottom: var(--space-10); }
.sug-source {
  font-size: var(--text-micro);
  padding: 2px 9px;
  border-radius: var(--radius-pill);
  background: var(--panel);
  border: 1px solid var(--border-strong);
}
.sug-source em { font-style: normal; font-weight: var(--weight-strong); color: var(--primary); }
.sug-empty { font-size: var(--text-small); line-height: 1.5; margin-bottom: var(--space-10); }
.sug-table { font-size: var(--text-small); }
.sug-table th { font-size: var(--text-micro); }
.sug-table input[type='text'] { width: 100%; min-width: 120px; padding: 4px 7px; font-size: 16px; }
.sug-table input[type='number'] { width: 78px; padding: 4px 7px; font-size: 16px; text-align: right; }
.sug-table input[type='checkbox'] { width: auto; margin: 0; }
.sug-pick-col { position: relative; width: 44px; text-align: center; }
.sug-pick-hit { position: absolute; inset: 0; cursor: pointer; }
.sug-total { text-align: right; font-weight: var(--weight-bold); white-space: nowrap; }
.sug-reason { font-size: var(--text-micro); color: var(--text-dim); max-width: 260px; }
.sug-actions { display: flex; gap: var(--space-8); margin-top: var(--space-12); flex-wrap: wrap; }
.store-shelf {
  margin-bottom: var(--space-18);
  padding: var(--space-16) var(--space-18);
  background: var(--panel);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--green-soft), var(--green-soft));
  border-radius: var(--radius-lg);
  --glass-tint: var(--tint-good);
}
.store-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-16); flex-wrap: wrap; }
.store-item { font-weight: var(--weight-strong); font-size: var(--text-lead); }
.store-meta { font-size: var(--text-micro); color: var(--text-dim); margin-top: var(--space-2); }
.store-total { text-align: right; font-size: var(--text-micro); color: var(--text-dim); }
.store-total strong { display: block; font-size: var(--text-heading); line-height: 1.1; color: var(--green); }
.store-actions { display: flex; gap: var(--space-10); flex-wrap: wrap; align-items: center; margin-top: var(--space-12); }
.store-adjust { display: flex; gap: var(--space-6); flex-wrap: wrap; align-items: center; margin-left: auto; }
.store-adjust input { padding: 5px 8px; font-size: 16px; }
.store-adjust .store-adj-qty { max-width: 80px; text-align: right; }
.store-adjust .store-adj-note { max-width: 200px; }
.store-ledger { font-size: var(--text-small); margin-top: var(--space-12); }
.store-ledger th { font-size: var(--text-micro); }
.store-qty { text-align: right; font-weight: var(--weight-strong); white-space: nowrap; }
.store-qty.in { color: var(--green); }
.store-qty.out { color: var(--red); }
.store-move-panel { margin-top: var(--space-12); }
.store-move {
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--surface-2);
}
.store-move summary {
  padding: var(--space-10) var(--space-14);
  cursor: pointer;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  color: var(--text-dim);
  list-style: none;
}
.store-move summary::-webkit-details-marker { display: none; }
.store-move-body { padding: 0 var(--space-14) var(--space-14); }
.store-move-hint { font-size: var(--text-small); color: var(--text-dim); line-height: 1.5; margin-bottom: var(--space-10); }
.store-move-form { display: flex; gap: var(--space-8); flex-wrap: wrap; align-items: center; }
.store-move-form .store-move-qty { max-width: 100px; }
.store-move-form .store-move-note { max-width: 260px; }
.store-tag {
  padding: 2px 9px;
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  background: var(--green-soft);
  color: var(--green);
  cursor: help;
}
.alias-tabs { display: flex; gap: var(--space-8); }
.alias-group {
  margin-top: var(--space-14);
  padding: var(--space-14) var(--space-16);
  border-radius: var(--radius-md);
  background: var(--surface-2);
  border: 1px solid var(--border-strong);
}
.alias-group-head { display: flex; gap: var(--space-10); align-items: center; flex-wrap: wrap; margin-bottom: var(--space-10); font-size: var(--text-small); }
.alias-conf {
  padding: 2px 9px;
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  white-space: nowrap;
}
.alias-conf.high { background: var(--green-soft); color: var(--green); }
.alias-conf.review,
.alias-conf.medium { background: var(--amber-soft); color: var(--amber); }
.alias-members { display: flex; flex-direction: column; gap: var(--space-6); margin-bottom: var(--space-12); }
.alias-member { display: flex; align-items: center; gap: 9px; font-size: var(--text-small); cursor: pointer; }
.alias-member input { width: auto; margin: 0; }
.alias-member .muted { font-size: var(--text-micro); margin-left: auto; }
.alias-actions { display: flex; gap: var(--space-10); align-items: center; flex-wrap: wrap; }
.alias-confirmed-row {
  display: flex;
  gap: var(--space-8);
  align-items: center;
  flex-wrap: wrap;
  padding: var(--space-8) 0;
  border-top: 1px solid var(--border);
  font-size: var(--text-small);
}
.alias-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: var(--space-2) var(--space-4) var(--space-2) var(--space-10);
  border-radius: var(--radius-pill);
  background: var(--panel);
  border: 1px solid var(--border-strong);
  font-size: var(--text-small);
}
.alias-unmerge {
  background: none;
  border: none;
  color: var(--text-dim);
  cursor: pointer;
  padding: 0 5px;
  font-size: var(--text-body);
  width: auto;
  margin: 0;
}
.alias-unmerge:hover { color: var(--red); }
.order-type-row { display: flex; gap: var(--space-12); flex-wrap: wrap; margin-bottom: var(--space-20); }
.order-type {
  flex: 1 1 240px;
  display: flex;
  align-items: flex-start;
  gap: var(--space-10);
  padding: var(--space-12) var(--space-14);
  border: 1.5px solid var(--border-strong);
  border-radius: var(--radius-md);
  cursor: pointer;
  background: var(--panel);
}
.order-type input { width: auto; margin: var(--space-2) 0 0; }
.order-type span { display: flex; flex-direction: column; gap: var(--space-2); }
.order-type strong { font-size: var(--text-body); }
.order-type em { font-style: normal; font-size: var(--text-small); color: var(--text-dim); line-height: 1.4; }
.order-type:has(input:checked) {
  border-color: var(--primary);
  background: color-mix(in srgb, var(--primary) 7%, transparent);
}
.stock-build-tag {
  display: inline-block;
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-caps-print);
  background: var(--primary-soft);
  color: var(--primary);
  margin-left: var(--space-6);
}
.quick-today {
  margin-top: var(--space-22);
  padding-top: var(--space-16);
  border-top: 1px solid var(--border);
}
.quick-today-label {
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-dim);
  margin-bottom: var(--space-10);
}
.quick-today-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  padding: var(--space-10) 0;
  border-bottom: 1px solid var(--border);
}
.quick-today-row:last-of-type { border-bottom: 0; }
.quick-today-fact { font-size: var(--text-body); color: var(--text); }
.quick-today-fact strong { font-weight: var(--weight-strong); }
.quick-today-who { display: block; font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-2); }
.quick-today-hint { margin-top: var(--space-10); }
.coverage-note {
  background: var(--surface-2);
  border-left: 1px solid var(--border-strong);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: var(--space-12) var(--space-16);
}
.coverage-note strong { color: var(--text); font-weight: var(--weight-bold); }
.coverage-fact { margin-bottom: var(--space-4); }
.coverage-fact:last-child { margin-bottom: 0; }
.coverage-more summary {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  cursor: pointer;
  list-style: none;
  color: var(--text-dim);
  font-weight: var(--weight-bold);
  font-size: var(--text-small);
}
.coverage-more summary::-webkit-details-marker { display: none; }
.coverage-more summary::before {
  content: '';
  width: 0;
  height: 0;
  border-left: 5px solid currentColor;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  transition: transform var(--dur-fast) var(--ease-smooth);
  flex: none;
}
.coverage-more[open] > summary::before { transform: rotate(90deg); }
.coverage-more p { margin: var(--space-8) 0 0; }
@media (pointer: coarse) {
  .coverage-more summary { min-height: 44px; }
}
.quick-rejected {
  margin-bottom: var(--space-14);
  padding: var(--space-12) var(--space-14);
  background: var(--red-soft);
  border: 1px solid var(--red);
  border-radius: var(--radius-md);
}
.quick-rejected-title {
  font-weight: var(--weight-strong);
  font-size: var(--text-body);
  color: var(--red);
  margin-bottom: var(--space-8);
}
.quick-rejected-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-12);
  padding: var(--space-8) 0;
  border-top: 1px solid rgba(209, 36, 36, 0.22);
}
.quick-rejected-row strong { font-weight: var(--weight-strong); }
.quick-rejected-when { color: var(--text-dim); font-size: var(--text-small); }
.quick-rejected-why { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-2); line-height: 1.4; }
.quick-rejected-hint { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-8); line-height: 1.45; }
.quick-rework {
  margin-top: var(--space-22);
  padding: var(--space-14);
  background: var(--amber-soft);
  border: 1px solid var(--amber);
  border-radius: var(--radius-md);
}
.quick-rework-head {
  display: flex;
  align-items: baseline;
  gap: var(--space-8);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  color: var(--text);
  margin-bottom: var(--space-10);
}
.quick-rework-count {
  font-size: var(--text-display);
  font-weight: var(--weight-strong);
  color: var(--amber);
  font-variant-numeric: tabular-nums;
}
.quick-rework .quick-label { margin-top: var(--space-6); }
.quick-rework-other { margin-top: var(--space-12); }
.quick-rework-other summary {
  cursor: pointer;
  font-weight: var(--weight-bold);
  font-size: var(--text-body);
  color: var(--text-dim);
  padding: var(--space-8) 0;
  min-height: 40px;
  display: flex;
  align-items: center;
}
.quick-rework-other[open] .quick-rework-other-body { display: flex; flex-direction: column; gap: var(--space-8); padding-bottom: var(--space-4); }
.quick-rework-hint { margin: 0 0 var(--space-4); }
.quick-rework-alt { width: 100%; margin-top: 0; }
.quick-card-more {
  color: var(--text-dim);
  font-weight: var(--weight-bold);
  font-size: var(--text-micro);
}
.quick-stage-pick { margin: var(--space-14) 0 var(--space-4); }
.quick-stage-pick-label {
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-dim);
  margin-bottom: var(--space-8);
}
.quick-stage-row { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.quick-stage-btn {
  flex: 1 1 140px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  min-height: 58px;
  padding: 9px 12px;
  background: var(--panel);
  border: 1.5px solid var(--border-strong);
  border-radius: var(--radius-md);
  color: var(--text);
  font-family: var(--font);
  text-align: left;
  cursor: pointer;
  touch-action: manipulation;
}
.quick-stage-btn-name { font-weight: var(--weight-strong); font-size: var(--text-small); line-height: 1.2; }
.quick-stage-btn-sub { font-size: var(--text-small); color: var(--text-dim); font-weight: var(--weight-bold); }
.quick-stage-btn.selected {
  border-color: var(--primary);
  background: var(--primary-soft);
  color: var(--primary);
}
.quick-stage-btn.selected .quick-stage-btn-sub { color: var(--primary); }
.tabbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--z-sticky);
  background: var(--panel);
  border-top: 1px solid var(--border);
  box-shadow: 0 -2px 12px -6px rgba(63, 16, 3, 0.16);
  padding-bottom: env(safe-area-inset-bottom);
}
.tab-row { display: flex; align-items: stretch; }
.tab {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  height: 60px;
  padding: 0 var(--space-2);
  border: 0;
  background: none;
  color: var(--text);
  font-family: var(--font);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  letter-spacing: -0.005em;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: background var(--dur-fast) var(--ease-smooth), color var(--dur-fast) var(--ease-smooth);
}
.tab:hover { text-decoration: none; }
.nav-icon {
  width: 23px;
  height: 23px;
  flex: none;
  transition: transform var(--dur-fast) var(--ease-smooth);
}
.tab .nav-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.tab:active { background: var(--gray-soft); }
.tab:active .nav-icon { transform: scale(0.92); }
.tab-create .nav-icon {
  width: 40px;
  height: 40px;
  padding: 9px;
  border-radius: var(--radius-md);
  background: var(--gradient-primary);
  color: var(--on-accent);
  box-shadow: var(--shadow-glow-primary), var(--shadow-inset-top);
}
.tab-create { gap: 1px; }
.tab-create .nav-label { color: var(--primary); font-weight: var(--weight-strong); }
.tab-log,
.tab-log .nav-icon { color: var(--red); }
.tab-log .nav-label { font-weight: var(--weight-strong); white-space: normal; line-height: 1.05; }
.tab[aria-current='page'] {
  background: var(--primary-soft);
  box-shadow: inset 0 4px 0 var(--primary);
  font-weight: var(--weight-strong);
}
.tab[aria-current='page']:not(.tab-create):not(.tab-log) { color: var(--primary); }
.pulse-bad { color: var(--red); }
.pulse-line {
  font-size: var(--text-lead);
  line-height: 1.45;
  color: var(--text);
  margin: 0 0 var(--space-16);
}
.nav-scrim {
  position: fixed;
  inset: 0;
  background: rgba(33, 25, 21, 0.34);
  z-index: calc(var(--z-sticky) - 1);
  animation: fade-in var(--dur-fast) var(--ease-smooth);
}
.nav-scrim[hidden] { display: none; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes sheet-up { from { transform: translateY(14px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.nav-sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  display: flex;
  flex-direction: column;
  max-height: 76vh;
  overflow-y: auto;
  padding: var(--space-8) var(--space-8) var(--space-10);
  background: var(--panel);
  border-top: 1px solid var(--border);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow: var(--shadow-xl);
  animation: sheet-up var(--dur-base) var(--ease-spring);
}
.nav-sheet[hidden] { display: none; }
@keyframes sheet-down { from { transform: translateY(0); opacity: 1; } to { transform: translateY(14px); opacity: 0; } }
@keyframes fade-out { from { opacity: 1; } to { opacity: 0; } }
.nav-sheet.is-leaving { animation: sheet-down 200ms cubic-bezier(0.5, 0, 0.75, 0) forwards; pointer-events: none; }
.nav-scrim.is-leaving { animation: fade-out 200ms cubic-bezier(0.5, 0, 0.75, 0) forwards; }
.sheet-grip {
  position: sticky;
  top: calc(-1 * var(--space-8));
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  margin: calc(-1 * var(--space-8)) calc(-1 * var(--space-8)) 0;
  background: var(--panel);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  touch-action: none;
  cursor: grab;
}
.sheet-grip::before { content: ''; width: 40px; height: 5px; border-radius: 3px; background: var(--border); }
@media (min-width: 900px) { .sheet-grip { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .nav-sheet.is-leaving, .nav-scrim.is-leaving { animation: none; }
}
.nav-sheet-row {
  display: flex;
  align-items: center;
  gap: var(--space-14);
  width: 100%;
  min-height: 60px;
  padding: 0 var(--space-14);
  border: 0;
  border-radius: var(--radius-md);
  background: none;
  color: var(--text);
  font-family: var(--font);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
}
.nav-sheet-row:hover { background: var(--gray-soft); text-decoration: none; }
.nav-sheet-row:active { background: var(--border); }
.nav-sheet-row .nav-icon { width: 24px; height: 24px; color: var(--text-dim); }
.nav-sheet-row[aria-current='page'] { background: var(--primary-soft); color: var(--primary); }
.nav-sheet-row[aria-current='page'] .nav-icon { color: var(--primary); }
.nav-back {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  min-width: 44px;
  padding: 0 var(--space-12);
}
.nav-back:hover { text-decoration: none; }
.nav-rail-only { display: none; }
.rail-brand { display: none; }
.nav-label-long { display: none; }
body.has-tabbar { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
body.nav-sheet-open { overflow: hidden; }
@media (max-width: 899px) {
  .topbar { padding: var(--space-8) var(--space-14); gap: var(--space-10); }
  .topbar .brand .subtitle { display: none; }
  .topbar .brand { font-size: 0; gap: 0; }
  .topbar .brand .logo-mark { width: 30px; height: 30px; }
  .topbar-title {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: var(--weight-strong);
    font-size: var(--text-lead);
    letter-spacing: var(--track-tight);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topbar #logout-btn { display: none; }
  .nav-back-label { display: none; }
}
.today-set-date {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  flex-wrap: wrap;
  margin-top: var(--space-8);
}
.today-set-date input[type='date'] { width: auto; min-width: 150px; }
.today-set-date button { width: auto; margin: 0; }
.today-target-why { font-size: var(--text-micro); }
.today-target-said { font-size: var(--text-small); color: var(--primary); font-weight: var(--weight-bold); }
.today-row.is-dated { opacity: 0.6; }
.install-bar {
  position: fixed;
  left: 50%;
  bottom: calc(60px + env(safe-area-inset-bottom) + var(--space-10));
  transform: translateX(-50%) translateY(var(--space-12));
  z-index: var(--z-toast);
  display: flex;
  align-items: center;
  gap: var(--space-12);
  flex-wrap: wrap;
  width: calc(100vw - var(--space-24));
  max-width: 460px;
  padding: var(--space-12) var(--space-14);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--panel);
  box-shadow: var(--shadow-lg);
  font-size: var(--text-small);
  opacity: 0;
  transition: opacity var(--dur-base) var(--ease-smooth), transform var(--dur-base) var(--ease-smooth);
}
.install-bar.is-on { opacity: 1; transform: translateX(-50%) translateY(0); }
.install-bar-text { flex: 1 1 200px; }
.install-bar-go,
.install-bar-no {
  width: auto;
  margin: 0;
  min-height: 44px;
}
.install-bar-go { background: var(--primary); color: var(--on-accent); border-color: var(--primary); }
.install-bar-no { background: none; border: 0; box-shadow: none; color: var(--text-dim); }
@media (min-width: 900px) {
  .install-bar { bottom: var(--space-16); }
}
@media (prefers-reduced-motion: reduce) {
  .install-bar { transition: opacity var(--dur-fast) var(--ease-smooth); transform: translateX(-50%); }
  .install-bar.is-on { transform: translateX(-50%); }
}
.po-item-row.is-landed { animation: landed-on 2.4s var(--ease-smooth); }
@keyframes landed-on {
  0%, 70% { box-shadow: inset 3px 0 0 var(--primary); }
  100% { box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  .po-item-row.is-landed { animation: none; box-shadow: inset 3px 0 0 var(--primary); }
}
.stage-entry {
position: fixed;
z-index: var(--z-dropdown);
width: 280px;
max-width: calc(100vw - 16px);
padding: var(--space-14);
border: 1px solid var(--border);
border-radius: var(--radius-md);
background: var(--panel);
box-shadow: var(--shadow-lg);
opacity: 0;
transform: scale(0.6);
transition: opacity var(--dur-fast) var(--ease-smooth), transform var(--dur-fast) var(--ease-smooth);
}
.stage-entry.is-open { opacity: 1; transform: scale(1); }
.se-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); }
.se-close {
width: auto;
margin: 0;
padding: 0 var(--space-8);
background: none;
border: 0;
box-shadow: none;
color: var(--text-dim);
font-size: var(--text-lead);
line-height: 1;
}
.se-item { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-2); }
.se-sofar { font-size: var(--text-micro); margin-bottom: var(--space-10); }
.se-form label { display: block; margin: var(--space-8) 0 0; }
.se-pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); }
.se-pair label { margin-top: 0; }
.se-actions {
display: flex;
align-items: center;
gap: var(--space-12);
margin-top: var(--space-12);
}
.se-actions .se-save { width: auto; margin: 0; flex: 1; }
.se-full { font-size: var(--text-small); white-space: nowrap; }
.stage-entry.is-bom .phase-sub {
color: var(--text-dim);
font-size: var(--text-small);
margin-top: var(--space-2);
margin-bottom: var(--space-12);
}
.stage-entry.is-bom .bom-quick { margin: 0; }
.stage-entry.is-bom .bom-quick .bom-quick-sets { max-width: 100%; }
.stage-entry.is-bom .bom-quick-actions { flex-direction: column; align-items: stretch; }
.stage-entry.is-bom .bom-quick-actions button { width: 100%; margin: 0; }
.stage-entry.is-bom .store-move-hint { font-size: var(--text-micro); margin-top: var(--space-8); margin-bottom: 0; }
.stage-entry.is-bom .bom-quick-open { padding-left: 0; margin-top: var(--space-10); font-size: var(--text-small); }
@media (max-width: 899px) {
  .stage-entry {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: auto;
    max-width: none;
    border-bottom: 0;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    padding-bottom: calc(var(--space-14) + env(safe-area-inset-bottom));
    max-height: 85vh;
    overflow-y: auto;
    transform: translateY(100%);
    transition: opacity var(--dur-fast) var(--ease-smooth), transform var(--dur-base) var(--ease-smooth);
  }
  .stage-entry.is-open { transform: translateY(0); }
  .se-actions { gap: var(--space-16); }
  .se-full { padding: var(--space-8) 0; }
}
@media (prefers-reduced-motion: reduce) {
.stage-entry { transition: opacity var(--dur-fast) var(--ease-smooth); transform: none; }
.stage-entry.is-open { transform: none; }
}
@media (min-width: 900px) {
  .tabbar {
    top: 0;
    right: auto;
    width: var(--rail-w);
    flex-direction: column;
    border-top: 0;
    border-right: 1px solid var(--border);
    box-shadow: none;
    padding: var(--space-14) var(--space-10);
    overflow-y: auto;
  }
  .tab-row { flex-direction: column; align-items: stretch; }
  .tab {
    flex: none;
    flex-direction: row;
    justify-content: flex-start;
    gap: var(--space-12);
    height: 34px;
    padding: 0 var(--space-12);
    border-radius: var(--radius-md);
    font-size: var(--text-body);
  }
  .tab .nav-label { max-width: none; }
  .tab:hover { background: var(--gray-soft); }
  .tab[aria-current='page']:hover { background: var(--primary-soft); }
  .nav-label-short { display: none; }
  .nav-label-long { display: inline; }
  .rail-brand {
    display: flex;
    align-items: center;
    padding: var(--space-2) var(--space-8) var(--space-6);
    color: var(--text-dim);
    text-decoration: none;
  }
  .rail-brand:hover { text-decoration: none; color: var(--primary); }
  .rail-burger {
    position: relative;
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-md);
    transition: background var(--dur-fast) var(--ease-smooth);
  }
  .rail-burger i {
    position: absolute;
    left: 11px;
    width: 18px;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    transform-origin: right center;
    transition: transform var(--dur-base) var(--ease-spring),
      opacity var(--dur-fast) var(--ease-smooth);
  }
  .rail-burger i:nth-child(1) { top: 14px; }
  .rail-burger i:nth-child(2) { top: 19px; }
  .rail-burger i:nth-child(3) { top: 24px; }
  body.rail-collapsed .rail-burger i:nth-child(1) { transform: translateY(5px) rotate(45deg) scaleX(0.5); }
  body.rail-collapsed .rail-burger i:nth-child(2) { transform: scaleX(0.2); opacity: 0; }
  body.rail-collapsed .rail-burger i:nth-child(3) { transform: translateY(-5px) rotate(-45deg) scaleX(0.5); }
  .tab-create .nav-icon,
  .tab-log .nav-icon {
    width: 23px;
    height: 23px;
    padding: 0;
    background: none;
    box-shadow: none;
  }
  .tab-create .nav-icon { color: var(--primary); }
  .tab-log .nav-icon { color: var(--red); }
  .tab[aria-current='page'] { box-shadow: inset 3px 0 0 var(--primary); }
  .tab-more { display: none; }
  .tabbar .nav-sheet {
    position: static;
    display: flex;
    max-height: none;
    overflow: visible;
    padding: var(--space-2) var(--space-4);
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: none;
    animation: none;
  }
  .nav-sheet-row { min-height: 34px; font-size: var(--text-body); gap: var(--space-12); padding: 0 var(--space-12); }
  .nav-sheet-row .nav-icon { width: 20px; height: 20px; }
  .nav-section-head { padding: var(--space-6) var(--space-14) var(--space-2); }
  .nav-sheet-row[aria-current='page'] { box-shadow: inset 3px 0 0 var(--primary); }
  .nav-rail-only { display: flex; }
  .nav-phone-only { display: none !important; }
  .nav-scrim { display: none; }
  body.has-tabbar { padding-bottom: 0; padding-left: var(--rail-w); }
  .topbar { padding-left: var(--space-24); }
  body.rail-collapsed { --rail-w: var(--rail-w-collapsed); }
  .tabbar,
  body.has-tabbar {
    transition: width var(--dur-base) var(--ease-smooth), padding-left var(--dur-base) var(--ease-smooth);
  }
  body:not(.rail-ready) .tabbar,
  body:not(.rail-ready).has-tabbar { transition: none; }
  .rail-brand {
    width: 100%;
    background: none;
    border: 0;
    box-shadow: none;
    cursor: pointer;
    font-family: var(--font);
    text-align: left;
    overflow: hidden;
  }
  .rail-brand:hover .rail-burger { background: var(--gray-soft); }
  .rail-brand:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
  body.rail-collapsed .tab .nav-label,
  body.rail-collapsed .nav-sheet-row .nav-label,
  body.rail-collapsed .nav-section-head {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  body.rail-collapsed .tabbar { padding-left: var(--space-8); padding-right: var(--space-8); }
  body.rail-collapsed .tab,
  body.rail-collapsed .nav-sheet-row,
  body.rail-collapsed .rail-brand {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    gap: 0;
  }
  body.rail-collapsed .nav-section-head { margin: 0; }
  body.rail-collapsed .tab,
  body.rail-collapsed .nav-sheet-row { height: 38px; min-height: 38px; }
  body.rail-collapsed .rail-brand { padding-top: var(--space-2); padding-bottom: var(--space-8); }
  body.rail-collapsed .tabbar { padding-top: var(--space-10); padding-bottom: var(--space-10); }
  body.rail-collapsed .nav-desk-head { margin: 0; }
  body.rail-collapsed .tab .nav-icon,
  body.rail-collapsed .nav-sheet-row .nav-icon {
    transform-origin: center;
    transition: transform var(--dur-fast) var(--ease-smooth);
    will-change: transform;
  }
  body:not(.rail-collapsed) .tab .nav-icon,
  body:not(.rail-collapsed) .nav-sheet-row .nav-icon { transform: none; }
  .dock-label {
    position: fixed;
    z-index: var(--z-dropdown);
    pointer-events: none;
    transform: translateY(-50%);
    padding: var(--space-6) var(--space-10);
    border-radius: var(--radius-sm);
    background: rgba(33, 25, 21, 0.93);
    color: #fff;
    font-size: var(--text-small);
    white-space: nowrap;
    box-shadow: var(--shadow-md);
    opacity: 0;
    transition: opacity var(--dur-fast) var(--ease-smooth);
  }
  .dock-label.is-on { opacity: 1; }
  @media (prefers-reduced-transparency: reduce) {
    .dock-label { background: #211915; }
  }
  @media (prefers-reduced-motion: reduce) {
    .tabbar,
    body.has-tabbar,
    .pick-bar,
    .rail-burger i { transition: none; }
  }
  .topbar .brand { display: none; }
  .topbar-title { font-weight: var(--weight-strong); font-size: var(--text-lead); letter-spacing: var(--track-tight); }
}
.dock-edge,
.dock-handle,
.dock-hi { display: none; }
@media (prefers-reduced-motion: reduce) {
  :root body.dock .dock-hi { display: none; }
}
@media (min-width: 900px) {
  body.dock {
    --rail-w: 0px;
    --dock-inset: 12px;
    --dock-gap: 4px;
    --dock-tile: clamp(32px, calc((100vh - 104px) / 23), 56px);
    --dock-glass: rgba(255, 250, 244, 0.55);
    --dock-rim: rgba(255, 255, 255, 0.75);
    --dock-pane: rgba(255, 255, 255, 0.35);
    --dock-glyph: #4a3a31;
  }
  :root[data-theme='dark'] body.dock {
    --dock-glass: rgba(30, 22, 18, 0.5);
    --dock-rim: rgba(255, 255, 255, 0.16);
    --dock-pane: rgba(255, 255, 255, 0.06);
    --dock-glyph: #efe4da;
  }
  body.dock.has-tabbar { padding-left: 0; }
  body.dock #nav-rail {
    top: 50%;
    bottom: auto;
    left: var(--dock-inset);
    width: auto;
    height: auto;
    max-height: calc(100vh - 24px);
    padding: 10px 9px;
    gap: var(--dock-gap);
    overflow: visible;
    border: 1px solid var(--dock-rim);
    border-radius: 26px;
    background: var(--dock-glass);
    backdrop-filter: blur(22px) saturate(1.7);
    -webkit-backdrop-filter: blur(22px) saturate(1.7);
    box-shadow: 0 18px 50px rgba(20, 12, 8, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.35);
    transform: translate(calc(-100% - 28px), -50%);
    opacity: 0;
    visibility: hidden;
    transition:
      transform var(--dur-slow) var(--ease-spring),
      opacity var(--dur-base) var(--ease-smooth),
      visibility var(--dur-slow) step-end;
  }
  body.dock.dock-open #nav-rail {
    transform: translate(0, -50%);
    opacity: 1;
    visibility: visible;
    transition:
      transform var(--dur-slow) var(--ease-spring),
      opacity var(--dur-base) var(--ease-smooth);
  }
  body.dock .tabbar .nav-label { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  body.dock .tabbar .rail-brand { display: none; }
  body.dock .tabbar .tab-row,
  body.dock .tabbar .nav-sheet { gap: var(--dock-gap); padding: 0; border: 0; background: none; }
  body.dock .tabbar .nav-sheet > :not(.sheet-grip),
  body.dock .tabbar .nav-more-wrap { display: flex; flex-direction: column; gap: var(--dock-gap); }
  body.dock .tabbar .nav-section-head,
  body.dock .tabbar .nav-desk-head {
    height: 1px;
    min-height: 0;
    margin: var(--space-4) var(--space-6);
    padding: 0;
    overflow: hidden;
    font-size: 0;
    color: transparent;
    background: color-mix(in oklab, var(--dock-glyph) 22%, transparent);
    transform-origin: center;
    will-change: transform;
  }
  body.dock .tabbar .tab,
  body.dock .tabbar .nav-sheet-row {
    --tile: var(--primary);
    --dock-i: 0;
    position: relative;
    flex: none;
    justify-content: center;
    width: var(--dock-tile);
    height: var(--dock-tile);
    min-height: 0;
    padding: 0;
    gap: 0;
    border-radius: 29%;
    color: var(--dock-glyph);
    background:
      radial-gradient(120% 60% at 50% 105%, rgba(255, 255, 255, 0.38), transparent 60%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.04) 50%, rgba(255, 255, 255, 0.1)),
      var(--dock-pane);
    backdrop-filter: saturate(1.8) brightness(1.08) contrast(1.1);
    -webkit-backdrop-filter: saturate(1.8) brightness(1.08) contrast(1.1);
    border: 1px solid var(--dock-rim);
    box-shadow:
      0 4px 10px rgba(20, 12, 8, 0.2),
      inset 1.5px 1.5px 0 rgba(255, 255, 255, 0.75),
      inset -1px -1px 0 rgba(255, 255, 255, 0.25),
      inset 0 -6px 10px rgba(255, 255, 255, 0.18);
    transform-origin: left center;
    transition: scale var(--dur-fast) var(--ease-spring), color var(--dur-base) var(--ease-smooth), background-color var(--dur-base) var(--ease-smooth);
    will-change: transform;
  }
  body.dock .tabbar .tab:hover,
  body.dock .tabbar .nav-sheet-row:hover,
  body.dock .tabbar .tab:focus-visible,
  body.dock .tabbar .nav-sheet-row:focus-visible {
    color: var(--tile);
    background-color: rgba(255, 255, 255, 0.22);
  }
  :root[data-theme='dark'] body.dock .tabbar .tab:hover,
  :root[data-theme='dark'] body.dock .tabbar .nav-sheet-row:hover,
  :root[data-theme='dark'] body.dock .tabbar .tab:focus-visible,
  :root[data-theme='dark'] body.dock .tabbar .nav-sheet-row:focus-visible { color: color-mix(in oklab, var(--tile) 70%, #fff); }
  body.dock .tabbar .tab::before,
  body.dock .tabbar .nav-sheet-row::before {
    content: '';
    position: absolute;
    inset: 2px 3px 48% 3px;
    border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.05));
    pointer-events: none;
  }
  :root[data-theme='dark'] body.dock .tabbar .tab::before,
  :root[data-theme='dark'] body.dock .tabbar .nav-sheet-row::before {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0));
  }
  body.dock .tabbar .nav-icon { position: relative; filter: drop-shadow(0 1px 1px rgba(20, 12, 8, 0.25)); }
  body.dock .tabbar .tab:active,
  body.dock .tabbar .nav-sheet-row:active { scale: 0.88; }
  body.dock .tabbar .tab:focus-visible,
  body.dock .tabbar .nav-sheet-row:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
  body.dock .tabbar a > span:not(.nav-label) {
    display: flex;
    position: relative;
    width: 60%;
    height: 60%;
  }
  body.dock .tabbar a > span:not(.nav-label) > .nav-icon { width: 100%; height: 100%; }
  body.dock .tabbar .nav-icon {
    width: 60%;
    height: 60%;
    padding: 0;
    color: inherit;
    background: none;
    box-shadow: none;
  }
  body.dock .tabbar [aria-current='page'] { border-color: color-mix(in oklab, var(--tile) 70%, transparent); }
  body.dock .tabbar [aria-current='page']::after {
    content: '';
    position: absolute;
    left: -8px;
    top: 50%;
    width: 5px;
    height: 5px;
    margin-top: -2.5px;
    border-radius: 50%;
    background: var(--tile);
    box-shadow: 0 0 6px var(--tile);
  }
  body.dock .dock-hi {
    --dock-hi-tint: var(--primary);
    --dock-hi-a: var(--dock-hi-tint);
    --dock-hi-b: var(--dock-hi-tint);
    --dock-hi-bed: 4px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: calc(var(--dock-tile) + 2 * var(--dock-hi-bed));
    height: calc(var(--dock-tile) + 2 * var(--dock-hi-bed));
    border-radius: calc(var(--dock-tile) * 0.29 + var(--dock-hi-bed));
    pointer-events: none;
    transform-origin: 50% 50%;
    opacity: 0;
    background:
      radial-gradient(38% 30% at 24% 17%, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0) 70%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.9 0 0 0 -0.32'/%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23f)'/%3E%3C/svg%3E"),
      linear-gradient(180deg, rgba(255, 255, 255, 0.66), rgba(255, 255, 255, 0.3) 46%, rgba(255, 255, 255, 0.44));
    box-shadow:
      inset 1.5px 1.5px 0 rgba(255, 255, 255, 0.9),
      inset -1px -1px 0 rgba(255, 255, 255, 0.28),
      0 6px 14px -8px rgba(20, 12, 8, 0.45);
    will-change: transform, opacity;
  }
  body.dock .dock-hi::before,
  body.dock .dock-hi::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    opacity: 0;
    background: radial-gradient(78% 46% at 50% 100%, color-mix(in oklab, var(--dock-hi-a) 62%, transparent), transparent 74%);
    transition: opacity var(--dur-base) var(--ease-smooth);
    will-change: opacity;
  }
  body.dock .dock-hi::after {
    background: radial-gradient(78% 46% at 50% 100%, color-mix(in oklab, var(--dock-hi-b) 62%, transparent), transparent 74%);
  }
  body.dock .dock-hi[data-lit='a']::before,
  body.dock .dock-hi[data-lit='b']::after { opacity: 1; }
  :root[data-theme='dark'] body.dock .dock-hi {
    background:
      radial-gradient(38% 30% at 24% 17%, rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0) 70%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.45 0 0 0 -0.2'/%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23f)'/%3E%3C/svg%3E"),
      linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.07) 46%, rgba(255, 255, 255, 0.12));
    box-shadow:
      inset 1.5px 1.5px 0 rgba(255, 255, 255, 0.42),
      inset -1px -1px 0 rgba(255, 255, 255, 0.1),
      0 6px 16px -8px rgba(0, 0, 0, 0.7);
  }
  :root[data-theme='dark'] body.dock .dock-hi::before {
    background: radial-gradient(78% 46% at 50% 100%, color-mix(in oklab, var(--dock-hi-a) 66%, transparent), transparent 76%);
  }
  :root[data-theme='dark'] body.dock .dock-hi::after {
    background: radial-gradient(78% 46% at 50% 100%, color-mix(in oklab, var(--dock-hi-b) 66%, transparent), transparent 76%);
  }
  @media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.dock #nav-rail,
    body.dock #nav-rail * { cursor: none; }
  }
  body.dock.dock-open .tabbar .tab,
  body.dock.dock-open .tabbar .nav-sheet-row {
    animation: dock-tile-in 520ms var(--ease-spring) both;
    animation-delay: calc(var(--dock-i, 0) * 16ms);
  }
  @keyframes dock-tile-in {
    from { translate: -18px 0; opacity: 0; }
  }
  body.dock .tabbar .tab:hover .nav-icon,
  body.dock .tabbar .nav-sheet-row:hover .nav-icon { animation: dock-glyph-hop 480ms var(--ease-spring); }
  @keyframes dock-glyph-hop {
    40% { translate: 0 -12%; rotate: -6deg; }
  }
  body.dock .dock-label {
    padding: var(--space-6) var(--space-12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    font-weight: var(--weight-strong);
    left: 0;
    top: 0;
    translate: -6px 0;
    transition: opacity var(--dur-fast) var(--ease-smooth), translate var(--dur-base) var(--ease-spring);
  }
  body.dock .dock-label.is-on { translate: 0 0; }
  body.dock .dock-edge {
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 20px;
    z-index: 49;
  }
  body.dock .dock-handle {
    display: block;
    position: fixed;
    left: 0;
    top: 50%;
    width: 7px;
    height: 72px;
    margin-top: -36px;
    padding: 0;
    border: 0;
    border-radius: 0 7px 7px 0;
    background: linear-gradient(180deg, #e0894f, var(--primary));
    opacity: 0.55;
    z-index: 49;
    cursor: pointer;
    transition: width var(--dur-fast) var(--ease-spring), opacity var(--dur-fast) var(--ease-smooth);
  }
  body.dock .dock-handle:hover,
  body.dock .dock-handle:focus-visible { width: 12px; opacity: 1; }
  body.dock .dock-handle[data-alert='warn'] {
    opacity: 1;
    background: var(--amber);
    box-shadow: 0 0 10px 1px var(--amber);
  }
  body.dock .dock-handle[data-alert='bad'] {
    opacity: 1;
    width: 9px;
    background: var(--red);
    box-shadow: 0 0 12px 2px var(--red);
    animation: dock-handle-alarm 2.4s var(--ease-smooth) infinite;
  }
  @keyframes dock-handle-alarm {
    0%, 100% { box-shadow: 0 0 6px 0 var(--red); }
    50% { box-shadow: 0 0 18px 4px var(--red); }
  }
  @media (prefers-reduced-motion: reduce) {
    body.dock .dock-handle[data-alert='bad'] { animation: none; }
  }
  body.dock.dock-open .dock-handle { opacity: 0; pointer-events: none; }
  body.dock.dock-open .dock-edge { width: max(var(--dock-inset), 20px); }
  body.dock .tabbar a[href='/home.html'] { --tile: #e8a019; }
  body.dock .tabbar a[href='/dashboard.html'] { --tile: #c8582a; }
  body.dock .tabbar a[href='/po-new.html'] { --tile: #2e9e57; }
  body.dock .tabbar a[href='/responsibilities.html'] { --tile: #2f74d6; }
  body.dock .tabbar a[href='/quick.html'] { --tile: #2f74d6; }
  body.dock .tabbar a[href='/rejections.html'] { --tile: #d93a35; }
  body.dock .tabbar a[href='/today.html'] { --tile: #f07e22; }
  body.dock .tabbar a[href='/jobwork.html'] { --tile: #139c9c; }
  body.dock .tabbar a[href='/shortages.html'] { --tile: #8452e8; }
  body.dock .tabbar a[href='/store.html'] { --tile: #9a7330; }
  body.dock .tabbar a[href='/inspections.html'] { --tile: #0f9f74; }
  body.dock .tabbar a[href='/mail.html'] { --tile: #2e98dc; }
  body.dock .tabbar a[href='/batch.html'] { --tile: #5a5ee6; }
  body.dock .tabbar a[href='/sheet-nest.html'] { --tile: #0b93b3; }
  body.dock .tabbar a[href='/documents.html'] { --tile: #5f6f86; }
  body.dock .tabbar a[href='/tank.html'] { --tile: #d02f78; }
  body.dock .tabbar a[href='/parts.html'] { --tile: #5f9a12; }
  body.dock .tabbar a[href='/planning.html'] { --tile: #8b34d8; }
  body.dock .tabbar a[href='/analytics.html'] { --tile: #3a55c9; }
  body.dock .tabbar a[href='/owner.html'] { --tile: #c99312; }
  body.dock .tabbar a[href='/accounts.html'] { --tile: #07875d; }
  body.dock .tabbar a[href='/admin.html'] { --tile: #626873; }
  @media (prefers-reduced-motion: reduce) {
    body.dock #nav-rail,
    body.dock.dock-open #nav-rail,
    body.dock .dock-label { transition: opacity var(--dur-fast) linear; }
    body.dock.dock-open .tabbar .tab,
    body.dock.dock-open .tabbar .nav-sheet-row,
    body.dock .tabbar .tab:hover .nav-icon,
    body.dock .tabbar .nav-sheet-row:hover .nav-icon { animation: none; }
  }
  @media (prefers-reduced-transparency: reduce) {
    body.dock { --dock-glass: #f6efe8; }
    :root[data-theme='dark'] body.dock { --dock-glass: #1e1612; }
  }
}
@media print {
  .tabbar, .nav-scrim { display: none !important; }
  body.has-tabbar { padding-left: 0; padding-bottom: 0; }
}
@media (pointer: coarse) {
  button,
  input,
  select,
  textarea,
  a.button,
  a.nav-back {
    min-height: 44px;
  }
  button.small,
  .chip {
    padding: 11px 16px;
    font-size: var(--text-small);
  }
  input[type='checkbox'],
  input[type='radio'] {
    width: 28px;
    height: 28px;
    min-height: 28px;
    outline-offset: 8px;
  }
  .step .circle[role="button"] {
    position: relative;
  }
  .step .circle[role="button"]::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 44px;
    height: 44px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
  }
  .today-row-main a {
    position: relative;
  }
  .today-row-main a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 44px;
    transform: translateY(-50%);
  }
  .text-btn {
    min-height: 0;
  }
  .notif-bell-btn {
    width: 44px;
    height: 44px;
  }
}
.tr-line {
  display: flex;
  align-items: baseline;
  gap: var(--space-8);
  flex-wrap: wrap;
  padding: var(--space-2) 0;
}
.tr-line + .tr-line { border-top: 1px dashed var(--border); }
.tr-qty {
  font-weight: var(--weight-strong);
  font-variant-numeric: tabular-nums;
  min-width: 2.4ch;
  text-align: right;
}
.tr-route { white-space: nowrap; font-weight: var(--weight-medium); }
.tr-arrow { color: var(--text-dim); padding: 0 var(--space-2); }
.tr-cancelled td { color: var(--text-dim); }
.tr-cancelled td:first-child strong { text-decoration: line-through; }
.tr-not-here { background: var(--surface-2); }
.tr-not-here input, .tr-not-here select, .tr-not-here button { opacity: 0.45; pointer-events: none; }
.tr-actions {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  flex-wrap: wrap;
  margin-top: var(--space-18);
}
.tr-qty-in { width: 92px; min-width: 92px; margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.q-unit-ask {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-10);
  align-items: center;
  margin: var(--space-12) 0 var(--space-4);
  padding: var(--space-12);
  border: 1px solid var(--amber);
  border-radius: 12px;
  background: var(--amber-soft);
}
.q-unit-q { flex: 1 1 100%; font-weight: var(--weight-bold); color: var(--text); }
.q-unit-btn { flex: 1 1 auto; min-width: 120px; }
.q-unit-btn.is-picked { outline: 3px solid var(--primary); outline-offset: 2px; }
.split-tag {
  margin-left: var(--space-6);
  padding: 2px 9px;
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-variant-numeric: tabular-nums;
}
.insp-stage { padding: var(--space-14) 0; border-top: 1px solid var(--border); }
.insp-stage:first-of-type { border-top: 0; padding-top: 0; }
.insp-stage-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-12); }
.insp-points { margin: var(--space-10) 0 0; padding-left: var(--space-22); display: flex; flex-direction: column; gap: var(--space-8); }
.insp-points li { display: flex; align-items: center; gap: var(--space-8); }
.insp-points .insp-label { flex: 1 1 auto; margin: 0; }
.insp-add { display: flex; gap: var(--space-8); margin-top: var(--space-10); }
.insp-add input { flex: 1 1 auto; margin: 0; }
.insp-add button { flex: 0 0 auto; width: auto; margin: 0; }
.insp-panel:not(:empty) { margin-top: var(--space-18); padding-top: var(--space-16); border-top: 1px solid var(--border); }
.insp-unsigned { color: var(--amber); }
.insp-reports { display: flex; flex-direction: column; gap: var(--space-8); margin: var(--space-10) 0 var(--space-14); }
.insp-report {
  padding: var(--space-10) var(--space-12);
  border-radius: 10px;
  background-image: linear-gradient(var(--green-soft), var(--green-soft));
  background: color-mix(in srgb, var(--green) 7%, transparent);
}
.insp-report.bad { background-image: linear-gradient(var(--red-soft), var(--red-soft)); background: color-mix(in srgb, var(--red) 7%, transparent); }
.insp-report-head { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-10); align-items: baseline; justify-content: space-between; }
.insp-failed { margin-top: var(--space-4); font-size: var(--text-small); color: var(--red); font-weight: var(--weight-medium); }
.insp-pages {
  display: block;
  margin-top: var(--space-4);
  font-size: var(--text-micro);
  color: var(--text-dim);
}
.insp-nothing {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  padding: var(--space-12);
  background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  background: var(--amber-soft);
  border-radius: 10px;
  font-size: var(--text-small);
  margin: var(--space-10) 0;
}
.insp-sheets { margin: var(--space-10) 0 var(--space-14); }
.insp-sheets-head {
  font-size: var(--text-micro);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-dim);
  margin-bottom: var(--space-6);
}
.insp-sheet-row,
.is-sheet-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4) var(--space-10);
  padding: var(--space-8) 0;
  font-size: var(--text-small);
  border-top: 1px solid var(--border);
}
.insp-sheet-row:first-of-type,
.is-sheet-row:first-of-type { border-top: 0; }
.insp-sheet-row > span:first-child,
.is-sheet-what { flex: 1 1 auto; min-width: 0; }
.insp-checks { list-style: none; margin: var(--space-12) 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.insp-checks li {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6) var(--space-16);
  align-items: center;
  justify-content: space-between;
  padding: var(--space-8) var(--space-10);
  border-radius: 8px;
}
.insp-checks li:nth-child(odd) { background: color-mix(in srgb, var(--text) 3%, transparent); }
.insp-check-label { flex: 1 1 200px; font-weight: var(--weight-medium); }
.insp-check-answers { display: flex; gap: var(--space-14); flex: 0 0 auto; }
.insp-check-answers label {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  margin: 0;
  font-weight: var(--weight-medium);
  cursor: pointer;
}
.insp-check-answers input { margin: 0; width: auto; }
.unit-ask {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-10);
  align-items: center;
  margin: var(--space-12) 0;
  padding: var(--space-12);
  border: 1px solid var(--amber);
  border-radius: 12px;
  background: var(--amber-soft);
}
.unit-ask-q { flex: 1 1 100%; font-weight: var(--weight-bold); color: var(--text); }
.unit-ask-btn { width: auto; margin: 0; flex: 0 1 auto; min-width: 130px; }
@media (pointer: coarse) {
  .insp-check-answers label { min-height: 44px; padding: 0 var(--space-4); }
  .insp-check-answers input { width: 22px; height: 22px; }
  .insp-checks li { padding: var(--space-4) var(--space-10); }
}
@media (pointer: coarse) {
  .chart-head-link,
  .audit-link a[href] {
    position: relative;
  }
  .chart-head-link::after,
  .audit-link a[href]::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 44px;
    transform: translateY(-50%);
  }
  .short-unchecked-list a[href] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  a.attach-file {
    min-height: 44px;
  }
}
.report-body { background: var(--bg); }
.report-toolbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  flex-wrap: wrap;
  padding: var(--space-10) var(--space-16);
  background: var(--panel);
  border-bottom: 1px solid var(--border);
}
.report-toolbar-left, .report-toolbar-right { display: flex; align-items: center; gap: var(--space-10); flex-wrap: wrap; }
:root {
  --rp-title: 20pt;
  --rp-ink: #1a1a1a;
  --rp-ink-strong: #444444;
  --rp-ink-muted: #555555;
  --rp-ink-faint: #8c8c8c;
  --rp-rule: #c9c4bb;
  --rp-wash: #e6e2da;
  --rp-fill: #f4f4f2;
  --rp-paper: #ffffff;
  --rp-alarm: #a11111;
  --rp-warn: #a3400f;
  --rp-good: #0f6b31;
  --rp-figure: 15pt;
  --rp-head: 12.5pt;
  --rp-body: 10.5pt;
  --rp-data: 9pt;
  --rp-label: 7.5pt;
}
.rp-sheet {
  max-width: min(1400px, 100%);
  margin: var(--space-16) auto;
  padding: 14mm 14mm 12mm;
  background: var(--rp-paper);
  color: var(--rp-ink);
  box-shadow: var(--shadow-md);
  font-size: var(--rp-body);
  line-height: 1.45;
}
.rp-sheet h1 { font-size: var(--rp-title); margin: 0; letter-spacing: var(--track-tight); }
.rp-sheet h2 { font-size: var(--rp-head); margin: var(--space-18) 0 var(--space-8); padding-bottom: var(--space-4); border-bottom: 1.5px solid var(--rp-ink); }
.rp-sheet h3 { font-size: var(--rp-body); margin: var(--space-14) 0 var(--space-6); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--rp-ink-strong); }
.rp-sub { color: var(--rp-ink-muted); margin-top: var(--space-2); }
.rp-masthead { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-20); }
.rp-stamp { text-align: right; font-size: var(--rp-data); color: var(--rp-ink-muted); font-variant-numeric: tabular-nums; }
.rp-serial { font-weight: var(--weight-strong); color: var(--rp-ink); letter-spacing: var(--track-caps); }
.rp-rebuilt { margin-top: var(--space-4); font-weight: var(--weight-bold); color: var(--rp-warn); max-width: 58mm; }
.rp-frozen {
  margin: var(--space-10) 0 var(--space-14);
  padding: var(--space-6) var(--space-10);
  border-left: 3px solid var(--rp-ink);
  background: var(--rp-fill);
  font-size: var(--rp-data);
  color: var(--rp-ink-strong);
}
.rp-note { margin: 0 0 var(--space-14); padding: var(--space-10) var(--space-12); background: var(--rp-fill); border: 1px solid var(--rp-wash); }
.rp-note p { margin: 0 0 var(--space-8); }
.rp-note p:last-child { margin-bottom: 0; }
.rp-note-missing { background: var(--rp-paper); border-style: dashed; color: var(--rp-ink-muted); }
.rp-counts { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid var(--rp-rule); }
.rp-count { flex: 1 1 0; min-width: 62px; padding: var(--space-8) var(--space-8); border-right: 1px solid var(--rp-wash); }
.rp-count:last-child { border-right: 0; }
.rp-count-n { display: block; font-size: var(--rp-figure); font-weight: var(--weight-strong); font-variant-numeric: tabular-nums; line-height: 1.1; }
.rp-count-l { display: block; font-size: var(--rp-label); color: var(--rp-ink-muted); text-transform: uppercase; letter-spacing: var(--track-caps-print); }
.rp-count.is-zero .rp-count-n { color: var(--rp-ink-faint); }
.rp-scroll {
  overflow-x: auto;
  margin: var(--space-6) 0 var(--space-4);
  overscroll-behavior-x: contain;
}
.rp-scroll > .rp-table { margin: 0; }
.rp-table { width: 100%; border-collapse: collapse; margin: var(--space-6) 0 var(--space-4); font-size: var(--rp-data); }
.rp-table th {
  text-align: left;
  font-size: var(--rp-label);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--rp-ink-strong);
  border-bottom: 1px solid var(--rp-ink);
  padding: var(--space-4) var(--space-6);
  white-space: nowrap;
}
.rp-table td { padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--rp-wash); vertical-align: top; }
.rp-table tfoot td { border-top: 1.5px solid var(--rp-ink); border-bottom: 0; }
.rp-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rp-table th.rp-num { text-align: right; }
.rp-none { font-size: var(--rp-label); color: var(--rp-ink-muted); }
.rp-lead { margin: var(--space-4) 0 var(--space-8); color: var(--rp-ink-strong); }
.rp-footnote { margin: var(--space-6) 0 0; font-size: var(--rp-label); color: var(--rp-ink-muted); line-height: 1.4; }
.rp-empty { margin: var(--space-6) 0; padding: var(--space-8) var(--space-10); background: var(--rp-fill); color: var(--rp-ink-muted); font-size: var(--rp-data); }
.rp-agenda { margin: var(--space-6) 0 0; padding-left: var(--space-20); }
.rp-agenda li { margin-bottom: var(--space-8); padding-left: var(--space-4); }
.rp-where { font-size: var(--rp-label); color: var(--rp-ink-muted); text-transform: uppercase; letter-spacing: var(--track-caps-print); }
.rp-clause {
  display: inline-block;
  min-width: 13px;
  padding: 0 var(--space-4);
  border: 1px solid var(--rp-ink);
  border-radius: 3px;
  font-size: var(--rp-label);
  font-weight: var(--weight-strong);
  text-align: center;
  text-transform: lowercase;
}
.rp-contest { margin-bottom: var(--space-14); }
.rp-contest-head { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-14); align-items: baseline; justify-content: space-between; font-size: var(--rp-data); }
.rp-contest-head span { color: var(--rp-ink-muted); }
.rp-verdict { font-weight: var(--weight-strong); font-size: var(--rp-data); letter-spacing: var(--track-caps-print); }
.rp-ready { color: var(--rp-good); }
.rp-short { color: var(--rp-warn); }
.rp-nothing { color: var(--rp-alarm); }
.rp-late { font-size: var(--rp-label); font-weight: var(--weight-strong); color: var(--rp-alarm); text-transform: uppercase; }
.rp-verdict.rp-held { color: var(--held); font-weight: var(--weight-strong); }
.rp-flag { font-size: var(--rp-label); font-weight: var(--weight-strong); color: var(--rp-warn); text-transform: uppercase; letter-spacing: var(--track-caps-print); }
.rp-contended td { background: #fdf6ef; }
.rp-unit-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-14); border-bottom: 1.5px solid var(--rp-ink); margin-top: var(--space-18); }
.rp-unit-head h2 { border: 0; margin: 0; }
.rp-unit-head span { font-size: var(--rp-data); color: var(--rp-ink-muted); }
.rp-picklist .rp-tick { width: 20px; text-align: center; }
.rp-box { display: inline-block; width: 10px; height: 10px; border: 1.2px solid var(--rp-ink); }
.rp-write { width: 62px; }
.rp-picklist td.rp-write { border-bottom: 1px solid var(--rp-ink); }
.rp-bandcell { text-transform: uppercase; font-size: var(--rp-label); font-weight: var(--weight-strong); letter-spacing: var(--track-caps-print); white-space: nowrap; }
.rp-band-high .rp-bandcell { color: var(--rp-alarm); }
.rp-band-medium .rp-bandcell { color: var(--rp-warn); }
.rp-band-low .rp-bandcell { color: var(--rp-ink-muted); }
.rp-band-high td { background: #fdf3f2; }
.rp-plain { margin: var(--space-4) 0; padding-left: var(--space-18); font-size: var(--rp-data); }
.rp-plain li { margin-bottom: var(--space-4); }
.rp-rule { margin: var(--space-6) 0; font-size: var(--rp-data); }
.rp-rule dt { font-weight: var(--weight-strong); text-transform: uppercase; font-size: var(--rp-label); letter-spacing: var(--track-caps); margin-top: var(--space-8); }
.rp-rule dd { margin: var(--space-4) 0 0 0; }
.rp-rule dd ul { margin: var(--space-2) 0; padding-left: var(--space-18); }
.rp-rule dd li { margin-bottom: var(--space-4); }
@media print {
  .report-toolbar { display: none !important; }
  .report-body { background: #fff; }
  .rp-sheet {
    max-width: none;
    margin: 0;
    padding: 12mm 12mm 10mm;
    box-shadow: none;
  }
  .rp-break { page-break-before: always; break-before: page; }
  .rp-scroll { overflow-x: visible; }
  .rp-table { page-break-inside: auto; }
  .rp-table tr { page-break-inside: avoid; break-inside: avoid; }
  .rp-table thead { display: table-header-group; }
  .rp-contest, .rp-counts, .rp-note { page-break-inside: avoid; break-inside: avoid; }
  h2, h3 { page-break-after: avoid; break-after: avoid; }
}
.nav-section-head {
  padding: var(--space-6) var(--space-14) var(--space-2);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  color: var(--text-faint);
}
.nav-more-wrap { position: relative; }
.nav-extra { display: none; }
@media (max-width: 899.98px) {
  .nav-more-wrap.is-open .nav-extra {
    display: block;
    position: absolute;
    bottom: calc(100% + var(--space-6));
    left: var(--space-8);
    right: var(--space-8);
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    padding: var(--space-6);
    z-index: 3;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .nav-more-wrap.is-open .nav-extra,
  .nav-fab-menu:not([hidden]) {
    transform-origin: bottom center;
    animation: pop-rise var(--dur-fast) var(--ease-smooth);
  }
  .notif-dropdown {
    transform-origin: top right;
    animation: pop-drop var(--dur-fast) var(--ease-smooth);
  }
}
@keyframes pop-rise {
  from { opacity: 0; transform: scale(0.96) translateY(4px); }
}
@keyframes pop-drop {
  from { opacity: 0; transform: scale(0.96) translateY(-4px); }
}
.nav-more-chev {
  margin-left: auto;
  transition: transform var(--dur-fast) var(--ease-smooth);
  color: var(--text-dim);
}
.nav-more-wrap.is-open .nav-more-chev { transform: rotate(-90deg); }
.nav-more-toggle { width: 100%; }
.nav-desk-head { display: none; }
@media (min-width: 900px) {
  .nav-more-toggle { display: none; }
  .nav-extra { display: block; }
  .nav-desk-head { display: block; }
}
.section-tabs {
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin: 0 0 var(--space-20);
  padding: var(--space-4);
  background: var(--gray-soft);
  border-radius: 12px;
}
.section-tab {
  flex: 1 1 auto;
  min-width: 120px;
  padding: var(--space-8) var(--space-14);
  border-radius: 9px;
  text-decoration: none;
  color: var(--text-dim);
  line-height: 1.25;
  transition: background var(--dur-fast) var(--ease-smooth), color var(--dur-fast) var(--ease-smooth);
}
.section-tab:hover { background: var(--primary-soft); color: var(--text); }
.section-tab.is-here {
  background: var(--panel);
  color: var(--text);
  box-shadow: var(--shadow-sm);
}
.section-tab-label { display: block; font-weight: var(--weight-bold); font-size: var(--text-body); }
.section-tab-count {
  display: inline-block;
  margin-left: var(--space-6);
  padding: 0 var(--space-6);
  border-radius: var(--radius-pill);
  background: var(--primary);
  color: var(--on-accent);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  vertical-align: middle;
}
.section-tab-count[hidden] { display: none; }
.ml-lookup-row { display: flex; gap: var(--space-10); flex-wrap: wrap; align-items: center; }
.ml-lookup-in { flex: 1; min-width: 220px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.ml-lookup-none { color: var(--text-dim); padding: var(--space-10) 0; max-width: 68ch; }
.ml-lookup-hit { padding: var(--space-10) 0; }
.ml-lookup-why { color: var(--text-dim); font-size: var(--text-micro); padding-bottom: var(--space-6); }
.ml-lookup-title { font-weight: var(--weight-bold); }
.ml-lookup-why.is-ours { color: var(--amber); font-weight: var(--weight-bold); }
.ml-lookup-why.is-aside { color: var(--text-dim); font-weight: var(--weight-bold); }
.section-tab-hint {
  display: block;
  margin-top: 1px;
  font-size: var(--text-micro);
  color: var(--text-faint);
}
.section-tab.is-here .section-tab-hint { color: var(--text-dim); }
.section-tabs-hint { display: none; }
@media (max-width: 560px) {
  .section-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-bottom: var(--space-12);
  }
  .section-tabs::-webkit-scrollbar {
    display: none;
  }
  .section-tab {
    flex: 0 0 auto;
    min-width: 0;
    white-space: nowrap;
  }
  .section-tabs.has-more-right {
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%);
    mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%);
  }
  .section-tabs.has-more-left {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 28px);
    mask-image: linear-gradient(to right, transparent 0, #000 28px);
  }
  .section-tabs.has-more-left.has-more-right {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
  }
  .section-tab-hint { display: none; }
  .section-tabs-hint {
    display: block;
    margin: calc(-1 * var(--space-8)) 0 var(--space-12);
    font-size: var(--text-small);
    color: var(--text-faint);
    line-height: 1.35;
  }
  .section-tabs-hint:empty { display: none; }
  .page-header {
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: var(--space-12);
    margin-bottom: var(--space-24);
  }
  .today-block { margin-bottom: var(--space-16); }
  .page-header > :first-child {
    min-width: min-content;
  }
  .page-header .quick-search {
    max-width: 150px;
  }
  .page-header > :first-child ~ * {
    max-width: 160px;
  }
  .page-header > .note-card-top {
    max-width: none;
    flex: 1 1 100%;
  }
  .page-header > .plan-date-pick { max-width: none; }
  .page-header.plan-header { flex-wrap: wrap; }
  .page-header .btn,
  .page-header a.btn {
    flex: 0 0 auto;
  }
}
@media (pointer: coarse) {
  .section-tab { min-height: 48px; }
}
@media print {
  .section-tabs { display: none !important; }
}
.short-contended {
  margin: 0 0 var(--space-22);
  padding: var(--space-16) var(--space-18);
  border: 1px solid var(--amber);
  background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  border-radius: 10px;
  background: color-mix(in srgb, var(--amber) 7%, var(--panel));
  --glass-tint: var(--tint-risk);
}
.short-contended-head { display: flex; gap: var(--space-12); align-items: flex-start; }
.short-contended-icon { font-size: var(--text-lead); line-height: 1.35; }
.short-contended-head h2 { margin: 0 0 3px; font-size: var(--text-lead); }
.short-contended-head p { margin: 0; color: var(--text-dim); font-size: var(--text-small); max-width: 70ch; }
.short-contended-row {
  margin-top: var(--space-14);
  padding-top: var(--space-12);
  border-top: 1px solid color-mix(in srgb, var(--amber) 28%, transparent);
}
.short-contended-material { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-10); align-items: baseline; }
.short-contended-orders { margin: 7px 0 0; padding-left: var(--space-18); }
.short-contended-orders li { margin-bottom: 3px; font-size: var(--text-body); }
.short-contended-orders a { font-weight: var(--weight-medium); }
@media (pointer: coarse) {
  .short-contended-orders li { min-height: 34px; display: flex; align-items: center; flex-wrap: wrap; }
}
.lostday-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
  margin: var(--space-10) 0 var(--space-6);
}
.lostday-row select,
.lostday-row input[type='date'] {
  width: auto;
  margin: 0;
  min-width: 130px;
}
.lostday-row button { width: auto; margin: 0; }
@media (pointer: coarse) {
  .lostday-row select,
  .lostday-row input[type='date'],
  .lostday-row button { min-height: 48px; }
}
#toast-stack {
  pointer-events: none;
  bottom: 84px;
}
@media (min-width: 900px) {
  #toast-stack { bottom: 16px; }
}
@media (pointer: coarse) {
  .quick-rework-other > summary,
  .quick-more-fields > summary {
    min-height: 48px;
    display: flex;
    align-items: center;
  }
}
.quick-more-fields {
  margin-top: var(--space-18);
  border-top: 1px solid var(--border);
  padding-top: var(--space-6);
}
.quick-more-fields > summary {
  cursor: pointer;
  padding: var(--space-10) 0;
  font-size: var(--text-body);
  color: var(--text-dim);
  font-weight: var(--weight-medium);
}
.quick-more-fields[open] > summary { margin-bottom: var(--space-6); }
.quick-empty-actions {
  display: flex;
  gap: var(--space-10);
  flex-wrap: wrap;
  justify-content: center;
  margin-top: var(--space-16);
}
.quick-empty-actions button { width: auto; margin: 0; min-width: 140px; }
@media (pointer: coarse) {
  .quick-empty-actions button { min-height: 48px; }
}
.quick-stage-pick > summary.quick-stage-pick-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-10);
  cursor: pointer;
  list-style: none;
}
.quick-stage-pick > summary::-webkit-details-marker { display: none; }
.quick-stage-current { font-weight: var(--weight-bold); }
.quick-stage-change {
  font-size: var(--text-small);
  font-weight: var(--weight-medium);
  color: var(--primary);
  white-space: nowrap;
}
.quick-stage-pick[open] .quick-stage-change { color: var(--text-dim); }
@media (pointer: coarse) {
  .quick-stage-pick > summary.quick-stage-pick-label { min-height: 48px; }
}
.rp-hours {
  display: flex;
  align-items: center;
  gap: 3px;
  margin: var(--space-10) 0 var(--space-6);
  flex-wrap: wrap;
}
.rp-hours-end {
  font-size: var(--text-micro);
  color: var(--text-dim);
  font-variant-numeric: tabular-nums;
}
.rp-hour {
  flex: none;
  width: 15px;
  height: 20px;
  border-radius: 2px;
  background: var(--border);
}
.rp-hour-0 { background: var(--border); }
.rp-hour-1 { background: color-mix(in srgb, var(--primary) 25%, var(--border)); }
.rp-hour-2 { background: color-mix(in srgb, var(--primary) 50%, var(--border)); }
.rp-hour-3 { background: color-mix(in srgb, var(--primary) 75%, var(--border)); }
.rp-hour-4 { background: var(--primary); }
@media print {
  .rp-hour { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
.challan-sub {
  font-size: var(--text-small);
  color: #444;
  margin-top: var(--space-2);
  line-height: 1.35;
}
.challan-cancelled {
  border: 2px solid #a8391a;
  color: #a8391a;
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-caps);
  text-align: center;
  padding: 7px;
  margin: var(--space-10) 0;
  font-size: var(--text-small);
}
@media print {
  .challan-sub { color: #000; }
  .challan-cancelled {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    border-color: #000;
    color: #000;
  }
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-8);
  width: auto;
  margin: 0;
  padding: 11px 18px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--panel);
  color: var(--primary-dark);
  font: inherit;
  font-weight: var(--weight-bold);
  font-size: var(--text-small);
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  box-shadow: var(--shadow-sm), var(--shadow-inset-top);
  transition: transform var(--dur-fast) var(--ease-smooth), box-shadow var(--dur-fast) var(--ease-smooth),
    border-color var(--dur-fast) var(--ease-smooth), color var(--dur-fast) var(--ease-smooth);
}
@media (hover: hover) {
  .btn:hover:not(:disabled) {
    border-color: var(--primary-light);
    color: var(--primary);
    box-shadow: var(--shadow-md), var(--shadow-inset-top);
    transform: translateY(-2px);
  }
}
.btn:active:not(:disabled) { transform: translateY(0); box-shadow: var(--shadow-sm); }
.btn:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
@media (hover: hover) {
  .btn-filled:hover:not(:disabled) {
    border-color: transparent;
    color: var(--on-accent);
    box-shadow: var(--shadow-glow-primary), var(--shadow-md), var(--shadow-inset-top);
  }
}
.q-unit-btn.is-picked { color: var(--primary); }
@media (pointer: coarse) {
  .btn { min-height: 48px; }
}
.store-move > summary {
  color: var(--primary-dark);
  display: flex;
  align-items: center;
  gap: var(--space-8);
  flex-wrap: wrap;
}
.store-move > summary > .fold-label { flex: 0 1 auto; }
.store-move > summary > .badge {
  white-space: normal;
  min-width: 0;
  text-align: left;
}
.store-move > summary::before {
  content: '';
  width: 0;
  height: 0;
  border-left: 5px solid currentColor;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  transition: transform var(--dur-fast) var(--ease-smooth);
  flex: none;
}
.store-move[open] > summary::before { transform: rotate(90deg); }
.store-move > summary:hover { color: var(--primary); }
.store-move { border-color: var(--primary-light); }
@media (pointer: coarse) {
  .store-move > summary { min-height: 48px; }
}
.empty-actions {
  display: flex;
  gap: var(--space-10);
  flex-wrap: wrap;
  justify-content: center;
  margin-top: var(--space-16);
}
@media (pointer: coarse) {
  button.text-btn,
  a.text-btn {
    position: relative;
    min-height: 0;
  }
  button.text-btn::after,
  a.text-btn::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 44px;
    transform: translateY(-50%);
  }
  .bom-row-actions .text-btn + .text-btn {
    margin-top: 17px;
  }
  button.small {
    position: relative;
  }
  button.small::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 44px;
    transform: translateY(-50%);
  }
  a.nav-back {
    position: relative;
  }
  a.nav-back::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 44px;
    transform: translateY(-50%);
  }
  td > a[href] {
    display: inline-block;
    padding-top: 13px;
    padding-bottom: 13px;
  }
  table td {
    padding-top: var(--space-10);
    padding-bottom: var(--space-10);
  }
}
.backup-actions { display: flex; gap: var(--space-8); flex-wrap: wrap; margin-top: var(--space-12); }
.drive-check-result { margin-top: var(--space-10); }
.drive-check-result:empty { margin-top: 0; }
.promise-who .promise-stage,
.promise-stage {
  display: block;
  margin-top: 3px;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  font-size: var(--text-micro);
  color: var(--text-dim);
  line-height: 1.35;
}
.promise-late,
.promise-ontime {
  display: block;
  margin-top: 3px;
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  line-height: 1.35;
  border-bottom: 1px dotted currentColor;
  display: inline-block;
  cursor: help;
}
.promise-late { color: var(--red); }
.promise-ontime { color: var(--text-dim); }
.tab-fab-slot {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  position: relative;
}
.tab-fab {
  margin-top: -18px;
  width: 54px;
  height: 54px;
  flex: none;
  border: 3px solid var(--panel);
  border-radius: 50%;
  background: var(--gradient-primary);
  box-shadow: var(--shadow-glow-primary), var(--shadow-inset-top);
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-smooth);
}
.tab-fab:active { transform: scale(0.94); }
.tab-fab-plus,
.tab-fab-plus::before {
  content: '';
  display: block;
  background: var(--on-accent);
  border-radius: 2px;
  transition: transform var(--dur-base) var(--ease-spring);
}
.tab-fab-plus {
  width: 20px;
  height: 3px;
  position: relative;
  transform: rotate(0deg);
}
.tab-fab-plus::before { position: absolute; inset: 0; transform: rotate(90deg); }
body.nav-fab-open .tab-fab-plus { transform: rotate(135deg); }
.nav-fab-menu {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(61px + env(safe-area-inset-bottom) + 14px);
  z-index: calc(var(--z-sticky) + 1);
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  padding: var(--space-8);
  min-width: 232px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  animation: fab-rise var(--dur-base) var(--ease-spring);
}
.nav-fab-menu[hidden] { display: none; }
@keyframes fab-rise {
  from { opacity: 0; transform: translateX(-50%) translateY(10px) scale(0.96); }
  to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}
.nav-fab-row {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  min-height: 52px;
  padding: var(--space-10) var(--space-14);
  border-radius: var(--radius-md);
  background: var(--surface-2);
  color: var(--text);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  text-decoration: none;
}
.nav-fab-row svg { width: 22px; height: 22px; flex: none; color: var(--primary); }
.nav-fab-row:hover { background: var(--primary-soft); color: var(--primary-dark); }
.nav-fab-row:hover svg { color: var(--primary-dark); }
.nav-fab-row .nav-label-long { display: none; }
.nav-rail-only { display: none; }
@media (min-width: 900px) {
  .tab-fab-slot { display: none; }
  .nav-fab-menu { display: none !important; }
  .nav-rail-only { display: block; }
}
.target-row.none {
  display: block;
  position: relative;
}
.target-row.none .target-num {
  position: absolute;
  top: 12px;
  right: 14px;
  text-align: right;
}
.target-drivers {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  margin-top: var(--space-10);
  padding-top: var(--space-10);
  border-top: 1px dashed var(--border);
}
.target-driver {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: baseline;
  gap: var(--space-10);
}
.target-driver b {
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  color: var(--primary-dark);
  font-variant-numeric: tabular-nums;
}
.target-driver b i { font-style: normal; font-weight: var(--weight-bold); font-size: var(--text-micro); color: var(--text-dim); }
.target-driver.is-late b { color: var(--red); }
.target-driver > span {
  font-size: var(--text-small);
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.target-driver em {
  grid-column: 2;
  font-style: normal;
  font-size: var(--text-micro);
  color: var(--text-dim);
}
.target-driver-more {
  font-size: var(--text-micro);
  color: var(--text-dim);
  padding-left: 68px;
}
.note-card {
  margin-top: var(--space-18);
  padding: var(--space-16) var(--space-18) var(--space-14) var(--space-20);
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-left: 1px solid var(--primary-light);
  border-radius: var(--radius-lg);
}
.note-card[hidden] { display: none; }
.note-card-top {
  margin: 0;
  align-self: start;
  max-width: 24rem;
  padding: var(--space-8) var(--space-12);
  border-left-width: 3px;
}
.note-card-top .note-card-title { font-size: var(--text-small); }
.mailbox-claude {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-8) var(--space-12);
  margin: 0 0 var(--space-12);
}
.mailbox-claude[hidden] { display: none; }
.mailbox-claude-count { color: var(--text-dim); font-size: var(--text-small); }
.note-card-top .note-card-body {
  font-size: var(--text-small);
  margin-top: var(--space-6);
  color: var(--text-dim);
}
@media (max-width: 719px) {
  .note-card-top { max-width: none; width: 100%; }
}
.note-card-summary {
  display: flex;
  align-items: baseline;
  gap: var(--space-8);
  min-height: 44px;
  cursor: pointer;
  list-style: none;
}
.note-card-summary::-webkit-details-marker { display: none; }
.note-card-summary::after {
  content: '\25B8';
  margin-left: auto;
  color: var(--text-faint);
  font-size: var(--text-small);
}
.note-card[open] > .note-card-summary::after { content: '\25BE'; }
.note-card-top .note-card-summary .note-card-title {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (min-width: 720px) {
  .page-header:has(.note-card-top) {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: start;
    gap: var(--space-20);
  }
}
.note-card-head {
  display: flex;
  align-items: baseline;
  gap: var(--space-10);
  flex-wrap: wrap;
}
.note-card-eyebrow {
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  color: var(--primary-dark);
}
.note-card-topic {
  font-size: var(--text-micro);
  color: var(--text-dim);
}
.note-card-topic[hidden] { display: none; }
.note-card-title {
  margin: var(--space-6) 0 var(--space-4);
  font-size: var(--text-lead);
  font-weight: var(--weight-strong);
  color: var(--text);
  text-wrap: balance;
}
.note-card-body {
  margin: 0;
  font-size: var(--text-body);
  line-height: var(--leading-text);
  color: var(--text);
  max-width: 68ch;
}
.note-card-foot {
  margin: var(--space-10) 0 0;
}
.today-note,
.chart-card .chart-sub,
.coverage-note,
.quick-stoppage-hint,
.quick-rework-hint,
.quick-today-hint,
.note-card-foot,
.plan-none-sub,
.sup-compose .sub,
.jw-compose .sub,
.carried-hint {
  color: var(--text-dim);
  font-size: var(--text-small);
  line-height: 1.5;
}
.section-note {
  color: var(--text-dim);
  font-size: var(--text-small);
  max-width: 68ch;
  margin-top: calc(var(--space-8) * -1);
  margin-bottom: var(--space-14);
}
.section-title.spaced { margin-top: var(--space-32); }
.section-title.spaced-block { margin-top: var(--space-32); }
.cap-curve-chart {
  box-shadow: none;
  padding: 0;
  background: none;
}
.cap-curve-chart .chart-wrap { height: 230px; }
.funnel { display: grid; gap: var(--space-8); }
.workable { display: flex; flex-direction: column; }
.workable-row {
  display: grid;
  grid-template-columns: minmax(96px, 28%) 1fr auto;
  grid-template-areas: 'name track figures' 'name units units';
  align-items: center;
  gap: var(--space-6) var(--space-12);
  padding: var(--space-8) 0;
  border-bottom: 1px solid var(--border);
}
.workable-row:last-child { border-bottom: 0; }
.workable-row.is-none { opacity: 0.5; }
.workable-name {
  grid-area: name;
  font-size: var(--text-small);
  color: var(--text-dim);
  overflow: hidden;
  overflow-wrap: anywhere;
}
.workable-track {
  grid-area: track;
  background: var(--gray-soft);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-pill);
  height: 10px;
  overflow: hidden;
}
.workable-bar { height: 100%; background: var(--primary); border-radius: var(--radius-pill); }
.workable-figures { grid-area: figures; display: flex; align-items: baseline; gap: var(--space-8); }
.workable-ready { font-weight: var(--weight-strong); font-variant-numeric: tabular-nums; }
.workable-tag {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  padding: var(--space-2) var(--space-6);
  border-radius: var(--radius-pill);
  background: var(--surface-2);
}
.workable-tag.is-rework { color: var(--primary); }
.workable-tag.is-outside { color: var(--text-faint); }
.workable-units {
  grid-area: units;
  font-size: var(--text-micro);
  color: var(--text-faint);
  font-variant-numeric: tabular-nums;
}
.funnel-row {
  display: grid;
  grid-template-columns: minmax(96px, 30%) 1fr auto;
  align-items: center;
  gap: var(--space-12);
}
.funnel-name {
  font-size: var(--text-small);
  color: var(--text-dim);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.funnel-track {
  background: var(--gray-soft);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-pill);
  overflow: hidden;
  height: 14px;
}
.funnel-bar {
  height: 100%;
  background: var(--primary);
  border-radius: var(--radius-pill);
  min-width: 3px;
}
.funnel-row.is-busiest .funnel-bar { background: var(--red); }
.funnel-row.is-waiting .funnel-bar { background: var(--border-strong); }
.funnel-row.is-waiting .funnel-name { font-style: italic; }
.funnel-row.is-busiest .funnel-name { color: var(--text); font-weight: var(--weight-strong); }
.funnel-qty { font-variant-numeric: tabular-nums; font-weight: var(--weight-strong); font-size: var(--text-small); }
.funnel-empty .funnel-bar { background: var(--border-strong); }
.logmap-scroll { overflow-x: auto; }
.logmap {
  display: grid;
  gap: var(--space-2);
  align-items: center;
}
.logmap-name {
  font-size: var(--text-small);
  color: var(--text-dim);
  padding-right: var(--space-10);
  white-space: nowrap;
  position: sticky;
  left: 0;
  background: var(--panel);
}
.logmap-cell {
  width: 100%;
  aspect-ratio: 1;
  min-width: 9px;
  border-radius: 2px;
  background: var(--gray-soft);
  border: 1px solid var(--border);
}
.logmap-cell.lv1 { background: #fbd4bb; border-color: #f8b58f; }
.logmap-cell.lv2 { background: #f6a878; border-color: #ef8455; }
.logmap-cell.lv3 { background: #cf5a2a; border-color: #b5471e; }
.logmap-head {
  font-size: var(--text-micro);
  color: var(--text-dim);
  text-align: center;
  white-space: nowrap;
}
.logmap-legend {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  font-size: var(--text-micro);
  color: var(--text-dim);
  margin-top: var(--space-10);
}
.logmap-legend .logmap-cell { width: 10px; min-width: 10px; }
.cap-util-inline { font-weight: var(--weight-strong); }
.cap-util-inline.ok { color: var(--green); }
.cap-util-inline.tight { color: var(--amber); }
.cap-util-inline.over { color: var(--red); }
.jw-po-card { margin-bottom: var(--space-12); padding: 0; }
.jw-po-card.bad { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.jw-po-card.critical { background-image: linear-gradient(var(--red-soft), var(--red-soft)); background: var(--red-soft); }
.jw-po-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-12);
  padding: var(--space-14) var(--space-16);
  cursor: pointer;
  list-style: none;
}
.jw-po-head::-webkit-details-marker { display: none; }
.jw-po-who { min-width: 0; }
.jw-po-body { padding: 0 var(--space-16) var(--space-14); }
.jw-po-qty { text-align: right; white-space: nowrap; }
.jw-po-qty strong { font-size: var(--text-lead); }
.jw-po-qty span { display: block; font-size: var(--text-micro); color: var(--text-dim); }
.form-slot { margin-bottom: var(--space-14); }
.form-slot[hidden] { display: none; }
.jw-po-summary { margin-bottom: var(--space-10); }
.jw-group {
  border: 1px solid var(--border);
  border-left: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--panel);
  margin-bottom: var(--space-12);
}
.jw-group.bad { background-image: linear-gradient(var(--red-soft), var(--red-soft));
  --glass-tint: var(--tint-late);
}
.jw-group.critical { background-image: linear-gradient(var(--red-soft), var(--red-soft)); border-color: color-mix(in srgb, var(--red) 40%, var(--border));
  --glass-tint: var(--tint-late);
}
.jw-group-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-14);
  padding: var(--space-14) var(--space-16);
  cursor: pointer;
  list-style: none;
}
.jw-group-head::-webkit-details-marker { display: none; }
.jw-group-right { display: flex; align-items: center; gap: var(--space-10); flex-wrap: wrap; justify-content: flex-end; }
.jw-group-who { min-width: 0; }
.jw-group-flag {
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  white-space: nowrap;
}
.jw-group-flag.bad { background: var(--amber-soft); color: var(--amber); }
.jw-group-flag.critical { background: var(--red-soft); color: var(--red); }
.jw-group-body { padding: 0 var(--space-16) var(--space-14); }
.jw-group-body .jw-card { border-left-width: 1px; }
.jw-group-body .jw-card .jw-vendor { display: none; }
.jw-group-head::after,
.jw-po-head::after,
summary.item-head::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--text-dim);
  border-bottom: 2px solid var(--text-dim);
  transform: rotate(-45deg);
  transition: transform var(--dur-fast) var(--ease-smooth);
  flex: none;
}
.jw-group[open] > .jw-group-head::after,
.jw-po-card[open] > .jw-po-head::after,
.po-item-row[open] > summary.item-head::after { transform: rotate(45deg); }
.tr-grid { margin-top: var(--space-14); }
.tr-table-note { margin-top: var(--space-6); }
.tr-subhead { margin: var(--space-18) 0 var(--space-6); }
.jw-po-card.is-cancelled .jw-po-head strong { text-decoration: line-through; }
.nt-day { margin-bottom: var(--space-18); }
.nt-day-head {
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-dim);
  margin-bottom: var(--space-8);
}
.nt-day-rows { padding: 0; overflow: hidden; }
.nt-day-rows .notif-item + .notif-item { border-top: 1px solid var(--border); }
.notif-item.is-fresh { box-shadow: inset 3px 0 0 var(--primary); background: var(--primary-soft); }
.nt-more { margin-top: var(--space-14); text-align: center; }
.filters.is-sticky {
  position: sticky;
  top: calc(var(--topbar-h) - 1px);
  z-index: var(--z-sticky-below);
  background: var(--bg);
  margin-left: calc(var(--space-8) * -1);
  margin-right: calc(var(--space-8) * -1);
  padding: var(--space-10) var(--space-8) var(--space-8);
  border-bottom: 1px solid var(--border);
}
body.topbar-away .filters.is-sticky { top: 0; }
.away-tag {
  display: inline-block;
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  white-space: nowrap;
  margin-right: var(--space-6);
}
.away-tag.outside { background: var(--amber-soft); color: var(--amber); }
.away-tag.unit { background: var(--gray-soft); color: var(--text); border: 1px solid var(--border-strong); }
.away-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-bottom: var(--space-14);
}
.away-summary-label {
  font-size: var(--text-micro);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-dim);
  font-weight: var(--weight-strong);
}
.po-item-row { margin-bottom: var(--space-14); }
summary.item-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  grid-template-areas:
    'object identity actions chevron'
    'rule   rule     rule    rule'
    'block  block    block   block';
  align-items: end;
  column-gap: var(--space-16);
  padding-bottom: var(--space-4);
  cursor: pointer;
  list-style: none;
}
.item-head .item-head-main { grid-area: identity; min-width: 0; text-align: left; padding-bottom: var(--space-8); }
.item-head .item-head-right {
  grid-area: actions;
  display: flex;
  align-items: center;
  gap: var(--space-8);
  padding-bottom: var(--space-8);
}
.item-head-sub { margin-top: var(--space-4); }
.item-shape {
  grid-area: object;
  position: relative;
  width: 128px;
  height: 104px;
  margin-bottom: -1px;
  pointer-events: none;
}
.item-shape canvas { display: block; width: 100%; height: 100%; position: relative; z-index: 1; }
.item-shape::after {
  content: '';
  position: absolute;
  left: 6%;
  right: 6%;
  bottom: -3px;
  height: 10px;
  z-index: 2;
  border-radius: var(--radius-pill);
  background: radial-gradient(50% 50% at 50% 50%, rgba(33, 25, 21, 0.34), transparent 72%);
  mix-blend-mode: multiply;
}
:root[data-theme='dark'] .item-shape::after {
  background: radial-gradient(50% 50% at 50% 50%, rgba(255, 165, 61, 0.22), transparent 70%);
  mix-blend-mode: screen;
}
.item-shape.is-blank { display: flex; align-items: flex-end; justify-content: center; }
.item-shape.is-blank::after { content: none; }
.item-shape.is-blank .blank-field {
  width: 100%;
  height: 66px;
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: var(--space-6);
  font-size: var(--text-micro);
  color: var(--text-faint);
  letter-spacing: var(--track-caps);
}
.item-rule {
  grid-area: rule;
  position: relative;
  height: 1px;
  background: color-mix(in srgb, var(--border-strong) 42%, transparent);
}
.item-rule::before,
.item-rule::after {
  content: '';
  position: absolute;
  top: -4px;
  width: 1px;
  height: 9px;
  background: var(--border-strong);
  opacity: 0.55;
}
.item-rule::before { left: 0; }
.item-rule::after { right: 0; }
.item-rule-made {
  position: absolute;
  left: 0;
  top: 0;
  height: 1px;
  background: var(--primary);
  transition: width var(--dur-slow) var(--ease-smooth);
}
.item-rule-made::after {
  content: '';
  position: absolute;
  right: -1px;
  top: -3px;
  width: 1px;
  height: 7px;
  background: var(--primary);
}
.item-rule-stage {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  font-size: var(--text-micro);
  color: var(--text-dim);
  background: var(--panel);
  padding: 0 0 0 var(--space-10);
}
.item-rule-stage.is-out { color: var(--green); }
.item-block {
  grid-area: block;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: var(--space-10);
}
.item-block-cell {
  flex: 1 1 0;
  min-width: 108px;
  padding: 0 var(--space-12);
  border-left: 1px solid var(--border);
}
.item-block-cell:first-child { padding-left: 0; border-left: none; }
.item-block-label {
  display: block;
  font-size: var(--text-micro);
  color: var(--text-faint);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  margin-bottom: var(--space-2);
}
.item-block-value { display: block; font-size: var(--text-small); color: var(--text); font-weight: var(--weight-medium); }
.item-block-value .dim { color: var(--text-faint); font-weight: 400; }
.item-block-value.is-pooled { color: var(--text-dim); }
@media (max-width: 720px) {
  summary.item-head { column-gap: var(--space-10); }
  .item-shape { width: 84px; height: 68px; }
  .item-shape.is-blank .blank-field { height: 44px; }
  .item-block-cell { flex: 1 1 44%; min-width: 0; padding: var(--space-4) var(--space-10); }
  .item-block-cell:nth-child(odd) { padding-left: 0; border-left: none; }
}
@media (max-width: 480px) {
  summary.item-head {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      'object identity chevron'
      'rule   rule     rule'
      'block  block    block'
      'actions actions actions';
  }
  .item-head .item-head-right { padding-top: var(--space-10); justify-content: flex-start; }
}
.item-head::-webkit-details-marker { display: none; }
.stage-now {
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  white-space: nowrap;
}
.stage-now.is-out { color: var(--green); }
summary.item-head::after { grid-area: chevron; align-self: center; margin-left: var(--space-4); margin-bottom: var(--space-8); }
#pe-search { width: 100%; max-width: none; }
.pick-tree { margin-top: var(--space-10); max-height: 420px; overflow-y: auto; overscroll-behavior: contain; }
.pick-order { border: 1px solid var(--border); border-radius: var(--radius-md); margin-bottom: var(--space-8); background: var(--panel); }
.pick-order-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-10);
  padding: var(--space-10) var(--space-12);
  cursor: pointer;
  list-style: none;
}
.pick-order-head::-webkit-details-marker { display: none; }
.pick-order-who small { display: block; font-size: var(--text-micro); color: var(--text-dim); }
.pick-order-count { font-size: var(--text-micro); font-weight: var(--weight-strong); color: var(--green); white-space: nowrap; }
.pick-order-count.is-none { color: var(--text-dim); }
.pick-order-body { padding: 0 var(--space-12) var(--space-10); }
.pick-item + .pick-item { border-top: 1px solid var(--border); padding-top: var(--space-10); margin-top: var(--space-10); }
.pick-item-head { display: flex; align-items: baseline; gap: var(--space-8); flex-wrap: wrap; }
.pick-item-head small { font-size: var(--text-micro); color: var(--text-dim); }
.pick-stages { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-6); }
.pick-stage {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-10);
  width: 100%;
  text-align: left;
  padding: var(--space-6) var(--space-10);
  border-radius: var(--radius-xs);
  font-size: var(--text-small);
  border: 1px solid transparent;
  background: none;
}
.pick-stage-note { font-size: var(--text-micro); color: var(--text-dim); white-space: nowrap; }
button.pick-stage.is-ready { border-color: var(--border-strong); background: var(--panel-alt); cursor: pointer; }
button.pick-stage.is-ready:hover { border-color: var(--primary); background: var(--primary-soft); }
button.pick-stage.is-ready .pick-stage-note { color: var(--green); font-weight: var(--weight-strong); }
.pick-stage.is-blocked { color: var(--text-dim); }
.pick-stage.is-on { color: var(--primary); font-weight: var(--weight-bold); }
.pick-bom { margin-top: var(--space-8); }
.pick-bom > summary { font-size: var(--text-micro); color: var(--text-dim); cursor: pointer; }
.pick-bom-row {
  display: flex;
  gap: var(--space-10);
  justify-content: space-between;
  font-size: var(--text-micro);
  padding: var(--space-8) 0;
  border-bottom: 1px solid var(--border);
}
.pick-bom-num { color: var(--text-dim); white-space: nowrap; }
.pick-none { margin-top: var(--space-8); }
.plan-job-who {
  display: inline-block;
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  color: var(--primary);
}
.plan-job-who.is-none { color: var(--text-dim); font-weight: var(--weight-medium); }
button.pick-bom-row { width: 100%; text-align: left; background: none; border: none; border-bottom: 1px solid var(--border); cursor: pointer; }
button.pick-bom-row:hover { background: var(--primary-soft); }
.pick-bom-add { color: var(--primary); font-weight: var(--weight-strong); }
.pick-bom-row.is-on { color: var(--primary); font-weight: var(--weight-bold); }
.store-units { display: flex; flex-wrap: wrap; gap: var(--space-6); margin: var(--space-8) 0; }
.store-unit-tag {
  font-size: var(--text-micro);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--gray-soft);
  border: 1px solid var(--border-strong);
  white-space: nowrap;
}
.store-unit-tag.is-unknown { color: var(--text-dim); font-style: italic; }
.tr-form-lead { margin: var(--space-6) 0 var(--space-14); }
button.store-item {
  background: none;
  border: none;
  padding: 0;
  text-align: left;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
}
button.store-item:hover { color: var(--primary); }
.store-move { margin: var(--space-12) 0; }
.store-move[hidden] { display: none; }
.store-family { margin-bottom: var(--space-12); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--panel); }
.store-family[open] { margin-bottom: var(--space-24); }
.store-family-head {
  display: flex;
  align-items: baseline;
  gap: var(--space-12);
  padding: var(--space-12) var(--space-16);
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text);
  cursor: pointer;
  list-style: none;
  min-height: 44px;
}
.store-family-head::-webkit-details-marker { display: none; }
.store-family-head::before { content: '▸'; color: var(--text-dim); transition: transform var(--dur-base) var(--ease-smooth); }
.store-family[open] > .store-family-head::before { transform: rotate(90deg); }
.store-family-head span { font-weight: var(--weight-medium); letter-spacing: normal; text-transform: none; color: var(--text-dim); }
.store-family-name { flex: 1; }
.store-family-total { font-variant-numeric: tabular-nums; color: var(--text) !important; font-weight: var(--weight-strong) !important; }
.store-family-body { padding: 0 var(--space-16) var(--space-8); }
.store-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-12); margin: 0 0 var(--space-12); }
.store-tools-sort { margin-left: auto; display: flex; align-items: center; gap: var(--space-8); font-size: var(--text-small); color: var(--text-dim); }
.store-tools-sort select { min-height: 44px; }
.ss-summary { margin: var(--space-20) 0 var(--space-12); }
.ss-summary h3 { margin: 0 0 var(--space-4); }
.ss-tally { display: flex; gap: var(--space-8); flex-wrap: wrap; margin-top: var(--space-10); }
.ss-kind {
  display: inline-block;
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  white-space: nowrap;
}
.ss-kind.ok { background: var(--green-soft); color: var(--green); }
.ss-kind.warn { background: var(--amber-soft); color: var(--amber); }
.ss-kind.new { background: var(--primary-soft); color: var(--primary-dark); }
.ss-table { width: 100%; font-size: var(--text-small); }
.ss-table th { white-space: nowrap; }
.ss-table td { vertical-align: top; padding: var(--space-10) var(--space-8); }
.ss-name { font-weight: var(--weight-bold); }
.ss-tick { width: 1%; }
.ss-tick-hit {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  cursor: pointer;
}
.ss-table input[type='checkbox'] { width: 20px; height: 20px; }
.ss-qty { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
.ss-delta { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ss-change { font-weight: var(--weight-strong); }
.ss-change.up { color: var(--green); }
.ss-change.down { color: var(--red); }
.ss-was { display: block; font-size: var(--text-micro); color: var(--text-dim); }
.ss-row.is-off { background: var(--surface-2); }
.ss-row.is-off input, .ss-row.is-off select, .ss-row.is-off button { opacity: 0.45; }
.ss-match { display: flex; align-items: center; gap: var(--space-6); margin-top: var(--space-4); min-height: 44px; cursor: pointer; }
.ss-aside {
  margin-top: var(--space-18);
  padding: var(--space-14) var(--space-16);
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.ss-aside h4 { margin: 0 0 var(--space-4); font-size: var(--text-small); }
.ss-aside ul { margin: var(--space-8) 0 0; padding-left: var(--space-18); }
.ss-aside li { margin-bottom: var(--space-4); font-size: var(--text-small); }
.ss-apply-bar { display: flex; align-items: center; gap: var(--space-12); flex-wrap: wrap; margin-top: var(--space-20); }
.tally-bar {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  flex-wrap: wrap;
  margin-bottom: var(--space-16);
  padding: var(--space-10) var(--space-14);
  background: var(--surface-2);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--green-soft), var(--green-soft));
  border-radius: var(--radius-md);
  font-size: var(--text-small);
  color: var(--text-dim);
}
.tally-bar.is-stale { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.tally-warn {
  font-weight: var(--weight-bold);
  color: var(--amber);
}
.tally-pending { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.tally-pending-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-12);
  flex-wrap: wrap;
  padding: var(--space-10) 0;
  border-top: 1px solid var(--border);
}
.tally-pending-act { display: flex; gap: var(--space-8); flex-wrap: wrap; align-items: center; }
.tally-pending-act select { max-width: 320px; }
.tally-ignored { border-left: 1px solid var(--border-strong); margin-top: var(--space-12); }
.tally-ignored > summary { cursor: pointer; font-weight: var(--weight-bold); }
.tally-ignored-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  flex-wrap: wrap;
  padding: var(--space-10) 0;
  border-top: 1px solid var(--border);
}
.tally-sub { margin: var(--space-18) 0 var(--space-4); font-size: var(--text-small); }
tr.rk-thin td { color: var(--text-dim); }
.board-admin-row { display: flex; gap: var(--space-10); align-items: center; flex-wrap: wrap; padding: var(--space-10) 0; border-bottom: 1px solid var(--border); }
.board-admin-unit { flex: 0 0 auto; font-weight: var(--weight-bold); }
.board-admin-link { flex: 1 1 260px; min-width: 0; font-size: var(--text-small); }
.board-admin-links { flex: 1 1 320px; min-width: 0; display: grid; gap: var(--space-6); }
.board-admin-say { display: grid; gap: var(--space-4); font-size: var(--text-micro); color: var(--text-dim); }
.board-admin-say .board-admin-link { width: 100%; }
.board-admin-row button { min-height: 44px; }
.po-actions-fold { margin-bottom: var(--space-8); }
.po-actions-fold > summary {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  min-height: 44px;
  color: var(--text-dim);
  font-weight: var(--weight-bold);
  font-size: var(--text-small);
  cursor: pointer;
  list-style: none;
}
.po-actions-fold > summary::-webkit-details-marker { display: none; }
.po-actions-fold > summary::before { content: '\25B8'; }
.po-actions-fold[open] > summary::before { content: '\25BE'; }
.po-actions-fold[open] > summary { margin-bottom: var(--space-10); }
.po-tabs { position: sticky; top: calc(var(--topbar-h) - 1px); z-index: 3; background: var(--bg); padding-top: var(--space-8); margin-bottom: var(--space-16); }
body.topbar-away .po-tabs { top: 0; }
.po-panel > .section-title:first-child { margin-top: var(--space-8) !important; }
@media print {
  .po-panel[hidden] { display: block !important; }
}
.quote-queue { margin-top: var(--space-8); font-size: var(--text-small); line-height: 1.45; max-width: 34em; color: var(--text-dim); }
.ow-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: var(--space-16); }
.ow-card { background: var(--panel); border: 1px solid var(--border); border-left: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: var(--space-16); }
.ow-good { background-image: linear-gradient(var(--green-soft), var(--green-soft)); }
.ow-bad { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.ow-flat { border-left-color: var(--border); }
.ow-title { font-size: var(--text-small); color: var(--text-dim); text-transform: uppercase; letter-spacing: var(--track-caps); }
.ow-value { font-size: var(--text-display); font-weight: var(--weight-strong); line-height: 1.1; margin: var(--space-8) 0; font-variant-numeric: tabular-nums; }
.ow-move { font-size: var(--text-body); margin-bottom: var(--space-8); }
.ow-arrow { margin-right: var(--space-6); }
.ow-good .ow-arrow { color: var(--green); }
.ow-bad .ow-arrow { color: var(--red); }
.ow-why { font-size: var(--text-small); color: var(--text-dim); line-height: 1.5; }
body.board-body { margin: 0; background: var(--bg); color: var(--text); }
.board { padding: clamp(16px, 3vw, 40px); min-height: 100vh; box-sizing: border-box; }
.board-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-12); }
.board-unit { font-size: clamp(20px, 2.6vw, 34px); font-weight: var(--weight-strong); }
.board-clock { font-size: clamp(18px, 2.2vw, 30px); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.board-headline { font-size: clamp(28px, 5vw, 68px); font-weight: var(--weight-strong); line-height: 1.1; margin: clamp(12px, 2vw, 28px) 0; text-wrap: balance; }
.board-down { background-image: linear-gradient(var(--red-soft), var(--red-soft)); padding: var(--space-12) var(--space-16); background: var(--panel); border-radius: var(--radius-md); margin-bottom: var(--space-16); }
.board-down-reason { font-size: clamp(20px, 2.6vw, 34px); font-weight: var(--weight-bold); }
.board-down-note { font-size: clamp(15px, 1.6vw, 21px); color: var(--text-dim); margin-top: var(--space-6); }
.board-list { display: grid; gap: var(--space-10); }
.board-row { display: grid; grid-template-columns: auto 1fr auto; gap: clamp(12px, 2vw, 28px); align-items: center;
  background: var(--panel); border-radius: var(--radius-md); padding: var(--space-16); border-left: 1px solid var(--border-strong); }
.board-level-manager { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.board-level-owner { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.board-days { font-size: clamp(26px, 3.6vw, 52px); font-weight: var(--weight-strong); font-variant-numeric: tabular-nums; line-height: 1; }
.board-days-unit { font-size: 0.45em; color: var(--text-dim); margin-left: var(--space-2); }
.board-what { min-width: 0; }
.board-what-main { font-size: clamp(17px, 2vw, 27px); font-weight: var(--weight-bold); overflow-wrap: anywhere; }
.board-what-sub { font-size: clamp(13px, 1.3vw, 18px); color: var(--text-dim); margin-top: var(--space-4); overflow-wrap: anywhere; }
.board-whose { font-size: clamp(13px, 1.3vw, 18px); color: var(--text-dim); text-align: right; max-width: 14em; }
.board-clear { font-size: clamp(17px, 2vw, 26px); color: var(--text-dim); }
.board-due { margin-top: clamp(16px, 2.4vw, 32px); }
.board-due-head { font-size: clamp(14px, 1.4vw, 19px); color: var(--text-dim); text-transform: uppercase; letter-spacing: var(--track-caps); margin-bottom: var(--space-8); }
.board-due-row { display: flex; justify-content: space-between; gap: var(--space-12); font-size: clamp(15px, 1.6vw, 21px); padding: var(--space-8) 0; border-bottom: 1px solid var(--border); }
.board-dim { color: var(--text-dim); }
.board-foot { margin-top: clamp(16px, 2.4vw, 32px); font-size: clamp(12px, 1.2vw, 17px); color: var(--text-dim); }
@media (max-width: 900px) {
  .board-row { grid-template-columns: auto 1fr; }
  .board-whose { display: none; }
}
body.board-body[data-level='manager'] { background: #fdf6ec; }
body.board-body[data-level='owner'] { background: #fdeeec; }
body.board-body[data-level='stale'] { background: var(--bg-deep); }
.ms-signals { display: grid; gap: var(--space-10); margin: var(--space-12) 0 var(--space-16); }
.ms-signal { border: 1px solid var(--border); border-left: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: var(--space-12); background: var(--surface-2); line-height: 1.5; }
.ms-signal-beyond_limits { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.ms-signal-run { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
tr.ms-out td { background: var(--surface-2); }
tr.ms-flat td { color: var(--text-dim); }
.ledger-tags { margin-top: var(--space-20); padding-top: var(--space-16); border-top: 1px solid var(--border); }
.settings-sub-title { font-weight: var(--weight-bold); margin-bottom: var(--space-6); }
.ledger-row { display: flex; gap: var(--space-10); align-items: center; flex-wrap: wrap; padding: var(--space-8) 0; border-bottom: 1px solid var(--border); }
.ledger-row-name { flex: 1 1 180px; min-width: 0; overflow-wrap: anywhere; }
.ledger-row button { min-height: 44px; }
.ledger-tagged { font-size: var(--text-small); color: var(--text-dim); }
.tally-key-block { display: flex; gap: var(--space-10); flex-wrap: wrap; align-items: center; margin-top: var(--space-12); }
.tally-key {
  margin-top: var(--space-12);
  padding: var(--space-14) var(--space-16);
  background: var(--amber-soft);
  border: 1px solid var(--amber);
  border-radius: var(--radius-md);
  font-size: var(--text-small);
}
.tally-key code {
  display: block;
  margin: var(--space-8) 0;
  padding: var(--space-8) var(--space-10);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  word-break: break-all;
}
.tally-godowns { list-style: none; padding: 0; margin: var(--space-12) 0; }
.tally-godowns li {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  padding: var(--space-8) 0;
  border-top: 1px solid var(--border);
  font-size: var(--text-small);
}
.tally-godown-name { font-weight: var(--weight-bold); min-width: 180px; }
.tally-godown-unit { color: var(--text-dim); margin-right: auto; }
.tally-godown-add { display: flex; gap: var(--space-8); flex-wrap: wrap; align-items: center; margin-top: var(--space-10); }
.tally-agent {
  margin: var(--space-16) 0;
  padding: var(--space-14) var(--space-16);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--green-soft), var(--green-soft));
  border-radius: var(--radius-md);
  background: var(--surface-2);
  --glass-tint: var(--tint-good);
}
.tally-agent.is-off { border-left-color: var(--border-strong); opacity: 0.7; }
.tally-agent-off {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--gray-soft);
  color: var(--text-dim);
  margin-left: var(--space-6);
}
.tally-agent-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-12); flex-wrap: wrap; }
.tally-agent-actions { display: flex; gap: var(--space-6); flex-wrap: wrap; }
.tally-agent .tally-sub { margin-top: var(--space-16); }
.tally-admin-note { margin: var(--space-10) 0 0; font-size: var(--text-small); }
.arrivals {
  margin-bottom: var(--space-20);
  padding: var(--space-16) var(--space-18);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--green-soft), var(--green-soft));
  border-radius: var(--radius-lg);
  background: var(--green-soft);
}
.arrivals-head { display: flex; gap: var(--space-12); align-items: flex-start; }
.arrivals-head h2 { margin: 0 0 var(--space-4); font-size: var(--text-lead); }
.arrivals-head p { margin: 0; font-size: var(--text-small); color: var(--text-dim); }
.arrivals-icon { font-size: var(--text-heading); line-height: 1; }
.arrival {
  margin-top: var(--space-14);
  padding: var(--space-12) var(--space-14);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.arrival-what { margin-bottom: var(--space-10); }
.arrival-orders { list-style: none; padding: 0; margin: 0; }
.arrival-orders li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-12);
  flex-wrap: wrap;
  padding: var(--space-10) 0;
  border-top: 1px solid var(--border);
}
.arrival-take { display: flex; gap: var(--space-8); align-items: center; }
.arrival-qty { max-width: 90px; text-align: right; padding: 5px 8px; font-size: var(--text-small); }
.arrival-no { margin-top: var(--space-10); color: var(--text-dim); }
.arrival-remainder {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--amber-soft);
  color: var(--amber);
  margin-left: var(--space-6);
}
.cb-panel h2 { margin-bottom: var(--space-4); }
.cb-warning {
  margin-top: var(--space-8);
  padding: var(--space-8) var(--space-12);
  background: var(--amber-soft);
  color: var(--amber);
  border-radius: var(--radius-sm);
  font-weight: var(--weight-bold);
}
.cb-row {
  border-top: 1px solid var(--border);
  padding: var(--space-10) 0;
}
.cb-row summary { cursor: pointer; list-style: none; }
.cb-row summary::-webkit-details-marker { display: none; }
.cb-head {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) auto minmax(140px, 1fr);
  gap: var(--space-12);
  align-items: center;
}
@media (max-width: 640px) {
  .cb-head { grid-template-columns: 1fr; gap: var(--space-4); }
}
.cb-meta { font-size: var(--text-micro); color: var(--text-dim); }
.cb-who .cb-meta { display: block; margin-top: var(--space-2); }
.cb-badges { display: flex; gap: var(--space-6); flex-wrap: wrap; justify-content: flex-end; }
.cb-trend {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--gray-soft);
}
.cb-trend.good { background: var(--green-soft); color: var(--green); }
.cb-trend.bad { background: var(--red-soft); color: var(--red); }
.cb-flag {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--amber-soft);
  color: var(--amber);
}
.cb-bar {
  height: 8px;
  background: var(--bg-deep);
  border-radius: var(--radius-pill);
  overflow: hidden;
}
.cb-bar div { height: 100%; background: var(--primary); border-radius: var(--radius-pill); }
.cb-share .cb-meta { display: block; margin-top: var(--space-2); text-align: right; }
.cb-open { padding: var(--space-10) 0 var(--space-4); }
.cb-open-line { margin-bottom: var(--space-8); }
.cb-due-block { margin: var(--space-10) 0; }
.cb-due-block h4 { margin: 0 0 var(--space-4); font-size: var(--text-small); }
.cb-due-block h4.bad { color: var(--red); }
.cb-due-block ul { list-style: none; margin: 0; padding: 0; }
.cb-due-block li { padding: var(--space-2) 0; font-size: var(--text-small); }
.rackm {
  margin: var(--space-12) 0;
  padding: var(--space-12) var(--space-14);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--green-soft), var(--green-soft));
  border-radius: var(--radius-md);
  background: var(--surface-2);
}
.rackm-head { font-size: var(--text-small); display: flex; gap: var(--space-6); flex-wrap: wrap; align-items: baseline; }
.rackm-head .rackm-close { margin-left: auto; }
.rackm-ask-count { color: var(--amber); font-weight: var(--weight-bold); }
.rackm-list { list-style: none; margin: var(--space-10) 0 0; padding: 0; }
.rackm-row {
  display: flex;
  gap: var(--space-12);
  flex-wrap: wrap;
  align-items: baseline;
  padding: var(--space-8) 0;
  border-top: 1px solid var(--border);
  font-size: var(--text-small);
}
.rackm-verdict { color: var(--text-dim); display: flex; gap: var(--space-8); flex-wrap: wrap; align-items: center; }
.rackm-row.is-reading .rackm-verdict { color: var(--green); }
.rackm-row.is-ask .rackm-verdict { color: var(--amber); }
.rackm-shared { color: var(--red); font-style: normal; font-weight: var(--weight-bold); }
.bom-rack-figure { font-weight: var(--weight-bold); color: var(--green); }
.bom-rack-tag { color: var(--green); }
.bom-made-tag { font-weight: var(--weight-bold); color: var(--green); margin-right: var(--space-4); }
.bom-made-ahead { color: var(--amber); }
.rackm-ai {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--amber-soft);
  color: var(--amber);
}
.rackm-why { color: var(--text-dim); font-style: normal; }
.store-min { font-size: var(--text-micro); color: var(--text-dim); margin-top: var(--space-2); }
.store-min.is-low { color: var(--red); font-weight: var(--weight-bold); }
.store-total.is-low strong { color: var(--red); }
.ms-min-qty { max-width: 80px; text-align: right; padding: 5px 8px; font-size: var(--text-small); }
.racks-low {
  margin-bottom: var(--space-20);
  padding: var(--space-16) var(--space-18);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--red-soft), var(--red-soft));
  border-radius: var(--radius-lg);
  background: var(--red-soft);
}
.racks-low-head { display: flex; gap: var(--space-12); align-items: flex-start; }
.racks-low-head h2 { margin: 0 0 var(--space-4); font-size: var(--text-lead); }
.racks-low-head p { margin: 0; font-size: var(--text-small); color: var(--text-dim); }
.racks-low ul { list-style: none; margin: var(--space-10) 0 0; padding: 0; }
.racks-low li { padding: var(--space-8) 0; border-top: 1px solid var(--border); font-size: var(--text-small); }
.store-shelf.is-scanned { background-image: linear-gradient(var(--primary-soft), var(--primary-soft)); box-shadow: 0 0 0 2px var(--primary-soft);
  --glass-tint: var(--tint-await);
}
.wk-standing {
  margin-bottom: var(--space-16);
  padding: var(--space-10) var(--space-14);
  background: var(--amber-soft);
  border-radius: var(--radius-md);
  font-size: var(--text-small);
}
.wk-block { margin-bottom: var(--space-24); }
.wk-block h2 { margin: 0 0 var(--space-4); }
.wk-note { margin: 0 0 var(--space-10); font-size: var(--text-small); color: var(--text-dim); }
.wk-customer { margin-bottom: var(--space-14); }
.wk-customer h3 { margin: 0 0 var(--space-4); font-size: var(--text-lead); }
.wk-pieces { font-size: var(--text-small); color: var(--text-dim); font-weight: var(--weight-medium); }
.wk-block ul { list-style: none; margin: 0; padding: 0; }
.wk-block li { padding: var(--space-8) 0; border-top: 1px solid var(--border); font-size: var(--text-small); }
.wk-meta { color: var(--text-dim); }
.wk-block .held, .wk-standing .held { color: var(--held); font-weight: var(--weight-bold); }
@media print {
  .topbar, .skip-link, .page-header button { display: none !important; }
}
.rp-day { margin-bottom: var(--space-24); }
.rp-day h2 { margin: 0 0 var(--space-10); font-size: var(--text-lead); }
.rp-job {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-16);
  flex-wrap: wrap;
  padding: var(--space-14) var(--space-16);
  margin-bottom: var(--space-10);
  background: var(--panel);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  border-radius: var(--radius-md);
}
.rp-job.is-met { background-image: linear-gradient(var(--green-soft), var(--green-soft)); opacity: 0.7; }
.rp-what { flex: 1 1 240px; }
.rp-meta { font-size: var(--text-micro); color: var(--text-dim); margin-top: var(--space-2); }
.rp-entry { display: flex; gap: var(--space-12); align-items: flex-end; flex-wrap: wrap; }
.rp-field { display: flex; flex-direction: column; gap: var(--space-2); font-size: var(--text-micro); color: var(--text-dim); }
.rp-field input { width: 92px; font-size: var(--text-lead); text-align: right; padding: var(--space-8) var(--space-10); }
.settings-group { margin-bottom: var(--space-32); }
.settings-group-title {
  margin: 0 0 var(--space-4);
  font-size: var(--text-heading);
  letter-spacing: var(--track-tight);
}
.settings-group-sub { margin: 0 0 var(--space-12); color: var(--text-dim); }
.settings-index {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6) var(--space-16);
  margin: 0 0 var(--space-16);
  padding: 0;
  list-style: none;
}
.settings-index a {
  display: inline-block;
  padding: var(--space-4) 0;
  font-size: var(--text-small);
}
@media (pointer: coarse) {
  .settings-index a { min-height: 44px; display: inline-flex; align-items: center; }
  .settings-index { row-gap: var(--space-10); }
}
.settings-section:target { outline: 2px solid var(--primary); outline-offset: 3px; }
.rp-field-note { display: block; margin-top: var(--space-4); font-size: var(--text-micro); color: var(--text-dim); }
.rp-field-minor input { width: 72px; font-size: 16px; }
.pe-who-list,
.pp-who-list { display: flex; flex-direction: column; gap: var(--space-6); }
.pe-who-item,
.pp-who-item { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-2); }
.pe-who-item select,
.pp-who-item select { width: 100%; min-width: 0; }
.pe-who-item .pe-who-remove,
.pp-who-item .pp-who-remove { align-self: flex-end; }
.pe-who-list .pe-who-item:only-child .pe-who-remove,
.pp-who-list .pp-who-item:only-child .pp-who-remove { display: none; }
.sheet-who .pe-who-add,
.pp-who .pp-who-add,
.pe-who-list .pe-who-remove,
.pp-who-list .pp-who-remove {
  flex: none;
  min-height: 44px;
  padding: 0 var(--space-8);
  background: none;
  border: 0;
  font-size: var(--text-micro);
  color: var(--text-dim);
  text-decoration: underline;
  cursor: pointer;
}
.sheet-who .pe-who-add:hover,
.pp-who .pp-who-add:hover { color: var(--text); }
.pe-who-list .pe-who-remove:hover,
.pp-who-list .pp-who-remove:hover { color: var(--red); }
.rp-field-file input {
  width: auto;
  max-width: 220px;
  min-height: 44px;
  font-size: 16px;
  text-align: left;
  padding: var(--space-8) var(--space-10);
}
@media (max-width: 480px) {
  .rp-field-file { flex-basis: 100%; }
  .rp-field-file input { max-width: 100%; }
}
.rp-state { font-size: var(--text-micro); color: var(--text-dim); min-width: 64px; }
.rp-job.is-met .rp-state { color: var(--green); font-weight: var(--weight-bold); }
.rp-save-bar {
  position: sticky;
  z-index: 41;
  bottom: calc(60px + env(safe-area-inset-bottom));
  display: flex;
  gap: var(--space-12);
  align-items: center;
  flex-wrap: wrap;
  padding: var(--space-12) var(--space-14);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.sp-panel {
  margin: var(--space-16) 0;
  padding: var(--space-16) var(--space-18);
  background: var(--surface-2);
  border: 1px solid var(--border);
  background-image: linear-gradient(var(--primary-soft), var(--primary-soft));
  border-radius: var(--radius-lg);
}
.sp-head { display: flex; justify-content: space-between; gap: var(--space-12); align-items: flex-start; }
.sp-head h3 { margin: 0 0 var(--space-4); }
.sp-meta { font-size: var(--text-micro); color: var(--text-dim); margin: 0; }
.sp-left { color: var(--amber); font-weight: var(--weight-bold); }
.sp-item { margin-top: var(--space-16); padding-top: var(--space-12); border-top: 1px solid var(--border); }
.sp-item-head { display: flex; justify-content: space-between; gap: var(--space-12); align-items: center; flex-wrap: wrap; }
.sp-lot { display: flex; gap: var(--space-8); align-items: center; flex-wrap: wrap; margin-top: var(--space-8); }
.sp-lot .sp-qty { width: 90px; text-align: right; }
.sp-lot .sp-date { width: 165px; }
.sp-lot .sp-label { flex: 1 1 160px; min-width: 140px; }
.sp-lot input { padding: var(--space-8) var(--space-10); font-size: 16px; }
.sp-drop { color: var(--red); font-size: var(--text-lead); line-height: 1; padding: 0 var(--space-8); }
.sp-actions { display: flex; gap: var(--space-12); align-items: center; flex-wrap: wrap; margin-top: var(--space-18); }
.sp-derived {
  margin-top: var(--space-10);
  padding: var(--space-8) var(--space-12);
  background: var(--primary-soft);
  border-radius: var(--radius-sm);
  font-size: var(--text-micro);
  color: var(--text-dim);
}
.ack-issued {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-12);
  flex-wrap: wrap;
  margin: var(--space-12) 0;
  padding: var(--space-10) var(--space-14);
  background: var(--primary-soft);
  border-radius: var(--radius-md);
  font-size: var(--text-small);
}
.ack-issued-acts { display: flex; gap: var(--space-14); align-items: center; flex-wrap: wrap; }
.cc-figures { display: flex; flex-wrap: wrap; gap: var(--space-14); margin: var(--space-10) 0; }
.cc-fig {
  display: flex;
  flex-direction: column;
  min-width: 8rem;
  padding: var(--space-10) var(--space-14);
  background: var(--surface-2);
  border-radius: var(--radius-md);
}
.cc-fig.is-warn { background: var(--red-soft); }
.cc-num { font-size: var(--text-display); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; }
.cc-label { color: var(--text-dim); font-size: var(--text-small); }
.cc-headline { font-size: var(--text-heading); margin: var(--space-10) 0; }
tr.pen-capped td { background: var(--surface-2); }
tr.pen-capped td:first-child { box-shadow: inset 3px 0 0 var(--border-strong); }
details.po-clause { margin-top: var(--space-16); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-12); }
details.po-clause > summary { cursor: pointer; font-weight: var(--weight-bold); min-height: 44px; display: flex; align-items: center; gap: var(--space-8); }
#sf-fold #sf-body { margin-top: var(--space-12); }
#sf-fold .chip-row { margin-bottom: var(--space-12); }
.sf-hits { display: flex; flex-direction: column; gap: var(--space-8); margin-top: var(--space-8); max-height: 60vh; overflow-y: auto; }
.sf-hit {
  display: flex; align-items: center; gap: var(--space-10); flex-wrap: wrap;
  padding: var(--space-10) var(--space-12); border: 1px solid var(--border); border-radius: var(--radius-md);
  color: var(--text); text-decoration: none; background: var(--surface-2);
}
@media (hover: hover) {
  .sf-hit:hover { border-color: var(--primary); box-shadow: var(--shadow-md); }
}
.sf-backfill { margin-top: var(--space-16); padding-top: var(--space-12); border-top: 1px solid var(--border); display: flex; align-items: center; gap: var(--space-10); flex-wrap: wrap; }
.cc-headline-sub { font-size: var(--text-body); color: var(--text); margin: var(--space-8) 0 var(--space-10); line-height: 1.5; }
.cc-legs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: var(--space-10); margin: var(--space-12) 0; }
.cc-leg { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-12); background: var(--surface-2); }
.cc-leg-days { font-size: var(--text-heading); font-weight: var(--weight-bold); color: var(--text); }
.cc-leg-unit { font-size: var(--text-small); font-weight: 400; color: var(--text-dim); }
.cc-leg-title { font-size: var(--text-body); margin-top: var(--space-4); }
.cc-leg-note { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-4); line-height: 1.4; }
.cc-over { color: var(--red); font-weight: var(--weight-bold); }
.cc-under { color: var(--green); }
.cc-stale td { color: var(--red); }
.cc-constraint td { font-weight: var(--weight-bold); background: var(--surface-2); }
.cc-fold { margin-top: var(--space-10); }
.cc-fold summary { cursor: pointer; color: var(--text-dim); }
.rc-month { display: flex; align-items: center; gap: var(--space-10); margin-bottom: var(--space-14); }
.rc-month input { width: auto; }
.rc-depts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: var(--space-12); margin-bottom: var(--space-14); }
.rc-dept { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-12) var(--space-14); background: var(--surface-2); }
.rc-dept-name { color: var(--text-dim); font-size: var(--text-small); font-weight: var(--weight-bold); }
.rc-dept-total { font-size: var(--text-heading); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; margin: var(--space-4) 0 var(--space-8); }
.rc-line summary { display: flex; justify-content: space-between; gap: var(--space-8); cursor: pointer; padding: var(--space-4) 0; min-height: 44px; align-items: center; }
.rc-line p { margin: 0 0 var(--space-8); font-size: var(--text-small); line-height: 1.4; }
.rc-amt { font-variant-numeric: tabular-nums; }
.rc-unsplit { background: var(--red-soft); border-color: var(--red); }
.rc-unsplit .section-title { color: var(--red); }
.rc-unsplit li { margin: var(--space-4) 0; line-height: 1.45; }
.rc-setup { margin-top: var(--space-10); }
.rc-setup summary { cursor: pointer; font-weight: var(--weight-bold); min-height: 44px; display: flex; align-items: center; }
.rc-setup input[type="number"] { max-width: 8rem; }
.rc-actions { white-space: nowrap; }
.rc-check { display: inline-flex; align-items: center; gap: var(--space-6); min-height: 44px; cursor: pointer; white-space: nowrap; }
.rc-rates .section-title { margin-bottom: var(--space-10); }
.rc-rate-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: var(--space-12); margin-bottom: var(--space-10); }
.rc-rate { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-12) var(--space-14); background: var(--surface-2); }
.rc-rate summary { cursor: pointer; display: block; min-height: 44px; }
.rc-rate-title { display: block; color: var(--text-dim); font-size: var(--text-small); font-weight: var(--weight-bold); }
.rc-rate-fig { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-12); font-size: var(--text-heading); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; margin: var(--space-4) 0; }
.rc-weld { font-size: var(--text-body); }
.rc-rate-none { display: block; font-size: var(--text-heading); font-weight: var(--weight-bold); color: var(--text-dim); margin: var(--space-4) 0; }
.rc-rate-why { display: block; font-size: var(--text-small); line-height: 1.4; color: var(--text-dim); }
.rc-rate p, .rc-rate li { font-size: var(--text-small); line-height: 1.45; }
.rc-vendor { margin: var(--space-4) 0 0; padding-left: var(--space-16); }
.rc-weights label { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6); min-height: 44px; font-size: var(--text-small); }
.rc-weights input { width: 5rem; }
.wc-upload, .wc-search, .wc-reading { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-8) var(--space-12); margin: var(--space-10) 0; }
.wc-upload p, .wc-reading p { flex-basis: 100%; margin: 0; }
.wc-search label, .wc-reading label, .wc-upload label { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6); min-height: 44px; }
.wc-file, .wc-part { border-top: 1px solid var(--border); padding: var(--space-10) 0; }
.wc-file-name { font-weight: var(--weight-bold); overflow-wrap: anywhere; }
.wc-file-act, .wc-fields { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--space-8) var(--space-12); margin-top: var(--space-8); }
.wc-file-act label, .wc-fields label { display: flex; flex-direction: column; gap: var(--space-4); font-size: var(--text-small); color: var(--text-dim); }
.wc-file-act select { max-width: min(28rem, 100%); }
.wc-fields input[type="number"] { width: 6rem; }
.wc-file-act input[type="number"] { width: 5rem; }
.wc-part-head { overflow-wrap: anywhere; }
.wc-link { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6) var(--space-12); margin-top: var(--space-6); font-size: var(--text-small); overflow-wrap: anywhere; }
.wc-link label { display: flex; align-items: center; gap: var(--space-6); min-height: 44px; }
.wc-link input { width: 5rem; }
.health-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(190px, 100%), 1fr)); gap: var(--space-12); }
.health-tile { border: 1px solid var(--border); border-left: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--space-12); background: var(--panel); }
.health-tile.is-ok { background-image: linear-gradient(var(--green-soft), var(--green-soft));
  --glass-tint: var(--tint-good);
}
.health-tile.is-warn { background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  --glass-tint: var(--tint-risk);
}
.health-tile.is-bad { background-image: linear-gradient(var(--red-soft), var(--red-soft));
  --glass-tint: var(--tint-late);
}
.health-tile-label { font-size: var(--text-small); color: var(--text-dim); text-transform: uppercase; letter-spacing: var(--track-caps); }
.health-tile-value { font-weight: var(--weight-bold); margin: var(--space-4) 0; }
.health-tile.is-bad .health-tile-value { color: var(--red); }
.health-tile-note { font-size: var(--text-small); color: var(--text-dim); overflow-wrap: anywhere; }
.nav-icon-wrap {
  position: relative;
  display: inline-flex;
  flex: none;
}
.nav-health-dot {
  position: absolute;
  top: -2px;
  right: -3px;
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--text-dim);
  box-shadow: 0 0 0 2px var(--panel);
}
.nav-health-dot[hidden] { display: none; }
.nav-health-dot.is-warn { background: var(--amber); }
.nav-health-dot.is-bad {
  width: 11px;
  height: 11px;
  top: -3px;
  right: -4px;
  background: var(--red);
  box-shadow: 0 0 0 2px var(--panel), 0 0 0 5px color-mix(in srgb, var(--red) 25%, transparent);
}
@media (prefers-reduced-motion: reduce) { .nav-health-dot.is-bad { box-shadow: none; } }
@media (min-width: 900px) {
  body.dock .tabbar .nav-health-dot { display: none; }
  body.dock .tabbar a:has(.nav-health-dot.is-warn:not([hidden])) {
    background-color: color-mix(in oklab, var(--amber) 38%, transparent);
    border-color: color-mix(in oklab, var(--amber) 70%, transparent);
    box-shadow: 0 0 12px color-mix(in oklab, var(--amber) 55%, transparent),
      inset 1.5px 1.5px 0 rgba(255, 255, 255, 0.7);
  }
  body.dock .tabbar a:has(.nav-health-dot.is-bad:not([hidden])) {
    background-color: color-mix(in oklab, var(--red) 42%, transparent);
    border-color: color-mix(in oklab, var(--red) 75%, transparent);
    animation: dock-tile-alarm 2.4s var(--ease-smooth) infinite;
  }
  @keyframes dock-tile-alarm {
    0%, 100% { box-shadow: 0 0 6px color-mix(in oklab, var(--red) 40%, transparent), inset 1.5px 1.5px 0 rgba(255, 255, 255, 0.7); }
    50% { box-shadow: 0 0 16px color-mix(in oklab, var(--red) 70%, transparent), inset 1.5px 1.5px 0 rgba(255, 255, 255, 0.7); }
  }
  @media (prefers-reduced-motion: reduce) {
    body.dock .tabbar a:has(.nav-health-dot.is-bad:not([hidden])) { animation: none; }
  }
}
.health-strip {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  padding: var(--space-8) var(--space-12);
  margin-bottom: var(--space-16);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--panel);
  color: inherit;
  text-decoration: none;
  font-size: var(--text-small);
}
.health-strip[hidden] { display: none; }
.health-strip:hover { background: var(--surface-2); }
.health-strip-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--text-dim); }
.health-strip-text { flex: 1; }
.health-strip-more { flex: none; color: var(--text-dim); text-decoration: underline; text-underline-offset: 2px; }
.health-strip.is-ok .health-strip-dot { background: var(--green); }
.health-strip.is-warn { border-color: var(--amber); }
.health-strip.is-warn .health-strip-dot { background: var(--amber); }
.health-strip.is-bad { border-color: var(--red); }
.health-strip.is-bad .health-strip-dot { background: var(--red); }
.health-strip.is-bad .health-strip-text { color: var(--red); font-weight: var(--weight-bold); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.intake-landing { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.intake-landing-what { margin-bottom: var(--space-8); }
.intake-landing-row { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; }
.stage-icon { width: 1.25em; height: 1.25em; vertical-align: -0.28em; margin-right: var(--space-4); flex: none; }
.quick-stage-icon { width: 1.6em; height: 1.6em; vertical-align: -0.4em; }
.quick-entry-icon { width: 1.4em; height: 1.4em; }
.quick-card-icon { width: 1.1em; height: 1.1em; }
.q-tap-row { display: flex; gap: var(--space-8); margin-top: var(--space-8); }
.q-tap {
  flex: 1;
  min-height: 56px;
  font-size: var(--text-lead);
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
  border: 1.5px solid var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--panel);
  color: var(--text);
  box-shadow: var(--shadow-sm), var(--shadow-inset-top);
}
.q-tap:active { transform: translateY(1px); box-shadow: none; }
.q-tap-clear { flex: 0 0 auto; padding: 0 var(--space-16); font-size: var(--text-small); color: var(--text-dim); }
.my-number { border: 1px solid var(--border); background-image: linear-gradient(var(--green-soft), var(--green-soft)); border-radius: var(--radius-sm); padding: var(--space-12) var(--space-16); margin-bottom: var(--space-16); background: var(--panel);
  --glass-tint: var(--tint-good);
}
.my-number-line { display: flex; align-items: baseline; gap: var(--space-8); flex-wrap: wrap; }
.my-number-label { color: var(--text-dim); font-size: var(--text-small); }
.my-number-big { font-size: var(--text-display); font-variant-numeric: tabular-nums; line-height: 1; }
.my-number-meta { margin-top: var(--space-4); }
.handover-card { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); margin-bottom: var(--space-16); }
.handover-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-8); margin-bottom: var(--space-8); }
.handover-card p { margin: 0 0 var(--space-8); line-height: 1.5; }
.rp-drawing { display: block; margin-bottom: var(--space-8); }
.rp-drawing img { max-height: 160px; width: auto; max-width: 100%; border: 1px solid var(--border); border-radius: var(--radius-sm); background: #fff; }
.rp-drawing-doc { display: inline-block; color: var(--text-dim); font-size: var(--text-small); }
.rp-start { display: inline-flex; align-items: center; min-height: 44px; }
.q-tap-rej { flex: 0 0 auto; padding: 0 var(--space-16); color: var(--red); border-color: var(--red); }
body.is-station .quick-header,
body.is-station #notice-strip,
body.is-station #quick-picker,
body.is-station .quick-back,
body.is-station .quick-stage-pick,
body.is-station .quick-stoppage,
body.is-station .q-spread,
body.is-station .quick-drawings,
body.is-station .nav-tabbar,
body.is-station .nav-rail { display: none !important; }
body.is-station .quick-main { padding-top: var(--space-16); }
body.is-station .quick-entry-item { font-size: var(--text-display); }
body.is-station .quick-input-lg { font-size: var(--text-hero); min-height: 88px; }
body.is-station .q-tap { min-height: 88px; font-size: var(--text-display); }
body.is-station .quick-save { min-height: 72px; font-size: var(--text-lead); }
.q-defect { margin-top: var(--space-8); }
.q-defect-img { position: relative; display: inline-block; max-width: 100%; touch-action: manipulation; cursor: crosshair; }
.q-defect-img img { display: block; max-width: 100%; max-height: 320px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: #fff; }
.q-defect-dot, .defect-dot {
  position: absolute; transform: translate(-50%, -50%);
  width: 24px; height: 24px; border-radius: var(--radius-pill);
  background: var(--red); color: var(--on-accent); font-size: var(--text-micro); font-weight: var(--weight-bold);
  display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 2px #fff; pointer-events: none;
}
.q-defect-row { display: flex; align-items: center; gap: var(--space-8); margin-top: var(--space-8); }
.q-defect-n { flex: none; width: 24px; height: 24px; border-radius: var(--radius-pill); background: var(--red); color: var(--on-accent); font-size: var(--text-micro); font-weight: var(--weight-bold); display: flex; align-items: center; justify-content: center; }
.q-defect-note { flex: 1; min-height: 44px; }
.drawing-card a { position: relative; display: block; }
.defect-dot { pointer-events: auto; }
.defect-line { margin-top: var(--space-4); }
.defect-product { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--space-12); margin-bottom: var(--space-12); background: var(--panel); }
.defect-product-head { margin-bottom: var(--space-8); }
.defect-map-svg { width: 100%; max-width: 360px; height: auto; display: block; }
.defect-map-bg { fill: var(--panel-alt); stroke: var(--border); }
.defect-map-grid { stroke: var(--border); stroke-dasharray: 4 4; }
.defect-map-dot { fill: var(--red); fill-opacity: 0.7; }
.defect-map-sub { margin-bottom: var(--space-8); }
.section-title-far { margin-top: var(--space-24); }
.challan-receipt-qr { float: right; width: 120px; text-align: center; margin: var(--space-8) 0 var(--space-8) var(--space-16); font-size: var(--text-micro); color: var(--text-dim); }
.challan-receipt-qr img { width: 96px; height: 96px; display: block; margin: 0 auto var(--space-4); }
.track-challans { margin: var(--space-16) 0; }
.track-section-title { font-size: var(--text-heading); margin: 0 0 var(--space-8); }
.track-challan { border: 1px solid var(--border); border-left: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--space-12) var(--space-16); margin-bottom: var(--space-12); background: var(--panel); }
.track-challan.is-wanted { background-image: linear-gradient(var(--primary-soft), var(--primary-soft)); }
.track-challan.is-received { background-image: linear-gradient(var(--green-soft), var(--green-soft)); }
.track-challan.is-problem { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.track-challan-goods { color: var(--text-dim); font-size: var(--text-small); }
.track-challan-state { margin: var(--space-8) 0; }
.track-receipt-actions { display: flex; flex-wrap: wrap; gap: var(--space-8); }
.track-btn { min-height: 44px; padding: 0 var(--space-16); border-radius: var(--radius-pill); border: 1.5px solid var(--border-strong); background: var(--panel); font-weight: var(--weight-bold); }
.track-btn-ok { border-color: var(--green); color: var(--green); }
.track-btn-problem { border-color: var(--red); color: var(--red); }
.track-ready {
  margin-top: var(--space-16);
  padding: var(--space-14) var(--space-16);
  border-radius: var(--radius-md);
  border: 1.5px solid var(--green);
  background: var(--green-soft);
}
.track-ready-count { font-size: var(--text-lead); }
.track-ready-count strong { font-size: var(--text-heading); color: var(--green); }
.track-ready-sub { font-size: var(--text-small); margin-top: var(--space-4); }
.track-collect { margin-top: var(--space-12); }
.track-collect > summary { cursor: pointer; font-weight: var(--weight-bold); font-size: var(--text-small); min-height: 44px; display: flex; align-items: center; }
.track-collect-form { display: flex; flex-direction: column; gap: var(--space-10); margin-top: var(--space-8); }
.track-collect-form label { display: flex; flex-direction: column; gap: var(--space-4); font-size: var(--text-small); font-weight: var(--weight-bold); }
.track-collect-form input { min-height: 44px; }
.track-opt { font-weight: normal; color: var(--text-dim); }
.track-collect-msg { font-size: var(--text-small); }
.track-collect-msg.is-ok { color: var(--green); font-weight: var(--weight-bold); }
.track-collect-msg.is-bad { color: var(--red); }
.track-photos { margin-top: var(--space-16); }
.track-photos-head { font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--text-dim); margin-bottom: var(--space-8); }
.track-photo-row { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.track-photo { width: 120px; height: 120px; object-fit: cover; border-radius: var(--radius-sm); border: 1px solid var(--border); }
.attach-shot { display: flex; flex-direction: column; gap: var(--space-4); }
.attach-show { display: flex; align-items: center; gap: var(--space-6); font-size: var(--text-micro); color: var(--text-dim); cursor: pointer; }
.attach-show input { width: auto; }
.track-receipt-note { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; margin-top: var(--space-8); }
.track-receipt-note[hidden] { display: none; }
.track-receipt-note label { flex: 1; display: flex; flex-direction: column; gap: var(--space-4); }
.track-note-input { min-height: 44px; }
.quick-readback { margin-top: var(--space-4); font-size: var(--text-small); min-height: 44px; padding: 0; }
.notif-cats { display: grid; gap: var(--space-8); margin-bottom: var(--space-16); }
.notif-cat { display: flex; align-items: center; gap: var(--space-10); min-height: 44px; cursor: pointer; }
.notif-cat input { width: 20px; height: 20px; flex: none; }
.notif-cat-actions { padding-top: var(--space-8); border-top: 1px solid var(--border); }
@media (min-width: 720px) { .ask-composer { position: sticky; top: var(--space-8); z-index: 2; } }
.ask-row { display: flex; gap: var(--space-8); }
.ask-input { flex: 1; min-width: 0; min-height: 48px; font-size: var(--text-lead); }
.ask-composer.has-thread .ask-examples { display: none; }
.ask-mic { min-width: 48px; padding: 0 var(--space-10); font-size: var(--text-lead); }
.ask-mic.is-listening { border-color: var(--red); color: var(--red); animation: ask-pulse 1s ease-in-out infinite; }
@keyframes ask-pulse { 50% { transform: scale(1.08); } }
.ask-examples { display: flex; flex-wrap: wrap; gap: var(--space-6) var(--space-12); margin-top: var(--space-10); }
.ask-examples .text-btn { font-size: var(--text-small); color: var(--text-dim); text-align: left; min-height: 32px; }
@media (pointer: coarse) {
  .ask-examples { row-gap: var(--space-16); }
}
.ask-unconfigured { margin-top: var(--space-8); color: var(--text-dim); font-size: var(--text-small); }
.ask-thread { display: flex; flex-direction: column; gap: var(--space-12); margin-top: var(--space-16); }
.ask-card { padding: var(--space-14) var(--space-16); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--panel); }
.ask-card-pending .ask-sentence { animation: ask-fade 1.2s ease-in-out infinite alternate; }
@keyframes ask-fade { to { opacity: 0.35; } }
.ask-card-miss { border-style: dashed; }
.ask-q { font-size: var(--text-small); color: var(--text-dim); margin-bottom: var(--space-6); }
.ask-q::before { content: '\201C'; }
.ask-q::after { content: '\201D'; }
.ask-sentence { font-size: var(--text-lead); font-weight: var(--weight-bold); line-height: 1.4; }
.ask-counted { margin-top: var(--space-6); font-size: var(--text-small); color: var(--text-dim); }
.ask-counted-label { font-weight: var(--weight-bold); }
.ask-chart { position: relative; height: 220px; margin-top: var(--space-12); }
.ask-table { margin-top: var(--space-12); }
.ask-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.ask-card-foot { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-8) var(--space-14); margin-top: var(--space-12); }
.ask-how summary { cursor: pointer; font-size: var(--text-small); color: var(--text-dim); min-height: 32px; display: flex; align-items: center; }
.ask-sql { margin: var(--space-6) 0 0; padding: var(--space-8); font-size: var(--text-micro); line-height: 1.5; white-space: pre-wrap; word-break: break-word; background: var(--bg-deep); border-radius: 8px; max-width: 100%; overflow-x: auto; }
.ask-thread-actions { margin-top: var(--space-10); }
.ask-knows { margin-top: var(--space-16); }
.ask-knows summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: var(--weight-bold); }
.ask-knows-list { margin: var(--space-8) 0 0; padding-left: 1.2em; font-size: var(--text-small); color: var(--text-dim); }
.ask-knows-list li { margin: var(--space-4) 0; }
.can-drop { position: relative; }
.can-drop.is-dropping,
.can-drop.is-refusing {
  outline: 2px dashed var(--primary);
  outline-offset: 3px;
  border-radius: var(--radius-lg);
  background: var(--primary-soft);
}
.can-drop.is-refusing {
  outline-color: var(--red);
  background: #fbe6e6;
  animation: drop-refuse var(--dur-base) var(--ease-smooth) 2;
}
@keyframes drop-refuse {
  25% { transform: translateX(-3px); }
  75% { transform: translateX(3px); }
}
@media (prefers-reduced-motion: reduce) {
  .can-drop.is-refusing { animation: none; }
}
.working[hidden] { display: none; }
.working {
  position: fixed;
  left: var(--space-16);
  bottom: calc(var(--space-16) + env(safe-area-inset-bottom, 0px));
  z-index: 41;
  display: flex;
  align-items: center;
  gap: var(--space-10);
  max-width: min(calc(100vw - 120px), 420px);
  padding: var(--space-8) var(--space-14) var(--space-8) var(--space-10);
  border-radius: var(--radius-pill);
  background: rgba(33, 25, 21, 0.92);
  color: #fff;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  box-shadow: 0 8px 24px rgba(33, 25, 21, 0.28);
  animation: wk-in var(--dur-base) var(--ease-spring);
}
body.has-tabbar .working { bottom: calc(60px + var(--space-12) + env(safe-area-inset-bottom, 0px)); }
@media (min-width: 900px) {
  body.has-tabbar .working { left: calc(var(--rail-w) + var(--space-16)); bottom: var(--space-16); }
}
.working-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@keyframes wk-in { from { opacity: 0; transform: translateY(8px); } }
.wk-mic { position: relative; display: block; width: 20px; height: 20px; flex: none; }
.wk-mic::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 2px;
  width: 8px;
  height: 11px;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 12px 0 -3px #fff;
}
.wk-ring {
  position: absolute;
  inset: 0;
  border: 2px solid rgba(255, 255, 255, 0.85);
  border-radius: var(--radius-pill);
  animation: wk-ring 1.6s var(--ease-smooth) infinite;
}
.wk-ring:nth-child(2) { animation-delay: 0.8s; }
@keyframes wk-ring {
  from { transform: scale(0.45); opacity: 0.9; }
  to { transform: scale(1.35); opacity: 0; }
}
.wk-page { position: relative; display: block; width: 16px; height: 20px; flex: none; border: 2px solid #fff; border-radius: 3px; overflow: hidden; }
.wk-scan { position: absolute; left: 0; right: 0; height: 3px; background: #fff; animation: wk-scan 1.3s var(--ease-smooth) infinite; }
@keyframes wk-scan {
  0% { top: 1px; opacity: 0.2; }
  50% { top: 12px; opacity: 1; }
  100% { top: 1px; opacity: 0.2; }
}
.wk-bars { display: flex; align-items: flex-end; gap: var(--space-2); height: 18px; flex: none; }
.wk-bars i { width: 3px; height: 6px; background: #fff; border-radius: 2px; animation: wk-bar 0.9s var(--ease-smooth) infinite; }
.wk-bars i:nth-child(2) { animation-delay: 0.15s; }
.wk-bars i:nth-child(3) { animation-delay: 0.3s; }
@keyframes wk-bar { 50% { height: 18px; } }
.wk-dots { display: flex; gap: 3px; flex: none; }
.wk-dots i { width: 5px; height: 5px; border-radius: var(--radius-pill); background: #fff; animation: wk-dot 1.1s var(--ease-smooth) infinite; }
.wk-dots i:nth-child(2) { animation-delay: 0.18s; }
.wk-dots i:nth-child(3) { animation-delay: 0.36s; }
@keyframes wk-dot { 50% { opacity: 0.25; transform: translateY(-3px); } }
.quick-say-mic.is-listening,
.ask-mic.is-listening {
  position: relative;
  border-color: var(--red);
  color: var(--red);
  animation: wk-mic-beat 1.1s var(--ease-smooth) infinite;
}
.quick-say-mic.is-listening::after,
.ask-mic.is-listening::after {
  content: '';
  position: absolute;
  inset: -2px;
  border: 2px solid var(--red);
  border-radius: inherit;
  animation: wk-mic-ring 1.4s var(--ease-smooth) infinite;
  pointer-events: none;
}
@keyframes wk-mic-beat { 50% { transform: scale(1.06); } }
@keyframes wk-mic-ring {
  from { transform: scale(1); opacity: 0.75; }
  to { transform: scale(1.35); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .working,
  .wk-ring,
  .wk-scan,
  .wk-bars i,
  .wk-dots i,
  .quick-say-mic.is-listening,
  .ask-mic.is-listening,
  .quick-say-mic.is-listening::after,
  .ask-mic.is-listening::after {
    animation: none;
  }
  .wk-ring { opacity: 0.5; }
  .wk-scan { top: 8px; }
  .wk-bars i { height: 12px; }
}
body:has(.ask-bubble-host) main { padding-bottom: 84px; }
body.has-tabbar:has(.ask-bubble-host) main { padding-bottom: 128px; }
@media (min-width: 900px) { body:has(.ask-bubble-host) main { padding-bottom: var(--space-32); } }
.ask-bubble-host { position: fixed; right: var(--space-16); bottom: calc(var(--space-16) + env(safe-area-inset-bottom, 0px)); z-index: 40; }
body.has-tabbar .ask-bubble-host { bottom: calc(60px + var(--space-12) + env(safe-area-inset-bottom, 0px)); }
@media (min-width: 900px) { body.has-tabbar .ask-bubble-host { bottom: var(--space-16); } }
.ask-bubble { display: flex; align-items: center; gap: var(--space-8); min-height: 52px; padding: 0 var(--space-16) 0 var(--space-12); border: 0; border-radius: var(--radius-pill); background: var(--primary); color: var(--on-accent); font-weight: var(--weight-bold); box-shadow: 0 8px 24px rgba(33, 25, 21, 0.25); cursor: pointer; transition: transform var(--dur-fast) var(--ease-spring); }
.ask-bubble:active { transform: scale(0.96); }
.ask-bubble-host.is-open .ask-bubble { display: none; }
@media (max-width: 899px) {
  .ask-bubble {
    transition: transform var(--dur-fast) var(--ease-spring), padding var(--dur-base) var(--ease-smooth);
  }
  .ask-bubble-host.is-tucked .ask-bubble {
    padding-left: var(--space-12);
    padding-right: var(--space-12);
  }
  .ask-bubble-host.is-tucked .ask-bubble-label {
    display: none;
  }
  .ask-bubble-host {
    transition: transform var(--dur-base) var(--ease-smooth), opacity var(--dur-fast) var(--ease-smooth), visibility var(--dur-base);
  }
  body.topbar-away .ask-bubble-host:not(.is-open) {
    transform: translateY(calc(100% + 76px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ask-bubble-host { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ask-bubble { transition: none; }
}
.ask-drawer[hidden] { display: none; }
.ask-drawer { position: fixed; right: var(--space-12); bottom: var(--space-12); width: min(440px, calc(100vw - 2 * var(--space-12))); height: min(680px, calc(100vh - 2 * var(--space-12))); display: flex; flex-direction: column; background: var(--panel); border: 1px solid var(--border-strong); border-radius: var(--radius-lg); box-shadow: 0 16px 48px rgba(33, 25, 21, 0.3); overflow: hidden; }
@media (max-width: 719px) { .ask-drawer { right: 0; bottom: 0; width: 100vw; height: 100vh; border-radius: 0; } }
.ask-drawer-head { display: flex; align-items: center; gap: var(--space-12); padding: var(--space-10) var(--space-14); border-bottom: 1px solid var(--border); }
.ask-drawer-head strong { flex: 1; }
.ask-drawer-close { min-width: 44px; min-height: 44px; }
.ask-drawer-frame { flex: 1; width: 100%; border: 0; background: var(--bg); }
body.embed { padding: 0; }
body.embed .topbar { display: none; }
body.embed main.container { padding-top: var(--space-8); }
.tank-drop-inner { padding: var(--space-16); border: 2px dashed var(--border-strong); border-radius: var(--radius-lg); text-align: center; transition: background var(--dur-fast) var(--ease-smooth); }
.tank-drop-inner.is-over { background: var(--primary-soft); border-color: var(--primary); }
.tank-drop-title { font-size: var(--text-heading); font-weight: var(--weight-bold); margin-bottom: var(--space-4); }
.tank-drop-row { display: flex; flex-wrap: wrap; gap: var(--space-8); justify-content: center; margin-top: var(--space-12); }
.tank-drop-row input[type="text"] { flex: 1; min-width: 200px; min-height: 44px; }
.tank-reading { padding: var(--space-16); }
.tank-progress { font-size: var(--text-lead); font-weight: var(--weight-bold); animation: ask-fade 1.2s ease-in-out infinite alternate; }
.tank-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-12); flex-wrap: wrap; margin-bottom: var(--space-12); }
.tank-title { font-size: var(--text-heading); font-weight: var(--weight-bold); }
.tank-head-actions { display: flex; gap: var(--space-12); align-items: center; }
.tank-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-12); margin-bottom: var(--space-12); }
@media (min-width: 820px) { .tank-grid { grid-template-columns: 1fr 1fr; } }
.tank-view { position: relative; height: 340px; border-radius: var(--radius-lg); background: radial-gradient(ellipse at 50% 40%, #fbf7f3 0%, var(--bg-deep) 100%); overflow: hidden; touch-action: pan-y; cursor: grab; }
.tank-view canvas { display: block; width: 100% !important; height: 100% !important; }
.tank-view:active { cursor: grabbing; }
.tank-view-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: var(--space-16); }
.tank-view-hint { margin-top: var(--space-6); }
.tank-check { margin-top: var(--space-10); }
.tank-check-line { padding: var(--space-10) var(--space-12); border-radius: 10px; background: var(--bg-deep); }
.tank-check-ok { background: var(--green-soft); color: var(--green); }
.tank-check-bad { background: var(--red-soft); color: var(--red); }
.tank-chips { display: flex; flex-wrap: wrap; gap: var(--space-6); margin-bottom: var(--space-8); }
.tank-chip { display: inline-block; padding: var(--space-4) var(--space-10); border-radius: var(--radius-pill); background: var(--bg-deep); font-size: var(--text-small); }
.tank-chip-missing { color: var(--text-dim); border: 1px dashed var(--border-strong); background: transparent; }
.tank-chip-unverified { background: var(--red-soft); color: var(--red); }
.tank-form { margin-top: var(--space-12); }
.tank-section-gap { margin-top: var(--space-14); }
.tank-variants { margin-top: var(--space-6); }
.tank-form input.tank-assumed { border-color: var(--red); }
.tank-toggle { display: flex; align-items: center; gap: var(--space-8); min-height: 44px; margin-top: var(--space-8); }
.tank-toggle input { width: 20px; height: 20px; }
.tank-row { display: grid; grid-template-columns: 1.4fr 0.6fr 0.9fr 0.9fr auto; gap: var(--space-6); align-items: center; margin-bottom: var(--space-6); }
.tank-row-bracket { grid-template-columns: 1.4fr 0.6fr 0.8fr 0.8fr 0.6fr auto; }
.tank-row input, .tank-row select { min-height: 40px; min-width: 0; }
.tank-row .tank-remove { min-width: 40px; min-height: 40px; color: var(--text-dim); }
@media (max-width: 560px) {
  .tank-row, .tank-row-bracket { grid-template-columns: 1fr auto; }
  .tank-row input, .tank-row select { min-width: 0; min-height: 44px; }
  .tank-row .tank-remove { min-width: 44px; min-height: 44px; }
}
.tank-blanks-svg { width: 100%; height: auto; display: block; }
.tank-blank { fill: #e9e2dc; stroke: var(--text); stroke-width: 0.6%; vector-effect: non-scaling-stroke; }
.tank-blank-bracket { fill: #d9d0c8; }
.tank-blank-label { text-anchor: middle; dominant-baseline: middle; fill: var(--text); font-weight: var(--weight-strong); }
.tank-blank-dim { text-anchor: middle; dominant-baseline: middle; fill: var(--text-dim); }
.tank-table td.num, .tank-table th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tank-total td { font-weight: var(--weight-bold); border-top: 2px solid var(--border-strong); }
.tank-cost { margin-top: var(--space-10); padding: var(--space-10) var(--space-12); border-radius: 10px; background: var(--primary-soft); }
.tank-cost-row { display: flex; justify-content: space-between; gap: var(--space-12); padding: var(--space-8) 0; }
.tank-cost-row strong { font-variant-numeric: tabular-nums; }
.form-grid[hidden] { display: none; }
.tank-blank-hole { fill: var(--bg-deep); stroke: var(--border-strong); }
.today-mismatch { margin-top: var(--space-8); display: grid; gap: var(--space-4); }
.tank-kind { margin-bottom: var(--space-12); }
.tank-kind label { display: block; margin-bottom: var(--space-6); color: var(--text-dim); font-size: var(--text-small); }
.tank-kind select { width: 100%; }
.tank-sheet { margin-top: var(--space-12); }
.tank-sheet-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-10); flex-wrap: wrap; }
.tank-sheet-best { font-weight: var(--weight-bold); }
.tank-sheet-other { color: var(--text-dim); font-size: var(--text-small); margin-top: var(--space-6); }
.tank-last { margin-top: var(--space-12); padding: var(--space-10) var(--space-12); border-radius: 10px; background: var(--bg-deep); }
.tank-last-row { display: flex; justify-content: space-between; gap: var(--space-12); padding: var(--space-8) 0; }
.tank-last-row strong { font-variant-numeric: tabular-nums; }
.tank-last-note { color: var(--text-dim); font-size: var(--text-small); margin-top: var(--space-6); }
.tank-bom-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-10); margin-top: var(--space-12); }
.drawing-build { display: block; margin-top: var(--space-4); font-size: var(--text-small); }
.qa-act { position: relative; margin-bottom: var(--space-16); }
.qa-act-mark {
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: var(--space-4);
}
.qa-act > .section-title:first-of-type { margin-top: 0; }
.qa-instrument { display: grid; grid-template-columns: 1fr; gap: var(--space-12); margin-bottom: var(--space-16); }
.qa-drawing-frame {
  position: relative;
  background: #fff;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 297 / 210;
  box-shadow: var(--shadow-md);
}
.qa-drawing-doc { width: 100%; height: 100%; display: block; border: 0; object-fit: contain; background: #fff; }
.qa-drawing-frame:empty { display: none; }
.qa-read { list-style: none; margin: 0 0 var(--space-10); padding: 0; }
.qa-read-line {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
  align-items: baseline;
  gap: var(--space-10);
  padding: var(--space-8) 0;
  border-bottom: 1px solid var(--border);
  animation: qa-line-in var(--dur-reveal) var(--ease-smooth) var(--qa-in) backwards;
}
.qa-read-printed {
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
  color: var(--text);
  overflow-wrap: anywhere;
}
.qa-read-label { color: var(--text-dim); font-size: var(--text-small); }
.qa-read-mark { color: var(--green); font-size: var(--text-small); }
.qa-read-mark.is-unchecked { color: var(--red); }
.qa-read-missing .qa-read-printed { color: var(--text-faint); font-weight: var(--weight-medium); font-style: italic; }
.qa-read-note { margin-bottom: var(--space-10); }
.qa-note { font-size: var(--text-small); color: var(--text-dim); }
.qa-note-scan, .qa-note-partial { color: var(--amber); }
.qa-checks { display: grid; gap: var(--space-8); }
.qa-check { padding: var(--space-8) var(--space-10); border-radius: 10px; background: var(--bg-deep); }
.qa-check-label { display: block; font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--text-dim); }
.qa-check-text { font-size: var(--text-small); }
.qa-check-ok { background: var(--green-soft); }
.qa-check-bad { background: var(--red-soft); }
.qa-metal { display: grid; grid-template-columns: 1fr; gap: var(--space-16); margin-top: var(--space-12); }
.qa-sheet-card {
  margin: 0;
  padding: var(--space-10);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface-2);
}
.qa-sheet-card.is-best { border-color: var(--primary); box-shadow: var(--accent-glow); }
.qa-sheet-card.is-unfit { opacity: 0.6; }
.qa-sheet-cap { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-8); margin-bottom: var(--space-8); }
.qa-sheet-size { font-weight: var(--weight-bold); }
.qa-sheet-kg { color: var(--text-dim); font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.qa-sheet-flag {
  font-size: var(--text-micro);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  padding: 2px var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--primary);
  color: var(--on-accent);
}
.qa-nest-svg { width: 100%; height: auto; display: block; }
.qa-sheet-offcut { fill: var(--nest-offcut); stroke: var(--border-strong); stroke-width: 4; }
.qa-blank { stroke: var(--border-strong); stroke-width: 3; }
.qa-blank-mine { fill: var(--primary); }
.qa-blank-next { fill: var(--panel); }
:root[data-theme='dark'] .qa-blank-next { fill: var(--border-strong); }
.qa-sheet-name { fill: var(--text); font-weight: var(--weight-bold); }
.qa-sheet-tally { fill: var(--text-dim); }
.qa-verdict { margin: var(--space-10) 0 var(--space-4); font-weight: var(--weight-medium); }
.qa-act.has-arrived .qa-blank { animation: qa-blank-in var(--dur-reveal) var(--ease-smooth) var(--qa-in) backwards; }
.qa-answer { display: grid; grid-template-columns: 1fr; gap: var(--space-12); }
.qa-figure { padding: var(--space-12); border-radius: var(--radius-lg); background: var(--bg-deep); border: 1px solid var(--border); }
.qa-figure-label { font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--text-dim); }
.qa-figure-value {
  font-size: var(--text-display);
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
  color: var(--primary);
  margin: var(--space-4) 0;
}
.qa-figure-source { font-size: var(--text-small); color: var(--text-dim); }
.qa-figure.is-withheld { border-style: dashed; }
.qa-figure-why { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-6); }
.qa-figure-fix { font-size: var(--text-small); color: var(--amber); margin-top: var(--space-6); }
.qa-refusals:not(:empty) { margin-top: var(--space-12); padding-top: var(--space-10); border-top: 1px solid var(--border); }
.qa-why-head { font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--text-dim); margin-bottom: var(--space-6); }
.qa-why-list { margin: 0; padding-left: var(--space-16); color: var(--text-dim); font-size: var(--text-small); }
.qa-why-list li { margin-bottom: var(--space-6); }
.qa-price-row { display: grid; gap: var(--space-4); margin-top: var(--space-12); max-width: 320px; }
.qa-price-row[hidden] { display: none; }
.qa-out-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-12); margin-bottom: var(--space-8); }
.qa-cut-why.is-refused { color: var(--red); }
.qa-fold { margin-top: var(--space-12); border-top: 1px solid var(--border); }
.qa-fold > summary {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  min-height: 44px;
  color: var(--text-dim);
  font-weight: var(--weight-bold);
  font-size: var(--text-small);
  cursor: pointer;
  list-style: none;
}
.qa-fold > summary::-webkit-details-marker { display: none; }
.qa-fold > summary::before { content: '\25B8'; }
.qa-fold[open] > summary::before { content: '\25BE'; }
.qa-fold-body { animation: fold-open var(--dur-base) var(--ease-smooth) backwards; }
@keyframes qa-line-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@keyframes qa-blank-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes qa-act-in {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}
[data-motion] .qa-act.is-armed {
  animation: qa-act-in var(--dur-reveal) var(--ease-smooth) backwards;
  animation-play-state: paused;
}
[data-motion] .qa-act.is-armed.has-arrived { animation-play-state: running; }
@media (min-width: 820px) {
  .qa-instrument { grid-template-columns: 1.1fr 1fr; align-items: start; }
  .qa-metal { grid-template-columns: 1fr 1fr; }
  .qa-answer { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .qa-act,
  [data-motion] .qa-act.is-armed,
  .qa-read-line,
  .qa-blank,
  .qa-act.has-arrived .qa-blank,
  .qa-fold-body {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
.pick-clubs { margin-bottom: var(--space-12); padding-bottom: var(--space-12); border-bottom: 1px dashed var(--border-strong); }
.pick-clubs-head { font-weight: var(--weight-bold); margin-bottom: var(--space-8); }
.pick-clubs-head small { display: block; font-weight: var(--weight-medium); color: var(--text-dim); font-size: var(--text-small); }
.sheet-line.is-club > .sheet-line-what > strong::before { content: '⧉ '; color: var(--text-dim); }
.alias-member { display: flex; align-items: flex-start; gap: var(--space-8); }
.alias-member-include { display: flex; align-items: center; min-height: 44px; }
.alias-member-name { display: flex; align-items: center; gap: var(--space-8); flex: 1; min-height: 44px; flex-wrap: wrap; }
.alias-member-include input, .alias-member-name input { width: 20px; height: 20px; }
.rp-all-done { min-height: 44px; margin-bottom: var(--space-12); }
.rp-save-bar .primary.is-hot { box-shadow: 0 0 0 4px var(--red-soft); }
.pick-club-drawing { margin-top: var(--space-8); padding-left: var(--space-12); border-left: 2px solid var(--border); }
.pick-club-drawing-head { font-size: var(--text-small); color: var(--text-dim); margin-bottom: var(--space-4); }
#ml-intake .notice-actions, #ml-outbox .notice-actions { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; }
#ml-intake .notice-actions button, #ml-outbox .notice-actions button { min-height: 44px; }
.ml-banner.is-broken { background-image: linear-gradient(var(--red-soft), var(--red-soft)); padding: var(--space-12) var(--space-16); background: var(--panel); margin-bottom: var(--space-12); }
.table-filter { width: 100%; max-width: 360px; min-height: 44px; margin-bottom: var(--space-8); }
.rj-detail { margin-top: var(--space-8); background-image: linear-gradient(var(--red-soft), var(--red-soft)); padding-left: var(--space-12); }
.rj-entry { padding: var(--space-8) 0; border-bottom: 1px solid var(--border); }
.rj-entry:last-of-type { border-bottom: 0; }
.rj-entry-head { font-size: var(--text-small); }
.rj-entry-note { margin-top: var(--space-2); }
.rj-shots { display: flex; gap: var(--space-8); overflow-x: auto; padding: var(--space-6) 0 var(--space-2); }
.rj-shot { flex: 0 0 auto; }
.rj-shot img { height: 96px; width: auto; border-radius: var(--radius-md); display: block; }
.rj-decide { margin-top: var(--space-10); display: grid; gap: var(--space-6); }
.rj-decide-acts { display: flex; gap: var(--space-6); flex-wrap: wrap; }
.rj-return, .rj-sendback-box { margin-top: var(--space-8); display: grid; gap: var(--space-6); }
.rj-sendback-box[hidden], .rj-r-stage-wrap[hidden], .rj-r-challan-wrap[hidden] { display: none; }
.rj-return-row { display: flex; gap: var(--space-8); flex-wrap: wrap; align-items: end; }
.rj-return-line { display: flex; justify-content: space-between; gap: var(--space-8); flex-wrap: wrap; padding: var(--space-4) 0; font-size: var(--text-small); }
.stage-mark {
  position: relative;
  display: inline-flex;
  background: var(--panel);
  border-radius: 50%;
  box-shadow: 0 0 0 3px var(--panel);
}
.step .stage-icon {
  display: block;
  width: 36px;
  height: 36px;
  margin: 0;
  vertical-align: baseline;
  color: inherit;
  transition: color var(--dur-fast) var(--ease-smooth), transform var(--dur-fast) var(--ease-smooth);
}
.stage-icon .arc,
.stage-icon .splash { opacity: 0; }
.mark-tick {
  position: absolute;
  right: -3px;
  bottom: -3px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--green);
  color: var(--on-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 2px var(--panel);
}
@media (hover: hover) {
  .step[data-display-stage="bom"]:hover .stage-icon { color: #3e6b8c; }
  .step[data-display-stage="production"]:hover .stage-icon { color: #d2622f; }
  .step[data-display-stage="processing"]:hover .stage-icon { color: #b8860b; }
  .step[data-display-stage="testing"]:hover .stage-icon { color: #2f78b5; }
  .step[data-display-stage="finishing"]:hover .stage-icon { color: #7a4bb5; }
  .step[data-display-stage="pdi"]:hover .stage-icon { color: #3e6b8c; }
  .step[data-display-stage="dispatch"]:hover .stage-icon { color: #2f6b4b; }
  .step[data-display-stage="bom"]:hover .tick { animation: stage-tick 1.6s var(--ease-smooth) infinite; }
  .step[data-display-stage="bom"]:hover .tick + .tick { animation-delay: 400ms; }
  .step[data-display-stage="production"]:hover .arc {
    animation: stage-arc 360ms steps(2, jump-none) infinite;
    transform-origin: 19.5px 19px;
  }
  .step[data-display-stage="processing"]:hover .wheel {
    animation: stage-spin 1.1s linear infinite;
    transform-origin: 9.5px 9.5px;
  }
  .step[data-display-stage="processing"]:hover .sparks { animation: stage-sparks 300ms steps(2, jump-none) infinite; }
  .step[data-display-stage="testing"]:hover .drop { animation: stage-fall 1.1s var(--ease-smooth) infinite; }
  .step[data-display-stage="finishing"]:hover .spray-near { animation: stage-spray 500ms var(--ease-smooth) infinite; }
  .step[data-display-stage="finishing"]:hover .spray-far { animation: stage-spray 500ms var(--ease-smooth) infinite; animation-delay: 170ms; }
  .step[data-display-stage="finishing"]:hover .splash {
    animation: stage-splash 1s var(--ease-smooth) infinite;
    animation-delay: 250ms;
    transform-origin: 22.5px 12.5px;
  }
  .step[data-display-stage="pdi"]:hover .lens { animation: stage-search 1.8s var(--ease-smooth) infinite; }
  .step[data-display-stage="packing"]:hover .parcel { animation: stage-pack-drop 1.8s var(--ease-smooth) infinite; }
  .step[data-display-stage="packing"]:hover .flap-l {
    animation: stage-pack-close-l 1.8s var(--ease-smooth) infinite;
    transform-origin: 4px 10.5px;
  }
  .step[data-display-stage="packing"]:hover .flap-r {
    animation: stage-pack-close-r 1.8s var(--ease-smooth) infinite;
    transform-origin: 20px 10.5px;
  }
  .step[data-display-stage="dispatch"]:hover .lorry { animation: stage-drive 1.4s linear infinite; }
}
@keyframes stage-tick {
  0% { stroke-dasharray: 10; stroke-dashoffset: 10; }
  45%, 100% { stroke-dasharray: 10; stroke-dashoffset: 0; }
}
@keyframes stage-arc {
  0% { opacity: 0.35; transform: scale(0.75); }
  50% { opacity: 1; transform: scale(1.15); }
  100% { opacity: 0.6; transform: scale(0.9); }
}
@keyframes stage-pack-drop {
  0% { transform: translateY(0); opacity: 1; }
  35%, 100% { transform: translateY(7px); opacity: 0; }
}
@keyframes stage-pack-close-l {
  0%, 40% { transform: rotate(0); }
  70%, 100% { transform: rotate(117deg); }
}
@keyframes stage-pack-close-r {
  0%, 40% { transform: rotate(0); }
  70%, 100% { transform: rotate(-117deg); }
}
@keyframes stage-spin { to { transform: rotate(360deg); } }
@keyframes stage-sparks { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } }
@keyframes stage-fall {
  0% { transform: translateY(-1.5px); opacity: 1; }
  70% { transform: translateY(3.5px); opacity: 1; }
  100% { transform: translateY(5px); opacity: 0; }
}
@keyframes stage-spray { 0%, 100% { opacity: 1; } 50% { opacity: 0.25; } }
@keyframes stage-splash {
  0% { opacity: 0; transform: scale(0.5); }
  35% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0; transform: scale(1.4); }
}
@keyframes stage-search {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(2px, 1px); }
  50% { transform: translate(0, 2px); }
  75% { transform: translate(-2px, 1px); }
}
@keyframes stage-drive {
  0% { transform: translateX(-3px); opacity: 0; }
  20% { transform: translateX(-1.5px) translateY(-0.4px); opacity: 1; }
  50% { transform: translateX(0) translateY(0.3px); opacity: 1; }
  80% { transform: translateX(1.5px) translateY(-0.4px); opacity: 1; }
  100% { transform: translateX(3px); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .step:hover .stage-icon,
  .step:hover .stage-icon * { transform: none; animation: none; }
}
.nav-icon-quote .tag {
  transform: rotate(-38deg);
  transform-origin: 18.7px 18.34px;
  transform-box: view-box;
}
@media (hover: hover) {
  .tab:hover .nav-icon-book .leaf,
  .nav-sheet-row:hover .nav-icon-book .leaf,
  .nav-fab-row:hover .nav-icon-book .leaf {
    animation: nav-page-turn 2.2s var(--ease-smooth) infinite;
    transform-origin: 12px 13.4px;
  }
  .tab:hover .nav-icon-cylinder .end-l,
  .nav-sheet-row:hover .nav-icon-cylinder .end-l,
  .nav-fab-row:hover .nav-icon-cylinder .end-l {
    animation: nav-press-l 2s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-cylinder .end-r,
  .nav-sheet-row:hover .nav-icon-cylinder .end-r,
  .nav-fab-row:hover .nav-icon-cylinder .end-r {
    animation: nav-press-r 2s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-cylinder .shell,
  .nav-sheet-row:hover .nav-icon-cylinder .shell,
  .nav-fab-row:hover .nav-icon-cylinder .shell {
    animation: nav-roll-up 2s var(--ease-smooth) infinite;
    animation-delay: 500ms;
  }
  .tab:hover .nav-icon-cylinder .shell-bottom,
  .nav-sheet-row:hover .nav-icon-cylinder .shell-bottom,
  .nav-fab-row:hover .nav-icon-cylinder .shell-bottom {
    animation-name: nav-roll-up-rev;
  }
  .tab:hover .nav-icon-cylinder .shine,
  .nav-sheet-row:hover .nav-icon-cylinder .shine,
  .nav-fab-row:hover .nav-icon-cylinder .shine {
    animation: nav-shine 2s linear infinite;
    animation-delay: 1100ms;
  }
  .tab:hover .nav-icon-quote .roll,
  .nav-sheet-row:hover .nav-icon-quote .roll,
  .nav-fab-row:hover .nav-icon-quote .roll {
    animation: nav-tank-roll 2.4s linear infinite;
  }
  .tab:hover .nav-icon-quote .dim-l,
  .nav-sheet-row:hover .nav-icon-quote .dim-l,
  .nav-fab-row:hover .nav-icon-quote .dim-l {
    animation: nav-dim-out-l 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-quote .dim-r,
  .nav-sheet-row:hover .nav-icon-quote .dim-r,
  .nav-fab-row:hover .nav-icon-quote .dim-r {
    animation: nav-dim-out-r 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-quote .tag,
  .nav-sheet-row:hover .nav-icon-quote .tag,
  .nav-fab-row:hover .nav-icon-quote .tag {
    animation: nav-tag-lift 2.4s var(--ease-smooth) infinite;
    animation-delay: 500ms;
  }
  .tab:hover .nav-icon-today .sun,
  .nav-sheet-row:hover .nav-icon-today .sun,
  .nav-fab-row:hover .nav-icon-today .sun {
    animation: nav-sunrise 2.8s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-today .rays,
  .nav-sheet-row:hover .nav-icon-today .rays,
  .nav-fab-row:hover .nav-icon-today .rays {
    animation: nav-sun-turn 2.8s linear infinite;
    transform-origin: 12px 12px;
  }
  .tab:hover .nav-icon-orders .flap,
  .nav-sheet-row:hover .nav-icon-orders .flap,
  .nav-fab-row:hover .nav-icon-orders .flap {
    animation: nav-flap 2.2s var(--ease-smooth) infinite;
    transform-origin: 12px 6.6px;
  }
  .tab:hover .nav-icon-log .upright,
  .nav-sheet-row:hover .nav-icon-log .upright,
  .nav-fab-row:hover .nav-icon-log .upright {
    animation: nav-tally-draw 2.2s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-log .upright-2,
  .nav-sheet-row:hover .nav-icon-log .upright-2,
  .nav-fab-row:hover .nav-icon-log .upright-2 { animation-delay: 120ms; }
  .tab:hover .nav-icon-log .upright-3,
  .nav-sheet-row:hover .nav-icon-log .upright-3,
  .nav-fab-row:hover .nav-icon-log .upright-3 { animation-delay: 240ms; }
  .tab:hover .nav-icon-log .upright-4,
  .nav-sheet-row:hover .nav-icon-log .upright-4,
  .nav-fab-row:hover .nav-icon-log .upright-4 { animation-delay: 360ms; }
  .tab:hover .nav-icon-log .strike,
  .nav-sheet-row:hover .nav-icon-log .strike,
  .nav-fab-row:hover .nav-icon-log .strike {
    animation: nav-strike 2.2s var(--ease-smooth) infinite;
    animation-delay: 550ms;
  }
  .tab:hover .nav-icon-buy .cart,
  .nav-sheet-row:hover .nav-icon-buy .cart,
  .nav-fab-row:hover .nav-icon-buy .cart {
    animation: nav-roll 1.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-more .dots circle,
  .nav-sheet-row:hover .nav-icon-more .dots circle,
  .nav-fab-row:hover .nav-icon-more .dots circle {
    animation: nav-dot-pulse 2s var(--ease-smooth) infinite;
    transform-origin: center;
  }
  .tab:hover .nav-icon-more .dots circle:nth-child(2),
  .nav-sheet-row:hover .nav-icon-more .dots circle:nth-child(2),
  .nav-fab-row:hover .nav-icon-more .dots circle:nth-child(2) { animation-delay: 90ms; }
  .tab:hover .nav-icon-more .dots circle:nth-child(3),
  .nav-sheet-row:hover .nav-icon-more .dots circle:nth-child(3),
  .nav-fab-row:hover .nav-icon-more .dots circle:nth-child(3) { animation-delay: 180ms; }
  .tab:hover .nav-icon-more .dots circle:nth-child(4),
  .nav-sheet-row:hover .nav-icon-more .dots circle:nth-child(4),
  .nav-fab-row:hover .nav-icon-more .dots circle:nth-child(4) { animation-delay: 270ms; }
  .tab:hover .nav-icon-more .dots circle:nth-child(5),
  .nav-sheet-row:hover .nav-icon-more .dots circle:nth-child(5),
  .nav-fab-row:hover .nav-icon-more .dots circle:nth-child(5) { animation-delay: 360ms; }
  .tab:hover .nav-icon-more .dots circle:nth-child(6),
  .nav-sheet-row:hover .nav-icon-more .dots circle:nth-child(6),
  .nav-fab-row:hover .nav-icon-more .dots circle:nth-child(6) { animation-delay: 450ms; }
  .tab:hover .nav-icon-more .dots circle:nth-child(7),
  .nav-sheet-row:hover .nav-icon-more .dots circle:nth-child(7),
  .nav-fab-row:hover .nav-icon-more .dots circle:nth-child(7) { animation-delay: 540ms; }
  .tab:hover .nav-icon-more .dots circle:nth-child(8),
  .nav-sheet-row:hover .nav-icon-more .dots circle:nth-child(8),
  .nav-fab-row:hover .nav-icon-more .dots circle:nth-child(8) { animation-delay: 630ms; }
  .tab:hover .nav-icon-more .dots circle:nth-child(9),
  .nav-sheet-row:hover .nav-icon-more .dots circle:nth-child(9),
  .nav-fab-row:hover .nav-icon-more .dots circle:nth-child(9) { animation-delay: 720ms; }
  .tab:hover .nav-icon-newOrder .ring,
  .nav-sheet-row:hover .nav-icon-newOrder .ring,
  .nav-fab-row:hover .nav-icon-newOrder .ring {
    animation: nav-plus-turn 2.4s var(--ease-smooth) infinite;
    transform-origin: 16.9px 16.9px;
    color: var(--green);
  }
  .tab:hover .nav-icon-newOrder .plus,
  .nav-sheet-row:hover .nav-icon-newOrder .plus,
  .nav-fab-row:hover .nav-icon-newOrder .plus {
    color: var(--green);
  }
  .tab:hover .nav-icon-store .shutter,
  .nav-sheet-row:hover .nav-icon-store .shutter,
  .nav-fab-row:hover .nav-icon-store .shutter {
    animation: nav-shutter-roll 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-store .goods,
  .nav-sheet-row:hover .nav-icon-store .goods,
  .nav-fab-row:hover .nav-icon-store .goods {
    animation: nav-goods-reveal 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-outside .go,
  .nav-sheet-row:hover .nav-icon-outside .go,
  .nav-fab-row:hover .nav-icon-outside .go {
    animation: nav-go 1.8s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-goods .out,
  .nav-sheet-row:hover .nav-icon-goods .out,
  .nav-fab-row:hover .nav-icon-goods .out {
    animation: nav-lift-out 2.2s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-transfer .fwd,
  .nav-sheet-row:hover .nav-icon-transfer .fwd,
  .nav-fab-row:hover .nav-icon-transfer .fwd {
    animation: nav-arrow-fwd 1.7s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-transfer .back,
  .nav-sheet-row:hover .nav-icon-transfer .back,
  .nav-fab-row:hover .nav-icon-transfer .back {
    animation: nav-arrow-back 1.7s var(--ease-smooth) infinite;
    animation-delay: 850ms;
  }
  .tab:hover .nav-icon-contract .handle,
  .nav-sheet-row:hover .nav-icon-contract .handle,
  .nav-fab-row:hover .nav-icon-contract .handle {
    animation: nav-handle 2.1s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-contract .handle-2,
  .nav-sheet-row:hover .nav-icon-contract .handle-2,
  .nav-fab-row:hover .nav-icon-contract .handle-2 { animation-delay: 200ms; }
  .tab:hover .nav-icon-contract .handle-3,
  .nav-sheet-row:hover .nav-icon-contract .handle-3,
  .nav-fab-row:hover .nav-icon-contract .handle-3 { animation-delay: 400ms; }
  .tab:hover .nav-icon-contract .doc,
  .nav-sheet-row:hover .nav-icon-contract .doc,
  .nav-fab-row:hover .nav-icon-contract .doc {
    animation: nav-doc-pull 2.1s var(--ease-smooth) infinite;
    animation-delay: 200ms;
  }
  .tab:hover .nav-icon-signoff .tick-nav,
  .nav-sheet-row:hover .nav-icon-signoff .tick-nav,
  .nav-fab-row:hover .nav-icon-signoff .tick-nav {
    animation: nav-tick 2.2s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-signoff .rule,
  .nav-sheet-row:hover .nav-icon-signoff .rule,
  .nav-fab-row:hover .nav-icon-signoff .rule {
    animation: nav-rule-write 2.2s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-signoff .rule-1,
  .nav-sheet-row:hover .nav-icon-signoff .rule-1,
  .nav-fab-row:hover .nav-icon-signoff .rule-1 { animation-delay: 500ms; }
  .tab:hover .nav-icon-signoff .rule-2,
  .nav-sheet-row:hover .nav-icon-signoff .rule-2,
  .nav-fab-row:hover .nav-icon-signoff .rule-2 { animation-delay: 700ms; }
  .tab:hover .nav-icon-plan .tick-nav,
  .nav-sheet-row:hover .nav-icon-plan .tick-nav,
  .nav-fab-row:hover .nav-icon-plan .tick-nav {
    animation: nav-tick 2.2s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-rejected .cross,
  .nav-sheet-row:hover .nav-icon-rejected .cross,
  .nav-fab-row:hover .nav-icon-rejected .cross {
    animation: nav-strike-x 1.9s var(--ease-smooth) infinite;
    color: var(--red);
  }
  .tab:hover .nav-icon-rejected .cross-2,
  .nav-sheet-row:hover .nav-icon-rejected .cross-2,
  .nav-fab-row:hover .nav-icon-rejected .cross-2 { animation-delay: 220ms; }
  .tab:hover .nav-icon-batch .tank-1,
  .nav-sheet-row:hover .nav-icon-batch .tank-1,
  .nav-fab-row:hover .nav-icon-batch .tank-1 {
    animation: nav-converge-l 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-batch .tank-3,
  .nav-sheet-row:hover .nav-icon-batch .tank-3,
  .nav-fab-row:hover .nav-icon-batch .tank-3 {
    animation: nav-converge-r 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-batch .band,
  .nav-sheet-row:hover .nav-icon-batch .band,
  .nav-fab-row:hover .nav-icon-batch .band {
    animation: nav-cinch 2.4s var(--ease-smooth) infinite;
    transform-origin: 12px 5px;
  }
  .tab:hover .nav-icon-home .door,
  .nav-sheet-row:hover .nav-icon-home .door,
  .nav-fab-row:hover .nav-icon-home .door {
    animation: nav-door 2s var(--ease-smooth) infinite;
    transform-origin: 10px 21px;
  }
  .tab:hover .nav-icon-home .light,
  .nav-sheet-row:hover .nav-icon-home .light,
  .nav-fab-row:hover .nav-icon-home .light {
    animation: nav-light-spill 2s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-sheet .part,
  .nav-sheet-row:hover .nav-icon-sheet .part,
  .nav-fab-row:hover .nav-icon-sheet .part {
    animation: nav-settle 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-sheet .part-2,
  .nav-sheet-row:hover .nav-icon-sheet .part-2,
  .nav-fab-row:hover .nav-icon-sheet .part-2 { animation-delay: 280ms; }
  .tab:hover .nav-icon-sheet .part-3,
  .nav-sheet-row:hover .nav-icon-sheet .part-3,
  .nav-fab-row:hover .nav-icon-sheet .part-3 { animation-delay: 560ms; }
  .tab:hover .nav-icon-sheet .laser,
  .nav-sheet-row:hover .nav-icon-sheet .laser,
  .nav-fab-row:hover .nav-icon-sheet .laser {
    animation: nav-laser-pass 2.4s var(--ease-smooth) infinite;
    animation-delay: 900ms;
  }
  .tab:hover .nav-icon-sheet .laser .beam,
  .nav-sheet-row:hover .nav-icon-sheet .laser .beam,
  .nav-fab-row:hover .nav-icon-sheet .laser .beam {
    animation: nav-beam-flicker 220ms steps(2, jump-none) infinite;
    animation-delay: 900ms;
  }
  .tab:hover .nav-icon-challan .lines,
  .nav-sheet-row:hover .nav-icon-challan .lines,
  .nav-fab-row:hover .nav-icon-challan .lines {
    animation: nav-slide-out 2.1s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-capacity .cog,
  .nav-sheet-row:hover .nav-icon-capacity .cog,
  .nav-fab-row:hover .nav-icon-capacity .cog {
    animation: nav-cog-turn 3s linear infinite;
    transform-origin: 12px 4.4px;
  }
  .tab:hover .nav-icon-capacity .job,
  .nav-sheet-row:hover .nav-icon-capacity .job,
  .nav-fab-row:hover .nav-icon-capacity .job {
    animation: nav-job-fill 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-capacity .j2, .nav-sheet-row:hover .nav-icon-capacity .j2, .nav-fab-row:hover .nav-icon-capacity .j2 { animation-delay: 260ms; }
  .tab:hover .nav-icon-capacity .j3, .nav-sheet-row:hover .nav-icon-capacity .j3, .nav-fab-row:hover .nav-icon-capacity .j3 { animation-delay: 520ms; }
  .tab:hover .nav-icon-reports .bar,
  .nav-sheet-row:hover .nav-icon-reports .bar,
  .nav-fab-row:hover .nav-icon-reports .bar {
    animation: nav-grow 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-reports .bar-1,
  .nav-sheet-row:hover .nav-icon-reports .bar-1,
  .nav-fab-row:hover .nav-icon-reports .bar-1 { transform-origin: 6.7px 18px; }
  .tab:hover .nav-icon-reports .bar-2,
  .nav-sheet-row:hover .nav-icon-reports .bar-2,
  .nav-fab-row:hover .nav-icon-reports .bar-2 { transform-origin: 12px 18px; animation-delay: 210ms; }
  .tab:hover .nav-icon-reports .bar-3,
  .nav-sheet-row:hover .nav-icon-reports .bar-3,
  .nav-fab-row:hover .nav-icon-reports .bar-3 { transform-origin: 17.3px 18px; animation-delay: 420ms; }
  .tab:hover .nav-icon-analytics .trend,
  .nav-sheet-row:hover .nav-icon-analytics .trend,
  .nav-fab-row:hover .nav-icon-analytics .trend {
    animation: nav-draw-line 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-analytics .arrowhead,
  .nav-sheet-row:hover .nav-icon-analytics .arrowhead,
  .nav-fab-row:hover .nav-icon-analytics .arrowhead {
    animation: nav-arrive 2.4s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-rupee .bar-1,
  .nav-sheet-row:hover .nav-icon-rupee .bar-1,
  .nav-fab-row:hover .nav-icon-rupee .bar-1 {
    animation: nav-bar-write 2.2s var(--ease-smooth) infinite;
    transform-origin: 7px 5px;
  }
  .tab:hover .nav-icon-rupee .bar-2,
  .nav-sheet-row:hover .nav-icon-rupee .bar-2,
  .nav-fab-row:hover .nav-icon-rupee .bar-2 {
    animation: nav-bar-write 2.2s var(--ease-smooth) infinite;
    animation-delay: 210ms;
    transform-origin: 7px 9px;
  }
  .tab:hover .nav-icon-rupee .flourish,
  .nav-sheet-row:hover .nav-icon-rupee .flourish,
  .nav-fab-row:hover .nav-icon-rupee .flourish {
    animation: nav-flourish 2.2s var(--ease-smooth) infinite;
    animation-delay: 420ms;
  }
  .tab:hover .nav-icon-ledger .k,
  .nav-sheet-row:hover .nav-icon-ledger .k,
  .nav-fab-row:hover .nav-icon-ledger .k {
    animation: nav-key-press 2.2s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-ledger .k2, .nav-sheet-row:hover .nav-icon-ledger .k2, .nav-fab-row:hover .nav-icon-ledger .k2 { animation-delay: 120ms; }
  .tab:hover .nav-icon-ledger .k3, .nav-sheet-row:hover .nav-icon-ledger .k3, .nav-fab-row:hover .nav-icon-ledger .k3 { animation-delay: 240ms; }
  .tab:hover .nav-icon-ledger .k4, .nav-sheet-row:hover .nav-icon-ledger .k4, .nav-fab-row:hover .nav-icon-ledger .k4 { animation-delay: 360ms; }
  .tab:hover .nav-icon-ledger .k5, .nav-sheet-row:hover .nav-icon-ledger .k5, .nav-fab-row:hover .nav-icon-ledger .k5 { animation-delay: 480ms; }
  .tab:hover .nav-icon-ledger .k6, .nav-sheet-row:hover .nav-icon-ledger .k6, .nav-fab-row:hover .nav-icon-ledger .k6 { animation-delay: 600ms; }
  .tab:hover .nav-icon-ledger .rs,
  .nav-sheet-row:hover .nav-icon-ledger .rs,
  .nav-fab-row:hover .nav-icon-ledger .rs {
    animation: nav-type-in 2.2s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-admin .knob-a,
  .nav-sheet-row:hover .nav-icon-admin .knob-a,
  .nav-fab-row:hover .nav-icon-admin .knob-a {
    animation: nav-slide-knob 2.1s var(--ease-smooth) infinite;
  }
  .tab:hover .nav-icon-admin .knob-b,
  .nav-sheet-row:hover .nav-icon-admin .knob-b,
  .nav-fab-row:hover .nav-icon-admin .knob-b {
    animation: nav-slide-knob-rev 2.1s var(--ease-smooth) infinite;
    animation-delay: 420ms;
  }
  .tab:hover .nav-icon-history .hand,
  .nav-sheet-row:hover .nav-icon-history .hand,
  .nav-fab-row:hover .nav-icon-history .hand {
    animation: nav-history-turn 3.2s linear infinite;
    transform-origin: 12px 12px;
  }
}
@keyframes nav-page-turn {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(-0.2); }
}
@keyframes nav-shine {
  0% { transform: translateX(-11px); opacity: 0.15; }
  50% { opacity: 0.6; }
  100% { transform: translateX(0); opacity: 0.15; }
}
@keyframes nav-press-l {
  0% { transform: translateX(-4px); opacity: 0.25; }
  40%, 100% { transform: translateX(0); opacity: 1; }
}
@keyframes nav-press-r {
  0% { transform: translateX(4px); opacity: 0.25; }
  40%, 100% { transform: translateX(0); opacity: 1; }
}
@keyframes nav-roll-up {
  0%, 45% { transform: translateY(-2px); opacity: 0.4; }
  75%, 100% { transform: translateY(0); opacity: 1; }
}
@keyframes nav-roll-up-rev {
  0%, 45% { transform: translateY(2px); opacity: 0.4; }
  75%, 100% { transform: translateY(0); opacity: 1; }
}
@keyframes nav-tank-roll {
  0% { transform: translateX(0); opacity: 0; }
  14% { opacity: 0.9; }
  82% { opacity: 0.9; }
  100% { transform: translateX(5.7px); opacity: 0; }
}
@keyframes nav-dim-out-l {
  0%, 100% { transform: translateX(0); }
  45% { transform: translateX(-1.1px); }
}
@keyframes nav-dim-out-r {
  0%, 100% { transform: translateX(0); }
  45% { transform: translateX(1.1px); }
}
@keyframes nav-tag-lift {
  0%, 100% { transform: rotate(-38deg) translate(0, 0); }
  50% { transform: rotate(-38deg) translate(0, -1.4px); }
}
@keyframes nav-sunrise {
  0% { transform: translateY(2.5px); opacity: 0.55; }
  45%, 100% { transform: translateY(0); opacity: 1; }
}
@keyframes nav-sun-turn { to { transform: rotate(360deg); } }
@keyframes nav-flap {
  0%, 100% { transform: scaleY(1); }
  45%, 60% { transform: scaleY(-0.85); }
}
@keyframes nav-strike {
  0% { stroke-dasharray: 20; stroke-dashoffset: 20; }
  45%, 100% { stroke-dasharray: 20; stroke-dashoffset: 0; }
}
@keyframes nav-tally-draw {
  0% { stroke-dasharray: 11; stroke-dashoffset: 11; }
  30%, 100% { stroke-dasharray: 11; stroke-dashoffset: 0; }
}
@keyframes nav-roll {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(2.5px); }
}
@keyframes nav-dot-pulse {
  0%, 100% { transform: scale(1); opacity: 0.55; }
  50% { transform: scale(1.35); opacity: 1; }
}
@keyframes nav-plus-draw {
  0% { stroke-dasharray: 9; stroke-dashoffset: 9; }
  45%, 100% { stroke-dasharray: 9; stroke-dashoffset: 0; }
}
@keyframes nav-shutter-roll {
  0%, 15% { transform: translateY(0); }
  45%, 70% { transform: translateY(-13px); }
  100% { transform: translateY(0); }
}
@keyframes nav-goods-reveal {
  0%, 30% { opacity: 0; }
  50%, 65% { opacity: 1; }
  90%, 100% { opacity: 0; }
}
@keyframes nav-go {
  0% { transform: translateX(0); opacity: 1; }
  60% { transform: translateX(2.5px); opacity: 0.5; }
  100% { transform: translateX(0); opacity: 1; }
}
@keyframes nav-exit-out {
  0% { transform: translateX(0); opacity: 1; }
  65% { transform: translateX(4px); opacity: 0.3; }
  100% { transform: translateX(0); opacity: 1; }
}
@keyframes nav-arrow-fwd {
  0% { transform: translateX(0); opacity: 1; }
  60% { transform: translateX(3px); opacity: 0.4; }
  100% { transform: translateX(0); opacity: 1; }
}
@keyframes nav-arrow-back {
  0% { transform: translateX(0); opacity: 1; }
  60% { transform: translateX(-3px); opacity: 0.4; }
  100% { transform: translateX(0); opacity: 1; }
}
@keyframes nav-handle {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(2.5px); }
}
@keyframes nav-doc-pull {
  0%, 20% { transform: translateY(4px); opacity: 0; }
  50%, 65% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(4px); opacity: 0; }
}
@keyframes nav-tick {
  0% { stroke-dasharray: 10; stroke-dashoffset: 10; }
  45%, 100% { stroke-dasharray: 10; stroke-dashoffset: 0; }
}
@keyframes nav-rule-write {
  0%, 30% { stroke-dasharray: 8; stroke-dashoffset: 8; opacity: 0; }
  55%, 100% { stroke-dasharray: 8; stroke-dashoffset: 0; opacity: 1; }
}
@keyframes nav-strike-x {
  0% { stroke-dasharray: 14; stroke-dashoffset: 14; }
  45%, 100% { stroke-dasharray: 14; stroke-dashoffset: 0; }
}
@keyframes nav-cinch {
  0%, 40% { transform: scaleX(1.16); opacity: 0.55; }
  60%, 85% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(1.16); opacity: 0.55; }
}
@keyframes nav-converge-l {
  0%, 12% { transform: translateX(0); }
  55%, 82% { transform: translateX(4.3px); }
  100% { transform: translateX(0); }
}
@keyframes nav-converge-r {
  0%, 12% { transform: translateX(0); }
  55%, 82% { transform: translateX(-4.3px); }
  100% { transform: translateX(0); }
}
@keyframes nav-door {
  0%, 100% { transform: rotate(0deg); }
  45%, 60% { transform: rotate(-18deg); }
}
@keyframes nav-light-spill {
  0%, 35% { opacity: 0; }
  50%, 65% { opacity: 0.55; }
  100% { opacity: 0; }
}
@keyframes nav-settle {
  0% { transform: translateY(-4px); opacity: 0; }
  55%, 80% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(-4px); opacity: 0; }
}
@keyframes nav-slide-out {
  0% { transform: translateX(-3px); opacity: 0; }
  50% { transform: translateX(0); opacity: 1; }
  100% { transform: translateX(2px); opacity: 0; }
}
@keyframes nav-laser-pass {
  0%, 30% { transform: translateX(0); opacity: 0; }
  38% { opacity: 1; }
  85% { transform: translateX(13px); opacity: 1; }
  100% { transform: translateX(13px); opacity: 0; }
}
@keyframes nav-beam-flicker {
  0%, 100% { opacity: 0.9; }
  50% { opacity: 0.4; }
}
@keyframes nav-spark-pulse {
  0%, 85%, 100% { opacity: 0; }
  8%, 22% { opacity: 1; }
}
@keyframes nav-grow {
  0%, 100% { transform: scaleY(0); opacity: 0.35; }
  40%, 80% { transform: scaleY(1); opacity: 1; }
}
@keyframes nav-draw-line {
  0% { stroke-dasharray: 22; stroke-dashoffset: 22; }
  55%, 100% { stroke-dasharray: 22; stroke-dashoffset: 0; }
}
@keyframes nav-arrive {
  0%, 50% { opacity: 0; }
  60%, 100% { opacity: 1; }
}
@keyframes nav-bar-write {
  0% { transform: scaleX(0); opacity: 0; }
  40%, 100% { transform: scaleX(1); opacity: 1; }
}
@keyframes nav-flourish {
  0% { stroke-dasharray: 28; stroke-dashoffset: 28; }
  55%, 100% { stroke-dasharray: 28; stroke-dashoffset: 0; }
}
@keyframes nav-lift-out {
  0%, 10% { transform: translateY(3.2px); opacity: 0; }
  45%, 72% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(-2.6px); opacity: 0; }
}
@keyframes nav-cog-turn { to { transform: rotate(360deg); } }
@keyframes nav-job-fill {
  0%, 12% { opacity: 0.25; }
  45%, 82% { opacity: 1; }
  100% { opacity: 0.25; }
}
@keyframes nav-key-press {
  0%, 8% { transform: translateY(0); }
  14%, 22% { transform: translateY(0.9px); }
  30%, 100% { transform: translateY(0); }
}
@keyframes nav-type-in {
  0%, 10% { opacity: 0; }
  55%, 88% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes nav-plus-turn {
  0%, 10% { transform: rotate(0deg); }
  70%, 100% { transform: rotate(360deg); }
}
@keyframes nav-coin-drop {
  0%, 12% { transform: translateY(-4.5px); opacity: 0; }
  45%, 100% { transform: translateY(0); opacity: 1; }
}
@keyframes nav-note-flip {
  0%, 100% { transform: scaleY(1); }
  40% { transform: scaleY(0.12); }
  60% { transform: scaleY(1); }
}
@keyframes nav-band-draw {
  0% { stroke-dasharray: 16; stroke-dashoffset: 16; }
  50%, 100% { stroke-dasharray: 16; stroke-dashoffset: 0; }
}
@keyframes nav-slide-knob {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(3px); }
}
@keyframes nav-slide-knob-rev {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(-3px); }
}
@keyframes nav-history-turn {
  to { transform: rotate(360deg); }
}
.store-arrived {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-bottom: var(--space-14);
}
.jw-landing {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-10);
  margin-top: var(--space-10);
  padding-top: var(--space-10);
  border-top: 1px dashed var(--border);
}
.jw-landing-detail {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-10);
  flex: 1 1 20rem;
}
.jw-landing select,
.jw-landing input {
  max-width: 15rem;
}
.field-hint {
  margin-top: var(--space-2);
  color: var(--text-faint);
  font-size: var(--text-small);
}
.tr-lands-in { max-width: 12rem; }
#piece-flow-layer {
  position: fixed;
  inset: 0;
  z-index: 60;
  pointer-events: none;
}
.pf-figure,
.pf-piece { position: absolute; }
.pf-figure { width: 42px; height: 48px; }
.pf-piece {
  width: 26px;
  height: 15px;
  filter: drop-shadow(0 2px 3px rgba(33, 25, 21, 0.26));
}
.pf-figure svg,
.pf-piece svg { width: 100%; height: 100%; overflow: visible; }
.pf-figure svg {
  fill: none;
  stroke: var(--text);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pf-figure .pf-arm-far { stroke: var(--text-dim); stroke-width: 1.8; }
.pf-figure .pf-load {
  fill: var(--primary-soft);
  stroke: var(--primary);
  stroke-width: 2;
}
.pf-figure .pf-shadow {
  fill: rgba(33, 25, 21, 0.16);
  stroke: none;
}
.pf-piece svg {
  fill: var(--primary-soft);
  stroke: var(--primary);
  stroke-width: 1.7;
  stroke-linecap: round;
}
.pf-legs-2,
.pf-legs-3,
.pf-legs-4 { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .pf-figure .pf-legs-1 { animation: pf-f1 620ms steps(1) infinite; }
  .pf-figure .pf-legs-2 { animation: pf-f2 620ms steps(1) infinite; }
  .pf-figure .pf-legs-3 { animation: pf-f3 620ms steps(1) infinite; }
  .pf-figure .pf-legs-4 { animation: pf-f4 620ms steps(1) infinite; }
  .pf-figure .pf-body { animation: pf-bob 310ms ease-in-out infinite alternate; }
  .pf-figure .pf-load { animation: pf-bob-load 310ms ease-in-out infinite alternate; animation-delay: 70ms; }
  .pf-figure .pf-shadow { animation: pf-shadow 310ms ease-in-out infinite alternate; }
}
@keyframes pf-f1 { 0%, 24.9% { opacity: 1; } 25%, 100% { opacity: 0; } }
@keyframes pf-f2 { 0%, 24.9% { opacity: 0; } 25%, 49.9% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes pf-f3 { 0%, 49.9% { opacity: 0; } 50%, 74.9% { opacity: 1; } 75%, 100% { opacity: 0; } }
@keyframes pf-f4 { 0%, 74.9% { opacity: 0; } 75%, 100% { opacity: 1; } }
@keyframes pf-bob { from { transform: translateY(0.6px); } to { transform: translateY(-1.4px); } }
@keyframes pf-bob-load { from { transform: translateY(1px); } to { transform: translateY(-1px); } }
@keyframes pf-shadow { from { transform: scale(1); opacity: 1; } to { transform: scale(0.86); opacity: 0.7; } }
.pf-figure.is-left svg { transform: scaleX(-1); }
.pf-figure.is-throwing .pf-legs { animation: none; }
.pf-figure.is-throwing .pf-legs-1 { opacity: 1; }
.pf-figure.is-throwing .pf-legs-2,
.pf-figure.is-throwing .pf-legs-3,
.pf-figure.is-throwing .pf-legs-4 { opacity: 0; }
.pf-figure.is-throwing .pf-load { opacity: 0; animation: none; }
.pf-figure.is-throwing .pf-body { animation: none; }
.pf-figure.is-throwing .pf-shadow { animation: none; }
.pf-piece.is-rejected svg {
  fill: var(--red-soft);
  stroke: var(--red);
}
.pf-count {
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 20px;
  padding: 1px var(--space-4);
  border-radius: var(--radius-pill);
  background: var(--primary);
  color: var(--on-accent);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  line-height: 1.35;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.pf-piece.is-rejected .pf-count { background: var(--red); }
.pf-land {
  position: absolute;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1.5px solid var(--green);
}
.pf-caught {
  position: absolute;
  width: 56px;
  height: 56px;
  border-radius: var(--radius-md);
  border: 1.5px solid var(--red);
}
.filters-fold[open] > .filters-fold-body,
.customer-fold[open] > .chip-row,
.po-actions-fold[open] > div,
.note-card[open] > .note-card-body {
  animation: fold-open var(--dur-base) var(--ease-smooth) both;
}
@keyframes fold-open {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
.po-actions-fold > summary::before,
.note-card-summary::after {
  display: inline-block;
  transition: transform var(--dur-base) var(--ease-smooth);
}
.po-actions-fold[open] > summary::before,
.note-card[open] > .note-card-summary::after { transform: rotate(90deg); }
.po-list.is-settling { animation: list-settle var(--dur-base) var(--ease-smooth) both; }
@keyframes list-settle {
  from { opacity: 0.35; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}
.figure-changed { animation: figure-changed calc(var(--dur-slow) * 3.5) var(--ease-smooth) both; border-radius: var(--radius-sm); }
@keyframes figure-changed {
  0% { background: color-mix(in srgb, var(--green) 26%, transparent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--green) 16%, transparent); }
  70% { background: color-mix(in srgb, var(--green) 16%, transparent); box-shadow: 0 0 0 4px transparent; }
  100% { background: transparent; box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  .filters-fold[open] > .filters-fold-body,
  .customer-fold[open] > .chip-row,
  .po-actions-fold[open] > div,
  .note-card[open] > .note-card-body,
  .po-list.is-settling,
  .figure-changed { animation: none; }
  .po-actions-fold > summary::before,
  .note-card-summary::after { transition: none; }
}
.drawing-viewer {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-12);
  padding: var(--space-16);
  background: rgba(20, 15, 12, 0.88);
  opacity: 0;
  transition: opacity var(--dur-base) var(--ease-smooth);
}
.drawing-viewer.is-open { opacity: 1; }
.drawing-viewer img {
  max-width: 100%;
  max-height: calc(100vh - 140px);
  border-radius: var(--radius-md);
  background: #fff;
  transform: scale(0.97);
  transition: transform var(--dur-base) var(--ease-spring);
}
.drawing-viewer.is-open img { transform: scale(1); }
.drawing-viewer-caption {
  color: #fff;
  font-weight: var(--weight-bold);
  text-align: center;
  max-width: 40em;
}
.drawing-viewer-close {
  position: absolute;
  top: calc(var(--space-12) + env(safe-area-inset-top, 0px));
  right: var(--space-12);
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: var(--text-lead);
  cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
  .drawing-viewer,
  .drawing-viewer img { transition: none; }
}
.state-of-book {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-16) var(--space-18);
  margin-bottom: var(--space-16);
  box-shadow: var(--shadow-sm);
}
.sob-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-12);
  flex-wrap: wrap;
  margin-bottom: var(--space-14);
}
.sob-head h2 { font-size: var(--text-body); margin: 0; }
.sob-total { font-size: var(--text-small); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.sob-rows { display: flex; flex-direction: column; gap: var(--space-4); }
.sob-row {
  display: grid;
  grid-template-columns: minmax(7rem, 11rem) 1fr auto;
  align-items: center;
  gap: var(--space-12);
  min-height: 44px;
  padding: var(--space-8);
  border-radius: var(--radius-md);
  color: inherit;
  text-decoration: none;
}
@media (hover: hover) {
  .sob-row:not(.is-flat):hover { background: var(--surface-2); }
}
.sob-label { font-size: var(--text-small); color: var(--text-dim); }
.sob-track {
  height: 10px;
  border-radius: var(--radius-pill);
  background: var(--gray-soft);
  overflow: hidden;
}
.sob-fill {
  display: block;
  height: 100%;
  border-radius: var(--radius-pill);
  background: var(--text-faint);
}
.sob-fill.good { background: var(--green); }
.sob-fill.warn {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.38) 0 3px, transparent 3px 7px),
    var(--amber);
}
.sob-fill.bad {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.38) 0 3px, transparent 3px 7px),
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.3) 0 3px, transparent 3px 7px),
    var(--red);
}
.sob-fill.held {
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.34) 0 3px, transparent 3px 7px),
    var(--held);
}
.sob-figure {
  display: flex;
  align-items: baseline;
  gap: var(--space-6);
  font-variant-numeric: tabular-nums;
}
.sob-figure strong { font-size: var(--text-lead); }
.sob-share { font-size: var(--text-micro); color: var(--text-faint); }
@media (max-width: 560px) {
  .sob-row {
    grid-template-columns: 1fr auto;
    grid-template-areas: 'label figure' 'track track';
    row-gap: var(--space-6);
    padding-bottom: var(--space-8);
  }
  .sob-label { grid-area: label; }
  .sob-figure { grid-area: figure; }
  .sob-track { grid-area: track; }
}
.job-card { margin-bottom: var(--space-16); }
.job-card.is-guess { border-left: 1px solid var(--border-strong); }
.job-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-12);
  flex-wrap: wrap;
  margin-bottom: var(--space-14);
}
.job-head h2 { margin: 0; font-size: var(--text-lead); }
.job-meta { font-size: var(--text-small); color: var(--text-dim); margin-top: var(--space-2); }
.job-standing {
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  padding: var(--space-4) var(--space-10);
  border-radius: var(--radius-pill);
}
.job-standing.good { background: var(--green-soft); color: var(--green); }
.job-standing.bad { background: var(--red-soft); color: var(--red); }
.job-figures {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-22);
  margin-bottom: var(--space-14);
}
.job-figure { display: flex; flex-direction: column; }
.job-figure strong { font-size: var(--text-display); line-height: 1.1; font-variant-numeric: tabular-nums; }
.job-figure span { font-size: var(--text-small); color: var(--text-dim); }
.job-customer { font-size: var(--text-small); color: var(--text-dim); }
.job-give { display: flex; gap: var(--space-8); align-items: center; }
.job-give .job-qty { max-width: 5.5rem; }
.job-builds { margin-top: var(--space-12); font-size: var(--text-small); color: var(--text-dim); }
.job-match { margin-top: var(--space-8); font-size: var(--text-small); color: var(--text-faint); max-width: 44em; }
.shared-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  text-decoration: none;
}
.shared-tag.is-short { background: var(--amber-soft); color: var(--amber); }
.job-stages { margin: var(--space-14) 0; }
.job-stages-head {
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  margin-bottom: var(--space-8);
}
.job-stages-of { font-weight: var(--weight-medium); color: var(--text-dim); }
.job-stage {
  display: grid;
  grid-template-columns: minmax(6rem, 10rem) 1fr auto;
  align-items: center;
  gap: var(--space-10);
  padding: var(--space-2) 0;
}
.job-stage-name { font-size: var(--text-micro); color: var(--text-dim); }
.job-stage-track {
  height: 8px;
  border-radius: var(--radius-pill);
  background: var(--gray-soft);
  overflow: hidden;
}
.job-stage-fill {
  display: block;
  height: 100%;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--primary) 42%, transparent);
}
.job-stage-num { font-size: var(--text-small); font-variant-numeric: tabular-nums; color: var(--text-dim); }
.job-stage.is-here .job-stage-name { color: var(--primary-dark); font-weight: var(--weight-bold); }
.job-stage.is-here .job-stage-fill { background: var(--primary); }
.job-stage.is-here .job-stage-num { color: var(--text); font-weight: var(--weight-bold); }
@media (max-width: 560px) {
  .job-stage {
    grid-template-columns: 1fr auto;
    grid-template-areas: 'name num' 'track track';
    row-gap: var(--space-4);
  }
  .job-stage-name { grid-area: name; }
  .job-stage-num { grid-area: num; }
  .job-stage-track { grid-area: track; }
}
.batch-tag {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2) var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--primary);
  color: var(--on-accent);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
  text-decoration: none;
}
.job-confirm,
.job-confirmed {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  flex-wrap: wrap;
  margin-top: var(--space-12);
  padding: var(--space-10) var(--space-12);
  border-radius: var(--radius-md);
  font-size: var(--text-small);
}
.job-confirm { background: var(--primary-soft); }
.job-confirmed { background: var(--green-soft); }
.job-confirm > div { flex: 1 1 22rem; }
.se-batch,
.batch-note {
  margin: var(--space-8) 0;
  padding: var(--space-8) var(--space-10);
  border-radius: var(--radius-sm);
  background: var(--primary-soft);
  background-image: linear-gradient(var(--primary-soft), var(--primary-soft));
  color: var(--text);
  font-size: var(--text-micro);
  line-height: 1.45;
}
.batch-note { font-size: var(--text-small); }
.se-batch strong,
.batch-note strong { font-variant-numeric: tabular-nums; }
.se-batch.is-exit,
.batch-note.is-exit {
  background: var(--amber-soft);
  background-image: linear-gradient(var(--amber-soft), var(--amber-soft));
  color: var(--amber);
  font-weight: var(--weight-bold);
}
.bom-batch-note {
  margin: 0 0 var(--space-10);
  padding: var(--space-8) var(--space-10);
  border-radius: var(--radius-sm);
  background: var(--primary-soft);
  background-image: linear-gradient(var(--primary-soft), var(--primary-soft));
  font-size: var(--text-small);
  line-height: 1.45;
}
.dn-panel {
  margin: 0 0 var(--space-16);
  padding: var(--space-12);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--panel);
}
.dn-panel > summary {
  cursor: pointer;
  font-size: var(--text-small);
  list-style: revert;
}
.dn-why,
.dn-stuck {
  margin: var(--space-8) 0 0;
  font-size: var(--text-micro);
  color: var(--text-dim);
  line-height: 1.5;
}
.dn-list {
  margin: var(--space-12) 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--space-8);
}
.dn-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto;
  gap: var(--space-12);
  align-items: center;
  padding: var(--space-8) var(--space-10);
  border-radius: var(--radius-sm);
  background: var(--primary-soft);
  font-size: var(--text-micro);
}
.dn-what strong,
.dn-read strong { display: inline; }
.dn-what span { display: block; }
.dn-context {
  margin-top: var(--space-4);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  color: var(--text-dim);
  word-break: break-word;
}
@media (max-width: 899px) {
  .dn-row { grid-template-columns: 1fr; }
}
.bt-section {
  margin: var(--space-24) 0 var(--space-12);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
}
.bt-card { margin-bottom: var(--space-16); }
.bt-card.is-guess { border-style: dashed; }
.bt-card h2 { margin: 0; font-size: var(--text-body); }
.bt-head {
  display: flex;
  gap: var(--space-12);
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.bt-note {
  margin: var(--space-10) 0 0;
  font-size: var(--text-micro);
  color: var(--text-dim);
  line-height: 1.5;
}
.bt-stages {
  display: grid;
  gap: var(--space-4);
  margin: var(--space-12) 0;
}
.bt-stage {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr) 3rem;
  gap: var(--space-8);
  align-items: center;
  font-size: var(--text-micro);
}
.bt-stage-name { color: var(--text-dim); }
.bt-stage-num { text-align: right; font-variant-numeric: tabular-nums; }
.bt-bar {
  display: block;
  height: 8px;
  border-radius: var(--radius-pill);
  background: var(--primary-soft);
  overflow: hidden;
}
.bt-bar > span {
  display: block;
  height: 100%;
  background: var(--primary);
}
@media (max-width: 899px) {
  .bt-stage { grid-template-columns: 6rem minmax(0, 1fr) 2.5rem; }
}
.bt-group { margin: var(--space-12) 0; }
.bt-group-head {
  display: flex;
  gap: var(--space-8);
  align-items: baseline;
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--border);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
}
.bt-pick {
  display: grid;
  grid-template-columns: auto minmax(0, 2fr) minmax(0, 1.6fr) auto;
  gap: var(--space-10);
  align-items: center;
  padding: var(--space-8);
  border-radius: var(--radius-sm);
  font-size: var(--text-micro);
  cursor: pointer;
}
.bt-pick:hover { background: var(--surface-2); }
.bt-pick.is-on { background: var(--primary-soft); }
.bt-pick-what strong { display: block; }
.bt-pick-what span { display: block; }
.bt-pick.is-barred { cursor: not-allowed; }
.bt-pick.is-barred:hover { background: transparent; }
.bt-pick.is-barred .bt-tick,
.bt-pick.is-barred .bt-pick-keys,
.bt-pick.is-barred .bt-pick-qty { opacity: 0.45; }
.bt-pick-barred { display: block; color: var(--text-dim); font-style: italic; margin-top: var(--space-2); }
.bt-pick-keys {
  display: flex;
  gap: var(--space-8);
  flex-wrap: wrap;
  color: var(--text-dim);
}
.bt-pick-qty { color: var(--text-dim); white-space: nowrap; }
.bt-verdict {
  position: sticky;
  bottom: 0;
  display: flex;
  gap: var(--space-12);
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: var(--space-12);
  padding: var(--space-10) var(--space-12);
  border-radius: var(--radius-sm);
  background: var(--panel);
  border: 1px solid var(--border);
  font-size: var(--text-micro);
}
.bt-verdict.is-ok { border-color: var(--primary); background: var(--primary-soft); }
.bt-verdict.is-no { border-color: var(--amber); background: var(--amber-soft); color: var(--amber); }
.bt-verdict.is-quiet { color: var(--text-dim); }
.bt-warn { margin-top: var(--space-4); color: var(--text-dim); }
@media (max-width: 899px) {
  .bt-pick { grid-template-columns: auto minmax(0, 1fr); }
  .bt-pick-keys, .bt-pick-qty { grid-column: 2; }
}
.bt-modal {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-16);
  background: rgba(20, 16, 13, 0.45);
}
.bt-modal-card {
  width: min(720px, 100%);
  max-height: 80vh;
  overflow-y: auto;
  padding: var(--space-16);
  border-radius: var(--radius-md);
  background: var(--panel);
}
.bt-modal-card h2 { margin: 0 0 var(--space-8); font-size: var(--text-body); }
.bt-modal-foot {
  display: flex;
  gap: var(--space-8);
  justify-content: flex-end;
  margin-top: var(--space-12);
}
.bt-head-acts {
  display: flex;
  gap: var(--space-12);
  align-items: center;
  flex-wrap: wrap;
}
.bt-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr));
  gap: var(--space-12);
  margin-bottom: var(--space-24);
  align-items: start;
}
.bt-tile[open] { grid-column: 1 / -1; }
.bt-tile > summary {
  cursor: pointer;
  list-style: none;
  padding: var(--space-4) 0;
}
.bt-tile > summary::-webkit-details-marker { display: none; }
.bt-tile-face {
  display: grid;
  grid-template-areas: 'name count' 'sub count';
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2) var(--space-12);
  align-items: center;
}
.bt-tile-name {
  grid-area: name;
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}
.bt-tile-count {
  grid-area: count;
  font-size: var(--text-display);
  font-weight: var(--weight-strong);
  font-variant-numeric: tabular-nums;
  color: var(--primary);
  line-height: 1;
}
.bt-tile-sub {
  grid-area: sub;
  font-size: var(--text-micro);
  color: var(--text-dim);
}
.bt-hist { margin-top: var(--space-16); }
.bt-hist h3 {
  margin: var(--space-16) 0 var(--space-8);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.brand-home {
  display: inline-flex;
  align-items: center;
  gap: inherit;
  color: inherit;
  text-decoration: none;
}
.brand-home:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}
.nav-home-row {
  margin-bottom: var(--space-8);
  border-bottom: 1px solid var(--border);
}
.hm-head { margin-bottom: var(--space-16); }
.hm-bottleneck { margin: 0 0 var(--space-8); font-size: var(--text-small); color: var(--text-dim); }
.hm-bottleneck strong { color: var(--text); }
.hm-trend { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: var(--space-18); }
.hm-trend-part { min-width: 0; border-radius: var(--radius-md); cursor: pointer; }
.hm-trend-part .hm-cols { height: 170px; }
.hm-trend-part h3 { margin: 0 0 var(--space-8); font-size: var(--text-small); font-weight: var(--weight-strong); }
.hm-trend-part:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
.hm-row-link { display: flex; align-items: center; justify-content: space-between; gap: var(--space-12); width: 100%; min-height: 44px; margin-top: var(--space-12); padding: var(--space-8) var(--space-12); border: 1px solid var(--border); border-radius: var(--radius-md); background: transparent; color: var(--text); font: inherit; font-size: var(--text-small); text-align: left; cursor: pointer; }
.hm-row-link:hover { border-color: var(--primary); }
.hm-row-link:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.hm-quiet-row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-12); }
.hm-quiet-row > span { min-width: 0; display: flex; flex-direction: column; }
.hm-quiet-row strong { font-variant-numeric: tabular-nums; white-space: nowrap; }
.hm-head.hm-foot { margin: var(--space-24) 0 var(--space-16); text-align: center; }
.hm-ran { font-size: var(--text-micro); color: var(--text-dim); }
.hm-ran.is-short { color: var(--amber); font-weight: var(--weight-bold); }
.hm-cover {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-24);
  padding: var(--space-24) var(--space-28);
  margin-bottom: var(--space-16);
  background: var(--panel);
  border-radius: var(--radius-cover);
}
.hm-date { display: flex; align-items: center; gap: var(--space-14); }
.hm-date-mark {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  font-size: var(--text-hero);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-tight);
  line-height: 1;
}
.hm-date-say { font-size: var(--text-lead); font-weight: var(--weight-bold); line-height: var(--leading-tight); }
.hm-date-say span { display: block; font-size: var(--text-micro); font-weight: var(--weight-medium); color: var(--text-dim); }
.hm-lede { min-width: 0; }
.hm-lede-big {
  font-size: var(--text-hero);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-tight);
  line-height: var(--leading-tight);
  text-wrap: balance;
}
.hm-lede-big em { font-style: normal; color: var(--red); }
.hm-lede.is-calm .hm-lede-big em { color: var(--green); }
.hm-lede-say { margin-top: var(--space-6); font-size: var(--text-lead); color: var(--text-dim); }
.hm-lede-sub { margin-top: var(--space-8); font-size: var(--text-micro); color: var(--text-dim); }
.hm-jump {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  margin-top: var(--space-12);
  padding: var(--space-10) var(--space-18);
  background: var(--primary);
  color: var(--on-accent);
  border-radius: var(--radius-pill);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  transition: background var(--dur-fast) var(--ease-smooth);
}
.hm-jump:hover { background: var(--primary-dark); color: var(--on-accent); }
.hm-acts { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-8); margin-top: var(--space-12); }
.hm-acts .hm-jump { margin-top: 0; min-height: 44px; }
.hm-act {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  min-height: 44px;
  padding: var(--space-8) var(--space-14);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--panel);
  color: var(--text);
  font: inherit;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.hm-act:hover { border-color: var(--primary); color: var(--primary); }
.hm-act:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.hm-lede-ahead { margin-top: var(--space-6); font-size: var(--text-small); color: var(--text-dim); }
.hm-lede-ahead strong { color: var(--amber, var(--text)); }
.hm-bento {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-16);
  align-items: stretch;
  grid-auto-flow: dense;
}
.hm-w1 { grid-column: span 1; }
.hm-w2 { grid-column: span 2; }
.hm-w3 { grid-column: span 3; }
.hm-w4 { grid-column: span 4; }
.hm-w5 { grid-column: span 5; }
.hm-w6 { grid-column: span 6; }
.hm-w7 { grid-column: span 7; }
.hm-w8 { grid-column: span 8; }
.hm-w9 { grid-column: span 9; }
.hm-w10 { grid-column: span 10; }
.hm-w11 { grid-column: span 11; }
.hm-w12 { grid-column: span 12; }
@media (min-width: 1600px) {
  .hm-w3 { grid-column: span 2; }
  .hm-w4 { grid-column: span 3; }
  .hm-w5 { grid-column: span 3; }
  .hm-w6 { grid-column: span 4; }
  .hm-w7 { grid-column: span 4; }
  .hm-w8 { grid-column: span 5; }
  .hm-w9 { grid-column: span 6; }
  .hm-w10 { grid-column: span 6; }
  .hm-w11 { grid-column: span 7; }
  .hm-bento > .hm-x1 { grid-column: span 1; }
  .hm-bento > .hm-x2 { grid-column: span 2; }
  .hm-bento > .hm-x3 { grid-column: span 3; }
  .hm-bento > .hm-x4 { grid-column: span 4; }
  .hm-bento > .hm-x5 { grid-column: span 5; }
  .hm-bento > .hm-x6 { grid-column: span 6; }
  .hm-bento > .hm-x7 { grid-column: span 7; }
  .hm-bento > .hm-x8 { grid-column: span 8; }
  .hm-bento > .hm-x9 { grid-column: span 9; }
  .hm-bento > .hm-x10 { grid-column: span 10; }
  .hm-bento > .hm-x11 { grid-column: span 11; }
  .hm-bento > .hm-x12 { grid-column: span 12; }
}
.hm-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  min-width: 0;
}
.hm-stack > .hm-tile { flex: 1 1 auto; }
.hm-bento.is-measuring { align-items: start; }
.hm-tile {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-20);
  background: var(--panel);
  border-radius: var(--radius-cover);
}
.hm-tile h2 { margin: 0; font-size: var(--text-small); font-weight: var(--weight-bold); }
.hm-tile.is-failed { border: 1px solid var(--amber); }
.hm-tile.is-ink { background: var(--text); color: #fff; }
.hm-tile.is-ink h2 { color: #fff; }
.hm-tile.is-ink .hm-tile-note, .hm-tile.is-ink .hm-basis { color: var(--ink-dim); }
:root:not([data-theme='dark']) .hm-tile.is-ink > * {
  --text: #f5f1ec;
  --text-dim: var(--ink-dim);
  --text-faint: var(--ink-dim);
}
.hm-inset {
  margin-top: var(--space-14);
  padding: var(--space-14);
  background: var(--surface-2);
  border-radius: var(--radius-lg);
}
.hm-tile-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-12);
  margin-bottom: var(--space-12);
}
.hm-tile-note { margin: var(--space-10) 0 0; font-size: var(--text-micro); color: var(--text-dim); line-height: 1.5; }
.hm-tile > .hm-tile-note:last-child,
.hm-tile > .hm-basis:last-child { margin-top: auto; padding-top: var(--space-10); }
.hm-tile > .hm-inset:last-child { margin-top: auto; }
@media (min-width: 900px) {
  @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .glass-page .hm-tile:not(.is-ink) :is(.hm-tile-note, .hm-basis, .hm-nest-key) {
      background: var(--glass-hush);
      box-shadow: 0 0 16px 6px var(--glass-hush);
      border-radius: var(--radius-lg);
    }
  }
}
@media (prefers-reduced-transparency: reduce) {
  .glass-page .hm-tile :is(.hm-tile-note, .hm-basis, .hm-nest-key) { background: none; box-shadow: none; }
}
.hm-basis { margin-top: var(--space-8); font-size: var(--text-micro); color: var(--text-faint); font-variant: small-caps; }
.hm-why { margin: var(--space-8) 0; font-size: var(--text-small); color: var(--amber); }
.hm-withheld {
  margin: var(--space-8) 0 0;
  padding: var(--space-10);
  background: var(--gray-soft);
  border-radius: var(--radius-sm);
  font-size: var(--text-micro);
  color: var(--text-dim);
}
.hm-fig { display: flex; align-items: baseline; gap: var(--space-8); }
.hm-fig strong {
  font-size: var(--text-hero);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-tight);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.hm-fig span { font-size: var(--text-micro); color: var(--text-dim); }
.hm-tile.is-ink .hm-fig span { color: var(--ink-dim); }
.hm-fig.is-warn strong { color: var(--amber); }
.hm-fig.is-small strong { font-size: var(--text-display); }
.hm-chips { display: flex; flex-wrap: wrap; gap: var(--space-6); margin-top: var(--space-12); }
.hm-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  padding: var(--space-4) var(--space-12);
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  background: var(--gray-soft);
  color: var(--text-dim);
}
.hm-chip strong { font-weight: var(--weight-bold); color: var(--text); }
.hm-chip i { width: 8px; height: 8px; border-radius: var(--radius-pill); background: currentColor; }
.hm-chip.is-overdue { background: var(--red-soft); color: var(--red); }
.hm-chip.is-packed_late { background: var(--held-soft); color: var(--held); }
.hm-chip.is-at_risk { background: var(--amber-soft); color: var(--amber); }
.hm-chip.is-on_track { background: var(--green-soft); color: var(--green); }
.hm-chip.is-unscheduled { background: var(--gray-soft); color: var(--text-dim); }
.hm-nest { display: block; width: 100%; height: auto; flex: 1 1 auto; min-height: 0; }
.hm-dots { display: grid; grid-template-columns: repeat(10, 1fr); gap: var(--space-6); margin-top: var(--space-14); }
.hm-dot {
  aspect-ratio: 1;
  border-radius: var(--radius-pill);
  background: var(--gray-soft);
  transform: scale(0.55);
}
.hm-dot.is-written { background: var(--primary); transform: scale(1); }
.hm-dot.is-sent { background: var(--green); transform: scale(1); }
.hm-spark { display: block; width: 100%; height: 56px; margin-top: var(--space-12); }
.hm-scroll { flex: 1 1 auto; overflow-x: auto; }
.hm-scroll { flex: 1 1 auto; overflow-x: auto; }
.hm-table {
  width: 100%;
  margin-top: var(--space-12);
  border-collapse: collapse;
  table-layout: fixed;
  font-size: var(--text-micro);
}
.hm-table th {
  padding: 0 var(--space-8) var(--space-8) 0;
  border-bottom: 1px solid var(--border);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  color: var(--text-faint);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  white-space: nowrap;
}
.hm-table td {
  padding: var(--space-10) var(--space-8) var(--space-10) 0;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}
.hm-table th:last-child, .hm-table td:last-child { padding-right: 0; }
.hm-table tbody tr:last-child td { border-bottom: 0; }
.hm-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hm-table .num strong { font-size: var(--text-small); }
.hm-name { display: block; font-weight: var(--weight-bold); overflow-wrap: anywhere; }
.hm-under { display: block; margin-top: var(--space-2); color: var(--text-dim); font-weight: var(--weight-medium); overflow-wrap: anywhere; }
.hm-dot-key { display: inline-block; width: 9px; height: 9px; margin-right: var(--space-8); border-radius: var(--radius-pill); vertical-align: baseline; }
.hm-dot-key.is-overdue { background: var(--red); }
.hm-dot-key.is-packed_late { background: var(--held); }
.hm-dot-key.is-at_risk { background: var(--amber); }
.hm-dot-key.is-on_track { background: var(--green); }
.hm-dot-key.is-unscheduled { background: var(--text-dim); }
.hm-blocked-bar {
  display: flex;
  height: 14px;
  border-radius: var(--radius-pill);
  overflow: hidden;
  background: var(--gray-soft);
  margin-bottom: var(--space-12);
}
.hm-blocked-band { display: block; height: 100%; }
.hm-blocked-band.is-draftable,
.hm-blocked-dot.is-draftable { background: var(--primary); }
.hm-blocked-band.is-sheet_here,
.hm-blocked-dot.is-sheet_here { background: color-mix(in srgb, var(--primary) 62%, transparent); }
.hm-blocked-band.is-needs_sheet,
.hm-blocked-dot.is-needs_sheet { background: color-mix(in srgb, var(--primary) 34%, transparent); }
.hm-blocked-band.is-nothing,
.hm-blocked-dot.is-nothing { background: var(--border-strong); }
.hm-blocked-keys { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-6); }
.hm-blocked-keys li { display: flex; align-items: baseline; gap: var(--space-8); font-size: var(--text-small); color: var(--text-dim); }
.hm-blocked-keys b { color: var(--text); font-variant-numeric: tabular-nums; }
.hm-blocked-dot { width: 9px; height: 9px; border-radius: var(--radius-pill); flex: none; align-self: center; }
@media (max-width: 560px) {
  .hm-drawer-body .hm-table,
  .hm-drawer-body .hm-table tbody,
  .hm-drawer-body .hm-table tr,
  .hm-drawer-body .hm-table td { display: block; width: auto; min-width: 0; }
  .hm-drawer-body .hm-table thead { display: none; }
  .hm-drawer-body .hm-table tr {
    padding: var(--space-12) 0;
    border-bottom: 1px solid var(--border);
  }
  .hm-drawer-body .hm-table td { padding: 0; border: none; text-align: left; }
  .hm-drawer-body .hm-table td:not(:first-child) { margin-top: var(--space-6); }
  .hm-drawer-body .hm-table .hm-name { overflow-wrap: anywhere; }
  .hm-drawer-body .hm-scroll { overflow-x: visible; }
}
.hm-figure { font-size: var(--text-display); font-weight: var(--weight-bold); letter-spacing: var(--track-display); margin: 0 0 var(--space-4); }
.hm-drawer-sub {
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-dim);
  margin: var(--space-22) 0 var(--space-4);
}
.hm-drawer-sub:first-child { margin-top: 0; }
.hm-bar-track { display: block; height: 10px; border-radius: var(--radius-pill); background: var(--gray-soft); overflow: hidden; }
.hm-bar-track > span { display: block; height: 100%; background: var(--primary); border-radius: var(--radius-pill); }
@media (hover: hover) {
  canvas { cursor: crosshair; }
}
@media (hover: hover) {
  .hm-tile[data-open] { position: relative; }
  .hm-tile[data-open]::before {
    content: '';
    position: absolute;
    inset: var(--space-8);
    background-image:
      linear-gradient(var(--primary), var(--primary)),
      linear-gradient(var(--primary), var(--primary)),
      linear-gradient(var(--primary), var(--primary)),
      linear-gradient(var(--primary), var(--primary));
    background-size: 6px 1px, 1px 6px, 6px 1px, 1px 6px;
    background-position: left top, left top, right bottom, right bottom;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity var(--dur-fast) var(--ease-smooth);
    pointer-events: none;
  }
  .hm-tile[data-open]:hover::before,
  .hm-tile[data-open]:focus-within::before { opacity: 0.85; }
}
@media (prefers-reduced-motion: reduce) {
  .hm-tile[data-open]::before { transition: none; }
}
.hm-readout {
  position: fixed;
  z-index: 60;
  display: grid;
  gap: var(--space-2);
  padding: var(--space-8) var(--space-10);
  max-width: 18rem;
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 2px solid var(--primary);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg);
  pointer-events: none;
  opacity: 0;
  transform: translateY(2px);
  transition: opacity var(--dur-fast) var(--ease-smooth), transform var(--dur-fast) var(--ease-smooth);
}
.hm-readout.is-on { opacity: 1; transform: none; }
.hm-readout strong { font-size: var(--text-body); font-variant-numeric: tabular-nums; color: var(--text); }
.hm-readout span { font-size: var(--text-micro); color: var(--text-dim); }
.hm-readout.is-late { background-image: linear-gradient(var(--red-soft), var(--red-soft));
  --glass-tint: var(--tint-late);
}
@media (prefers-reduced-motion: reduce) {
  .hm-readout { transition: none; transform: none; }
}
@media (hover: hover) {
  [data-fact] { cursor: crosshair; }
}
.hm-spend { display: grid; gap: var(--space-8); margin-top: var(--space-16); }
.hm-spend-row { display: grid; grid-template-columns: minmax(0, 1fr) 4fr auto; gap: var(--space-8); align-items: center; }
.hm-spend-row .hm-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hm-spend-cost { font-variant-numeric: tabular-nums; color: var(--text-dim); font-size: var(--text-small); }
.hm-drawer-body .hm-table { font-size: var(--text-small); margin-top: var(--space-8); }
@media (min-width: 561px) {
  .hm-drawer-body .hm-table td { padding: var(--space-16) var(--space-8) var(--space-16) 0; }
}
.hm-drawer-body .hm-table .hm-under { font-size: var(--text-micro); }
.hm-greet {
  margin-bottom: var(--space-8);
  font-size: var(--text-heading);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-tight);
  line-height: var(--leading-tight);
  color: var(--text);
}
.hm-greet span { font-weight: var(--weight-medium); color: var(--text-dim); }
.hm-ring-list { list-style: none; margin: var(--space-12) 0 0; padding: 0; display: grid; gap: var(--space-8); }
.hm-promise {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--space-12);
  padding: var(--space-10);
  background: var(--surface-2);
  border-radius: var(--radius-md);
  font-size: var(--text-micro);
}
.hm-promise.is-late { background: var(--red-soft); }
.hm-promise-what { min-width: 0; }
.hm-promise-what strong { display: block; font-size: var(--text-small); }
.hm-promise-what span { color: var(--text-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.hm-promise-when { text-align: right; white-space: nowrap; color: var(--text-dim); }
.hm-late { color: var(--red); font-weight: var(--weight-bold); }
.hm-need {
  display: grid;
  place-items: center;
  min-width: 3.6rem;
  padding: var(--space-6) var(--space-10);
  background: var(--panel);
  border-radius: var(--radius-pill);
  text-align: center;
  white-space: nowrap;
}
.hm-need strong { display: block; font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.hm-need span { color: var(--text-dim); }
.hm-ring-call {
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 var(--space-12);
  border-radius: var(--radius-pill);
  background: var(--primary);
  color: var(--panel);
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  text-decoration: none;
  white-space: nowrap;
}
.hm-ring-call:hover { filter: brightness(1.08); }
.hm-ring-call:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.hm-promise:has(.hm-ring-call) { grid-template-columns: minmax(0, 1fr) auto auto auto; }
.hm-call:has(.hm-ring-call) { display: flex; align-items: center; gap: var(--space-8); }
.hm-call:has(.hm-ring-call) > button { flex: 1 1 auto; min-width: 0; }
.hm-call .hm-ring-call { flex: none; margin-right: var(--space-8); }
.hm-plain { list-style: none; margin: var(--space-12) 0 0; padding: 0; display: grid; gap: var(--space-8); font-size: var(--text-micro); }
.hm-fault { padding: var(--space-10); border-radius: var(--radius-md); background: var(--amber-soft); }
.hm-fault-detail { margin-top: 3px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--text-dim); word-break: break-word; }
.hm-chart { height: 240px; }
@media (max-width: 1000px) {
  .hm-w1, .hm-w2, .hm-w3, .hm-w4, .hm-w5,
  .hm-w7, .hm-w8, .hm-w9, .hm-w10, .hm-w11 { grid-column: span 6; }
}
@media (max-width: 700px) {
  .hm-cover { grid-template-columns: minmax(0, 1fr); gap: var(--space-16); padding: var(--space-18); }
  .hm-bento > * { grid-column: span 12 !important; }
  .hm-lede-big { font-size: var(--text-display); }
  .hm-bar { grid-template-columns: 6rem minmax(0, 1fr) 3rem; }
  .hm-promise, .hm-promise:has(.hm-ring-call) { grid-template-columns: minmax(0, 1fr) auto; }
  .hm-promise-when { grid-column: 1; text-align: left; }
  .hm-promise:has(.hm-ring-call) { grid-template-areas: 'what need' 'when ring'; }
  .hm-promise:has(.hm-ring-call) .hm-promise-what { grid-area: what; }
  .hm-promise:has(.hm-ring-call) .hm-promise-when { grid-area: when; }
  .hm-promise:has(.hm-ring-call) .hm-need { grid-area: need; }
  .hm-promise:has(.hm-ring-call) .hm-ring-call { grid-area: ring; justify-self: end; }
}
.bl-read-btn {
display: inline-flex;
align-items: center;
cursor: pointer;
padding: 7px 12px;
font-size: var(--text-small);
font-weight: var(--weight-bold);
border-radius: var(--radius-xs);
border: 1.5px solid var(--border-strong);
color: var(--text);
background: var(--panel);
}
.bl-read-btn:hover { border-color: var(--primary); color: var(--primary); }
#bl-lines-body tr.is-unverified .bl-rate {
border-color: var(--amber);
background: var(--amber-soft);
}
.bl-share { display: flex; align-items: center; gap: var(--space-8); flex-wrap: wrap; }
.bl-share input { max-width: 5.5rem; }
.bl-share span { font-size: var(--text-small); color: var(--text-dim); }
.bl-costs-table .bl-cost-in { max-width: 9rem; text-align: right; font-variant-numeric: tabular-nums; }
.bl-costs-table .bl-cost-in::placeholder { color: var(--text-faint); font-style: italic; }
.hm-flow {
display: flex;
width: 100%;
height: 26px;
margin-top: var(--space-14);
border-radius: var(--radius-pill);
overflow: hidden;
background: var(--gray-soft);
}
.hm-flow-part { display: block; width: 0; height: 100%; }
.hm-flow-part.is-missing {
background: repeating-linear-gradient(135deg, transparent, transparent 5px, var(--border-strong) 5px, var(--border-strong) 6px);
}
.hm-flow-key {
display: flex;
flex-wrap: wrap;
gap: var(--space-8) var(--space-16);
margin-top: var(--space-10);
font-size: var(--text-micro);
color: var(--text-dim);
}
.hm-flow-key span { display: flex; align-items: center; gap: var(--space-6); }
.hm-flow-key i { width: 10px; height: 10px; border-radius: var(--radius-pill); flex: none; }
.hm-flow-key strong { color: var(--text); font-variant-numeric: tabular-nums; }
[data-money-press] { cursor: pointer; }
.hm-cost-col[data-money-press]:hover .hm-cost-bar > b, .hm-grade[data-money-press]:hover .hm-grade-name { filter: brightness(1.15); }
.hm-cost-col.is-picked .hm-cost-bar > b { outline: 2px solid var(--amber); outline-offset: 1px; }
.hm-cost-col.is-picked span { color: var(--amber); font-weight: var(--weight-bold); }
.hm-name-press { background: none; border: 0; padding: 0; font: inherit; color: var(--primary); cursor: pointer; text-align: left; }
.hm-name-press:hover { text-decoration: underline; }
.hm-month-chip {
  display: inline-flex; align-items: center; gap: var(--space-6);
  margin-top: var(--space-6); padding: var(--space-2) var(--space-10);
  border: 1px solid var(--amber); border-radius: var(--radius-pill);
  background: transparent; color: var(--amber);
  font: inherit; font-size: var(--text-micro); font-weight: var(--weight-bold); letter-spacing: var(--track-caps);
  cursor: pointer;
}
.hm-month-chip:hover { background: var(--amber); color: var(--bg); }
.hm-tile.is-redrawn, .hm-tile.is-redrawn * { animation: none !important; }
.hm-flow-part[data-money-press]:hover { filter: brightness(1.2); }
.hm-grade.is-isolated { grid-template-columns: 3.5rem minmax(0, 6rem) minmax(0, 1fr) 4rem; }
.hm-grade.is-isolated .hm-grade-spark .hm-spark { height: 56px; }
.hm-grade.is-isolated .hm-grade-name { color: var(--amber); }
.hm-grade-range { grid-column: 1 / -1; display: flex; justify-content: space-between; font-size: var(--text-micro); color: var(--text-dim); }
.hm-grade-range b { color: var(--text); font-variant-numeric: tabular-nums; }
.hm-whatif-row { display: flex; align-items: center; gap: var(--space-10); margin-top: var(--space-12); font-size: var(--text-micro); color: var(--text-dim); }
.hm-whatif { flex: 1 1 auto; accent-color: var(--amber); min-height: 24px; }
.hm-whatif-val { font-variant-numeric: tabular-nums; min-width: 3.5rem; text-align: right; color: var(--text); }
.hm-whatif-say { margin-top: var(--space-6); }
.hm-ageing { display: flex; width: 100%; height: 26px; margin-top: var(--space-14); border-radius: var(--radius-pill); overflow: hidden; background: var(--gray-soft); }
.hm-ageing-part { display: block; width: 0; height: 100%; }
.hm-ageing-part.is-due { background: var(--primary); }
.hm-ageing-part.is-d30 { background: var(--amber); }
.hm-ageing-part.is-d60 { background: #d9772a; }
.hm-ageing-part.is-d90 { background: #d2472e; }
.hm-ageing-part.is-d90plus { background: var(--red); }
.hm-ageing-key { display: flex; flex-wrap: wrap; gap: var(--space-6) var(--space-12); margin-top: var(--space-8); font-size: var(--text-micro); color: var(--text-dim); }
.hm-ageing-key span { display: inline-flex; align-items: center; gap: var(--space-4); }
.hm-ageing-key i { width: 9px; height: 9px; border-radius: var(--radius-pill); display: inline-block; }
.hm-ageing-key strong { color: var(--text); font-variant-numeric: tabular-nums; }
.hm-grades { display: grid; gap: var(--space-10); margin-top: var(--space-14); }
.hm-grade { display: grid; grid-template-columns: 3.5rem minmax(0, 6rem) minmax(0, 1fr) 4rem; align-items: center; gap: var(--space-8); }
.hm-grade-name { font-size: var(--text-micro); font-weight: var(--weight-bold); color: var(--text-dim); letter-spacing: var(--track-caps); }
.hm-grade-fig strong { font-size: var(--text-lead); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; }
.hm-grade-fig small { font-size: var(--text-micro); color: var(--text-dim); margin-left: var(--space-2); }
.hm-grade-fig em { font-size: var(--text-micro); color: var(--text-faint); font-style: normal; }
.hm-grade-spark .hm-spark { height: 28px; width: 100%; display: block; }
.hm-grade-delta { font-size: var(--text-micro); font-variant-numeric: tabular-nums; text-align: right; }
.hm-up { color: var(--red); }
.hm-down { color: var(--green); }
.hm-grade.is-blank { opacity: 0.6; }
.hm-vendors, .hm-margins { display: grid; gap: var(--space-8); margin-top: var(--space-14); }
.hm-vendor-row, .hm-margin-row { display: grid; grid-template-columns: minmax(0, 8rem) minmax(0, 1fr) auto; align-items: center; gap: var(--space-8); }
.hm-vendor-name, .hm-margin-name { font-size: var(--text-micro); color: var(--text-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-vendor-track { display: flex; height: 10px; border-radius: var(--radius-pill); background: var(--gray-soft); overflow: hidden; }
.hm-vendor-track > b { display: block; width: 0; height: 100%; }
.hm-vendor-track > b.is-material, .hm-key.is-material { background: var(--primary); }
.hm-vendor-track > b.is-work, .hm-key.is-work { background: var(--primary-dark); }
.hm-vendor-track > b.is-overdue { background: var(--red); }
.hm-vendor-amt, .hm-margin-pct { font-size: var(--text-small); font-variant-numeric: tabular-nums; color: var(--text); }
.hm-key { display: inline-block; width: 9px; height: 9px; border-radius: var(--radius-pill); margin: 0 var(--space-2) 0 var(--space-6); vertical-align: middle; }
.hm-margin-track { position: relative; display: block; height: 10px; background: var(--gray-soft); border-radius: var(--radius-pill); overflow: hidden; }
.hm-margin-track::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--border-strong); }
.hm-margin-track > b { position: absolute; top: 0; height: 100%; width: 0; }
.hm-margin-track > b.is-gain { left: 50%; background: var(--green); border-radius: 0 var(--radius-pill) var(--radius-pill) 0; }
.hm-margin-track > b.is-loss { right: 50%; background: var(--red); border-radius: var(--radius-pill) 0 0 var(--radius-pill); }
.hm-margin-pct.is-loss, .hm-loss { color: var(--red); }
.hm-sub { font-size: var(--text-small); margin: var(--space-16) 0 var(--space-8); color: var(--text-dim); font-weight: var(--weight-bold); }
.hm-metal { display: grid; gap: var(--space-10); margin-top: var(--space-14); }
.hm-metal-row { display: grid; grid-template-columns: minmax(0, 7rem) minmax(0, 1fr) auto; align-items: center; gap: var(--space-8); }
.hm-metal-label { font-size: var(--text-micro); color: var(--text-dim); }
.hm-metal-track { display: block; height: 10px; border-radius: var(--radius-pill); background: var(--gray-soft); overflow: hidden; }
.hm-metal-track > b { display: block; width: 0; height: 100%; border-radius: var(--radius-pill); }
.hm-metal-none { font-size: var(--text-micro); color: var(--text-faint); font-style: normal; }
.hm-metal-kg { font-size: var(--text-small); font-variant-numeric: tabular-nums; color: var(--text); }
.hm-cost { display: flex; align-items: flex-end; gap: var(--space-8); min-height: 90px; margin-top: var(--space-14); overflow: hidden; }
.hm-cost-col { flex: 1 1 0; display: flex; flex-direction: column; height: 100%; min-width: 0; }
.hm-cost-bar { flex: 1 1 auto; display: flex; align-items: flex-end; justify-content: center; }
.hm-cost-bar > b {
display: block;
width: 62%;
height: 0;
min-height: 3px;
border-radius: var(--radius-sm) var(--radius-sm) 0 0;
background: var(--primary);
}
.hm-cost-gap { display: block; width: 62%; height: 3px; border-bottom: 2px dotted var(--border-strong); }
.hm-cost-col > span { margin-top: var(--space-8); text-align: center; font-size: var(--text-micro); color: var(--text-dim); }
.hm-bar-track > span, .hm-col-bars > b, .hm-flow-part, .hm-metal-track > b, .hm-cost-bar > b, .hm-vendor-track > b, .hm-margin-track > b, .hm-book-part {
transition: width var(--dur-reveal) var(--ease-spring), height var(--dur-reveal) var(--ease-spring);
}
.hm-tile, .hm-cover { animation: hm-land var(--dur-reveal) var(--ease-smooth) backwards; }
.hm-nest circle { animation: hm-pop-in var(--dur-reveal) var(--ease-smooth) backwards; transform-box: fill-box; transform-origin: 50% 100%; }
.hm-line circle { animation-name: hm-drop-in; transform-origin: 50% 50%; }
.hm-dot { animation: hm-dot-in var(--dur-reveal) var(--ease-pop) backwards; }
.hm-spark-line.is-drawing { transition: stroke-dashoffset var(--dur-draw) var(--ease-smooth); }
.hm-spark {
animation: hm-rise-up var(--dur-reveal) var(--ease-spring) backwards;
transform-origin: bottom center;
}
.hm-spark-fill {
animation: hm-wipe-in var(--dur-draw) var(--ease-smooth) backwards;
transform-box: fill-box;
transform-origin: left center;
}
.hm-line-axis, .hm-line-today {
animation: hm-rule-in var(--dur-reveal) var(--ease-smooth) backwards;
transform-box: fill-box;
transform-origin: left center;
}
.hm-line-today { transform-origin: bottom center; animation-name: hm-stand-in; animation-delay: 90ms; }
.hm-nest text, .hm-cols .hm-col > span {
animation: hm-word-in var(--dur-reveal) var(--ease-smooth) backwards;
animation-delay: 300ms;
transform-box: fill-box;
}
.hm-bead circle {
animation: hm-bead-in 1400ms var(--ease-smooth) backwards;
animation-delay: calc(240ms + var(--i, 0) * 26ms);
transform-box: fill-box;
transform-origin: center;
}
.hm-bead-label { animation: hm-word-in var(--dur-reveal) var(--ease-smooth) backwards; animation-delay: 900ms; }
.hm-hero-glow { animation: hm-breathe 8s ease-in-out infinite; }
.hm-queue-row { animation: hm-word-in var(--dur-reveal) var(--ease-smooth) backwards; }
.hm-queue-row:nth-child(2) { animation-delay: 60ms; }
.hm-queue-row:nth-child(3) { animation-delay: 120ms; }
.hm-queue-row:nth-child(4) { animation-delay: 180ms; }
.hm-queue-row:nth-child(5) { animation-delay: 240ms; }
.hm-queue-row:nth-child(n + 6) { animation-delay: 300ms; }
.hm-armed .hm-cover:not(.is-seen),
.hm-armed .hm-cover:not(.is-seen) *,
.hm-armed .hm-tile:not(.is-seen),
.hm-armed .hm-tile:not(.is-seen) * { animation-play-state: paused; }
.hm-cover { animation-delay: 0ms; }
.hm-bento > *:nth-child(1) { animation-delay: 60ms; }
.hm-bento > *:nth-child(2) { animation-delay: 100ms; }
.hm-bento > *:nth-child(3) { animation-delay: 140ms; }
.hm-bento > *:nth-child(4) { animation-delay: 180ms; }
.hm-bento > *:nth-child(5) { animation-delay: 220ms; }
.hm-bento > *:nth-child(n + 6) { animation-delay: 260ms; }
.hm-armed .hm-cover, .hm-armed .hm-bento > * { animation-delay: 0ms; }
@keyframes hm-land {
  0% { opacity: 0; transform: translateY(-26px) scale(0.985); }
  62% { opacity: 1; transform: translateY(6px) scale(1.002); }
  82% { transform: translateY(-2px); }
  100% { opacity: 1; transform: none; }
}
@keyframes hm-pop-in {
  0% { transform: scale(0); opacity: 0; }
  58% { transform: scale(1.16); opacity: 1; }
  79% { transform: scale(0.95); }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes hm-drop-in {
  0% { transform: translateY(-30px) scale(0.5); opacity: 0; }
  56% { transform: translateY(0px) scale(1.14); opacity: 1; }
  74% { transform: translateY(-7px) scale(0.96); }
  100% { transform: translateY(0px) scale(1); opacity: 1; }
}
@keyframes hm-rise-up {
  from { transform: scaleY(0.03); opacity: 0; }
  to { transform: scaleY(1); opacity: 1; }
}
@keyframes hm-dot-in {
  0% { transform: scale(0); opacity: 0; }
  62% { transform: scale(1.28); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes hm-wipe-in {
  from { transform: scaleX(0); opacity: 0; }
  to { transform: scaleX(1); opacity: 1; }
}
@keyframes hm-rule-in {
  from { transform: scaleX(0); }
}
@keyframes hm-stand-in {
  from { transform: scaleY(0); }
}
@keyframes hm-word-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: none; }
}
@keyframes hm-bead-in {
  0% { opacity: 0; transform: translateY(34px) scale(0.35); }
  55% { opacity: 1; }
  100% { opacity: 1; transform: none; }
}
@keyframes hm-breathe {
  0%, 100% { opacity: 0.75; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  .hm-bar-track > span, .hm-col-bars > b, .hm-flow-part, .hm-metal-track > b, .hm-cost-bar > b, .hm-vendor-track > b, .hm-margin-track > b,
  .hm-spark-line.is-drawing, .hm-book-part { transition: none; }
  .hm-tile, .hm-cover, .hm-nest circle, .hm-line circle, .hm-dot,
  .hm-spark, .hm-spark-fill, .hm-line-axis, .hm-line-today,
  .hm-nest text, .hm-cols .hm-col > span,
  .hm-bead circle, .hm-bead-label, .hm-hero-glow, .hm-queue-row,
  .hm-queue-row:nth-child(2), .hm-queue-row:nth-child(3), .hm-queue-row:nth-child(4),
  .hm-queue-row:nth-child(5), .hm-queue-row:nth-child(n + 6) { animation: none; }
}
.hm-tile.is-open { cursor: pointer; transition: transform var(--dur-base) var(--ease-spring), box-shadow var(--dur-base) var(--ease-smooth); }
@media (hover: hover) {
  :where(:root:not(.glass-lens)) .hm-tile.is-open:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(33, 25, 21, 0.11); }
  .hm-tile.is-open:hover .hm-more { background: var(--primary); color: var(--on-accent); }
  .hm-tile.is-open:hover .hm-more svg { transform: translateX(2px); }
}
.hm-tile.is-open:active {
  transform: translateY(0) scale(0.985);
  transition: transform var(--dur-fast) var(--ease-smooth), box-shadow var(--dur-fast) var(--ease-smooth);
}
.glass-page .hm-tile.is-open::after { transition: opacity var(--dur-base) var(--ease-smooth); }
.glass-page .hm-tile.is-open:active::after { transition-duration: var(--dur-fast); }
.hm-tile.is-open:active::after { opacity: 0.4; }
@media (hover: hover) and (min-width: 900px) {
  :root.glass-lens:not(.glass-scrolling) .hm-tile.is-open:hover { backdrop-filter: url(#glass-lens) blur(var(--glass-blur)) saturate(var(--glass-sat)); }
}
.hm-more {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: none;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--gray-soft);
  color: var(--text);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-smooth), color var(--dur-fast) var(--ease-smooth);
}
.hm-more svg { transition: transform var(--dur-fast) var(--ease-smooth); }
.hm-more:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.hm-tile.is-ink .hm-more { background: rgba(255, 255, 255, 0.14); color: #fff; }
.hm-drawer {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  overflow: visible;
}
.hm-drawer::backdrop { background: rgba(20, 15, 12, 0.26); }
.hm-drawer[open] { display: grid; place-items: center; }
.hm-drawer-inner {
  display: flex;
  flex-direction: column;
  width: min(880px, calc(100vw - 2 * var(--space-24)));
  max-height: min(86vh, 100% - 2 * var(--space-24));
  border-radius: var(--radius-cover);
  background: var(--panel);
  --sheet-rim: rgba(255, 255, 255, 0.55);
  --sheet-halo: transparent;
  --sheet-edge: color-mix(in srgb, var(--primary) 14%, transparent);
  border: 1px solid var(--sheet-edge);
  box-shadow:
    inset 0 1px 0 var(--sheet-rim),
    0 0 0 1px var(--sheet-halo),
    0 0 90px -10px var(--sheet-halo),
    0 32px 90px -12px rgba(10, 8, 6, 0.6);
  overflow: hidden;
}
:root[data-theme='dark'] .hm-drawer-inner {
  --sheet-rim: rgba(255, 210, 150, 0.16);
  --sheet-halo: rgba(255, 165, 61, 0.22);
  --sheet-edge: rgba(255, 165, 61, 0.28);
  box-shadow:
    inset 0 1px 0 var(--sheet-rim),
    0 0 0 1px rgba(255, 165, 61, 0.08),
    0 0 110px -14px var(--sheet-halo),
    0 40px 110px -10px rgba(0, 0, 0, 0.85);
}
.hm-drawer.is-growing .hm-drawer-inner {
  transition: transform var(--dur-base) var(--ease-smooth);
}
.hm-drawer.is-growing .hm-drawer-head,
.hm-drawer.is-growing .hm-drawer-body {
  animation: hm-sheet-in var(--dur-fast) var(--ease-smooth) backwards;
}
.hm-drawer.is-leaving .hm-drawer-head,
.hm-drawer.is-leaving .hm-drawer-body {
  animation: hm-sheet-out calc(var(--dur-fast) * 0.7) linear forwards;
}
@keyframes hm-sheet-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes hm-sheet-out {
  to { opacity: 0; }
}
@media (max-width: 620px) {
  .hm-drawer[open] { place-items: end stretch; }
  .hm-drawer-inner {
    width: 100%;
    max-height: 92vh;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hm-drawer.is-growing .hm-drawer-inner { transition: none; }
  .hm-drawer.is-growing .hm-drawer-head,
  .hm-drawer.is-growing .hm-drawer-body,
  .hm-drawer.is-leaving .hm-drawer-head,
  .hm-drawer.is-leaving .hm-drawer-body { animation: none; }
}
.hm-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  padding: var(--space-20);
  background: var(--panel);
}
.hm-drawer-head h2 { margin: 0; font-size: var(--text-lead); letter-spacing: var(--track-tight); }
.hm-drawer-head p { margin: var(--space-4) 0 0; font-size: var(--text-micro); color: var(--text-dim); }
.hm-drawer-body { flex: 1 1 auto; overflow-y: auto; padding: var(--space-16) var(--space-20) var(--space-32); }
.hm-drawer-body h3 { margin: var(--space-20) 0 var(--space-8); font-size: var(--text-small); color: var(--text-dim); }
.hm-drawer-body h3:first-child { margin-top: 0; }
.hm-shut {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: none;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--gray-soft);
  color: var(--text);
  font-size: var(--text-lead);
  line-height: 1;
  cursor: pointer;
}
@media (hover: hover) {
  .hm-shut:hover { background: var(--primary-soft); color: var(--primary-dark); }
}
.hm-deep {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-12);
  padding: var(--space-16);
  margin-bottom: var(--space-8);
  background: var(--panel);
  border-radius: var(--radius-lg);
  font-size: var(--text-micro);
}
.hm-deep strong { display: block; font-size: var(--text-small); }
.hm-deep .muted { display: block; overflow-wrap: anywhere; }
.hm-deep-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.hm-deep-num strong { font-size: var(--text-lead); letter-spacing: var(--track-tight); }
.hm-deep.is-late { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.hm-drawer[open]::backdrop { animation: hm-fade-in var(--dur-fast) var(--ease-smooth); }
@keyframes hm-fade-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .hm-tile.is-open, .hm-more, .hm-more svg { transition: none; }
  .hm-tile.is-open:hover { transform: none; }
  :root.glass-lens .hm-tile.is-open { backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat)); }
  .hm-tile.is-open:active { transform: none; transition: none; }
  .glass-page .hm-tile.is-open::after { transition: none; }
  .hm-drawer[open]::backdrop { animation: none; }
}
.hm-cover {
  background:
    radial-gradient(680px 320px at 6% 0%, var(--primary-soft) 0%, rgba(251, 234, 226, 0) 62%),
    var(--panel);
}
.hm-tile.is-ink {
  background:
    radial-gradient(520px 260px at 0% 0%, #3a2b23 0%, rgba(58, 43, 35, 0) 70%),
    var(--text);
}
.hm-line { max-height: 220px; }
.hm-tile .hm-ring-list { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); }
.hm-cols { display: flex; align-items: flex-end; gap: var(--space-16); flex: 1 1 auto; min-height: 130px; margin-top: var(--space-14); }
.hm-col { flex: 1 1 0; display: flex; flex-direction: column; height: 100%; min-width: 0; }
.hm-col-bars { flex: 1 1 auto; display: flex; align-items: flex-end; justify-content: center; gap: var(--space-4); overflow: hidden; }
.hm-col-bars > b {
  width: 26%;
  height: 0;
  min-height: 3px;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}
.hm-col-bars > b.is-made { background: var(--primary); }
.hm-col-bars > b.is-sent { background: var(--green); }
.hm-col-bars > b.is-taken { background: var(--border-strong); }
.hm-col > span {
  margin-top: var(--space-8);
  text-align: center;
  font-size: var(--text-micro);
  color: var(--text-dim);
  white-space: nowrap;
}
.hm-col > span em { font-style: normal; color: var(--text-faint); }
:root[data-theme='dark'] {
  --bg: #0a0908;
  --bg-deep: #060505;
  --panel: #141211;
  --panel-alt: #191614;
  --surface-2: #1e1a18;
  --gray-soft: #232019;
  --border: #2b2724;
  --border-strong: #7a716a;
  --text: #f5f1ec;
  --text-dim: #a79d93;
  --text-faint: #938a80;
  --ink-dim: #938a80;
  --primary: #ffa53d;
  --primary-dark: #e07c14;
  --primary-light: #ffc98f;
  --primary-soft: #2b1a0a;
  --gradient-primary: linear-gradient(135deg, #ffb75c 0%, #ffa53d 45%, #e07c14 100%);
  --amber: #ffcc4d;
  --amber-soft: #2a2310;
  --green: #4cc98a;
  --green-soft: #0f2519;
  --red: #f2666b;
  --red-soft: #2d1314;
  --completed: #6aa8d6;
  --completed-soft: #122029;
  --held: #d0a3e6;
  --held-soft: #24182b;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
  --shadow-md: 0 2px 6px rgba(0, 0, 0, 0.55), 0 8px 20px -6px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 4px 10px rgba(0, 0, 0, 0.55), 0 16px 40px -10px rgba(0, 0, 0, 0.6);
  --shadow-xl: 0 8px 18px rgba(0, 0, 0, 0.6), 0 32px 70px -16px rgba(0, 0, 0, 0.7);
  --shadow-inset-sunken: inset 0 1px 2px rgba(0, 0, 0, 0.45);
  --shadow-inset-top: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --shadow-glow-primary: 0 0 0 1px rgba(255, 165, 61, 0.28), 0 6px 26px -4px rgba(255, 165, 61, 0.42);
}
:root {
  --glass-edge-w: 1.5px;
  --accent-glow: 0 2px 10px -4px rgba(181, 71, 30, 0.28);
  --accent-aura: rgba(181, 71, 30, 0.10);
  --accent-aura-strong: rgba(181, 71, 30, 0.18);
}
:root {
  --shadow-glass-depth:
    inset 1.5px 1.5px 0 rgba(255, 253, 248, 0.38),
    inset 6px 6px 12px -7px rgba(255, 250, 240, 0.16),
    inset -1.5px -1.5px 0 rgba(0, 0, 0, 0.60),
    inset -7px -7px 14px -7px rgba(0, 0, 0, 0.50),
    inset 0 0 0 1px rgba(255, 255, 255, 0.035);
}
:root[data-theme='dark'] {
  --accent-glow: 0 0 22px -2px rgba(255, 165, 61, 0.45), 0 0 60px -10px rgba(255, 165, 61, 0.28);
  --accent-aura: rgba(255, 165, 61, 0.16);
  --accent-aura-strong: rgba(255, 165, 61, 0.30);
}
.theme-turning, .theme-turning * {
  transition: none !important;
}
:root {
  --on-accent: #ffffff;
  --nest-offcut: #d8cfc6;
  color-scheme: light;
}
:root[data-theme='dark'] {
  --on-accent: #1a1310;
  --nest-offcut: #332d28;
  color-scheme: dark;
}
:root[data-theme='dark'] body {
  background:
    radial-gradient(1200px 600px at 12% -8%, #17110c 0%, transparent 60%),
    radial-gradient(900px 500px at 92% 0%, #131110 0%, transparent 55%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 100%);
}
:root[data-theme='dark'] .topbar,
:root[data-theme='dark'] .quick-header {
  background: #100e0d;
  box-shadow: 0 1px 0 var(--border), 0 8px 24px -12px rgba(0, 0, 0, 0.8);
}
:root[data-theme='dark'] .masthead-med {
  filter: drop-shadow(0 0 11px rgba(255, 165, 61, 0.38)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.65));
}
:root[data-theme='dark'] .po-card:hover { border-color: #3a332e; }
:root[data-theme='dark'] .an-coverage { border-color: #4a3a1c; color: var(--amber); }
:root[data-theme='dark'] .an-coverage.ok { border-color: #22452f; color: var(--green); }
:root[data-theme='dark'] .jw-nochallan { color: var(--amber); }
:root[data-theme='dark'] body.board-body[data-level='manager'] { background: #12100c; }
:root[data-theme='dark'] body.board-body[data-level='owner'] { background: #150f0e; }
:root[data-theme='dark'] .can-drop.is-refusing,
:root[data-theme='dark'] .tank-check-bad,
:root[data-theme='dark'] .tank-chip-unverified { background: var(--red-soft); }
:root[data-theme='dark'] .tank-check-ok { background: var(--green-soft); }
:root[data-theme='dark'] .tank-view { background: radial-gradient(ellipse at 50% 40%, #1a1614 0%, var(--bg) 70%); }
:root[data-theme='dark'] .tank-blank { fill: #2a2521; }
:root[data-theme='dark'] .tank-blank-bracket { fill: #35302b; }
:root[data-theme='dark'] .track-tank { background: linear-gradient(180deg, #1d1917 0%, #141211 100%); }
:root[data-theme='dark'] .track-header { background: rgba(16, 14, 13, 0.9); }
:root[data-theme='dark'] .step[data-display-stage='bom']:hover .stage-icon { color: #7fb2d6; }
:root[data-theme='dark'] .logmap-cell.lv1 { background: #3d2410; border-color: #4e2f14; }
:root[data-theme='dark'] .logmap-cell.lv2 { background: #7a4415; border-color: #8f5018; }
:root[data-theme='dark'] .logmap-cell.lv3 { background: #d0791f; border-color: #e08b28; }
:root[data-theme='dark'] .nav-more-menu,
:root[data-theme='dark'] .rej-win,
:root[data-theme='dark'] dialog,
:root[data-theme='dark'] .ask-drawer,
:root[data-theme='dark'] .drawer,
:root[data-theme='dark'] .popover {
  background: var(--panel-alt);
  border: 1px solid var(--border);
}
:root[data-theme='dark'] dialog::backdrop,
:root[data-theme='dark'] .rej-win::backdrop { background: rgba(0, 0, 0, 0.66); }
:root[data-theme='dark'] .hm-drawer {
  background: transparent;
  border: 0;
}
:root[data-theme='dark'] .hm-drawer::backdrop { background: rgba(20, 15, 12, 0.26); }
:root[data-theme='dark'] .hm-drawer-inner { background: var(--panel); }
:root[data-theme='dark'] .nav-scrim { background: rgba(0, 0, 0, 0.6); }
:root[data-theme='dark'] .toast {
  background: rgba(38, 33, 30, 0.96);
  border: 1px solid var(--border);
  color: var(--text);
}
:root[data-theme='dark'] .dock-label,
:root[data-theme='dark'] .working {
  border: 1px solid var(--border-strong);
}
:root[data-theme='dark'] input:-webkit-autofill,
:root[data-theme='dark'] input:-webkit-autofill:focus,
:root[data-theme='dark'] textarea:-webkit-autofill,
:root[data-theme='dark'] select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--panel-alt) inset;
  -webkit-text-fill-color: var(--text);
  caret-color: var(--primary);
}
:root[data-theme='dark'] :disabled,
:root[data-theme='dark'] [aria-disabled='true'] {
  opacity: 0.62;
}
:root[data-theme='dark'] button:disabled,
:root[data-theme='dark'] input:disabled,
:root[data-theme='dark'] select:disabled,
:root[data-theme='dark'] textarea:disabled {
  background: var(--bg-deep);
  border-color: var(--border);
  box-shadow: none;
  color: var(--text);
}
:root[data-theme='dark'] .rp-sheet {
  --bg: #f6f3f0;
  --bg-deep: #efe9e4;
  --panel: #ffffff;
  --panel-alt: #fdfaf8;
  --surface-2: #f8f6f3;
  --gray-soft: #f1ece7;
  --border: #ece4de;
  --border-strong: #8e8377;
  --text: #211915;
  --text-dim: #6b6259;
  --text-faint: #706962;
  --ink-dim: #b4aba1;
  --primary: #b5471e;
  --primary-dark: #8b3414;
  --primary-light: #e8794a;
  --primary-soft: #fbeae2;
  --amber: #a75c05;
  --amber-soft: #fef3e0;
  --green: #11813a;
  --green-soft: #e8f9ee;
  --red: #d12424;
  --red-soft: #fdeaea;
  --completed: #2f6690;
  --completed-soft: #e7f1f7;
  --held: #7a3f8f;
  --held-soft: #f4ebf7;
  --on-accent: #ffffff;
  color-scheme: light;
}
:root[data-theme='dark'] .drawing-card,
:root[data-theme='dark'] .rp-drawing,
:root[data-theme='dark'] .q-defect-img {
  background: var(--panel);
  border-color: var(--border);
}
:root[data-theme='dark'] .drawing-viewer { background: rgba(0, 0, 0, 0.9); }
:root[data-theme='dark'] .track-step.done .track-step-dot {
  background: linear-gradient(150deg, #6fd8a3 0%, var(--green) 100%);
}
:root[data-theme='dark'] .track-step.done .track-step-line {
  background: linear-gradient(90deg, #2f7d55, var(--green));
}
:root[data-theme='dark'] .step .connector.filled {
  background: linear-gradient(90deg, #2f7d55, var(--green));
}
:root[data-theme='dark'] .track-step.in_progress .track-step-dot {
  background: linear-gradient(150deg, #6a5320, #4a3a15);
  color: var(--amber);
}
@media (min-width: 900px) {
  .tabbar {
    top: var(--space-12);
    bottom: var(--space-12);
    left: var(--space-12);
    height: auto;
    width: calc(var(--rail-w) - var(--space-12));
    border-right: 0;
    border-radius: var(--radius-cover);
    background: var(--panel);
    box-shadow: var(--shadow-md);
    padding: var(--space-14) var(--space-10) var(--space-12);
  }
  body.has-tabbar { padding-left: calc(var(--rail-w) + var(--space-12)); }
  .rail-brand {
    justify-content: flex-start;
    padding: var(--space-6) var(--space-10) var(--space-18);
  }
  .tab[aria-current='page'],
  .nav-sheet-row[aria-current='page'] {
    box-shadow: none;
    background: var(--primary);
    color: var(--on-accent);
  }
  .tab[aria-current='page']:not(.tab-create):not(.tab-log),
  .tab[aria-current='page'] .nav-icon,
  .nav-sheet-row[aria-current='page'] .nav-icon { color: var(--on-accent); }
  .tab[aria-current='page']:hover,
  .nav-sheet-row[aria-current='page']:hover { background: var(--primary); }
  .tab[aria-current='page'],
  .nav-sheet-row[aria-current='page'] { box-shadow: var(--accent-glow); }
  .tab-create .nav-icon { color: var(--primary); }
  .tab-log .nav-icon { color: var(--red); }
  .tab-create[aria-current='page'] .nav-icon,
  .tab-log[aria-current='page'] .nav-icon { color: var(--on-accent); }
}
@media (min-width: 900px) {
  body.rail-collapsed .tab,
  body.rail-collapsed .nav-sheet-row {
    justify-content: center;
    padding: 0;
    border-radius: var(--radius-pill);
  }
  body.rail-collapsed .tabbar { padding-left: var(--space-8); padding-right: var(--space-8); }
  body.rail-collapsed .rail-brand { justify-content: center; padding-left: 0; padding-right: 0; }
}
.nav-theme-btn {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 0;
  background: none;
  border-radius: var(--radius-pill);
  color: var(--text);
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease-smooth), background var(--dur-fast) var(--ease-smooth);
}
.nav-theme-btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.nav-theme-btn .tool-icon { transition: transform var(--dur-base) var(--ease-spring); }
:root[data-theme='dark'] .nav-theme-btn .tool-icon { transform: rotate(180deg); }
@media (hover: hover) {
  .nav-theme-btn:hover { background: var(--primary-soft); color: var(--primary); }
}
@media (prefers-reduced-motion: reduce) {
  .nav-theme-btn .tool-icon { transition: none; }
}
:root[data-theme='dark'] .hm-tile.is-ink {
  background:
    radial-gradient(420px 260px at 50% -6%, var(--accent-aura-strong) 0%, rgba(0, 0, 0, 0) 70%),
    #1a1512;
  box-shadow: inset 0 0 0 1px rgba(255, 165, 61, 0.22), var(--accent-glow);
}
:root[data-theme='dark'] .hm-tile,
:root[data-theme='dark'] .hm-cover,
:root[data-theme='dark'] .hm-drawer-head,
:root[data-theme='dark'] .hm-deep { border: 1px solid var(--border); }
:root[data-theme='dark'] .hm-cover {
  background:
    radial-gradient(680px 320px at 6% 0%, var(--accent-aura) 0%, rgba(0, 0, 0, 0) 62%),
    var(--panel);
}
:root[data-theme='dark'] .hm-jump { box-shadow: var(--accent-glow); }
:root[data-theme='dark'] .hm-date-mark {
  border-color: rgba(255, 165, 61, 0.3);
  color: var(--primary);
}
:root[data-theme='dark'] .hm-dot.is-written { box-shadow: 0 0 10px -1px rgba(255, 165, 61, 0.7); }
:root[data-theme='dark'] .hm-dot.is-sent { box-shadow: 0 0 10px -1px rgba(76, 201, 138, 0.55); }
:root[data-theme='dark'] .hm-bar-track > span { box-shadow: 0 0 12px -3px rgba(255, 165, 61, 0.75); }
:root[data-theme='dark'] .glass-page::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    url('/img/reservoir-drawing-dark-soft.svg') center / cover no-repeat,
    repeating-linear-gradient(118deg, rgba(0, 0, 0, 0.34) 0 44px, rgba(0, 0, 0, 0) 116px 190px),
    repeating-linear-gradient(28deg, rgba(0, 0, 0, 0.22) 0 56px, rgba(0, 0, 0, 0) 140px 250px),
    radial-gradient(760px 540px at 16% 26%, rgba(0, 0, 0, 0.38) 0%, rgba(0, 0, 0, 0) 64%),
    radial-gradient(880px 580px at 84% 76%, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0) 62%),
    radial-gradient(1100px 620px at 12% -8%, rgba(255, 165, 61, 0.16) 0%, rgba(255, 165, 61, 0) 60%),
    radial-gradient(900px 700px at 92% 14%, rgba(255, 198, 120, 0.10) 0%, rgba(255, 198, 120, 0) 62%),
    radial-gradient(1000px 800px at 50% 108%, rgba(255, 140, 40, 0.13) 0%, rgba(255, 140, 40, 0) 58%),
    radial-gradient(700px 500px at 78% 62%, rgba(124, 96, 205, 0.08) 0%, rgba(124, 96, 205, 0) 60%),
    radial-gradient(820px 560px at 30% 46%, rgba(255, 176, 90, 0.07) 0%, rgba(255, 176, 90, 0) 62%);
}
:root[data-theme='dark'] {
  --glass-fill: rgba(18, 16, 16, 0.34);
  --glass-fill-chrome: rgba(18, 16, 16, 0.72);
  --glass-fill-lit: rgba(21, 15, 9, 0.72);
  --glass-fill-sheet: rgba(18, 16, 16, 0.94);
  --tint-late: rgba(52, 0, 0, 0.55);
  --tint-risk: rgba(28, 14, 0, 0.55);
  --tint-good: rgba(0, 38, 14, 0.55);
  --tint-await: rgba(52, 16, 0, 0.55);
  --tint-done: rgba(0, 18, 58, 0.55);
  --glass-fill-late: rgba(52, 0, 0, 0.34);
  --glass-fill-risk: rgba(28, 14, 0, 0.34);
  --glass-fill-held: rgba(36, 10, 48, 0.34);
  --glass-fill-done: rgba(0, 18, 58, 0.34);
  --glass-fill-firm: rgba(18, 16, 16, 0.46);
  --glass-hush: rgba(18, 16, 16, 0.5);
  --glass-fill-loose: rgba(18, 16, 16, 0.34);
  --glass-blur: 5px;
  --glass-sat: 170%;
  --glass-sheen:
    radial-gradient(130% 70% at 0% 0%, rgba(255, 246, 230, 0.042) 0%, rgba(255, 246, 230, 0) 55%),
    linear-gradient(112deg, rgba(255, 250, 240, 0) 18%, rgba(255, 250, 240, 0.025) 35%, rgba(255, 250, 240, 0) 56%);
  --glass-rim: linear-gradient(
    148deg,
    rgba(255, 253, 249, 0.95) 0%,
    rgba(255, 255, 255, 0.55) 7%,
    rgba(255, 251, 244, 0.16) 22%,
    rgba(255, 251, 244, 0.06) 56%,
    rgba(255, 255, 255, 0.30) 84%,
    rgba(255, 190, 110, 0.60) 100%
  );
  --glass-rim-lit: linear-gradient(
    135deg,
    rgba(255, 236, 206, 0.52) 0%,
    rgba(255, 220, 170, 0.16) 18%,
    rgba(255, 210, 160, 0.07) 50%,
    rgba(255, 220, 170, 0.14) 82%,
    rgba(255, 236, 206, 0.34) 100%
  );
  --glass-rim-hover: linear-gradient(
    135deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0.50) 12%,
    rgba(255, 255, 255, 0.10) 40%,
    rgba(255, 255, 255, 0.40) 88%,
    rgba(255, 255, 255, 0.85) 100%
  );
  --glass-rim-failed: linear-gradient(
    148deg,
    rgba(255, 204, 77, 0.85) 0%,
    rgba(255, 204, 77, 0.45) 50%,
    rgba(255, 204, 77, 0.70) 100%
  );
}
:root[data-theme='dark'] .hm-tile,
:root[data-theme='dark'] .hm-cover,
:root[data-theme='dark'] .hm-drawer-inner {
  border: 1px solid transparent;
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  --glass-rim-now: var(--glass-rim);
}
:root[data-theme='dark'] .hm-tile,
:root[data-theme='dark'] .hm-cover {
  box-shadow: var(--shadow-glass-depth), 0 24px 44px -26px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(0, 0, 0, 0.22);
}
:root[data-theme='dark'] .hm-tile:not(.is-ink):not(.is-failed) {
  background:
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-fill), var(--glass-fill)) border-box;
}
:root[data-theme='dark'] .hm-drawer-inner {
  background:
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-fill-sheet), var(--glass-fill-sheet)) border-box;
}
.hm-tile .hm-table th,
.hm-drawer-body .hm-table th { background: none; }
:root[data-theme='dark'] .hm-cover {
  background:
    radial-gradient(680px 320px at 6% 0%, var(--accent-aura) 0%, rgba(0, 0, 0, 0) 62%) border-box,
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-fill), var(--glass-fill)) border-box;
}
:root[data-theme='dark'] .hm-tile.is-ink {
  --glass-rim-now: var(--glass-rim-lit);
  background:
    radial-gradient(420px 260px at 50% -6%, var(--accent-aura-strong) 0%, rgba(0, 0, 0, 0) 70%) border-box,
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-fill-lit), var(--glass-fill-lit)) border-box;
  box-shadow:
    inset 0 1px 0 rgba(255, 236, 200, 0.16),
    inset 0 -24px 40px -26px rgba(255, 165, 61, 0.45),
    var(--accent-glow);
}
:root[data-theme='dark'] .hm-tile.is-failed {
  --glass-rim-now: var(--glass-rim-failed);
  border: 1px solid transparent;
  background:
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-fill), var(--glass-fill)) border-box;
}
:root[data-theme='dark'] .hm-inset {
  background: rgba(255, 252, 246, 0.05);
  box-shadow: inset 0 1px 0 rgba(255, 250, 242, 0.05);
}
@media (hover: hover) {
  :root[data-theme='dark'] .hm-tile.is-open:not(.is-ink):hover {
    border-color: transparent;
    box-shadow: var(--shadow-glass-depth), var(--accent-glow);
  }
  :root[data-theme='dark'] .hm-tile.is-ink.is-open:hover {
    border-color: transparent;
    box-shadow:
      inset 0 1px 0 rgba(255, 236, 200, 0.20),
      inset 0 -24px 40px -26px rgba(255, 165, 61, 0.52),
      var(--accent-glow);
  }
  :root[data-theme='dark'] .hm-tile.is-open:not(.is-failed):hover {
    --glass-rim-now: var(--glass-rim-hover);
  }
}
@media (max-width: 899px) {
  :root[data-theme='dark'] .hm-tile,
  :root[data-theme='dark'] .hm-cover,
  :root[data-theme='dark'] .hm-drawer-inner {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  :root[data-theme='dark'] .hm-tile:not(.is-ink):not(.is-failed),
  :root[data-theme='dark'] .hm-drawer-inner {
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
  :root[data-theme='dark'] .hm-cover {
    background:
      radial-gradient(680px 320px at 6% 0%, var(--accent-aura) 0%, rgba(0, 0, 0, 0) 62%) border-box,
      var(--glass-sheen) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
  :root[data-theme='dark'] .hm-tile.is-ink {
    background:
      radial-gradient(420px 260px at 50% -6%, var(--accent-aura-strong) 0%, rgba(0, 0, 0, 0) 70%) border-box,
      var(--glass-sheen) border-box,
      linear-gradient(#1a1512, #1a1512) border-box;
  }
  :root[data-theme='dark'] .hm-tile.is-failed {
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
}
@media (prefers-reduced-transparency: reduce) {
  :root[data-theme='dark'] .hm-tile,
  :root[data-theme='dark'] .hm-cover,
  :root[data-theme='dark'] .hm-drawer-inner {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid var(--border-strong);
  }
  :root[data-theme='dark'] .hm-tile:not(.is-ink):not(.is-failed),
  :root[data-theme='dark'] .hm-cover,
  :root[data-theme='dark'] .hm-drawer-inner { background: var(--panel); }
  :root[data-theme='dark'] .hm-tile.is-ink { background: #1a1512; }
  :root[data-theme='dark'] .hm-tile.is-failed {
    background: var(--panel);
    border: 1px solid var(--amber);
  }
  :root[data-theme='dark'] .glass-page::after { display: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  :root[data-theme='dark'] .hm-tile:not(.is-ink):not(.is-failed),
  :root[data-theme='dark'] .hm-drawer-inner {
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
  :root[data-theme='dark'] .hm-cover {
    background:
      radial-gradient(680px 320px at 6% 0%, var(--accent-aura) 0%, rgba(0, 0, 0, 0) 62%) border-box,
      var(--glass-sheen) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
  :root[data-theme='dark'] .hm-tile.is-ink {
    background:
      radial-gradient(420px 260px at 50% -6%, var(--accent-aura-strong) 0%, rgba(0, 0, 0, 0) 70%) border-box,
      var(--glass-sheen) border-box,
      linear-gradient(#1a1512, #1a1512) border-box;
  }
  :root[data-theme='dark'] .hm-tile.is-failed {
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
}
:root[data-theme='light'] .glass-page::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    url('/img/reservoir-drawing-light-soft.svg') center / cover no-repeat,
    repeating-linear-gradient(118deg, rgba(255, 255, 255, 0.62) 0 44px, rgba(255, 255, 255, 0) 116px 190px),
    repeating-linear-gradient(28deg, rgba(255, 255, 255, 0.42) 0 56px, rgba(255, 255, 255, 0) 140px 250px),
    radial-gradient(760px 540px at 16% 26%, rgba(255, 255, 255, 0.66) 0%, rgba(255, 255, 255, 0) 64%),
    radial-gradient(880px 580px at 84% 76%, rgba(255, 255, 255, 0.58) 0%, rgba(255, 255, 255, 0) 62%),
    radial-gradient(1100px 620px at 12% -8%, rgba(181, 71, 30, 0.064) 0%, rgba(181, 71, 30, 0) 60%),
    radial-gradient(900px 700px at 92% 14%, rgba(232, 121, 74, 0.042) 0%, rgba(232, 121, 74, 0) 62%),
    radial-gradient(1000px 800px at 50% 108%, rgba(181, 71, 30, 0.051) 0%, rgba(181, 71, 30, 0) 58%),
    radial-gradient(700px 500px at 78% 62%, rgba(91, 99, 184, 0.034) 0%, rgba(91, 99, 184, 0) 60%),
    radial-gradient(820px 560px at 30% 46%, rgba(217, 138, 58, 0.030) 0%, rgba(217, 138, 58, 0) 62%);
}
:root[data-theme='light'] {
  --glass-fill: rgba(250, 242, 236, 0.34);
  --tint-late: rgba(209, 36, 36, 0.09);
  --tint-risk: rgba(167, 92, 5, 0.09);
  --tint-good: rgba(17, 129, 58, 0.09);
  --tint-await: rgba(181, 71, 30, 0.09);
  --tint-done: rgba(47, 102, 144, 0.09);
  --glass-fill-chrome: rgba(255, 255, 255, 0.72);
  --glass-fill-lit: rgba(33, 25, 21, 0.88);
  --glass-fill-sheet: rgba(255, 255, 255, 0.92);
  --glass-fill-firm: rgba(255, 255, 255, 0.38);
  --glass-hush: rgba(250, 242, 236, 0.62);
  --glass-fill-loose: rgba(255, 255, 255, 0.14);
  --glass-blur: 6px;
  --glass-sat: 180%;
  --glass-sheen:
    linear-gradient(112deg, rgba(255, 255, 255, 0) 18%, rgba(255, 255, 255, 0.546) 35%, rgba(255, 255, 255, 0) 56%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.50) 0%, rgba(255, 255, 255, 0) 45%);
  --glass-rim: linear-gradient(
    148deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0.70) 7%,
    rgba(60, 38, 28, 0.20) 20%,
    rgba(60, 38, 28, 0.14) 56%,
    rgba(60, 38, 28, 0.16) 84%,
    rgba(181, 71, 30, 0.65) 100%
  );
  --shadow-glass-depth:
    inset 1px 1px 0 rgba(255, 255, 255, 1),
    inset 6px 6px 12px -7px rgba(255, 255, 255, 0.85),
    inset 0 0 0 1px rgba(255, 255, 255, 0.35),
    inset -3px -3px 6px -3px rgba(110, 55, 25, 0.22),
    inset -1px -1px 0 rgba(60, 38, 28, 0.16),
    inset -7px -7px 14px -7px rgba(110, 55, 25, 0.16);
  --glass-rim-lit: linear-gradient(
    148deg,
    rgba(255, 255, 255, 0.42) 0%,
    rgba(255, 255, 255, 0.14) 30%,
    rgba(232, 121, 74, 0.24) 62%,
    rgba(181, 71, 30, 0.55) 100%
  );
  --glass-rim-hover: linear-gradient(
    148deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(181, 71, 30, 0.32) 18%,
    rgba(181, 71, 30, 0.22) 58%,
    rgba(181, 71, 30, 0.52) 100%
  );
  --glass-rim-failed: linear-gradient(
    148deg,
    rgba(167, 92, 5, 0.85) 0%,
    rgba(167, 92, 5, 0.45) 50%,
    rgba(167, 92, 5, 0.70) 100%
  );
}
:root[data-theme='light'] .hm-tile,
:root[data-theme='light'] .hm-cover,
:root[data-theme='light'] .hm-drawer-inner {
  border: 1px solid transparent;
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  --glass-rim-now: var(--glass-rim);
}
:root[data-theme='light'] .hm-tile,
:root[data-theme='light'] .hm-cover {
  box-shadow:
    var(--shadow-glass-depth),
    0 2px 4px -2px rgba(33, 25, 21, 0.14),
    0 26px 40px -26px rgba(110, 45, 15, 0.42),
    14px 30px 40px -30px rgba(255, 170, 90, 0.55);
}
:root[data-theme='light'] .hm-tile:not(.is-ink):not(.is-failed) {
  background:
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-fill), var(--glass-fill)) border-box;
}
:root[data-theme='light'] .hm-drawer-inner {
  background:
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-fill-sheet), var(--glass-fill-sheet)) border-box;
}
:root[data-theme='light'] .hm-cover {
  background:
    radial-gradient(680px 320px at 6% 0%, var(--accent-aura) 0%, rgba(0, 0, 0, 0) 62%) border-box,
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-fill), var(--glass-fill)) border-box;
}
:root[data-theme='light'] .hm-tile.is-ink {
  --glass-rim-now: var(--glass-rim-lit);
  background:
    radial-gradient(420px 260px at 50% -6%, rgba(232, 121, 74, 0.30) 0%, rgba(0, 0, 0, 0) 70%) border-box,
    linear-gradient(180deg, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0) 55%) border-box,
    linear-gradient(var(--glass-fill-lit), var(--glass-fill-lit)) border-box;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 3px 8px -4px rgba(33, 25, 21, 0.22),
    0 18px 40px -20px rgba(33, 25, 21, 0.38);
}
:root[data-theme='light'] .hm-tile.is-failed {
  --glass-rim-now: var(--glass-rim-failed);
  border: 1px solid transparent;
  background:
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-fill), var(--glass-fill)) border-box;
}
:root[data-theme='light'] .hm-inset {
  background: rgba(33, 25, 21, 0.045);
  box-shadow: var(--shadow-inset-sunken);
}
@media (hover: hover) {
  :root[data-theme='light'] .hm-tile.is-open:not(.is-ink):hover {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.95),
      inset 0 -16px 26px -22px rgba(181, 71, 30, 0.26),
      0 3px 8px -4px rgba(33, 25, 21, 0.10),
      0 18px 40px -18px rgba(33, 25, 21, 0.22);
  }
  :root[data-theme='light'] .hm-tile.is-ink.is-open:hover {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.18),
      inset 0 -18px 30px -24px rgba(232, 121, 74, 0.30),
      0 4px 10px -4px rgba(33, 25, 21, 0.26),
      0 22px 48px -20px rgba(33, 25, 21, 0.44);
  }
  :root[data-theme='light'] .hm-tile.is-open:not(.is-failed):hover {
    --glass-rim-now: var(--glass-rim-hover);
  }
}
@media (max-width: 899px) {
  :root[data-theme='light'] .hm-tile,
  :root[data-theme='light'] .hm-cover,
  :root[data-theme='light'] .hm-drawer-inner {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  :root[data-theme='light'] .hm-tile:not(.is-ink):not(.is-failed),
  :root[data-theme='light'] .hm-drawer-inner,
  :root[data-theme='light'] .hm-tile.is-failed {
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
  :root[data-theme='light'] .hm-cover {
    background:
      radial-gradient(680px 320px at 6% 0%, var(--accent-aura) 0%, rgba(0, 0, 0, 0) 62%) border-box,
      var(--glass-sheen) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
  :root[data-theme='light'] .hm-tile.is-ink {
    background:
      radial-gradient(420px 260px at 50% -6%, rgba(232, 121, 74, 0.30) 0%, rgba(0, 0, 0, 0) 70%) border-box,
      linear-gradient(var(--text), var(--text)) border-box;
  }
}
@media (prefers-reduced-transparency: reduce) {
  :root[data-theme='light'] .hm-tile,
  :root[data-theme='light'] .hm-cover,
  :root[data-theme='light'] .hm-drawer-inner {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid var(--border-strong);
  }
  :root[data-theme='light'] .hm-tile:not(.is-ink):not(.is-failed),
  :root[data-theme='light'] .hm-cover,
  :root[data-theme='light'] .hm-drawer-inner { background: var(--panel); }
  :root[data-theme='light'] .hm-tile.is-ink { background: var(--text); }
  :root[data-theme='light'] .hm-tile.is-failed {
    background: var(--panel);
    border: 1px solid var(--amber);
  }
  :root[data-theme='light'] .glass-page::after { display: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  :root[data-theme='light'] .hm-tile:not(.is-ink):not(.is-failed),
  :root[data-theme='light'] .hm-drawer-inner,
  :root[data-theme='light'] .hm-tile.is-failed {
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
  :root[data-theme='light'] .hm-cover {
    background:
      radial-gradient(680px 320px at 6% 0%, var(--accent-aura) 0%, rgba(0, 0, 0, 0) 62%) border-box,
      var(--glass-sheen) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
  :root[data-theme='light'] .hm-tile.is-ink {
    background:
      radial-gradient(420px 260px at 50% -6%, rgba(232, 121, 74, 0.30) 0%, rgba(0, 0, 0, 0) 70%) border-box,
      linear-gradient(var(--text), var(--text)) border-box;
  }
}
:root[data-theme] .glass-page
  :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry) {
  border: 1px solid transparent;
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  --glass-rim-now: var(--glass-rim);
  background:
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-fill), var(--glass-fill)) border-box;
}
:root[data-theme='dark'] .glass-page :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry) {
  --shadow-inset-top:
    inset 14px 16px 26px -18px rgba(255, 248, 236, 0.32),
    inset 3px 3px 8px -5px rgba(255, 252, 246, 0.24),
    inset -14px -16px 26px -18px rgba(0, 0, 0, 0.55),
    inset 0 -40px 60px -50px rgba(255, 244, 228, 0.10);
}
:root[data-theme='light'] .glass-page :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry) {
  --shadow-inset-top:
    inset 14px 16px 26px -18px rgba(255, 255, 255, 0.95),
    inset 3px 3px 8px -5px rgba(255, 255, 255, 0.9),
    inset -14px -16px 26px -18px rgba(90, 40, 20, 0.16),
    inset 0 -40px 60px -50px rgba(255, 255, 255, 0.5);
}
:root[data-theme='dark'] .glass-page :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry) * {
  --shadow-inset-top: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
:root[data-theme='light'] .glass-page :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry) * {
  --shadow-inset-top: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}
:root[data-theme='dark'] .glass-page :is(.po-card.is-overdue, .health-strip.is-bad) {
  --glass-fill: var(--glass-fill-late);
}
:root[data-theme='dark'] .glass-page .po-card.is-packed_late {
  --glass-fill: var(--glass-fill-held);
}
:root[data-theme='light'] .glass-page .po-card.is-packed_late {
  --glass-tint: rgba(176, 96, 200, 0.26);
  --text: #150e0b;
  --text-dim: #4f473f;
  --text-faint: #514a42;
  --primary: #7c3113;
  --red: #8e1717;
  --amber: #683803;
  --green: #084d22;
  --held: #5a2a6b;
}
:root[data-theme='dark'] .glass-page :is(.po-card.is-at_risk, .health-strip.is-warn) {
  --glass-fill: var(--glass-fill-risk);
}
:root[data-theme='dark'] .glass-page .po-card.is-completed {
  --glass-fill: var(--glass-fill-done);
}
:root[data-theme='dark'] .glass-page
  :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry) {
  background:
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-tint, transparent), var(--glass-tint, transparent)) border-box,
    linear-gradient(var(--glass-fill), var(--glass-fill)) border-box;
}
:root[data-theme='light'] .glass-page :is(.po-card.is-overdue, .health-strip.is-bad) {
  --glass-tint: rgba(209, 36, 36, 0.30);
  --text: #150e0b;
  --text-dim: #4f473f;
  --text-faint: #514a42;
  --primary: #7c3113;
  --red: #8e1717;
  --amber: #683803;
  --green: #084d22;
}
:root[data-theme='light'] .glass-page :is(.po-card.is-at_risk, .health-strip.is-warn) {
  --glass-tint: rgba(167, 92, 5, 0.30);
  --text: #150e0b;
  --text-dim: #4f473f;
  --text-faint: #514a42;
  --primary: #7c3113;
  --red: #8e1717;
  --amber: #683803;
  --green: #084d22;
}
:root[data-theme='light'] .glass-page .po-card.is-completed {
  --glass-tint: rgba(47, 102, 144, 0.30);
  --text: #150e0b;
  --text-dim: #4f473f;
  --text-faint: #514a42;
  --primary: #7c3113;
  --red: #8e1717;
  --amber: #683803;
  --green: #084d22;
}
:root[data-theme='light'] .glass-page
  :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry) {
  background:
    var(--glass-sheen) border-box,
    linear-gradient(var(--glass-tint, transparent), var(--glass-tint, transparent)) border-box,
    linear-gradient(var(--glass-fill), var(--glass-fill)) border-box;
}
@media (hover: hover) {
  :root[data-theme] .glass-page
  :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry):hover {
    --glass-rim-now: var(--glass-rim-hover);
  }
}
@media (max-width: 899px) {
  :root[data-theme] .glass-page
  :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry) {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--glass-tint, transparent), var(--glass-tint, transparent)) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
}
@media (prefers-reduced-transparency: reduce) {
  :root[data-theme] .glass-page :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry) {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--panel);
    border: 1px solid var(--border-strong);
  }
  .glass-page :is(.po-card.is-overdue, .health-strip.is-bad) { border-color: var(--red); border-width: 2px; }
  .glass-page :is(.po-card.is-at_risk, .health-strip.is-warn) { border-color: var(--amber); border-width: 2px; }
  .glass-page .po-card.is-completed { border-color: var(--completed); border-width: 2px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  :root[data-theme] .glass-page
  :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry) {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--glass-tint, transparent), var(--glass-tint, transparent)) border-box,
      linear-gradient(var(--panel), var(--panel)) border-box;
  }
}
.glass-page :is(.hm-tile, .hm-cover, .hm-drawer-inner, .po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .bt-modal-card, .rej-win) { position: relative; }
.glass-page :is(.hm-tile, .hm-cover, .hm-drawer-inner, .po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry)::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: var(--glass-edge-w);
  background: var(--glass-rim-now, transparent);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
}
@media (prefers-reduced-transparency: reduce) {
  .glass-page :is(.hm-tile, .hm-cover, .hm-drawer-inner, .po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry)::after { display: none; }
}
@font-face {
  font-family: 'Caveat Tag';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/caveat-tag.woff') format('woff');
}
:root[data-theme='dark'] { --wax: #f4e6bf; }
:root[data-theme='light'] { --wax: #b3261e; }
.item-meta-line .wax-blank {
  position: relative;
  display: inline-block;
  margin-left: var(--space-12);
  padding: 0 var(--space-2);
}
.item-meta-line .wax-mark {
  --wax-tilt: -3deg;
  display: inline-flex;
  align-items: center;
  gap: var(--space-14);
  margin-left: var(--space-22);
  transform: rotate(var(--wax-tilt));
  transform-origin: left center;
}
.item-meta-line .wax-note {
  position: relative;
  color: var(--wax);
  font-family: 'Caveat Tag', 'Segoe Print', 'Bradley Hand', cursive;
  font-size: var(--text-display);
  font-weight: var(--weight-strong);
  line-height: 1;
  white-space: nowrap;
  filter: url(#wax-grain);
}
.item-meta-line .wax-loop,
.item-meta-line .wax-tally,
.item-meta-line .wax-under {
  overflow: visible;
  filter: url(#wax-grain);
}
.item-meta-line .wax-loop path,
.item-meta-line .wax-tally path,
.item-meta-line .wax-under path {
  fill: none;
  stroke: var(--wax);
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.item-meta-line .wax-tally path { stroke-width: 2.4; }
.item-meta-line .wax-loop {
  position: absolute;
  left: -14px;
  top: -11px;
  width: calc(100% + 28px);
  height: calc(100% + 22px);
  pointer-events: none;
}
.item-meta-line .wax-under {
  position: absolute;
  left: -4px;
  top: 100%;
  width: 100%;
  height: auto;
  filter: none;
}
.masthead {
  position: relative;
  --glass-rim-now: var(--glass-rim);
  box-shadow: var(--accent-glow), var(--shadow-glass-depth);
}
.masthead::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: var(--glass-edge-w);
  background: var(--glass-rim-now, transparent);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
}
@media (hover: hover) {
  .masthead:hover { --glass-rim-now: var(--glass-rim-hover); }
}
@media (prefers-reduced-transparency: reduce) {
  .masthead::after { display: none; }
}
@media (min-width: 900px) {
  :root[data-theme] .glass-page .topbar {
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--glass-fill-chrome), var(--glass-fill-chrome)) border-box;
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  }
}
@media (prefers-reduced-transparency: reduce) {
  :root[data-theme] .glass-page .topbar {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--panel);
  }
}
@media (min-width: 900px) {
  :root[data-theme] .tabbar {
    background:
      var(--glass-sheen) border-box,
      linear-gradient(var(--glass-fill), var(--glass-fill)) border-box;
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
    border-right: 1px solid transparent;
    box-shadow:
      inset -1px 0 0 var(--rail-edge),
      inset -14px 0 20px -18px rgba(0, 0, 0, 0.5),
      14px 0 38px -26px rgba(0, 0, 0, 0.7);
  }
  :root[data-theme='dark'] { --rail-edge: rgba(255, 250, 242, 0.20); }
  :root[data-theme='light'] { --rail-edge: rgba(33, 25, 21, 0.12); }
}
@media (prefers-reduced-transparency: reduce) {
  :root[data-theme] .tabbar {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--panel);
  }
}
.theme-pick {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
  gap: var(--space-12);
}
.theme-pick-btn {
  display: grid;
  gap: var(--space-6);
  padding: var(--space-16);
  text-align: left;
  background: var(--panel);
  border: 1.5px solid var(--border-strong);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-smooth), box-shadow var(--dur-fast) var(--ease-smooth);
}
.theme-pick-btn.is-on {
  border-color: var(--primary);
  box-shadow: var(--accent-glow);
}
.theme-pick-btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.theme-pick-name { font-weight: var(--weight-bold); font-size: var(--text-body); }
.theme-pick-say { font-size: var(--text-micro); color: var(--text-dim); line-height: 1.5; }
.theme-pick-swatch {
  height: 34px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
}
.theme-pick-swatch.is-light { background: linear-gradient(135deg, #f6f3f0 0%, #ffffff 55%, #b5471e 55.5%, #b5471e 100%); }
.theme-pick-swatch.is-dark { background: linear-gradient(135deg, #0a0908 0%, #141211 55%, #ffa53d 55.5%, #ffa53d 100%); }
.theme-pick-swatch.is-system { background: linear-gradient(135deg, #f6f3f0 0%, #f6f3f0 49.5%, #0a0908 50%, #0a0908 100%); }
@media (max-width: 899px) {
  :root[data-theme='dark'] .nav-sheet {
    background: var(--panel-alt);
    border: 1px solid var(--border);
  }
}
.bt-mat { margin-top: var(--space-20); padding-top: var(--space-16); border-top: 1px solid var(--border); }
.bt-mat-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  flex-wrap: wrap;
}
.bt-mat-head .bt-sub { margin: 0; }
.bt-mat-block {
  padding: var(--space-4) var(--space-12);
  background: var(--amber-soft);
  color: var(--amber);
  border-radius: var(--radius-pill);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
}
.bt-mat-figs { display: flex; flex-wrap: wrap; gap: var(--space-24); margin-top: var(--space-14); }
.bt-mat-fig { display: grid; }
.bt-mat-fig strong {
  font-size: var(--text-display);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-tight);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.bt-mat-fig span { margin-top: var(--space-4); font-size: var(--text-micro); color: var(--text-dim); }
.bt-mat-warn { margin: var(--space-8) 0 0; font-size: var(--text-micro); color: var(--amber); }
.se-batch.is-past { background: var(--amber-soft); background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); color: var(--text); }
.ac-tabs { display: flex; flex-wrap: wrap; gap: var(--space-6); margin: 0 0 var(--space-12); border-bottom: 1px solid var(--border); }
.ac-tab { background: none; border: 0; border-bottom: 3px solid transparent; padding: var(--space-8) var(--space-12); font: inherit; color: var(--text-dim); cursor: pointer; }
.ac-tab.active, .ac-tab[aria-selected="true"] { color: var(--text); border-bottom-color: var(--border-strong); font-weight: var(--weight-strong); }
.ac-badge { display: inline-block; min-width: 1.4em; padding: 0 0.4em; margin-left: 0.4em; border-radius: var(--radius-pill); background: var(--red); color: var(--on-accent); font-size: var(--text-small); text-align: center; }
.ac-badge[hidden] { display: none; }
.ac-card { margin-bottom: var(--space-12); }
.ac-card-done { opacity: 0.75; }
.ac-card-bad { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.ac-card-head { display: flex; justify-content: space-between; gap: var(--space-12); align-items: flex-start; flex-wrap: wrap; margin-bottom: var(--space-8); }
.ac-kind-row { display: flex; gap: var(--space-12); align-items: flex-end; flex-wrap: wrap; margin-bottom: var(--space-8); }
.ac-kind-row .field { min-width: 240px; }
.ac-kind-hint { flex: 1; min-width: 200px; }
.ac-actions { display: flex; gap: var(--space-8); align-items: center; flex-wrap: wrap; margin-top: var(--space-12); }
.ac-row-actions .text-btn { white-space: nowrap; }
.ac-pay-strip { display: flex; flex-wrap: wrap; gap: var(--space-16); margin: var(--space-8) 0 var(--space-12); }
.ac-pay-strip > div { display: flex; flex-direction: column; gap: var(--space-2); }
.ac-pay-strip strong { font-size: var(--text-lead); font-variant-numeric: tabular-nums; }
.ac-pay-strip span { font-size: var(--text-micro); color: var(--text-dim); }
.ac-pay-strip .is-overdue strong { color: var(--red); }
.ac-pay-status { font-size: var(--text-micro); font-weight: var(--weight-bold); letter-spacing: var(--track-caps); text-transform: uppercase; }
.ac-pay-status.is-overdue { color: var(--red); }
.ac-pay-status.is-pending { color: var(--amber); }
.ac-pay-status.is-paid { color: var(--green); }
.ac-pay-status.is-unpriced { color: var(--text-faint); }
.ac-pay-draft { width: 100%; min-height: 12rem; font: inherit; font-size: var(--text-small); }
.ac-exp-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); gap: var(--space-8) var(--space-12); align-items: end; }
.ac-exp-form .ac-exp-note { grid-column: 1 / -1; }
.ac-exp-form .ac-actions, .ac-exp-form .error-msg { grid-column: 1 / -1; }
.ac-file-btn { display: inline-block; cursor: pointer; }
.ac-stacks-foot { margin-top: var(--space-12); display: flex; gap: var(--space-12); flex-wrap: wrap; align-items: center; }
.ac-upload-acts { display: inline-flex; align-items: center; gap: var(--space-12); flex-wrap: wrap; justify-content: flex-end; }
.ac-upload-alt { font-size: var(--text-small); }
@media (pointer: coarse) {
  .ac-upload-alt { min-height: 44px; display: inline-flex; align-items: center; }
}
.ac-lines input { width: 100%; min-width: 70px; }
.ac-lines .ac-col-what { min-width: 220px; }
.bl-lines input { width: 100%; min-width: 70px; }
.bl-lines .bl-col-what { min-width: 220px; }
.ac-docs-row td { background: var(--surface-2); }
.ac-doc-list { margin: var(--space-8) 0; padding-left: 1.2em; }
.ac-doc-list li { margin-bottom: var(--space-6); }
.ac-request .cap-flags { flex-direction: row; flex-wrap: wrap; margin-top: 0; }
.paperwork-panel { margin-top: var(--space-6); font-size: var(--text-small); }
.paperwork-list { margin: 0 0 var(--space-6); padding-left: 1.2em; }
.paperwork-attach { display: flex; gap: var(--space-8); align-items: center; flex-wrap: wrap; }
.paperwork-attach label { cursor: pointer; }
.paperwork-asks { display: flex; flex-direction: column; gap: var(--space-6); margin-bottom: var(--space-12); }
.ac-card > .section-title:first-child { margin-top: 0; }
.paperwork-lead { margin-bottom: var(--space-8); }
.paperwork-actions { display: flex; gap: var(--space-8); margin-top: var(--space-8); }
.ac-lines-list { margin: var(--space-6) 0; padding-left: 1.2em; }
.ac-sheet { white-space: pre-wrap; font-size: var(--text-small); background: var(--surface-2); padding: var(--space-8); border-radius: var(--radius-sm); margin: var(--space-6) 0 0; }
.pt-thread { display: flex; flex-direction: column; gap: var(--space-6); margin: var(--space-8) 0; }
.pt-msg { max-width: 80%; padding: var(--space-6) var(--space-8); border-radius: var(--radius-md); background: var(--surface-2); align-self: flex-start; }
.pt-msg.pt-mine { align-self: flex-end; background: var(--panel-alt); }
.pt-who { font-size: var(--text-small); color: var(--text-dim); }
.pt-body { white-space: pre-wrap; }
.pt-doc { display: inline-block; margin-top: var(--space-6); }
.pt-reply textarea { width: 100%; }
.pt-reply-row { display: flex; gap: var(--space-8); align-items: center; margin-top: var(--space-6); }
.ms-card.ms-unread { background-image: linear-gradient(var(--red-soft), var(--red-soft)); }
.paperwork-thread { margin: var(--space-6) 0 var(--space-12); }
.bk-fold > summary { cursor: pointer; list-style: none; }
.bk-fold > summary::-webkit-details-marker { display: none; }
.bk-upload { align-items: end; }
.bk-line { border-top: 1px solid var(--border); padding: var(--space-8) 0; display: flex; flex-direction: column; gap: var(--space-2); }
.bk-line-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-8); }
.bk-date { color: var(--text-dim); font-variant-numeric: tabular-nums; }
.bk-amount { font-variant-numeric: tabular-nums; }
.bk-in, .bk-out { font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); padding: 0 var(--space-4); border-radius: var(--radius-sm); }
.bk-in { background: var(--green-soft); color: var(--green); }
.bk-out { background: var(--red-soft); color: var(--red); }
.bk-bank { margin-left: auto; font-size: var(--text-micro); color: var(--text-dim); }
.bk-narr { word-break: break-word; }
.bk-why { font-size: var(--text-small); color: var(--text-dim); }
.bk-actions { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; }
.bk-actions .bk-against { flex: 1 1 14rem; }
.bk-all { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-8); margin: var(--space-8) 0; }
.bk-all[hidden] { display: none; }
.pl-tools { display: flex; flex-wrap: wrap; gap: var(--space-12); align-items: center; margin-bottom: var(--space-20); }
.pl-tools[hidden] { display: none; }
.pl-chip-n { font-size: var(--text-micro); color: inherit; margin-left: var(--space-4); font-weight: var(--weight-medium); }
.pl-fill { display: flex; flex-wrap: wrap; gap: var(--space-12); align-items: center; margin: 0 0 var(--space-20); padding: var(--space-12) var(--space-16); border-radius: var(--radius-md); background: var(--amber-soft); color: var(--text); }
.pl-fill[hidden] { display: none; }
.pl-group + .pl-group { margin-top: var(--space-28); }
.pl-group-head {
  position: sticky;
  top: 0;
  z-index: 1;
  margin: 0 0 var(--space-12);
  padding: var(--space-8) 0;
  background: var(--bg);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  color: var(--text-dim);
  border-bottom: 1px solid var(--border);
}
.pl-shelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: var(--space-16); }
.pl-card {
  --pl-i: 0;
  min-width: 0;
  background: var(--panel);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: transform var(--dur-slow) var(--ease-smooth), box-shadow var(--dur-slow) var(--ease-smooth);
}
.pl-card[open] { grid-column: 1 / -1; box-shadow: var(--shadow-md); }
.pl-face { list-style: none; cursor: pointer; display: grid; grid-template-rows: auto auto; }
.pl-face::-webkit-details-marker { display: none; }
.pl-card[open] .pl-face { grid-template-columns: minmax(200px, 1fr) 2fr; grid-template-rows: auto; align-items: center; }
.pl-pic {
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-16);
  background: var(--panel-alt);
  color: var(--primary);
  position: relative;
  overflow: hidden;
}
.pl-pic.is-photo { padding: 0; }
.pl-pic.is-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pl-sil { width: 100%; height: 100%; max-height: 160px; }
.pl-pdf {
  font-size: var(--text-heading);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-caps);
  border: 2px solid currentColor;
  border-radius: var(--radius-sm);
  padding: var(--space-4) var(--space-12);
}
.pl-pic-say { position: absolute; right: var(--space-12); bottom: var(--space-8); font-size: var(--text-micro); color: var(--text-dim); text-transform: uppercase; letter-spacing: var(--track-caps); }
.pl-pic.is-blank { color: var(--text-faint); border-bottom: 1px dashed var(--border-strong); }
.pl-words { padding: var(--space-16) var(--space-20) var(--space-20); min-width: 0; }
.pl-number { font-size: var(--text-heading); font-weight: var(--weight-strong); letter-spacing: var(--track-tight); line-height: 1.1; overflow-wrap: anywhere; }
.pl-nonumber { color: var(--amber); font-size: var(--text-body); font-weight: var(--weight-medium); }
.pl-name { margin-top: var(--space-4); color: var(--text); font-size: var(--text-body); overflow-wrap: anywhere; }
.pl-also { color: var(--text-dim); font-size: var(--text-small); }
.pl-chips { display: flex; flex-wrap: wrap; gap: var(--space-6); margin-top: var(--space-12); }
.pl-chip { font-size: var(--text-small); color: var(--text-dim); background: var(--panel-alt); border-radius: var(--radius-pill); padding: var(--space-2) var(--space-10); }
.pl-marks { display: flex; flex-wrap: wrap; gap: var(--space-12); margin-top: var(--space-12); font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--text-faint); }
.pl-mark::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: var(--radius-pill); border: 1px solid currentColor; margin-right: var(--space-6); vertical-align: middle; }
.pl-mark.is-on { color: var(--green); }
.pl-mark.is-on::before { background: currentColor; }
.pl-more { padding: 0 var(--space-20) var(--space-20); }
.pl-more-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-20); }
.pl-more-col { min-width: 0; }
.pl-more h3 { margin: var(--space-12) 0 var(--space-8); font-size: var(--text-small); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--text-dim); }
.pl-sheets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-6); }
.pl-order-has { font-size: var(--text-micro); color: var(--text-dim); text-transform: uppercase; letter-spacing: var(--track-caps); }
.pl-scene { aspect-ratio: 4 / 3; max-height: 320px; background: var(--panel-alt); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: none; }
.pl-scene canvas { display: block; width: 100%; height: 100%; }
.pl-blank { color: var(--text-faint); font-size: var(--text-small); }
@media (min-width: 720px) {
  .pl-more-grid { grid-template-columns: 3fr 2fr; }
}
.is-armed .pl-card:not(.is-in) { opacity: 0; transform: translateY(18px); }
.is-armed .pl-card.is-in { opacity: 1; transform: none; transition: opacity var(--dur-reveal) var(--ease-smooth), transform var(--dur-reveal) var(--ease-smooth); transition-delay: calc(var(--pl-i, 0) * 60ms); }
@media (prefers-reduced-motion: reduce) {
  .is-armed .pl-card:not(.is-in) { opacity: 1; transform: none; }
  .is-armed .pl-card.is-in { transition: none; }
}
.hm-cash .hm-col-bars > b { width: 34%; }
.hm-cash .hm-col-bars > b.is-in { background: var(--green); }
.hm-cash .hm-col-bars > b.is-out { background: var(--red); }
.hm-cash .hm-col-bars > b.is-hollow { background: transparent; border: 1px dashed var(--border-strong); }
.hm-cash-key { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: var(--space-4); vertical-align: middle; }
.hm-cash-key.is-in { background: var(--green); }
.hm-cash-key.is-out { background: var(--red); }
.bk-payers { display: flex; flex-wrap: wrap; gap: var(--space-8); margin: var(--space-8) 0 var(--space-12); }
.bk-payer { padding: var(--space-4) var(--space-8); border: 1px solid var(--border); border-radius: var(--radius-pill); font-size: var(--text-small); }
.bk-payer strong { font-variant-numeric: tabular-nums; }
.ac-group { display: inline-block; font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); padding: 0 var(--space-4); border-radius: var(--radius-sm); vertical-align: middle; }
.ac-group.is-direct { background: var(--amber-soft); color: var(--amber); }
.ac-group.is-indirect { background: var(--gray-soft); color: var(--text-dim); }
.ac-direct { margin: var(--space-8) 0 var(--space-12); display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; }
.ac-direct-head { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; margin: var(--space-8) 0; width: 100%; }
.hm-ahead { display: block; width: 100%; height: 150px; margin-top: var(--space-12); overflow: visible; }
.hm-ahead-zero { stroke: var(--border-strong); stroke-width: 1; stroke-dasharray: 3 4; }
.hm-ahead-line { fill: none; stroke: var(--green); stroke-width: 2.5; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: hm-ahead-draw calc(var(--dur-slow) * 4) var(--ease-smooth) forwards; }
.hm-ahead-line.is-short { stroke: var(--red); }
.hm-ahead-line.is-book { stroke-width: 1.5; stroke-dasharray: 4 3; animation: none; stroke-dashoffset: 0; opacity: 0.8; }
.hm-cash-key.is-habit { background: var(--green); }
.hm-cash-key.is-book { background: transparent; border: 1px dashed var(--text-dim); }
.hm-ahead-low.is-book { fill: transparent; stroke: var(--amber); }
.hm-ahead-in { fill: var(--primary); stroke: var(--panel); stroke-width: 1.5; cursor: pointer; }
.hm-ahead-low { fill: var(--amber); stroke: var(--panel); stroke-width: 2; }
.hm-ahead-low.is-short { fill: var(--red); }
.hm-ahead-weeks { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); font-size: var(--text-micro); color: var(--text-dim); }
.hm-ahead-weeks span { display: flex; flex-direction: column; align-items: center; }
.hm-ahead-weeks strong { font-variant-numeric: tabular-nums; color: var(--text); }
.hm-tile.is-ink .hm-ahead-weeks strong { color: #fff; }
@keyframes hm-ahead-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .hm-ahead-line { animation: none; stroke-dashoffset: 0; } }
.po-steel { margin-top: var(--space-12); }
.po-steel summary { cursor: pointer; color: var(--text-dim); }
.po-steel-body { margin-top: var(--space-12); }
.ps-tot { display: flex; flex-wrap: wrap; gap: var(--space-20); margin-bottom: var(--space-12); font-size: var(--text-lead); }
.ps-tot strong { font-variant-numeric: tabular-nums; }
.ps-needs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: var(--space-12); }
.ps-need { padding: var(--space-12) var(--space-14); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); }
.ps-need-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-8); align-items: baseline; }
.ps-need-figs { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-6); font-size: var(--text-small); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.ps-short { color: var(--red); font-weight: var(--weight-strong); }
.ps-ok { color: var(--green); }
.ps-have { color: var(--text-faint); }
.ps-lines { margin-top: var(--space-16); display: flex; flex-direction: column; gap: var(--space-6); }
.ps-line { display: flex; flex-wrap: wrap; gap: var(--space-8); justify-content: space-between; padding: var(--space-8) 0; border-bottom: 1px solid var(--border); }
.ps-line-figs { font-size: var(--text-small); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.ps-line-blank .ps-why { font-size: var(--text-small); color: var(--text-faint); }
.ps-basis { margin-top: var(--space-12); font-size: var(--text-micro); color: var(--text-faint); }
.short-steel { margin-bottom: var(--space-24); padding: var(--space-16); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); }
.short-steel-head { display: flex; gap: var(--space-12); align-items: flex-start; }
.short-steel-head h2 { margin: 0; font-size: var(--text-lead); }
.short-steel-head p { margin: var(--space-4) 0 0; font-size: var(--text-small); color: var(--text-dim); max-width: 68ch; }
.short-steel-list { list-style: none; margin: var(--space-12) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-8); }
.short-steel-list li { padding: var(--space-8) 0; border-top: 1px solid var(--border); }
.short-steel-row { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; justify-content: space-between; font-variant-numeric: tabular-nums; }
.short-steel-orders { margin-top: var(--space-4); font-size: var(--text-micro); }
.qq-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: var(--space-8); margin-top: var(--space-12); }
.qq-choice { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); text-align: left; }
.cd-progress { margin-bottom: var(--space-20); }
.cd-bar { height: var(--space-8); border-radius: var(--radius-pill); background: var(--surface-2); overflow: hidden; }
.cd-bar span { display: block; height: 100%; background: var(--amber); }
.cd-progress-words { margin-top: var(--space-6); font-size: var(--text-small); color: var(--text-dim); }
.cd-card { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: var(--space-20); align-items: start; }
.cd-sheet-wrap { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--panel-alt); overflow: hidden; min-height: 420px; }
.cd-sheet { width: 100%; height: 70vh; border: 0; display: block; }
.cd-sheet-img { width: 100%; height: auto; display: block; }
.cd-sheet-link { display: block; }
.cd-sheet-fallback { display: block; padding: var(--space-8) var(--space-16); font-size: var(--text-micro); }
.cd-read-label { font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); color: var(--text-dim); }
.cd-number { font-size: var(--text-display); font-weight: var(--weight-strong); letter-spacing: var(--track-tight); line-height: 1.1; overflow-wrap: anywhere; margin-top: var(--space-4); }
.cd-title { margin-top: var(--space-6); color: var(--text-dim); }
.cd-note { margin-top: var(--space-6); font-size: var(--text-micro); color: var(--text-faint); overflow-wrap: anywhere; }
.cd-buttons { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-top: var(--space-20); }
.cd-fix { display: grid; gap: var(--space-12); margin-top: var(--space-16); padding: var(--space-16); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); }
.cd-fix[hidden] { display: none; }
.rv-caveat { padding: var(--space-12) var(--space-16); border-radius: var(--radius-md); background: var(--amber-soft); color: var(--text); max-width: 68ch; }
.rv-section { margin-top: var(--space-28); }
.rv-watch-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: var(--space-16); }
.rv-watch { padding: var(--space-16); border: 1px solid var(--border-strong); border-radius: var(--radius-md); background: var(--panel); }
.rv-watch-head { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; justify-content: space-between; }
.rv-watch-what { margin-top: var(--space-4); }
.rv-watch-rev { margin-top: var(--space-8); font-size: var(--text-small); }
.rv-watch-at { margin-top: var(--space-6); font-size: var(--text-micro); color: var(--text-dim); }
.rv-watch-do { margin-top: var(--space-12); }
.rv-family { border-bottom: 1px solid var(--border); }
.rv-family summary { cursor: pointer; padding: var(--space-12) 0; display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; }
.rv-family-body { padding: 0 0 var(--space-16); }
.rv-note { font-size: var(--text-small); color: var(--text-dim); }
.rv-rev { padding: var(--space-8) 0 var(--space-8) var(--space-12); border-left: 2px solid var(--border); }
.rv-rev.is-latest { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.rv-rev-mark { font-weight: var(--weight-strong); }
.rv-rev-sheets, .rv-rev-orders { margin-top: var(--space-2); font-size: var(--text-micro); overflow-wrap: anywhere; }
.pl-papers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-6); }
.pl-papers li { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; }
.pl-paper-add { margin-top: var(--space-12); }
.pl-paper-add summary { cursor: pointer; color: var(--text-dim); font-size: var(--text-small); }
.pl-paper-form { display: grid; gap: var(--space-8); margin-top: var(--space-8); padding: var(--space-12); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); }
.pl-paper-said { font-size: var(--text-micro); color: var(--text-dim); }
.po-papers { margin-top: var(--space-12); }
.po-papers summary { cursor: pointer; color: var(--text-dim); }
.po-papers-body { margin-top: var(--space-12); }
.pp-item { padding: var(--space-8) 0; border-bottom: 1px solid var(--border); }
.pp-item-head { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; }
.pp-row { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; padding: var(--space-8) 0 var(--space-8) var(--space-12); }
.pp-kind, .pp-said { font-size: var(--text-micro); color: var(--text-dim); }
.ml-calls { margin-bottom: var(--space-24); }
.ml-calls-head { display: flex; gap: var(--space-12); align-items: flex-start; margin-bottom: var(--space-12); }
.ml-calls-head h2 { margin: 0; font-size: var(--text-lead); }
.ml-calls-head p { margin: var(--space-4) 0 0; font-size: var(--text-small); color: var(--text-dim); max-width: 68ch; }
.ml-call-form { margin-top: var(--space-12); padding: var(--space-12); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); }
.ml-call-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); gap: var(--space-8); margin-top: var(--space-8); }
.pl-matches { margin-bottom: var(--space-28); }
.pl-matches-head { display: flex; gap: var(--space-12); align-items: flex-start; margin-bottom: var(--space-16); }
.pl-matches-head h2 { margin: 0; font-size: var(--text-lead); }
.pl-matches-head p { margin: var(--space-4) 0 0; font-size: var(--text-small); color: var(--text-dim); max-width: 68ch; }
.pl-match { padding: var(--space-16); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); margin-bottom: var(--space-12); }
.pl-match-head { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; }
.pl-match-what { margin-top: var(--space-4); font-size: var(--text-small); }
.pl-cands { list-style: none; margin: var(--space-12) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-8); }
.pl-cand { padding: var(--space-10) var(--space-12); border-left: 1px solid var(--border-strong); background: var(--panel); border-radius: var(--radius-sm); }
.pl-cand.is-strong { background-image: linear-gradient(var(--green-soft), var(--green-soft)); }
.pl-cand.is-likely { background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); }
.pl-cand.is-a-guess { border-left-color: var(--border); opacity: 0.9; }
.pl-cand-what { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: baseline; }
.pl-cand-why { margin-top: var(--space-2); font-size: var(--text-micro); color: var(--text-dim); }
.ps-trail-out[hidden] { display: none; }
.ps-trail-out { width: 100%; margin-top: var(--space-8); padding: var(--space-12); background-image: linear-gradient(var(--amber-soft), var(--amber-soft)); background: var(--surface-2); border-radius: var(--radius-sm); }
.ps-trail-found strong { font-weight: var(--weight-strong); }
.ps-trail-none { color: var(--text-dim); }
.ps-trail-list { margin: var(--space-8) 0 0; padding-left: var(--space-20); display: flex; flex-direction: column; gap: var(--space-8); }
.ps-trail-step { font-size: var(--text-micro); color: var(--text-dim); }
.ps-guessed { flex-basis: 100%; font-size: var(--text-micro); color: var(--amber); }
.sc-title { margin: 0; }
.sc-status { display: flex; gap: var(--space-8); align-items: center; flex-wrap: wrap; margin-top: var(--space-10); }
.sc-status[hidden] { display: none; }
.sc-status-lead { min-width: 0; }
.sc-radar { display: inline-block; width: 22px; height: 22px; margin-right: var(--space-6); vertical-align: -6px; color: var(--primary); overflow: visible; }
.sc-radar[hidden] { display: none; }
.sc-radar-ring { fill: none; stroke: currentColor; stroke-width: 1.1; opacity: 0.35; }
.sc-radar-sweep { fill: currentColor; opacity: 0.45; transform-origin: 10px 10px; animation: sc-sweep 1.6s linear infinite; }
.sc-radar-hub { fill: currentColor; }
.sc-radar-blip { fill: currentColor; opacity: 0.25; animation: sc-blip 1.6s var(--ease-smooth) infinite; }
@keyframes sc-sweep { to { transform: rotate(360deg); } }
@keyframes sc-blip {
  0%, 6% { opacity: 0.25; }
  12% { opacity: 1; }
  100% { opacity: 0.25; }
}
.sc-status.is-looking #ml-scout-status-words { color: var(--text); }
@keyframes sc-blip-still { from { opacity: 0.3; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .sc-radar-sweep { animation: none; }
  .sc-radar-blip { animation: sc-blip-still 2.4s ease-in-out infinite alternate; }
}
.sc-marks { display: flex; gap: var(--space-6); align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.sc-where { white-space: nowrap; }
.sc-org { margin-top: var(--space-6); }
.sc-when { margin-top: var(--space-10); }
.sc-why { margin-top: var(--space-10); }
.sc-ref { margin-top: var(--space-8); }
.sc-words { margin-top: var(--space-10); }
.chip.good { background: var(--green-soft); color: var(--green); border-color: color-mix(in srgb, var(--green) 30%, transparent); }
.chip.warn { background: var(--amber-soft); color: var(--amber); border-color: color-mix(in srgb, var(--amber) 30%, transparent); }
.pl-docs { list-style: none; margin: var(--space-10) 0 0; padding: 0; }
.pl-docs li { display: flex; align-items: center; gap: var(--space-10); flex-wrap: wrap; padding: var(--space-2) 0; }
.pl-facts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
  gap: var(--space-4) var(--space-16);
  margin: var(--space-10) 0 0;
}
.pl-fact { display: flex; gap: var(--space-8); align-items: baseline; min-width: 0; }
.pl-fact dt { color: var(--text-dim); font-size: var(--text-small); white-space: nowrap; }
.pl-fact dd { margin: 0; overflow-wrap: anywhere; }
.pl-src { color: var(--text-dim); font-size: var(--text-small); white-space: nowrap; }
.pl-src.pl-unchecked { color: var(--amber); }
.pl-check { align-items: center; margin-top: var(--space-10); }
.pl-date-slot { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; margin-top: var(--space-8); }
.pl-date-slot[hidden] { display: none; }
.sc-place { margin-top: var(--space-12); display: flex; flex-direction: column; gap: var(--space-10); }
.sc-place[hidden] { display: none; }
.sc-place-actions { display: flex; gap: var(--space-10); flex-wrap: wrap; }
.sc-actions { margin-top: var(--space-12); display: flex; gap: var(--space-10); flex-wrap: wrap; }
.sc-open { width: auto; display: inline-block; }
.enq-head { display: flex; gap: var(--space-10); align-items: baseline; justify-content: space-between; flex-wrap: wrap; }
.enq-who { font-size: var(--text-body); font-weight: var(--weight-strong); overflow-wrap: anywhere; }
.enq-firm { margin-top: var(--space-4); overflow-wrap: anywhere; }
.enq-reach { font-size: var(--text-micro); margin-top: var(--space-2); overflow-wrap: anywhere; user-select: text; }
.enq-asked {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
  gap: var(--space-8) var(--space-16);
  margin: var(--space-12) 0 0;
}
.enq-asked-row dt { font-size: var(--text-micro); color: var(--text-faint); }
.enq-asked-row dd { margin: 0; font-size: var(--text-small); overflow-wrap: anywhere; }
.enq-source { display: block; font-size: var(--text-micro); color: var(--text-faint); font-style: italic; }
.enq-wants { margin-top: var(--space-12); font-size: var(--text-small); }
.enq-wants-label { color: var(--text-faint); font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); margin-right: var(--space-6); }
.enq-said-wrap { margin-top: var(--space-12); }
.enq-said-label { color: var(--text-faint); font-size: var(--text-micro); text-transform: uppercase; letter-spacing: var(--track-caps); }
.enq-said {
  margin: var(--space-6) 0 0;
  padding: var(--space-10) var(--space-12);
  border-left: 2px solid var(--border-strong);
  background: var(--surface-2);
  border-radius: var(--radius-sm);
  font-size: var(--text-small);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.enq-foot { margin-top: var(--space-10); overflow-wrap: anywhere; }
@keyframes card-arrives {
  from { opacity: 0; transform: translateY(14px) scale(0.985); }
  to   { opacity: 1; transform: none; }
}
[data-motion] .arrives {
  animation: card-arrives var(--dur-reveal) var(--ease-smooth) backwards;
  animation-play-state: paused;
}
[data-motion] .arrives.has-arrived { animation-play-state: running; }
[data-motion] .ow-card,
[data-motion] .bt-card {
  transition:
    transform var(--dur-base) var(--ease-smooth),
    box-shadow var(--dur-base) var(--ease-smooth),
    border-color var(--dur-base) var(--ease-smooth);
}
@media (hover: hover) {
  [data-motion] .ow-card:hover,
  [data-motion] .bt-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg), var(--shadow-inset-top);
  }
  [data-motion] .po-card:hover,
  [data-motion] .chart-card:hover,
  [data-motion] .ow-card:hover,
  [data-motion] .bt-card:hover {
    border-color: color-mix(in srgb, var(--primary) 34%, var(--border));
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--primary) 16%, transparent),
      0 0 34px -12px color-mix(in srgb, var(--primary) 45%, transparent),
      var(--shadow-lg), var(--shadow-inset-top);
  }
}
@media (hover: hover) {
  :root[data-theme='dark'] [data-motion] .po-card:hover,
  :root[data-theme='dark'] [data-motion] .chart-card:hover,
  :root[data-theme='dark'] [data-motion] .ow-card:hover,
  :root[data-theme='dark'] [data-motion] .bt-card:hover {
    border-color: rgba(255, 165, 61, 0.30);
    box-shadow:
      inset 0 1px 0 rgba(255, 210, 150, 0.14),
      0 0 0 1px rgba(255, 165, 61, 0.10),
      0 0 46px -14px rgba(255, 165, 61, 0.34),
      var(--shadow-lg);
  }
}
[data-motion] .bt-tile[open] > *:not(summary) {
  animation: batch-opens var(--dur-base) var(--ease-smooth);
  transform-origin: top center;
}
@keyframes batch-opens {
  from { opacity: 0; transform: translateY(-6px) scaleY(0.97); }
  to   { opacity: 1; transform: none; }
}
[data-motion] .bt-tile > summary { transition: background-color var(--dur-fast) var(--ease-smooth); }
[data-motion] .bt-tile[open] > summary { background: var(--panel-alt); }
@media (prefers-reduced-motion: reduce) {
  [data-motion] .arrives,
  [data-motion] .bt-tile[open] > *:not(summary) { animation: none; }
  [data-motion] .ow-card,
  [data-motion] .bt-card,
  [data-motion] .bt-tile > summary { transition: none; }
  [data-motion] .ow-card:hover,
  [data-motion] .bt-card:hover { transform: none; }
}
@media (max-width: 560px) {
  .quick-header {
    gap: var(--space-8);
    padding-left: var(--space-10);
    padding-right: var(--space-10);
  }
  .quick-header .quick-logo { display: none; }
  .quick-header-text {
    display: flex;
    align-items: center;
    gap: var(--space-6);
    min-width: 0;
  }
  .quick-header .topbar-tools { gap: var(--space-4); }
  .quick-header .quick-sub { display: none; }
  .quick-title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1 1 auto;
    min-width: 0;
    font-size: var(--text-body);
  }
  .quick-readback__label { display: none; }
  .quick-readback {
    padding: var(--space-6) var(--space-8);
    min-height: 44px;
    min-width: 44px;
  }
  .quick-search { max-width: none; }
}
:root {
  --btn-h: 44px;
  --btn-h-sm: 36px;
  --btn-radius: var(--radius-md);
  --btn-glass-fill: rgba(255, 255, 255, 0.58);
  --btn-glass-fill-hover: rgba(255, 255, 255, 0.86);
  --btn-glass-rim: linear-gradient(148deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0.75) 8%,
    rgba(60, 38, 28, 0.24) 24%,
    rgba(60, 38, 28, 0.18) 60%,
    rgba(60, 38, 28, 0.22) 84%,
    rgba(181, 71, 30, 0.55) 100%);
  --btn-glass-rim-hover: linear-gradient(148deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0.80) 8%,
    rgba(181, 71, 30, 0.42) 26%,
    rgba(181, 71, 30, 0.34) 64%,
    rgba(181, 71, 30, 0.80) 100%);
  --btn-sheen: radial-gradient(120% 140% at 0% 0%, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 55%);
  --btn-lit-rim: linear-gradient(148deg,
    rgba(255, 244, 228, 1) 0%,
    rgba(255, 214, 170, 0.75) 10%,
    rgba(139, 52, 20, 0.35) 40%,
    rgba(110, 40, 14, 0.55) 100%);
  --btn-lit-sheen: radial-gradient(120% 160% at 0% 0%, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0) 52%);
  --btn-shadow: 0 1px 2px rgba(60, 38, 28, 0.10), 0 5px 12px -6px rgba(60, 38, 28, 0.28);
  --btn-shadow-hover: 0 2px 4px rgba(60, 38, 28, 0.12), 0 12px 22px -10px rgba(60, 38, 28, 0.40);
  --btn-lit-shadow: 0 2px 4px rgba(139, 52, 20, 0.20), 0 8px 18px -8px rgba(181, 71, 30, 0.55);
  --btn-danger-wash: rgba(209, 36, 36, 0.10);
  --btn-quiet-wash: rgba(181, 71, 30, 0.08);
}
:root[data-theme='dark'] {
  --btn-glass-fill: rgba(255, 240, 222, 0.055);
  --btn-glass-fill-hover: rgba(255, 240, 222, 0.11);
  --btn-glass-rim: linear-gradient(148deg,
    rgba(255, 253, 249, 0.85) 0%,
    rgba(255, 220, 180, 0.50) 6%,
    rgba(255, 255, 255, 0.15) 20%,
    rgba(255, 251, 244, 0.06) 56%,
    rgba(255, 255, 255, 0.12) 84%,
    rgba(255, 190, 110, 0.45) 100%);
  --btn-glass-rim-hover: linear-gradient(148deg,
    rgba(255, 253, 249, 0.95) 0%,
    rgba(255, 200, 140, 0.70) 8%,
    rgba(255, 165, 61, 0.30) 26%,
    rgba(255, 165, 61, 0.18) 60%,
    rgba(255, 165, 61, 0.75) 100%);
  --btn-sheen: radial-gradient(120% 140% at 0% 0%, rgba(255, 230, 200, 0.09) 0%, rgba(255, 230, 200, 0) 55%);
  --btn-lit-rim: linear-gradient(148deg,
    rgba(255, 250, 240, 1) 0%,
    rgba(255, 226, 180, 0.80) 10%,
    rgba(224, 124, 20, 0.40) 42%,
    rgba(150, 70, 8, 0.70) 100%);
  --btn-lit-sheen: radial-gradient(120% 160% at 0% 0%, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0) 50%);
  --btn-shadow: 0 1px 2px rgba(0, 0, 0, 0.45), 0 6px 14px -8px rgba(0, 0, 0, 0.70);
  --btn-shadow-hover: 0 2px 4px rgba(0, 0, 0, 0.50), 0 12px 24px -10px rgba(0, 0, 0, 0.80);
  --btn-lit-shadow: 0 2px 4px rgba(0, 0, 0, 0.45), 0 8px 20px -8px rgba(255, 150, 40, 0.40);
  --btn-danger-wash: rgba(242, 102, 107, 0.14);
  --btn-quiet-wash: rgba(255, 165, 61, 0.10);
}
button.primary,
button.secondary,
button.danger:not(.text-btn),
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-8);
  min-height: var(--btn-h);
  padding: 0 var(--space-18);
  border: 1px solid transparent;
  border-radius: var(--btn-radius);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-decoration: none;
}
button.primary { display: flex; width: 100%; }
button.primary.btn-inline { display: inline-flex; width: auto; }
button.small,
.btn.small {
  min-height: var(--btn-h-sm);
  padding: 0 var(--space-12);
  font-size: var(--text-small);
  border-radius: var(--btn-radius);
}
button.secondary,
button.danger:not(.text-btn),
.btn:not(.btn-filled) {
  background:
    var(--btn-sheen) padding-box,
    linear-gradient(var(--btn-glass-fill), var(--btn-glass-fill)) padding-box,
    var(--btn-glass-rim) border-box;
  color: var(--text);
  box-shadow: var(--btn-shadow);
}
@media (hover: hover) {
  button.secondary:hover:not(:disabled),
  .btn:not(.btn-filled):hover:not(:disabled) {
    background:
      var(--btn-sheen) padding-box,
      linear-gradient(var(--btn-glass-fill-hover), var(--btn-glass-fill-hover)) padding-box,
      var(--btn-glass-rim-hover) border-box;
    border-color: transparent;
    color: var(--primary);
    box-shadow: var(--btn-shadow-hover);
    transform: translateY(-1px);
  }
}
button.danger:not(.text-btn) { color: var(--red); }
@media (hover: hover) {
  button.danger:not(.text-btn):hover:not(:disabled) {
    background:
      var(--btn-sheen) padding-box,
      linear-gradient(var(--btn-danger-wash), var(--btn-danger-wash)) padding-box,
      linear-gradient(var(--btn-glass-fill-hover), var(--btn-glass-fill-hover)) padding-box,
      linear-gradient(148deg, var(--red), var(--red)) border-box;
    border-color: transparent;
    color: var(--red);
    box-shadow: var(--btn-shadow-hover);
    transform: translateY(-1px);
  }
}
button.primary,
.btn.btn-filled {
  background:
    var(--btn-lit-sheen) padding-box,
    var(--gradient-primary) padding-box,
    var(--btn-lit-rim) border-box;
  background-size: auto, 170% 170%, auto;
  background-position: 0 0, 0% 0%, 0 0;
  color: var(--on-accent);
  box-shadow: var(--btn-lit-shadow);
}
@media (hover: hover) {
  button.primary:hover:not(:disabled),
  .btn.btn-filled:hover:not(:disabled) {
    background-position: 0 0, 65% 45%, 0 0;
    border-color: transparent;
    color: var(--on-accent);
    box-shadow: var(--btn-lit-shadow), 0 14px 26px -12px rgba(181, 71, 30, 0.55);
    transform: translateY(-1px);
  }
}
button.primary:active:not(:disabled),
button.secondary:active:not(:disabled),
button.danger:not(.text-btn):active:not(:disabled),
.btn:active:not(:disabled) {
  transform: translateY(1px) scale(0.985);
  box-shadow: none;
}
button.text-btn,
a.text-btn,
.link-btn {
  border-radius: var(--radius-sm);
  font-weight: var(--weight-bold);
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: background-color var(--dur-fast) var(--ease-smooth), color var(--dur-fast) var(--ease-smooth);
}
@media (hover: hover) {
  button.text-btn:hover:not(:disabled),
  a.text-btn:hover,
  .link-btn:hover:not(:disabled) { background-color: var(--btn-quiet-wash); }
  button.text-btn.danger:hover:not(:disabled),
  .link-btn.danger:hover:not(:disabled) { background-color: var(--btn-danger-wash); }
}
.chip {
  border: 1px solid transparent;
  background:
    var(--btn-sheen) padding-box,
    linear-gradient(var(--btn-glass-fill), var(--btn-glass-fill)) padding-box,
    var(--btn-glass-rim) border-box;
  box-shadow: var(--btn-shadow);
}
@media (hover: hover) {
  .chip:hover:not(.active) {
    background:
      var(--btn-sheen) padding-box,
      linear-gradient(var(--btn-glass-fill-hover), var(--btn-glass-fill-hover)) padding-box,
      var(--btn-glass-rim-hover) border-box;
    border-color: transparent;
    transform: translateY(-1px);
    box-shadow: var(--btn-shadow-hover);
  }
}
.chip.active {
  border-color: transparent;
  background:
    var(--btn-lit-sheen) padding-box,
    var(--gradient-primary) padding-box,
    var(--btn-lit-rim) border-box;
  color: var(--on-accent);
  box-shadow: var(--btn-lit-shadow);
}
input[type='file']::file-selector-button {
  min-height: var(--btn-h-sm);
  margin-right: var(--space-10);
  padding: 0 var(--space-12);
  border: 1px solid transparent;
  border-radius: var(--btn-radius);
  background:
    var(--btn-sheen) padding-box,
    linear-gradient(var(--btn-glass-fill), var(--btn-glass-fill)) padding-box,
    var(--btn-glass-rim) border-box;
  box-shadow: var(--btn-shadow);
  color: var(--text);
  font: inherit;
  font-weight: var(--weight-bold);
  cursor: pointer;
}
@media (hover: hover) {
  input[type='file']::file-selector-button:hover {
    background:
      var(--btn-sheen) padding-box,
      linear-gradient(var(--btn-glass-fill-hover), var(--btn-glass-fill-hover)) padding-box,
      var(--btn-glass-rim-hover) border-box;
    color: var(--primary);
  }
}
button.primary:focus-visible,
button.secondary:focus-visible,
button.danger:focus-visible,
button.text-btn:focus-visible,
.btn:focus-visible,
.link-btn:focus-visible,
.chip:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}
@media (prefers-reduced-transparency: reduce) {
  button.secondary,
  button.danger:not(.text-btn),
  .btn:not(.btn-filled),
  .chip:not(.active) {
    background: var(--panel);
    border-color: var(--border-strong);
  }
}
:root {
  --btn-chosen-wash: rgba(181, 71, 30, 0.14);
  --btn-good-wash: rgba(22, 163, 74, 0.14);
}
:root[data-theme='dark'] {
  --btn-chosen-wash: rgba(255, 165, 61, 0.16);
  --btn-good-wash: rgba(76, 201, 138, 0.16);
}
.topbar-tools,
.notif-bell-btn,
.quick-card,
.quick-stage-btn,
.quick-choice-btn,
.quick-reason-btn,
.q-tap,
.cardread-btn,
.track-btn,
.bl-read-btn,
.theme-pick-btn,
.status-choice button,
.rj-tab,
.hm-more,
.hm-shut {
  border-color: transparent;
  background:
    var(--btn-sheen) padding-box,
    linear-gradient(var(--btn-glass-fill), var(--btn-glass-fill)) padding-box,
    var(--btn-glass-rim) border-box;
  box-shadow: var(--btn-shadow);
}
.cardread-btn { border-style: solid; }
.topbar-tools .notif-bell-btn { background: transparent; box-shadow: none; }
.topbar-tools > * + * { border-left: 0; }
.hm-more { width: var(--btn-h); height: var(--btn-h); }
.bl-read-btn { min-height: var(--btn-h); }
.alias-unmerge,
.store-item:is(button) { min-height: var(--btn-h); min-width: var(--btn-h); }
@media (hover: hover) {
  .notif-bell-btn:not(.topbar-tools *):hover:not(:disabled),
  .quick-card:hover,
  .quick-stage-btn:hover:not(:disabled):not(.selected),
  .quick-choice-btn:hover:not(:disabled):not(.selected),
  .quick-reason-btn:hover:not(:disabled):not(.selected),
  .q-tap:hover:not(:disabled):not(.is-on),
  .cardread-btn:hover,
  .track-btn:hover:not(:disabled),
  .bl-read-btn:hover,
  .theme-pick-btn:hover:not(.is-on),
  .status-choice button:hover:not(.selected),
  .rj-tab:hover:not(.is-on),
  .hm-more:hover,
  .hm-shut:hover {
    background:
      var(--btn-sheen) padding-box,
      linear-gradient(var(--btn-glass-fill-hover), var(--btn-glass-fill-hover)) padding-box,
      var(--btn-glass-rim-hover) border-box;
    border-color: transparent;
    box-shadow: var(--btn-shadow-hover);
  }
  .topbar-tools .nav-cam-btn:hover,
  .topbar-tools .nav-fs-btn:hover,
  .topbar-tools .nav-lang-btn:hover,
  .topbar-tools .notif-bell-btn:hover:not(:disabled),
  .health-line .health-frag:hover,
  .alias-unmerge:hover,
  .store-item:is(button):hover { background: var(--btn-quiet-wash); }
  .topbar-tools:hover { box-shadow: var(--btn-shadow-hover); }
}
.quick-stage-btn.selected,
.quick-choice-btn.selected,
.quick-reason-btn.selected,
.q-tap.is-on,
.theme-pick-btn.is-on,
.rj-tab.is-on,
.status-choice button.sel-pending.selected {
  border-color: transparent;
  background:
    var(--btn-sheen) padding-box,
    linear-gradient(var(--btn-chosen-wash), var(--btn-chosen-wash)) padding-box,
    linear-gradient(var(--btn-glass-fill-hover), var(--btn-glass-fill-hover)) padding-box,
    var(--btn-glass-rim-hover) border-box;
  color: var(--primary);
}
.status-choice button.sel-pending.selected { color: var(--text); }
.status-choice button.sel-done.selected,
.track-btn-ok {
  border-color: transparent;
  background:
    var(--btn-sheen) padding-box,
    linear-gradient(var(--btn-good-wash), var(--btn-good-wash)) padding-box,
    linear-gradient(var(--btn-glass-fill), var(--btn-glass-fill)) padding-box,
    var(--btn-glass-rim) border-box;
  color: var(--green);
}
.track-btn-problem,
.q-tap-rej {
  border-color: transparent;
  background:
    var(--btn-sheen) padding-box,
    linear-gradient(var(--btn-danger-wash), var(--btn-danger-wash)) padding-box,
    linear-gradient(var(--btn-glass-fill), var(--btn-glass-fill)) padding-box,
    var(--btn-glass-rim) border-box;
  color: var(--red);
}
.ask-bubble,
.hm-jump,
.tab-fab {
  background:
    var(--btn-lit-sheen) padding-box,
    var(--gradient-primary) padding-box,
    var(--btn-lit-rim) border-box;
  color: var(--on-accent);
  box-shadow: var(--btn-lit-shadow);
}
.ask-bubble,
.hm-jump { border: 1px solid transparent; }
@media (hover: hover) {
  .hm-jump:hover { background: var(--btn-lit-sheen) padding-box, var(--gradient-primary) padding-box, var(--btn-lit-rim) border-box; filter: brightness(1.06); }
}
body.dock .dock-handle:not([data-alert='warn']):not([data-alert='bad']) {
  background: var(--btn-lit-sheen), var(--gradient-primary);
}
.quick-stage-btn:active:not(:disabled),
.quick-choice-btn:active:not(:disabled),
.quick-reason-btn:active:not(:disabled),
.track-btn:active:not(:disabled),
.bl-read-btn:active,
.theme-pick-btn:active,
.status-choice button:active,
.rj-tab:active,
.hm-more:active,
.hm-shut:active { transform: translateY(1px) scale(0.985); box-shadow: none; }
@media (prefers-reduced-transparency: reduce) {
  .topbar-tools,
  .quick-card,
  .quick-stage-btn:not(.selected),
  .quick-choice-btn:not(.selected),
  .quick-reason-btn:not(.selected),
  .q-tap:not(.is-on),
  .cardread-btn,
  .track-btn,
  .bl-read-btn,
  .theme-pick-btn:not(.is-on),
  .status-choice button:not(.selected),
  .rj-tab:not(.is-on),
  .hm-more,
  .hm-shut {
    background: var(--panel);
    border-color: var(--border-strong);
  }
}
.ask-bubble {
  width: var(--btn-h);
  min-height: var(--btn-h);
  height: var(--btn-h);
  padding: 0;
  justify-content: center;
  border-radius: 50%;
}
.ask-bubble-label { display: none; }
:root {
  --notif-glass-fill: rgba(255, 252, 249, 0.995);
  --notif-glass-glint: radial-gradient(70% 60% at 100% 100%, rgba(232, 121, 74, 0.16) 0%, rgba(232, 121, 74, 0) 70%);
  --notif-glass-shadow: 0 2px 6px rgba(60, 38, 28, 0.10), 0 24px 44px -20px rgba(60, 38, 28, 0.42);
}
:root[data-theme='dark'] {
  --notif-glass-fill: rgba(30, 26, 23, 0.995);
  --notif-glass-glint: radial-gradient(70% 60% at 100% 100%, rgba(255, 165, 61, 0.14) 0%, rgba(255, 165, 61, 0) 70%);
  --notif-glass-shadow: 0 24px 44px -26px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(0, 0, 0, 0.22);
}
.notif-dropdown {
  border: 1px solid transparent;
  background:
    var(--btn-sheen) padding-box,
    var(--notif-glass-glint) padding-box,
    linear-gradient(var(--notif-glass-fill), var(--notif-glass-fill)) padding-box,
    var(--glass-rim) border-box;
  box-shadow: var(--shadow-glass-depth), var(--notif-glass-shadow);
}
.notif-dropdown-head { border-bottom: none; }
.notif-dropdown-foot { border-top: none; background: var(--btn-quiet-wash); }
.notif-dropdown .notif-item {
  border-bottom: none;
  min-height: 44px;
  margin: 0 var(--space-6);
  border-radius: var(--radius-md);
}
.notif-dropdown .notif-item:hover { background: var(--btn-quiet-wash); }
.notif-dropdown .notif-item.is-fresh { box-shadow: none; background: var(--btn-chosen-wash); }
.topbar::after { z-index: -1; }
.row-end {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: var(--space-8);
  margin-top: var(--space-12);
}
.attach-file,
a.attach-file {
  border-color: transparent;
  background:
    var(--btn-sheen) padding-box,
    linear-gradient(var(--btn-glass-fill), var(--btn-glass-fill)) padding-box,
    var(--btn-glass-rim) border-box;
  box-shadow: var(--btn-shadow);
  min-height: var(--btn-h-sm);
}
@media (hover: hover) {
  .attach-file:hover {
    background:
      var(--btn-sheen) padding-box,
      linear-gradient(var(--btn-glass-fill-hover), var(--btn-glass-fill-hover)) padding-box,
      var(--btn-glass-rim-hover) border-box;
    border-color: transparent;
    box-shadow: var(--btn-shadow-hover);
  }
}
:root[data-theme='dark'] button.text-btn:disabled,
:root[data-theme='dark'] button.link-btn:disabled { background: none; }
.hm-cover.is-hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  align-items: center;
  gap: var(--space-32);
  padding: var(--space-32) var(--space-32) var(--space-28);
  overflow: hidden;
}
.hm-cover.is-hero > :not(.hm-hero-glow) { position: relative; z-index: 1; }
.hm-hero-words { display: flex; flex-direction: column; gap: var(--space-20); min-width: 0; }
.hm-hero-words .hm-date { align-self: flex-start; }
.is-hero .hm-lede-big { font-size: calc(var(--text-hero) * 1.3); letter-spacing: var(--track-tight); }
.hm-hero-glow {
  position: absolute;
  inset: -40% -20% -40% 30%;
  pointer-events: none;
  background: radial-gradient(closest-side, color-mix(in oklab, var(--primary) 26%, transparent), transparent 72%);
  filter: blur(8px);
}
.hm-book { display: flex; flex-direction: column; gap: var(--space-12); padding-top: var(--space-16); border-top: 1px solid color-mix(in oklab, var(--border-strong) 35%, transparent); }
.hm-book-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-12); }
.hm-book-head .hm-fig { margin: 0; }
.hm-book-bar {
  display: flex;
  gap: var(--space-2);
  height: 14px;
  border-radius: var(--radius-pill);
  overflow: hidden;
  background: color-mix(in oklab, var(--border-strong) 18%, transparent);
}
.hm-book-part { flex: 0 1 auto; width: 0; height: 100%; border-radius: 4px; }
.hm-book-part.is-sent { background: var(--green); }
.hm-book-part.is-owed { background: var(--primary); }
.hm-book-part.is-late { background: var(--red); }
.hm-book-key { display: flex; flex-wrap: wrap; gap: var(--space-6) var(--space-18); font-size: var(--text-small); color: var(--text-dim); }
.hm-book-key span { display: inline-flex; align-items: center; gap: var(--space-6); }
.hm-book-key strong { color: var(--text); font-variant-numeric: tabular-nums; }
.hm-book-key i { width: 10px; height: 10px; border-radius: var(--radius-pill); }
.hm-book-key .is-sent i { background: var(--green); }
.hm-book-key .is-owed i { background: var(--primary); }
.hm-book-key .is-late i { background: var(--red); }
.hm-book-orders { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6); margin: 0; font-size: var(--text-micro); color: var(--text-dim); }
.hm-hero-beads { margin: 0; min-width: 0; }
.hm-hero-beads figcaption { margin-top: var(--space-4); font-size: var(--text-micro); color: var(--text-dim); text-align: center; }
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) { grid-template-columns: minmax(0, 1fr); gap: var(--space-16); }
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-hero-glow { inset: 15% -10% -35% -10%; }
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-hero-words {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  align-items: end;
  gap: var(--space-12) var(--space-32);
}
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-date { grid-column: 1; }
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-lede { grid-column: 1; }
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-book { grid-column: 2; grid-row: 1 / span 2; }
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-date-mark { width: 56px; height: 56px; font-size: var(--text-display); }
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-greet { margin-bottom: var(--space-4); font-size: var(--text-lead); }
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-lede-big { font-size: var(--text-display); }
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-lede-say { font-size: var(--text-body); }
.hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-fig strong { font-size: var(--text-display); }
.hm-hero-beads.is-orbit > .hm-beads { display: none; }
.hm-orbit { position: relative; display: flex; flex-direction: column; gap: var(--space-8); }
.hm-orbit-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-8) var(--space-12); min-height: 44px; }
.hm-orbit-sum { margin: 0; font-size: var(--text-small); color: var(--text-dim); text-align: center; }
.hm-orbit-sum strong { color: var(--text); font-variant-numeric: tabular-nums; }
.hm-orbit-back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  min-height: 44px;
  padding: var(--space-6) var(--space-14) var(--space-6) var(--space-8);
  border-radius: var(--radius-pill);
  border: 1px solid color-mix(in oklab, var(--primary) 40%, transparent);
  background: color-mix(in oklab, var(--primary) 9%, transparent);
  color: var(--primary);
  font: inherit;
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  cursor: pointer;
  transition: background var(--dur-base) var(--ease-smooth), border-color var(--dur-base) var(--ease-smooth);
}
.hm-orbit-back svg { width: 16px; height: 16px; }
.hm-orbit-back[hidden] { display: none; }
@media (hover: hover) {
  .hm-orbit-back:hover { background: color-mix(in oklab, var(--primary) 16%, transparent); border-color: color-mix(in oklab, var(--primary) 65%, transparent); }
  .hm-orbit-chip:hover { border-color: color-mix(in oklab, var(--c) 50%, transparent); }
}
.hm-orbit-stage { position: relative; height: clamp(480px, min(86vh, 64vw), 1280px); cursor: grab; }
.hm-orbit-stage.is-over { cursor: pointer; }
.hm-orbit-stage.is-dragging { cursor: grabbing; }
.hm-orbit-stage canvas { display: block; width: 100%; height: 100%; }
.hm-orbit-overlay { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.hm-orbit-label,
.hm-orbit-card { --tint: var(--text-dim); }
.hm-orbit-label {
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
  will-change: transform, opacity;
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  color: var(--text);
  text-shadow: 0 1px 8px var(--panel), 0 0 3px var(--panel), 0 0 1px var(--panel);
}
.hm-orbit-label small { display: block; font-size: var(--text-micro); font-weight: var(--weight-bold); letter-spacing: normal; text-transform: none; color: var(--text-dim); }
.hm-orbit-label.is-client { text-align: center; }
.hm-orbit-label.is-client small { color: color-mix(in oklab, var(--tint) 55%, var(--text-dim)); }
.hm-orbit-label.is-order small { color: var(--tint); }
.hm-orbit-card {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: min(248px, 70%);
  padding: var(--space-14) var(--space-16);
  border-radius: var(--radius-lg);
  background: color-mix(in oklab, var(--panel) 88%, var(--tint) 12%);
  border: 1px solid color-mix(in oklab, var(--border-strong) 55%, var(--tint) 45%);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-fast) var(--ease-smooth);
}
.hm-orbit-card.is-on { opacity: 1; pointer-events: auto; cursor: pointer; }
.hm-orbit-state { display: inline-flex; align-items: center; gap: var(--space-6); font-size: var(--text-micro); font-weight: var(--weight-strong); color: var(--tint); }
.hm-orbit-state::before { content: ''; width: 8px; height: 8px; border-radius: var(--radius-pill); background: var(--tint); }
.hm-orbit-title { display: block; margin-top: var(--space-6); font-size: var(--text-body); font-weight: var(--weight-strong); line-height: 1.25; color: var(--text); }
.hm-orbit-sub { display: block; font-size: var(--text-small); color: var(--text-dim); overflow-wrap: anywhere; }
.hm-orbit-owed { display: flex; align-items: baseline; gap: var(--space-6); margin-top: var(--space-10); font-size: var(--text-small); color: var(--text-dim); }
.hm-orbit-owed b { font-size: var(--text-heading); font-weight: var(--weight-strong); color: var(--text); font-variant-numeric: tabular-nums; }
.hm-orbit-go {
  display: block;
  margin-top: var(--space-8);
  padding-top: var(--space-8);
  border-top: 1px solid color-mix(in oklab, var(--border-strong) 40%, transparent);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  color: var(--text-faint);
}
.hm-orbit-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-8); }
.hm-orbit-chip {
  --c: var(--text-dim);
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  min-height: 44px;
  padding: var(--space-8) var(--space-16) var(--space-8) var(--space-14);
  border-radius: var(--radius-pill);
  border: 1px solid color-mix(in oklab, var(--border-strong) 45%, transparent);
  background: transparent;
  color: var(--text-dim);
  font: inherit;
  font-size: var(--text-small);
  cursor: pointer;
  transition: border-color var(--dur-base) var(--ease-smooth), background var(--dur-base) var(--ease-smooth);
}
.hm-orbit-chip.is-overdue { --c: var(--red); }
.hm-orbit-chip.is-packed_late { --c: var(--held); }
.hm-orbit-chip.is-at_risk { --c: var(--amber); }
.hm-orbit-chip.is-on_track { --c: var(--green); }
.hm-orbit-chip.is-unscheduled { --c: var(--border-strong); }
.hm-orbit-chip i { width: 10px; height: 10px; border-radius: var(--radius-pill); background: var(--c); }
.hm-orbit-chip b { color: var(--text); font-weight: var(--weight-strong); font-variant-numeric: tabular-nums; }
.hm-orbit-chip[aria-pressed='true'] { border-color: color-mix(in oklab, var(--c) 70%, transparent); background: color-mix(in oklab, var(--c) 14%, transparent); color: var(--text); }
.hm-orbit-list { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hm-orbit-list:focus-within {
  z-index: 3;
  left: var(--space-12);
  top: var(--space-12);
  width: auto;
  height: auto;
  max-width: calc(100% - 24px);
  max-height: 60%;
  overflow: auto;
  clip: auto;
  white-space: normal;
  padding: var(--space-8);
  border-radius: var(--radius-md);
  background: var(--panel);
  border: 1px solid var(--border-strong);
  box-shadow: var(--shadow-lg);
}
.hm-orbit-list button,
.hm-orbit-list a {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: var(--space-8) var(--space-10);
  border: 0;
  border-radius: var(--radius-sm);
  background: none;
  color: var(--text);
  font: inherit;
  font-size: var(--text-small);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.hm-orbit-list button:focus-visible,
.hm-orbit-list a:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
@media (max-width: 900px) {
  .hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-hero-words { grid-template-columns: minmax(0, 1fr); }
  .hm-cover.is-hero:has(.hm-hero-beads.is-orbit) .hm-book { grid-column: 1; grid-row: auto; }
  .hm-orbit-stage { height: clamp(380px, 100vw, 520px); }
}
@media (min-width: 1600px) {
  .hm-orbit-label,
  .hm-orbit-label small { font-size: var(--text-small); }
  .hm-orbit-sum { font-size: var(--text-body); }
}
@media (prefers-reduced-motion: reduce) {
  .hm-orbit-card, .hm-orbit-chip, .hm-orbit-back { transition: none; }
}
.hm-orbit {
  --hg-bar: rgba(128, 118, 108, 0.13);
  --hg-bar-hi: rgba(255, 255, 255, 0.75);
  --hg-bar-edge: rgba(70, 50, 35, 0.1);
  --hg-ink: rgba(58, 50, 44, 0.6);
  --hg-on: #c2410c;
  --hg-on-glow: rgba(194, 65, 12, 0.16);
  --hg-glass: linear-gradient(180deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.2) 52%, rgba(255, 255, 255, 0.36));
  --hg-rim-hi: rgba(255, 255, 255, 0.98);
  --hg-rim-lo: rgba(140, 90, 55, 0.3);
  --hg-edge-light: rgba(255, 255, 255, 0.7);
  --hg-shadow: rgba(63, 16, 3, 0.24);
  --hm-orbit-glass: rgba(255, 252, 249, 0.8);
  --hm-orbit-glass-edge: rgba(80, 40, 20, 0.12);
}
:root[data-theme='dark'] .hm-orbit {
  --hg-bar: rgba(160, 150, 140, 0.12);
  --hg-bar-hi: rgba(255, 255, 255, 0.1);
  --hg-bar-edge: rgba(255, 255, 255, 0.07);
  --hg-ink: rgba(222, 212, 202, 0.5);
  --hg-on: #ffae57;
  --hg-on-glow: rgba(255, 150, 60, 0.38);
  --hg-glass: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.03) 52%, rgba(255, 255, 255, 0.08));
  --hg-rim-hi: rgba(255, 255, 255, 0.82);
  --hg-rim-lo: rgba(255, 196, 150, 0.2);
  --hg-edge-light: rgba(255, 255, 255, 0.45);
  --hg-shadow: rgba(0, 0, 0, 0.62);
  --hm-orbit-glass: rgba(24, 20, 18, 0.82);
  --hm-orbit-glass-edge: rgba(255, 214, 180, 0.12);
}
.hm-orbit-stage { isolation: isolate; }
.hm-orbit-stage canvas { position: relative; z-index: 1; }
.hm-orbit-overlay { z-index: 2; }
.hm-orbit-card { z-index: 8; }
.hm-glass {
  --hg-h: 60px;
  --hg-word: 140px;
  --hg-lens: 140px;
  --hg-lift: 0;
  --hg-turn: 0;
  position: absolute;
  left: 50%;
  bottom: var(--space-10);
  z-index: 6;
  width: min(1000px, calc(100% - 32px));
  height: var(--hg-h);
  transform: translateX(-50%);
  touch-action: pan-y;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  outline: none;
}
.hm-glass.is-held { cursor: grabbing; }
.hm-glass:focus-visible .hm-glass-bar { outline: 2px solid var(--hg-on); outline-offset: 3px; }
.hm-glass-bar {
  position: absolute;
  inset: 0;
  border-radius: var(--radius-pill);
  background: var(--hg-bar);
  -webkit-backdrop-filter: blur(24px) saturate(1.6);
  backdrop-filter: blur(24px) saturate(1.6);
  box-shadow: inset 0 1px 0 var(--hg-bar-hi), inset 0 0 0 0.5px var(--hg-bar-edge), 0 18px 36px -20px var(--hg-shadow);
}
.hm-glass-window {
  --hg-hole: calc(var(--hg-lens, 0px) - 30px);
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 13%, #000 calc(50% - var(--hg-hole) / 2), transparent calc(50% - var(--hg-hole) / 2), transparent calc(50% + var(--hg-hole) / 2), #000 calc(50% + var(--hg-hole) / 2), #000 87%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 13%, #000 calc(50% - var(--hg-hole) / 2), transparent calc(50% - var(--hg-hole) / 2), transparent calc(50% + var(--hg-hole) / 2), #000 calc(50% + var(--hg-hole) / 2), #000 87%, transparent 100%);
}
.hm-glass-track,
.hm-glass-copy { position: absolute; left: 0; top: 0; height: var(--hg-h); will-change: transform; }
.hm-glass-names { position: absolute; left: 0; top: 0; height: var(--hg-h); }
.hm-glass-word {
  position: absolute;
  top: 50%;
  width: var(--hg-word);
  transform: translate(-50%, calc(-50% + 2px));
  text-align: center;
  text-wrap: balance;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  letter-spacing: 0.005em;
  color: var(--hg-ink);
}
.hm-glass-num { margin-left: 0.35em; color: var(--red); font-weight: var(--weight-strong); font-variant-numeric: tabular-nums; }
.hm-glass-lens { position: absolute; left: 0; top: 0; bottom: 0; width: 0; z-index: 2; pointer-events: none; will-change: transform; }
.hm-glass-body {
  position: absolute;
  left: calc(var(--hg-lens) / -2);
  width: var(--hg-lens);
  top: 7px;
  bottom: 7px;
  border-radius: var(--radius-pill);
  overflow: hidden;
  transform-origin: 50% 50%;
  will-change: transform;
  background: var(--hg-glass);
  -webkit-backdrop-filter: blur(5px) saturate(1.8) brightness(1.06);
  backdrop-filter: blur(5px) saturate(1.8) brightness(1.06);
  box-shadow:
    inset 0 1px 0 var(--hg-edge-light),
    inset 0 -2px 3px -1px rgba(255, 255, 255, 0.2),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.26),
    inset 12px 0 16px -14px var(--hg-edge-light),
    inset -12px 0 16px -14px var(--hg-edge-light),
    0 calc(8px + 6px * var(--hg-lift)) calc(22px + 10px * var(--hg-lift)) -10px var(--hg-shadow),
    0 2px 5px -1px var(--hg-shadow);
}
.hm-glass-names.is-copy .hm-glass-word { color: var(--hg-on); font-weight: var(--weight-strong); text-shadow: 0 0 12px var(--hg-on-glow); }
.hm-glass-shine {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  mix-blend-mode: screen;
  background: radial-gradient(90% 70% at 28% -12%, rgba(255, 255, 255, 0.42), transparent 60%), radial-gradient(60% 50% at 78% 122%, rgba(255, 255, 255, 0.14), transparent 70%);
  opacity: calc(0.7 + 0.3 * var(--hg-lift));
}
.hm-glass-rim {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1.25px;
  pointer-events: none;
  opacity: 0.9;
  background: conic-gradient(from calc(var(--hg-turn) * 360deg + 215deg), var(--hg-rim-hi), transparent 16%, var(--hg-rim-lo) 34%, transparent 46%, var(--hg-rim-hi) 58%, transparent 72%, var(--hg-rim-lo) 86%, var(--hg-rim-hi));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}
.hm-glass-lens.is-tick .hm-glass-rim { animation: hm-glass-glint 360ms var(--ease-smooth); }
@keyframes hm-glass-glint { 0% { opacity: 1; filter: brightness(1.8); } }
.hm-orbit-rank {
  display: inline-grid;
  place-items: center;
  min-width: 1.45em;
  height: 1.45em;
  margin-right: 0.4em;
  padding: 0 0.3em;
  border-radius: var(--radius-pill);
  background: var(--primary);
  color: var(--panel);
  font-size: 0.85em;
  font-weight: var(--weight-strong);
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  vertical-align: 0.08em;
}
.hm-orbit-tools { position: absolute; top: var(--space-12); right: var(--space-12); z-index: 9; display: flex; gap: var(--space-8); }
.hm-orbit-tools[hidden] { display: none; }
.hm-orbit-tool {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  min-height: 44px;
  padding: 0 16px 0 13px;
  border-radius: 12px;
  border: 1px solid var(--hm-orbit-glass-edge);
  background: var(--hm-orbit-glass);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--text-dim);
  font: inherit;
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: color var(--dur-fast), background var(--dur-fast), border-color var(--dur-fast);
}
.hm-orbit-tool svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hm-orbit-tool[aria-pressed='true'],
.hm-orbit-tool[aria-expanded='true'] { color: var(--text); background: color-mix(in srgb, var(--primary) 16%, var(--hm-orbit-glass)); border-color: color-mix(in srgb, var(--primary) 55%, transparent); }
.hm-orbit-tool[aria-pressed='true'] svg,
.hm-orbit-tool[aria-expanded='true'] svg { color: var(--primary); }
.hm-orbit-tool[hidden] { display: none; }
.hm-orbit-measure { display: inline-flex; border-radius: 12px; border: 1px solid var(--hm-orbit-glass-edge); background: var(--hm-orbit-glass); overflow: hidden; }
.hm-orbit-measure[hidden] { display: none; }
.hm-orbit-measure-opt {
  min-height: 44px;
  min-width: 44px;
  padding: 0 var(--space-14);
  border: 0;
  background: transparent;
  color: var(--text-dim);
  font: inherit;
  font-size: var(--text-small);
  font-weight: var(--weight-strong);
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: color var(--dur-fast), background var(--dur-fast);
}
.hm-orbit-measure-opt[aria-pressed='true'] { color: var(--text); background: color-mix(in srgb, var(--primary) 16%, var(--hm-orbit-glass)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 55%, transparent); border-radius: 11px; }
.hm-orbit-measure-opt:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
@media (hover: hover) {
  .hm-orbit-measure-opt:hover { color: var(--text); }
}
@media (prefers-reduced-motion: reduce) {
  .hm-orbit-measure-opt { transition: none; }
}
.hm-orbit-tool:focus-visible,
.hm-orbit-sheet-close:focus-visible,
.hm-call-go:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.hm-orbit-sheet {
  position: absolute;
  z-index: 9;
  top: 68px;
  right: var(--space-12);
  bottom: calc(var(--space-10) + 72px);
  width: min(440px, 46%);
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  border: 1px solid var(--hm-orbit-glass-edge);
  background: var(--hm-orbit-glass);
  -webkit-backdrop-filter: blur(18px) saturate(1.1);
  backdrop-filter: blur(18px) saturate(1.1);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  animation: hm-orbit-sheet-in var(--dur-base) var(--ease-smooth);
}
.hm-orbit-sheet[hidden] { display: none; }
@keyframes hm-orbit-sheet-in { from { opacity: 0; transform: translateY(8px); } }
.hm-orbit-sheet-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-12); padding: var(--space-16) var(--space-12) var(--space-12) var(--space-20); border-bottom: 1px solid var(--hm-orbit-glass-edge); }
.hm-orbit-sheet-title { margin: 0; font-size: var(--text-lead); font-weight: var(--weight-strong); letter-spacing: -0.005em; }
.hm-orbit-sheet-say { margin: var(--space-4) 0 0; font-size: var(--text-small); line-height: 1.45; color: var(--text-dim); text-wrap: pretty; }
.hm-orbit-sheet-close { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 12px; background: transparent; color: var(--text-dim); cursor: pointer; }
.hm-orbit-sheet-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.hm-orbit-sheet-list { list-style: none; margin: 0; padding: var(--space-6); overflow-y: auto; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--text) 22%, transparent) transparent; }
.hm-call-go { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto auto; align-items: center; column-gap: var(--space-12); width: 100%; min-height: 56px; padding: var(--space-10) var(--space-12); border: 0; border-radius: 12px; background: transparent; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.hm-call-n { display: grid; place-items: center; width: 28px; height: 28px; border-radius: var(--radius-pill); border: 1.5px solid color-mix(in srgb, var(--primary) 70%, transparent); color: var(--primary); font-size: var(--text-small); font-weight: var(--weight-strong); font-variant-numeric: tabular-nums; }
.hm-call.is-late .hm-call-n { background: var(--primary); color: var(--panel); border-color: transparent; }
.hm-call-who { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.hm-call-who strong { font-size: var(--text-body); font-weight: var(--weight-strong); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-call-who span { font-size: var(--text-micro); color: var(--text-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-call-when,
.hm-call-short { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; font-size: var(--text-micro); color: var(--text-dim); white-space: nowrap; }
.hm-call-when b { font-size: var(--text-small); font-weight: var(--weight-strong); color: var(--text); }
.hm-call-when b.is-late { color: var(--red); }
.hm-call-short { min-width: 56px; }
.hm-call-short b { font-size: var(--text-lead); font-weight: var(--weight-strong); color: var(--text); font-variant-numeric: tabular-nums; line-height: 1.1; }
.hm-call-more { grid-column: 2 / -1; margin-top: var(--space-2); font-size: var(--text-micro); font-weight: var(--weight-strong); color: var(--primary); }
@media (hover: hover) {
  .hm-orbit-tool:hover { color: var(--text); border-color: color-mix(in srgb, var(--primary) 40%, var(--hm-orbit-glass-edge)); }
  .hm-orbit-sheet-close:hover { color: var(--text); background: var(--surface-2); }
  .hm-call-go:hover { background: color-mix(in srgb, var(--primary) 9%, transparent); }
}
@media (max-width: 900px) {
  .hm-orbit-sheet { top: auto; left: var(--space-8); right: var(--space-8); bottom: calc(var(--space-6) + 68px); width: auto; max-height: 72%; }
  .hm-orbit-tool span { display: none; }
  .hm-orbit-tool { padding: 0; width: 44px; justify-content: center; }
  .hm-call-go { grid-template-columns: 28px minmax(0, 1fr) auto; row-gap: var(--space-4); }
  .hm-call-when { grid-column: 2; grid-row: 2; flex-direction: row; gap: var(--space-8); align-items: baseline; }
  .hm-call-short { grid-column: 3; grid-row: 1 / span 2; }
  .hm-call-more { grid-row: 3; }
}
@media (max-width: 600px) {
  .hm-glass { width: calc(100% - 16px); bottom: var(--space-6); }
  .hm-glass-word { font-size: var(--text-micro); }
}
@media (prefers-reduced-motion: reduce) {
  .hm-glass-lens.is-tick .hm-glass-rim { animation: none; }
  .hm-orbit-sheet { animation: none; }
  .hm-orbit-tool { transition: none; }
}
.hm-beads { display: block; width: 100%; height: auto; overflow: visible; }
.hm-bead { --i: 0; cursor: pointer; outline: none; }
.hm-bead circle { transition: transform var(--dur-base) var(--ease-spring), filter var(--dur-base) var(--ease-smooth); }
.hm-bead:focus-visible circle { filter: drop-shadow(0 0 6px color-mix(in oklab, var(--primary) 70%, transparent)); }
@media (hover: hover) {
  .hm-bead:hover circle { transform: scale(1.14); filter: drop-shadow(0 0 6px color-mix(in oklab, var(--primary) 60%, transparent)); }
  .hm-bead.is-overdue:hover circle { filter: drop-shadow(0 0 7px color-mix(in oklab, var(--red) 70%, transparent)); }
}
.hm-bead-hi { stop-color: color-mix(in oklab, var(--primary) 45%, white); }
.hm-bead-mid { stop-color: var(--primary); }
.hm-bead-lo { stop-color: color-mix(in oklab, var(--primary) 70%, black); }
.hm-bead-hi.is-overdue { stop-color: color-mix(in oklab, var(--red) 45%, white); }
.hm-bead-mid.is-overdue { stop-color: var(--red); }
.hm-bead-lo.is-overdue { stop-color: color-mix(in oklab, var(--red) 65%, black); }
.hm-bead-hi.is-packed_late { stop-color: color-mix(in oklab, var(--held) 45%, white); }
.hm-bead-mid.is-packed_late { stop-color: var(--held); }
.hm-bead-lo.is-packed_late { stop-color: color-mix(in oklab, var(--held) 65%, black); }
.hm-bead-hi.is-at_risk { stop-color: color-mix(in oklab, var(--amber) 45%, white); }
.hm-bead-mid.is-at_risk { stop-color: var(--amber); }
.hm-bead-lo.is-at_risk { stop-color: color-mix(in oklab, var(--amber) 65%, black); }
.hm-bead-hi.is-on_track { stop-color: color-mix(in oklab, var(--green) 45%, white); }
.hm-bead-mid.is-on_track { stop-color: var(--green); }
.hm-bead-lo.is-on_track { stop-color: color-mix(in oklab, var(--green) 65%, black); }
.hm-bead-hi.is-unscheduled { stop-color: color-mix(in oklab, var(--border-strong) 55%, white); }
.hm-bead-mid.is-unscheduled { stop-color: var(--border-strong); }
.hm-bead-lo.is-unscheduled { stop-color: color-mix(in oklab, var(--border-strong) 55%, black); }
.hm-bead-label text { font-size: var(--text-small); fill: var(--text-dim); }
.hm-bead-count { font-weight: var(--weight-strong); fill: var(--text); }
.hm-bead-rule { stroke-width: 2; stroke-linecap: round; opacity: 0.8; }
.hm-bead-rule.is-overdue { stroke: var(--red); }
.hm-bead-rule.is-packed_late { stroke: var(--held); }
.hm-bead-rule.is-at_risk { stroke: var(--amber); }
.hm-bead-rule.is-on_track { stroke: var(--green); }
.hm-bead-rule.is-unscheduled { stroke: var(--border-strong); }
.hm-queues { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: var(--space-16) var(--space-24); }
.hm-queue-unit { margin: 0 0 var(--space-8); font-size: var(--text-micro); font-weight: var(--weight-bold); color: var(--text-dim); }
.hm-queue-row { display: grid; grid-template-columns: minmax(6rem, 1.15fr) minmax(0, 1fr) 3.2rem; align-items: center; gap: var(--space-10); padding: var(--space-8) 0; font-size: var(--text-small); }
.hm-queue-name { color: var(--text-dim); line-height: 1.3; }
.hm-queue-n { text-align: right; font-variant-numeric: tabular-nums; }
.hm-queue-row .hm-bar-track > span { background: color-mix(in oklab, var(--text-dim) 45%, transparent); }
.hm-queue-row.is-worst .hm-bar-track > span { background: var(--primary); }
.hm-queue-row.is-worst :is(.hm-queue-name, .hm-queue-n) { color: var(--text); font-weight: var(--weight-bold); }
.hm-col-figs { display: grid; gap: 1px; justify-items: center; font-size: var(--text-micro); font-variant-numeric: tabular-nums; color: var(--text-dim); }
.hm-col-figs b { font-weight: var(--weight-bold); }
.hm-col-figs .is-made { color: var(--primary); }
.hm-col-figs .is-sent { color: var(--green); }
.hm-col-figs .is-taken { color: var(--text-dim); }
.hm-col-rej { display: block; text-align: center; font-size: var(--text-micro); font-style: normal; color: var(--text-dim); }
.hm-col-rej.is-high { color: var(--red); font-weight: var(--weight-bold); }
.hm-cash-key.is-made { background: var(--primary); }
.hm-cash-key.is-sent { background: var(--green); }
.hm-cash-key.is-taken { background: var(--text-dim); }
.hm-cash-key.is-zero { background: none; border-top: 1px dashed var(--border-strong); height: 0; border-radius: 0; }
.hm-spark-peak { margin-top: var(--space-10); font-size: var(--text-micro); color: var(--text-dim); }
.hm-spark-peak strong { color: var(--text); }
.hm-waiting-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: var(--space-10) var(--space-24); margin: 0; padding: 0; list-style: none; }
.hm-waiting-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--space-10); align-items: start; padding: var(--space-10) 0; border-top: 1px solid color-mix(in oklab, var(--border-strong) 25%, transparent); }
.hm-waiting-list li[data-open] { cursor: pointer; }
.hm-waiting-list strong { font-size: var(--text-small); }
.hm-waiting-list span { grid-column: 1; font-size: var(--text-micro); color: var(--text-dim); line-height: 1.5; }
.hm-waiting-list .hm-more { grid-column: 2; grid-row: 1 / span 2; }
.hm-tile.is-slim { padding: var(--space-14) var(--space-20); }
.hm-tile.is-slim .hm-tile-head { margin-bottom: var(--space-4); }
.hm-ai-line { margin: 0; font-size: var(--text-small); color: var(--text-dim); }
.hm-ai-line strong { color: var(--text); }
.hm-ai-line .hm-basis { display: inline; margin-left: var(--space-8); }
@media (max-width: 900px) {
  .hm-cover.is-hero { grid-template-columns: minmax(0, 1fr); padding: var(--space-20); gap: var(--space-20); }
  .is-hero .hm-lede-big { font-size: var(--text-hero); }
  .hm-hero-glow { inset: 10% -30% -20% -30%; }
  .hm-bead-label text { font-size: calc(var(--text-small) * 1.6); }
}
.hm-dots { grid-template-columns: repeat(auto-fit, 22px); justify-content: space-between; gap: var(--space-8); }
@media (min-width: 900px) {
  :root[data-theme] .glass-page :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry),
  :root[data-theme] :is(.hm-tile, .hm-cover, .hm-drawer-inner),
  :root.glass-lens .hm-tile.is-open {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  :root.glass-lens:not(.glass-scrolling) .hm-tile.is-open:hover { backdrop-filter: url(#glass-lens); }
}
.hm-glass-bar,
.hm-orbit-tool {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
:root[data-theme='dark'] .hm-glass-bar { background: linear-gradient(180deg, rgba(34, 27, 23, 0.8), rgba(20, 16, 14, 0.86)); }
:root[data-theme='light'] .hm-glass-bar { background: linear-gradient(180deg, rgba(255, 253, 250, 0.9), rgba(246, 238, 231, 0.9)); }
:root[data-theme='dark'] .hm-orbit-tool { background: rgba(24, 19, 17, 0.86); }
:root[data-theme='light'] .hm-orbit-tool { background: rgba(255, 252, 249, 0.92); }
body.dock .tabbar :is(.tab, .nav-sheet-row) {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.hm-hero-glow { animation-iteration-count: 3; }
.glass-glint {
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur-base) var(--ease-smooth), visibility var(--dur-base) linear;
}
.glass-glint.is-on { opacity: 1; visibility: visible; }
.glass-glint-spot {
  position: absolute;
  left: -280px;
  top: -280px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  will-change: transform;
  background: radial-gradient(closest-side, rgba(255, 232, 204, 0.075), rgba(255, 232, 204, 0.028) 42%, rgba(255, 232, 204, 0) 100%);
}
:root[data-theme='light'] .glass-glint-spot { background: radial-gradient(closest-side, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.2) 42%, rgba(255, 255, 255, 0) 100%); }
@media (prefers-reduced-motion: reduce) {
  .glass-glint { display: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .glass-glint { display: none; }
}
:root[data-theme='dark'] .hm-glass-body {
  background: linear-gradient(180deg, rgba(255, 196, 128, 0.4), rgba(214, 118, 46, 0.26) 52%, rgba(255, 170, 92, 0.36));
}
@media (min-width: 900px) {
  :root[data-theme] { --glass-edge-w: 2px; }
}
:root[data-theme] { --glass-sheen: linear-gradient(transparent, transparent); }
:root[data-theme='dark'] { --glass-rim: linear-gradient(rgba(255, 242, 226, 0.5), rgba(255, 242, 226, 0.5)); }
:root[data-theme='light'] { --glass-rim: linear-gradient(rgba(70, 44, 30, 0.3), rgba(70, 44, 30, 0.3)); }
:root[data-theme='dark'] .glass-page :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry),
:root[data-theme='dark'] .glass-page :is(.hm-tile, .hm-cover) {
  --shadow-inset-top:
    inset 0 0 2px 2px rgba(0, 0, 0, 0.34),
    inset 0 0 14px 1px rgba(255, 222, 186, 0.09);
}
:root[data-theme='light'] .glass-page :is(.po-card, .today-block, .chart-card, .kpi-tile, .arrival, .notice, .store-shelf, .panel, .health-tile, .health-strip, .card, .tile, .ask-card, .decide-first, .defect-product, .jw-group, .login-panel, .my-number, .note-card, .ow-card, .pick-order, .pl-card, .pl-match, .plan-compare-card, .plan-editor, .plan-none, .push-prompt, .qa-sheet-card, .quick-card, .quick-group, .quick-stoppage, .rv-watch, .settings-section, .short-contended, .short-group, .short-steel, .state-of-book, .store-family, .sup-order, .tally-agent, .ask-win, .ask-drawer, .bt-modal-card, .rej-win, .hm-readout, .pick-bar, .stage-entry),
:root[data-theme='light'] .glass-page :is(.hm-tile, .hm-cover) {
  --shadow-inset-top:
    inset 0 0 1px 3px rgba(255, 255, 255, 0.85),
    inset 0 0 14px 1px rgba(140, 80, 44, 0.08);
}
.glass-edge-view {
  position: fixed;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  display: none;
  background: url('/img/reservoir-drawing-dark.svg') center / cover no-repeat;
  -webkit-mask: var(--edge-band) 0 0 / 100% 100% no-repeat;
  mask: var(--edge-band) 0 0 / 100% 100% no-repeat;
  filter: url(#glass-edge-view);
  opacity: 0.9;
}
:root[data-theme='light'] .glass-edge-view { background-image: url('/img/reservoir-drawing-light.svg'); }
.glass-edge-view.is-on { display: block; animation: glass-edge-in var(--dur-base) var(--ease-smooth) both; }
:root.glass-scrolling .glass-edge-view { display: none; }
@keyframes glass-edge-in { from { opacity: 0; } }
@media (max-width: 899px) {
  .glass-edge-view { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .glass-edge-view { display: none !important; }
}
@media (prefers-reduced-transparency: reduce) {
  .glass-edge-view { display: none !important; }
}
.rm-add { display: grid; gap: var(--space-12); margin-bottom: var(--space-16); }
.rm-add[hidden], .rm-add [hidden], .rm-whose[hidden], .rm-whose-note[hidden] { display: none; }
.rm-choices[hidden], .rm-repeat[hidden], .rm-about-current[hidden], .rm-fieldset[hidden], .rm-options[hidden], .rm-event-qty[hidden] { display: none; }
.rm-label { font-weight: var(--weight-bold); }
.rm-say { display: grid; gap: var(--space-8); }
.rm-say textarea { min-width: 0; }
.rm-options { display: grid; gap: var(--space-12); }
.rm-fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: var(--space-8); }
.rm-fieldset legend { padding: 0; margin-bottom: var(--space-6); font-weight: var(--weight-bold); }
.rm-choices { display: flex; flex-wrap: wrap; gap: var(--space-8); }
.rm-choice {
  display: inline-flex;
  align-items: center;
  gap: var(--space-6);
  min-height: 44px;
  padding: 0 var(--space-12);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--panel);
}
.rm-repeat { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; }
#rm-event-kind { text-overflow: ellipsis; padding-left: var(--space-10); padding-right: var(--space-4); }
.rm-event-qty { display: inline-flex; align-items: center; gap: var(--space-8); }
.rm-event-qty input { width: 6rem; }
.rm-about-current { display: flex; gap: var(--space-8); align-items: center; }
.rm-form-actions { display: flex; gap: var(--space-8); }
.rm-whose-note { margin-bottom: var(--space-12); }
.rm-group { margin-bottom: var(--space-16); }
.rm-group-title { margin: 0 0 var(--space-8); font-size: var(--text-body); }
.rm-due .rm-group-title { color: var(--red); }
.rm-count { color: var(--text-dim); font-weight: var(--weight-strong); }
.rm-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-8); }
.rm-line {
  display: flex;
  gap: var(--space-12);
  align-items: flex-start;
  padding: var(--space-10) var(--space-12);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--panel);
}
.rm-due .rm-line { border-color: var(--red); background: var(--red-soft); }
.rm-line-done .rm-text { color: var(--text-dim); text-decoration: line-through; }
.rm-line-held { opacity: 0.6; }
.rm-tick {
  flex: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 2px solid var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--panel);
  color: var(--primary);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.rm-tick-still { border-style: dashed; }
.rm-body { flex: 1; min-width: 0; display: grid; gap: var(--space-4); }
.rm-text { font-size: var(--text-body); overflow-wrap: anywhere; }
.rm-when, .rm-from, .rm-about-link { font-size: var(--text-small); }
.rm-when, .rm-from { color: var(--text-dim); }
.rm-actions { display: flex; flex-wrap: wrap; gap: var(--space-8); align-items: center; }
.rm-snooze-choices { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-top: var(--space-6); }
.rm-done summary, .rm-snooze summary, .rm-others summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; }
.voice-box { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-8); }
.voice-langs { display: inline-flex; border: 1px solid var(--border); border-radius: var(--radius-pill); overflow: hidden; }
.voice-lang { min-height: 44px; padding: 0 var(--space-12); border: 0; border-radius: 0; background: var(--panel); color: var(--text-dim); font-size: var(--text-small); }
.voice-lang[aria-pressed="true"] { background: var(--primary); color: var(--on-accent); font-weight: var(--weight-bold); }
.voice-mic { min-width: 56px; min-height: 56px; padding: 0 var(--space-16); border-radius: var(--radius-pill); font-size: var(--text-body); font-weight: var(--weight-bold); }
.voice-mic.is-listening { background: var(--red); color: var(--on-accent); }
.voice-note { flex-basis: 100%; margin: 0; }
.voice-note[hidden] { display: none; }
.hm-tile.hm-still { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: var(--space-12); cursor: pointer; text-align: left; }
.hm-tile.hm-still .hm-ai-line { margin: 0; display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.ms-order-note { margin-bottom: var(--space-16); font-size: var(--text-small); line-height: 1.5; }
.ms-order-note.is-closed { border-left: 4px solid var(--border-strong); }
.tv-pair { display: grid; align-content: center; justify-items: center; text-align: center; gap: clamp(12px, 2.4vw, 32px); }
.tv-pair-say { font-size: clamp(22px, 3vw, 40px); font-weight: var(--weight-strong); max-width: 28ch; text-wrap: balance; }
.tv-pair-code { font-size: clamp(64px, 14vw, 200px); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; letter-spacing: 0.08em; line-height: 1; }
.tv-pair-steps { font-size: clamp(16px, 1.8vw, 24px); color: var(--text-dim); text-align: left; line-height: 1.6; margin: 0; }
.tv-connect { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-12); margin-bottom: var(--space-16); background: var(--surface-2); }
.tv-connect-title { font-weight: var(--weight-bold); }
.tv-connect-row { display: flex; flex-wrap: wrap; gap: var(--space-10); align-items: end; }
.tv-connect-row input, .tv-connect-row select { min-height: 44px; }
.tv-connect-row #tv-code { width: 7ch; font-size: var(--text-lead); letter-spacing: 0.1em; }
.tv-connect-row button { min-height: 44px; }
.tv-connect-said { margin-top: var(--space-8); min-height: 1.4em; }
.hm-floor {
  margin: 0 0 var(--space-16);
  padding: var(--space-20);
  background: var(--panel);
  border-radius: var(--radius-cover);
}
.hm-floor.is-failed { border: 1px solid var(--amber); }
.hm-floor h2 { margin: 0; font-size: var(--text-small); font-weight: var(--weight-bold); }
.hm-floor-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-8); margin-bottom: var(--space-12); }
.hm-floor-vendor { font-size: var(--text-small); color: var(--text-dim); }
.hm-floor-vendor.is-on { color: var(--amber); font-weight: var(--weight-strong); }
.hm-floor-units { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--space-12); }
.hm-floor-unit {
  display: block;
  min-width: 0;
  padding: var(--space-12) var(--space-14);
  border: 1px solid var(--border);
  border-radius: var(--radius-cover);
  color: inherit;
  text-decoration: none;
}
.hm-floor-unit:hover { border-color: var(--primary); }
.hm-floor-unit:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.hm-floor-name { display: block; font-weight: var(--weight-bold); }
.hm-floor-say, .hm-floor-stop, .hm-floor-down { margin: var(--space-4) 0 0; font-size: var(--text-small); color: var(--text-dim); }
.hm-floor-say b { color: var(--text); font-weight: var(--weight-bold); }
.hm-floor-stop.is-on, .hm-floor-down { color: var(--amber); font-weight: var(--weight-strong); }
.hm-floor-track { display: block; height: 8px; margin-top: var(--space-6); border-radius: var(--radius-pill); background: var(--gray-soft); overflow: hidden; }
.hm-floor-track > span { display: block; height: 100%; background: var(--green); border-radius: var(--radius-pill); }
.hm-morefold { margin-top: var(--space-16); }
.hm-morefold-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-8);
  min-height: 44px;
  padding: var(--space-12) var(--space-20);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-cover);
  cursor: pointer;
  list-style: none;
}
.hm-morefold-head::-webkit-details-marker { display: none; }
.hm-morefold-head::before { content: '▸'; color: var(--primary); }
.hm-morefold[open] > .hm-morefold-head::before { content: '▾'; }
.hm-morefold-head:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.hm-morefold-title { font-size: var(--text-body); font-weight: var(--weight-bold); }
.hm-morefold-say { font-size: var(--text-small); color: var(--text-dim); }
.hm-morefold > .hm-bento { margin-top: var(--space-16); }
