  #sv-pending .sv-title .po-cr-link:hover { color:#4a2c17; }
  #sv-pending .sv-title .po-cr-sep { color:#c5a572; }
  #sv-pending .sv-title .crumb-leaf { color:#4a2c17; }
  #sv-pending .sv-sub { font-family:'Jost',sans-serif; font-size:12.5px; color:#6e5a3f; line-height:1.45; margin:0 0 16px; }
  #pending-list { max-width:820px; }
  #sv-pending .pend-card { border:1px solid #e8ddd0; border-radius:12px; background:#fffcf8; padding:14px 15px; margin-bottom:12px; box-shadow:0 12px 32px rgba(58,46,36,0.08); }
  #sv-pending .pend-card.decided { opacity:.72; }
  #sv-pending .pend-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; flex-wrap:wrap; }
  #sv-pending .pend-name { font-family:'Cormorant Garamond',serif; font-size:20px; color:#4a2c17; line-height:1.1; }
  #sv-pending .pend-cat { font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:#9a7b5a; margin-top:3px; }
  #sv-pending .pend-change { font-family:'Jost',sans-serif; font-size:13px; color:#3a2e24; line-height:1.5; margin:10px 0 12px; }
  #sv-pending .pend-flag { font-family:'JetBrains Mono',monospace; font-size:8px; letter-spacing:.06em; text-transform:uppercase; border-radius:999px; padding:3px 8px; white-space:nowrap; flex:none; }
  #sv-pending .pend-flag.ok { color:#1f7a45; border:1px solid rgba(46,158,91,.4); }
  #sv-pending .pend-flag.fraud { color:#c0392b; border:1px solid rgba(192,57,43,.5); background:rgba(192,57,43,.06); }
  #sv-pending .pend-actions { display:flex; gap:10px; }
  #sv-pending .pend-btn { flex:1; padding:11px; border-radius:10px; font-family:'Jost',sans-serif; font-size:14px; font-weight:600; cursor:pointer; border:1px solid #e8ddd0; }
  #sv-pending .pend-btn.deny { background:#fff; color:#8a6940; }
  #sv-pending .pend-btn.approve { background:linear-gradient(180deg,#36b169,#2e9e5b); color:#fff; border-color:transparent; }
  #sv-pending .pend-btn[disabled] { opacity:.5; cursor:default; }
  #sv-pending .pend-stamp { display:inline-block; margin-top:2px; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.04em; }
  #sv-pending .pend-stamp.appr { color:#1f7a45; }
  #sv-pending .pend-stamp.deny { color:#c0392b; }

  /* ===== HR → Approvals — time-off + fix-a-punch (admin); reuses the queue card ===== */
  #sv-approvals .org-head { margin-top:-4px; padding-bottom:8px; }
  #sv-approvals .sv-title { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; letter-spacing:.3em; text-transform:uppercase; line-height:1.5; margin:0 0 7px; }
  #sv-approvals .sv-title .po-cr-link { background:none; border:0; padding:0; font:inherit; letter-spacing:inherit; text-transform:inherit; color:#8a6940; cursor:pointer; }
  #sv-approvals .sv-title .po-cr-sep { color:#c5a572; }
  #sv-approvals .sv-title .crumb-leaf { color:#4a2c17; }
  #sv-approvals .sv-sub { font-family:'Jost',sans-serif; font-size:12.5px; color:#6e5a3f; line-height:1.45; margin:0 0 16px; }
  #approvals-list { max-width:820px; }
  #sv-approvals .pend-card { border:1px solid #e8ddd0; border-radius:12px; background:#fffcf8; padding:14px 15px; margin-bottom:12px; box-shadow:0 12px 32px rgba(58,46,36,0.08); }
  #sv-approvals .pend-card.decided { opacity:.72; }
  #sv-approvals .pend-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; flex-wrap:wrap; }
  #sv-approvals .pend-name { font-family:'Cormorant Garamond',serif; font-size:20px; color:#4a2c17; line-height:1.1; }
  #sv-approvals .pend-cat { font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:#9a7b5a; margin-top:3px; }
  #sv-approvals .pend-change { font-family:'Jost',sans-serif; font-size:13px; color:#3a2e24; line-height:1.5; margin:10px 0 12px; }
  #sv-approvals .pend-flag { font-family:'JetBrains Mono',monospace; font-size:8px; letter-spacing:.06em; text-transform:uppercase; border-radius:999px; padding:3px 8px; white-space:nowrap; flex:none; }
  #sv-approvals .pend-flag.tof { color:#3a7bd5; border:1px solid rgba(58,123,213,.4); }
  #sv-approvals .pend-flag.punch { color:#8a6940; border:1px solid rgba(138,105,64,.4); }
  #sv-approvals .pend-actions { display:flex; gap:10px; }
  #sv-approvals .pend-btn { flex:1; padding:11px; border-radius:10px; font-family:'Jost',sans-serif; font-size:14px; font-weight:600; cursor:pointer; border:1px solid #e8ddd0; }
  #sv-approvals .pend-btn.deny { background:#fff; color:#8a6940; }
  #sv-approvals .pend-btn.approve { background:linear-gradient(180deg,#36b169,#2e9e5b); color:#fff; border-color:transparent; }
  #sv-approvals .pend-btn[disabled] { opacity:.5; cursor:default; }
  #sv-approvals .pend-stamp { display:inline-block; margin-top:2px; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.04em; }
  #sv-approvals .pend-stamp.appr { color:#1f7a45; }
  #sv-approvals .pend-stamp.deny { color:#c0392b; }
  /* Rows = Twine's .mrow/.mav message-row, lifted verbatim (Peter 7-11: "like Twine's —
     names and titles one line across"); name ink on the locked title ink #3a2e24. */
  #org-view-list .org-rows { display: flex; flex-direction: column; }
  #org-view-list .org-row { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; text-align: left;
    background: none; border: none; border-bottom: 1px solid #f3e9dc; cursor: pointer; padding: 11px 2px; }
  #org-view-list .org-row:active { background: #fffaf3; }
  #org-view-list .org-row .oav { flex-shrink: 0; width: 32px; height: 32px; border-radius: 6px; background: #fff5e8; border: 1px solid #e8ddd0;
    display: flex; align-items: center; justify-content: center;
    font-family: 'JetBrains Mono', monospace; font-size: 9px; font-weight: 600; color: #8a6940; }
  #org-view-list .org-row .oline { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    font-family: 'Jost', sans-serif; font-size: 14.5px; line-height: 1.35; }
  #org-view-list .org-row .oline .onm { font-weight: 600; color: #3a2e24; }
  #org-view-list .org-row .oline .oti { font-weight: 400; font-size: 13px; color: #6e5a47; }
  #org-view-list .org-row .org-dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
  #org-view-list .org-row .org-dot.in { background: #3ec06b; box-shadow: 0 0 0 3px rgba(62,192,107,.14); }
  #org-view-list .org-row .org-dot.out { background: #dcd0bf; }
  #org-view-list .po-empty { font-style: italic; color: var(--text-dim); padding: 24px 0; font-family: 'Jost', sans-serif; }
  /* Profile peek — §13.10 centered card (the full editable record lands in slice 2). */
  .org-sheet { position: fixed; inset: 0; background: rgba(20,15,12,.55); display: none; align-items: flex-start; justify-content: center; z-index: 60; overflow-y: auto; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
  .org-sheet.show { display: flex; }
  .org-sheet-card { width: min(430px, calc(100vw - 24px)); margin: calc(76px + env(safe-area-inset-top,0)) auto 24px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 20px; padding: 22px 20px; box-shadow: 0 20px 60px rgba(20,15,12,.4); }
  .org-sheet-top { display: flex; align-items: center; gap: 9px; margin-bottom: 4px; }
  .org-sheet-name { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 24px; font-weight: 400; color: #4a2c17; line-height: 1.1; }
  .org-sheet-sub { font-family: 'Jost', sans-serif; font-size: 12.5px; color: #6e5a3f; margin-bottom: 14px; }
  .org-sheet-rows { display: grid; grid-template-columns: auto 1fr; gap: 9px 16px; }
  .org-sheet-rows .k { font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: #9a7b5a; align-self: center; }
  .org-sheet-rows .v { font-family: 'Inter', sans-serif; font-size: 13px; color: #4a2c17; font-variant-numeric: tabular-nums; }
  .org-sheet-note { font-family: 'Jost', sans-serif; font-size: 11px; font-style: italic; color: #9a7b5a; margin-top: 16px; }
  /* Employee record (VML-style form; reuses .po-form/.vm-grid/.po-fld) */
  #org-view-detail .po-fld.w2 { grid-column: span 2; }
  #org-view-detail .po-fld.w3 { grid-column: span 3; }
  #org-view-detail .po-fld.w4 { grid-column: 1 / -1; }
  @media (max-width: 820px) { #org-view-detail .po-fld.w2, #org-view-detail .po-fld.w3, #org-view-detail .po-fld.w4 { grid-column: 1 / -1; } }
  #org-view-detail .po-fld > span { display: flex; align-items: center; gap: 6px; }
  #org-view-detail .org-onb { font-family: 'Inter', sans-serif; font-size: 7.5px; letter-spacing: .08em; color: #8a6940; background: #f3ece0; border-radius: 3px; padding: 1px 5px; font-weight: 600; text-transform: uppercase; }
  #org-view-detail .org-src { font-family: 'Inter', sans-serif; font-size: 7.5px; letter-spacing: .06em; color: #2d7a46; background: #e7f3ea; border-radius: 3px; padding: 1px 5px; font-weight: 600; text-transform: uppercase; }
  #org-view-detail .org-lock { font-family: 'Inter', sans-serif; font-size: 9px; color: #b8862e; background: #fdf3e0; border-radius: 4px; padding: 2px 7px; font-weight: 600; text-transform: none; letter-spacing: .04em; margin-left: 6px; }
  #org-view-detail .org-mask { letter-spacing: .06em; }
  #org-view-detail input:disabled, #org-view-detail select:disabled { background: #f6f0e8; color: #9a7b5a; cursor: default; }
  #org-view-detail .org-note { font-family: 'Jost', sans-serif; font-size: 11px; color: #9a7b5a; font-style: italic; margin-top: 8px; }
  .po-controls { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
  .po-search-input {
    flex: 1; min-width: 0; height: 40px; background: var(--bg-3); border: 1px solid var(--line); color: var(--text);
    border-radius: 8px; padding: 0 14px; font-family: 'Jost', sans-serif; font-size: 13.5px; outline: none;
  }
  .po-search-input:focus { border-color: var(--gold); }
  .po-search-input::placeholder { color: var(--ink-muted); }
  .po-ctl-btn {
    display: inline-flex; align-items: center; justify-content: center; height: 40px;
    font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
    color: #6e5a3f; background: transparent; border: 1px solid var(--line); border-radius: 8px; padding: 0 15px;
    cursor: pointer; white-space: nowrap; transition: border-color .15s, color .15s, background .15s;
  }
  .po-ctl-btn:hover { border-color: var(--gold); color: #4a2c17; background: var(--bg-2); }

  .po-collabels {
    display: grid; align-items: center; gap: 14px; padding: 10px 16px 0;
    grid-template-columns: 60px minmax(140px,1.5fr) minmax(88px,1fr) 104px 112px 74px 98px;
    font-family: 'Inter', sans-serif; font-size: 8.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-muted);
  }
  .po-collabels.archive { grid-template-columns: 60px minmax(150px,1.6fr) minmax(96px,1fr) 104px 86px 104px; }
  .po-collabels .r { text-align: right; }
  .po-collabels .po-coh { cursor: pointer; user-select: none; white-space: nowrap; transition: color .12s; }
  .po-collabels .po-coh:hover { color: #8a6940; }
  .po-collabels .po-coh.active { color: #8a6940; }

  .po-empty { font-style: italic; color: var(--text-dim); padding: 24px 0; font-family: 'Jost', sans-serif; }
  .po-list { display: flex; flex-direction: column; gap: 5px; padding-top: 6px; }
  .po-row {
    display: grid; align-items: center; gap: 14px;
    grid-template-columns: 60px minmax(140px,1.5fr) minmax(88px,1fr) 104px 112px 74px 98px;
    background: var(--bg-2); border: 1px solid var(--line); border-radius: 8px; padding: 13px 16px;
    cursor: pointer; position: relative; overflow: hidden; transition: border-color .15s, background .15s;
    font-family: 'Inter', sans-serif; font-size: 12px; line-height: 1.2;
  }
  .po-row:hover { border-color: var(--gold); background: var(--bg-3); }
  .po-row::after { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:#c8a98a; transform:scaleY(0); transform-origin:bottom; transition:transform .25s ease; }
  .po-row:hover::after { transform: scaleY(1); }
  .po-row span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; color: #4a2c17; }  /* standardized chocolate throughout */
  .po-row .po-c-num { font-weight: 500; }
  .po-row .po-c-recv { font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
  .po-row .po-c-recv.open { color: #3ec06b; } .po-row .po-c-recv.partial { color: #e08a2a; }
  .po-row .po-c-recv.received, .po-row .po-c-recv.closed { color: #e84d3d; }
  .po-row .po-c-amt { text-align: right; font-variant-numeric: tabular-nums; }
  #po-view-archive .po-row { grid-template-columns: 60px minmax(150px,1.6fr) minmax(96px,1fr) 104px 86px 104px; }

  @media (max-width: 820px) {
    .po-row, #po-view-archive .po-row { grid-template-columns: 1fr auto; row-gap: 3px; gap: 10px; }
    .po-row .po-c-store, .po-row .po-c-date, .po-row .po-c-exp { display: none; }
    .po-collabels { display: none; }
    .po-controls { flex-wrap: wrap; }
  }

  /* Canonical PO sheet (approved PO-template-mockup-13353.html, ported) */
  .po-sheet {
    --pp-paper:#fffcf8; --pp-ink:#4a2c17; --pp-gold:#8a6940; --pp-gold2:#c5a572;
    --pp-line:#e8ddd0; --pp-hair:#efe7d9; --pp-mut:#9a7b5a; --pp-desc:#6e5a3f; --pp-green:#3ec06b;
    max-width: 1000px; margin: 2px auto 0; color: var(--pp-ink);
    font-variant-numeric: lining-nums tabular-nums;
  }
  .po-printhead { display:none; }
  .po-form { background: var(--pp-paper); border: 1px solid var(--pp-line); border-radius: 12px; padding: 20px 22px; }
  .po-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px 20px; }
  .po-k { font-family:'Inter',sans-serif; font-weight:600; font-size:10px; letter-spacing:0.13em; text-transform:uppercase; color:var(--pp-mut); margin-bottom:5px; }
  .po-v { font-family:'Inter',sans-serif; font-size:14px; color:var(--pp-ink); min-height:1.4em; }
  .po-v.mono { font-family:'Inter',sans-serif; font-weight:500; }
  .po-v.po-num { font-family:'Inter',sans-serif; font-weight:700; font-size:16px; color:var(--pp-gold); letter-spacing:.01em; }
  .po-v.po-ship { font-weight:600; }
  .po-pill { display:inline-flex; align-items:center; gap:6px; font-family:'Inter',sans-serif; font-weight:500; font-size:12px; letter-spacing:.02em; color:var(--pp-desc); }
  .po-pill::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--pp-green); display:inline-block; }
  .po-pill.partial::before { background:#e08a2a; }
  .po-pill.draft::before { background:#9a7b5a; }
  .po-split { display:grid; grid-template-columns:repeat(4,1fr); gap:14px 20px; margin-top:16px; padding-top:16px; border-top:1px solid var(--pp-hair); }
  .po-c2 { grid-column: span 2; }
  .po-cb .po-v { font-size:12.5px; color:var(--pp-desc); font-weight:500; }
  .po-notes { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:16px; }
  .po-area { font-family:'Inter',sans-serif; font-size:14px; line-height:1.55; color:var(--pp-ink); background:#fffdfa; border:1px solid var(--pp-hair); border-radius:8px; padding:11px 13px; min-height:4.4em; margin-top:2px; }
  .po-area .dim { color:var(--pp-mut); }
  .po-seclabel { font-family:'Inter',sans-serif; font-size:11px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--pp-gold); margin:26px 0 10px; }
  .po-table { width:100%; border-collapse:collapse; }
  .po-table thead td { font-family:'Inter',sans-serif; font-weight:600; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--pp-mut); padding:0 10px 8px; border-bottom:1px solid var(--pp-line); }
  .po-table thead td.num { text-align:right; }
  .po-table tbody td { font-family:'Inter',sans-serif; padding:9px 10px; font-size:13px; color:var(--pp-ink); border-bottom:1px solid #f2e9dd; }
  .po-table .mono { font-weight:500; }
  .po-table .style { font-weight:600; color:var(--pp-gold); cursor:pointer; }
  .po-table .style:hover { text-decoration:underline; }
  .po-table .b { color:var(--pp-desc); }
  .po-table .num { text-align:right; font-variant-numeric:tabular-nums; }
  .po-table .dim { color:var(--pp-mut); }
  .po-table .po-rec.full { color:var(--pp-green); font-weight:600; }
  .po-table .po-rec.part { color:#e08a2a; font-weight:600; }
  .po-table .po-rec.none { color:var(--pp-mut); }
  .po-table tfoot td { font-family:'Inter',sans-serif; font-size:13px; font-weight:700; color:var(--pp-ink); padding:13px 10px; border-top:1px solid var(--pp-line); font-variant-numeric:tabular-nums; }
  .po-table tfoot .lab { font-weight:400; color:var(--pp-mut); letter-spacing:.14em; text-align:right; text-transform:uppercase; }
  .po-actions { display:flex; justify-content:flex-end; margin-top:16px; }
  .po-print { font-family:'Inter',sans-serif; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--pp-gold); background:var(--pp-paper); border:1px solid var(--pp-line); border-radius:8px; padding:10px 18px; cursor:pointer; }
  .po-print:hover { border-color:var(--pp-gold2); background:#fffaf3; }
  @media (max-width: 820px) {
    .po-meta { grid-template-columns: repeat(2, 1fr); }
    .po-split { grid-template-columns: repeat(2, 1fr); }
    .po-notes { grid-template-columns: 1fr; }
    .po-table { display:block; overflow-x:auto; }
  }
  @media print {
    @page { size: Letter portrait; margin: 0.5in; }
    body * { visibility:hidden !important; }
    .po-sheet, .po-sheet * { visibility:visible !important; }
    .po-sheet { position:absolute; left:0; top:0; width:100%; max-width:none; margin:0; }
    .po-actions { display:none !important; }
    .po-printhead { display:block; font-family:'Inter',sans-serif; font-weight:600; font-size:8pt; letter-spacing:.14em; text-transform:uppercase; color:#4a2c17; margin-bottom:10px; }
    .po-form { border-color:#d9cbb6; padding:12px 14px; }
    .po-v { font-size:9pt; } .po-k { font-size:6pt; } .po-area { font-size:8.5pt; min-height:4em; }
    .po-seclabel { font-size:8.5pt; margin:14px 0 6px; }
    thead { display:table-header-group; } tfoot { display:table-footer-group; } tr { page-break-inside:avoid; }
    .po-table thead td { font-size:6.5pt; padding:0 6px 4px; }
    .po-table tbody td, .po-table .mono, .po-table .num, .po-table .style, .po-table .b { font-size:8.2pt; padding:3px 6px; }
  }

  /* Create New PO form */
  .po-create { max-width: 980px; }
  .po-create-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .po-fld { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--text-dim); }
  .po-fld.po-fld-wide { grid-column: 1 / -1; margin-top: 14px; }
  .po-fld > span { font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; }
  .po-fld input, .po-fld select, .po-fld textarea {
    background: var(--bg-2); border: 1px solid var(--line); border-radius: 4px;
    color: var(--text); padding: 8px 10px; font-size: 13px; font-family: inherit;
  }
  .po-fld input:focus, .po-fld select:focus, .po-fld textarea:focus { outline: none; border-color: var(--gold-dim); }
  .po-fld-note { font-size: 10.5px; color: var(--text-dim); font-style: italic; }
  .po-fld-note.ok { color: var(--live-green, #2d9a4a); font-style: normal; }
  .po-lines-head { display: flex; align-items: center; justify-content: space-between; margin-top: 22px; }
  .po-find { position: relative; margin: 10px 0; }
  .po-find input { width: 100%; background: var(--bg-2); border: 1px solid var(--line); border-radius: 4px; color: var(--text); padding: 9px 12px; font-size: 13px; }
  .po-find-results { display: flex; flex-direction: column; }
  .po-find-row { display: grid; grid-template-columns: 1.2fr 1.4fr 0.8fr 0.8fr; gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-top: none; cursor: pointer; font-size: 12px; background: var(--bg-2); }
  .po-find-row:hover { background: var(--bg); }
  .po-find-row .mono { font-family: 'JetBrains Mono', monospace; }
  .po-find-row .num { text-align: right; font-family: 'JetBrains Mono', monospace; }
  .po-find-row .gold { color: var(--gold-bright); }
  .po-find-row .dim { color: var(--text-dim); }
  .po-find-empty { padding: 8px 10px; font-size: 12px; color: var(--text-dim); font-style: italic; border: 1px solid var(--line); border-top: none; }
  .po-lines { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
  .po-line-row { display: grid; grid-template-columns: 1fr 1fr 1fr 0.7fr 1.1fr 0.6fr 0.8fr 0.8fr auto; gap: 6px; align-items: center; }
  .po-line-row input { background: var(--bg-2); border: 1px solid var(--line); border-radius: 4px; color: var(--text); padding: 7px 8px; font-size: 12px; width: 100%; }
  .po-line-row input.num { text-align: right; font-family: 'JetBrains Mono', monospace; }
  .po-line-del { background: none; border: 1px solid var(--line); border-radius: 4px; color: var(--text-dim); width: 28px; height: 30px; cursor: pointer; font-size: 16px; line-height: 1; }
  .po-line-del:hover { border-color: #b3402f; color: #b3402f; }
  /* Static, non-removable column headers for the line-item table */
  .po-lines-head-actions { display: flex; gap: 8px; }
  .po-lines-table { margin-top: 10px; }
  .po-lines-header { display: grid; grid-template-columns: 1fr 1fr 1fr 0.7fr 1.1fr 0.6fr 0.8fr 0.8fr auto; gap: 6px; align-items: center; padding: 0 0 7px; border-bottom: 1.5px solid var(--line); }
  .po-lines-header span { font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: 0.13em; text-transform: uppercase; color: var(--text-dim); padding: 0 8px; }
  .po-lines-header span.num { text-align: right; }
  .po-lines-header .del-sp { width: 28px; padding: 0; }
  .po-lines:empty::after { content: "No line items yet — search a style above, or use + Add line / + Add new style."; display: block; padding: 13px 8px; font-size: 12px; color: var(--text-dim); font-style: italic; }
  /* UPC/EAN not on file → "Tasked" (queued for the lookup tool), still editable */
  .po-line-row input.pl-upc-tasked { border-color: var(--gold-dim); border-style: dashed; }
  .po-line-row input.pl-upc-tasked::placeholder { color: var(--gold-bright); font-style: italic; opacity: 0.95; letter-spacing: 0.04em; }
  .po-create-actions { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
  .po-create-status { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; }
  .po-create-status.ok { color: var(--live-green, #2d9a4a); }
  .po-create-status.err { color: #b3402f; }
  @media (max-width: 820px) {
    .po-create-grid { grid-template-columns: 1fr 1fr; }
    .po-line-row { grid-template-columns: 1fr 1fr 0.6fr auto; }
    .po-line-row .pl-color, .po-line-row .pl-upc, .po-line-row .pl-msrp { display: none; }
  }
  .po-find-hint { font-size: 11px; color: var(--text-dim); font-style: italic; margin-top: 6px; }

  /* Size/color matrix modal */
  .po-matrix-modal { display: none; }
  .po-matrix-modal.open { display: block; }
  .pm-backdrop { position: fixed; inset: 0; background: rgba(20,14,8,0.55); z-index: 800; }
  .pm-panel {
    position: fixed; z-index: 801; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: min(960px, 94vw); max-height: 88vh; overflow: auto;
    background: var(--bg); border: 1px solid var(--line); border-radius: 10px;
    box-shadow: 0 24px 70px rgba(0,0,0,0.4); padding: 22px 24px;
  }
  .pm-panel-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
  .pm-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px; color: var(--text); }
  .pm-x { background: none; border: 1px solid var(--line); border-radius: 4px; color: var(--text-dim); width: 30px; height: 30px; font-size: 18px; cursor: pointer; }
  .pm-x:hover { border-color: var(--gold); color: var(--gold-bright); }
  .pm-head-meta { display: flex; gap: 16px; align-items: baseline; margin-bottom: 14px; flex-wrap: wrap; }
  .pm-head-meta .mono { font-family: 'JetBrains Mono', monospace; font-size: 14px; color: var(--gold-bright); }
  .pm-head-meta .dim { color: var(--text-dim); font-size: 12.5px; }
  .pm-newstyle { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
  .pm-newstyle label { display: flex; flex-direction: column; gap: 4px; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-dim); font-family: 'JetBrains Mono', monospace; }
  .pm-newstyle input, .pm-newstyle select { background: var(--bg-2); border: 1px solid var(--line); border-radius: 4px; color: var(--text); padding: 7px 9px; font-size: 13px; }
  .pm-colors { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 8px; }
  .pm-color { background: var(--bg-2); border: 1px solid var(--line); border-radius: 999px; color: var(--text); padding: 6px 14px; font-size: 12px; cursor: pointer; }
  .pm-color.active { border-color: var(--gold-bright); color: var(--gold-bright); background: rgba(160,114,25,0.08); }
  /* Inline add-color composer (replaces the old window.prompt) */
  .pm-addcolor-inline { display: inline-flex; align-items: center; gap: 5px; }
  .pm-addcolor-input { width: 130px; background: var(--bg-2); border: 1px dashed var(--gold-dim); border-radius: 999px; color: var(--text); padding: 6px 13px; font-size: 12px; }
  .pm-addcolor-input::placeholder { color: var(--gold-bright); opacity: 0.85; }
  .pm-addcolor-input:focus { outline: none; border-style: solid; border-color: var(--gold-bright); }
  .pm-addcolor-go { background: var(--gold-bright); border: 1px solid var(--gold-bright); border-radius: 999px; color: #1c1409; padding: 6px 13px; font-size: 11px; font-weight: 700; cursor: pointer; }
  .pm-addcolor-go:hover { filter: brightness(1.12); }
  .pm-active-color { font-size: 12px; color: var(--text-dim); margin-bottom: 10px; }
  .pm-active-color strong { color: var(--text); }
  .pm-grid-scroll { overflow: auto; max-height: 46vh; border: 1px solid var(--line); border-radius: 6px; }
  .pm-grid { border-collapse: collapse; width: 100%; }
  .pm-grid th { position: sticky; top: 0; background: #15100c; color: var(--gold2, #C5A572); font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; padding: 7px 8px; text-align: center; z-index: 1; }
  .pm-grid tbody th { position: sticky; left: 0; background: var(--bg-2); color: var(--text); z-index: 0; }
  .pm-grid td { padding: 3px; border: 1px solid var(--line); text-align: center; }
  .pm-grid input { width: 46px; background: var(--bg); border: 1px solid var(--line); border-radius: 3px; color: var(--text); padding: 5px 4px; font-size: 12px; text-align: center; font-family: 'JetBrains Mono', monospace; }
  .pm-grid input:focus { outline: none; border-color: var(--gold-bright); }
  .pm-grid input.pm-uncarried { background: repeating-linear-gradient(45deg, var(--bg), var(--bg) 4px, var(--bg-2) 4px, var(--bg-2) 8px); }
  /* Filled gold so it reads clearly against the dark grid header */
  .pm-addcup { background: var(--gold-bright); border: 1px solid var(--gold-bright); border-radius: 4px; color: #1c1409; padding: 5px 11px; font-size: 10px; font-weight: 700; letter-spacing: 0.04em; cursor: pointer; white-space: nowrap; }
  .pm-addcup:hover { filter: brightness(1.12); }
  .pm-addcup-input { width: 56px; background: #fff; border: 1px solid var(--gold-bright); border-radius: 4px; color: #1c1409; padding: 4px 6px; font-size: 11px; text-align: center; text-transform: uppercase; font-family: 'JetBrains Mono', monospace; }
  .pm-addcup-input:focus { outline: none; }
  /* No up/down spinners on quantity / cost inputs — buyers just type a number */
  .pm-grid input::-webkit-inner-spin-button, .pm-grid input::-webkit-outer-spin-button,
  .pm-alpha-cell input::-webkit-inner-spin-button, .pm-alpha-cell input::-webkit-outer-spin-button,
  .po-line-row input::-webkit-inner-spin-button, .po-line-row input::-webkit-outer-spin-button,
  .pm-newstyle input::-webkit-inner-spin-button, .pm-newstyle input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
  .pm-grid input, .pm-alpha-cell input, .po-line-row input.num, .pm-newstyle input { -moz-appearance: textfield; }
  .pm-alpha { display: flex; gap: 10px; flex-wrap: wrap; padding: 10px 2px; }
  .pm-alpha-cell { display: flex; flex-direction: column; gap: 4px; align-items: center; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text-dim); }
  .pm-alpha-cell input { width: 60px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 4px; color: var(--text); padding: 7px; text-align: center; font-size: 13px; }
  .pm-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; gap: 12px; }
  .pm-total { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--gold-bright); }
  .pm-foot > div { display: flex; gap: 8px; }
  .rcv-file-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .rcv-file-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 4px;
    color: var(--text);
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    padding: 7px 12px;
    text-decoration: none;
    cursor: pointer;
    letter-spacing: 0.06em;
  }
  .rcv-file-btn:hover { border-color: var(--gold-dim); color: var(--gold-bright); }
  .rcv-file-btn .glyph { font-size: 13px; }
  .rcv-bucket-empty {
    font-size: 12.5px;
    color: var(--text-dim);
    font-style: italic;
  }
  /* Receiving Voucher (xlsx) — download links, not thumbnails */
  .rcv-voucher-list { display: flex; flex-direction: column; gap: 8px; padding: 2px 0; }
  .rcv-voucher-link {
    display: flex; align-items: center; gap: 10px;
    padding: 11px 14px; border: 1px solid var(--line); border-radius: 8px;
    background: var(--bg-2); text-decoration: none; font-family: 'Inter', sans-serif;
    color: #4a2c17; font-size: 13px; transition: border-color .15s, background .15s;
  }
  .rcv-voucher-link:hover { border-color: var(--gold); background: var(--bg-3); }
  .rcv-voucher-link .rcv-voucher-ic { font-size: 16px; }
  .rcv-voucher-link .rcv-voucher-name { flex: 1; font-weight: 600; }
  .rcv-voucher-link .rcv-voucher-open { color: #8a6940; font-size: 11px; letter-spacing: .06em; }

  /* PO detail — inline photo thumbnails (corporate quick-review, Tradeshow-style) */
  .rcv-thumb-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
  }
  .rcv-thumb {
    position: relative;
    border: 1px solid var(--line);
    border-radius: 6px;
    overflow: hidden;
    background: var(--bg);
    aspect-ratio: 3 / 4;
    transition: border-color 0.15s;
  }
  .rcv-thumb:hover { border-color: var(--gold-dim); }
  .rcv-thumb.no-thumb { aspect-ratio: auto; }
  .rcv-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    cursor: zoom-in;
  }
  .rcv-thumb-cap {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 5px 8px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.06em;
    color: #f3ead8;
    background: linear-gradient(to top, rgba(0,0,0,0.62), rgba(0,0,0,0));
    pointer-events: none;
  }
  .rcv-thumb-fallback {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 10px;
    background: var(--bg-2);
    border: 1px solid var(--line);
    border-radius: 4px;
    color: #4a2c17;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    padding: 7px 12px;
    text-decoration: none;
    letter-spacing: 0.04em;
  }
  .rcv-thumb-fallback:hover { border-color: var(--gold); color: #4a2c17; }
  .rcv-thumb-fallback .glyph { font-size: 13px; }


  .rcv-loading, .rcv-error {
    padding: 24px 0;
    color: #6e5a47;
    font-size: 12.5px;
    font-family: 'Jost', sans-serif;
    letter-spacing: 0.02em;
  }
  .rcv-loading { animation: rcvPulse 1.6s ease-in-out infinite; }
  @keyframes rcvPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.45; } }
  .rcv-error { color: var(--red); }

  /* small util */
  .hidden { display: none !important; }

  /* mobile cleanup */
  @media (max-width: 720px) {
    .panel { padding: 20px 16px 48px; }
    .panel-title, .sv-title { font-size: 26px; }
    .panel-sub, .sv-sub { font-size: 13px; }
    .ts-recap-card { padding: 16px 18px; }
    .ts-sheet-card { grid-template-columns: 1fr; }
    /* ---- Pulse mobile-ready additions (2026-05-30) ---- */
    .topbar { padding: calc(15px + env(safe-area-inset-top, 0px)) 16px 12px; }  /* Spirits header geometry — exact, so the bar never shifts between screens */
    .topbar-brand { font-size: 22px; }
    .topbar-right .who { display: none; }   /* name moves into the drawer header */
    .topbar-right { gap: 10px; }
    .logout-btn { padding: 5px 9px; }
    .tabs { display: none; }                 /* desktop strip → drawer on mobile */
    /* list rows: drop the fixed-width inner columns, stack the content */
    .tiles-list .tile { flex-direction: column; align-items: stretch; gap: 4px; padding: 14px 16px; }
    .tiles-list .tile-status, .tiles-list .tile-name { width: auto; }
    .tiles-list .tile-name { font-size: 19px; }
    /* NOTE: mobile overrides for the nav chrome (.pulse-menu-btn, .pulse-drawer,
       .pulse-drawer-title, .pulse-navbar) live in a SECOND @media block AFTER the
       base nav rules below — placing them here loses the cascade (the base rules
       come later in source and would win on phones). */
  }

  /* ===== Pulse shell nav chrome (base styles — desktop shows the Back/Home bar,
           keeps the hamburger + drawer hidden; mobile flips that in the query above) ===== */
  .pulse-menu-btn {
    display: none; grid-column: 1; justify-self: start;
    flex-direction: column; gap: 4px; background: none; border: none; cursor: pointer; padding: 6px;
  }
  .pulse-menu-btn span { width: 22px; height: 2px; background: var(--banner-ink); border-radius: 2px; }

  .pulse-navbar {
    display: none; border-bottom: 1px solid var(--line); background: rgba(255,252,248,0.5);
  }
  .pulse-navbar.show { display: block; }
  /* Inner wrapper matches the 1100px content column (the .subview / .tab-home
     column) so Back/Home/crumb line up with the page title, not the viewport edge. */
  .pulse-navbar-inner {
    display: flex; align-items: center; gap: 10px;
    max-width: 1100px; margin: 0 auto; padding: 11px 0;
  }
  .pulse-navbtn {
    font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
    background: var(--gold); color: #241405; border: none; border-radius: 5px; padding: 9px 16px; cursor: pointer; white-space: nowrap;
  }
  .pulse-navbtn:hover { background: var(--gold-bright); color: #fff; }
  .pulse-navbtn.ghost { background: transparent; border: 1px solid var(--line); color: var(--text-dim); }
  .pulse-navbtn.ghost:hover { border-color: var(--gold); color: var(--text); background: var(--bg-2); }
  .pulse-navcrumb {
    font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--text-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  /* the per-subview back buttons + Trainer back-links are replaced by the shell bar */
  #ts-btn-back, #ts-btn-back-vendor, .back-link { display: none !important; }  /* Receiving's back buttons removed outright 7-03 (breadcrumb-as-title) */

  .pulse-drawer-wrap { position: fixed; inset: 0; z-index: 200; display: none; }
  .pulse-drawer-wrap.open { display: block; }
  .pulse-drawer-scrim { position: absolute; inset: 0; background: rgba(20,12,8,0.45); }
  .pulse-drawer {
    position: absolute; top: 0; left: 0; bottom: 0; width: 82%; max-width: 300px;
    background: var(--bg); box-shadow: 6px 0 30px rgba(0,0,0,0.3); display: flex; flex-direction: column;
  }
  .pulse-drawer-head {
    background: var(--banner-bg); padding: calc(18px + env(safe-area-inset-top, 0px)) 20px 14px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .pulse-drawer-head .topbar-brand { font-size: 21px; grid-column: auto; text-align: left; }
  .pulse-drawer-x { background: none; border: none; color: var(--banner-ink); font-size: 24px; line-height: 1; cursor: pointer; }
  .pulse-drawer-who {
    background: var(--banner-bg); color: #cdbfae; padding: 0 20px 12px;
    font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase;
  }
  .pulse-drawer-who:not(:empty)::before { content: "● "; color: #6fcf97; }
  .pulse-drawer-title { display: none; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 21px; color: var(--text); padding: 12px 20px 2px; }
  .pulse-drawer-list { padding: 8px 0; overflow: auto; }
  .pulse-dtab {
    display: flex; width: 100%; align-items: center; gap: 10px; text-align: left;
    font-family: 'Jost', sans-serif; font-size: 15px; color: var(--text);
    background: none; border: none; border-left: 3px solid transparent; padding: 13px 20px; cursor: pointer;
  }
  .pulse-dtab:hover { background: var(--bg-2); }
  .pulse-dtab.active { border-left-color: var(--gold-bright); color: var(--text); background: var(--bg-3); font-weight: 500; }
  .pulse-dtab.cc::after {
    content: "SUPER"; margin-left: auto; font-family: 'JetBrains Mono', monospace; font-size: 8px;
    letter-spacing: 0.14em; color: var(--text-dim); border: 1px solid var(--line); border-radius: 10px; padding: 2px 7px;
  }
  .pulse-dtab-sep {
    font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: 0.24em; text-transform: uppercase;
    color: var(--text-dim); padding: 14px 20px 6px;
  }

  /* Mobile overrides for the nav chrome — MUST come after the base rules above so
     they win the cascade on phones (equal specificity → later source order wins).
     This is the fix for the ☰ not appearing on mobile (2026-05-30). */
  @media (max-width: 720px) {
    .pulse-menu-btn { display: none; }                 /* hamburger retired — the AllureOS Pulse logo returns home */
    .pulse-navbar-inner { padding: 10px 16px; }
    .pulse-drawer { width: 100%; max-width: none; }    /* selector fills the phone screen */
    .pulse-drawer-title { display: block; }
  }

  /* ===== §10 MOBILE HOME-LANDING (Pulse) — the drawer IS the landing =====
     Header = locked §10 canonical (mark | centered brand | power-glyph sign-out).
     Body  = §10 home-landing tiles (My apps + Coming soon). Mobile-only surface;
     desktop keeps the §3 banner + tab strip untouched. */
  .pulse-drawer-head {
    background: #000; display: block;
    padding: calc(15px + env(safe-area-inset-top, 0px)) 16px 0;
  }
  .pl-banner-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; }
  .pl-mark { justify-self: start; display: inline-flex; align-items: center; line-height: 0; padding: 6px; text-decoration: none; opacity: .9; }
  .pl-mark:hover { opacity: 1; }
  .pl-brand {
    grid-column: 2; text-align: center; white-space: nowrap; line-height: 1;
    font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px; font-weight: 300; color: #fdf8f3;
  }
  .pl-brand span { font-style: italic; color: #c5a572; font-weight: 400; }
  .pl-signout {
    justify-self: end; background: none; border: none; cursor: pointer; color: #fdf8f3;
    font-family: 'JetBrains Mono', monospace; font-size: 21px; line-height: 1; padding: 6px;
  }
  .pl-signout:hover { color: #c5a572; }
  /* who-line: ● NAME · LOCATION (centered, location = picker) — overrides the old left-aligned drawer-who */
  .pulse-drawer-who {
    background: #000; color: #cdbfae; padding: 12px 16px 12px; text-align: center;
    font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
