:root {
  --ledger-paper: #284c3d;
  --ledger-side: #17392e;
  --ledger-panel: #365d4b;
  --ledger-ink: #f6faf5;
  --ledger-muted: #cee3d3;
  --ledger-line: #638b76;
  --ledger-soft: #3f6d55;
  --ledger-accent: #c7e9b6;
  --ledger-on-accent: #173924;
  --ledger-frame: #14291f;
  --ledger-stock-empty: #684647;
  --ledger-stock-low: #695d3e;
  --ledger-danger: #ffb9b2;
  --ledger-warning: #f3d38c;
}

:root[data-ledger-theme="cream-light"] { --ledger-paper:#f5f5ee; --ledger-side:#e4eadd; --ledger-panel:#fffefa; --ledger-ink:#202d25; --ledger-muted:#4a6151; --ledger-line:#bbcbbb; --ledger-soft:#e3ecdf; --ledger-accent:#235843; --ledger-on-accent:#fff; --ledger-frame:#ecf0e8; --ledger-stock-empty:#f4dfda; --ledger-stock-low:#f6eccf; --ledger-danger:#963c36; --ledger-warning:#755212; }
:root[data-ledger-theme="cream-dark"] { --ledger-paper:#344d40; --ledger-side:#20372e; --ledger-panel:#405c4c; --ledger-ink:#f7f8ed; --ledger-muted:#d1dfcf; --ledger-line:#658b71; --ledger-soft:#52715a; --ledger-accent:#d3e6b7; --ledger-on-accent:#1b3426; --ledger-frame:#142a20; }
:root[data-ledger-theme="green-light"] { --ledger-paper:#e4f2e7; --ledger-side:#b9dec4; --ledger-panel:#f5fbf5; --ledger-ink:#18382c; --ledger-muted:#3d6250; --ledger-line:#9bc9aa; --ledger-soft:#d0e8d6; --ledger-accent:#216448; --ledger-on-accent:#fff; --ledger-frame:#d1e7d6; --ledger-stock-empty:#f2dcd9; --ledger-stock-low:#f6ebcd; --ledger-danger:#963c36; --ledger-warning:#755212; }
:root[data-ledger-theme="green-dark"] { --ledger-paper:#284c3d; --ledger-side:#17392e; --ledger-panel:#365d4b; --ledger-ink:#f6faf5; --ledger-muted:#cee3d3; --ledger-line:#638b76; --ledger-soft:#3f6d55; --ledger-accent:#c7e9b6; --ledger-on-accent:#173924; --ledger-frame:#14291f; }
:root[data-ledger-theme="blue-light"] { --ledger-paper:#e7f3fa; --ledger-side:#c9e5f4; --ledger-panel:#f8fcff; --ledger-ink:#17364b; --ledger-muted:#41647a; --ledger-line:#b2d3e6; --ledger-soft:#d7eaf5; --ledger-accent:#246c9f; --ledger-on-accent:#fff; --ledger-frame:#d2e8f3; --ledger-stock-empty:#f3dcd8; --ledger-stock-low:#f5ebd0; --ledger-danger:#963c36; --ledger-warning:#755212; }
:root[data-ledger-theme="blue-dark"] { --ledger-paper:#254a60; --ledger-side:#17394e; --ledger-panel:#345e75; --ledger-ink:#f5fafd; --ledger-muted:#d0e3ec; --ledger-line:#668da3; --ledger-soft:#3b6983; --ledger-accent:#b8e6f0; --ledger-on-accent:#143b48; --ledger-frame:#142d3d; }
:root[data-ledger-theme="mauve-light"] { --ledger-paper:#f8ecef; --ledger-side:#f1d7df; --ledger-panel:#fff9fa; --ledger-ink:#432a36; --ledger-muted:#75515e; --ledger-line:#ddb9c5; --ledger-soft:#f2dfe5; --ledger-accent:#8c3c59; --ledger-on-accent:#fff; --ledger-frame:#f4e2e7; --ledger-stock-empty:#f4d6d5; --ledger-stock-low:#f6e9c9; --ledger-danger:#963c36; --ledger-warning:#755212; }
:root[data-ledger-theme="mauve-dark"] { --ledger-paper:#57383e; --ledger-side:#3e292e; --ledger-panel:#6b4850; --ledger-ink:#fff8f7; --ledger-muted:#efd7dc; --ledger-line:#a67882; --ledger-soft:#774f58; --ledger-accent:#ffc4b7; --ledger-on-accent:#482a2d; --ledger-frame:#2c1f25; }
:root[data-ledger-theme="dark-light"] { --ledger-paper:#e7eceb; --ledger-side:#c9d5d3; --ledger-panel:#f7faf9; --ledger-ink:#1d3030; --ledger-muted:#4c6261; --ledger-line:#b4c5c2; --ledger-soft:#d5e0de; --ledger-accent:#2b5352; --ledger-on-accent:#fff; --ledger-frame:#d3ddda; --ledger-stock-empty:#f2dcd8; --ledger-stock-low:#f5ebd0; --ledger-danger:#963c36; --ledger-warning:#755212; }
:root[data-ledger-theme="dark-dark"] { --ledger-paper:#252e2e; --ledger-side:#192322; --ledger-panel:#303c3b; --ledger-ink:#f2f5ef; --ledger-muted:#baccc4; --ledger-line:#536661; --ledger-soft:#3d5550; --ledger-accent:#a9dbc0; --ledger-on-accent:#142a21; --ledger-frame:#141e1d; --ledger-stock-empty:#654442; --ledger-stock-low:#615638; --ledger-danger:#ffaaa2; --ledger-warning:#f1d38b; }
:root[data-ledger-theme="warm-light"] { --ledger-paper:#fff0e3; --ledger-side:#f9d9c4; --ledger-panel:#fff9f2; --ledger-ink:#482d24; --ledger-muted:#765346; --ledger-line:#e8bfa8; --ledger-soft:#fbe2d2; --ledger-accent:#ae4525; --ledger-on-accent:#fff; --ledger-frame:#f7e1d2; --ledger-stock-empty:#f2d4ce; --ledger-stock-low:#f6e9c9; --ledger-danger:#963c36; --ledger-warning:#755212; }
:root[data-ledger-theme="warm-dark"] { --ledger-paper:#773927; --ledger-side:#51281e; --ledger-panel:#8f4830; --ledger-ink:#fff5eb; --ledger-muted:#f1d1bb; --ledger-line:#b56c4d; --ledger-soft:#9d573b; --ledger-accent:#ffd1ab; --ledger-on-accent:#4c2419; --ledger-frame:#3e211c; }
:root[data-ledger-appearance="light"] { color-scheme: light; --ledger-link:var(--ledger-accent); }
:root[data-ledger-appearance="dark"] { color-scheme: dark; }

:root { --surface:var(--ledger-paper); --panel:var(--ledger-panel); --ink:var(--ledger-ink); --muted:var(--ledger-muted); --line:var(--ledger-line); --brand:var(--ledger-accent); --brand-strong:var(--ledger-accent); --green-soft:var(--ledger-soft); }

body, .app-shell, .ledger-sidebar, .app-header, .workspace, .ledger-mobile-nav,
.ledger-nav button, .ledger-mobile-nav button, .primary-button, .ghost-button,
.secondary-button, .storage-table th, .storage-table td, .ledger-chat-bubble,
.chat-bottom, .app-menu {
  transition: background-color .22s ease, border-color .22s ease, color .22s ease;
}

@media (prefers-reduced-motion: reduce) {
  body, .app-shell, .ledger-sidebar, .app-header, .workspace, .ledger-mobile-nav,
  .ledger-nav button, .ledger-mobile-nav button, .primary-button, .ghost-button,
  .secondary-button, .storage-table th, .storage-table td, .ledger-chat-bubble,
  .chat-bottom, .app-menu { transition: none; }
}

body { background: var(--ledger-paper); color: var(--ledger-ink); }
.login-screen { background: var(--ledger-paper); }
.login-panel { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 5px; box-shadow: none; max-width: 390px; padding: 27px; }
.login-brand { border-color: var(--ledger-line); }
.login-brand .brand-mark { background: var(--ledger-accent); border-radius: 4px; }
.login-brand h1 { color: var(--ledger-ink); font-size: 17px; }
.login-form label { color: var(--ledger-muted); font-size: 11px; font-weight: 700; }
.login-form select, .login-form input { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; color: var(--ledger-ink); font-size: 13px; }
.login-form .primary-button { min-height: 42px; }
.splash-screen { background: var(--ledger-accent); }
.splash-logo { border-radius: 7px; }
button, input, select, textarea { letter-spacing: 0; }
button:focus-visible { outline: 0; box-shadow: inset 0 -2px 0 currentColor; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--ledger-accent); outline-offset: 2px; }
.app-shell { display: grid; grid-template-columns: 190px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); height: 100svh; min-height: 0; overflow: hidden; }
.ledger-sidebar { background: var(--ledger-side); border-right: 1px solid var(--ledger-line); display: flex; flex-direction: column; gap: 24px; min-height: 0; padding: 26px 14px 16px; }
.ledger-logo, .ledger-header-logo { color: var(--ledger-ink); font-size: 23px; font-weight: 900; line-height: 1; padding: 0 9px; }
.ledger-nav { display: grid; gap: 3px; }
.ledger-nav button, .ledger-mobile-nav button { align-items: center; background: none; border: 0; border-radius: 4px; color: var(--ledger-muted); display: flex; font-size: 13px; font-weight: 700; gap: 11px; min-height: 42px; padding: 9px; text-align: left; }
.ledger-nav button.active, .ledger-mobile-nav button.active { background: var(--ledger-soft); color: var(--ledger-ink); }
.ledger-nav-badge { align-items: center; background: #b73d35; border-radius: 999px; color: #fff; display: inline-flex; font-size: 10px; font-weight: 800; height: 18px; justify-content: center; margin-left: auto; min-width: 18px; padding: 0 4px; }
.ledger-nav-badge.zero { background: #86968b; }
.ledger-nav-badge[hidden] { display: none !important; }
.notification-badge[hidden] { display: none !important; }
.ledger-nav button:hover, .ledger-mobile-nav button:hover { background: var(--ledger-soft); }
.ledger-nav button[hidden], .ledger-mobile-nav button[hidden] { display: none !important; }
.ledger-nav i, .ledger-mobile-nav i, .ledger-module-row i { display: inline-grid; flex: none; font-size: 18px; font-style: normal; height: 18px; place-items: center; width: 18px; }
.ledger-nav i[data-lucide="house"]::before, .ledger-mobile-nav i[data-lucide="house"]::before { content: "⌂"; }
.ledger-nav i[data-lucide="inbox"]::before, .ledger-mobile-nav i[data-lucide="inbox"]::before { content: "▤"; }
.ledger-nav i[data-lucide="package"]::before, .ledger-mobile-nav i[data-lucide="package"]::before { content: "□"; }
.ledger-nav i[data-lucide="message-circle"]::before, .ledger-mobile-nav i[data-lucide="message-circle"]::before { content: "◉"; }
.ledger-nav i[data-lucide="settings"]::before, .ledger-mobile-nav i[data-lucide="settings"]::before { content: "⚙"; }
.ledger-profile { border-top: 1px solid var(--ledger-line); display: grid; gap: 4px; margin-top: auto; padding: 14px 9px 0; }
.ledger-profile strong { color: var(--ledger-ink); font-size: 13px; }
.ledger-profile span { color: var(--ledger-muted); font-size: 11px; }
.ledger-content { display: grid; grid-template-rows: auto minmax(0, 1fr); min-width: 0; min-height: 0; }
.app-header { background: var(--ledger-paper); border-color: var(--ledger-line); gap: 16px; min-height: 82px; padding: 12px clamp(18px, 3vw, 36px); }
.ledger-header-logo { display: none; }
.app-header .header-left { align-items: center; }
.app-header .header-storage-shortcuts { display: none; }
.app-header .app-brand .eyebrow { color: var(--ledger-muted); font-size: 11px; font-weight: 650; text-transform: none; }
.app-header .app-brand h1 { color: var(--ledger-ink); font-size: 15px; font-weight: 800; line-height: 1.2; }
.app-header .menu-button { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; height: 34px; width: 34px; }
.app-header .menu-button span { background: var(--ledger-ink); height: 2px; width: 16px; }
.app-menu { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; }
.app-menu button { color: var(--ledger-ink); font-size: 12px; font-weight: 650; }
.app-menu button[data-open-module="profile"], .app-menu #openWelcomeGuide { display: flex; align-items: center; gap: 8px; }
.app-menu button[data-open-module="profile"] svg, .app-menu #openWelcomeGuide svg { width: 15px; height: 15px; flex: none; }
.app-menu button:hover { background: var(--ledger-soft); }
.ledger-theme-picker { border-top: 1px solid var(--ledger-line); }
.ledger-theme-picker summary { align-items: center; color: var(--ledger-ink); cursor: pointer; display: flex; font-size: 12px; font-weight: 650; gap: 8px; min-height: 40px; padding: 0 12px; list-style: none; }
.ledger-theme-picker summary::-webkit-details-marker { display: none; }
.ledger-theme-picker summary:hover { background: var(--ledger-soft); }
.ledger-theme-picker summary > svg:first-child { flex: none; height: 15px; width: 15px; }
.ledger-theme-picker summary > svg:last-child { flex: none; height: 14px; width: 14px; }
.ledger-theme-picker[open] summary > svg:last-child { transform: rotate(180deg); }
.ledger-theme-picker summary small { color: var(--ledger-muted); font-size: 10px; font-weight: 600; margin-left: auto; white-space: nowrap; }
.ledger-theme-options { border-top: 1px solid var(--ledger-line); display: grid; gap: 3px; padding: 7px 3px 9px; }
.ledger-theme-row { align-items: center; display: grid; gap: 4px; grid-template-columns: 66px repeat(2, minmax(0, 1fr)); }
.ledger-theme-row > strong { color: var(--ledger-muted); font-size: 11px; font-weight: 650; padding-left: 7px; }
.app-menu .ledger-theme-row button { align-items: center; border: 1px solid transparent; display: flex; font-size: 10px; gap: 5px; justify-content: center; min-height: 34px; padding: 3px 5px; text-align: center; white-space: nowrap; }
.app-menu .ledger-theme-row button[aria-pressed="true"] { background: var(--ledger-soft); border-color: var(--ledger-ink); }
.ledger-theme-swatch { background: var(--swatch); border: 1px solid var(--ledger-line); border-radius: 50%; flex: none; height: 13px; width: 13px; }
.app-header .app-menu:has(.ledger-theme-picker[open]) { width: min(300px, calc(100vw - 30px)); }
.today-chip { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 10px; justify-content: flex-end; text-align: right; }
.today-chip #todayLabel { color: var(--ledger-muted); font-size: 11px; font-weight: 600; }
.header-site-context { display:flex; align-items:center; justify-content:flex-end; gap:3px; min-width:max-content; margin-left:auto; }
.header-site-context > strong { color:var(--ledger-header-muted, var(--ledger-muted)); font-size:10px; font-weight:750; line-height:1.35; white-space:nowrap; }
.location-switcher { position:relative; display:grid; flex:none; place-items:center; width:24px; height:24px; color:var(--ledger-header-muted, var(--ledger-muted)); }
.location-switcher[hidden] { display:none !important; }
.location-switcher > button { display:grid; place-items:center; width:24px; height:24px; min-height:0; padding:0; border:0; border-radius:50%; background:transparent; color:inherit; cursor:pointer; }
.location-switcher > button[aria-expanded="true"] { background:#ffffff18; }
.location-switcher svg { width:15px; height:15px; pointer-events:none; }
.location-menu { position:absolute; z-index:80; top:calc(100% + 6px); right:0; width:max-content; min-width:145px; max-width:calc(100vw - 30px); padding:5px; border:1px solid var(--ledger-line); border-radius:10px; background:var(--ledger-panel); box-shadow:0 12px 30px #1028202b; color:var(--ledger-ink); text-align:left; }
.location-menu[hidden] { display:none !important; }
.location-menu button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:34px; padding:7px 9px; border:0; border-radius:7px; background:transparent; color:inherit; font-size:11px; font-weight:650; text-align:left; white-space:nowrap; }
.location-menu button:hover, .location-menu button[aria-checked="true"] { background:var(--ledger-soft); }
.location-menu button svg { width:13px; height:13px; color:var(--ledger-accent); }
.today-chip #logoutButton { color: var(--ledger-accent); font-size: 11px; }
.today-chip .push-toggle { color: var(--ledger-ink); margin: 0; }
.push-toggle input:checked + span { background: var(--ledger-accent); }
.push-toggle strong { color: var(--ledger-muted); font-size: 10px; }
.info-button { color: var(--ledger-accent); }
.workspace { background: var(--ledger-paper); min-height: 0; max-width: none; overflow-x: hidden; overflow-y: auto; scrollbar-gutter: stable; padding: 25px clamp(18px, 3vw, 36px) 45px; }
.workspace:has(#foodView.active), .workspace:has(#wineView.active) { overflow-y: scroll; }
.view.active { margin: 0 auto; max-width: 980px; }
.view h2 { color: var(--ledger-ink); font-size: 25px; font-weight: 800; line-height: 1.2; margin: 0; }
.view h3 { color: var(--ledger-ink); }
.view .topbar { align-items: flex-start; border-bottom: 1px solid var(--ledger-line); margin-bottom: 18px; padding-bottom: 18px; }
.view .topbar p { color: var(--ledger-muted); font-size: 12px; margin: 6px 0 0; }
.view .topbar .eyebrow { display: none; }
.view .topbar-actions [data-open-module="home"] { display: none; }
.view .topbar-actions { display: flex; flex: none; gap: 8px; }
.view .topbar-actions button { min-width: 70px; white-space: nowrap; }
.view .eyebrow { color: var(--ledger-muted); font-size: 10px; font-weight: 700; }
.primary-button { background: var(--ledger-accent); border: 1px solid var(--ledger-accent); border-radius: 4px; color: var(--ledger-on-accent); font-size: 12px; font-weight: 750; }
.primary-button:hover { filter: brightness(.93); }
.ghost-button, .secondary-button { background: var(--ledger-panel); border: 1px solid var(--ledger-line); border-radius: 4px; color: var(--ledger-ink); font-size: 12px; font-weight: 700; }
.link-button { color: var(--ledger-accent); }
.ledger-page-header { align-items: center; border-bottom: 1px solid var(--ledger-line); display: flex; gap: 18px; justify-content: space-between; padding: 1px 0 21px; }
.ledger-page-header p { color: var(--ledger-muted); font-size: 12px; margin: 5px 0 0; }
.ledger-home-section { margin-top: 21px; }
.ledger-section-heading { align-items: center; display: flex; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
.ledger-section-heading h3 { font-size: 13px; font-weight: 800; margin: 0; }
.ledger-section-heading button { background: none; border: 0; color: var(--ledger-accent); font-size: 11px; font-weight: 700; padding: 6px 0; white-space: nowrap; }
.ledger-home-row, .ledger-module-row { align-items: center; background: transparent; border: 0; border-top: 1px solid var(--ledger-line); color: var(--ledger-ink); display: flex; gap: 14px; justify-content: space-between; min-height: 59px; padding: 11px 0; text-align: left; width: 100%; }
.ledger-home-row:hover { background: var(--ledger-soft); }
.ledger-module-row:hover, .ledger-module-row:active, .ledger-module-row:focus-visible {
  background: transparent;
  box-shadow: inset 3px 0 var(--ledger-accent);
}
.ledger-home-row > span:first-child, .ledger-module-row > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.ledger-home-row strong, .ledger-module-row strong { color: var(--ledger-ink); font-size: 13px; font-weight: 750; }
.ledger-home-row small, .ledger-module-row small { color: var(--ledger-muted); font-size: 11px; font-weight: 500; }
.ledger-home-row .ledger-row-trailing { color: var(--ledger-muted); flex: none; font-size: 11px; }
.ledger-home-empty { border-top: 1px solid var(--ledger-line); color: var(--ledger-muted); font-size: 12px; padding: 17px 0; }
.ledger-module-row > span:last-child { color: var(--ledger-accent); margin-left: auto; }
.ledger-module-row i { color: var(--ledger-accent); }
.quick-create { margin-top: 15px; }
.quick-create .empty-state { background: transparent; border: 0; min-height: 230px; padding: 18px 0; }
.quick-create .empty-state h3 { font-size: 16px; }
.quick-create .empty-state p { font-size: 12px; font-weight: 500; }
.quick-create .empty-icon { background: var(--ledger-soft); border-radius: 4px; color: var(--ledger-accent); }
.composer, .info-dialog { background: var(--ledger-panel); border: 1px solid var(--ledger-line); border-radius: 5px; box-shadow: 0 12px 28px rgba(0,0,0,.12); color: var(--ledger-ink); }
.composer { max-height: calc(100svh - 24px); overflow-y: auto; }
.composer .dialog-header, .info-dialog .dialog-header { border-color: var(--ledger-line); }
.composer .dialog-header { align-items: flex-start; flex-direction: row; }
.composer .dialog-header .icon-button { flex: none; height: 32px; min-width: 32px; width: 32px; }
.composer .dialog-actions { background: var(--ledger-panel); display: flex; flex-direction: row; position: sticky; bottom: 0; padding-top: 10px; z-index: 2; }
.composer .dialog-actions button { flex: 1 1 0; min-width: 0; }
.form-grid label, .storage-editor-fields label { color: var(--ledger-muted); font-size: 11px; font-weight: 700; }
.form-grid input, .form-grid select, .form-grid textarea, .storage-editor-fields input, .storage-editor-fields select { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; color: var(--ledger-ink); font-size: 13px; }
.item-list-input { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; }
.team-chat-card { background: transparent; border: 0; box-shadow: none; max-width: none; padding: 0; }
.workspace:has(#chatView.active) { overflow: hidden; scrollbar-gutter: auto; }
#chatView.active { display: flex; flex-direction: column; height: 100%; }
#chatView .topbar { flex: none; }
#chatView .topbar .clear-chat-button { background: var(--ledger-panel); border: 1px solid var(--ledger-line); border-radius: 4px; color: var(--ledger-ink); font-size: 11px; font-weight: 700; min-height: 30px; position: static; transform: none; }
#chatView .team-chat-card { display: flex; flex: 1; flex-direction: column; gap: 8px; min-height: 0; }
#chatView .team-chat-messages { background: transparent; border: 0; border-radius: 0; display: block; flex: 1; max-height: none; min-height: 0; overflow-y: auto; padding: 0 0 12px; }
#chatView .team-chat-messages.expanded { max-height: none; }
#chatView .chat-day { background: none; border: 0; border-radius: 0; display: grid; gap: 12px; padding: 0 0 15px; }
#chatView .chat-day-label { align-items: center; background: var(--ledger-paper); color: var(--ledger-muted); display: flex; font-size: 10px; gap: 12px; padding: 9px 0; position: sticky; top: 0; z-index: 1; }
#chatView .chat-day-label::before, #chatView .chat-day-label::after { background: var(--ledger-line); content: ""; flex: 1; height: 1px; }
#chatView .chat-message { background: var(--ledger-soft); border: 0; border-radius: 6px 6px 6px 2px; gap: 7px; max-width: min(78%, 480px); padding: 12px; }
#chatView .chat-message:first-of-type { padding-top: 12px; }
#chatView .chat-message.mine { background: var(--ledger-accent); border-radius: 6px 6px 2px 6px; color: var(--ledger-on-accent); margin-left: auto; }
#chatView .chat-message span { color: var(--ledger-muted); font-size: 10px; font-weight: 600; }
#chatView .chat-message.mine span, #chatView .chat-message.mine p { color: var(--ledger-on-accent); }
#chatView .chat-message p { color: var(--ledger-ink); font-size: 12px; font-weight: 550; line-height: 1.45; }
#chatView .chat-message strong { font-size: 11px; font-weight: 750; }
#chatView .chat-message .chat-reactions { gap: 4px; }
#chatView .chat-reactions button { background: var(--ledger-panel); border-color: var(--ledger-line); color: var(--ledger-ink); min-height: 25px; padding: 0 6px; }
#chatView .chat-reactions button.active { background: var(--ledger-accent); color: var(--ledger-on-accent); }
#chatView .chat-message.mine .chat-reactions button.active { background: var(--ledger-panel); color: var(--ledger-accent); }
#chatView .chat-reply-button, #chatView .chat-delete-button { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; color: var(--ledger-accent); height: 27px; min-width: 27px; padding: 0 5px; }
#chatView .chat-reply-quote, #chatView .chat-reply-preview { background: var(--ledger-panel); border-color: var(--ledger-accent); border-radius: 2px; color: var(--ledger-ink); }
#chatView .chat-reply-quote span, #chatView .chat-reply-preview span { color: var(--ledger-muted); }
#chatView .chat-history-toggle { align-self: flex-start; background: none; border: 0; border-radius: 0; color: var(--ledger-accent); font-size: 11px; min-height: 28px; padding: 0; }
#chatView .team-chat-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#chatView .team-chat-form input { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; box-shadow: none; color: var(--ledger-ink); font-size: 12px; font-weight: 500; }
#chatView .notify-everyone-toggle { color: var(--ledger-ink); font-size: 11px; font-weight: 650; }
#chatView .notify-everyone-toggle span { background: var(--ledger-line); }
#chatView .notify-everyone-toggle input:checked + span { background: var(--ledger-accent); }
#chatView .notify-everyone-toggle strong { font-weight: 650; }
#chatView .notify-target-button { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; color: var(--ledger-ink); font-size: 11px; font-weight: 650; }
#chatView .notify-target-button.active { background: var(--ledger-accent); color: var(--ledger-on-accent); }
.team-chat-card > p { color: var(--ledger-muted); font-size: 11px; font-weight: 600; }
.chat-history-toggle { color: var(--ledger-accent); }
.sheet-note { color: var(--ledger-muted); }
.sheet-note { background: transparent; border: 0; border-radius: 0; font-size: 11px; font-weight: 550; margin: 0 0 16px; padding: 0; }
.control-row { align-items: flex-end; margin: 13px 0 15px; }
.segmented { background: none; border: 0; border-bottom: 1px solid var(--ledger-line); border-radius: 0; gap: 17px; }
.segmented button { border: 0; border-bottom: 2px solid transparent; color: var(--ledger-muted); font-size: 12px; min-height: 35px; padding: 0 1px; }
.segmented button.active { background: none; border-bottom-color: var(--ledger-accent); color: var(--ledger-ink); }
.search-box { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; font-size: 12px; }
.search-box span { color: var(--ledger-muted); font-size: 11px; font-weight: 650; }
.search-box input { background: transparent; color: var(--ledger-ink); font-size: 12px; }
.bulk-toolbar { justify-content: flex-end; }
.bulk-toolbar:not(.active) span, .bulk-toolbar .bulk-apply:disabled { display: none; }
.bulk-toolbar .icon-button { border-color: var(--ledger-line); border-radius: 4px; }
.storage-table, .order-detail-card, .report-preview, .statistics-grid article, .permissions-list, .quick-create { border-color: var(--ledger-line); box-shadow: none; }
.order-board { gap: 0; }
.order-card { background: transparent; border: 0; border-bottom: 1px solid var(--ledger-line); border-radius: 0; box-shadow: none; gap: 7px; padding: 14px 2px; }
.order-card:hover, .order-card.selected, .order-card.bulk-selected { background: transparent; border-color: var(--ledger-line); box-shadow: inset 3px 0 var(--ledger-accent); }
.order-title { color: var(--ledger-ink); font-size: 13px; font-weight: 750; }
.order-meta { color: var(--ledger-muted); gap: 5px 11px; }
.order-meta .route, .order-meta .sender, .order-meta .due { font-size: 11px; font-weight: 550; }
.order-items-preview { display: flex; flex-wrap: wrap; gap: 4px; }
.order-items-preview span { background: var(--ledger-soft); border: 0; border-radius: 3px; color: var(--ledger-ink); font-size: 10px; font-weight: 600; padding: 4px 6px; }
.order-detail-card { background: transparent; border: 0; padding: 0; }
.order-detail-card h3 { color: var(--ledger-ink); font-size: 17px; }
.order-info-grid { gap: 0 12px; }
.order-info-item { background: transparent; border: 0; border-bottom: 1px solid var(--ledger-line); border-radius: 0; padding: 12px 0; }
.order-info-item span, .detail-label { color: var(--ledger-muted); font-size: 10px; font-weight: 700; }
.order-info-item strong { color: var(--ledger-ink); font-size: 12px; }
.detail-section { border-color: var(--ledger-line); }
.detail-section p { color: var(--ledger-ink); font-size: 12px; line-height: 1.45; }
.created-note { color: var(--ledger-muted); font-size: 10px; }
.edit-reply-button { border-color: var(--ledger-line); border-radius: 4px; color: var(--ledger-accent); }
.storage-table { background: transparent; border: 0; border-radius: 0; overflow: auto; }
.storage-table table { background: transparent; min-width: 0; table-layout: fixed; }
.storage-table th, .storage-table td { border-color: var(--ledger-line); color: var(--ledger-ink); font-size: 11px; padding: 10px 7px; }
.storage-table th { background: var(--ledger-paper); color: var(--ledger-muted); font-size: 10px; font-weight: 700; }
.storage-table .storage-col-name { max-width: none; min-width: 0; overflow: visible; text-overflow: clip; width: auto; white-space: normal; }
.storage-table .storage-col-amount { min-width: 0; padding-left: 7px; width: auto; white-space: normal; }
.storage-table .storage-col-edit { width: 46px; }
.storage-table tr.stock-empty td { background: var(--ledger-stock-empty); }
.storage-table tr.stock-low td { background: var(--ledger-stock-low); }
.storage-table .edit-storage-button { border-radius: 4px; }
.ledger-stock-details-button { align-items: center; background: none; border: 0; color: var(--ledger-accent); display: flex; gap: 6px; font-size: 10px; font-weight: 700; margin-top: 5px; padding: 2px 0; text-align: left; width: max-content; }
.ledger-stock-details-button::before { border-bottom: 1.5px solid currentColor; border-right: 1.5px solid currentColor; content: ""; display: block; height: 5px; transform: rotate(45deg); transition: transform .2s ease; width: 5px; }
.ledger-stock-details-button[aria-expanded="true"]::before { transform: rotate(225deg); }
.storage-table tr.storage-expanded td { background: color-mix(in srgb, var(--ledger-accent) 24%, var(--ledger-paper)); border-bottom-color: transparent; }
.storage-table tr.stock-empty.storage-expanded td { background: var(--ledger-stock-empty); }
.storage-table tr.stock-low.storage-expanded td { background: var(--ledger-stock-low); }
.storage-table tr.storage-expanded td:first-child, .ledger-stock-details-row td { box-shadow: inset 4px 0 var(--ledger-accent); }
.ledger-stock-details-row td { background: color-mix(in srgb, var(--ledger-accent) 24%, var(--ledger-paper)) !important; border-bottom: 2px solid var(--ledger-accent) !important; padding: 14px 18px 20px !important; }
.storage-table tr.stock-empty + .ledger-stock-details-row td { background: var(--ledger-stock-empty) !important; }
.storage-table tr.stock-low + .ledger-stock-details-row td { background: var(--ledger-stock-low) !important; }
.ledger-stock-details-heading { color: var(--ledger-ink); font-size: 12px; font-weight: 800; margin-bottom: 14px; padding-bottom: 8px; border-bottom: 1px solid var(--ledger-line); }
.ledger-stock-details-row dl { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0,1fr)); margin: 0; }
.ledger-stock-details-row dt { color: var(--ledger-muted); font-size: 10px; }
.ledger-stock-details-row dd { color: var(--ledger-ink); font-size: 11px; font-weight: 650; margin: 3px 0 0; overflow-wrap: anywhere; }
.permission-row { background: transparent; border: 0; border-bottom: 1px solid var(--ledger-line); border-radius: 0; padding: 13px 0; }
.permission-row strong { color: var(--ledger-ink); font-size: 12px; }
.permission-row span, .permission-row label { color: var(--ledger-muted); font-size: 11px; font-weight: 600; }
.permission-row select { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; color: var(--ledger-ink); font-size: 12px; }
.statistics-controls label, .report-controls label { color: var(--ledger-muted); font-size: 11px; font-weight: 700; }
.statistics-controls select, .statistics-controls input, .report-controls input { background: var(--ledger-panel); border-color: var(--ledger-line); border-radius: 4px; color: var(--ledger-ink); font-size: 12px; }
.stat-card { background: transparent; border: 0; border-top: 1px solid var(--ledger-line); border-radius: 0; padding: 15px 0; }
.stat-card-header span { color: var(--ledger-muted); font-size: 11px; font-weight: 700; }
.stat-card-header strong { color: var(--ledger-accent); }
.stat-pills span { background: var(--ledger-soft); border: 0; border-radius: 3px; color: var(--ledger-ink); font-size: 11px; }
.report-controls #downloadFoodReport, .report-controls #downloadWineReport { background: var(--ledger-panel); border-color: var(--ledger-line); color: var(--ledger-ink); }
.report-summary { gap: 0; }
.report-summary div { background: transparent; border: 0; border-top: 1px solid var(--ledger-line); border-radius: 0; box-shadow: none; padding: 13px 0; }
.report-summary span { color: var(--ledger-muted); font-size: 10px; font-weight: 700; }
.report-summary strong { color: var(--ledger-ink); font-size: 16px; }
.report-section { background: transparent; border: 1px solid var(--ledger-line); border-radius: 4px; box-shadow: none; }
.report-section h3 { border-color: var(--ledger-line); font-size: 13px; }
.ledger-mobile-nav { display: none; }

@media (min-width: 761px) {
  .app-header .menu-shell { display: none; }
}

@media (max-width: 760px) {
  html, body { touch-action: pan-x pan-y; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  .app-shell { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) auto; }
  .ledger-sidebar { display: none; }
  .ledger-content { grid-row: 1; }
  .ledger-mobile-nav { align-items: stretch; background: var(--ledger-side); border-top: 1px solid var(--ledger-line); display: flex; gap: 1px; grid-row: 2; justify-content: space-around; padding: 5px 4px max(20px, env(safe-area-inset-bottom)); }
  .ledger-mobile-nav button { flex: 1 1 0; flex-direction: column; font-size: 10px; gap: 2px; justify-content: center; min-height: 49px; min-width: 0; padding: 5px 2px; position: relative; text-align: center; }
  .ledger-mobile-nav .ledger-nav-badge { font-size: 9px; height: 15px; margin: 0; min-width: 15px; position: absolute; right: calc(50% - 25px); top: 2px; }
  .app-header { min-height: 90px; padding: 10px 15px; }
  .app-header .header-left { display: flex; gap: 10px; width: auto; }
  .ledger-header-logo { display: block; font-size: 17px; padding: 0; }
  .app-header .app-brand h1 { font-size: 12px; max-width: 100px; }
  .app-header .app-brand .eyebrow { font-size: 9px; }
  .app-header .menu-button { height: 30px; width: 30px; }
  .today-chip { flex: 1; gap: 3px 6px; min-width: 0; position: static; }
  .today-chip strong#todayLabel { display: block; font-size: 9px; width: 100%; }
  .today-chip #logoutButton { display: none; }
  .today-chip .push-toggle { max-width: none; }
  .today-chip .push-toggle strong { flex-basis: auto; font-size: 9px; }
  .workspace { padding: 17px 16px 28px; }
  .view .topbar { align-items: flex-start; flex-direction: row; }
  .view h2 { font-size: 20px; }
  .ledger-page-header { align-items: center; }
  .ledger-page-header .primary-button { flex: none; }
  .topbar-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .view .topbar-actions { align-items: flex-start; display: flex; }
  .view .control-row { align-items: stretch; }
  .view .search-box { width: 100%; }
  .bulk-toolbar:not(.active) { display: flex; justify-content: flex-end; }
  .storage-table table:has(.storage-col-edit) th:nth-child(n+3):not(:last-child),
  .storage-table table:has(.storage-col-edit) td:nth-child(n+3):not(:last-child),
  .storage-table table:not(:has(.storage-col-edit)) th:nth-child(n+3),
  .storage-table table:not(:has(.storage-col-edit)) td:nth-child(n+3) { display: none; }
  .storage-table table:has(.storage-col-edit) .storage-col-name { width: 49%; }
  .storage-table table:has(.storage-col-edit) .storage-col-amount { width: 38%; }
  .storage-table table:has(.storage-col-edit) .storage-col-edit { width: 13%; }
  .storage-table table:not(:has(.storage-col-edit)) .storage-col-name { width: 55%; }
  .storage-table table:not(:has(.storage-col-edit)) .storage-col-amount { width: 45%; }
  .storage-table th, .storage-table td { overflow-wrap: anywhere; white-space: normal; }
  .ledger-stock-details-row td { display: table-cell !important; }
  .ledger-stock-details-row dl { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .report-summary { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 12px; }
  #chatView.active { display: flex; flex-direction: column; height: 100%; }
  .workspace:has(#chatView.active) { overflow: hidden; }
  #chatView .team-chat-card { display: flex; flex: 1; flex-direction: column; min-height: 0; }
  #chatView .team-chat-messages { flex: 1; max-height: none; min-height: 0; overflow-y: auto; }
}

/* Ledger reference layout: the working app uses the preview's compact frame. */
body { min-height: 100svh; display: grid; place-items: center; padding: 16px; background: var(--ledger-frame); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.app-shell { position: relative; width: min(100%, 760px); height: min(680px, calc(100svh - 32px)); grid-template-columns: 168px minmax(0,1fr); grid-template-rows: minmax(0,1fr); border: 1px solid var(--ledger-line); border-radius: 7px; background: var(--ledger-paper); box-shadow: 0 16px 36px rgba(0,0,0,.07); overflow: hidden; }
.ledger-sidebar { display: flex; gap: 2px; padding: 19px 11px; overflow-y: auto; }
.ledger-logo { font-size: 16px; font-weight: 800; margin: 0 0 22px 8px; padding: 0; }
.ledger-nav { gap: 2px; }
.ledger-nav-head { color: var(--ledger-muted); font-size: 10px; font-weight: 750; text-transform: uppercase; margin: 15px 9px 5px; }
.ledger-nav-head[hidden] { display: none; }
.ledger-nav button { min-height: 0; gap: 9px; padding: 9px; font-size: 12px; font-weight: 650; }
.ledger-nav i { width: 16px; height: 16px; font-size: 17px; }
.ledger-profile { padding: 14px 7px 0; line-height: 1.4; }
.ledger-profile strong { font-size: 12px; }
.ledger-profile-actions { display: flex; gap: 4px; margin-top: 9px; }
.ledger-profile-actions button { width: 28px; height: 28px; padding: 5px; display: grid; place-items: center; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-muted); }
.ledger-profile-actions button:hover:not(:disabled), .ledger-profile-actions button[aria-pressed="true"] { background: var(--ledger-soft); color: var(--ledger-ink); }
.ledger-profile-actions button:disabled { opacity: .55; cursor: not-allowed; }
.ledger-profile-actions svg { width: 15px; height: 15px; }
.ledger-content { grid-template-rows: auto minmax(0,1fr); }
.app-header { position: relative; z-index: 10; display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; min-height: 0; gap: 6px; border: 0; padding: 20px 23px 0; background: var(--ledger-paper); box-shadow: none; }
.ledger-header-art { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.ledger-header-art::before, .ledger-header-art::after { position: absolute; content: ""; pointer-events: none; }
.ledger-header-art::before { width: 78%; height: 255%; top: -177%; left: -21%; border-radius: 0 0 72% 48%; background: var(--ledger-accent); opacity: .13; transform: rotate(10deg); }
.ledger-header-art::after { width: 67%; height: 245%; top: -184%; right: -24%; border-radius: 0 0 42% 74%; background: var(--ledger-panel); opacity: .34; transform: rotate(-12deg); }
.ledger-sweep { display: none; }
.app-header > :not(.ledger-header-art) { position: relative; z-index: 1; }
.app-header > .header-left { z-index: 2; }
.app-header .header-left { display: flex; flex-direction: row; align-items: center; gap: 8px; width: 100%; min-width: 0; }
.app-header .ledger-header-logo { display: none; order: 1; padding: 0; font-size: 16px; font-weight: 800; }
.app-header .menu-shell { display: block; order: 2; margin-left: auto; position: relative; }
.app-header .app-brand { display: block; order: 3; margin-left: auto; text-align: right; }
.app-header .app-brand .eyebrow { display: none; }
.app-header .app-brand h1 { max-width: 170px; font-size: 11px; font-weight: 700; text-align: right; text-transform: capitalize; overflow-wrap: anywhere; }
.app-header .ledger-header-role { display: block; color: var(--ledger-muted); font-size: 10px; line-height: 1.3; }
.app-header .menu-button { display: grid; place-items: center; width: 28px; height: 28px; min-width: 28px; padding: 4px; border: 0; background: transparent; }
.app-header .menu-button svg { width: 19px; height: 19px; stroke-width: 2; }
.app-header .menu-button i[data-lucide="menu"]::before { content: "☰"; font-style: normal; font-size: 20px; line-height: 1; }
.app-header .ledger-account-button { display: flex; align-items: center; gap: 5px; min-width: 0; padding: 0; border: 0; background: transparent; color: var(--ledger-ink); text-align: right; cursor: pointer; }
.ledger-account-copy { display: grid; gap: 1px; justify-items: end; min-width: 0; }
.ledger-account-copy strong { max-width: 150px; font-size: 11px; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.ledger-account-copy small { color: var(--ledger-muted); font-size: 10px; line-height: 1.25; }
.app-header .ledger-account-button svg { width: 14px; height: 14px; flex: none; transition: transform .15s ease; }
.app-header .ledger-account-button[aria-expanded="true"] svg { transform: rotate(180deg); }
.app-header .app-menu { left: auto; right: 0; top: calc(100% + 10px); width: 218px; min-width: 0; max-width: calc(100vw - 32px); z-index: 50; }
.app-header .today-chip { display: flex; min-width: 0; width: 100%; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap: 8px; }
.today-chip #todayLabel { width: auto; color: var(--ledger-muted); font-size: 10px; font-weight: 750; line-height: 1.35; text-align: left; text-transform: uppercase; letter-spacing: .05em; }
.today-chip .push-toggle, .today-chip .info-button, .today-chip #logoutButton { display: none; }
.ledger-menu-notifications { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--ledger-line); border-bottom: 1px solid var(--ledger-line); }
.ledger-menu-notifications .push-toggle { display: flex; flex-wrap: nowrap; justify-content: flex-start; max-width: none; margin: 0; }
.ledger-menu-notifications .ledger-push-copy { display: grid; gap: 2px; min-width: 0; width: auto; height: auto; position: static; border-radius: 0; background: transparent; }
.ledger-menu-notifications .ledger-push-copy::after { content: none; }
.ledger-menu-notifications .ledger-push-copy b { color: var(--ledger-ink); font-size: 11px; line-height: 1.2; }
.ledger-menu-notifications .push-toggle strong { flex-basis: auto; color: var(--ledger-muted); font-size: 10px; line-height: 1.2; text-align: left; white-space: normal; }
.ledger-menu-notifications .info-button { display: grid; flex: none; place-items: center; width: 24px; height: 24px; margin: 0; }
.app-shell:has(#homeView.active) .app-header { padding-bottom: 0; }
.workspace { max-width: none; padding: 15px 23px 25px; overscroll-behavior: contain; }
.view.active { max-width: none; }
.view h2 { font-size: 21px; font-weight: 700; line-height: 1.2; }
.view h3 { font-size: 13px; font-weight: 750; }
.view .topbar { border: 0; margin: 0 0 18px; padding: 0; }
.view .topbar p { font-size: 12px; line-height: 1.4; margin-top: 7px; }
.primary-button { min-height: 0; padding: 9px 12px; font-size: 11px; border-radius: 4px; }
.ghost-button, .secondary-button { min-height: 0; padding: 8px 11px; font-size: 11px; }
.ledger-page-header { border: 0; padding: 0; gap: 12px; align-items: start; }
.ledger-page-header p { display: none; }
.ledger-home-section { margin-top: 20px; }
.ledger-home-section:first-of-type { margin-top: 28px; }
.ledger-section-heading { margin: 20px 0 7px; }
.ledger-section-heading h3 { font-size: 13px; font-weight: 750; }
.ledger-home-row, .ledger-module-row { min-height: 0; gap: 12px; padding: 12px 0; }
.ledger-home-row strong, .ledger-module-row strong { font-size: 12px; font-weight: 700; line-height: 1.3; }
.ledger-home-row small, .ledger-module-row small { font-size: 11px; line-height: 1.3; margin-top: 4px; }
.ledger-home-row .ledger-row-trailing { font-size: 10px; font-weight: 750; text-align: right; }
.ledger-home-empty { padding: 20px 0; }
.ledger-profile-fields { margin-top: 20px; }
.ledger-profile-field { display: grid; grid-template-columns: minmax(105px, 1fr) minmax(0, 2fr); gap: 15px; align-items: start; padding: 13px 0; border-top: 1px solid var(--ledger-line); }
.ledger-profile-field span { color: var(--ledger-muted); font-size: 11px; font-weight: 700; }
.ledger-profile-field strong { color: var(--ledger-ink); font-size: 12px; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.profile-topbar > div > p:last-child { margin:4px 0 0; color:var(--ledger-muted); font-size:10px; }
.ledger-profile-page { display:grid; gap:14px; max-width:760px; margin:18px auto 0; }
.ledger-profile-identity { display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:12px; align-items:center; padding:16px 0; border-block:1px solid var(--ledger-line); }
.ledger-profile-monogram { display:grid; place-items:center; width:42px; height:42px; border-radius:22%; background:var(--io-mark-bg); color:var(--io-mark-ink); font-size:12px; font-weight:900; letter-spacing:.02em; }
.ledger-profile-identity > div { min-width:0; }
.ledger-profile-identity h3 { margin:0 0 3px; color:var(--ledger-ink); font-size:16px; }
.ledger-profile-identity p { margin:0; color:var(--ledger-muted); font-size:10px; overflow-wrap:anywhere; }
.ledger-profile-identity em { padding:5px 8px; border:1px solid var(--ledger-accent); border-radius:3px; color:var(--ledger-accent); font-size:8px; font-style:normal; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.ledger-profile-sheet { border:1px solid var(--ledger-line); border-radius:5px; background:var(--ledger-panel); }
.ledger-profile-sheet > header { padding:14px 16px 10px; border-bottom:1px solid var(--ledger-line); }
.ledger-profile-sheet h3,.ledger-profile-security h3 { margin:2px 0 0; color:var(--ledger-ink); font-size:13px; }
.ledger-profile-sheet dl { margin:0; padding:0 16px; }
.ledger-profile-sheet dl > div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:18px; padding:12px 0; border-bottom:1px solid var(--ledger-line); }
.ledger-profile-sheet dl > div:last-child { border-bottom:0; }
.ledger-profile-sheet dt { color:var(--ledger-muted); font-size:9px; font-weight:750; }
.ledger-profile-sheet dd { margin:0; color:var(--ledger-ink); font-size:10px; font-weight:700; line-height:1.45; overflow-wrap:anywhere; }
.ledger-profile-security { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 16px; border:1px solid var(--ledger-line); border-left:3px solid var(--ledger-accent); border-radius:4px; background:var(--ledger-soft); }
.ledger-profile-security p:last-child { margin:4px 0 0; color:var(--ledger-muted); font-size:9px; line-height:1.45; }
.ledger-profile-security button { display:inline-flex; align-items:center; gap:6px; flex:none; }
.ledger-profile-security button svg { width:14px; height:14px; }
.segmented { margin: 19px 0 9px; gap: 12px; }
.segmented button { font-size: 11px; font-weight: 700; padding: 8px 0; min-height: 0; }
.order-card { padding: 12px 0; }
.order-title { font-size: 12px; }
.order-meta .route, .order-meta .sender, .order-meta .due { font-size: 11px; }
.storage-table th, .storage-table td { padding: 11px 8px; }
.storage-table th { padding-top: 10px; padding-bottom: 10px; text-transform: uppercase; }
.storage-table .storage-col-name { width: 34%; }
.storage-table .storage-col-amount { width: 27%; }
.storage-table .storage-col-edit { width: 11%; }
.ledger-stock-details-row dl { gap: 13px 18px; }
#chatView .chat-message { padding: 9px 11px; border-radius: 9px 9px 9px 2px; }
#chatView .chat-message.mine { border-radius: 9px 9px 2px 9px; }
#chatView .team-chat-card { gap: 0; }
#chatView .team-chat-messages { padding-top: 12px; }
#chatView .team-chat-form { margin-top: 8px; }
#chatView .chat-day-label { font-size: 10px; }
.sheet-note, #teamChatNote { display: none; }
.view .topbar-actions button[data-refresh-notifications] { min-width: 32px; width: 32px; height: 32px; padding: 7px; display: grid; place-items: center; }
.view .topbar-actions button[data-refresh-notifications] svg { width: 15px; height: 15px; }
.ledger-chat-line { display: flex; align-items: flex-end; gap: 9px; margin: 0 0 14px; }
.ledger-chat-line.mine { flex-direction: row-reverse; }
.ledger-chat-avatar { flex: none; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--ledger-side); color: var(--ledger-ink); font-size: 10px; font-weight: 750; }
#chatView .ledger-chat-line .chat-message { width: auto; min-width: 0; max-width: min(78%, 370px); padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ledger-ink); }
#chatView .ledger-chat-line .chat-message.mine { margin: 0; background: transparent; color: var(--ledger-ink); }
.ledger-chat-byline { display: flex; align-items: baseline; gap: 7px; margin: 0 0 4px; }
.ledger-chat-line.mine .ledger-chat-byline { justify-content: flex-end; }
.ledger-chat-byline strong { font-size: 11px; }
.ledger-chat-byline span { color: var(--ledger-muted); font-size: 10px; }
#chatView .ledger-chat-line.mine .ledger-chat-byline span { color: var(--ledger-muted); }
.ledger-chat-bubble { background: var(--ledger-soft); border-radius: 9px 9px 9px 2px; padding: 9px 11px; }
.ledger-chat-line.mine .ledger-chat-bubble { background: var(--ledger-accent); color: var(--ledger-on-accent); border-radius: 9px 9px 2px 9px; }
#chatView .ledger-chat-line .chat-message p { margin: 0; font-size: 12px; font-weight: 500; line-height: 1.45; }
#chatView .ledger-chat-line.mine .chat-message p { color: var(--ledger-on-accent); }
#chatView .ledger-chat-line .chat-message-actions { margin-top: 3px; }
@media (max-width: 560px) {
  html, body { height: 100%; min-height: 0; overflow: hidden; overscroll-behavior: none; background: var(--ledger-side); }
  body { display: block; padding: 0; }
  .app-shell { --ledger-nav-lift: 16px; width: 100%; height: 100%; max-height: 100%; grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) auto; border: 0; border-radius: 0; box-shadow: none; }
  .ledger-sidebar { display: none; }
  .ledger-content { grid-row: 1; }
  .ledger-mobile-nav { display: flex; grid-row: 2; margin-bottom: var(--ledger-nav-lift); padding-bottom: max(40px, env(safe-area-inset-bottom)); }
  body.chat-keyboard-open .app-shell { position: fixed; top: var(--chat-viewport-top, 0px); left: 0; height: var(--chat-viewport-height, 100%); max-height: var(--chat-viewport-height, 100%); grid-template-rows: minmax(0, 1fr); }
  body.chat-keyboard-open .ledger-mobile-nav { display: none; }
  .app-header { padding: 11px 15px 0; gap: 9px; background: var(--ledger-side); border-bottom: 0; align-items: center; min-height: 0; }
  .app-shell:has(#homeView.active) .app-header { padding-bottom: 0; }
  .app-header .ledger-header-logo { display: block; font-size: 13px; }
  .app-header .header-left { flex-direction: row; align-items: center; }
  .app-header .app-brand h1 { font-size: 11px; max-width: 120px; }
  .app-header .menu-shell { display: block; position: relative; }
  .app-header .app-menu { position: absolute; top: calc(100% + 9px); left: auto; right: 0; width: min(218px, calc(100vw - 30px)); min-width: 0; max-width: none; max-height: calc(100svh - 115px); overflow-y: auto; }
  .app-header .today-chip { width: calc(100% + 30px); margin: 0 -15px; padding: 9px 15px; background: transparent; border-bottom: 1px solid var(--ledger-line); }
  .today-chip #todayLabel { display: block; font-size: 9px; min-width: 0; }
  .header-site-context { max-width:none; }
  .header-site-context > strong { font-size:9px; }
  .workspace { padding: 16px; overflow-y: scroll; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  #homeView.active { min-height: calc(100% + 48px); }
  .app-shell:not(:has(#homeView.active)) .workspace { padding-top: 16px; }
  .view h2 { font-size: 18px; }
  .ledger-mobile-nav button { font-size: 10px; min-height: 49px; }
  .ledger-page-header { align-items: center; }
  .ledger-page-header .primary-button { white-space: nowrap; }
  .storage-table table:has(.storage-col-edit) .storage-col-name { width: 46%; }
  .storage-table table:has(.storage-col-edit) .storage-col-amount { width: 39%; }
  .storage-table table:has(.storage-col-edit) .storage-col-edit { width: 15%; }
}

@media (max-width: 360px) {
  .today-chip #todayLabel { font-size: 8px; }
}

@media (min-width: 561px) and (max-width: 760px) {
  .ledger-content { grid-row: auto; }
  .ledger-mobile-nav { display: none; }
  .ledger-header-logo { display: none; }
}

#notificationsView .orders-sticky { position: sticky; top: -16px; z-index: 4; background: transparent; padding: 0 0 10px; }
#notificationsView .topbar { align-items: center; margin-bottom: 0; }
#notificationsView .topbar .primary-button { white-space: nowrap; }
#notificationsView .segmented { gap: 18px; margin: 15px 0 9px; }
#notificationsView .segmented button { padding: 7px 0; }
#notificationsView .orders-tools { display: flex; align-items: center; gap: 7px; }
#notificationsView .orders-tools .search-box { min-height: 34px; padding: 0 9px; gap: 8px; }
#notificationsView .orders-tools .search-box svg { width: 15px; height: 15px; flex: none; color: var(--ledger-muted); }
#notificationsView .orders-tools .search-box input { min-height: 32px; font-size: 11px; color: var(--ledger-ink); }
#notificationsView .orders-tools .icon-button { flex: none; width: 34px; min-width: 34px; height: 34px; padding: 7px; display: grid; place-items: center; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-muted); }
#notificationsView .orders-tools .icon-button svg { width: 16px; height: 16px; }

/* The chat keeps the Ledger header and composer stationary around one scrollable log. */
.workspace:has(#chatView.active) { padding: 0; }
#chatView.active { min-height: 0; }
#chatView .chat-header { display: flex; flex-direction: column; align-items: stretch; padding: 20px 23px 14px; margin: 0; border-bottom: 1px solid var(--ledger-line); background: transparent; }
#chatView .chat-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
#chatView .topbar .clear-chat-button { min-height: 0; padding: 5px 0; border: 0; background: transparent; color: var(--ledger-muted); }
#chatView .chat-current-day { display: flex; align-items: center; gap: 10px; margin-top: 14px; color: var(--ledger-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
#chatView .chat-current-day::before, #chatView .chat-current-day::after { content: ""; height: 1px; background: var(--ledger-line); flex: 1; }
#chatView .team-chat-card { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 0; }
#chatView .team-chat-messages { flex: 1; min-height: 0; display: block; overflow-y: auto; overscroll-behavior: contain; padding: 12px 23px; }
#chatView .chat-day { display: block; padding: 0; }
#chatView .chat-day + .chat-day { border-top: 1px dashed var(--ledger-line); margin-top: 18px; padding-top: 16px; }
#chatView .chat-day-label { display: none; }
#chatView .ledger-chat-line { margin-bottom: 14px; }
#chatView .ledger-chat-byline { justify-content: flex-start; }
#chatView .ledger-chat-line.mine .ledger-chat-byline { justify-content: flex-end; }
#chatView .ledger-chat-line .chat-message-actions { align-items: center; justify-content: flex-start; gap: 8px; margin-top: 3px; }
#chatView .ledger-chat-line.mine .chat-message-actions { justify-content: flex-end; }
#chatView .chat-message-tools { order: -1; }
#chatView .chat-reply-button, #chatView .chat-delete-button { min-width: 0; width: auto; height: auto; padding: 3px 0; border: 0; background: transparent; color: var(--ledger-muted); font-size: 11px; font-weight: 500; }
#chatView .chat-reactions { margin: 0; }
#chatView .chat-reactions button { min-height: 0; padding: 3px 2px; border: 0; background: none; color: var(--ledger-muted); font-size: 11px; }
#chatView .chat-reactions button { display: inline-flex; align-items: center; gap: 2px; min-width: 22px; min-height: 24px; justify-content: center; }
#chatView .chat-reactions button svg { width: 14px; height: 14px; stroke-width: 1.8; }
#chatView .chat-reactions button:hover { color: var(--ledger-ink); }
#chatView .chat-reactions button.active, #chatView .chat-message.mine .chat-reactions button.active { color: var(--ledger-link, var(--ledger-accent)); }
#chatView .chat-reactions button.active, #chatView .chat-message.mine .chat-reactions button.active { background: none; color: var(--ledger-accent); }
#chatView .chat-reactions .reaction-count { min-width: 0; padding: 0 2px; background: none; font-size: 10px; }
#chatView .chat-bottom { flex: none; position: relative; padding: 10px 23px 16px; border-top: 1px solid var(--ledger-line); background: transparent; }
#chatView .chat-reply-preview { margin-bottom: 8px; padding: 6px 9px; border-left-width: 2px; background: var(--ledger-soft); }
#chatView .chat-reply-preview strong, #chatView .chat-reply-preview span { display: block; font-size: 11px; font-weight: 600; line-height: 1.35; }
#chatView .chat-reply-preview button { align-self: center; color: var(--ledger-accent); font-size: 12px; }
#chatView .team-chat-form { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: end; gap: 8px; margin: 0; }
#chatView .chat-compose-field { display: grid; gap: 6px; min-width: 0; color: var(--ledger-muted); font-size: 11px; font-weight: 700; }
#chatView .team-chat-form .chat-compose-field input { grid-column: auto; width: 100%; min-height: 36px; padding: 7px 10px; font-size: 12px; }
#chatView .team-chat-form .primary-button { height: 36px; min-height: 36px; padding: 0 12px; }
#chatView .chat-notify-options { position: relative; }
#chatView .chat-notify-options summary { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-muted); cursor: pointer; list-style: none; }
#chatView .chat-notify-options summary::-webkit-details-marker { display: none; }
#chatView .chat-notify-options summary svg { width: 16px; height: 16px; }
#chatView .chat-notify-options:has(input:checked) summary, #chatView .chat-notify-options:has(.notify-target-button.active) summary { color: var(--ledger-accent); border-color: var(--ledger-accent); }
#chatView .chat-notify-popover { position: absolute; bottom: calc(100% + 8px); right: 0; z-index: 4; width: 180px; padding: 9px; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); box-shadow: 0 8px 20px #0002; }
#chatView .chat-notify-popover .notify-everyone-toggle { justify-content: flex-start; gap: 8px; min-height: 34px; }
#chatView .chat-notify-popover .notify-target-button { width: 100%; min-height: 32px; margin-top: 4px; }
#teamChatNote { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 760px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea { font-size: 16px !important; }
}
@media (max-width: 560px) {
  #chatView .chat-header { padding: 20px 16px 14px; }
  #chatView .team-chat-messages { padding: 12px 16px; }
  #chatView .chat-bottom { padding: 10px 16px 16px; }
  body.chat-keyboard-open #chatView .chat-bottom { padding-bottom: 10px; }
}
#notificationsView .orders-tools .icon-button:hover, #notificationsView .orders-tools .icon-button.active { background: var(--ledger-soft); color: var(--ledger-ink); }
#notificationBulkToolbar:not(.active) { display: none; }
#notificationBulkToolbar.active { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; padding: 0 0 10px; }
#notificationBulkToolbar span { flex: 1 1 auto; color: var(--ledger-muted); font-size: 11px; font-weight: 700; white-space: nowrap; }
#notificationBulkToolbar .bulk-apply { flex: none; width: auto; min-width: 0; min-height: 30px; padding: 6px 9px; font-size: 11px; }
#notificationBulkToolbar .bulk-apply.destructive:not(:disabled) { color: var(--ledger-danger); }
#notificationsView .order-board { display: block; }
#notificationsView .ledger-order-row:first-child { border-top: 1px solid var(--ledger-line); }
#notificationsView .ledger-order-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 12px; min-height: 76px; width: calc(100% + 46px); max-width: none; margin-inline: -23px; padding: 13px 23px; border: 0; border-bottom: 1px solid var(--ledger-line); border-radius: 0; background: transparent; box-shadow: none; color: var(--ledger-ink); }
#notificationsView .ledger-order-row:hover, #notificationsView .ledger-order-row:active, #notificationsView .ledger-order-row.bulk-selected, #notificationsView .ledger-order-row:focus-visible { background: transparent; box-shadow: inset 3px 0 var(--ledger-accent); }
#notificationsView .ledger-order-row.bulk-selectable { grid-template-columns: 18px minmax(0,1fr) auto; }
#notificationsView .ledger-order-row .bulk-check { position: static; width: 17px; height: 17px; margin-top: 1px; border: 1px solid var(--ledger-accent); border-radius: 3px; background: var(--ledger-panel); color: var(--ledger-accent); font-size: 12px; }
#notificationsView .ledger-order-row.bulk-selected .bulk-check { background: var(--ledger-accent); color: var(--ledger-on-accent); }
.ledger-order-main { display: grid; min-width: 0; gap: 4px; }
.ledger-order-route { display: block; font-size: 12px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.ledger-order-route b { font-size: 13px; font-weight: 800; }
.ledger-order-subject { display: -webkit-box; min-width: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--ledger-muted); font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.ledger-order-context { color: var(--ledger-muted); font-size: 10px; line-height: 1.3; overflow-wrap: anywhere; }
.ledger-order-context span { padding: 0 3px; }
.ledger-order-aside { display: grid; gap: 7px; justify-items: end; min-width: 48px; }
.ledger-order-status { display: inline-flex; align-items: center; gap: 5px; color: var(--ledger-link, var(--ledger-accent)); font-size: 10px; font-weight: 750; white-space: nowrap; }
.ledger-order-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ledger-order-status.read, .ledger-order-status.completed { color: var(--ledger-muted); }
.ledger-order-priority { color: var(--ledger-muted); font-size: 10px; font-weight: 700; }
.ledger-order-priority.urgent { color: var(--ledger-danger); }
.ledger-order-priority.high { color: var(--ledger-warning); }
@media (hover: none) {
  #notificationsView .ledger-order-row:hover:not(:active):not(.bulk-selected) { background: transparent; }
}
.ledger-home-row, .ledger-module-row { width: calc(100% + 46px); max-width: none; margin-inline: -23px; padding-inline: 23px; }
.storage-table { width: calc(100% + 46px); max-width: none; margin-inline: -23px; }
.storage-table th:first-child, .storage-table td:first-child { padding-left: 23px; }
.storage-table th:last-child, .storage-table td:last-child { padding-right: 23px; }
.storage-table th.storage-col-edit { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
@media (max-width: 560px) {
  #notificationsView .orders-sticky { top: -16px; }
  #notificationsView .ledger-order-row { gap: 8px; width: calc(100% + 32px); margin-inline: -16px; padding-inline: 16px; }
  #notificationsView .ledger-order-row.bulk-selectable { gap: 7px; }
  .ledger-home-row, .ledger-module-row, .storage-table { width: calc(100% + 32px); margin-inline: -16px; }
  .ledger-home-row, .ledger-module-row { padding-inline: 16px; }
  .storage-table th:first-child, .storage-table td:first-child { padding-left: 16px; }
  .storage-table th:last-child, .storage-table td:last-child { padding-right: 16px; }
  .storage-table th.storage-col-edit { padding-left: 2px; font-size: 9px; }
}

.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
#orderDetailView .ledger-detail-topbar { display: flex; align-items: center; justify-content: flex-start; gap: 11px; max-width: 760px; margin: 0 auto 20px; }
#orderDetailView .ledger-detail-topbar h2 { font-size: 14px; font-weight: 750; }
.ledger-detail-back { display: grid; flex: none; place-items: center; width: 31px; height: 31px; padding: 5px; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-ink); }
.ledger-detail-back svg { width: 17px; height: 17px; }
#orderDetailView .order-detail-page { max-width: 760px; margin: 0 auto; padding-bottom: 100px; }
#orderDetailView .ledger-order-detail { padding: 0; }
.ledger-detail-heading { padding-bottom: 17px; border-bottom: 1px solid var(--ledger-line); }
.ledger-detail-id { margin: 0 0 7px; color: var(--ledger-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
#orderDetailView .ledger-detail-heading h3 { margin: 0; color: var(--ledger-ink); font-size: 22px; font-weight: 750; line-height: 1.25; overflow-wrap: anywhere; }
.ledger-detail-heading h3 span { color: var(--ledger-muted); font-weight: 500; }
.ledger-detail-tags { display: flex; flex-wrap: wrap; gap: 9px 15px; margin-top: 11px; }
.ledger-detail-status, .ledger-detail-priority { display: inline-flex; align-items: center; gap: 6px; color: var(--ledger-muted); font-size: 11px; font-weight: 700; }
.ledger-detail-status::before { content: ""; width: 7px; height: 7px; flex: none; border-radius: 50%; background: currentColor; }
.ledger-detail-status.new { color: var(--ledger-link, var(--ledger-accent)); }
.ledger-detail-priority.urgent { color: var(--ledger-danger); }
.ledger-detail-priority.high { color: var(--ledger-warning); }
#orderDetailView h4 { margin: 0; color: var(--ledger-muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.ledger-detail-request { padding: 21px 0 4px; }
.ledger-request-list { list-style: none; display: grid; gap: 0; margin: 9px 0 0; padding: 0; }
.ledger-request-list li { display: flex; align-items: baseline; gap: 12px; min-width: 0; padding: 11px 0; border-top: 1px solid var(--ledger-line); color: var(--ledger-ink); font-size: 13px; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.ledger-request-list li:last-child { border-bottom: 1px solid var(--ledger-line); }
.ledger-request-count { flex: 0 0 27px; color: var(--ledger-link, var(--ledger-accent)); font-size: 16px; font-weight: 800; }
.ledger-request-message { margin: 10px 0 0; color: var(--ledger-ink); font-size: 14px; line-height: 1.5; }
.ledger-detail-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 21px; }
.ledger-detail-facts > div { display: grid; align-content: start; gap: 5px; min-width: 0; padding-bottom: 13px; border-bottom: 1px solid var(--ledger-line); }
.ledger-detail-facts span { color: var(--ledger-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.ledger-detail-facts strong { color: var(--ledger-ink); font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.ledger-detail-note, .ledger-detail-reply { margin-top: 24px; }
.ledger-detail-note p, .ledger-reply-text { margin: 9px 0 0; color: var(--ledger-ink); font-size: 12px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.ledger-detail-reply { padding-top: 18px; border-top: 1px solid var(--ledger-line); }
.ledger-detail-reply .edit-reply-button { width: 30px; height: 30px; min-height: 30px; }
.ledger-detail-reply .reply-form { gap: 8px; margin-top: 10px; }
.ledger-detail-reply .reply-form textarea { min-height: 82px; padding: 10px; border-color: var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-ink); font-size: 12px; }
.ledger-detail-reply .reply-form button { justify-self: start; }
.ledger-order-info { margin-top: 25px; padding: 13px 0; border-top: 1px solid var(--ledger-line); border-bottom: 1px solid var(--ledger-line); }
.ledger-order-info summary { color: var(--ledger-ink); font-size: 11px; font-weight: 700; cursor: pointer; }
.ledger-order-info dl { display: grid; gap: 9px; margin: 14px 0 2px; }
.ledger-order-info dl div { display: grid; grid-template-columns: 75px minmax(0, 1fr); gap: 12px; }
.ledger-order-info dt { color: var(--ledger-muted); font-size: 10px; }
.ledger-order-info dd { margin: 0; color: var(--ledger-ink); font-size: 11px; overflow-wrap: anywhere; }
.ledger-order-actionbar { position: absolute; left: 168px; right: 0; bottom: 0; z-index: 8; padding: 11px 23px; border-top: 1px solid var(--ledger-line); background: var(--ledger-paper); }
.ledger-order-actionbar-inner { display: flex; align-items: center; justify-content: flex-end; gap: 10px; max-width: 760px; margin: 0 auto; }
.ledger-order-actionbar .primary-button { flex: 1 1 auto; min-height: 39px; font-size: 12px; }
.ledger-order-more-actions { position: relative; flex: none; }
.ledger-order-more-actions summary { display: grid; place-items: center; min-height: 39px; padding: 0 12px; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-ink); font-size: 11px; font-weight: 700; cursor: pointer; list-style: none; white-space: nowrap; }
.ledger-order-more-actions summary::-webkit-details-marker { display: none; }
.ledger-order-more-actions .danger-button { position: absolute; right: 0; bottom: calc(100% + 8px); min-width: 175px; padding: 10px 12px; border-radius: 4px; background: var(--ledger-panel); box-shadow: 0 8px 22px rgba(0,0,0,.1); font-size: 11px; white-space: nowrap; }
@media (max-width: 760px) {
  .ledger-order-actionbar { left: 0; bottom: calc(55px + max(20px, env(safe-area-inset-bottom))); padding: 9px 16px; }
}
@media (max-width: 560px) {
  .ledger-order-actionbar { bottom: calc(55px + max(40px, env(safe-area-inset-bottom)) + var(--ledger-nav-lift)); }
}
@media (max-width: 560px) {
  #orderDetailView .ledger-detail-heading h3 { font-size: 19px; }
  .ledger-detail-facts { gap: 12px; }
}

.ledger-composer { width: min(calc(100% - 28px), 720px); height: min(calc(100svh - 32px), 680px); max-width: none; max-height: none; overflow: hidden; background: var(--ledger-paper); }
.ledger-composer form { display: flex; flex-direction: column; height: 100%; min-height: 0; padding: 0; }
.ledger-compose-header { display: flex; align-items: center; gap: 11px; flex: none; padding: 17px 22px; border-bottom: 1px solid var(--ledger-line); }
.ledger-compose-header h2 { margin: 0; color: var(--ledger-ink); font-size: 17px; line-height: 1.2; }
.ledger-compose-back { display: grid; flex: none; place-items: center; width: 32px; height: 32px; padding: 5px; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-ink); }
.ledger-compose-back svg { width: 17px; height: 17px; }
.order-flow-chooser { flex:1 1 auto; min-height:0; overflow-y:auto; padding:28px 22px; }
.order-flow-chooser[hidden],
#orderFlowForm[hidden],
#orderFlowActions[hidden] { display:none !important; }
.order-flow-intro { max-width:520px; }
.order-flow-intro h3 { margin:4px 0 7px; color:var(--ledger-ink); font-size:22px; }
.order-flow-intro > p:last-child { margin:0; color:var(--ledger-muted); font-size:11px; line-height:1.5; }
.order-flow-options { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin-top:22px; }
.order-flow-options button { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; min-width:0; padding:18px; border:1px solid var(--ledger-line); border-radius:13px; background:var(--ledger-panel); color:var(--ledger-ink); text-align:left; }
.order-flow-options button:hover { border-color:var(--ledger-accent); background:var(--ledger-soft); }
.order-flow-options button > svg:first-child { width:22px; height:22px; color:var(--ledger-accent); }
.order-flow-options button > svg:last-child { width:16px; height:16px; color:var(--ledger-muted); }
.order-flow-options button span { display:grid; gap:4px; min-width:0; }
.order-flow-options button strong { font-size:13px; }
.order-flow-options button small { color:var(--ledger-muted); font-size:10px; font-weight:600; line-height:1.4; }
.ledger-compose-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 22px 28px; }
.ledger-compose-section { padding: 20px 0; border-bottom: 1px solid var(--ledger-line); }
.ledger-compose-section h3 { margin: 0 0 12px; color: var(--ledger-muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.ledger-composer label { display: grid; align-content: start; gap: 6px; min-width: 0; color: var(--ledger-muted); font-size: 10px; font-weight: 700; }
.ledger-composer input, .ledger-composer select, .ledger-composer textarea { width: 100%; min-width: 0; min-height: 40px; padding: 9px 10px; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-ink); font-size: 12px; font-weight: 600; }
.ledger-composer textarea { min-height: 83px; resize: vertical; line-height: 1.4; }
.ledger-compose-route { display: grid; grid-template-columns: minmax(0,1fr) 16px minmax(0,1fr); align-items: end; gap: 9px; }
.inventory-source-field { margin-top:14px; }
.order-location-context { margin:8px 0 0; color:var(--ledger-muted); font-size:10px; font-weight:700; }
.ledger-movement-note { display:flex; align-items:flex-start; gap:9px; margin-top:16px; padding:12px; border:1px solid var(--ledger-line); border-radius:10px; background:var(--ledger-soft); color:var(--ledger-ink); }
.ledger-movement-note i { width:16px; height:16px; flex:none; color:var(--ledger-link, var(--ledger-accent)); }
.ledger-movement-note strong, .ledger-movement-note span { display:block; }
.ledger-movement-note strong { margin-bottom:2px; font-size:11px; }
.ledger-movement-note span { color:var(--ledger-muted); font-size:10px; line-height:1.4; }
.inventory-publish-panel { box-sizing:border-box; margin:14px 0 4px; padding:16px; overflow-anchor:none; border:1px solid var(--ledger-line); border-radius:12px; background:var(--ledger-soft); }
.inventory-publish-heading { display:grid; gap:12px; }
.inventory-publish-heading h3 { margin:0 0 4px; }
.inventory-publish-heading p, .inventory-publish-settings > p { margin:0; color:var(--ledger-muted); font-size:10px; line-height:1.45; }
.inventory-publish-title-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.inventory-publish-title-row h3 { margin:0; }
.catalogue-demo-link { display:inline-flex; align-items:center; gap:5px; flex:none; min-height:28px; padding:4px 8px; border:1px solid var(--ledger-line); border-radius:7px; background:var(--ledger-panel); color:var(--ledger-link, var(--ledger-accent)); font-size:10px; font-weight:800; }
.catalogue-demo-link svg { width:14px; height:14px; }
.inventory-publish-toggle { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; color:var(--ledger-ink); font-size:11px; font-weight:800; cursor:pointer; }
.ledger-composer .inventory-publish-toggle input[type="checkbox"] { display:grid; flex:0 0 auto; place-content:center; width:34px; min-width:34px; height:20px; min-height:20px; margin:0; padding:2px; appearance:none; border:1px solid var(--ledger-line); border-radius:999px; background:var(--ledger-paper); box-shadow:none; cursor:pointer; transition:background .16s ease, border-color .16s ease; }
.ledger-composer .inventory-publish-toggle input[type="checkbox"]::before { width:14px; height:14px; content:""; border-radius:50%; background:var(--ledger-muted); transform:translateX(-7px); transition:transform .16s ease, background .16s ease; }
.ledger-composer .inventory-publish-toggle input[type="checkbox"]:checked { border-color:var(--ledger-accent); background:var(--ledger-accent); }
.ledger-composer .inventory-publish-toggle input[type="checkbox"]:checked::before { background:#fff; transform:translateX(7px); }
.ledger-composer .inventory-publish-toggle input[type="checkbox"]:focus-visible { outline:2px solid var(--ledger-accent); outline-offset:2px; }
.inventory-publish-settings { margin-top:14px; padding-top:14px; border-top:1px solid var(--ledger-line); }
.inventory-publish-settings label > small { color:var(--ledger-muted); font-size:9px; font-weight:600; line-height:1.35; }
.inventory-field-label { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.inventory-field-label small { color:var(--ledger-muted); font-size:8px; font-weight:650; text-transform:none; }
.inventory-publish-optional { margin-top:12px; border:1px solid var(--ledger-line); border-radius:9px; background:var(--ledger-paper); overflow:hidden; }
.inventory-publish-optional summary { padding:11px 12px; color:var(--ledger-accent); font-size:10px; font-weight:800; cursor:pointer; }
.inventory-publish-optional[open] summary { border-bottom:1px solid var(--ledger-line); }
.inventory-publish-optional .inventory-form-grid { padding:12px; }
.inventory-publish-settings > p { margin-top:11px; padding-top:10px; border-top:1px solid var(--ledger-line); }
.production-tracking-option { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:10px; margin-top:8px; padding:11px 12px; border:1px solid var(--ledger-line); border-radius:10px; background:var(--ledger-soft); cursor:pointer; }
.ledger-composer .production-tracking-option input[type="checkbox"] { width:17px; min-width:17px; height:17px; min-height:17px; margin:1px 0 0; padding:0; accent-color:var(--ledger-accent); }
.production-tracking-option > span { display:grid; gap:2px; }
.production-tracking-option strong { color:var(--ledger-ink); font-size:10px; }
.production-tracking-option small { color:var(--ledger-muted); font-size:9px; font-weight:600; line-height:1.4; }
.inventory-company-badge { display:inline-flex; align-items:center; margin-top:5px; padding:2px 6px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-link, var(--ledger-accent)); font-size:8px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.inventory-edit-item { margin-top:12px; }
.ledger-compose-arrow { align-self: end; padding-bottom: 10px; color: var(--ledger-ink); font-size: 15px; font-weight: 800; text-align: center; }
.ledger-compose-types { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--ledger-line); }
.ledger-compose-types button { min-height: 35px; padding: 6px 12px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--ledger-muted); font-size: 12px; font-weight: 700; }
.ledger-compose-types button[aria-pressed="true"] { border-bottom-color: var(--ledger-link, var(--ledger-accent)); color: var(--ledger-ink); }
.ledger-compose-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 17px; }
.ledger-compose-request > label { margin-top: 3px; }
.ledger-composer .item-list-input { display: grid; gap: 0; min-height: 40px; padding: 0; border: 0; background: transparent; }
.ledger-composer .item-list-input input { min-height: 40px; border: 1px solid var(--ledger-line); padding: 9px 10px; }
.ledger-composer .item-list-input input:focus { outline: 2px solid var(--ledger-accent); outline-offset: 1px; }
.ledger-composer .item-chip-list { display: grid; gap: 0; }
.ledger-composer .item-chip { display: flex; justify-content: space-between; width: 100%; min-height: 35px; padding: 8px 2px; border: 0; border-bottom: 1px solid var(--ledger-line); border-radius: 0; background: transparent; color: var(--ledger-ink); font-size: 12px; font-weight: 650; }
.ledger-composer .item-chip button { flex: none; color: var(--ledger-muted); font-size: 14px; }
.ledger-composer .storage-order-field { display: grid; grid-template-columns: 1fr; align-items: stretch; gap: 13px; }
.ledger-composer .storage-order-search, .ledger-composer .storage-order-list, .ledger-composer .storage-order-note { grid-column: auto; }
.storage-order-choices { display:grid; gap:7px; }
#storageOrderQuantityPanel[hidden] { display:none !important; }
.storage-order-choice { overflow:hidden; border:1px solid var(--ledger-line); border-radius:9px; background:var(--ledger-panel); }
.storage-order-choice.selected { border-color:var(--ledger-accent); background:var(--ledger-soft); }
.storage-order-choice-main { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:11px 12px; border:0; border-radius:0; background:transparent; color:var(--ledger-ink); text-align:left; }
.storage-order-choice-main:hover:not(:disabled) { background:var(--ledger-soft); }
.storage-order-choice-main:disabled { opacity:.55; cursor:not-allowed; }
.storage-order-choice-main span { display:grid; gap:3px; min-width:0; }
.storage-order-choice-main strong { font-size:11px; }
.storage-order-choice-main small { color:var(--ledger-muted); font-size:9px; font-weight:650; }
.storage-order-choice-main svg { flex:none; width:16px; height:16px; color:var(--ledger-accent); }
.storage-order-inline-qty { display:flex; align-items:center; justify-content:flex-end; gap:9px; padding:8px 10px; border-top:1px solid var(--ledger-line); }
.storage-order-inline-qty strong { min-width:76px; color:var(--ledger-ink); font-size:10px; text-align:center; }
.storage-order-inline-qty button { display:grid; place-items:center; width:29px; height:29px; padding:0; border:1px solid var(--ledger-line); border-radius:6px; background:var(--ledger-paper); color:var(--ledger-accent); font-size:16px; font-weight:800; }
.storage-order-inline-qty button:disabled { opacity:.35; cursor:not-allowed; }
.storage-order-empty { margin:0; padding:12px; border:1px dashed var(--ledger-line); border-radius:9px; color:var(--ledger-muted); font-size:10px; text-align:center; }
.storage-order-show-more { justify-self:start; padding:5px 0; border:0; background:transparent; color:var(--ledger-accent); font-size:10px; font-weight:800; }
.storage-order-show-more[hidden] { display:none !important; }
.ledger-compose-quantity { display: grid; grid-template-columns: 90px minmax(90px,1fr) auto; align-items: end; gap: 10px; }
.ledger-compose-quantity:not(:has(.storage-order-unit:not(.hidden))) { grid-template-columns: 90px auto; justify-content: start; }
.ledger-compose-quantity button { min-height: 40px; padding-inline: 14px; white-space: nowrap; }
.ledger-compose-details { border-bottom: 0; }
.ledger-compose-details label { position: relative; }
.ledger-compose-details label span { position: absolute; right: 0; top: 0; color: var(--ledger-muted); font-size: 10px; font-weight: 500; }
.ledger-composer .dialog-actions { display: flex; flex: none; align-items: center; gap: 14px; position: static; margin: 0; padding: 12px 22px; border-top: 1px solid var(--ledger-line); background: var(--ledger-paper); }
.ledger-composer .dialog-actions p { flex: 1 1 auto; min-width: 0; margin: 0; color: var(--ledger-muted); font-size: 11px; font-weight: 650; overflow-wrap: anywhere; }
.ledger-composer .dialog-actions button { flex: none; min-width: 132px; min-height: 40px; }
.ledger-composer .dialog-actions button:disabled { opacity:.45; cursor:not-allowed; }
.order-review-dialog { width:min(calc(100% - 32px), 420px); max-width:none; padding:0; overflow:hidden; border:1px solid var(--ledger-line); border-radius:14px; background:var(--ledger-paper); color:var(--ledger-ink); box-shadow:0 24px 60px rgba(12,31,25,.24); }
.order-review-dialog::backdrop { background:rgba(12,31,25,.32); }
.order-review-card > header { padding:20px 20px 16px; border-bottom:1px solid var(--ledger-line); }
.order-review-card h2 { margin:4px 0 6px; font-size:20px; }
.order-review-card header > p:last-child { margin:0; color:var(--ledger-muted); font-size:10px; font-weight:700; }
.order-review-body { padding:8px 20px 16px; }
.order-review-body ul { list-style:none; margin:0; padding:0; }
.order-review-body li { display:flex; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px solid var(--ledger-line); font-size:11px; }
.order-review-body li strong { font-weight:800; }
.order-review-body li span { color:var(--ledger-muted); font-weight:700; text-align:right; }
.order-review-meta { display:flex; justify-content:space-between; gap:12px; margin-top:14px; color:var(--ledger-muted); font-size:9px; font-weight:750; text-transform:uppercase; }
.order-review-note { margin:12px 0 0; padding:10px; border-radius:8px; background:var(--ledger-soft); color:var(--ledger-ink); font-size:10px; line-height:1.4; }
.order-review-card > footer { display:flex; gap:10px; padding:14px 20px; border-top:1px solid var(--ledger-line); }
.order-review-card > footer button { flex:1 1 0; min-height:40px; }
.company-catalogue-demo-dialog { width:min(calc(100% - 20px), 460px); height:min(calc(100svh - 20px), 780px); max-width:none; max-height:none; padding:0; overflow:hidden; border:1px solid var(--ledger-line); border-radius:16px; background:var(--ledger-paper); color:var(--ledger-ink); box-shadow:0 24px 70px rgba(12,31,25,.28); }
.company-catalogue-demo-dialog::backdrop { background:rgba(12,31,25,.46); backdrop-filter:blur(2px); }
.company-catalogue-demo-card { display:flex; flex-direction:column; height:100%; margin:0; }
.company-catalogue-demo-card > header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 18px 14px; border-bottom:1px solid var(--ledger-line); }
.company-catalogue-demo-card > header .eyebrow { margin:0 0 4px; color:var(--ledger-muted); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.company-catalogue-demo-card > header h2 { margin:0; font-size:18px; }
.catalogue-demo-stage { display:grid; grid-template-rows:auto minmax(0,1fr); gap:8px; flex:1 1 auto; min-height:0; overflow:hidden; padding:14px 18px 10px; }
.catalogue-demo-visual { display:flex; flex-direction:column; justify-content:flex-start; min-width:0; min-height:0; height:100%; overflow:hidden; padding:14px; border:1px solid var(--ledger-line); border-radius:12px; background:var(--ledger-soft); }
.catalogue-demo-caption { min-height:0; padding:0 0 10px; }
.catalogue-demo-caption > span { color:var(--ledger-link, var(--ledger-accent)); font-size:9px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.catalogue-demo-caption h3 { margin:5px 0 5px; font-size:16px; }
.catalogue-demo-caption p { margin:0; color:var(--ledger-muted); font-size:12px; line-height:1.5; }
.catalogue-demo-panel { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px; border:1px solid var(--ledger-line); border-radius:9px; background:var(--ledger-panel); font-size:12px; font-weight:800; }
.catalogue-demo-switch { display:flex; align-items:center; justify-content:flex-end; width:38px; height:22px; padding:3px; border-radius:999px; background:var(--ledger-accent); }
.catalogue-demo-switch i { width:16px; height:16px; border-radius:50%; background:white; }
.catalogue-demo-options { display:grid; gap:8px; }
.catalogue-demo-options span { display:flex; align-items:center; gap:9px; padding:11px; border:1px solid var(--ledger-line); border-radius:8px; background:var(--ledger-panel); font-size:11px; font-weight:750; }
.catalogue-demo-options span.active { border-color:var(--ledger-accent); background:var(--ledger-panel); color:var(--ledger-accent); box-shadow:inset 3px 0 0 var(--ledger-accent); }
.catalogue-demo-product { display:grid; grid-template-columns:auto 1fr; gap:9px 11px; align-items:center; padding:12px; border:1px solid var(--ledger-line); border-radius:9px; background:var(--ledger-panel); }
.catalogue-demo-product-icon { display:grid; place-items:center; grid-row:1 / 3; width:34px; height:34px; border-radius:8px; background:var(--ledger-soft); color:var(--ledger-accent); }
.catalogue-demo-product span:nth-child(2) { display:grid; gap:2px; }
.catalogue-demo-product strong { font-size:12px; }
.catalogue-demo-product small { color:var(--ledger-muted); font-size:9px; }
.catalogue-demo-product em { grid-column:2; color:var(--ledger-accent); font-size:9px; font-style:normal; font-weight:800; }
.catalogue-demo-order { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:12px; border:1px solid var(--ledger-line); border-radius:9px; background:var(--ledger-panel); }
.catalogue-demo-order span { display:grid; gap:2px; }
.catalogue-demo-order b { font-size:12px; }
.catalogue-demo-order small { color:var(--ledger-muted); font-size:9px; }
.catalogue-demo-order svg { color:var(--ledger-accent); }
.catalogue-demo-private { display:flex; align-items:center; gap:6px; margin-top:9px; color:var(--ledger-muted); font-size:9px; font-weight:700; }
.catalogue-demo-private svg { width:12px; height:12px; }
.catalogue-demo-full-screen { position:relative; display:grid; gap:10px; }
.catalogue-demo-screen-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:12px; border:1px solid transparent; border-radius:9px; }
.catalogue-demo-screen-heading > span { display:grid; gap:3px; }
.catalogue-demo-screen-heading strong { font-size:14px; }
.catalogue-demo-screen-heading small { max-width:245px; color:var(--ledger-muted); font-size:9px; line-height:1.4; }
.catalogue-demo-screen-heading em { display:flex; align-items:center; gap:4px; padding:5px 7px; border-radius:99px; background:var(--ledger-panel); color:var(--ledger-accent); font-size:8px; font-style:normal; font-weight:850; white-space:nowrap; }
.catalogue-demo-screen-heading em svg { width:11px; height:11px; }
.catalogue-demo-purpose { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:7px; padding:10px; border:1px solid var(--ledger-line); border-radius:9px; background:var(--ledger-panel); }
.catalogue-demo-purpose > span:not(.catalogue-demo-purpose-route) { display:grid; gap:2px; min-width:0; }
.catalogue-demo-purpose > span:last-child { text-align:right; }
.catalogue-demo-purpose small { color:var(--ledger-muted); font-size:6px; font-weight:850; letter-spacing:.07em; }
.catalogue-demo-purpose strong { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.catalogue-demo-purpose-route { display:flex; align-items:center; gap:4px; color:var(--ledger-accent); }
.catalogue-demo-purpose-route svg { flex:none; width:11px; height:11px; }
.catalogue-demo-purpose-route b { max-width:58px; font-size:7px; line-height:1.15; text-align:center; }
.catalogue-demo-purpose-explainer { display:flex; align-items:flex-start; gap:9px; padding:12px; border:1px solid color-mix(in srgb,var(--ledger-accent) 34%,var(--ledger-line)); border-radius:9px; background:var(--ledger-panel); }
.catalogue-demo-purpose-explainer > svg { flex:none; width:17px; height:17px; color:var(--ledger-accent); }
.catalogue-demo-purpose-explainer span { display:grid; gap:4px; }
.catalogue-demo-purpose-explainer strong { font-size:10px; line-height:1.3; }
.catalogue-demo-purpose-explainer small { color:var(--ledger-muted); font-size:8px; line-height:1.45; }
.catalogue-demo-scene-0 .catalogue-demo-settings { display:none; }
.catalogue-demo-field { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; border:1px solid var(--ledger-line); border-radius:8px; background:var(--ledger-panel); }
.catalogue-demo-field > span:first-child { display:grid; gap:2px; }
.catalogue-demo-field strong { font-size:11px; }
.catalogue-demo-field small { color:var(--ledger-muted); font-size:9px; font-weight:600; line-height:1.35; }
.catalogue-demo-field strong small { display:inline; font-size:8px; font-weight:650; }
.catalogue-demo-field > b { display:flex; align-items:center; gap:3px; color:var(--ledger-ink); font-size:10px; white-space:nowrap; }
.catalogue-demo-field > b svg { width:12px; height:12px; }
.catalogue-demo-settings { display:grid; gap:8px; opacity:.28; filter:grayscale(.6); transition:opacity .2s ease, filter .2s ease; }
.catalogue-demo-settings.is-visible { opacity:1; filter:none; }
.catalogue-demo-switch { display:flex; align-items:center; justify-content:flex-start; flex:none; width:38px; height:22px; padding:3px; border-radius:999px; background:var(--ledger-line); transition:background .2s ease; }
.catalogue-demo-switch.on { justify-content:flex-end; background:var(--ledger-accent); }
.catalogue-demo-switch i { width:16px; height:16px; border-radius:50%; background:white; box-shadow:0 1px 3px #0002; }
.catalogue-demo-select-options { position:absolute; z-index:3; top:calc(100% + 4px); right:8px; width:215px; padding:5px; border:1px solid var(--ledger-line); border-radius:8px; background:var(--ledger-panel); box-shadow:0 10px 24px #10282026; opacity:0; visibility:hidden; transform:translateY(-5px); transition:opacity .35s ease, transform .35s ease, visibility .35s; }
.catalogue-demo-select-options > span { position:relative; display:grid; gap:2px; padding:9px 26px 9px 9px; border-radius:6px; font-size:10px; font-weight:800; }
.catalogue-demo-select-options > span > svg:first-child { position:static; grid-row:1 / 3; width:13px; height:13px; margin-right:3px; }
.catalogue-demo-select-options > span.selected { background:var(--ledger-soft); color:var(--ledger-accent); }
.catalogue-demo-select-options svg { position:absolute; top:8px; right:7px; width:11px; height:11px; }
.catalogue-demo-rules { display:grid; gap:9px; padding:12px; border:1px solid var(--ledger-line); border-radius:8px; background:var(--ledger-panel); }
.catalogue-demo-rules > strong { display:flex; align-items:center; justify-content:space-between; font-size:11px; }
.catalogue-demo-rules > strong svg { width:12px; height:12px; }
.catalogue-demo-rules > div { display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; }
.catalogue-demo-rules > div span { display:grid; gap:4px; padding:8px; border:1px solid var(--ledger-line); border-radius:6px; }
.catalogue-demo-rules small { color:var(--ledger-muted); font-size:8px; }
.catalogue-demo-rules b { font-size:10px; }
.catalogue-demo-privacy { display:flex; align-items:center; gap:8px; padding:9px 11px; color:var(--ledger-muted); }
.catalogue-demo-privacy svg { flex:none; width:12px; height:12px; }
.catalogue-demo-privacy span { display:grid; gap:1px; }
.catalogue-demo-privacy strong { color:var(--ledger-ink); font-size:10px; }
.catalogue-demo-privacy small { font-size:8px; }
.catalogue-demo-dynamic { position:relative; min-height:132px; }
.catalogue-demo-generic, .catalogue-demo-methods, .catalogue-demo-results { position:absolute; inset:0; transition:opacity .55s ease, transform .55s ease; }
.catalogue-demo-generic { display:grid; gap:8px; opacity:1; transform:none; }
.catalogue-demo-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:3px; border:1px solid transparent; border-radius:10px; opacity:0; transform:translateX(10px); }
.catalogue-demo-methods article { display:grid; align-content:start; gap:5px; min-width:0; padding:11px; border:1px solid var(--ledger-line); border-radius:8px; background:var(--ledger-panel); }
.catalogue-demo-methods article > svg { width:16px; height:16px; color:var(--ledger-accent); }
.catalogue-demo-methods strong { font-size:10px; line-height:1.25; }
.catalogue-demo-methods small { color:var(--ledger-muted); font-size:8px; line-height:1.35; }
.catalogue-demo-methods b { margin-top:auto; color:var(--ledger-accent); font-size:8px; }
.catalogue-demo-results { box-sizing:border-box; display:grid; gap:6px; width:100%; max-width:100%; overflow:hidden; padding:3px; border:1px solid transparent; border-radius:10px; opacity:0; transform:translateX(10px); }
.catalogue-demo-results > header { display:grid; gap:2px; padding:3px 4px 5px; }
.catalogue-demo-results > header small { color:var(--ledger-accent); font-size:6px; font-weight:850; letter-spacing:.07em; }
.catalogue-demo-results > header strong { font-size:10px; }
.catalogue-demo-results > header span { color:var(--ledger-muted); font-size:7px; }
.catalogue-demo-result { box-sizing:border-box; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:7px; width:100%; min-width:0; padding:7px; border:1px solid var(--ledger-line); border-radius:8px; background:var(--ledger-panel); }
.catalogue-demo-result-icon { display:grid; place-items:center; width:30px; height:30px; border-radius:7px; background:var(--ledger-soft); color:var(--ledger-accent); }
.catalogue-demo-result-icon svg { width:15px; height:15px; }
.catalogue-demo-result > span:nth-child(2) { display:grid; min-width:0; gap:1px; }
.catalogue-demo-result small { color:var(--ledger-muted); font-size:6px; font-weight:850; letter-spacing:.06em; }
.catalogue-demo-result strong { font-size:9px; }
.catalogue-demo-result em { color:var(--ledger-muted); font-size:7px; font-style:normal; }
.catalogue-demo-result button { min-height:25px; padding:3px 8px; border:0; border-radius:6px; background:var(--ledger-accent); color:white; font-size:8px; font-weight:800; }
.catalogue-demo-full-screen .is-highlighted { border-color:var(--ledger-accent); box-shadow:0 0 0 2px color-mix(in srgb, var(--ledger-accent) 16%, transparent); }
.catalogue-demo-scene-2 .catalogue-demo-select-options { opacity:1; visibility:visible; transform:none; }
.catalogue-demo-scene-3 .catalogue-demo-generic, .catalogue-demo-scene-4 .catalogue-demo-generic { opacity:0; transform:translateX(-10px); }
.catalogue-demo-scene-3 .catalogue-demo-methods { opacity:1; transform:none; border-color:var(--ledger-accent); box-shadow:0 0 0 2px color-mix(in srgb, var(--ledger-accent) 16%, transparent); }
.catalogue-demo-scene-4 .catalogue-demo-results { opacity:1; transform:none; border-color:var(--ledger-accent); box-shadow:0 0 0 2px color-mix(in srgb, var(--ledger-accent) 16%, transparent); }
.catalogue-demo-scene-1 .catalogue-demo-settings { display:none; }
.catalogue-demo-scene-2 .catalogue-demo-publish, .catalogue-demo-scene-2 .catalogue-demo-dynamic { display:none; }
.catalogue-demo-scene-2 .catalogue-demo-privacy { margin-top:122px; }
.catalogue-demo-scene-3 .catalogue-demo-publish, .catalogue-demo-scene-3 .catalogue-demo-fulfilment { display:none; }
.catalogue-demo-scene-4 .catalogue-demo-screen-heading, .catalogue-demo-scene-4 .catalogue-demo-purpose, .catalogue-demo-scene-4 .catalogue-demo-publish, .catalogue-demo-scene-4 .catalogue-demo-fulfilment { display:none; }
.catalogue-demo-scene-4 .catalogue-demo-dynamic { min-height:145px; }
.catalogue-demo-touch { position:absolute; z-index:8; display:block; width:24px; height:24px; border:2px solid white; border-radius:50%; background:color-mix(in srgb,var(--ledger-accent) 78%,transparent); box-shadow:0 3px 10px #0004; opacity:0; pointer-events:none; }
.catalogue-demo-touch::after { position:absolute; inset:-7px; content:""; border:1px solid var(--ledger-accent); border-radius:50%; opacity:0; }
.catalogue-demo-touch i { position:absolute; inset:6px; border-radius:50%; background:white; }
.catalogue-demo-scene-0 .catalogue-demo-touch { top:88px; left:50%; opacity:1; animation:catalogue-demo-tap 1.1s ease-in-out infinite; }
.catalogue-demo-scene-1 .catalogue-demo-touch { top:142px; right:13px; opacity:1; animation:catalogue-demo-tap 1.1s ease-in-out infinite; }
.catalogue-demo-scene-2 .catalogue-demo-touch { top:175px; right:43px; opacity:1; animation:catalogue-demo-select 2.4s ease-in-out infinite; }
.catalogue-demo-scene-3 .catalogue-demo-touch { top:150px; left:23%; opacity:1; animation:catalogue-demo-compare 3s ease-in-out infinite; }
.catalogue-demo-scene-4 .catalogue-demo-touch { top:55px; right:12px; opacity:1; animation:catalogue-demo-tap 1.1s ease-in-out infinite; }
@keyframes catalogue-demo-tap { 0%,100% { transform:scale(1); } 45% { transform:scale(.78); } 55% { transform:scale(.78); } }
@keyframes catalogue-demo-select { 0%,22% { transform:translateY(-42px); } 55%,100% { transform:translateY(30px); } }
@keyframes catalogue-demo-compare { 0%,25% { transform:translateX(0); } 60%,100% { transform:translateX(145px); } }
.catalogue-demo-progress { height:3px; margin:0 18px; overflow:hidden; border-radius:99px; background:var(--ledger-line); }
.catalogue-demo-progress span { display:block; width:25%; height:100%; border-radius:inherit; background:var(--ledger-accent); transition:width .25s ease; }
.company-catalogue-demo-card > footer { display:flex; justify-content:flex-end; gap:10px; padding:14px 18px 18px; }
.company-catalogue-demo-card > footer button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:104px; min-height:38px; }
@media (max-width: 560px) {
  .ledger-composer { width: 100%; height: 100svh; max-height: 100svh; margin: 0; border: 0; border-radius: 0; }
  .ledger-compose-header { padding: 14px 16px; }
  .order-flow-chooser { padding:24px 16px; }
  .order-flow-options { grid-template-columns:1fr; }
  .ledger-compose-scroll { padding: 0 16px 26px; }
  .ledger-composer .dialog-actions { padding: 10px 16px max(10px, env(safe-area-inset-bottom)); }
  .ledger-composer .dialog-actions button { min-width: 120px; }
  .order-review-dialog { width:calc(100% - 28px); }
  .company-catalogue-demo-dialog { width:calc(100% - 16px); height:calc(100svh - 16px); }
  .company-catalogue-demo-card > header { padding:11px 14px 9px; }
  .catalogue-demo-stage { gap:6px; padding:8px 14px 5px; }
  .catalogue-demo-visual { min-height:0; padding:10px; }
  .catalogue-demo-caption { min-height:0; padding:0 0 7px; }
  .catalogue-demo-caption h3 { margin:3px 0; font-size:15px; }
  .catalogue-demo-caption p { font-size:10px; line-height:1.4; }
  .company-catalogue-demo-card > footer { padding:8px 14px 10px; }
  .company-catalogue-demo-card > footer button { min-height:34px; }
}

.storage-table .edit-storage-button { display: grid; place-items: center; width: 34px; min-width: 34px; height: 34px; min-height: 34px; padding: 0; margin: auto; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-link, var(--ledger-accent)); }
.storage-table .edit-storage-button:hover { background: var(--ledger-soft); border-color: var(--ledger-link, var(--ledger-accent)); }
.storage-table .edit-storage-button svg { width: 16px; height: 16px; stroke-width: 1.8; }
@media (min-width: 761px) {
  .catalogue-demo-scene-2 .catalogue-demo-privacy { margin-top:86px; }
  .catalogue-demo-scene-2 .catalogue-demo-select-options { width:240px; }
  #wineTable table { min-width: 1650px; }
  #foodTable table { min-width: 1150px; }
  .storage-table th, .storage-table td { overflow-wrap: anywhere; white-space: normal; vertical-align: top; }
  .storage-table .storage-col-name { width: 250px; min-width: 250px; max-width: 250px; }
  .storage-table .storage-col-amount { width: 170px; min-width: 170px; max-width: 170px; }
  .storage-table .storage-col-edit { width: 64px; min-width: 64px; max-width: 64px; }
  .storage-table .storage-col-name, .storage-table .storage-col-amount { position: sticky; z-index: 1; background: var(--ledger-paper); }
  .storage-table .storage-col-name { left: 0; }
  .storage-table .storage-col-amount { left: 250px; }
  .storage-table th.storage-col-name, .storage-table th.storage-col-amount { z-index: 2; }
}
.ledger-storage-editor { width: min(calc(100% - 28px), 720px); height: min(calc(100svh - 32px), 680px); max-width: none; max-height: none; padding: 0; overflow: hidden; background: var(--ledger-paper); }
.ledger-storage-editor form { display: flex; flex-direction: column; height: 100%; min-height: 0; padding: 0; }
.ledger-storage-editor .ledger-compose-header { align-items: center; }
.ledger-storage-editor .ledger-compose-header > div { min-width: 0; }
.ledger-storage-editor .ledger-compose-header .eyebrow { margin: 0 0 4px; color: var(--ledger-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.ledger-storage-editor .ledger-compose-header h2 { font-size: 17px; font-weight: 750; line-height: 1.25; overflow-wrap: anywhere; }
.ledger-storage-editor-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 22px 28px; }
.ledger-storage-current { display: grid; gap: 4px; padding: 14px 0; margin: 18px 0 0; border-top: 1px solid var(--ledger-line); border-bottom: 1px solid var(--ledger-line); }
.ledger-storage-current span, .ledger-storage-edit-section h3 { color: var(--ledger-muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.ledger-storage-current strong { color: var(--ledger-ink); font-size: 18px; font-weight: 750; line-height: 1.25; }
.ledger-storage-current small { color: var(--ledger-muted); font-size: 11px; }
.ledger-storage-editor .storage-editor-fields { display: block; padding: 0; }
.ledger-storage-edit-section { padding: 20px 0; border-bottom: 1px solid var(--ledger-line); }
.ledger-storage-edit-section:last-child { border-bottom: 0; }
.ledger-storage-edit-section h3 { margin: 0 0 13px; }
.ledger-storage-edit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 14px; }
.ledger-storage-edit-grid label { display: grid; align-content: start; min-width: 0; gap: 6px; color: var(--ledger-muted); font-size: 10px; font-weight: 700; }
.ledger-storage-edit-grid label > span { overflow-wrap: anywhere; }
.ledger-storage-edit-grid input { width: 100%; min-width: 0; min-height: 40px; padding: 9px 10px; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-ink); font-size: 12px; font-weight: 600; }
.ledger-storage-editor .wine-stock-editor { grid-column: 1 / -1; padding: 0; border: 0; border-radius: 0; background: transparent; gap: 12px 14px; }
.ledger-storage-editor .wine-stock-buttons { display: flex; gap: 8px; }
.ledger-storage-editor .wine-stock-buttons button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; flex: 1; min-height: 35px; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-ink); font-size: 11px; font-weight: 700; }
.ledger-storage-editor .wine-stock-buttons svg { width: 14px; height: 14px; }
.ledger-storage-editor .dialog-actions { display: flex; align-items: center; gap: 12px; position: static; flex: none; margin: 0; padding: 12px 22px; border-top: 1px solid var(--ledger-line); background: var(--ledger-paper); }
.ledger-storage-editor .dialog-actions .form-note { flex: 1 1 auto; margin: 0; color: var(--ledger-muted); font-size: 11px; font-weight: 600; }
.ledger-storage-editor .dialog-actions button { flex: none; min-width: 106px; min-height: 40px; }
@media (max-width: 560px) {
  .ledger-storage-editor { width: 100%; height: 100svh; max-height: 100svh; margin: 0; border: 0; border-radius: 0; }
  .ledger-storage-editor-scroll { padding: 0 16px 26px; }
  .ledger-storage-edit-grid { grid-template-columns: 1fr; }
  .ledger-storage-editor .dialog-actions { padding: 10px 16px max(10px, env(safe-area-inset-bottom)); }
  .ledger-storage-editor .dialog-actions button { min-width: 82px; }
  .ledger-storage-editor .dialog-actions .ghost-button { border: 0; background: transparent; padding-inline: 4px; }
  .ledger-composer input, .ledger-composer select, .ledger-composer textarea,
  .ledger-storage-edit-grid input { font-size: 16px; }
}

/* Management pages share Ledger's unframed, scan-friendly rows. */
#permissionsView .topbar, #statisticsView .topbar, #reportsView .topbar { margin-bottom: 20px; }
.ledger-permissions-head, #permissionsView .permission-row { display: grid; grid-template-columns: minmax(0,1fr) 124px; align-items: center; gap: 12px; }
.ledger-permissions-head { padding: 0 0 9px; border-bottom: 1px solid var(--ledger-line); color: var(--ledger-muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
#permissionsView .permissions-list { display: block; margin: 0; border: 0; }
#permissionsView .permission-row { margin: 0; padding: 13px 0; border: 0; border-bottom: 1px solid var(--ledger-line); }
#permissionsView .permission-row strong { display: block; color: var(--ledger-ink); font-size: 12px; font-weight: 700; }
#permissionsView .permission-row span { display: block; margin-top: 3px; color: var(--ledger-muted); font-size: 11px; font-weight: 500; }
#permissionsView .permission-row select { min-width: 0; width: 100%; min-height: 34px; padding: 5px 8px; border: 1px solid var(--ledger-line); border-radius: 4px; background: var(--ledger-panel); color: var(--ledger-ink); font-size: 11px; font-weight: 650; }
#permissionsView .permission-row select:disabled { opacity: .62; }
#permissionsNote, #statisticsNote, #reportNote { display: block; margin: 17px 0 0; padding: 10px 0 0; border-top: 1px solid var(--ledger-line); color: var(--ledger-muted); font-size: 11px; font-weight: 500; line-height: 1.45; }

/* Team & access keeps account management as a compact Ledger register. */
.team-invite-button[hidden], .team-access-summary[hidden], .team-role-guide-button[hidden], .team-access-tools[hidden], .ledger-permissions-head[hidden], .team-member-identity[hidden], .team-access-safety[hidden] { display:none !important; }
.team-access-topbar { align-items:flex-end; }
.team-invite-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:8px 12px; font-size:11px; white-space:nowrap; }
.team-invite-button svg { width:14px; height:14px; }
.team-access-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 16px; border-top:1px solid var(--ledger-line); border-bottom:1px solid var(--ledger-line); }
.team-access-summary > div { display:grid; gap:3px; padding:12px 9px 11px 0; }
.team-access-summary > div + div { padding-left:12px; border-left:1px solid var(--ledger-line); }
.team-access-summary span { color:var(--ledger-muted); font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.team-access-summary strong { color:var(--ledger-ink); font-size:18px; line-height:1; }
.team-role-guide-button { display:grid; grid-template-columns:30px minmax(0,1fr) 14px; gap:10px; align-items:center; width:100%; margin:0 0 12px; padding:10px 11px; border:1px solid var(--ledger-line); border-radius:8px; background:var(--ledger-soft); color:var(--ledger-ink); text-align:left; }
.team-role-guide-button > svg:first-child { width:18px; height:18px; color:var(--ledger-accent); }
.team-role-guide-button > svg:last-child { width:14px; height:14px; color:var(--ledger-muted); }
.team-role-guide-button > span { display:grid; gap:2px; }
.team-role-guide-button strong { font-size:11px; }
.team-role-guide-button small { color:var(--ledger-muted); font-size:8px; font-weight:650; }
.team-access-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; margin-bottom:9px; }
.team-access-search { display:flex; align-items:center; gap:7px; min-height:36px; padding:0 10px; border:1px solid var(--ledger-line); border-radius:6px; background:var(--ledger-panel); }
.team-access-search svg { flex:none; width:14px; height:14px; color:var(--ledger-muted); }
.team-access-search input { min-width:0; width:100%; border:0; outline:0; background:transparent; color:var(--ledger-ink); font:inherit; font-size:11px; }
.team-access-filters { display:flex; align-items:center; gap:2px; padding:3px; border:1px solid var(--ledger-line); border-radius:6px; background:var(--ledger-panel); }
.team-access-filters button { min-height:28px; padding:5px 8px; border:0; border-radius:4px; background:transparent; color:var(--ledger-muted); font-size:9px; font-weight:800; }
.team-access-filters button.active { background:var(--ledger-accent); color:white; }
#permissionsView .permissions-list.team-access-list { display:block; }
.team-access-card { margin:0; border-bottom:1px solid var(--ledger-line); }
.team-access-card > button { display:grid; grid-template-columns:36px minmax(0,1fr) auto 15px; gap:10px; align-items:center; width:100%; min-height:68px; padding:11px 0; border:0; background:transparent; color:var(--ledger-ink); text-align:left; }
.team-access-card > button:hover { background:color-mix(in srgb,var(--ledger-soft) 46%,transparent); }
.team-access-card > button:disabled { cursor:default; opacity:.62; }
.team-access-card > button:disabled:hover { background:transparent; }
.team-member-avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--ledger-soft); color:var(--ledger-accent); font-size:10px; font-weight:900; letter-spacing:.03em; }
.team-access-card.pending .team-member-avatar { background:var(--ledger-panel); border:1px dashed var(--ledger-muted); color:var(--ledger-muted); }
.team-access-card.inactive { opacity:.72; }
.team-access-card.inactive .team-member-avatar { filter:grayscale(1); }
.team-access-card-copy { display:grid; min-width:0; gap:3px; }
.team-access-card-copy strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.team-access-card-copy small { overflow:hidden; color:var(--ledger-muted); font-size:9px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.team-access-card-copy em { color:var(--ledger-accent); font-size:8px; font-style:normal; font-weight:800; }
.team-access-card-meta { display:grid; justify-items:end; gap:5px; }
.team-access-role { padding:4px 7px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-accent); font-size:8px; font-weight:850; }
.team-access-status { color:var(--ledger-muted); font-size:8px; font-weight:750; }
.team-access-status.pending { color:#9b6a13; }
.team-access-status.inactive { color:#9b403b; }
.team-custom-badge { padding:3px 6px; border:1px solid color-mix(in srgb,var(--ledger-accent) 35%,var(--ledger-line)); border-radius:999px; background:var(--ledger-panel); color:var(--ledger-accent); font-size:7px; font-weight:850; white-space:nowrap; }
.team-access-card > button > svg { width:14px; height:14px; color:var(--ledger-muted); }
.team-access-empty { display:grid; place-items:center; gap:6px; min-height:150px; color:var(--ledger-muted); text-align:center; }
.team-access-empty svg { width:22px; height:22px; }
.team-access-empty strong { color:var(--ledger-ink); font-size:12px; }
.team-access-empty small { font-size:10px; }
#permissionsView .team-access-note { margin-top:12px; padding-top:10px; }
.team-access-dialog { width:min(calc(100% - 24px),520px); }
.team-access-dialog form { height:100%; }
.team-access-dialog-scroll { display:grid; align-content:start; gap:14px; }
.team-member-identity { display:flex; align-items:center; gap:11px; padding:2px 0 13px; border-bottom:1px solid var(--ledger-line); }
.team-member-identity .team-member-avatar { width:42px; height:42px; font-size:12px; }
.team-member-identity > span:last-child { display:grid; gap:3px; }
.team-member-identity strong { font-size:14px; }
.team-member-identity small { color:var(--ledger-muted); font-size:10px; font-weight:700; }
.team-access-form-section { display:grid; gap:12px; margin:0; padding:0 0 15px; border-bottom:1px solid var(--ledger-line); }
.team-access-form-section h3 { margin:0; color:var(--ledger-ink); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.team-access-form-section .inventory-form-grid label > small { color:var(--ledger-muted); font-size:8px; font-weight:600; line-height:1.4; }
.team-access-form-section .inventory-form-grid input:disabled { background:var(--ledger-soft); color:var(--ledger-muted); opacity:1; }
.team-account-ledger .inventory-form-grid { grid-template-columns:1fr; gap:0; border-top:1px solid var(--ledger-line); border-bottom:1px solid var(--ledger-line); }
.team-account-ledger .inventory-form-grid label { display:grid; grid-template-columns:92px minmax(0,1fr); gap:12px; align-items:center; min-height:48px; padding:7px 0; color:var(--ledger-muted); font-size:8px; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }
.team-account-ledger .inventory-form-grid label + label { border-top:1px solid var(--ledger-line); }
.team-account-ledger .inventory-form-grid input,
.team-account-ledger .inventory-form-grid select { width:100%; min-height:32px; padding:5px 26px 5px 0; border:0; border-radius:0; background-color:transparent; color:var(--ledger-ink); font-size:11px; font-weight:750; letter-spacing:0; text-transform:none; box-shadow:none; }
.team-account-ledger .inventory-form-grid input:focus,
.team-account-ledger .inventory-form-grid select:focus { outline:0; box-shadow:inset 0 -1px 0 var(--ledger-accent); }
.team-account-ledger .inventory-form-grid input:disabled,
.team-account-ledger .inventory-form-grid select:disabled { background-color:transparent; color:var(--ledger-muted); }
.team-account-ledger .inventory-form-grid label > small { grid-column:2; margin-top:-5px; letter-spacing:0; text-transform:none; }
.team-role-explainer { padding:1px 0 1px 10px; border-left:2px solid var(--ledger-accent); border-radius:0; background:transparent; color:var(--ledger-muted); font-size:9px; line-height:1.45; }
.team-role-explainer strong { color:var(--ledger-ink); }
.team-access-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.team-access-section-heading h3 { margin-bottom:4px; }
.team-access-section-heading h3 span { display:inline-block; margin-left:5px; padding:2px 5px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-accent); font-size:7px; letter-spacing:0; text-transform:none; vertical-align:1px; }
.team-access-section-heading p { margin:0; color:var(--ledger-muted); font-size:10px; line-height:1.4; }
.team-access-section-heading button { flex:none; min-height:28px; padding:4px 7px; border:0; background:transparent; color:var(--ledger-accent); font-size:9px; font-weight:800; }
.team-site-options { display:grid; gap:0; border-top:1px solid var(--ledger-line); border-bottom:1px solid var(--ledger-line); }
.team-site-options label { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; min-height:47px; padding:7px 0; border:0; border-radius:0; background:transparent; cursor:pointer; }
.team-site-options label + label { border-top:1px solid var(--ledger-line); }
.team-site-options label:has(input:checked) { background:linear-gradient(90deg,color-mix(in srgb,var(--ledger-soft) 58%,transparent),transparent 76%); }
.team-site-options input { grid-column:2; grid-row:1; width:16px; height:16px; margin-right:2px; accent-color:var(--ledger-accent); }
.team-site-options span { display:grid; gap:2px; }
.team-site-options span { grid-column:1; grid-row:1; }
.team-site-options strong { font-size:10px; }
.team-site-options small { color:var(--ledger-muted); font-size:8px; }
.team-custom-count { flex:none; margin-top:1px; color:var(--ledger-accent); font-size:8px; font-weight:850; white-space:nowrap; }
.team-permission-scope-note { display:grid; grid-template-columns:16px minmax(0,1fr); gap:8px; align-items:start; padding:9px 10px; border-radius:7px; background:var(--ledger-soft); color:var(--ledger-muted); font-size:8px; font-weight:650; line-height:1.4; }
.team-permission-scope-note[hidden] { display:none !important; }
.team-permission-scope-note svg { width:14px; height:14px; color:var(--ledger-accent); }
.team-additional-permissions { display:grid; gap:7px; }
.team-permission-group { border:1px solid var(--ledger-line); border-radius:8px; overflow:hidden; background:var(--ledger-panel); }
.team-permission-group summary { display:grid; grid-template-columns:minmax(0,1fr) auto 14px; gap:8px; align-items:center; min-height:38px; padding:8px 10px; color:var(--ledger-ink); cursor:pointer; list-style:none; }
.team-permission-group summary::-webkit-details-marker { display:none; }
.team-permission-group summary span { font-size:10px; font-weight:850; }
.team-permission-group summary small { color:var(--ledger-muted); font-size:7px; font-weight:700; }
.team-permission-group summary svg { width:13px; height:13px; color:var(--ledger-muted); transition:transform .18s ease; }
.team-permission-group[open] summary { border-bottom:1px solid var(--ledger-line); }
.team-permission-group[open] summary svg { transform:rotate(180deg); }
.team-permission-option { display:grid; grid-template-columns:16px minmax(0,1fr); gap:9px; align-items:start; padding:10px; cursor:pointer; }
.team-permission-option + .team-permission-option { border-top:1px solid var(--ledger-line); }
.team-permission-option:hover { background:color-mix(in srgb,var(--ledger-soft) 55%,transparent); }
.team-permission-option input { width:15px; height:15px; margin:1px 0 0; accent-color:var(--ledger-accent); }
.team-permission-option input:disabled { cursor:not-allowed; opacity:.65; }
.team-permission-option > span { display:grid; gap:3px; min-width:0; }
.team-permission-option strong { display:flex; flex-wrap:wrap; align-items:center; gap:6px; color:var(--ledger-ink); font-size:9px; line-height:1.3; }
.team-permission-option strong em { padding:2px 5px; border-radius:999px; background:#f1e6c9; color:#8a5c0e; font-size:6px; font-style:normal; font-weight:900; letter-spacing:.03em; text-transform:uppercase; }
.team-permission-option small { color:var(--ledger-muted); font-size:8px; line-height:1.4; }
.team-permission-empty { display:grid; grid-template-columns:28px minmax(0,1fr); gap:9px; align-items:center; padding:11px; border:1px dashed var(--ledger-line); border-radius:8px; }
.team-permission-empty.included { border-style:solid; border-color:color-mix(in srgb,var(--ledger-accent) 35%,var(--ledger-line)); background:var(--ledger-soft); }
.team-permission-empty > svg { width:17px; height:17px; color:var(--ledger-accent); justify-self:center; }
.team-permission-empty > span { display:grid; gap:3px; }
.team-permission-empty strong { font-size:9px; }
.team-permission-empty small { color:var(--ledger-muted); font-size:8px; line-height:1.35; }
.team-owner-only-note { display:grid; grid-template-columns:20px minmax(0,1fr); gap:9px; align-items:start; padding:11px; border:1px solid var(--ledger-line); border-radius:9px; background:var(--ledger-panel); }
.team-owner-only-note > svg { width:16px; height:16px; color:var(--ledger-muted); }
.team-owner-only-note > span { display:grid; gap:3px; }
.team-owner-only-note strong { font-size:9px; }
.team-owner-only-note small { color:var(--ledger-muted); font-size:8px; line-height:1.4; }
.team-access-dialog .dialog-actions { gap:8px; padding-inline:14px; }
.team-access-dialog .dialog-actions button { flex:1 1 0; min-width:0; padding-inline:8px; }
.team-deactivate-member { margin-right:0; }
.team-access-confirm-dialog { width:min(calc(100% - 28px),390px); max-height:calc(100svh - 28px); padding:0; border:1px solid var(--ledger-line); border-radius:12px; background:var(--ledger-paper); color:var(--ledger-ink); box-shadow:0 24px 70px rgba(12,31,25,.28); }
.team-access-confirm-dialog::backdrop { background:rgba(12,31,25,.5); backdrop-filter:blur(2px); }
.team-access-confirm-dialog > article { display:grid; gap:15px; padding:19px; }
.team-access-confirm-dialog header { display:grid; grid-template-columns:38px minmax(0,1fr); gap:11px; align-items:center; padding-bottom:14px; border-bottom:1px solid var(--ledger-line); }
.team-access-confirm-dialog header > div { display:grid; gap:3px; }
.team-access-confirm-dialog header .eyebrow { margin:0; color:var(--ledger-accent); font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.team-access-confirm-dialog h2 { margin:0; font-size:18px; line-height:1.15; }
.team-confirm-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--ledger-soft); color:var(--ledger-accent); }
.team-confirm-icon svg { width:18px; height:18px; }
.team-confirm-message { margin:0; color:var(--ledger-muted); font-size:10px; font-weight:650; line-height:1.5; }
.team-confirm-summary { display:grid; margin:0; border-top:1px solid var(--ledger-line); border-bottom:1px solid var(--ledger-line); }
.team-confirm-summary > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:12px; padding:10px 0; }
.team-confirm-summary > div + div { border-top:1px solid var(--ledger-line); }
.team-confirm-summary dt { color:var(--ledger-muted); font-size:8px; font-weight:800; text-transform:uppercase; }
.team-confirm-summary dd { margin:0; color:var(--ledger-ink); font-size:9px; font-weight:800; text-align:right; overflow-wrap:anywhere; }
.team-confirm-warning { display:grid; grid-template-columns:16px minmax(0,1fr); gap:8px; align-items:start; padding:10px; border-radius:8px; background:var(--ledger-soft); color:var(--ledger-muted); font-size:8px; font-weight:700; line-height:1.45; }
.team-confirm-warning svg { width:14px; height:14px; color:var(--ledger-accent); }
.team-access-confirm-dialog footer { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.team-access-confirm-dialog footer button { min-width:0; min-height:38px; padding:8px; font-size:9px; }
.team-access-safety { display:flex; align-items:flex-start; gap:9px; padding:11px; border:1px solid color-mix(in srgb,var(--ledger-accent) 35%,var(--ledger-line)); border-radius:9px; background:var(--ledger-soft); }
.team-access-safety svg { flex:none; width:16px; height:16px; color:var(--ledger-accent); }
.team-access-safety span { display:grid; gap:3px; }
.team-access-safety strong { font-size:10px; }
.team-access-safety small { color:var(--ledger-muted); font-size:8px; line-height:1.35; }
.team-roles-dialog { width:min(calc(100% - 24px),560px); }
.team-roles-dialog form { height:100%; }
.team-roles-scroll { display:grid; align-content:start; gap:13px; }
.team-roles-intro { margin:0; color:var(--ledger-muted); font-size:11px; line-height:1.5; }
.team-role-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; padding:3px; border:1px solid var(--ledger-line); border-radius:7px; background:var(--ledger-panel); }
.team-role-tabs button { min-height:34px; border:0; border-radius:5px; background:transparent; color:var(--ledger-muted); font-size:10px; font-weight:800; }
.team-role-tabs button.active { background:var(--ledger-accent); color:white; }
.team-role-scope { display:grid; grid-template-columns:36px minmax(0,1fr); gap:10px; align-items:center; padding:12px; border:1px solid color-mix(in srgb,var(--ledger-accent) 35%,var(--ledger-line)); border-radius:9px; background:var(--ledger-soft); }
.team-role-scope > i { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--ledger-panel); color:var(--ledger-accent); }
.team-role-scope > i svg { width:17px; height:17px; }
.team-role-scope > span { display:grid; gap:3px; }
.team-role-scope strong { font-size:12px; }
.team-role-scope small { color:var(--ledger-muted); font-size:9px; line-height:1.4; }
.team-role-permissions { display:grid; gap:10px; }
.team-role-permission-group { border:1px solid var(--ledger-line); border-radius:9px; overflow:hidden; background:var(--ledger-panel); }
.team-role-permission-group > h3 { margin:0; padding:9px 11px; border-bottom:1px solid var(--ledger-line); color:var(--ledger-muted); font-size:8px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.team-role-permission-row { display:grid; grid-template-columns:17px minmax(0,1fr); gap:8px; align-items:start; padding:9px 11px; border-bottom:1px solid var(--ledger-line); }
.team-role-permission-row:last-child { border-bottom:0; }
.team-role-permission-row > svg { width:14px; height:14px; margin-top:1px; color:var(--ledger-accent); }
.team-role-permission-row.denied > svg { color:var(--ledger-muted); }
.team-role-permission-row > span { display:grid; gap:2px; }
.team-role-permission-row strong { font-size:10px; }
.team-role-permission-row small { color:var(--ledger-muted); font-size:8px; line-height:1.35; }
.team-role-footnote { margin:0; padding:10px 0 0; border-top:1px solid var(--ledger-line); color:var(--ledger-muted); font-size:9px; line-height:1.45; }
.team-roles-dialog .dialog-actions { justify-content:flex-end; }

#statisticsView .statistics-controls { display: grid; grid-template-columns: minmax(150px,220px) repeat(2,minmax(120px,1fr)); gap: 10px; align-items: end; margin: 0 0 20px; }
#statisticsView .statistics-controls label[hidden] { display: none !important; }
#statisticsView .statistics-controls label { font-size: 10px; font-weight: 700; }
#statisticsView .statistics-controls select, #statisticsView .statistics-controls input { min-height: 38px; padding: 7px 9px; font-size: 12px; }
#statisticsView .statistics-grid { display: block; margin: 0; }
.ledger-stat-context { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-3px 0 12px; padding-bottom:11px; border-bottom:1px solid var(--ledger-line); }
.ledger-stat-context > span { display:grid; gap:2px; }
.ledger-stat-context small { color:var(--ledger-muted); font-size:8px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.ledger-stat-context strong { color:var(--ledger-ink); font-size:12px; }
.ledger-stat-context em { padding:4px 7px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-accent); font-size:8px; font-style:normal; font-weight:850; }
.ledger-stat-mobile-summary { display:none; }
.ledger-stat-desktop-analytics { margin:0 0 16px; border:1px solid var(--ledger-line); border-radius:10px; overflow:hidden; background:var(--ledger-panel); }
.ledger-stat-analytics-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 15px; border-bottom:1px solid var(--ledger-line); }
.ledger-stat-analytics-head > div { display:grid; gap:2px; }
.ledger-stat-analytics-head p { margin:0; color:var(--ledger-muted); font-size:7px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ledger-stat-analytics-head h3 { margin:0; color:var(--ledger-ink); font-size:13px; }
.ledger-stat-analytics-head > span { color:var(--ledger-muted); font-size:8px; font-weight:650; }
.ledger-stat-analytics-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.ledger-stat-ring-card { grid-column:span 2; display:grid; justify-items:center; align-content:start; gap:8px; min-width:0; padding:17px 12px 14px; border-right:1px solid var(--ledger-line); }
.ledger-stat-ring-card:nth-child(3) { border-right:0; }
.ledger-stat-ring-card > p { max-width:130px; margin:0; color:var(--ledger-muted); font-size:7px; font-weight:650; line-height:1.4; text-align:center; }
.ledger-stat-ring-card > p strong { color:var(--ledger-ink); }
.ledger-stat-ring { --ring-color:var(--ledger-accent); position:relative; display:grid; place-items:center; width:94px; aspect-ratio:1; border-radius:50%; background:conic-gradient(var(--ring-color) calc(var(--value) * 1%),var(--ledger-soft) 0); }
.ledger-stat-ring.secondary { --ring-color:#557e72; }
.ledger-stat-ring.tertiary { --ring-color:#aa791f; }
.ledger-stat-ring::after { content:""; position:absolute; inset:9px; border:1px solid color-mix(in srgb,var(--ledger-line) 70%,transparent); border-radius:50%; background:var(--ledger-panel); }
.ledger-stat-ring > span { position:relative; z-index:1; display:grid; gap:1px; justify-items:center; }
.ledger-stat-ring strong { color:var(--ledger-ink); font-size:19px; line-height:1; }
.ledger-stat-ring small { color:var(--ledger-muted); font-size:6px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.ledger-stat-deep-card { grid-column:span 3; min-width:0; border-top:1px solid var(--ledger-line); }
.ledger-stat-deep-card + .ledger-stat-deep-card { border-left:1px solid var(--ledger-line); }
.ledger-stat-deep-card > header { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:49px; padding:10px 13px; border-bottom:1px solid var(--ledger-line); }
.ledger-stat-deep-card > header > span { display:grid; gap:2px; }
.ledger-stat-deep-card > header small { color:var(--ledger-muted); font-size:6px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.ledger-stat-deep-card > header strong { color:var(--ledger-ink); font-size:10px; }
.ledger-stat-deep-card > header em,.ledger-stat-deep-card > header button { color:var(--ledger-accent); font-size:7px; font-style:normal; font-weight:800; }
.ledger-stat-deep-card > header button { min-height:0; padding:3px 0; border:0; background:transparent; }
.ledger-stat-deep-card > header button:hover { text-decoration:underline; }
.ledger-stat-score-list { padding:5px 13px 8px; }
.ledger-stat-score-list > button { display:grid; grid-template-columns:minmax(105px,1.15fr) minmax(75px,1fr) 32px; align-items:center; gap:9px; width:100%; min-height:36px; padding:0; border:0; border-radius:0; background:transparent; text-align:left; }
.ledger-stat-score-list > button + button { border-top:1px solid var(--ledger-line); }
.ledger-stat-score-list > button:hover { background:color-mix(in srgb,var(--ledger-soft) 55%,transparent); }
.ledger-stat-score-list > button > span { display:grid; min-width:0; gap:1px; }
.ledger-stat-score-list strong { overflow:hidden; color:var(--ledger-ink); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.ledger-stat-score-list small { color:var(--ledger-muted); font-size:6px; }
.ledger-stat-score-list i { height:5px; overflow:hidden; border-radius:2px; background:var(--ledger-soft); }
.ledger-stat-score-list i b { display:block; height:100%; border-radius:2px; background:var(--ledger-accent); }
.ledger-stat-score-list em { color:var(--ledger-ink); font-size:7px; font-style:normal; font-weight:850; text-align:right; }
.ledger-stat-score-list .empty { margin:12px 0; color:var(--ledger-muted); font-size:8px; }
.ledger-stat-status-donut-wrap { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:center; gap:13px; padding:14px 15px; }
.ledger-stat-status-donut { position:relative; display:grid; place-items:center; width:100px; aspect-ratio:1; border-radius:50%; background:conic-gradient(#b57a1a 0 calc(var(--new) * 1%),#718e85 calc(var(--new) * 1%) calc((var(--new) + var(--read)) * 1%),var(--ledger-accent) calc((var(--new) + var(--read)) * 1%) calc((var(--new) + var(--read) + var(--done)) * 1%),var(--ledger-soft) 0); }
.ledger-stat-status-donut::after { content:""; position:absolute; inset:13px; border-radius:50%; background:var(--ledger-panel); }
.ledger-stat-status-donut > span { position:relative; z-index:1; display:grid; justify-items:center; gap:1px; }
.ledger-stat-status-donut strong { color:var(--ledger-ink); font-size:18px; line-height:1; }
.ledger-stat-status-donut small { color:var(--ledger-muted); font-size:6px; font-weight:850; text-transform:uppercase; }
.ledger-stat-donut-legend { display:grid; gap:7px; }
.ledger-stat-donut-legend > span { display:grid; grid-template-columns:7px minmax(0,1fr) 20px 28px; align-items:center; gap:6px; }
.ledger-stat-donut-legend i { width:7px; height:7px; border-radius:50%; background:var(--ledger-muted); }
.ledger-stat-donut-legend i.new { background:#b57a1a; }
.ledger-stat-donut-legend i.read { background:#718e85; }
.ledger-stat-donut-legend i.completed { background:var(--ledger-accent); }
.ledger-stat-donut-legend small,.ledger-stat-donut-legend em { color:var(--ledger-muted); font-size:7px; font-style:normal; }
.ledger-stat-donut-legend strong { color:var(--ledger-ink); font-size:8px; text-align:right; }
.ledger-stat-donut-legend em { text-align:right; }
.ledger-stat-deep-card > footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ledger-line); }
.ledger-stat-deep-card > footer span { padding:9px 12px; color:var(--ledger-muted); font-size:7px; }
.ledger-stat-deep-card > footer span + span { border-left:1px solid var(--ledger-line); }
.ledger-stat-deep-card > footer strong { color:var(--ledger-ink); }
.ledger-stat-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 0 14px; border:1px solid var(--ledger-line); border-radius:9px; overflow:hidden; background:var(--ledger-panel); }
.ledger-stat-kpis article { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; align-items:start; min-width:0; padding:11px; border:0; border-right:1px solid var(--ledger-line); background:transparent; box-shadow:none; }
.ledger-stat-kpis article:last-child { border-right:0; }
.ledger-stat-kpis article > svg { width:16px; height:16px; margin-top:2px; color:var(--ledger-accent); }
.ledger-stat-kpis article.attention > svg { color:#a66b16; }
.ledger-stat-kpis article > span { display:grid; min-width:0; gap:2px; }
.ledger-stat-kpis small { color:var(--ledger-muted); font-size:7px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.ledger-stat-kpis strong { overflow:hidden; color:var(--ledger-ink); font-size:17px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.ledger-stat-kpis em { overflow:hidden; color:var(--ledger-muted); font-size:7px; font-style:normal; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.ledger-stat-comparison,.ledger-stat-action-centre { margin:0 0 14px; border:1px solid var(--ledger-line); border-radius:9px; overflow:hidden; background:var(--ledger-panel); }
.ledger-stat-comparison > header,.ledger-stat-action-centre > header { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:48px; padding:10px 12px; border-bottom:1px solid var(--ledger-line); }
.ledger-stat-comparison > header > span,.ledger-stat-action-centre > header > span { display:grid; gap:2px; }
.ledger-stat-comparison > header small,.ledger-stat-action-centre > header small { color:var(--ledger-muted); font-size:7px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ledger-stat-comparison > header strong,.ledger-stat-action-centre > header strong { color:var(--ledger-ink); font-size:11px; }
.ledger-stat-comparison > header em,.ledger-stat-action-centre > header em { color:var(--ledger-muted); font-size:7px; font-style:normal; font-weight:650; text-align:right; }
.ledger-stat-comparison > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.ledger-stat-comparison article { display:grid; grid-template-columns:1fr auto; gap:2px 10px; min-width:0; padding:11px 12px; }
.ledger-stat-comparison article + article { border-left:1px solid var(--ledger-line); }
.ledger-stat-comparison article small { grid-column:1 / -1; color:var(--ledger-muted); font-size:7px; font-weight:750; }
.ledger-stat-comparison article strong { color:var(--ledger-ink); font-size:17px; line-height:1.1; }
.ledger-stat-comparison article span { align-self:end; padding-bottom:1px; color:var(--ledger-muted); font-size:7px; font-weight:750; text-align:right; }
.ledger-stat-comparison article span.up { color:var(--ledger-accent); }
.ledger-stat-comparison article span.down { color:#a46c19; }
.ledger-stat-action-centre > header { background:color-mix(in srgb,#f7f0df 64%,var(--ledger-panel)); }
.ledger-stat-action-list > button,.ledger-stat-action-list > .empty,.ledger-stat-action-list > .more { display:grid; grid-template-columns:27px minmax(0,1fr) auto; align-items:center; gap:9px; width:100%; min-height:49px; padding:8px 12px; border:0; border-radius:0; background:transparent; text-align:left; }
.ledger-stat-action-list > button + button,.ledger-stat-action-list > .empty,.ledger-stat-action-list > .more { border-top:1px solid var(--ledger-line); }
.ledger-stat-action-list > button:hover { background:var(--ledger-soft); }
.ledger-stat-action-list > button > svg,.ledger-stat-action-list > .empty > svg,.ledger-stat-action-list > .more > svg { width:15px; height:15px; color:#9b6817; justify-self:center; }
.ledger-stat-action-list > .more > svg { color:var(--ledger-muted); }
.ledger-stat-action-list > button > span,.ledger-stat-action-list > .empty > span,.ledger-stat-action-list > .more > span { display:grid; min-width:0; gap:2px; }
.ledger-stat-action-list strong { overflow:hidden; color:var(--ledger-ink); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.ledger-stat-action-list small { overflow:hidden; color:var(--ledger-muted); font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.ledger-stat-action-list em { color:var(--ledger-accent); font-size:7px; font-style:normal; font-weight:800; white-space:nowrap; }
.ledger-stat-attention { display:grid; grid-template-columns:28px minmax(0,1fr); gap:9px; align-items:center; margin:0 0 14px; padding:10px 11px; border:1px solid color-mix(in srgb,#b57a1a 30%,var(--ledger-line)); border-radius:8px; background:#f7f0df; }
.ledger-stat-attention > svg { width:17px; height:17px; color:#95620f; justify-self:center; }
.ledger-stat-attention > span { display:grid; gap:2px; }
.ledger-stat-attention strong { color:var(--ledger-ink); font-size:9px; }
.ledger-stat-attention small { color:var(--ledger-muted); font-size:8px; }
.ledger-stat-panel { margin:0 0 14px; border:1px solid var(--ledger-line); border-radius:9px; overflow:hidden; background:var(--ledger-panel); }
.ledger-stat-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px; border-bottom:1px solid var(--ledger-line); }
.ledger-stat-panel > header > div { display:grid; gap:2px; }
.ledger-stat-panel > header p { margin:0; color:var(--ledger-muted); font-size:7px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ledger-stat-panel > header h3 { margin:0; color:var(--ledger-ink); font-size:12px; }
.ledger-stat-panel > header > strong { color:var(--ledger-accent); font-size:8px; font-weight:850; white-space:nowrap; }
.ledger-stat-health { height:7px; margin:12px 12px 0; border-radius:2px; overflow:hidden; background:var(--ledger-soft); }
.ledger-stat-health > span { display:block; height:100%; border-radius:2px; background:var(--ledger-accent); }
.ledger-stat-inline-metrics, .ledger-stat-order-split { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:11px 12px; }
.ledger-stat-inline-metrics > span, .ledger-stat-order-split > span { display:grid; gap:2px; min-width:0; }
.ledger-stat-inline-metrics > span + span, .ledger-stat-order-split > span + span { padding-left:10px; border-left:1px solid var(--ledger-line); }
.ledger-stat-inline-metrics strong, .ledger-stat-order-split strong { font-size:14px; line-height:1; }
.ledger-stat-inline-metrics small, .ledger-stat-order-split small { color:var(--ledger-muted); font-size:7px; font-weight:700; }
.ledger-stat-register { border-top:1px solid var(--ledger-line); }
.ledger-stat-register > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; min-height:43px; padding:8px 12px; }
.ledger-stat-register > div + div { border-top:1px solid var(--ledger-line); }
.ledger-stat-register > div > span { display:grid; min-width:0; gap:2px; }
.ledger-stat-register strong { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.ledger-stat-register small { overflow:hidden; color:var(--ledger-muted); font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.ledger-stat-register em { color:var(--ledger-ink); font-size:8px; font-style:normal; font-weight:850; white-space:nowrap; }
.ledger-stat-register .empty > svg { width:15px; height:15px; color:var(--ledger-accent); }
.ledger-stat-register.numbered > div { grid-template-columns:18px minmax(0,1fr) auto; }
.ledger-stat-register.numbered b { display:grid; place-items:center; width:18px; height:18px; border-radius:50%; background:var(--ledger-soft); color:var(--ledger-accent); font-size:7px; }
.ledger-stat-statuses { display:flex; flex-wrap:wrap; gap:7px 12px; padding:9px 12px; border-top:1px solid var(--ledger-line); color:var(--ledger-muted); font-size:7px; font-weight:700; }
.ledger-stat-statuses > span { display:flex; align-items:center; gap:5px; }
.ledger-stat-statuses i { width:6px; height:6px; border-radius:50%; background:var(--ledger-muted); }
.ledger-stat-statuses i.new { background:#b57a1a; }
.ledger-stat-statuses i.read { background:#537d70; }
.ledger-stat-statuses i.completed, .ledger-stat-statuses i.archived { background:var(--ledger-accent); }
.ledger-stat-statuses strong { color:var(--ledger-ink); }
.ledger-stat-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; height:112px; padding:13px 12px 8px; }
.ledger-stat-days > div { display:grid; grid-template-rows:1fr auto auto; gap:3px; justify-items:center; min-width:0; }
.ledger-stat-days > div > span { display:flex; align-items:flex-end; justify-content:center; gap:2px; width:100%; height:72px; border-bottom:1px solid var(--ledger-line); }
.ledger-stat-days > div > span i { display:block; width:min(11px,38%); min-height:0; border-radius:3px 3px 0 0; background:var(--ledger-accent); }
.ledger-stat-days > div > span i.messages { background:#9ab2aa; }
.ledger-stat-days small { color:var(--ledger-muted); font-size:7px; font-weight:750; }
.ledger-stat-days em { color:var(--ledger-ink); font-size:7px; font-style:normal; font-weight:850; }
.ledger-stat-legend { display:flex; flex-wrap:wrap; gap:6px 14px; padding:0 12px 10px; color:var(--ledger-muted); font-size:7px; }
.ledger-stat-legend span { display:flex; align-items:center; gap:5px; }
.ledger-stat-legend i { width:6px; height:6px; border-radius:2px; background:var(--ledger-accent); }
.ledger-stat-legend i.messages { background:#9ab2aa; }
.ledger-stat-metrics, #reportsView .report-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 0 0 21px; border-top: 1px solid var(--ledger-line); border-bottom: 1px solid var(--ledger-line); }
.ledger-stat-metrics > div, #reportsView .report-summary > div { display: flex; flex-direction: column; justify-content: center; gap: 3px; min-width: 0; padding: 12px 8px 11px 0; border: 0; background: transparent; box-shadow: none; }
.ledger-stat-metrics > div + div, #reportsView .report-summary > div + div { padding-left: 13px; border-left: 1px solid var(--ledger-line); }
.ledger-stat-metrics strong, #reportsView .report-summary strong { color: var(--ledger-ink); font-size: 23px; font-weight: 750; line-height: 1.15; }
.ledger-stat-metrics span, #reportsView .report-summary span { color: var(--ledger-muted); font-size: 10px; font-weight: 550; text-transform: none; }
.ledger-stat-section { margin: 0 0 20px; }
.ledger-stat-section h3 { margin: 0 0 8px; color: var(--ledger-ink); font-size: 13px; font-weight: 750; }
#statisticsView .stat-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(75px,36%) 37px; align-items: center; gap: 10px; min-height: 49px; padding: 8px 0; border-top: 1px solid var(--ledger-line); }
#statisticsView .stat-row strong { color: var(--ledger-ink); font-size: 11px; font-weight: 700; }
#statisticsView .stat-row span, #statisticsView .stat-row em { color: var(--ledger-muted); font-size: 10px; font-weight: 550; }
#statisticsView .stat-row em { text-align: right; font-weight: 700; }
#statisticsView .stat-bar { grid-column: auto; height: 6px; border-radius: 2px; background: var(--ledger-soft); }
#statisticsView .stat-bar span { border-radius: 2px; background: var(--ledger-link, var(--ledger-accent)); }
.ledger-stat-breakdown { border-top: 1px solid var(--ledger-line); }
.ledger-stat-breakdown summary { display: grid; grid-template-columns:minmax(0,1fr) auto 8px; align-items: center; gap:8px; min-height: 43px; color: var(--ledger-link, var(--ledger-accent)); font-size: 11px; font-weight: 700; cursor: pointer; list-style: none; }
.ledger-stat-breakdown summary span { color:var(--ledger-muted); font-size:8px; font-weight:650; }
.ledger-stat-breakdown summary::-webkit-details-marker { display: none; }
.ledger-stat-breakdown summary::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.ledger-stat-breakdown[open] summary::after { transform: rotate(225deg); }
.ledger-stat-breakdown .ledger-stat-section { margin-top: 15px; }
.ledger-stat-count-row { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--ledger-line); color: var(--ledger-ink); font-size: 11px; }

.ledger-monthly-context { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 13px; padding:0 0 11px; border-bottom:1px solid var(--ledger-line); }
.ledger-monthly-context > span { display:grid; gap:2px; }
.ledger-monthly-context small { color:var(--ledger-muted); font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ledger-monthly-context strong { color:var(--ledger-ink); font-size:13px; }
.ledger-monthly-context em { padding:4px 7px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-accent); font-size:8px; font-style:normal; font-weight:850; }
.ledger-monthly-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 0 14px; border:1px solid var(--ledger-line); border-radius:9px; overflow:hidden; background:var(--ledger-panel); }
.ledger-monthly-kpis article { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:start; gap:8px; min-width:0; padding:11px; border:0; border-right:1px solid var(--ledger-line); background:transparent; box-shadow:none; }
.ledger-monthly-kpis article:last-child { border-right:0; }
.ledger-monthly-kpis article > svg { width:16px; height:16px; margin-top:2px; color:var(--ledger-accent); }
.ledger-monthly-kpis article > span { display:grid; min-width:0; gap:2px; }
.ledger-monthly-kpis small { color:var(--ledger-muted); font-size:7px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.ledger-monthly-kpis strong { overflow:hidden; color:var(--ledger-ink); font-size:17px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.ledger-monthly-kpis em { overflow:hidden; color:var(--ledger-muted); font-size:7px; font-style:normal; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.ledger-monthly-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ledger-monthly-panel { min-width:0; border:1px solid var(--ledger-line); border-radius:9px; overflow:hidden; background:var(--ledger-panel); }
.ledger-monthly-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:49px; padding:10px 12px; border-bottom:1px solid var(--ledger-line); }
.ledger-monthly-panel > header > span { display:grid; gap:2px; }
.ledger-monthly-panel > header small { color:var(--ledger-muted); font-size:7px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ledger-monthly-panel > header strong { color:var(--ledger-ink); font-size:11px; }
.ledger-monthly-panel > header em { color:var(--ledger-accent); font-size:7px; font-style:normal; font-weight:800; }
.ledger-monthly-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); min-height:136px; }
.ledger-monthly-flow > span { position:relative; display:grid; align-content:center; justify-items:center; gap:3px; min-width:0; padding:14px 10px 21px; }
.ledger-monthly-flow > span + span { border-left:1px solid var(--ledger-line); }
.ledger-monthly-flow svg { width:16px; height:16px; color:var(--ledger-accent); }
.ledger-monthly-flow strong { color:var(--ledger-ink); font-size:20px; line-height:1; }
.ledger-monthly-flow small { color:var(--ledger-muted); font-size:7px; font-weight:700; text-align:center; }
.ledger-monthly-flow b { position:absolute; right:10px; bottom:10px; left:10px; height:4px; overflow:hidden; border-radius:2px; background:linear-gradient(90deg,var(--ledger-accent) 0 var(--share),var(--ledger-soft) var(--share) 100%); }
.ledger-monthly-weeks { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; height:136px; padding:14px 14px 10px; }
.ledger-monthly-weeks > div { display:grid; grid-template-rows:1fr auto auto; justify-items:center; gap:3px; }
.ledger-monthly-weeks span { display:flex; align-items:flex-end; justify-content:center; width:100%; height:82px; border-bottom:1px solid var(--ledger-line); }
.ledger-monthly-weeks i { display:block; width:min(24px,70%); border-radius:3px 3px 0 0; background:var(--ledger-accent); }
.ledger-monthly-weeks small { color:var(--ledger-muted); font-size:7px; font-weight:750; }
.ledger-monthly-weeks strong { color:var(--ledger-ink); font-size:8px; }
.ledger-monthly-demand > div { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:44px; padding:8px 12px; }
.ledger-monthly-demand > div + div { border-top:1px solid var(--ledger-line); }
.ledger-monthly-demand b { display:grid; place-items:center; width:18px; height:18px; border-radius:50%; background:var(--ledger-soft); color:var(--ledger-accent); font-size:7px; }
.ledger-monthly-demand > div > span { display:grid; min-width:0; gap:2px; }
.ledger-monthly-demand strong { overflow:hidden; color:var(--ledger-ink); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.ledger-monthly-demand small { color:var(--ledger-muted); font-size:7px; }
.ledger-monthly-demand em { color:var(--ledger-ink); font-size:8px; font-style:normal; font-weight:850; white-space:nowrap; }
.ledger-monthly-demand .empty { grid-template-columns:1fr; }
.ledger-monthly-register > button,.ledger-monthly-register > .empty { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; min-height:44px; padding:8px 12px; border:0; border-radius:0; background:transparent; text-align:left; }
.ledger-monthly-register > button + button { border-top:1px solid var(--ledger-line); }
.ledger-monthly-register > button:hover { background:var(--ledger-soft); }
.ledger-monthly-register > button > span,.ledger-monthly-register > .empty > span { display:grid; min-width:0; gap:2px; }
.ledger-monthly-register strong { overflow:hidden; color:var(--ledger-ink); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.ledger-monthly-register small { overflow:hidden; color:var(--ledger-muted); font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.ledger-monthly-register em { padding:3px 6px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-accent); font-size:7px; font-style:normal; font-weight:800; }
#reportsView .report-controls { display:grid; grid-template-columns:minmax(160px,220px) minmax(180px,260px) auto 36px; justify-content:start; align-items:end; gap:8px; margin:0 0 18px; }
#reportsView .report-controls label { font-size: 10px; font-weight: 700; }
#reportsView .report-controls input,#reportsView .report-controls select { width:100%; min-height:38px; padding:7px 9px; font-size:12px; }
#reportsView #configureReportScope { min-height:38px; padding:7px 11px; border-color:var(--ledger-line); background:var(--ledger-panel); color:var(--ledger-ink); font-size:10px; white-space:nowrap; }
#reportsView #refreshReport { display:grid; grid-column:4; place-items:center; width:36px; min-width:36px; height:38px; min-height:38px; padding:7px; border:1px solid var(--ledger-line); border-radius:4px; background:var(--ledger-panel); color:var(--ledger-muted); }
#reportsView #configureReportScope[hidden] + #refreshReport { grid-column:3; }
#reportsView #refreshReport svg { width: 16px; height: 16px; }
#reportsView .report-preview { display: block; margin: 0; border: 0; }
#reportsView .report-summary { margin-bottom: 0; }
.ledger-report-format { display: flex; align-items: center; gap: 0; width: fit-content; max-width: 100%; margin: 18px 0 0; padding: 0; border: 1px solid var(--ledger-line); border-radius: 4px; }
.ledger-report-format legend { padding: 0 0 6px; color: var(--ledger-muted); font-size: 10px; font-weight: 700; }
.ledger-report-format label { position: relative; display: grid; place-items: center; min-width: 76px; min-height: 34px; cursor: pointer; }
.ledger-report-format label + label { border-left: 1px solid var(--ledger-line); }
.ledger-report-format input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ledger-report-format span { color: var(--ledger-muted); font-size: 11px; font-weight: 700; }
.ledger-report-format input:checked + span { color: var(--ledger-ink); }
.ledger-report-format label:has(input:checked) { background: var(--ledger-soft); }
.ledger-report-format input:focus-visible + span { outline: 2px solid var(--ledger-accent); outline-offset: 3px; }
.ledger-report-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 17px; }
.ledger-report-actions button { min-width: 0; min-height: 36px; padding: 7px 6px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.ledger-report-actions .ghost-button { border-color: var(--ledger-line); background: var(--ledger-panel); color: var(--ledger-ink); }
.ledger-report-scope-dialog { width:min(470px,calc(100vw - 28px)); max-height:min(720px,calc(100svh - 28px)); padding:0; border:1px solid var(--ledger-line); border-radius:12px; background:var(--ledger-panel); color:var(--ledger-ink); box-shadow:0 22px 60px rgba(20,39,32,.24); }
.ledger-report-scope-dialog::backdrop { background:rgba(18,37,31,.55); backdrop-filter:blur(2px); }
.ledger-report-scope-dialog form { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; max-height:inherit; }
.ledger-report-scope-dialog header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 16px 13px; border-bottom:1px solid var(--ledger-line); }
.ledger-report-scope-dialog header > div { display:grid; gap:2px; }
.ledger-report-scope-dialog header p { margin:0; color:var(--ledger-muted); font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ledger-report-scope-dialog header h2 { margin:0; font-size:17px; }
.ledger-report-scope-dialog > form > p { margin:0; padding:11px 16px; color:var(--ledger-muted); font-size:9px; line-height:1.45; }
.ledger-report-scope-options { overflow:auto; margin:0 16px 14px; border:1px solid var(--ledger-line); border-radius:9px; }
.ledger-report-scope-options label { position:relative; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:9px; min-height:53px; padding:8px 11px; cursor:pointer; }
.ledger-report-scope-options label + label { border-top:1px solid var(--ledger-line); }
.ledger-report-scope-options label:hover { background:var(--ledger-soft); }
.ledger-report-scope-options input { width:15px; height:15px; accent-color:var(--ledger-accent); }
.ledger-report-scope-options span { display:grid; min-width:0; gap:2px; }
.ledger-report-scope-options strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.ledger-report-scope-options small { overflow:hidden; color:var(--ledger-muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.ledger-report-scope-dialog footer { display:flex; justify-content:flex-end; gap:8px; padding:12px 16px; border-top:1px solid var(--ledger-line); }
.ledger-report-scope-dialog footer button { min-height:35px; }
@media (max-width: 560px) {
  .team-access-topbar { align-items:center; gap:10px; }
  .team-invite-button { min-width:0; padding:8px 9px; }
  .team-access-tools { grid-template-columns:1fr; gap:7px; }
  .team-access-filters { display:grid; grid-template-columns:repeat(4,1fr); }
  .team-access-card > button { grid-template-columns:34px minmax(0,1fr) auto 13px; gap:8px; min-height:64px; }
  .team-access-card-meta { gap:3px; }
  .team-access-dialog { width:100%; height:100svh; max-height:100svh; margin:0; border:0; border-radius:0; }
  .team-roles-dialog { width:100%; height:100svh; max-height:100svh; margin:0; border:0; border-radius:0; }
  .ledger-permissions-head, #permissionsView .permission-row { grid-template-columns: minmax(0,1fr) 118px; }
  #statisticsView .statistics-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #statisticsView .statistics-controls label:first-child { grid-column: 1 / -1; }
  .ledger-stat-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ledger-stat-kpis article { min-height:76px; }
  .ledger-stat-kpis article:nth-child(2) { border-right:0; }
  .ledger-stat-kpis article:nth-child(-n+2) { border-bottom:1px solid var(--ledger-line); }
  .ledger-stat-context { margin-top:-7px; }
  .ledger-stat-desktop-analytics { display:none; }
  .ledger-stat-mobile-summary { display:grid; gap:12px; margin:0 0 16px; }
  .ledger-stat-mobile-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--ledger-line); border-radius:9px; overflow:hidden; background:var(--ledger-panel); }
  .ledger-stat-mobile-kpis article { display:grid; align-content:start; gap:4px; min-height:92px; padding:13px; border-right:1px solid var(--ledger-line); border-bottom:1px solid var(--ledger-line); }
  .ledger-stat-mobile-kpis article:nth-child(2) { border-right:0; }
  .ledger-stat-mobile-kpis article:nth-child(3) { grid-column:1 / -1; min-height:78px; border-right:0; border-bottom:0; }
  .ledger-stat-mobile-kpis small,.ledger-stat-mobile-register header small { color:var(--ledger-muted); font-size:7px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
  .ledger-stat-mobile-kpis strong { color:var(--ledger-ink); font-size:24px; line-height:1; }
  .ledger-stat-mobile-kpis span { color:var(--ledger-muted); font-size:8px; line-height:1.35; }
  .ledger-stat-mobile-register { border:1px solid var(--ledger-line); border-radius:9px; overflow:hidden; background:var(--ledger-panel); }
  .ledger-stat-mobile-register header,.ledger-stat-mobile-register > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; border-bottom:1px solid var(--ledger-line); }
  .ledger-stat-mobile-register header > span,.ledger-stat-mobile-register > div > span { display:grid; gap:2px; min-width:0; }
  .ledger-stat-mobile-register header strong,.ledger-stat-mobile-register > div strong { color:var(--ledger-ink); font-size:10px; }
  .ledger-stat-mobile-register > div small { color:var(--ledger-muted); font-size:8px; }
  .ledger-stat-mobile-register > div em { color:var(--ledger-accent); font-size:11px; font-style:normal; font-weight:850; }
  .ledger-stat-mobile-register > div:last-child { border-bottom:0; }
  .ledger-stat-mobile-register .empty { margin:0; padding:12px 13px; color:var(--ledger-muted); font-size:9px; }
  .ledger-stat-comparison > header,.ledger-stat-action-centre > header { align-items:flex-start; }
  .ledger-stat-comparison > header em,.ledger-stat-action-centre > header em { max-width:130px; }
  .ledger-stat-comparison > div { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ledger-stat-comparison article { display:grid; grid-template-columns:1fr; gap:3px; padding:9px; }
  .ledger-stat-comparison article small { grid-column:auto; }
  .ledger-stat-comparison article strong { font-size:14px; }
  .ledger-stat-comparison article span { min-height:18px; font-size:6px; text-align:left; }
  .ledger-monthly-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ledger-monthly-kpis article { min-height:76px; }
  .ledger-monthly-kpis article:nth-child(2) { border-right:0; }
  .ledger-monthly-kpis article:nth-child(-n+2) { border-bottom:1px solid var(--ledger-line); }
  .ledger-monthly-grid { grid-template-columns:1fr; gap:12px; }
  .ledger-monthly-panel.register { grid-row:auto; }
  .ledger-monthly-flow { min-height:122px; }
  .ledger-monthly-weeks { height:126px; }
  #reportsView .report-controls { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  #reportsView #configureReportScope { grid-column:1; justify-self:start; }
  #reportsView #refreshReport { grid-column:2; justify-self:start; }
  #reportsView #configureReportScope[hidden] + #refreshReport { grid-column:1; }
  .ledger-report-scope-dialog { width:100%; height:100svh; max-height:100svh; margin:0; border:0; border-radius:0; }
  #statisticsView .stat-row { grid-template-columns: minmax(0,1fr) minmax(70px,33%) 35px; gap: 7px; }
  .ledger-report-actions { gap: 6px; }
  .ledger-report-actions button { font-size: 10px; }
}

/* Entry screens follow the selected palette without changing authentication. */
:root[data-ledger-appearance="light"] {
  --ledger-entry-bg: var(--ledger-side);
  --ledger-entry-panel: var(--ledger-panel);
  --ledger-entry-field: var(--ledger-paper);
  --ledger-entry-ink: var(--ledger-header-ink);
  --ledger-entry-muted: var(--ledger-header-muted);
  --ledger-entry-line: var(--ledger-line);
  --ledger-entry-action: var(--ledger-accent);
  --ledger-entry-on-action: #fff;
}
:root[data-ledger-appearance="dark"] {
  --ledger-entry-bg: var(--ledger-side);
  --ledger-entry-panel: color-mix(in srgb, var(--ledger-side) 82%, white);
  --ledger-entry-field: color-mix(in srgb, var(--ledger-side) 72%, white);
  --ledger-entry-ink: #fffdf8;
  --ledger-entry-muted: #d6e3dc;
  --ledger-entry-line: #ffffff55;
  --ledger-entry-action: color-mix(in srgb, var(--ledger-side) 32%, white);
  --ledger-entry-on-action: #1e2d27;
}
.splash-screen, .login-screen {
  --ledger-paper: var(--ledger-entry-field);
  --ledger-panel: var(--ledger-entry-panel);
  --ledger-ink: var(--ledger-entry-ink);
  --ledger-muted: var(--ledger-entry-muted);
  --ledger-line: var(--ledger-entry-line);
  --ledger-accent: var(--ledger-entry-action);
  --ledger-on-accent: var(--ledger-entry-on-action);
  --ledger-danger: #ffb9b2;
  --surface: var(--ledger-entry-bg);
  --panel: var(--ledger-entry-panel);
  --ink: var(--ledger-entry-ink);
  --muted: var(--ledger-entry-muted);
  --line: var(--ledger-entry-line);
  --brand: var(--ledger-entry-action);
  color: var(--ledger-entry-ink);
}
html:has(.splash-screen:not(.hidden)), html:has(.login-screen:not(.hidden)),
body:has(.splash-screen:not(.hidden)), body:has(.login-screen:not(.hidden)) { background: var(--ledger-entry-bg); }
.ledger-entry-sweep { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.ledger-entry-sweep::before {
  content:"";
  position:absolute;
  width:236.8vw;
  height:144vw;
  left:-35.2vw;
  bottom:-91.2vw;
  border-radius:55% 48% 0 0;
  background:var(--io-mark-sweep);
  transform:rotate(-17deg);
}
.splash-screen { background: var(--ledger-entry-bg); color: var(--ledger-ink); }
.splash-content { position: relative; z-index: 1; gap: 0; transform: none; }
.splash-logo {
  width: 76px;
  height: 76px;
  border: 1px solid var(--ledger-ink);
  border-radius: 5px;
  color: var(--ledger-ink);
  font-size: 31px;
  font-weight: 850;
  animation: splashLogoIn 700ms cubic-bezier(.2,.9,.2,1) both;
}
.splash-content h1 {
  color: var(--ledger-ink);
  font-size: clamp(25px, 5vw, 34px);
  font-weight: 800;
  line-height: 1.1;
  margin-top: 27px;
}
.splash-content p {
  color: var(--ledger-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 8px;
}
.splash-progress { height: 2px; width: 92px; margin-top: 38px; background: var(--ledger-line); overflow: hidden; }
.splash-progress span { display: block; width: 35%; height: 100%; background: var(--ledger-accent); animation: ledgerLoading 1.8s ease-in-out infinite; }
@keyframes ledgerLoading { from { transform: translateX(-100%); } to { transform: translateX(300%); } }

.login-screen { background: var(--ledger-entry-bg); overflow-y: auto; }
.login-panel {
  position: relative;
  z-index: 1;
  max-width: 410px;
  margin: auto;
  gap: 25px;
  padding: 32px;
  border: 1px solid var(--ledger-line);
  border-radius: 5px;
  background: var(--ledger-panel);
}
.login-brand { align-items: flex-start; display: grid; grid-template-columns: minmax(0, 1fr); gap: 23px; padding-bottom: 24px; }
.login-brand-copy { width: 100%; min-width: 0; }
.login-brand .brand-mark {
  width: 46px;
  height: 46px;
  border-radius: 4px;
  background: var(--ledger-accent);
  color: var(--ledger-on-accent);
  font-size: 17px;
  font-weight: 850;
}
.login-brand .eyebrow { margin-bottom: 5px; color: var(--ledger-muted); font-size: 11px; font-weight: 650; text-transform: none; }
.login-brand h1 { color: var(--ledger-ink); font-size: 25px; font-weight: 800; line-height: 1.15; margin: 0; max-width: none; overflow-wrap: normal; word-break: normal; }
.login-form { gap: 17px; }
.login-form label { gap: 7px; color: var(--ledger-muted); font-size: 11px; font-weight: 700; }
.login-form select, .login-form input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--ledger-line);
  border-radius: 4px;
  background: var(--ledger-paper);
  color: var(--ledger-ink);
  font-size: 14px;
  font-weight: 600;
}
.login-form .primary-button { min-height: 44px; margin-top: 5px; font-size: 13px; }
.login-form .primary-button { color: var(--ledger-entry-on-action); }
.login-error { color: var(--ledger-danger); font-size: 11px; font-weight: 650; min-height: 0; }
.login-error:empty { display: none; }
@media (max-width: 560px) {
  .login-screen { padding: 16px; }
  .login-panel { max-width: 100%; gap: 20px; padding: 24px; }
  .login-form select, .login-form input { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .splash-logo, .splash-content h1, .splash-content p, .splash-progress span { animation: none; }
}

.ledger-welcome {
  width: min(520px, calc(100% - 28px));
  max-width: none;
  max-height: min(680px, calc(100dvh - 28px));
  margin: auto;
  padding: 0;
  border: 1px solid var(--ledger-line);
  border-radius: 5px;
  background: var(--ledger-panel);
  color: var(--ledger-ink);
  box-shadow: 0 22px 60px rgba(0, 0, 0, .24);
}
.ledger-welcome::backdrop { background: rgba(9, 23, 18, .68); }
.ledger-welcome-inner { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: inherit; }
.ledger-welcome-header { align-items: center; display: flex; justify-content: space-between; padding: 22px 28px 0; }
.ledger-welcome-mark { align-items: center; display: inline-flex; justify-content: center; width: 40px; height: 40px; border-radius: 4px; background: var(--ledger-accent); color: var(--ledger-on-accent); font-size: 15px; font-weight: 850; }
.ledger-welcome-skip { border: 0; background: none; color: var(--ledger-muted); font-size: 11px; font-weight: 700; padding: 8px 0 8px 10px; }
.ledger-welcome-skip:hover { color: var(--ledger-ink); }
.ledger-welcome-body { min-height: 0; overflow-y: auto; padding: 22px 28px 26px; }
.ledger-welcome-kicker { color: var(--ledger-accent); font-size: 10px; font-weight: 800; margin: 0 0 9px; text-transform: uppercase; }
.ledger-welcome h2 { color: var(--ledger-ink); font-size: 26px; font-weight: 800; line-height: 1.15; margin: 0 0 10px; }
.ledger-welcome h2:focus { outline: none; }
.ledger-welcome-body section > p:not(.ledger-welcome-kicker) { color: var(--ledger-muted); font-size: 13px; line-height: 1.5; margin: 0 0 23px; }
.ledger-welcome-list { border-top: 1px solid var(--ledger-line); }
.ledger-welcome-list > div { align-items: flex-start; display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 11px; padding: 13px 0; border-bottom: 1px solid var(--ledger-line); color: var(--ledger-ink); font-size: 12px; line-height: 1.45; }
.ledger-welcome-list svg { width: 17px; height: 17px; color: var(--ledger-accent); }
.ledger-welcome-list strong { color: var(--ledger-ink); }
.ledger-app-guide-step { min-height:330px; }
.ledger-welcome-list > div > span { display:grid; gap:2px; }
.ledger-welcome-list > div > span small { color:var(--ledger-muted); font-size:10px; line-height:1.4; }
.ledger-welcome-platform { display: inline-flex; padding: 3px; border: 1px solid var(--ledger-line); border-radius: 4px; margin: 0 0 16px; }
.ledger-welcome-platform button { min-width: 92px; min-height: 32px; border: 0; border-radius: 2px; background: none; color: var(--ledger-muted); font-size: 11px; font-weight: 700; }
.ledger-welcome-platform button[aria-pressed="true"] { background: var(--ledger-accent); color: var(--ledger-on-accent); }
.ledger-welcome-instructions { border-top: 1px solid var(--ledger-line); padding-top: 16px; }
.ledger-welcome-instructions > strong { display: block; color: var(--ledger-ink); font-size: 12px; }
.ledger-welcome-instructions ol { color: var(--ledger-ink); display: grid; gap: 9px; padding-left: 19px; margin: 12px 0 16px; font-size: 12px; line-height: 1.45; }
.ledger-welcome-instructions li { padding-left: 3px; }
.ledger-welcome-instructions small { display: block; color: var(--ledger-muted); font-size: 11px; line-height: 1.45; }
.ledger-welcome-footer { align-items: center; display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--ledger-line); padding: 15px 28px; }
.ledger-welcome-footer > span { color: var(--ledger-muted); font-size: 11px; font-weight: 700; white-space: nowrap; }
.ledger-welcome-footer > div { display: flex; gap: 8px; }
.ledger-welcome-footer button { min-width: 84px; min-height: 36px; }
.ledger-welcome-footer button[hidden] { display: none; }
.ledger-profile-password-view { max-width:760px; margin:0 auto; }
.ledger-profile-password-view[hidden] { display:none !important; }
.ledger-profile-password-header { display:grid !important; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:start !important; }
.ledger-profile-back { display:grid; place-items:center; width:32px; height:32px; margin-top:1px; padding:0; border:1px solid var(--ledger-line); border-radius:3px; background:var(--ledger-panel); color:var(--ledger-ink); }
.ledger-profile-back[hidden] { display:none !important; }
.ledger-profile-back svg { width:15px; height:15px; }
.ledger-profile-password-sheet { overflow:hidden; border:1px solid var(--ledger-line); border-radius:5px; background:var(--ledger-panel); }
.profile-password-body { display:grid; min-height:300px; padding:20px; }
.profile-password-fields { display:grid; gap:13px; align-content:start; }
.profile-password-fields > p { margin:0 0 2px; color:var(--ledger-muted); font-size:11px; line-height:1.5; }
.profile-password-fields label { display:grid; gap:6px; color:var(--ledger-ink); font-size:9px; font-weight:800; }
.profile-password-fields input { width:100%; min-height:40px; padding:9px 10px; border:1px solid var(--ledger-line); border-radius:3px; background:var(--ledger-panel); color:var(--ledger-ink); font:inherit; font-size:14px; }
.profile-password-fields input:focus { outline:2px solid color-mix(in srgb,var(--ledger-accent) 22%,transparent); border-color:var(--ledger-accent); }
.profile-password-rules { display:grid; gap:6px; margin-top:2px; padding:11px 12px; border-left:2px solid var(--ledger-accent); background:var(--ledger-soft); }
.profile-password-rules strong { margin-bottom:2px; color:var(--ledger-ink); font-size:9px; }
.profile-password-rules span { display:flex; align-items:center; gap:6px; color:var(--ledger-muted); font-size:8px; }
.profile-password-rules svg { width:11px; height:11px; color:var(--ledger-accent); }
.profile-password-confirm,.profile-password-complete { align-self:center; justify-self:center; display:grid; justify-items:center; gap:12px; max-width:360px; text-align:center; }
.profile-password-fields[hidden],.profile-password-confirm[hidden],.profile-password-complete[hidden] { display:none !important; }
.profile-password-confirm > svg,.profile-password-complete > svg { width:34px; height:34px; padding:9px; border:1px solid var(--ledger-accent); border-radius:50%; color:var(--ledger-accent); }
.profile-password-confirm h3,.profile-password-complete h3 { margin:0; color:var(--ledger-ink); font-size:16px; }
.profile-password-confirm p,.profile-password-complete p { margin:0; color:var(--ledger-muted); font-size:10px; line-height:1.55; }
.profile-password-error { min-height:14px; color:var(--ledger-danger); }
.ledger-profile-password-actions { display:flex; justify-content:flex-end; gap:8px; padding:12px 16px; border-top:1px solid var(--ledger-line); background:var(--ledger-paper); }
@media (max-width: 560px) {
  .ledger-welcome-header { padding: 19px 20px 0; }
  .ledger-welcome-body { padding: 19px 20px 24px; }
  .ledger-welcome h2 { font-size: 22px; }
  .ledger-welcome-footer { padding: 13px 20px; }
  .ledger-welcome-footer > div { flex:1; justify-content:flex-end; }
  .ledger-welcome-footer button { min-width:0; padding-inline:10px; }
  .ledger-profile-page { margin-top:10px; }
  .ledger-profile-identity { grid-template-columns:40px minmax(0,1fr) auto; padding:12px 0; }
  .ledger-profile-monogram { width:36px; height:36px; }
  .ledger-profile-sheet dl > div { grid-template-columns:92px minmax(0,1fr); gap:10px; }
  .ledger-profile-security { align-items:flex-start; }
  .ledger-profile-security button { padding-inline:9px; }
  .ledger-profile-password-header { gap:10px; }
  .ledger-profile-password-sheet { border-inline:0; border-radius:0; }
  .profile-password-body { min-height:0; padding:14px 2px 12px; }
  .ledger-profile-password-actions { padding:12px 2px 0; border-top:1px solid var(--ledger-line); background:transparent; }
}

@media (min-width: 761px) {
  body { display: block; min-height: 100svh; padding: 0; }
  .app-shell {
    width: 100%;
    height: 100svh;
    grid-template-columns: clamp(190px, 17vw, 260px) minmax(0, 1fr);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .ledger-sidebar { padding: 24px 18px 18px; }
  .app-header { padding: 24px clamp(24px, 3vw, 52px) 0; }
  .workspace { padding: 20px clamp(24px, 3vw, 52px) 40px; }
}

/* Showcase themes keep the working surface light, even below a dark header. */
:root[data-ledger-appearance="light"] {
  --ledger-header-ink:#1b2d27;
  --ledger-header-muted:#435b50;
  --ledger-header-line:#cbdad0;
  --ledger-header-shape-a:color-mix(in srgb,var(--ledger-side) 91%,var(--ledger-accent));
  --ledger-header-shape-b:color-mix(in srgb,var(--ledger-side) 84%,white);
  --ledger-nav-bg:#fffefa;
  --ledger-active-nav:color-mix(in srgb,var(--ledger-accent) 32%,white);
  --ledger-active-nav-ink:#1b2d27;
}
:root[data-ledger-appearance="dark"] {
  color-scheme:light;
  --ledger-ink:#1e2d27;
  --ledger-muted:#53685d;
  --ledger-line:#d8e3dc;
  --ledger-header-ink:#fffdf8;
  --ledger-header-muted:#e4eee8;
  --ledger-header-line:#ffffff52;
  --ledger-header-shape-a:color-mix(in srgb,var(--ledger-side) 80%,white);
  --ledger-header-shape-b:color-mix(in srgb,var(--ledger-side) 88%,black);
  --ledger-on-accent:#fff;
  --ledger-nav-bg:#fffefa;
  --ledger-active-nav:var(--ledger-accent);
  --ledger-active-nav-ink:#fff;
  --ledger-stock-empty:#f4dfda;
  --ledger-stock-low:#f6eccf;
  --ledger-danger:#963c36;
  --ledger-warning:#755212;
}
:root[data-ledger-theme="cream-light"] { --ledger-paper:#fcfbf7; --ledger-panel:#fffefa; --ledger-side:#f2f5ec; --ledger-soft:#f0f3ec; --ledger-line:#dbe4da; --ledger-accent:#175840; }
:root[data-ledger-theme="cream-dark"] { --ledger-paper:#fcfbf7; --ledger-panel:#fffefa; --ledger-side:#163d32; --ledger-soft:#edf3ed; --ledger-accent:#175840; --ledger-frame:#ecf0e9; }
:root[data-ledger-theme="green-light"] { --ledger-paper:#f8fcf9; --ledger-panel:#fbfefb; --ledger-side:#d6eddc; --ledger-soft:#e6f3ea; --ledger-line:#d4e5d8; --ledger-accent:#126247; }
:root[data-ledger-theme="green-dark"] { --ledger-paper:#f8fcf9; --ledger-panel:#fbfefb; --ledger-side:#083d32; --ledger-soft:#e5f2e9; --ledger-accent:#105c45; --ledger-frame:#eaf2ec; }
:root[data-ledger-theme="blue-light"] { --ledger-paper:#f8fbfe; --ledger-panel:#fcfeff; --ledger-side:#e0f0fa; --ledger-soft:#e7f3fb; --ledger-line:#d5e5ef; --ledger-accent:#246eaa; }
:root[data-ledger-theme="blue-dark"] { --ledger-paper:#f8fbfe; --ledger-panel:#fcfeff; --ledger-side:#073e66; --ledger-soft:#e5f1f9; --ledger-accent:#145f96; --ledger-frame:#ebf3f8; }
:root[data-ledger-theme="mauve-light"] { --ledger-paper:#fffbfc; --ledger-panel:#fffdfd; --ledger-side:#f9e6eb; --ledger-soft:#fae9ed; --ledger-line:#ebd6dc; --ledger-accent:#8b3f5b; }
:root[data-ledger-theme="mauve-dark"] { --ledger-paper:#fffbfc; --ledger-panel:#fffdfd; --ledger-side:#703c52; --ledger-soft:#f8e8ec; --ledger-accent:#863e59; --ledger-frame:#f6eaed; }
:root[data-ledger-theme="dark-light"] { --ledger-paper:#fbfcfc; --ledger-panel:#fefefe; --ledger-side:#e2e9e7; --ledger-soft:#e9eeee; --ledger-line:#d9e1df; --ledger-accent:#304847; }
:root[data-ledger-theme="dark-dark"] { --ledger-paper:#fbfcfc; --ledger-panel:#fefefe; --ledger-side:#172827; --ledger-soft:#e8edec; --ledger-accent:#2a4240; --ledger-frame:#ecf0ef; }
:root[data-ledger-theme="warm-light"] { --ledger-paper:#fffaf6; --ledger-panel:#fffcf9; --ledger-side:#ffe8d9; --ledger-soft:#ffeddf; --ledger-line:#f1dfd0; --ledger-accent:#b84a22; }
:root[data-ledger-theme="warm-dark"] { --ledger-paper:#fffaf6; --ledger-panel:#fffcf9; --ledger-side:#ac3b20; --ledger-soft:#ffebdc; --ledger-accent:#ad3d1d; --ledger-frame:#f7ede6; }

.app-header { background:var(--ledger-side); }
.app-header .ledger-header-logo, .app-header .ledger-account-button { color:var(--ledger-header-ink); }
.app-header .ledger-account-copy small, .app-header .today-chip #todayLabel { color:var(--ledger-header-muted); }
.app-header .today-chip { border-color:var(--ledger-header-line); }
.ledger-header-art::before { background:var(--ledger-header-shape-a); opacity:1; }
.ledger-header-art::after { background:var(--ledger-header-shape-b); opacity:1; }
.app-header .app-menu { background:var(--ledger-panel); color:var(--ledger-ink); }
.ledger-header-art { display:none; }
.ledger-content { grid-template-columns:minmax(0,1fr); }
.app-header { grid-area:1 / 1; }
.ledger-background, .workspace { grid-area:2 / 1; min-height:0; }
.ledger-background { position:relative; overflow:hidden; container-type:inline-size; background:var(--ledger-paper); }
.workspace { position:relative; z-index:1; background:transparent; }
:root[data-ledger-appearance="dark"] .ledger-sidebar {
  --ledger-ink:#fffdf8;
  --ledger-muted:#c9ddd2;
  --ledger-line:#ffffff50;
  --ledger-soft:color-mix(in srgb,var(--ledger-side) 78%,white);
  --ledger-panel:color-mix(in srgb,var(--ledger-side) 86%,white);
}

#homeView .ledger-home-section { margin-top:24px; }
#homeView .ledger-section-heading { margin:0 0 9px; }
#homeView #homeOrders, #homeView #homeSupplies { display:grid; gap:7px; }
#homeView .ledger-home-row { box-sizing:border-box; width:100%; max-width:100%; margin:0; padding:11px 12px; border:1px solid transparent; border-radius:6px; background:var(--ledger-soft); gap:10px; }
#homeView .ledger-home-row:hover, #homeView .ledger-home-row:active { background:color-mix(in srgb,var(--ledger-soft) 82%,var(--ledger-accent)); }
#homeView .ledger-home-copy { display:grid; gap:3px; min-width:0; flex:1; }
#homeView .ledger-home-copy strong, #homeView .ledger-home-copy small { overflow-wrap:anywhere; }
#homeView .ledger-home-icon { align-items:center; display:flex; flex:none; height:32px; justify-content:center; width:32px; border-radius:6px; background:color-mix(in srgb,var(--ledger-accent) 18%,white); color:var(--ledger-accent); }
#homeView .ledger-home-icon svg { height:17px; width:17px; }
#homeView .ledger-home-row .ledger-row-trailing { max-width:88px; text-align:right; white-space:normal; }
#homeView .ledger-home-empty { align-items:center; display:flex; gap:10px; min-height:48px; padding:12px; border:0; border-radius:6px; background:var(--ledger-soft); }
#homeView .ledger-home-empty svg { flex:none; height:16px; width:16px; color:var(--ledger-accent); }
#homeView #homeChat .ledger-home-row { padding:12px 0; border:0; border-top:1px solid var(--ledger-line); border-radius:0; background:transparent; }
#homeView #homeChat .ledger-home-row:hover { background:transparent; }
#homeView #homeChat .ledger-home-empty { border-radius:0; border-top:1px solid var(--ledger-line); background:transparent; }
#homeView .ledger-page-header .primary-button { border-radius:6px; }

@media (max-width:760px) {
  .app-shell {
    --ledger-floating-nav-height: 76px;
    --ledger-floating-nav-bottom: max(32px, calc(env(safe-area-inset-bottom) + 12px));
    grid-template-rows: minmax(0, 1fr);
  }
  .ledger-content { background:var(--ledger-side); }
  .ledger-header-art {
    height:80px;
    bottom:auto;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .ledger-header-art::before, .ledger-header-art::after { display:none; }
  .ledger-sweep { display:block; width:100%; height:100%; }
  .ledger-header-art .ledger-sweep path:first-child { fill:var(--ledger-header-shape-a); }
  .ledger-header-art .ledger-sweep path:last-child { fill:var(--ledger-header-shape-b); }
  .ledger-mobile-nav {
    position: fixed;
    z-index: 20;
    left: 12px;
    right: 12px;
    bottom: var(--ledger-floating-nav-bottom);
    grid-row: auto;
    height: var(--ledger-floating-nav-height);
    min-height: 0;
    margin: 0;
    padding: 5px;
    align-items: stretch;
    border: 1px solid color-mix(in srgb, var(--ledger-accent) 28%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--ledger-accent) 32%, #25282b);
    box-shadow: 0 14px 30px #0004;
  }
  .ledger-mobile-nav button {
    min-height: 0;
    height: 100%;
    padding: 5px 2px;
    border-radius: 999px;
    color: #f6f8f6;
    font-size: 10px;
  }
  .ledger-mobile-nav-icon {
    position:relative;
    display:grid;
    place-items:center;
    flex:none;
    width:20px;
    height:20px;
  }
  .ledger-mobile-nav button.active,
  .ledger-mobile-nav button.active:hover {
    border-radius: 999px;
    background: var(--ledger-accent);
    color: #fff;
  }
  .ledger-mobile-nav button:not(.active):hover {
    background: #ffffff20;
    color: #fff;
  }
  .ledger-mobile-nav .ledger-nav-badge {
    left:14px;
    right:auto;
    top:-6px;
  }
  body.chat-keyboard-open .ledger-mobile-nav { display:flex; }
  .app-header .today-chip { right:auto; top:auto; width:100%; margin:0; padding:31px 0 16px; border:0; }
  .workspace, .ledger-background { border-radius:20px 20px 0 0; }
  .workspace { padding-bottom:calc(var(--ledger-floating-nav-height) + var(--ledger-floating-nav-bottom) + 24px); }
  #chatView .chat-bottom { margin-bottom:calc(var(--ledger-floating-nav-height) + var(--ledger-floating-nav-bottom) + 8px); }
  body.chat-keyboard-open #chatView .chat-bottom { margin-bottom:0; }
  .ledger-order-actionbar { bottom:calc(var(--ledger-floating-nav-height) + var(--ledger-floating-nav-bottom) + 8px); }
}
@media (max-width:560px) {
  .app-shell { background:var(--ledger-nav-bg); }
  :root:is([data-preview-device="iphone-15"], [data-preview-device="iphone-15-pro-max"], [data-preview-device="iphone-17-pro-max"]) .app-header {
    padding-top:58px;
  }
  :root[data-preview-device="iphone-se"] .app-header { padding-top:31px; }
}

/* Order creation and stock editing occupy the content pane, not the browser top layer. */
.ledger-content > .ledger-composer[open],
.ledger-content > .ledger-storage-editor[open] {
  display:block;
  position:relative;
  grid-area:2 / 1;
  z-index:8;
  box-sizing:border-box;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:var(--ledger-paper);
}
.ledger-content > .company-catalogue-demo-dialog[open] {
  display:block;
  position:relative;
  grid-area:2 / 1;
  z-index:12;
  box-sizing:border-box;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:var(--ledger-paper);
  box-shadow:none;
}
.ledger-content > .company-catalogue-demo-dialog[open] .company-catalogue-demo-card {
  width:100%;
  max-width:560px;
  height:100%;
  margin:0 auto;
  background:var(--ledger-paper);
}
.ledger-content > .ledger-composer[open] form,
.ledger-content > .ledger-storage-editor[open] form {
  width:100%;
  max-width:880px;
  margin:0 auto;
}
.ledger-content > .ledger-composer[open] .ledger-compose-header,
.ledger-content > .ledger-storage-editor[open] .ledger-compose-header {
  padding-top:22px;
  padding-bottom:18px;
}
.ledger-content > .ledger-composer[open] .ledger-compose-header h2,
.ledger-content > .ledger-storage-editor[open] .ledger-compose-header h2 { font-size:22px; }
.ledger-content > .ledger-composer[open] .ledger-compose-section h3,
.ledger-content > .ledger-storage-editor[open] .ledger-storage-edit-section h3 { font-size:11px; }
.ledger-content > .ledger-composer[open] label,
.ledger-content > .ledger-storage-editor[open] .ledger-storage-edit-grid label { font-size:11px; }
@media (max-width:760px) {
  .ledger-content > .ledger-composer[open],
  .ledger-content > .ledger-storage-editor[open] {
    padding-bottom:calc(var(--ledger-floating-nav-height) + var(--ledger-floating-nav-bottom) + 8px);
    border-radius:20px 20px 0 0;
  }
  .ledger-content > .company-catalogue-demo-dialog[open] {
    padding-bottom:calc(var(--ledger-floating-nav-height) + var(--ledger-floating-nav-bottom) + 8px);
    border-radius:20px 20px 0 0;
  }
  .ledger-content > .ledger-composer[open] .ledger-compose-header,
  .ledger-content > .ledger-storage-editor[open] .ledger-compose-header { padding:17px 16px; }
  .ledger-content > .ledger-composer[open] .ledger-compose-header h2,
  .ledger-content > .ledger-storage-editor[open] .ledger-compose-header h2 { font-size:19px; }
  .ledger-content > .ledger-composer[open] .dialog-actions,
  .ledger-content > .ledger-storage-editor[open] .dialog-actions { padding-bottom:12px; }
}

/* Sweep mark: the installed icon is neutral; these small marks follow the selected theme. */
:root {
  --io-mark-bg: var(--ledger-accent);
  --io-mark-sweep: color-mix(in srgb, var(--ledger-accent) 58%, var(--ledger-paper));
  --io-mark-circle: color-mix(in srgb, var(--ledger-accent) 52%, var(--ledger-side));
  --io-mark-ink: var(--ledger-on-accent);
}
.io-mark {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: none;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 22%;
  background: var(--io-mark-bg);
  color: var(--io-mark-ink);
  line-height: 1;
}
.io-mark::before,
.io-mark::after { content: ""; position: absolute; pointer-events: none; }
.io-mark::before {
  width: 148%;
  height: 90%;
  left: -22%;
  bottom: -57%;
  border-radius: 55% 48% 0 0;
  background: var(--io-mark-sweep);
  transform: rotate(-17deg);
}
.io-mark::after {
  width: 82%;
  height: 82%;
  right: -31%;
  top: -45%;
  border-radius: 50%;
  background: var(--io-mark-circle);
}
.io-mark > span { position: relative; z-index: 1; }
.ledger-logo.io-mark { width: 34px; height: 34px; margin-left: 8px; margin-bottom: 20px; font-size: 15px; }
.ledger-header-logo.io-mark { width: 29px; height: 29px; font-size: 13px; }
.splash-logo.io-mark { border: 1px solid var(--ledger-line); border-radius: 22%; color: var(--io-mark-ink); }
.login-brand .brand-mark.io-mark { border-radius: 22%; background: var(--io-mark-bg); color: var(--io-mark-ink); }
.ledger-welcome-mark.io-mark { border-radius: 22%; background: var(--io-mark-bg); color: var(--io-mark-ink); }
@media (min-width: 561px) {
  .app-header .ledger-header-logo.io-mark { display: none; }
}
@media (max-width: 560px) {
  .app-header .ledger-header-logo.io-mark { display: grid; }
}

/* Inventory workspace */
.inventory-hub-header,
.inventory-detail-header { align-items:flex-start; gap:18px; }
.inventory-hub-header .primary-button,
.inventory-detail-header .primary-button { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.inventory-hub-header .primary-button[hidden],
.inventory-detail-header .primary-button[hidden] { display:none !important; }
.inventory-overview {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  margin:0 0 22px;
  border-block:1px solid var(--ledger-line);
}
.inventory-overview > div { display:grid; gap:4px; padding:15px 18px; border-right:1px solid var(--ledger-line); }
.inventory-overview > div:last-child { border-right:0; }
.inventory-overview span,
.inventory-detail-metrics span { color:var(--ledger-muted); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.07em; }
.inventory-overview strong { font-size:24px; line-height:1; }
.inventory-hub-list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; padding-bottom:28px; }
.inventory-card {
  width:100%;
  padding:0;
  border:1px solid var(--ledger-line);
  border-radius:17px;
  background:color-mix(in srgb, var(--ledger-paper) 96%, var(--ledger-soft));
  color:var(--ledger-ink);
  text-align:left;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(20,43,35,.05);
}
.inventory-card:hover { border-color:color-mix(in srgb, var(--ledger-accent) 52%, var(--ledger-line)); transform:translateY(-1px); }
.inventory-card-head { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:16px; }
.inventory-card-icon,
.inventory-item-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:var(--ledger-soft); color:var(--ledger-accent); }
.inventory-card-title { display:grid; gap:3px; min-width:0; }
.inventory-card-title strong { font-size:15px; }
.inventory-card-title small { overflow:hidden; color:var(--ledger-muted); text-overflow:ellipsis; white-space:nowrap; }
.inventory-card-stats { display:grid; grid-template-columns:repeat(3, 1fr); border-block:1px solid var(--ledger-line); background:color-mix(in srgb, var(--ledger-soft) 55%, transparent); }
.inventory-card-stats > span { display:grid; gap:2px; padding:12px 14px; border-right:1px solid var(--ledger-line); }
.inventory-card-stats > span:last-child { border-right:0; }
.inventory-card-stats b { font-size:16px; }
.inventory-card-stats small { color:var(--ledger-muted); font-size:10px; }
.inventory-card-stats .warning b { color:#b34b31; }
.inventory-card-foot { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:12px 15px; color:var(--ledger-muted); }
.inventory-card-foot em { display:inline-flex; align-items:center; gap:5px; color:#b34b31; font-size:10px; font-style:normal; font-weight:800; }
.inventory-card-foot em.ready { color:var(--ledger-accent); }
.inventory-detail-title { display:flex; align-items:center; gap:12px; min-width:0; }
.inventory-detail-title .ledger-detail-back { flex:none; }
.inventory-detail-title h2 { margin:0; }
.inventory-balance-notice { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:10px; margin:0 0 13px; padding:10px 12px; border-left:2px solid var(--ledger-accent); background:color-mix(in srgb,var(--ledger-soft) 44%,transparent); }
.inventory-balance-notice > svg { width:17px; height:17px; color:var(--ledger-accent); }
.inventory-balance-notice > span { display:grid; gap:2px; }
.inventory-balance-notice strong { color:var(--ledger-ink); font-size:10px; }
.inventory-balance-notice small { color:var(--ledger-muted); font-size:8px; line-height:1.4; }
.inventory-detail-search { margin:0 0 14px; }
.inventory-detail-search .search-box { width:min(100%, 520px); }
.inventory-detail-table { margin-top:0; }
.inventory-detail-table table { min-width:0; table-layout:fixed; }
.inventory-detail-table .storage-col-name { width:62%; }
.inventory-detail-table .storage-col-amount { width:38%; }
.inventory-detail-table td strong { display:block; color:var(--ledger-ink); }
.inventory-detail-table tr.inventory-stock-low > td { background:color-mix(in srgb, var(--ledger-stock-low) 46%, var(--ledger-paper)); }
.inventory-catalogue-section { margin:22px 0 34px; padding:16px; border:1px solid var(--ledger-line); border-radius:14px; background:var(--ledger-soft); }
.inventory-catalogue-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:14px; border-bottom:1px solid var(--ledger-line); }
.inventory-catalogue-header h3 { margin:2px 0 4px; font-size:16px; }
.inventory-catalogue-header p { margin:0; color:var(--ledger-muted); font-size:10px; line-height:1.45; }
.inventory-catalogue-header .ghost-button { display:inline-flex; flex:none; align-items:center; gap:6px; }
.inventory-catalogue-list { display:grid; gap:0; }
.inventory-catalogue-product { display:grid; grid-template-columns:1fr auto; gap:8px 14px; padding:14px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-catalogue-product:last-child { border-bottom:0; padding-bottom:0; }
.inventory-catalogue-product > div { display:grid; gap:3px; min-width:0; }
.inventory-catalogue-product strong { color:var(--ledger-ink); font-size:13px; }
.inventory-catalogue-product small { color:var(--ledger-muted); font-size:10px; line-height:1.4; }
.inventory-catalogue-product .ghost-button { align-self:center; min-height:31px; padding:6px 10px; font-size:10px; }
.inventory-low-label { display:block; margin-top:4px; color:var(--ledger-danger); font-size:9px; font-weight:800; white-space:nowrap; }
.inventory-expiry-label { display:block; margin-top:4px; color:var(--ledger-muted); font-size:8px; font-weight:800; white-space:normal; }
.inventory-expiry-label.soon { color:var(--ledger-warning); }
.inventory-expiry-label.urgent,.inventory-expiry-label.expired { color:var(--ledger-danger); }
.inventory-lot-ledger { margin:14px 0 0; border-block:1px solid var(--ledger-line); }
.inventory-lot-ledger > header { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:10px 0 8px; }
.inventory-lot-ledger > header h4 { margin:2px 0 0; font-size:11px; }
.inventory-lot-ledger > header > small { color:var(--ledger-muted); font-size:7px; font-weight:750; }
.inventory-lot-ledger.empty { padding-bottom:10px; }
.inventory-lot-ledger.empty > p { margin:0; color:var(--ledger-muted); font-size:8px; line-height:1.45; }
.inventory-lot-register { display:grid; }
.inventory-lot-register article { display:grid; grid-template-columns:24px minmax(0,1fr) minmax(100px,.75fr) minmax(74px,.5fr); gap:9px; align-items:center; min-height:48px; border-top:1px solid var(--ledger-line); }
.inventory-lot-order { color:var(--ledger-muted); font:800 8px/1 var(--ledger-mono,monospace); }
.inventory-lot-copy,.inventory-lot-expiry,.inventory-lot-quantity { display:grid; gap:2px; min-width:0; }
.inventory-lot-copy strong,.inventory-lot-quantity strong { font-size:9px; }
.inventory-lot-copy small,.inventory-lot-expiry small,.inventory-lot-quantity small { color:var(--ledger-muted); font-size:7px; overflow-wrap:anywhere; }
.inventory-lot-expiry em { color:var(--ledger-muted); font-size:8px; font-style:normal; font-weight:850; }
.inventory-lot-register article.soon .inventory-lot-expiry em { color:var(--ledger-warning); }
.inventory-lot-register article.urgent .inventory-lot-expiry em,.inventory-lot-register article.expired .inventory-lot-expiry em { color:var(--ledger-danger); }
.inventory-lot-register article.expired { box-shadow:inset 2px 0 var(--ledger-danger); padding-left:8px; }
.inventory-lot-quantity { text-align:right; }
.inventory-lot-register article.unassigned { color:var(--ledger-muted); }
.inventory-estimated-value { color:var(--ledger-accent); font-size:15px !important; }
.inventory-detail-metrics > div > small { color:var(--ledger-muted); font-size:7px; font-weight:700; line-height:1.3; }
.inventory-tabs { display:flex; gap:5px; margin:-2px 0 20px; padding-bottom:1px; border-bottom:1px solid var(--ledger-line); overflow-x:auto; }
.inventory-tabs button { flex:none; padding:9px 12px 11px; border:0; border-bottom:2px solid transparent; background:none; color:var(--ledger-muted); font-weight:750; }
.inventory-tabs button.active { border-bottom-color:var(--ledger-accent); color:var(--ledger-accent); }
.inventory-tabs button[hidden] { display:none !important; }
.inventory-detail-metrics { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; margin-bottom:18px; }
.inventory-detail-metrics > div { display:grid; gap:6px; min-height:72px; padding:14px; border:1px solid var(--ledger-line); border-radius:13px; background:var(--ledger-paper); }
.inventory-detail-metrics strong { font-size:18px; }
.inventory-detail-metrics .warning strong { color:#b34b31; }
.inventory-zone-strip { display:flex; gap:8px; margin-bottom:22px; overflow-x:auto; }
.inventory-zone-strip button { flex:none; display:inline-flex; gap:7px; align-items:center; padding:8px 11px; border:1px solid var(--ledger-line); border-radius:999px; background:var(--ledger-paper); color:var(--ledger-muted); font-weight:750; }
.inventory-zone-strip button.active { border-color:var(--ledger-accent); background:var(--ledger-accent); color:var(--ledger-on-accent); }
.inventory-zone-strip span { display:grid; place-items:center; min-width:19px; height:19px; padding:0 5px; border-radius:999px; background:color-mix(in srgb, currentColor 12%, transparent); font-size:10px; }
.inventory-items-section .ledger-section-heading { margin-bottom:8px; }
.inventory-items-section .ledger-section-heading > span { color:var(--ledger-muted); font-size:11px; }
.inventory-item-list { display:grid; gap:8px; padding-bottom:28px; }
.inventory-item-row { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:12px 14px; border:1px solid var(--ledger-line); border-radius:13px; background:var(--ledger-paper); }
.inventory-item-row.low { border-left:3px solid #c85a3d; }
.inventory-item-copy,
.inventory-item-quantity { display:grid; gap:3px; min-width:0; }
.inventory-item-copy small,
.inventory-item-quantity small { color:var(--ledger-muted); }
.inventory-item-quantity { text-align:right; }
.inventory-item-row.low .inventory-item-quantity small { color:#b34b31; font-weight:750; }
.inventory-empty { display:grid; justify-items:center; gap:7px; padding:34px 18px; border:1px dashed var(--ledger-line); border-radius:15px; color:var(--ledger-muted); text-align:center; }
.inventory-empty strong { color:var(--ledger-ink); }
.inventory-empty p { margin:0; }

/* Inventory is organised as a stock register, count workflow and permanent movement ledger. */
.inventory-hub-tools { display:grid; grid-template-columns:minmax(220px,1fr) auto; gap:12px; align-items:end; margin:0 0 16px; }
.inventory-hub-tools .search-box { width:100%; }
.inventory-hub-filters,.inventory-stock-filters { display:flex; gap:4px; padding:3px; border:1px solid var(--ledger-line); border-radius:7px; background:var(--ledger-panel); }
.inventory-hub-filters button,.inventory-stock-filters button { min-height:30px; padding:5px 9px; border:0; border-radius:5px; background:transparent; color:var(--ledger-muted); font-size:9px; font-weight:800; white-space:nowrap; }
.inventory-hub-filters button.active,.inventory-stock-filters button.active { background:var(--ledger-accent); color:var(--ledger-on-accent); }
.inventory-hub-list { display:grid; grid-template-columns:1fr; gap:18px; }
.inventory-site-group { display:grid; gap:0; }
.inventory-site-group > header { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:0 0 8px; border-bottom:1px solid var(--ledger-line); }
.inventory-site-group > header div { display:grid; gap:2px; }
.inventory-site-group > header span { color:var(--ledger-muted); font-size:7px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.inventory-site-group > header strong { font-size:12px; }
.inventory-site-group > header small { color:var(--ledger-muted); font-size:8px; }
.inventory-register { display:grid; }
.inventory-register-row { width:100%; padding:0; border:0; border-bottom:1px solid var(--ledger-line); border-radius:0; background:transparent; color:var(--ledger-ink); text-align:left; }
.inventory-register-row:hover { background:color-mix(in srgb,var(--ledger-soft) 48%,transparent); }
.inventory-register-row.attention { box-shadow:inset 2px 0 var(--ledger-warning); }
.inventory-register-row .inventory-card-head { grid-template-columns:34px minmax(0,1fr) auto 14px; gap:10px; min-height:66px; padding:10px 8px; }
.inventory-register-row .inventory-card-icon { width:32px; height:32px; border-radius:7px; }
.inventory-register-row .inventory-card-icon svg { width:15px; height:15px; }
.inventory-register-row .inventory-card-title strong { font-size:11px; }
.inventory-register-row .inventory-card-title small { font-size:8px; }
.inventory-register-status { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:4px; max-width:190px; }
.inventory-register-status em { display:inline-flex; align-items:center; gap:4px; padding:3px 6px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-muted); font-size:7px; font-style:normal; font-weight:850; white-space:nowrap; }
.inventory-register-status em svg { width:9px; height:9px; }
.inventory-register-status .due,.inventory-register-status .low { background:color-mix(in srgb,var(--ledger-stock-low) 78%,var(--ledger-panel)); color:var(--ledger-warning); }
.inventory-register-status .setup { color:var(--ledger-accent); }
.inventory-register-status .expiry { background:color-mix(in srgb,var(--ledger-stock-empty) 72%,var(--ledger-panel)); color:var(--ledger-danger); }
.inventory-register-status .verified { background:transparent; color:var(--ledger-muted); }
.inventory-register-chevron { width:13px; height:13px; color:var(--ledger-muted); }
.inventory-detail-panel[hidden] { display:none !important; }
.inventory-stock-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; margin-bottom:9px; }
.inventory-stock-toolbar .search-box { width:100%; }
.inventory-stock-toolbar .ghost-button { display:inline-flex; align-items:center; gap:5px; min-height:34px; }
.inventory-stock-filters { width:max-content; margin-bottom:10px; }
.inventory-detail-metrics .inventory-freshness-value { font-size:10px; line-height:1.25; }
.inventory-item-context { display:block; margin-top:3px; color:var(--ledger-muted); font-size:8px; }
.inventory-count-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; padding:15px 0; border-block:1px solid var(--ledger-line); }
.inventory-count-hero.due { box-shadow:inset 3px 0 var(--ledger-warning); padding-left:12px; }
.inventory-count-hero h3,.inventory-count-plans h3,.inventory-count-history h3,.inventory-movement-intro h3,.inventory-settings-ledger h3,.inventory-settings-section h3 { margin:2px 0 4px; font-size:14px; }
.inventory-count-hero p,.inventory-movement-intro p,.inventory-settings-section p { margin:0; color:var(--ledger-muted); font-size:9px; line-height:1.45; }
.inventory-count-hero .primary-button { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.inventory-count-approval,.inventory-count-draft { display:grid; grid-template-columns:24px minmax(0,1fr) auto; gap:10px; align-items:center; margin-top:12px; padding:10px; border:1px solid color-mix(in srgb,var(--ledger-warning) 42%,var(--ledger-line)); background:color-mix(in srgb,var(--ledger-stock-low) 42%,transparent); }
.inventory-count-draft { border-color:var(--ledger-line); background:transparent; box-shadow:inset 2px 0 var(--ledger-accent); }
.inventory-count-approval > svg { color:var(--ledger-warning); }
.inventory-count-draft > svg { color:var(--ledger-accent); }
.inventory-count-approval div,.inventory-count-draft div { display:grid; gap:2px; }
.inventory-count-approval strong,.inventory-count-draft strong { font-size:10px; }
.inventory-count-approval small,.inventory-count-draft small { color:var(--ledger-muted); font-size:8px; }
.inventory-count-approval button,.inventory-count-draft button,.inventory-count-plans article > button { border:0; background:transparent; color:var(--ledger-accent); font-size:9px; font-weight:850; }
.inventory-count-plans,.inventory-count-history { margin-top:20px; }
.inventory-count-plans > header,.inventory-count-history > header,.inventory-movement-intro,.inventory-settings-section > header { display:flex; justify-content:space-between; gap:12px; align-items:end; padding-bottom:8px; border-bottom:1px solid var(--ledger-line); }
.inventory-count-plans article { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:10px; align-items:center; min-height:58px; border-bottom:1px solid var(--ledger-line); }
.inventory-count-plan-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:7px; background:var(--ledger-soft); color:var(--ledger-accent); }
.inventory-count-plan-icon svg { width:14px; height:14px; }
.inventory-count-plans article div { display:grid; gap:2px; }
.inventory-count-plans article strong { font-size:10px; }
.inventory-count-plans article small { color:var(--ledger-muted); font-size:8px; }
.inventory-count-history > header > small { color:var(--ledger-muted); font-size:8px; }
.inventory-count-history article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; min-height:52px; border-bottom:1px solid var(--ledger-line); }
.inventory-count-history article > span { display:grid; gap:2px; }
.inventory-count-history article strong { font-size:10px; }
.inventory-count-history article small { color:var(--ledger-muted); font-size:8px; }
.inventory-count-result { justify-items:end; }
.inventory-count-result em { padding:2px 6px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-accent); font-size:7px; font-style:normal; font-weight:850; }
.inventory-count-result em.completed { background:var(--ledger-stock-low); color:var(--ledger-warning); }
.inventory-movement-intro > span { padding:3px 7px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-accent); font-size:8px; font-weight:850; }
.inventory-movement-register { display:grid; }
.inventory-movement-register > button { display:grid; grid-template-columns:30px minmax(0,1fr) auto 14px; gap:10px; align-items:center; width:100%; min-height:66px; padding:0; border:0; border-bottom:1px solid var(--ledger-line); background:transparent; color:var(--ledger-ink); text-align:left; }
.inventory-movement-register > button:hover { background:color-mix(in srgb,var(--ledger-soft) 38%,transparent); }
.inventory-movement-chevron { width:13px; height:13px; color:var(--ledger-muted); }
.inventory-movement-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--ledger-soft); color:var(--ledger-accent); }
.inventory-movement-icon.outgoing { background:color-mix(in srgb,var(--ledger-stock-empty) 58%,var(--ledger-panel)); color:var(--ledger-danger); }
.inventory-movement-icon.adjustment { background:color-mix(in srgb,var(--ledger-stock-low) 58%,var(--ledger-panel)); color:var(--ledger-warning); }
.inventory-movement-icon svg { width:13px; height:13px; }
.inventory-movement-copy,.inventory-movement-amount { display:grid; gap:2px; }
.inventory-movement-copy strong { font-size:10px; }
.inventory-movement-copy small,.inventory-movement-copy em,.inventory-movement-amount small { color:var(--ledger-muted); font-size:7px; font-style:normal; }
.inventory-movement-amount { justify-items:end; text-align:right; }
.inventory-movement-amount strong { font-size:10px; }
.inventory-movement-amount.positive strong { color:var(--ledger-accent); }
.inventory-movement-amount.negative strong { color:var(--ledger-danger); }
.inventory-movement-dialog { width:min(calc(100% - 24px),600px); }
.inventory-movement-dialog > form { height:100%; }
.inventory-movement-dialog-body { padding:16px 18px 24px; }
.inventory-movement-record-head { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:12px; align-items:center; padding:0 0 15px; border-bottom:1px solid var(--ledger-line); }
.inventory-movement-record-head .inventory-movement-icon { width:34px; height:34px; }
.inventory-movement-record-head div { display:grid; gap:2px; }
.inventory-movement-record-head .eyebrow { margin:0; }
.inventory-movement-record-head h3 { margin:0; font-size:17px; font-variant-numeric:tabular-nums; }
.inventory-movement-record-head p:not(.eyebrow) { margin:0; color:var(--ledger-muted); font-size:8px; }
.inventory-movement-record-head > em { color:var(--ledger-muted); font-size:8px; font-style:normal; font-weight:850; }
.inventory-movement-ledger { margin:0; }
.inventory-movement-ledger > div { display:grid; grid-template-columns:minmax(120px,38%) minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-movement-ledger dt { color:var(--ledger-muted); font-size:8px; }
.inventory-movement-ledger dd { margin:0; overflow-wrap:anywhere; font-size:9px; font-weight:800; text-align:right; }
.inventory-movement-lots { margin-top:14px; border-block:1px solid var(--ledger-line); }
.inventory-movement-lots > .eyebrow { margin:0; padding:9px 0 7px; }
.inventory-movement-lots > div { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; border-top:1px solid var(--ledger-line); }
.inventory-movement-lots > div > span { display:grid; gap:2px; }
.inventory-movement-lots strong,.inventory-movement-lots b { font-size:9px; }
.inventory-movement-lots small { color:var(--ledger-muted); font-size:7px; }
.inventory-movement-linked,.inventory-movement-confirm { display:grid; grid-template-columns:24px minmax(0,1fr); gap:10px; align-items:start; margin-top:14px; padding:11px 0 11px 12px; border-left:2px solid var(--ledger-accent); }
.inventory-movement-linked > svg,.inventory-movement-confirm > svg { color:var(--ledger-accent); }
.inventory-movement-linked span,.inventory-movement-confirm div { display:grid; gap:3px; }
.inventory-movement-linked strong,.inventory-movement-confirm h3 { margin:0; font-size:11px; }
.inventory-movement-linked small,.inventory-movement-confirm p { margin:0; color:var(--ledger-muted); font-size:8px; line-height:1.45; }
.inventory-movement-restriction,.inventory-movement-audit-note,.inventory-movement-warning { display:grid; gap:3px; margin:15px 0 0; padding:10px 0 10px 12px; border-left:2px solid var(--ledger-warning); color:var(--ledger-muted); font-size:8px; line-height:1.45; }
.inventory-movement-audit-note { border-left-color:var(--ledger-accent); }
.inventory-movement-restriction strong,.inventory-movement-warning strong { color:var(--ledger-ink); font-size:9px; }
.inventory-movement-impact { margin-top:16px; border-block:1px solid var(--ledger-line); }
.inventory-movement-impact > div { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(70px,.7fr) 14px minmax(70px,.7fr); gap:9px; align-items:center; padding:11px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-movement-impact > div:last-child { border-bottom:0; }
.inventory-movement-impact span { display:grid; gap:2px; }
.inventory-movement-impact span:not(:first-child) { text-align:right; }
.inventory-movement-impact strong { font-size:9px; font-variant-numeric:tabular-nums; }
.inventory-movement-impact small { color:var(--ledger-muted); font-size:7px; }
.inventory-movement-impact svg { width:12px; color:var(--ledger-muted); }
.inventory-movement-reason { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:17px; }
.inventory-movement-reason label { display:grid; align-content:start; gap:6px; color:var(--ledger-ink); font-size:8px; font-weight:850; }
.inventory-movement-reason label small { color:var(--ledger-muted); font-size:7px; font-weight:650; }
.inventory-movement-reason select,.inventory-movement-reason textarea { width:100%; border:0; border-bottom:1px solid var(--ledger-line); border-radius:0; background:transparent; color:var(--ledger-ink); font:inherit; font-size:9px; }
.inventory-movement-reason textarea { resize:vertical; }
.ledger-content .inventory-movement-dialog .inventory-movement-reason select,
.ledger-content .inventory-movement-dialog .inventory-movement-reason textarea { min-height:38px; padding:8px 4px; font-size:9px !important; font-weight:700; line-height:1.4; }
.ledger-content .inventory-movement-dialog .inventory-movement-reason textarea::placeholder { color:var(--ledger-muted); font-size:9px; font-weight:600; opacity:1; }
.inventory-movement-reason > p { grid-column:1 / -1; min-height:12px; margin:0; color:var(--ledger-danger); font-size:8px; }
.inventory-movement-complete { display:grid; justify-items:center; gap:10px; padding:28px 0; text-align:center; }
.inventory-movement-complete > span { display:grid; width:42px; height:42px; place-items:center; border:1px solid var(--ledger-line); color:var(--ledger-accent); }
.inventory-movement-complete h3 { margin:0; font-size:16px; }
.inventory-movement-complete > p { max-width:390px; margin:0; color:var(--ledger-muted); font-size:9px; line-height:1.5; }
.inventory-movement-complete dl { width:100%; margin:10px 0 0; border-top:1px solid var(--ledger-line); }
.inventory-movement-complete dl > div { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:9px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-movement-complete dt { color:var(--ledger-muted); font-size:8px; text-align:left; }
.inventory-movement-complete dd { margin:0; font-size:9px; font-weight:800; text-align:right; }
.inventory-settings-ledger,.inventory-settings-section { margin-bottom:20px; }
.inventory-settings-ledger > header { display:flex; justify-content:space-between; align-items:end; gap:12px; padding-bottom:8px; border-bottom:1px solid var(--ledger-line); }
.inventory-settings-ledger > header > span { color:var(--ledger-muted); font-size:8px; font-weight:800; }
.inventory-settings-ledger dl,.inventory-settings-section dl { display:grid; margin:0; }
.inventory-settings-ledger dl > div,.inventory-settings-section dl > div { display:grid; grid-template-columns:minmax(120px,38%) minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-settings-ledger dt,.inventory-settings-section dt { color:var(--ledger-muted); font-size:8px; font-weight:750; }
.inventory-settings-ledger dd,.inventory-settings-section dd { margin:0; font-size:9px; font-weight:800; text-align:right; }
.inventory-settings-section ol { margin:0; padding:0; list-style:none; }
.inventory-settings-section li { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:8px; align-items:center; min-height:43px; border-bottom:1px solid var(--ledger-line); }
.inventory-settings-section li > span { color:var(--ledger-muted); font-size:8px; font-variant-numeric:tabular-nums; }
.inventory-settings-section li strong { font-size:10px; }
.inventory-settings-section li small { color:var(--ledger-muted); font-size:8px; }

.inventory-count-dialog { width:min(calc(100% - 24px),620px); }
.inventory-count-dialog form { height:100%; }
.inventory-count-progress { display:grid; gap:7px; padding:10px 16px; border-bottom:1px solid var(--ledger-line); }
.inventory-count-progress > div { display:flex; justify-content:space-between; gap:12px; color:var(--ledger-muted); font-size:8px; font-weight:800; }
.inventory-count-progress > div strong { color:var(--ledger-ink); }
.inventory-count-progress > i { display:block; height:4px; overflow:hidden; border-radius:999px; background:var(--ledger-soft); }
.inventory-count-progress > i b { display:block; height:100%; border-radius:inherit; background:var(--ledger-accent); transition:width .2s ease; }
.inventory-count-scroll { padding:14px 16px 24px; }
.inventory-count-guidance { display:grid; grid-template-columns:18px minmax(0,1fr); gap:9px; margin-bottom:14px; padding:10px; background:var(--ledger-soft); color:var(--ledger-muted); }
.inventory-count-guidance svg { color:var(--ledger-accent); }
.inventory-count-guidance span { display:grid; gap:2px; }
.inventory-count-guidance strong { color:var(--ledger-ink); font-size:9px; }
.inventory-count-guidance small { font-size:8px; line-height:1.4; }
.inventory-count-zone-nav { display:grid; grid-template-columns:repeat(auto-fit,minmax(112px,1fr)); margin-bottom:18px; border-block:1px solid var(--ledger-line); }
.inventory-count-zone-nav button { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:7px; align-items:center; min-width:0; min-height:38px; padding:7px 9px; border:0; border-right:1px solid var(--ledger-line); background:transparent; color:var(--ledger-muted); text-align:left; }
.inventory-count-zone-nav button:last-child { border-right:0; }
.inventory-count-zone-nav button.active { box-shadow:inset 0 -2px var(--ledger-accent); color:var(--ledger-ink); }
.inventory-count-zone-nav button.complete:not(.active) { color:var(--ledger-accent); }
.inventory-count-zone-nav button span,.inventory-count-zone-nav button small { font-size:7px; font-weight:800; }
.inventory-count-zone-nav button strong { overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.inventory-count-zone { margin-bottom:18px; }
.inventory-count-zone > header { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; align-items:center; padding-bottom:7px; border-bottom:1px solid var(--ledger-line); }
.inventory-count-zone > header > span { color:var(--ledger-muted); font-size:8px; font-weight:850; }
.inventory-count-zone > header div { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.inventory-count-zone > header strong { font-size:10px; }
.inventory-count-zone > header small { color:var(--ledger-muted); font-size:8px; }
.inventory-count-row { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:7px 12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-count-row.status-counted { box-shadow:inset 2px 0 var(--ledger-accent); padding-left:8px; }
.inventory-count-row.status-skipped { opacity:.65; }
.inventory-count-row > div:first-child { display:grid; gap:2px; }
.inventory-count-row > div:first-child strong { font-size:10px; }
.inventory-count-row > div:first-child small { color:var(--ledger-muted); font-size:7px; }
.inventory-count-row label { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; border-bottom:1px solid var(--ledger-line); }
.inventory-count-row label input { min-width:0; width:100%; padding:7px 5px; border:0; background:transparent; color:var(--ledger-ink); font-weight:850; text-align:right; }
.inventory-count-row label span { color:var(--ledger-muted); font-size:8px; }
.inventory-count-row-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; gap:5px; }
.inventory-count-row-actions button { min-height:25px; padding:3px 7px; border:1px solid var(--ledger-line); border-radius:4px; background:transparent; color:var(--ledger-muted); font-size:7px; font-weight:800; }
.inventory-count-row-actions button.active { border-color:var(--ledger-warning); background:var(--ledger-stock-low); color:var(--ledger-warning); }
.inventory-count-review-summary { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--ledger-line); }
.inventory-count-review-summary div { display:grid; gap:3px; padding:11px; border-right:1px solid var(--ledger-line); }
.inventory-count-review-summary div:last-child { border-right:0; }
.inventory-count-review-summary span { color:var(--ledger-muted); font-size:7px; font-weight:800; text-transform:uppercase; }
.inventory-count-review-summary strong { font-size:16px; }
.inventory-variance-list { margin-top:18px; }
.inventory-variance-list > header { padding-bottom:8px; border-bottom:1px solid var(--ledger-line); }
.inventory-variance-list h3 { margin:2px 0 0; font-size:13px; }
.inventory-variance-list article { display:grid; grid-template-columns:minmax(0,1fr) 48px 48px 42px; gap:7px; align-items:center; min-height:52px; border-bottom:1px solid var(--ledger-line); }
.inventory-variance-list article.changed { box-shadow:inset 2px 0 var(--ledger-warning); padding-left:7px; }
.inventory-variance-list article > span { display:grid; gap:2px; }
.inventory-variance-list article > span:not(:first-child) { text-align:right; }
.inventory-variance-list article strong { font-size:9px; }
.inventory-variance-list article small { color:var(--ledger-muted); font-size:7px; }
.inventory-variance-list article > em { color:var(--ledger-muted); font-size:9px; font-style:normal; font-weight:850; text-align:right; }
.inventory-variance-list article > em.positive { color:var(--ledger-accent); }
.inventory-variance-list article > em.negative { color:var(--ledger-danger); }
.inventory-skipped-note { padding:9px; background:var(--ledger-soft); color:var(--ledger-muted); font-size:8px; line-height:1.4; }
.inventory-count-match { display:grid; grid-template-columns:24px minmax(0,1fr); gap:9px; align-items:center; padding:15px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-count-match > svg { color:var(--ledger-accent); }
.inventory-count-match span { display:grid; gap:2px; }
.inventory-count-match strong { font-size:9px; }
.inventory-count-match small { color:var(--ledger-muted); font-size:8px; }
.inventory-count-note { display:grid; gap:6px; margin-top:16px; }
.inventory-count-note > span { display:flex; justify-content:space-between; color:var(--ledger-ink); font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.inventory-count-note > span small { color:var(--ledger-muted); font-size:7px; text-transform:none; letter-spacing:0; }
.inventory-count-note textarea { width:100%; resize:vertical; border:0; border-bottom:1px solid var(--ledger-line); border-radius:0; background:transparent; color:var(--ledger-ink); font:inherit; font-size:9px; line-height:1.45; }
.inventory-count-complete { display:grid; justify-items:center; gap:9px; padding:20px 0; text-align:center; }
.inventory-count-complete > span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--ledger-soft); color:var(--ledger-accent); }
.inventory-count-complete h3 { margin:0; font-size:16px; }
.inventory-count-complete > p { max-width:380px; margin:0; color:var(--ledger-muted); font-size:9px; line-height:1.5; }
.inventory-count-complete dl { width:100%; margin:8px 0 0; border-top:1px solid var(--ledger-line); }
.inventory-count-complete dl > div { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:9px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-count-complete dt { color:var(--ledger-muted); font-size:8px; text-align:left; }
.inventory-count-complete dd { margin:0; font-size:9px; font-weight:800; text-align:right; }

/* Inventory setup and product form */
.inventory-wizard-progress { display:grid; gap:7px; padding:12px 20px; border-bottom:1px solid var(--ledger-line); color:var(--ledger-muted); font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.inventory-wizard-progress > div { height:5px; border-radius:999px; background:var(--ledger-soft); overflow:hidden; }
.inventory-wizard-progress i { display:block; width:16.666%; height:100%; border-radius:inherit; background:var(--ledger-accent); transition:width .25s ease; }
.inventory-wizard-scroll { padding:20px; }
.inventory-wizard-step > h3 { margin:0 0 6px; font-size:19px; }
.inventory-wizard-step > p { margin:0 0 18px; color:var(--ledger-muted); line-height:1.45; }
.inventory-template-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:9px; }
.inventory-template-grid button { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:11px; padding:14px; border:1px solid var(--ledger-line); border-radius:13px; background:var(--ledger-paper); color:var(--ledger-ink); text-align:left; }
.inventory-template-grid button > svg { grid-row:1 / 3; align-self:center; color:var(--ledger-accent); }
.inventory-template-grid button small { color:var(--ledger-muted); }
.inventory-template-grid button[aria-pressed="true"] { border-color:var(--ledger-accent); background:var(--ledger-soft); box-shadow:inset 0 0 0 1px var(--ledger-accent); }
.inventory-form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.inventory-form-grid .wide { grid-column:1 / -1; }
.inventory-form-grid label,
.inventory-custom-zones { display:grid; gap:6px; color:var(--ledger-muted); font-size:11px; font-weight:750; }
.inventory-form-grid input,
.inventory-form-grid select,
.inventory-form-grid textarea,
.inventory-custom-zones input { width:100%; padding:11px 12px; border:1px solid var(--ledger-line); border-radius:9px; background:var(--ledger-paper); color:var(--ledger-ink); font:inherit; }
.inventory-zone-options { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.inventory-zone-options label { position:relative; }
.inventory-zone-options input { position:absolute; opacity:0; }
.inventory-zone-options span { display:block; padding:9px 12px; border:1px solid var(--ledger-line); border-radius:999px; background:var(--ledger-paper); }
.inventory-zone-options input:checked + span { border-color:var(--ledger-accent); background:var(--ledger-soft); color:var(--ledger-accent); font-weight:800; }
.inventory-method-list,
.inventory-permission-list { display:grid; gap:9px; }
.inventory-method-list label,
.inventory-permission-list label { display:grid; grid-template-columns:auto 1fr; gap:11px; align-items:center; padding:12px; border:1px solid var(--ledger-line); border-radius:12px; background:var(--ledger-paper); }
.inventory-method-list label > span,
.inventory-permission-list label > span { display:grid; grid-template-columns:auto 1fr; column-gap:9px; }
.inventory-method-list svg { grid-row:1 / 3; align-self:center; color:var(--ledger-accent); }
.inventory-method-list small,
.inventory-permission-list small { grid-column:2; color:var(--ledger-muted); }
.inventory-permission-list { margin-top:16px; }
.inventory-permission-list label > span { grid-template-columns:1fr; }
.inventory-permission-list small { grid-column:1; }
.inventory-review { display:grid; gap:13px; }
.inventory-review > div { display:flex; gap:12px; align-items:center; padding:14px; border-radius:13px; background:var(--ledger-soft); color:var(--ledger-accent); }
.inventory-review > div > span { display:grid; gap:2px; }
.inventory-review > div small { color:var(--ledger-muted); }
.inventory-review dl { display:grid; margin:0; border:1px solid var(--ledger-line); border-radius:13px; overflow:hidden; }
.inventory-review dl > div { display:flex; justify-content:space-between; gap:20px; padding:11px 13px; border-bottom:1px solid var(--ledger-line); }
.inventory-review dl > div:last-child { border-bottom:0; }
.inventory-review dt { color:var(--ledger-muted); }
.inventory-review dd { margin:0; text-align:right; font-weight:750; }
.inventory-wizard-actions { justify-content:space-between; }
.inventory-wizard-actions #inventoryWizardBack[hidden] { visibility:hidden; display:block; }
.inventory-advanced-fields { margin:0 20px 20px; border:1px solid var(--ledger-line); border-radius:13px; overflow:hidden; }
.inventory-advanced-fields summary { padding:13px 15px; color:var(--ledger-accent); cursor:pointer; font-weight:800; }
.inventory-advanced-fields[open] summary { border-bottom:1px solid var(--ledger-line); }
.inventory-advanced-fields .inventory-form-grid { padding:15px; }

.inventory-device-guide-dialog { width:min(calc(100% - 24px),520px); }
.inventory-device-guide-body { padding:20px; }
.inventory-device-guide-lead { margin:0 0 18px; color:var(--ledger-ink); font-size:13px; line-height:1.5; }
.inventory-device-guide-body dl { margin:0; border-block:1px solid var(--ledger-line); }
.inventory-device-guide-body dl > div { display:grid; grid-template-columns:82px minmax(0,1fr); gap:15px; padding:13px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-device-guide-body dl > div:last-child { border-bottom:0; }
.inventory-device-guide-body dt { color:var(--ledger-accent); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.inventory-device-guide-body dd { margin:0; color:var(--ledger-muted); font-size:11px; line-height:1.45; }
.inventory-device-guide-note { margin-top:16px; padding:11px 0 11px 12px; border-left:2px solid var(--ledger-accent); color:var(--ledger-muted); font-size:10px; line-height:1.45; }
.inventory-device-guide-actions .primary-button { display:inline-flex; align-items:center; gap:6px; }

@media (max-width:760px) {
  .inventory-hub-list { grid-template-columns:1fr; }
  .inventory-detail-metrics { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .inventory-count-dialog[open] { min-height:calc(100% - var(--ledger-floating-nav-height) - var(--ledger-floating-nav-bottom) - 6px); }
  .inventory-wizard-dialog[open],
  .inventory-item-dialog[open] { min-height:calc(100% - var(--ledger-floating-nav-height) - var(--ledger-floating-nav-bottom) - 6px); }
}
@media (max-width:560px) {
  .inventory-hub-header,
  .inventory-detail-header { align-items:center; }
  .inventory-hub-header > div p { display:none; }
  .inventory-hub-header .primary-button,
  .inventory-detail-header .primary-button { padding:9px 10px; font-size:11px; }
  .inventory-overview > div { padding:12px 10px; }
  .inventory-overview strong { font-size:20px; }
  .inventory-overview span { font-size:9px; }
  .inventory-card-head { padding:13px; }
  .inventory-card-stats > span { padding:10px 12px; }
  .inventory-detail-title .eyebrow { max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .inventory-tabs { margin-top:-8px; }
  .inventory-detail-metrics > div { min-height:62px; padding:11px; }
  .inventory-hub-tools { grid-template-columns:1fr; gap:7px; }
  .inventory-hub-filters { width:100%; }
  .inventory-hub-filters button { flex:1; }
  .inventory-register-row .inventory-card-head { grid-template-columns:32px minmax(0,1fr) 13px; grid-template-rows:auto auto; gap:5px 9px; }
  .inventory-register-status { grid-column:2; justify-content:flex-start; max-width:none; }
  .inventory-register-chevron { grid-column:3; grid-row:1 / 3; }
  .inventory-stock-toolbar { grid-template-columns:minmax(0,1fr) auto; }
  .inventory-stock-toolbar .ghost-button { width:34px; padding:0; justify-content:center; font-size:0; }
  .inventory-stock-toolbar .ghost-button svg { width:14px; height:14px; }
  .inventory-stock-filters { width:100%; }
  .inventory-stock-filters button { flex:1; }
  .inventory-count-hero { grid-template-columns:1fr; }
  .inventory-count-hero .primary-button { justify-self:start; }
  .inventory-movement-register > button { grid-template-columns:26px minmax(0,1fr) auto 12px; gap:8px; }
  .inventory-movement-copy em { display:none; }
  .inventory-count-dialog { width:100%; height:100svh; max-height:100svh; margin:0; border:0; border-radius:0; }
  .inventory-count-row { grid-template-columns:minmax(0,1fr) 92px; }
  .inventory-count-row-actions { justify-content:flex-start; }
  .inventory-movement-dialog { width:100%; height:100svh; max-height:100svh; margin:0; border:0; border-radius:0; }
  .inventory-movement-reason { grid-template-columns:1fr; }
  .inventory-movement-reason > p { grid-column:auto; }
  .inventory-movement-impact > div { grid-template-columns:minmax(0,1fr) 62px 10px 62px; }
  .inventory-count-zone-nav { display:flex; overflow-x:auto; }
  .inventory-count-zone-nav button { flex:0 0 132px; }
  .inventory-catalogue-header { display:grid; }
  .inventory-catalogue-header .ghost-button { justify-self:start; }
  .inventory-item-row { grid-template-columns:auto 1fr; }
  .inventory-item-quantity { grid-column:2; grid-row:2; text-align:left; }
  .inventory-template-grid,
  .inventory-form-grid { grid-template-columns:1fr; }
  .inventory-form-grid .wide { grid-column:auto; }
  .inventory-wizard-scroll { padding:17px 16px; }
  .inventory-advanced-fields { margin-inline:16px; }
  .inventory-device-guide-dialog[open] { min-height:calc(100% - var(--ledger-floating-nav-height) - var(--ledger-floating-nav-bottom) - 6px); }
  .ledger-composer .inventory-device-guide-actions { display:grid; grid-template-columns:1fr; gap:8px; }
  .ledger-composer .inventory-device-guide-actions button { width:100%; min-width:0; }
}

/* Inventory Ledger consistency pass — one register language across every surface. */
.inventory-detail-metrics {
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:0;
  border-block:1px solid var(--ledger-line);
}
.inventory-detail-metrics > div {
  min-height:68px;
  padding:12px 14px;
  border:0;
  border-right:1px solid var(--ledger-line);
  border-radius:0;
  background:transparent;
}
.inventory-detail-metrics > div:last-child { border-right:0; }
.inventory-detail-metrics strong { font-variant-numeric:tabular-nums; }

.inventory-hub-filters,
.inventory-stock-filters {
  gap:0;
  padding:0;
  border:0;
  border-bottom:1px solid var(--ledger-line);
  border-radius:0;
  background:transparent;
}
.inventory-stock-filters[hidden] { display:none !important; }
.inventory-hub-filters button,
.inventory-stock-filters button {
  min-height:34px;
  padding:6px 12px 8px;
  border-radius:0;
}
.inventory-hub-filters button.active,
.inventory-stock-filters button.active {
  background:transparent;
  color:var(--ledger-accent);
  box-shadow:inset 0 -2px var(--ledger-accent);
}
.inventory-stock-actions { display:flex; align-items:center; gap:7px; }
.inventory-stock-actions .ghost-button.active {
  border-color:var(--ledger-accent);
  color:var(--ledger-accent);
}

.inventory-zone-strip {
  gap:0;
  margin-bottom:18px;
  border-bottom:1px solid var(--ledger-line);
}
.inventory-zone-strip button {
  gap:6px;
  padding:9px 12px 10px;
  border:0;
  border-radius:0;
  background:transparent;
}
.inventory-zone-strip button.active {
  background:transparent;
  color:var(--ledger-accent);
  box-shadow:inset 0 -2px var(--ledger-accent);
}
.inventory-zone-strip span {
  display:inline;
  min-width:0;
  height:auto;
  padding:0;
  border-radius:0;
  background:transparent;
  color:var(--ledger-muted);
  font-variant-numeric:tabular-nums;
}
.inventory-zone-strip button.active span { color:inherit; }

.inventory-register-row .inventory-card-icon,
.inventory-count-plan-icon,
.inventory-movement-icon {
  border:1px solid var(--ledger-line);
  border-radius:2px;
  background:transparent;
}
.inventory-register-status em,
.inventory-count-result em,
.inventory-movement-intro > span {
  padding:0;
  border-radius:0;
  background:transparent;
}
.inventory-register-status em + em {
  margin-left:3px;
  padding-left:7px;
  border-left:1px solid var(--ledger-line);
}
.inventory-register-status .due,
.inventory-register-status .low,
.inventory-register-status .expiry,
.inventory-count-result em.completed {
  background:transparent;
}

.inventory-catalogue-section {
  margin:24px 0 34px;
  padding:14px 0 0;
  border:0;
  border-block:1px solid var(--ledger-line);
  border-radius:0;
  background:transparent;
}
.inventory-catalogue-header { padding:0 0 12px; }
.inventory-catalogue-product:last-child { padding-bottom:14px; }
.inventory-empty {
  padding:26px 12px;
  border:0;
  border-block:1px solid var(--ledger-line);
  border-radius:0;
}

.inventory-count-hero.due {
  padding-left:12px;
  box-shadow:inset 2px 0 var(--ledger-warning);
}
.inventory-count-approval {
  padding:10px 10px 10px 13px;
  border:0;
  border-block:1px solid var(--ledger-line);
  border-radius:0;
  background:transparent;
  box-shadow:inset 2px 0 var(--ledger-warning);
}
.inventory-count-guidance,
.inventory-skipped-note {
  padding:9px 0 9px 11px;
  border-left:2px solid var(--ledger-accent);
  background:transparent;
}
.inventory-count-progress > i,
.inventory-count-progress > i b,
.inventory-wizard-progress > div,
.inventory-wizard-progress i { border-radius:0; }
.inventory-count-row-actions button {
  border-radius:1px;
  background:transparent;
}
.inventory-count-complete > span {
  width:38px;
  height:38px;
  border:1px solid var(--ledger-line);
  border-radius:2px;
  background:transparent;
}

.inventory-template-grid { gap:0; border-top:1px solid var(--ledger-line); }
.inventory-template-grid button {
  min-height:70px;
  padding:13px 12px;
  border:0;
  border-right:1px solid var(--ledger-line);
  border-bottom:1px solid var(--ledger-line);
  border-radius:0;
  background:transparent;
}
.inventory-template-grid button:nth-child(even) { border-right:0; }
.inventory-template-grid button[aria-pressed="true"] {
  border-color:var(--ledger-line);
  background:transparent;
  box-shadow:inset 3px 0 var(--ledger-accent);
}
.inventory-form-grid input,
.inventory-form-grid select,
.inventory-form-grid textarea,
.inventory-custom-zones input,
.inventory-item-dialog input,
.inventory-item-dialog select,
.inventory-item-dialog textarea {
  border-radius:2px;
  background:transparent;
}
.inventory-zone-options { gap:0; border-top:1px solid var(--ledger-line); }
.inventory-zone-options span {
  padding:9px 11px;
  border-width:0 1px 1px 0;
  border-radius:0;
  background:transparent;
}
.inventory-zone-options input:checked + span {
  background:transparent;
  box-shadow:inset 0 -2px var(--ledger-accent);
}
.inventory-review { gap:0; }
.inventory-review > div {
  padding:12px 0;
  border-bottom:1px solid var(--ledger-line);
  border-radius:0;
  background:transparent;
}
.inventory-review dl {
  border:0;
  border-radius:0;
}
.inventory-review dl > div { padding-inline:0; }
.inventory-advanced-fields {
  border-radius:0;
  background:transparent;
}
.inventory-publish-panel {
  margin:16px 0 4px;
  padding:14px 0;
  border:0;
  border-block:1px solid var(--ledger-line);
  border-radius:0;
  background:transparent;
}
.inventory-publish-panel > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--ledger-accent);
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  list-style:none;
}
.inventory-publish-panel > summary::-webkit-details-marker { display:none; }
.inventory-publish-panel > summary small {
  color:var(--ledger-muted);
  font-size:8px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.inventory-publish-panel[open] > summary {
  padding-bottom:12px;
  border-bottom:1px solid var(--ledger-line);
}
.inventory-publish-body { padding-top:13px; }
.catalogue-demo-link {
  min-height:auto;
  padding:2px 0;
  border:0;
  border-bottom:1px solid currentColor;
  border-radius:0;
  background:transparent;
}
.inventory-publish-optional {
  border-radius:0;
  background:transparent;
}
.inventory-company-badge {
  padding:2px 0;
  border-radius:0;
  background:transparent;
}
.inventory-company-settings > header { align-items:center; }
.inventory-company-settings > header .ghost-button {
  display:inline-flex;
  flex:none;
  align-items:center;
  gap:5px;
}

@media (max-width:760px) {
  .inventory-detail-metrics { display:flex; overflow-x:auto; }
  .inventory-detail-metrics > div { flex:1 1 0; min-width:92px; border-bottom:0; }
  .inventory-detail-metrics > div:last-child { border-right:0; }
}
@media (max-width:560px) {
  .inventory-template-grid button { border-right:0; }
  .inventory-stock-actions { gap:5px; }
  .inventory-company-settings > header { align-items:start; }
  .inventory-company-settings > header .ghost-button { justify-self:start; }
}

/* Team chat channels — permission-aware Ledger layout. */
#chatView .chat-header { padding-bottom:12px; }
#chatView .chat-header .eyebrow { margin:0 0 3px; color:var(--ledger-accent); font-size:8px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
#chatView .chat-header h2 { margin:0 0 4px; }
#chatView .chat-header p:not(.eyebrow) { margin:0; color:var(--ledger-muted); font-size:10px; line-height:1.4; }
#chatView .team-chat-shell { display:grid; grid-template-columns:220px minmax(0,1fr); flex:1; min-height:0; }
#chatView .chat-channel-panel { display:flex; min-width:0; min-height:0; flex-direction:column; overflow:hidden; border-right:1px solid var(--ledger-line); background:color-mix(in srgb, var(--ledger-soft) 32%, transparent); }
#chatView .chat-channel-heading { display:grid; gap:2px; padding:11px 13px 10px; border-bottom:1px solid var(--ledger-line); }
#chatView .chat-channel-heading span { color:var(--ledger-ink); font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
#chatView .chat-channel-heading small { color:var(--ledger-muted); font-size:9px; line-height:1.35; }
#chatView .chat-channel-list { min-height:0; overflow-y:auto; padding:8px; }
#chatView .chat-channel-group + .chat-channel-group { margin-top:10px; padding-top:8px; border-top:1px solid var(--ledger-line); }
#chatView .chat-channel-group > h3 { margin:0; padding:0 7px 5px; color:var(--ledger-muted); font-size:8px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
#chatView .chat-channel-button { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:8px; width:100%; min-height:43px; padding:6px 7px; border:0; border-radius:4px; background:transparent; color:var(--ledger-ink); text-align:left; }
#chatView .chat-channel-button:hover { background:color-mix(in srgb, var(--ledger-soft) 70%, transparent); }
#chatView .chat-channel-button.active { background:var(--ledger-panel); box-shadow:inset 3px 0 var(--ledger-accent); }
#chatView .chat-channel-icon { display:grid; place-items:center; width:27px; height:27px; border:1px solid var(--ledger-line); border-radius:4px; color:var(--ledger-muted); background:var(--ledger-panel); }
#chatView .chat-channel-button.active .chat-channel-icon { border-color:color-mix(in srgb, var(--ledger-accent) 38%, var(--ledger-line)); color:var(--ledger-accent); background:var(--ledger-soft); }
#chatView .chat-channel-icon svg { width:13px; height:13px; stroke-width:1.8; }
#chatView .chat-channel-copy { display:grid; gap:2px; min-width:0; }
#chatView .chat-channel-copy strong,
#chatView .chat-channel-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#chatView .chat-channel-copy strong { font-size:10px; font-weight:800; }
#chatView .chat-channel-copy small { color:var(--ledger-muted); font-size:8px; }
#chatView .chat-channel-count { display:grid; place-items:center; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-accent); font-size:8px; font-weight:850; }
#chatView .team-chat-card { min-width:0; }
#chatView .chat-conversation-head { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:47px; padding:8px 23px; border-bottom:1px solid var(--ledger-line); }
#chatView .chat-conversation-head > div:first-child { display:grid; gap:2px; min-width:0; }
#chatView .chat-conversation-head strong { overflow:hidden; color:var(--ledger-ink); font-size:12px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
#chatView .chat-conversation-head small { overflow:hidden; color:var(--ledger-muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
#chatView .chat-conversation-head .chat-current-day { flex:none; margin:0; font-size:8px; }
#chatView .chat-conversation-head .chat-current-day::before,
#chatView .chat-conversation-head .chat-current-day::after { display:none; }
#chatView .chat-empty { display:grid; place-items:center; align-content:center; gap:4px; min-height:100%; padding:36px 18px; color:var(--ledger-muted); text-align:center; }
#chatView .chat-empty strong { color:var(--ledger-ink); font-size:12px; }
#chatView .chat-empty span { max-width:240px; font-size:10px; line-height:1.45; }

@media (max-width:560px) {
  #chatView .team-chat-shell { display:flex; flex-direction:column; }
  #chatView .chat-channel-panel { flex:none; min-height:auto; border-right:0; border-bottom:1px solid var(--ledger-line); background:transparent; }
  #chatView .chat-channel-heading { display:none; }
  #chatView .chat-channel-list { display:flex; gap:6px; overflow-x:auto; overflow-y:hidden; padding:8px 16px; scrollbar-width:none; }
  #chatView .chat-channel-list::-webkit-scrollbar { display:none; }
  #chatView .chat-channel-group { display:contents; }
  #chatView .chat-channel-group + .chat-channel-group { margin:0; padding:0; border:0; }
  #chatView .chat-channel-group > h3 { display:none; }
  #chatView .chat-channel-button { flex:0 0 auto; grid-template-columns:24px minmax(0,1fr); width:auto; min-width:142px; max-width:182px; min-height:39px; padding:5px 8px; border:1px solid var(--ledger-line); border-radius:7px; background:var(--ledger-panel); }
  #chatView .chat-channel-button.active { border-color:var(--ledger-accent); background:var(--ledger-soft); box-shadow:none; }
  #chatView .chat-channel-icon { width:23px; height:23px; }
  #chatView .chat-channel-count { display:none; }
  #chatView .chat-conversation-head { min-height:43px; padding:7px 16px; }
}

/* Team updates — one-way operational communication, not a messaging product. */
#chatView .team-updates-shell { display:flex; min-height:0; flex:1; flex-direction:column; overflow:hidden; }
#chatView .team-update-filters { display:flex; flex:none; gap:6px; padding:9px 23px; overflow-x:auto; border-bottom:1px solid var(--ledger-line); scrollbar-width:none; }
#chatView .team-update-filters::-webkit-scrollbar { display:none; }
#chatView .team-update-filter { display:inline-flex; flex:none; align-items:center; gap:6px; min-height:30px; padding:6px 9px; border:1px solid var(--ledger-line); border-radius:999px; background:var(--ledger-panel); color:var(--ledger-muted); font-size:9px; font-weight:750; white-space:nowrap; }
#chatView .team-update-filter svg { width:12px; height:12px; }
#chatView .team-update-filter.active { border-color:var(--ledger-accent); background:var(--ledger-soft); color:var(--ledger-accent); }
#chatView .team-updates-layout { display:grid; grid-template-columns:minmax(0,1fr); flex:1; min-height:0; overflow:hidden; }
#chatView .team-update-main { min-width:0; min-height:0; overflow-y:auto; }
#chatView .team-update-feed { display:grid; gap:0; }
#chatView .team-update-card { position:relative; display:grid; gap:8px; padding:17px 23px 18px 26px; border-bottom:1px solid var(--ledger-line); background:transparent; }
#chatView .team-update-card.pinned { background:color-mix(in srgb, var(--ledger-soft) 34%, transparent); }
#chatView .team-update-card::before { position:absolute; top:17px; bottom:18px; left:14px; width:2px; border-radius:999px; background:var(--ledger-line); content:""; }
#chatView .team-update-card.priority-important::before { background:var(--ledger-accent); }
#chatView .team-update-card.priority-urgent::before { background:var(--ledger-danger); }
#chatView .team-update-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
#chatView .team-update-priority,
#chatView .team-update-audience { display:inline-flex; align-items:center; gap:5px; color:var(--ledger-muted); font-size:8px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
#chatView .team-update-labels { display:flex; align-items:center; gap:8px; }
#chatView .team-update-pinned { display:inline-flex; align-items:center; gap:4px; color:var(--ledger-accent); font-size:8px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
#chatView .team-update-pinned svg { width:10px; height:10px; }
#chatView .priority-important .team-update-priority { color:var(--ledger-accent); }
#chatView .priority-urgent .team-update-priority { color:var(--ledger-danger); }
#chatView .team-update-priority svg,
#chatView .team-update-audience svg { width:11px; height:11px; }
#chatView .team-update-card h3 { margin:0; color:var(--ledger-ink); font-size:14px; line-height:1.3; }
#chatView .team-update-card > p { max-width:660px; margin:0; color:var(--ledger-muted); font-size:11px; line-height:1.5; white-space:pre-wrap; }
#chatView .team-update-meta { display:flex; gap:7px; color:var(--ledger-muted); font-size:9px; }
#chatView .team-update-meta span + span::before { padding-right:7px; content:"·"; }
#chatView .team-update-aside { min-width:0; padding:14px; overflow-y:auto; border-left:1px solid var(--ledger-line); background:color-mix(in srgb, var(--ledger-soft) 26%, transparent); }
#chatView .team-update-aside-card { display:grid; gap:0; margin-bottom:10px; border:1px solid var(--ledger-line); border-radius:6px; background:var(--ledger-panel); overflow:hidden; }
#chatView .team-update-aside-card > .eyebrow { margin:0; padding:10px 11px 8px; border-bottom:1px solid var(--ledger-line); }
#chatView .team-update-aside-card > div { display:grid; grid-template-columns:28px 1fr; align-items:center; gap:7px; padding:9px 11px; }
#chatView .team-update-aside-card > div + div { border-top:1px solid var(--ledger-line); }
#chatView .team-update-aside-card strong { color:var(--ledger-accent); font-size:17px; }
#chatView .team-update-aside-card span { color:var(--ledger-muted); font-size:9px; line-height:1.3; }
#chatView .team-update-composer { border:1px solid var(--ledger-line); border-radius:6px; background:var(--ledger-panel); overflow:hidden; }
#chatView .team-update-composer > summary { display:flex; align-items:center; gap:7px; min-height:38px; padding:8px 11px; color:var(--ledger-accent); font-size:10px; font-weight:850; cursor:pointer; list-style:none; }
#chatView .team-update-composer > summary::-webkit-details-marker { display:none; }
#chatView .team-update-composer > summary svg { width:14px; height:14px; }
#chatView .team-update-composer[open] > summary { border-bottom:1px solid var(--ledger-line); }
#chatView .team-update-composer form { display:grid; gap:10px; padding:11px; }
#chatView .team-update-composer label { display:grid; gap:5px; color:var(--ledger-muted); font-size:9px; font-weight:750; }
#chatView .team-update-composer input,
#chatView .team-update-composer textarea,
#chatView .team-update-composer select { width:100%; min-height:34px; padding:7px 8px; border:1px solid var(--ledger-line); border-radius:4px; background:var(--ledger-panel); color:var(--ledger-ink); font:inherit; font-size:10px; resize:vertical; }
#chatView .team-update-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
#chatView .team-update-composer .primary-button { width:100%; min-height:33px; }
#chatView .chat-heading { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:start; }
#chatView .chat-heading > div:first-child { min-width:0; }
#chatView .team-update-header-actions { display:contents; }
#chatView .team-update-history-toggle { display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:6px 8px; border:0; background:transparent; color:var(--ledger-muted); font-size:9px; font-weight:800; white-space:nowrap; }
#chatView .team-update-history-toggle svg { width:13px; height:13px; }
#chatView .team-update-history-toggle.active { color:var(--ledger-accent); }
#chatView .team-update-archive-tools { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; margin-top:7px; }
#chatView .team-update-archive-tools[hidden] { display:none; }
#chatView .team-update-archive-search { display:flex; align-items:center; gap:7px; min-height:34px; padding:0 9px; border:1px solid var(--ledger-line); border-radius:4px; background:var(--ledger-panel); color:var(--ledger-muted); }
#chatView .team-update-archive-search svg { flex:none; width:14px; height:14px; }
#chatView .team-update-archive-search input { width:100%; min-width:0; min-height:32px; padding:0; border:0; outline:0; background:transparent; color:var(--ledger-ink); font-size:10px; }
#chatView .team-update-archive-filters { display:flex; gap:6px; }
#chatView .team-update-archive-filters label { display:grid; gap:2px; color:var(--ledger-muted); font-size:7px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
#chatView .team-update-archive-filters select,
#chatView .team-update-archive-filters input { min-height:34px; max-width:126px; padding:5px 7px; border:1px solid var(--ledger-line); border-radius:4px; background:var(--ledger-panel); color:var(--ledger-ink); font-size:9px; }
#chatView .chat-heading .team-update-composer { align-self:start; border:0; background:transparent; overflow:visible; }
#chatView .chat-heading .team-update-composer > summary { min-height:32px; padding:6px 8px; border:1px solid var(--ledger-line); border-radius:4px; background:var(--ledger-panel); white-space:nowrap; }
#chatView .chat-heading .team-update-composer[open] { grid-column:1 / -1; width:100%; margin-top:9px; border:1px solid var(--ledger-line); border-radius:6px; background:var(--ledger-panel); overflow:hidden; }
#chatView .chat-heading .team-update-composer[open] > summary { width:max-content; margin-left:auto; border:0; border-radius:0; }
#chatView .chat-heading .team-update-composer[open] form { border-top:1px solid var(--ledger-line); }
#chatView .team-update-expiry-field { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; }
#chatView .team-update-expiry-presets { display:flex; gap:4px; padding-bottom:1px; }
#chatView .team-update-expiry-presets button { min-height:33px; padding:6px 8px; border:1px solid var(--ledger-line); border-radius:4px; background:transparent; color:var(--ledger-muted); font-size:8px; font-weight:800; white-space:nowrap; }
#chatView .team-update-expiry-presets button.active { border-color:var(--ledger-accent); background:var(--ledger-soft); color:var(--ledger-accent); }
#chatView .team-update-card-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; }
#chatView .team-update-card-actions { display:flex; flex:none; align-items:center; gap:10px; }
#chatView .team-update-lifecycle-action { display:inline-flex; flex:none; align-items:center; gap:4px; min-height:24px; padding:2px 0; border:0; background:transparent; color:var(--ledger-muted); font-size:8px; font-weight:750; }
#chatView .team-update-lifecycle-action svg { width:11px; height:11px; }
#chatView .team-update-lifecycle-action.active { color:var(--ledger-accent); }
#chatView .team-update-lifecycle-action.system-action { color:var(--ledger-accent); }

@media (max-width:760px) {
  #chatView .team-updates-shell { overflow:auto; }
  #chatView .team-updates-layout { display:flex; min-height:auto; flex-direction:column; overflow:visible; }
  #chatView .team-update-main { order:2; overflow:visible; }
  #chatView .team-update-aside-card { grid-template-columns:1fr 1fr; margin:0; }
  #chatView .team-update-aside-card > .eyebrow { grid-column:1 / -1; }
  #chatView .team-update-aside-card > div + div { border-top:0; border-left:1px solid var(--ledger-line); }
  #chatView .team-update-filter { min-height:29px; }
}
@media (max-width:560px) {
  #chatView .team-update-filters { padding-inline:16px; }
  #chatView .team-update-card { padding:15px 16px 16px 22px; }
  #chatView .team-update-card::before { top:15px; bottom:16px; left:12px; }
  #chatView .team-update-aside-card { grid-template-columns:1fr 1fr; }
}

/* Lighter update controls and feed rhythm. */
#chatView .team-update-filters { align-items:center; gap:14px; padding-block:7px; overflow:visible; }
#chatView .team-update-filter { position:relative; min-height:28px; padding:4px 0; border:0; border-radius:0; background:transparent; }
#chatView .team-update-filter::after { position:absolute; right:0; bottom:-8px; left:0; height:2px; background:transparent; content:""; }
#chatView .team-update-filter.active { border:0; background:transparent; color:var(--ledger-accent); }
#chatView .team-update-filter.active::after { background:var(--ledger-accent); }
#chatView .team-update-filter b { display:grid; place-items:center; min-width:17px; height:17px; padding:0 4px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-accent); font-size:8px; }
#chatView .team-update-card { gap:6px; }
#chatView .team-update-card > p { line-height:1.45; }

@media (max-width:560px) {
  #chatView .chat-header { padding-bottom:10px; }
  #chatView .team-update-filters { gap:10px; padding-block:6px; }
  #chatView .team-update-filter::after { bottom:-7px; }
  #chatView .team-update-filter span { font-size:9px; }
  #chatView .team-update-filter:nth-child(2) span { white-space:nowrap; }
  #chatView .team-update-aside-card { display:none; }
  #chatView .chat-heading { column-gap:8px; }
  #chatView .team-update-history-toggle { min-height:29px; padding:5px 2px; }
  #chatView .chat-heading .team-update-composer > summary { min-height:29px; padding:5px 7px; font-size:9px; }
  #chatView .chat-heading .team-update-composer[open] form { margin:0; padding:10px; border:0; border-top:1px solid var(--ledger-line); border-radius:0; }
  #chatView .team-update-expiry-field { grid-template-columns:1fr; }
  #chatView .team-update-expiry-presets { display:grid; grid-template-columns:repeat(3,1fr); }
  #chatView .team-update-expiry-presets button { min-height:29px; }
  #chatView .team-update-card-foot { align-items:flex-end; }
  #chatView .team-update-meta { flex-wrap:wrap; row-gap:2px; }
  #chatView .team-update-archive-tools { grid-template-columns:1fr; }
  #chatView .team-update-archive-filters { display:grid; grid-template-columns:1fr 1fr; }
  #chatView .team-update-archive-filters select,
  #chatView .team-update-archive-filters input { width:100%; max-width:none; }
  #chatView .team-update-card { padding-block:13px 14px; }
  #chatView .team-update-card::before { top:13px; bottom:14px; }
  #chatView .team-update-card-head { align-items:flex-start; }
  #chatView .team-update-card h3 { font-size:13px; }
  #chatView .team-update-card > p { font-size:10px; }
  #chatView .team-update-meta { font-size:8px; }
}

/* Inventory desktop setup — dense Ledger tools for initial configuration. */
.inventory-desktop-setup { border:1px solid var(--ledger-line); border-radius:7px; background:var(--ledger-panel); overflow:hidden; }
.inventory-desktop-setup > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:17px 18px; border-bottom:1px solid var(--ledger-line); }
.inventory-desktop-setup > header .eyebrow { margin:0 0 4px; }
.inventory-desktop-setup > header h3 { margin:0; color:var(--ledger-ink); font-size:16px; }
.inventory-desktop-setup > header p:not(.eyebrow) { max-width:580px; margin:4px 0 0; color:var(--ledger-muted); font-size:10px; line-height:1.45; }
.inventory-desktop-setup > header > span { flex:none; color:var(--ledger-muted); font-size:9px; font-weight:800; }
.inventory-desktop-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.inventory-desktop-actions > button { display:grid; grid-template-columns:30px minmax(0,1fr) 14px; align-items:center; gap:10px; min-height:68px; padding:13px 15px; border:0; background:transparent; color:var(--ledger-ink); text-align:left; }
.inventory-desktop-actions > button + button { border-left:1px solid var(--ledger-line); }
.inventory-desktop-actions > button:hover { background:color-mix(in srgb,var(--ledger-soft) 45%,transparent); }
.inventory-desktop-actions > button > svg:first-child { width:19px; height:19px; color:var(--ledger-accent); }
.inventory-desktop-actions > button > svg:last-child { width:13px; height:13px; color:var(--ledger-muted); }
.inventory-desktop-actions > button span { display:grid; gap:3px; min-width:0; }
.inventory-desktop-actions > button strong { font-size:11px; }
.inventory-desktop-actions > button small { color:var(--ledger-muted); font-size:8px; line-height:1.35; }

.inventory-desktop-dialog { width:min(760px,calc(100vw - 32px)); max-width:none; }
.inventory-desktop-dialog > form { display:grid; grid-template-rows:auto minmax(0,1fr) auto; max-height:min(820px,calc(100vh - 38px)); }
.inventory-desktop-dialog .inventory-desktop-scroll { display:grid; align-content:start; gap:16px; padding:18px; overflow:auto; }
.inventory-desktop-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:0 0 13px; border-bottom:1px solid var(--ledger-line); }
.inventory-desktop-intro strong { color:var(--ledger-ink); font-size:11px; }
.inventory-desktop-intro p { max-width:480px; margin:0; color:var(--ledger-muted); font-size:9px; line-height:1.45; text-align:right; }
.inventory-structure-permissions { border-top:1px solid var(--ledger-line); }

.inventory-import-dialog { width:min(900px,calc(100vw - 32px)); }
.inventory-import-drop { display:flex; align-items:center; justify-content:center; gap:13px; min-height:92px; padding:18px; border:1px dashed var(--ledger-accent); border-radius:6px; background:color-mix(in srgb,var(--ledger-soft) 45%,transparent); color:var(--ledger-accent); cursor:pointer; }
.inventory-import-drop > svg { width:23px; height:23px; }
.inventory-import-drop > span { display:grid; gap:3px; }
.inventory-import-drop strong { font-size:11px; }
.inventory-import-drop small { color:var(--ledger-muted); font-size:8px; }
.inventory-import-drop input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.inventory-import-status { min-height:30px; padding:8px 10px; border-left:2px solid var(--ledger-line); color:var(--ledger-muted); font-size:9px; line-height:1.45; }
.inventory-import-status strong { color:var(--ledger-ink); }
.inventory-import-preview { border:1px solid var(--ledger-line); border-radius:6px; overflow:hidden; }
.inventory-import-preview > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px 13px; border-bottom:1px solid var(--ledger-line); }
.inventory-import-preview > header .eyebrow { margin:0 0 2px; }
.inventory-import-preview h3 { margin:0; font-size:13px; }
.inventory-import-preview > header > span { color:var(--ledger-muted); font-size:8px; font-weight:800; }
.inventory-import-preview > p { margin:0; padding:9px 12px; border-top:1px solid var(--ledger-line); color:var(--ledger-muted); font-size:8px; }
.inventory-import-table { overflow:auto; }
.inventory-import-table table { width:100%; border-collapse:collapse; font-size:9px; }
.inventory-import-table th { padding:7px 9px; border-bottom:1px solid var(--ledger-line); color:var(--ledger-muted); font-size:7px; letter-spacing:.06em; text-align:left; text-transform:uppercase; }
.inventory-import-table td { padding:8px 9px; border-bottom:1px solid color-mix(in srgb,var(--ledger-line) 70%,transparent); white-space:nowrap; }
.inventory-import-table td:first-child { min-width:150px; }
.inventory-import-table td strong,.inventory-import-table td small { display:block; }
.inventory-import-table td small { margin-top:2px; color:var(--ledger-muted); font-size:7px; }
.inventory-import-result { color:var(--ledger-accent); font-size:8px; font-weight:850; }

.inventory-bulk-dialog { width:min(1180px,calc(100vw - 24px)); }
.inventory-bulk-table { overflow:auto; border:1px solid var(--ledger-line); border-radius:6px; }
.inventory-bulk-table table { width:100%; min-width:980px; border-collapse:collapse; }
.inventory-bulk-table th { position:sticky; top:0; z-index:1; padding:7px 8px; border-bottom:1px solid var(--ledger-line); background:var(--ledger-panel); color:var(--ledger-muted); font-size:7px; letter-spacing:.05em; text-align:left; text-transform:uppercase; }
.inventory-bulk-table td { padding:6px 7px; border-bottom:1px solid color-mix(in srgb,var(--ledger-line) 70%,transparent); font-size:9px; }
.inventory-bulk-table td:first-child { min-width:160px; }
.inventory-bulk-table td strong,.inventory-bulk-table td small { display:block; }
.inventory-bulk-table td small { margin-top:2px; color:var(--ledger-muted); font-size:7px; }
.inventory-bulk-table input,.inventory-bulk-table select { width:100%; min-width:82px; height:29px; padding:4px 6px; border:1px solid var(--ledger-line); border-radius:3px; background:var(--ledger-panel); color:var(--ledger-ink); font:inherit; font-size:8px; }
.inventory-bulk-table td:nth-child(7) input { min-width:120px; }
.inventory-bulk-stock { color:var(--ledger-ink); font-weight:850; }
.inventory-bulk-review { border:1px solid var(--ledger-line); border-radius:6px; overflow:hidden; }
.inventory-bulk-review > header { display:flex; justify-content:space-between; gap:12px; padding:12px 13px; border-bottom:1px solid var(--ledger-line); }
.inventory-bulk-review > header .eyebrow { margin:0 0 2px; }
.inventory-bulk-review h3 { margin:0; font-size:13px; }
.inventory-bulk-review > header button { border:0; background:transparent; color:var(--ledger-accent); font-size:8px; font-weight:850; }
.inventory-bulk-review article { display:grid; grid-template-columns:180px minmax(0,1fr); gap:14px; padding:9px 12px; border-bottom:1px solid var(--ledger-line); }
.inventory-bulk-review article strong { font-size:9px; }
.inventory-bulk-review article span { color:var(--ledger-muted); font-size:8px; line-height:1.45; }
.inventory-bulk-review > p { margin:0; padding:9px 12px; color:var(--ledger-muted); font-size:8px; }

@media (max-width:760px) {
  .inventory-desktop-setup { display:none; }
  .inventory-desktop-dialog { display:none; }
}

/* Daily stock actions — phone-first, auditable and intentionally short. */
.inventory-stock-action-dialog { width:min(560px,calc(100vw - 24px)); max-width:none; }
.inventory-stock-action-dialog > form { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; max-height:min(820px,calc(100vh - 24px)); }
.ledger-content > .inventory-stock-action-dialog[open] > form { height:100%; max-height:none; }
.inventory-stock-action-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; padding:0 18px 12px; background:var(--ledger-panel); }
.inventory-stock-action-progress span { height:2px; background:var(--ledger-line); }
.inventory-stock-action-progress span.active,.inventory-stock-action-progress span.complete { background:var(--ledger-accent); }
.inventory-stock-action-body { display:grid; align-content:start; gap:14px; padding:16px 18px 20px; overflow:auto; }
.inventory-stock-action-intro { padding:0 0 12px; border-bottom:1px solid var(--ledger-line); }
.inventory-stock-action-intro p,.inventory-stock-action-help { margin:0; color:var(--ledger-muted); font-size:10px; line-height:1.5; }
.inventory-stock-action-options { display:grid; border:1px solid var(--ledger-line); border-radius:7px; background:var(--ledger-panel); overflow:hidden; }
.inventory-stock-action-options > button { display:grid; grid-template-columns:34px minmax(0,1fr) 14px; align-items:center; gap:10px; min-height:66px; padding:12px 13px; border:0; background:transparent; color:var(--ledger-ink); text-align:left; }
.inventory-stock-action-options > button + button { border-top:1px solid var(--ledger-line); }
.inventory-stock-action-options > button:hover { background:color-mix(in srgb,var(--ledger-soft) 46%,transparent); }
.inventory-stock-action-options > button > svg:first-child { width:19px; height:19px; color:var(--ledger-accent); }
.inventory-stock-action-options > button > svg:last-child { width:13px; height:13px; color:var(--ledger-muted); }
.inventory-stock-action-options > button span { display:grid; gap:3px; }
.inventory-stock-action-options > button strong { font-size:11px; }
.inventory-stock-action-options > button small { color:var(--ledger-muted); font-size:8px; line-height:1.4; }
.inventory-stock-action-help { padding:10px 11px; border-left:2px solid var(--ledger-line); font-size:8px; }
.inventory-stock-action-context { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; padding:12px; border:1px solid var(--ledger-line); border-radius:6px; background:color-mix(in srgb,var(--ledger-soft) 38%,transparent); }
.inventory-stock-action-context > span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:var(--ledger-panel); color:var(--ledger-accent); }
.inventory-stock-action-context > span svg { width:17px; height:17px; }
.inventory-stock-action-context > div { display:grid; gap:3px; }
.inventory-stock-action-context strong { font-size:11px; }
.inventory-stock-action-context small { color:var(--ledger-muted); font-size:8px; line-height:1.4; }
.inventory-stock-action-fields { display:grid; gap:12px; }
.inventory-stock-action-fields > label,.inventory-stock-action-fields .inventory-form-grid > label { display:grid; gap:5px; color:var(--ledger-muted); font-size:8px; font-weight:800; }
.inventory-stock-action-fields input,.inventory-stock-action-fields select,.inventory-stock-action-fields textarea { width:100%; min-height:38px; padding:8px 9px; border:1px solid var(--ledger-line); border-radius:4px; outline:0; background:var(--ledger-panel); color:var(--ledger-ink); font:inherit; font-size:10px; }
.inventory-stock-action-fields input:focus,.inventory-stock-action-fields select:focus,.inventory-stock-action-fields textarea:focus { border-color:var(--ledger-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--ledger-accent) 12%,transparent); }
.inventory-stock-action-fields label > small { color:var(--ledger-muted); font-size:7px; font-weight:650; line-height:1.35; }
.inventory-stock-action-quantity { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; border:1px solid var(--ledger-line); border-radius:4px; background:var(--ledger-panel); overflow:hidden; }
.inventory-stock-action-quantity input { border:0; border-radius:0; }
.inventory-stock-action-quantity b { min-width:62px; padding:0 9px; color:var(--ledger-muted); font-size:8px; text-align:right; }
.inventory-stock-action-fields .form-note { min-height:14px; margin:0; color:var(--ledger-danger); font-size:8px; }
.inventory-traceability-fields { display:grid; gap:10px; padding:11px 0; border-block:1px solid var(--ledger-line); }
.inventory-traceability-fields > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.inventory-traceability-fields > header > div { display:grid; gap:3px; }
.inventory-traceability-fields > header strong { color:var(--ledger-ink); font-size:10px; }
.inventory-traceability-fields > header small,.inventory-traceability-fields > p { color:var(--ledger-muted); font-size:7px; font-weight:650; line-height:1.45; }
.inventory-traceability-fields > header svg { width:15px; height:15px; color:var(--ledger-accent); }
.inventory-traceability-fields > p { margin:0; padding-left:9px; border-left:2px solid var(--ledger-accent); }
.inventory-review-traceability { display:grid; gap:2px; padding-left:13px !important; border-left:2px solid var(--ledger-accent); }
.inventory-review-traceability strong { color:var(--ledger-accent); font-size:8px; }
.inventory-stock-action-review { display:grid; gap:0; border:1px solid var(--ledger-line); border-radius:7px; background:var(--ledger-panel); overflow:hidden; }
.inventory-stock-action-review-main { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:11px; padding:15px; border-bottom:1px solid var(--ledger-line); }
.inventory-stock-action-review-main > span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; background:var(--ledger-soft); color:var(--ledger-accent); }
.inventory-stock-action-review-main h3 { margin:2px 0 3px; font-size:15px; }
.inventory-stock-action-review-main p { margin:0; color:var(--ledger-accent); font-size:10px; font-weight:850; }
.inventory-stock-action-review-main .eyebrow { color:var(--ledger-muted); font-size:7px; }
.inventory-stock-action-review dl { margin:0; }
.inventory-stock-action-review dl > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:12px; padding:9px 13px; border-bottom:1px solid color-mix(in srgb,var(--ledger-line) 72%,transparent); }
.inventory-stock-action-review dt { color:var(--ledger-muted); font-size:8px; }
.inventory-stock-action-review dd { margin:0; color:var(--ledger-ink); font-size:9px; font-weight:800; text-align:right; overflow-wrap:anywhere; }
.inventory-stock-action-review > p { margin:0; padding:10px 13px; color:var(--ledger-muted); font-size:8px; line-height:1.45; }
.inventory-stock-action-complete { display:grid; justify-items:center; gap:10px; padding:30px 18px; text-align:center; }
.inventory-stock-action-complete > span { display:grid; width:48px; height:48px; place-items:center; border-radius:50%; background:var(--ledger-soft); color:var(--ledger-accent); }
.inventory-stock-action-complete > span svg { width:24px; height:24px; }
.inventory-stock-action-complete h3 { margin:3px 0 0; font-size:16px; }
.inventory-stock-action-complete p { max-width:360px; margin:0; color:var(--ledger-muted); font-size:10px; line-height:1.5; }
.inventory-stock-action-complete button { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:7px 10px; border:1px solid var(--ledger-line); border-radius:4px; background:transparent; color:var(--ledger-accent); font-size:9px; font-weight:850; }
.inventory-stock-action-complete button svg { width:13px; height:13px; }
.inventory-stock-action-footer:has(.primary-button[hidden]) { justify-content:flex-end; }

@media (max-width:760px) {
  .inventory-stock-action-dialog { width:calc(100vw - 12px); }
  .inventory-stock-action-dialog > form { height:100%; max-height:none; }
  .inventory-stock-toolbar { align-items:stretch; }
  .inventory-stock-actions { display:grid; grid-template-columns:auto 1fr; }
  .inventory-stock-actions .inventory-stock-action-button { grid-column:1 / -1; grid-row:1; justify-content:center; }
  .inventory-stock-actions #toggleInventoryStockFilters,.inventory-stock-actions #openInventoryItemDialog { grid-row:2; }
  .inventory-stock-action-body { padding-inline:15px; }
  .inventory-stock-action-options > button { min-height:64px; }
  .inventory-detail-metrics {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;
  }
  .inventory-detail-metrics > div {
    min-width:0;
    border-right:1px solid var(--ledger-line);
    border-bottom:1px solid var(--ledger-line);
  }
  .inventory-detail-metrics > div:nth-child(2n) { border-right:0; }
  .inventory-detail-metrics > div:nth-last-child(-n + 2) { border-bottom:0; }
  .inventory-estimated-value { white-space:nowrap; }
  .ledger-stock-details-row dl { display:none; }
  .ledger-stock-details-heading { margin-bottom:2px; }
  .inventory-lot-ledger > header > small { display:none; }
  .inventory-lot-register article { grid-template-columns:18px minmax(0,1fr) auto; gap:7px; }
  .inventory-lot-expiry { grid-column:2; }
  .inventory-lot-quantity { grid-column:3; grid-row:1 / span 2; }
}

/* Inventory unit conversions — desktop setup, compact Ledger execution. */
.inventory-conversion-fields {
  display:grid;
  gap:12px;
  padding:13px 0;
  border-block:1px solid var(--ledger-line);
}
.inventory-conversion-fields > header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.inventory-conversion-fields > header > div { display:grid; gap:3px; }
.inventory-conversion-fields > header strong { color:var(--ledger-ink); font-size:10px; }
.inventory-conversion-fields > header small,
.inventory-conversion-fields > p { color:var(--ledger-muted); font-size:8px; font-weight:650; line-height:1.45; }
.inventory-conversion-fields > header svg { width:15px; height:15px; color:var(--ledger-accent); }
.inventory-advanced-fields .inventory-conversion-fields .inventory-form-grid { padding:0; }
.inventory-conversion-fields > p { margin:0; padding-left:10px; border-left:2px solid var(--ledger-accent); }
.inventory-receive-unit-field {
  padding:10px 11px;
  border-left:2px solid var(--ledger-accent);
  background:color-mix(in srgb,var(--ledger-soft) 38%,transparent);
}
.inventory-receive-unit-field[hidden] { display:none; }

@media (max-width:760px) {
  .inventory-conversion-fields { display:none; }
  :root[data-preview-device="desktop"] .inventory-conversion-fields { display:grid; }
}

/* Replenishment stays a planning ledger until a real movement is recorded. */
.inventory-tabs button > span {
  display:inline-grid;
  min-width:16px;
  height:16px;
  margin-left:5px;
  padding:0 4px;
  place-items:center;
  border-radius:999px;
  background:var(--ledger-soft);
  color:var(--ledger-warning);
  font-size:8px;
  font-weight:900;
}
.inventory-restock-intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:end;
  padding:14px 0;
  border-block:1px solid var(--ledger-line);
}
.inventory-restock-intro h3 { margin:2px 0 4px; font-size:14px; }
.inventory-restock-intro p { max-width:520px; margin:0; color:var(--ledger-muted); font-size:9px; line-height:1.45; }
.inventory-restock-intro dl { display:flex; margin:0; border-left:1px solid var(--ledger-line); }
.inventory-restock-intro dl > div { display:grid; gap:3px; min-width:66px; padding:2px 12px; border-right:1px solid var(--ledger-line); }
.inventory-restock-intro dt { color:var(--ledger-muted); font-size:7px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.inventory-restock-intro dd { margin:0; font-size:15px; font-weight:850; }
.inventory-restock-intro .warning dd { color:var(--ledger-warning); }
.inventory-restock-register { display:grid; }
.inventory-restock-register > article { padding:15px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-restock-register > article.critical { box-shadow:inset 2px 0 var(--ledger-danger); padding-left:12px; }
.inventory-restock-register article > header { display:grid; grid-template-columns:24px minmax(0,1fr) auto; gap:10px; align-items:center; }
.inventory-restock-index { color:var(--ledger-muted); font:800 8px/1 var(--ledger-mono,monospace); }
.inventory-restock-register header > div { display:grid; gap:2px; }
.inventory-restock-register header strong { font-size:11px; }
.inventory-restock-register header small { color:var(--ledger-muted); font-size:8px; }
.inventory-restock-register header em { color:var(--ledger-warning); font-size:8px; font-style:normal; font-weight:900; text-transform:uppercase; }
.inventory-restock-register article.critical header em { color:var(--ledger-danger); }
.inventory-restock-level { display:grid; grid-template-columns:62px 12px 62px minmax(0,1fr); gap:9px; align-items:center; margin:12px 0 0 34px; }
.inventory-restock-level > span { display:grid; gap:2px; }
.inventory-restock-level small { color:var(--ledger-muted); font-size:7px; font-weight:750; }
.inventory-restock-level strong { font-size:13px; }
.inventory-restock-level svg { width:12px; height:12px; color:var(--ledger-muted); }
.inventory-restock-level p { margin:0; color:var(--ledger-muted); font-size:8px; font-weight:750; text-align:right; }
.inventory-restock-plan { display:grid; margin:12px 0 0 34px; border-block:1px solid var(--ledger-line); }
.inventory-restock-plan > div { display:grid; grid-template-columns:24px minmax(0,1fr); gap:9px; align-items:start; padding:10px 0; }
.inventory-restock-plan > div + div { border-top:1px solid color-mix(in srgb,var(--ledger-line) 72%,transparent); }
.inventory-restock-plan svg { width:15px; height:15px; margin-top:2px; color:var(--ledger-accent); }
.inventory-restock-plan .needs-setup svg { color:var(--ledger-warning); }
.inventory-restock-plan span { display:grid; gap:2px; }
.inventory-restock-plan small { color:var(--ledger-muted); font-size:7px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.inventory-restock-plan strong { font-size:9px; }
.inventory-restock-plan em { color:var(--ledger-muted); font-size:7px; font-style:normal; }
.inventory-restock-register footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:10px 0 0 34px; }
.inventory-restock-register footer > span { color:var(--ledger-muted); font-size:8px; }
.inventory-restock-register footer > span strong { color:var(--ledger-ink); }
.inventory-restock-register footer > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.inventory-restock-register footer button { min-height:28px; padding:5px 8px; border:1px solid var(--ledger-line); border-radius:3px; background:transparent; color:var(--ledger-accent); font-size:8px; font-weight:850; }
.inventory-restock-register footer button:hover { background:var(--ledger-soft); }
.inventory-restock-note { margin:14px 0 0; padding:10px 0 10px 11px; border-left:2px solid var(--ledger-accent); color:var(--ledger-muted); font-size:8px; line-height:1.45; }
.inventory-restock-note strong { display:block; color:var(--ledger-accent); }
.inventory-restock-empty { display:grid; justify-items:center; gap:7px; padding:42px 18px; border-bottom:1px solid var(--ledger-line); text-align:center; }
.inventory-restock-empty svg { color:var(--ledger-accent); }
.inventory-restock-empty h3 { margin:0; font-size:14px; }
.inventory-restock-empty p { max-width:360px; margin:0; color:var(--ledger-muted); font-size:9px; line-height:1.45; }

@media (max-width:760px) {
  .inventory-restock-intro { grid-template-columns:1fr; gap:12px; align-items:start; }
  .inventory-restock-intro dl { width:100%; border-left:0; border-top:1px solid var(--ledger-line); }
  .inventory-restock-intro dl > div { flex:1; padding:9px 10px 0 0; border-right:0; }
  .inventory-restock-register > article { padding-block:13px; }
  .inventory-restock-register > article.critical { padding-left:8px; }
  .inventory-restock-level { grid-template-columns:54px 10px 54px minmax(0,1fr); margin-left:28px; }
  .inventory-restock-plan,.inventory-restock-register footer { margin-left:28px; }
  .inventory-restock-register footer { display:grid; align-items:start; }
  .inventory-restock-register footer > div { justify-content:flex-start; }
  .inventory-restock-note { margin-bottom:calc(var(--ledger-floating-nav-height) + var(--ledger-floating-nav-bottom) + 16px); }
}

/* Product lifecycle — reversible status changes with a permanent Ledger record. */
.inventory-item-actions { display:grid !important; grid-template-columns:auto 1fr auto auto; }
.inventory-item-actions > span { min-width:12px; }
.inventory-item-actions .danger-button { min-width:112px; }
.inventory-item-lifecycle-dialog { width:min(560px,calc(100vw - 24px)); max-width:none; }
.inventory-item-lifecycle-dialog > form { display:grid; grid-template-rows:auto minmax(0,1fr) auto; height:100%; }
.inventory-item-lifecycle-body { display:grid; align-content:start; gap:14px; padding:18px 20px 24px; }
.inventory-lifecycle-summary { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; align-items:start; padding:0 0 15px; border-bottom:1px solid var(--ledger-line); }
.inventory-lifecycle-summary > svg { width:34px; height:34px; padding:8px; border:1px solid var(--ledger-line); border-radius:50%; color:var(--ledger-accent); }
.inventory-lifecycle-summary.blocked > svg { color:var(--ledger-danger); }
.inventory-lifecycle-summary div { display:grid; gap:4px; }
.inventory-lifecycle-summary h3 { margin:0; font-size:14px; }
.inventory-lifecycle-summary p { margin:0; color:var(--ledger-muted); font-size:9px; line-height:1.5; }
.inventory-lifecycle-ledger { margin:0; border-top:1px solid var(--ledger-line); }
.inventory-lifecycle-ledger > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:12px; padding:9px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-lifecycle-ledger dt { color:var(--ledger-muted); font-size:8px; }
.inventory-lifecycle-ledger dd { margin:0; font-size:9px; font-weight:850; text-align:right; overflow-wrap:anywhere; }
.inventory-lifecycle-reason { display:grid; gap:11px; }
.inventory-lifecycle-reason label { display:grid; gap:5px; color:var(--ledger-muted); font-size:8px; font-weight:850; }
.inventory-lifecycle-reason label small { font-size:7px; font-weight:650; }
.inventory-lifecycle-reason select,.inventory-lifecycle-reason textarea { width:100%; min-height:38px; padding:8px 9px; border:1px solid var(--ledger-line); border-radius:4px; outline:0; background:var(--ledger-panel); color:var(--ledger-ink); font:inherit; font-size:10px; }
.inventory-lifecycle-reason select:focus,.inventory-lifecycle-reason textarea:focus { border-color:var(--ledger-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--ledger-accent) 12%,transparent); }
.inventory-lifecycle-reason p { min-height:12px; margin:0; color:var(--ledger-danger); font-size:8px; }
.inventory-lifecycle-warning,.inventory-lifecycle-block { margin:0; padding:10px 0 10px 12px; border-left:2px solid var(--ledger-accent); color:var(--ledger-muted); font-size:8px; line-height:1.5; }
.inventory-lifecycle-block { border-left-color:var(--ledger-danger); }
.inventory-lifecycle-warning strong,.inventory-lifecycle-block strong { display:block; color:var(--ledger-ink); font-size:9px; }
.inventory-stock-archived { color:var(--ledger-muted); }
.inventory-stock-archived > td > strong { color:var(--ledger-muted); }
.inventory-archived-badge { display:inline-flex; margin-top:5px; padding:2px 6px; border:1px solid var(--ledger-line); border-radius:999px; color:var(--ledger-muted); font-size:7px; font-weight:850; }
.inventory-archived-label { color:var(--ledger-muted); }
.inventory-stock-archived + .ledger-stock-details-row { background:color-mix(in srgb,var(--ledger-soft) 24%,transparent); }

@media (max-width:760px) {
  .inventory-item-actions { grid-template-columns:1fr 1fr !important; gap:7px !important; }
  .inventory-item-actions > span { display:none; }
  .inventory-item-actions .danger-button { grid-column:1 / -1; width:100%; }
  .inventory-item-lifecycle-dialog { width:calc(100vw - 12px); }
  .inventory-item-lifecycle-body { padding-inline:15px; }
}

/* Supplier purchasing — planning, approval and receiving in one Ledger register. */
.inventory-purchasing-nav { display:flex; gap:0; margin:0 0 14px; border-bottom:1px solid var(--ledger-line); overflow-x:auto; }
.inventory-purchasing-nav button { display:inline-flex; align-items:center; gap:5px; flex:none; min-height:36px; padding:7px 12px 9px; border:0; background:transparent; color:var(--ledger-muted); font-size:8px; font-weight:850; white-space:nowrap; }
.inventory-purchasing-nav button.active { color:var(--ledger-accent); box-shadow:inset 0 -2px var(--ledger-accent); }
.inventory-purchasing-nav button span { display:grid; min-width:16px; height:16px; padding:0 4px; place-items:center; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-accent); font-size:7px; }
.inventory-purchase-intro { display:flex; align-items:end; justify-content:space-between; gap:18px; padding:2px 0 13px; border-bottom:1px solid var(--ledger-line); }
.inventory-purchase-intro h3 { margin:2px 0 4px; font-size:14px; }
.inventory-purchase-intro p { max-width:520px; margin:0; color:var(--ledger-muted); font-size:9px; line-height:1.45; }
.inventory-purchase-intro .primary-button { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.inventory-purchase-metrics { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--ledger-line); }
.inventory-purchase-metrics > div { display:grid; gap:3px; padding:12px; border-right:1px solid var(--ledger-line); }
.inventory-purchase-metrics > div:last-child { border-right:0; }
.inventory-purchase-metrics span { color:var(--ledger-muted); font-size:7px; font-weight:850; text-transform:uppercase; }
.inventory-purchase-metrics strong { font-size:15px; }
.inventory-purchase-register,.inventory-supplier-register { display:grid; }
.inventory-purchase-register > button,.inventory-supplier-register > button { display:grid; grid-template-columns:74px minmax(0,1fr) minmax(112px,auto) 14px; gap:12px; align-items:center; min-height:72px; padding:10px 0; border:0; border-bottom:1px solid var(--ledger-line); background:transparent; color:var(--ledger-ink); text-align:left; }
.inventory-purchase-register > button:hover,.inventory-supplier-register > button:hover { background:color-mix(in srgb,var(--ledger-soft) 38%,transparent); }
.inventory-purchase-order-number { color:var(--ledger-muted); font:850 8px/1.2 var(--ledger-mono,monospace); }
.inventory-purchase-copy,.inventory-purchase-value,.inventory-supplier-register button > span { display:grid; gap:3px; min-width:0; }
.inventory-purchase-copy strong,.inventory-supplier-register strong { font-size:10px; }
.inventory-purchase-copy small,.inventory-purchase-value small,.inventory-supplier-register small,.inventory-supplier-register em { color:var(--ledger-muted); font-size:7px; font-style:normal; line-height:1.4; }
.inventory-purchase-progress { display:block; width:min(180px,100%); height:2px; margin-top:3px; background:var(--ledger-line); }
.inventory-purchase-progress i { display:block; width:var(--purchase-progress); height:100%; background:var(--ledger-accent); }
.inventory-purchase-value { justify-items:end; text-align:right; }
.inventory-purchase-value em,.inventory-purchase-record-head > em { padding:3px 6px; border-radius:999px; background:var(--ledger-soft); color:var(--ledger-muted); font-size:7px; font-style:normal; font-weight:850; }
.inventory-purchase-value em.sent,.inventory-purchase-record-head > em.sent { color:var(--ledger-accent); }
.inventory-purchase-value em.partially-received,.inventory-purchase-record-head > em.partially-received { color:var(--ledger-warning); }
.inventory-purchase-value em.received,.inventory-purchase-record-head > em.received { background:color-mix(in srgb,var(--ledger-accent) 12%,transparent); color:var(--ledger-accent); }
.inventory-purchase-value em.cancelled,.inventory-purchase-record-head > em.cancelled { color:var(--ledger-danger); }
.inventory-purchase-value strong { font-size:9px; }
.inventory-purchase-register > button > svg,.inventory-supplier-register > button > svg { width:13px; height:13px; color:var(--ledger-muted); }
.inventory-supplier-register > button { grid-template-columns:34px minmax(0,1fr) auto 14px; }
.inventory-supplier-monogram { display:grid !important; width:32px; height:32px; place-items:center; border-radius:50%; background:var(--ledger-soft); color:var(--ledger-accent); font-size:8px; font-weight:900; }
.inventory-supplier-register button > span:nth-child(3) { justify-items:end; text-align:right; }
.inventory-followup-register { display:grid; }
.inventory-followup-register > article { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:11px; align-items:center; min-height:72px; padding:11px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-followup-icon { display:grid; width:32px; height:32px; place-items:center; border:1px solid var(--ledger-line); border-radius:50%; color:var(--ledger-warning); }
.inventory-followup-register article.urgent .inventory-followup-icon { color:var(--ledger-danger); }
.inventory-followup-icon svg { width:14px; height:14px; }
.inventory-followup-register article > div { display:grid; gap:2px; min-width:0; }
.inventory-followup-register small { color:var(--ledger-muted); font-size:7px; }
.inventory-followup-register strong { font-size:10px; }
.inventory-followup-register p { margin:0; color:var(--ledger-muted); font-size:8px; line-height:1.4; }
.inventory-followup-register button { min-height:30px; padding:6px 9px; border:1px solid var(--ledger-line); border-radius:4px; background:transparent; color:var(--ledger-accent); font-size:8px; font-weight:850; }
.inventory-supplier-performance { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--ledger-line); }
.inventory-supplier-performance > div { display:grid; gap:3px; padding:10px; border-right:1px solid var(--ledger-line); }
.inventory-supplier-performance > div:last-child { border-right:0; }
.inventory-supplier-performance span { color:var(--ledger-muted); font-size:7px; font-weight:800; }
.inventory-supplier-performance strong { font-size:12px; }

.inventory-purchase-dialog { width:min(620px,calc(100vw - 24px)); max-width:none; }
.inventory-purchase-dialog > form { display:grid; grid-template-rows:auto minmax(0,1fr) auto; height:100%; }
.inventory-purchase-body { display:grid; align-content:start; gap:14px; padding:17px 20px 24px; }
.inventory-purchase-summary,.inventory-purchase-confirm { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; align-items:start; padding-bottom:14px; border-bottom:1px solid var(--ledger-line); }
.inventory-purchase-summary > svg,.inventory-purchase-confirm > svg { width:34px; height:34px; padding:8px; border:1px solid var(--ledger-line); border-radius:50%; color:var(--ledger-accent); }
.inventory-purchase-confirm.danger > svg { color:var(--ledger-danger); }
.inventory-purchase-summary div,.inventory-purchase-confirm div { display:grid; gap:4px; }
.inventory-purchase-summary h3,.inventory-purchase-confirm h3 { margin:0; font-size:14px; }
.inventory-purchase-summary p,.inventory-purchase-confirm p { margin:0; color:var(--ledger-muted); font-size:9px; line-height:1.5; }
.inventory-purchase-form { display:grid; gap:12px; }
.inventory-purchase-form > label,.inventory-purchase-form .inventory-form-grid > label,.inventory-receive-lines label { display:grid; gap:5px; color:var(--ledger-muted); font-size:8px; font-weight:850; }
.inventory-purchase-form label small { font-size:7px; font-weight:650; }
.inventory-purchase-form input,.inventory-purchase-form select,.inventory-purchase-form textarea,.inventory-receive-lines input,.inventory-receive-lines select { width:100%; min-height:38px; padding:8px 9px; border:1px solid var(--ledger-line); border-radius:4px; outline:0; background:var(--ledger-panel); color:var(--ledger-ink); font:inherit; font-size:10px; }
.inventory-purchase-form input:focus,.inventory-purchase-form select:focus,.inventory-purchase-form textarea:focus { border-color:var(--ledger-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--ledger-accent) 12%,transparent); }
.inventory-purchase-edit-lines,.inventory-receive-lines { display:grid; border-top:1px solid var(--ledger-line); }
.inventory-purchase-edit-lines > article { display:grid; grid-template-columns:minmax(0,1fr) 90px 110px; gap:10px; align-items:end; padding:11px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-purchase-edit-lines article > span { display:grid; gap:3px; align-self:center; }
.inventory-purchase-edit-lines strong { font-size:10px; }
.inventory-purchase-edit-lines small { color:var(--ledger-muted); font-size:7px; }
.inventory-purchase-record-head { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:12px; align-items:center; padding-bottom:14px; border-bottom:1px solid var(--ledger-line); }
.inventory-purchase-record-head > span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:var(--ledger-soft); color:var(--ledger-accent); }
.inventory-purchase-record-head > span svg { width:16px; height:16px; }
.inventory-purchase-record-head div { display:grid; gap:3px; }
.inventory-purchase-record-head h3 { margin:0; font-size:14px; }
.inventory-purchase-record-head p { margin:0; color:var(--ledger-muted); font-size:8px; line-height:1.4; }
.inventory-purchase-ledger { margin:0; }
.inventory-purchase-ledger > div { display:grid; grid-template-columns:minmax(110px,38%) minmax(0,1fr); gap:12px; padding:9px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-purchase-ledger dt { color:var(--ledger-muted); font-size:8px; }
.inventory-purchase-ledger dd { margin:0; font-size:9px; font-weight:850; text-align:right; overflow-wrap:anywhere; }
.inventory-purchase-lines { display:grid; border-top:1px solid var(--ledger-line); }
.inventory-purchase-lines > header,.inventory-purchase-lines > article { display:grid; grid-template-columns:minmax(0,1fr) 100px 130px; gap:10px; align-items:center; padding:9px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-purchase-lines > header { color:var(--ledger-muted); font-size:7px; font-weight:850; text-transform:uppercase; }
.inventory-purchase-lines > header span:not(:first-child),.inventory-purchase-lines > article > strong { text-align:right; }
.inventory-purchase-lines article > span { display:grid; gap:2px; }
.inventory-purchase-lines article strong { font-size:9px; }
.inventory-purchase-lines article small { color:var(--ledger-muted); font-size:7px; }
.inventory-purchase-progress-large { display:grid; gap:5px; }
.inventory-purchase-progress-large > span { display:block; height:4px; background:var(--ledger-line); }
.inventory-purchase-progress-large i { display:block; width:var(--purchase-progress); height:100%; background:var(--ledger-accent); }
.inventory-purchase-progress-large small { color:var(--ledger-muted); font-size:8px; }
.inventory-purchase-note { margin:0; padding:10px 0 10px 11px; border-left:2px solid var(--ledger-accent); color:var(--ledger-muted); font-size:8px; line-height:1.45; }
.inventory-purchase-note strong { display:block; color:var(--ledger-ink); }
.inventory-receipt-history { display:grid; border-top:1px solid var(--ledger-line); }
.inventory-receipt-history > .eyebrow { margin:0; padding:10px 0 6px; }
.inventory-receipt-history > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--ledger-line); }
.inventory-receipt-history span { display:grid; gap:2px; }
.inventory-receipt-history strong,.inventory-receipt-history b { font-size:9px; }
.inventory-receipt-history small { color:var(--ledger-muted); font-size:7px; }
.inventory-purchase-cancel { justify-self:start; padding:5px 0; border:0; background:transparent; color:var(--ledger-danger); font-size:8px; font-weight:850; }
.inventory-purchase-return { display:inline-flex; justify-self:start; align-items:center; gap:6px; padding:7px 9px; border:1px solid var(--ledger-line); border-radius:4px; background:transparent; color:var(--ledger-ink); font-size:8px; font-weight:850; }
.inventory-purchase-return svg { width:13px; height:13px; color:var(--ledger-accent); }
.inventory-receive-lines > article { padding:12px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-receive-lines article > header { display:grid; grid-template-columns:minmax(0,1fr) 80px 54px; gap:8px; align-items:end; }
.inventory-receive-lines header > span { display:grid; gap:2px; align-self:center; }
.inventory-receive-lines strong { font-size:10px; }
.inventory-receive-lines small { color:var(--ledger-muted); font-size:7px; }
.inventory-receive-lines header > b { padding-bottom:10px; color:var(--ledger-muted); font-size:8px; }
.inventory-receive-lines article > div { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; }
.inventory-delivery-exception { margin-top:9px; border-top:1px dashed var(--ledger-line); }
.inventory-delivery-exception summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0 2px; cursor:pointer; color:var(--ledger-muted); font-size:8px; font-weight:800; list-style:none; }
.inventory-delivery-exception summary::-webkit-details-marker { display:none; }
.inventory-delivery-exception summary span { display:flex; align-items:center; gap:6px; }
.inventory-delivery-exception summary svg { width:13px; height:13px; color:var(--ledger-warning); }
.inventory-delivery-exception summary small { font-size:7px; font-weight:650; }
.inventory-delivery-exception > div { display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px; padding:8px 0 2px; }
.inventory-delivery-exception label > em { color:var(--ledger-muted); font-size:7px; font-style:normal; font-weight:650; }
.inventory-delivery-exception input[type="file"] { min-height:0; padding:6px; font-size:7px; }
.inventory-purchase-exceptions,.inventory-exception-review { display:grid; border-top:1px solid var(--ledger-line); }
.inventory-purchase-exceptions > header,.inventory-exception-review > header { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:10px 0 6px; }
.inventory-purchase-exceptions h4,.inventory-exception-review header strong { margin:2px 0 0; font-size:10px; }
.inventory-purchase-exceptions header em { color:var(--ledger-warning); font-size:7px; font-style:normal; font-weight:850; }
.inventory-purchase-exceptions article,.inventory-exception-review article { display:grid; grid-template-columns:24px minmax(0,1fr) auto; gap:9px; align-items:center; padding:8px 0; border-top:1px solid var(--ledger-line); }
.inventory-purchase-exceptions article > svg,.inventory-exception-review article > svg { width:14px; height:14px; color:var(--ledger-warning); }
.inventory-purchase-exceptions article.resolved > svg { color:var(--ledger-accent); }
.inventory-purchase-exceptions article span,.inventory-exception-review article span { display:grid; gap:2px; }
.inventory-purchase-exceptions article strong,.inventory-exception-review article strong { font-size:9px; }
.inventory-purchase-exceptions article small,.inventory-exception-review article small,.inventory-exception-review article em { color:var(--ledger-muted); font-size:7px; font-style:normal; }
.inventory-return-history b { color:var(--ledger-danger); }
.inventory-purchase-audit { border-block:1px solid var(--ledger-line); }
.inventory-purchase-audit > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; padding:8px 0; cursor:pointer; list-style:none; }
.inventory-purchase-audit > summary::-webkit-details-marker { display:none; }
.inventory-purchase-audit > summary span { display:flex; align-items:center; gap:7px; }
.inventory-purchase-audit > summary svg { width:14px; height:14px; color:var(--ledger-accent); }
.inventory-purchase-audit > summary strong { font-size:9px; }
.inventory-purchase-audit > summary small { color:var(--ledger-muted); font-size:7px; }
.inventory-purchase-audit > div { display:grid; gap:8px; padding:0 0 10px; }
.inventory-return-lines { display:grid; border-top:1px solid var(--ledger-line); }
.inventory-return-lines article { display:grid; grid-template-columns:minmax(0,1fr) 96px 56px; gap:9px; align-items:end; padding:10px 0; border-bottom:1px solid var(--ledger-line); }
.inventory-return-lines article > span { display:grid; gap:2px; align-self:center; }
.inventory-return-lines strong { font-size:9px; }
.inventory-return-lines small,.inventory-return-lines b { color:var(--ledger-muted); font-size:7px; }
.inventory-return-lines b { padding-bottom:10px; }
.inventory-credit-choice { display:grid !important; grid-template-columns:18px minmax(0,1fr); gap:9px !important; align-items:start; padding:10px 0; border-block:1px solid var(--ledger-line); }
.inventory-credit-choice input { min-height:0 !important; margin-top:2px; }
.inventory-credit-choice span { display:grid; gap:2px; }
.inventory-credit-choice strong { color:var(--ledger-ink); font-size:9px; }
.inventory-credit-choice small { color:var(--ledger-muted); font-size:7px; line-height:1.4; }
.inventory-purchase-summary.danger > svg,.inventory-purchase-note.danger { color:var(--ledger-danger); border-color:var(--ledger-danger); }

@media (max-width:760px) {
  .inventory-purchasing-nav { overflow:visible; }
  .inventory-purchasing-nav button { flex:1 1 0; justify-content:center; min-width:0; padding-inline:4px; }
  .inventory-purchase-intro { align-items:start; }
  .inventory-purchase-intro .primary-button { min-width:0; padding-inline:9px; }
  .inventory-purchase-register > button { grid-template-columns:minmax(0,1fr) auto 12px; gap:8px; }
  .inventory-purchase-order-number { grid-column:1; }
  .inventory-purchase-copy { grid-column:1; }
  .inventory-purchase-value { grid-column:2; grid-row:1 / span 2; }
  .inventory-purchase-register > button > svg { grid-column:3; grid-row:1 / span 2; }
  .inventory-supplier-register > button { grid-template-columns:32px minmax(0,1fr) 12px; gap:9px; }
  .inventory-supplier-register button > span:nth-child(3) { display:none; }
  .inventory-followup-register > article { grid-template-columns:30px minmax(0,1fr); gap:9px; }
  .inventory-followup-register button { grid-column:2; justify-self:start; }
  .inventory-supplier-performance { grid-template-columns:1fr 1fr; }
  .inventory-supplier-performance > div:nth-child(2) { border-right:0; }
  .inventory-supplier-performance > div:nth-child(-n+2) { border-bottom:1px solid var(--ledger-line); }
  .inventory-purchase-dialog { width:calc(100vw - 12px); }
  .inventory-purchase-body { padding-inline:15px; }
  .inventory-purchase-edit-lines > article { grid-template-columns:minmax(0,1fr) 74px; }
  .inventory-purchase-edit-lines > article > label:last-child { grid-column:1 / -1; }
  .inventory-purchase-lines > header,.inventory-purchase-lines > article { grid-template-columns:minmax(0,1fr) 72px 92px; gap:7px; }
  .inventory-delivery-exception > div { grid-template-columns:1fr !important; }
  .inventory-exception-review article { grid-template-columns:20px minmax(0,1fr); }
  .inventory-exception-review article em { grid-column:2; }
  .inventory-return-lines article { grid-template-columns:minmax(0,1fr) 78px 45px; gap:7px; }
  .inventory-purchase-actions { gap:7px !important; }
  .inventory-purchase-actions button { flex:1 1 0 !important; min-width:0 !important; padding-inline:8px; }
}
