:root{--ink:#17201d;--muted:#65716c;--line:#dfe5df;--paper:#f5f6f2;--white:#fff;--forest:#173b30;--forest2:#0f2a21;--gold:#c99b3e;--gold-soft:#faefd7;--danger:#a73e35}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-shell{max-width:1440px;margin:auto;padding:26px clamp(18px,4vw,58px) 50px}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px}.brand{display:flex;gap:11px;align-items:center}.brand-mark{display:grid;place-items:center;border-radius:10px;background:var(--gold);color:#fff;font-size:25px;font-weight:800;width:46px;height:46px;font-family:Georgia,serif}.brand strong,.brand span{display:block}.brand strong{font-size:21px;line-height:20px}.brand span:not(.brand-mark){font-size:12px;color:var(--muted);margin-top:4px}.topbar-actions{display:flex;gap:10px}.page-heading,.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px}.page-heading{padding:35px 0 23px}h1,h2,p{margin:0}h1{font-size:clamp(27px,4vw,42px);letter-spacing:-1.2px}h2{font-size:18px;letter-spacing:-.3px}.eyebrow{font-size:11px;font-weight:800;color:var(--gold);letter-spacing:1.3px;margin-bottom:7px}.muted{color:var(--muted);font-size:13px;line-height:1.45;margin-top:7px}.invoice-badge{padding:13px 16px;border:1px solid #d9d0be;background:#fffaf0;border-radius:11px;text-align:right}.invoice-badge span,.invoice-badge strong{display:block}.invoice-badge span{font-size:10px;letter-spacing:.8px;color:var(--muted)}.invoice-badge strong{font-size:17px}.settings-grid{display:grid;grid-template-columns:1.3fr 1.25fr .75fr;gap:16px}.card{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 2px 2px rgba(20,40,30,.02)}.card-title{display:flex;justify-content:space-between;gap:10px;align-items:start}.field-label{display:block;font-size:13px;font-weight:700;margin:18px 0 7px}.field-label small,label small{font-weight:500;color:var(--muted)}input,select{width:100%;font:inherit;border:1px solid #cdd6d0;border-radius:8px;padding:11px;color:var(--ink);background:#fff;outline:none}input:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,155,62,.14)}.stepper-input{display:grid;grid-template-columns:auto 1fr auto}.stepper-input input{border-radius:0;text-align:center;font-size:19px;font-weight:750}.stepper{border:0;background:var(--forest);color:#fff;font-weight:700;padding:0 13px;cursor:pointer}.stepper:first-child{border-radius:8px 0 0 8px}.stepper:last-child{border-radius:0 8px 8px 0}.price-note{display:flex;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}.price-note strong{color:var(--forest)}.live-dot{font-size:11px;background:#e4f6e8;color:#16753c;border-radius:20px;padding:4px 9px;font-weight:700}.status{font-size:10px;padding:4px 8px;border-radius:20px;font-weight:800}.status-pending{background:#f1eee7;color:#806828}.status-draft{background:#edf0ee;color:#5e6963;margin-left:7px}.weight-readout{margin-top:19px;color:var(--forest)}.weight-readout strong{font-size:38px;letter-spacing:-1px}.weight-readout span{font-weight:700;margin-left:7px}.scale-controls{display:flex;gap:8px;margin-top:14px}.scale-controls input{min-width:0}.button{font:inherit;font-weight:750;border-radius:9px;padding:10px 14px;border:1px solid transparent;cursor:pointer;white-space:nowrap}.button-dark{background:var(--forest);color:#fff}.button-quiet{background:transparent;border-color:var(--line);color:var(--ink)}.button-gold{background:var(--gold);color:#fff}.button-outline{border-color:var(--forest);color:var(--forest);background:#fff}.plain-input{margin-top:7px}.pieces-section{margin-top:30px}.section-title{margin-bottom:13px}.pieces{display:grid;gap:12px}.piece{padding:17px 20px}.piece-header{display:flex;justify-content:space-between;margin-bottom:14px}.piece-number{font-weight:800}.remove-piece{border:0;background:transparent;color:var(--danger);font-weight:700;cursor:pointer}.piece-fields{display:grid;grid-template-columns:1fr 1.25fr 1.5fr;gap:13px}.piece-fields label,.customer-fields label{font-size:12px;font-weight:750}.piece-fields input,.piece-fields select,.customer-fields input{margin-top:6px}.compact-stepper{display:grid;grid-template-columns:31px 1fr 31px}.compact-stepper input{text-align:center;border-radius:0}.compact-stepper button{border:1px solid #cdd6d0;background:#f6f8f6;cursor:pointer}.compact-stepper button:first-child{border-radius:8px 0 0 8px}.compact-stepper button:last-child{border-radius:0 8px 8px 0}.piece-summary{display:flex;gap:26px;align-items:center;border-top:1px solid var(--line);margin-top:17px;padding-top:13px;font-size:12px;color:var(--muted)}.piece-summary span{display:grid;gap:3px}.piece-summary strong{font-size:14px;color:var(--ink)}.piece-total-wrap{margin-left:auto;text-align:right}.piece-total-wrap strong{font-size:19px;color:var(--forest)}.bottom-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:16px;margin-top:28px}.customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.wide{grid-column:span 2}.total-line{display:flex;justify-content:space-between;padding:8px 0;font-size:13px;color:var(--muted)}.total-line strong{color:var(--ink)}.grand-total{border-top:1px solid var(--line);margin-top:8px;padding-top:17px;display:grid;gap:4px}.grand-total span{font-size:13px;color:var(--muted)}.grand-total strong{font-size:26px;color:var(--forest)}.grand-total small{font-weight:700;color:var(--muted)}.button-complete{width:100%;margin-top:20px;background:var(--forest2);color:white;padding:13px}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,150px);background:#17201d;color:#fff;border-radius:9px;padding:12px 17px;font-size:14px;transition:transform .25s;box-shadow:0 8px 25px #0003}#toast.show{transform:translate(-50%,0)}@media(max-width:860px){.settings-grid,.bottom-grid{grid-template-columns:1fr}.exchange-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.exchange-card p{grid-column:span 2}.piece-fields{grid-template-columns:1fr 1fr}.piece-fields label:last-child{grid-column:span 2}}@media(max-width:530px){.app-shell{padding:16px}.topbar-actions .button-quiet{display:none}.page-heading{align-items:start}.invoice-badge{padding:9px}.settings-grid{gap:11px}.piece-fields,.customer-fields{grid-template-columns:1fr}.piece-fields label:last-child,.wide{grid-column:auto}.piece-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.piece-total-wrap{margin-left:0;text-align:left}.scale-controls{flex-direction:column}.topbar{padding-bottom:15px}}@media print{body{background:#fff}.app-shell{max-width:80mm;padding:0}.topbar-actions,.settings-grid,.section-title .button,.remove-piece,.customer-card,#toast{display:none}.topbar{padding:6px 0}.page-heading{padding:12px 0}.page-heading .muted{display:none}.pieces-section{margin-top:8px}.piece{padding:8px;border-radius:0;box-shadow:none;break-inside:avoid}.piece-fields{grid-template-columns:1fr 1fr}.piece-fields label:nth-child(3){display:none}.bottom-grid{display:block;margin-top:8px}.totals-card{border-radius:0;padding:9px}.button-complete{display:none}.grand-total strong{font-size:20px}}
.app-nav{display:flex;gap:7px;border-bottom:1px solid var(--line);padding:15px 0}.nav-link{border:0;background:transparent;color:var(--muted);padding:8px 12px;font:inherit;font-size:13px;font-weight:750;border-radius:7px;cursor:pointer}.nav-link.active{background:var(--forest);color:white}.app-view{display:none}.app-view.active{display:block}.compact-heading{padding-top:30px}.records-card{padding:0;overflow:hidden}.records-toolbar{display:flex;gap:10px;padding:16px;border-bottom:1px solid var(--line)}.records-toolbar input{max-width:420px}.records-list{overflow:auto}.record-row{display:grid;grid-template-columns:1.05fr 1.2fr .7fr .85fr .7fr;gap:14px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);font-size:13px}.record-row:last-child{border-bottom:0}.record-id strong,.record-name strong{display:block}.record-id span,.record-name span,.record-date{display:block;color:var(--muted);font-size:11px;margin-top:4px}.record-total{font-weight:800;color:var(--forest)}.record-action{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 9px;color:var(--forest);font-weight:700;cursor:pointer}.empty-state{color:var(--muted);text-align:center;padding:45px 18px}.customer-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.customer-entry strong,.customer-entry span{display:block}.customer-entry strong{font-size:17px}.customer-entry span{color:var(--muted);font-size:13px;margin-top:6px}.customer-entry .customer-total{color:var(--forest);font-weight:800;margin-top:16px}.settings-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-fields{display:grid;gap:13px;margin-top:17px}.settings-fields label{font-size:12px;font-weight:750}.settings-fields input,.settings-fields select{margin-top:6px}.connection-card .status{display:inline-block;margin-top:17px}.button-danger{background:#fff;border-color:#d9a8a2;color:var(--danger);margin-top:17px}@media(max-width:860px){.settings-page-grid,.customer-list{grid-template-columns:1fr 1fr}.record-row{min-width:660px}}@media(max-width:530px){.app-nav{overflow:auto}.nav-link{white-space:nowrap}.customer-list,.settings-page-grid{grid-template-columns:1fr}.records-toolbar{flex-direction:column}.records-toolbar input{max-width:none}}
.market-table{display:grid;grid-template-columns:1.35fr .72fr 1.1fr .9fr .83fr;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.market-cell{min-height:122px;padding:16px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px;justify-content:center}.market-cell:last-child{border-right:0}.market-cell>span,.market-cell>label{font-size:12px;font-weight:800;color:var(--muted)}.market-cell>small{font-size:11px;color:var(--muted)}.market-cell>strong{font-size:29px;color:var(--forest);letter-spacing:-1px}.market-cell input{padding:9px;font-weight:750}.kasr-cell{background:#fffaf0}.kasr-cell .compact-stepper{margin-top:4px}.weight-cell .weight-readout{margin:0;line-height:1}.weight-cell .weight-readout strong{font-size:31px}.tare-cell{background:#f9fbf8}.tare-cell strong{color:var(--forest)}.mini-weight-entry{display:flex;gap:6px;margin-top:3px}.mini-weight-entry input{min-width:0}.mini-weight-entry .button{padding:8px 10px}@media(max-width:760px){.market-table{grid-template-columns:1fr 1fr}.market-cell:nth-child(2n){border-right:0}.market-cell:nth-child(-n+4){border-bottom:1px solid var(--line)}}@media(max-width:430px){.market-table{grid-template-columns:1fr}.market-cell{border-right:0;border-bottom:1px solid var(--line)}.market-cell:last-child{border-bottom:0}.market-cell:nth-child(2){border-right:0}}
.live-market-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:9px;padding:9px 13px;border:1px solid #dfd1b4;border-radius:10px;background:linear-gradient(100deg,#fffaf0,#fff)}.live-market-banner>div{display:flex;align-items:baseline;gap:9px}.live-market-banner span{font-size:10px;font-weight:850;letter-spacing:.7px;color:var(--muted)}.live-market-banner strong{font-size:20px;line-height:1;color:var(--forest);font-variant-numeric:tabular-nums}.live-market-banner small,.live-market-banner p{font-size:11px;color:var(--muted);margin:0}.weight-state{color:var(--forest)!important;font-weight:750}@media(max-width:530px){.live-market-banner{align-items:flex-start;flex-direction:column;gap:5px}.live-market-banner>div{flex-wrap:wrap}}
.market-done-row{margin-top:9px}.market-done-row .button{width:100%;padding:12px;font-size:15px}.weight-cell .mini-weight-entry{margin-top:3px}
.payment-field{display:block;margin-top:16px;font-size:12px;font-weight:800}.payment-field small{color:var(--muted);font-weight:600}.payment-field input{margin-top:6px;font-weight:800}.payment-line{padding-top:11px;border-bottom:0}.payment-line strong{color:var(--forest)}
.piece-summary{flex-wrap:wrap}.piece-total-wrap{padding-left:12px}
.piece-total-wrap .piece-usd{font-size:13px;font-weight:800;color:var(--muted);margin-top:1px}
.piece-note-field{grid-column:span 3}
@media(max-width:860px){.piece-note-field{grid-column:span 2}}
@media(max-width:530px){.piece-note-field{grid-column:auto}}
.piece-summary [data-i18n]{display:inline;gap:0}
.language-select{width:auto;min-width:86px;padding:9px 28px 9px 10px;font-size:13px;font-weight:750}
html[dir="rtl"] input,html[dir="rtl"] .compact-stepper{direction:ltr}
html[dir="rtl"] .topbar,html[dir="rtl"] .page-heading,html[dir="rtl"] .section-title,html[dir="rtl"] .piece-header,html[dir="rtl"] .total-line{direction:rtl}
.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.refund-toggle{width:100%;margin-top:11px}.refund-section{margin-top:12px;padding:12px;border-radius:9px;background:#fffaf0;border:1px solid #ead7ad}.refund-section p{font-size:12px;font-weight:800;color:var(--forest)}@media(max-width:430px){.payment-grid{grid-template-columns:1fr}}

/* Compact buying workspace */
.app-shell{max-width:1600px;padding:14px clamp(14px,2.5vw,38px) 30px}.topbar{padding-bottom:12px}.brand-mark{width:38px;height:38px;font-size:21px;border-radius:8px}.brand strong{font-size:18px}.topbar-actions{gap:7px}.button{padding:9px 12px;border-radius:8px}.app-nav{padding:9px 0}.nav-link{padding:7px 10px}.page-heading:not(.compact-heading){min-height:0;padding:9px 0;justify-content:flex-end}.page-heading:not(.compact-heading)>div:first-child{display:none}.invoice-badge{padding:7px 10px;border-radius:8px}.invoice-badge strong{font-size:14px}.market-table{border-radius:10px}.market-cell{min-height:100px;padding:12px 14px}.weight-cell .weight-readout strong{font-size:27px}.market-cell input{padding:8px}.pieces-section{margin-top:14px}.pieces-section .section-title{display:none}.pieces{gap:8px}.piece{padding:13px 15px;border-radius:10px}.piece-header{margin-bottom:10px}.piece-fields{gap:10px}.piece-summary{margin-top:12px;padding-top:10px;gap:17px}.bottom-grid{grid-template-columns:minmax(0,1fr) 390px;gap:12px;margin-top:14px}.card{padding:15px;border-radius:10px;box-shadow:none}.customer-card>.eyebrow,.totals-card>.eyebrow{display:none}.customer-fields{margin-top:0;gap:10px}.totals-card{position:sticky;top:10px;align-self:start}.payment-field{margin-top:11px}.grand-total{padding-top:12px}.grand-total strong{font-size:23px}.button-complete{margin-top:14px}.total-line{padding:6px 0}.refund-section{margin-top:8px;padding:10px}.refund-toggle{margin-top:8px}@media(max-width:960px){.bottom-grid{grid-template-columns:1fr}.totals-card{position:static}}@media(max-width:600px){.app-shell{padding:10px 10px 24px}.topbar-actions .button-quiet{display:inline-flex}.topbar{gap:8px}.brand{gap:7px}.brand span:not(.brand-mark){display:none}.language-select{min-width:72px}.market-cell{min-height:92px;padding:11px}.bottom-grid{margin-top:10px}.card{padding:12px}}

/* Finished item cards stay compact; editing happens in a separate dialog. */
.piece{cursor:pointer;transition:border-color .16s ease,background .16s ease}.piece:hover,.piece:focus-visible{border-color:var(--gold);background:#fffdf8;outline:none}.piece-edit-hint{font-size:11px;font-weight:750;color:var(--muted)}.piece-note-text{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:rgba(10,28,22,.48)}.modal-backdrop[hidden]{display:none}.edit-modal{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 20px 70px rgba(0,0,0,.24)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header h2{font-size:20px}.modal-close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:#eff2ef;color:var(--ink);font:inherit;font-size:24px;line-height:1;cursor:pointer}.edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.edit-fields label{font-size:12px;font-weight:750}.edit-fields input{margin-top:6px}.edit-wide{grid-column:span 2}.modal-actions{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin-top:18px}.modal-actions .button-complete{width:auto;margin-top:0}.button-danger{background:#fff5f4;color:var(--danger);border-color:#efc5c0}@media(max-width:530px){.edit-fields{grid-template-columns:1fr}.edit-wide{grid-column:auto}.modal-actions{grid-template-columns:1fr 1fr}.modal-actions>span{display:none}.modal-actions .button-complete{width:100%}.modal-actions #deletePiece{grid-column:span 2}}
.price-alert-modal{width:min(430px,100%);border-top:4px solid var(--gold)}.price-alert-modal .eyebrow{margin-bottom:4px}.price-alert-message{margin:18px 0 14px;color:var(--muted);font-size:14px;line-height:1.55}.restored-live-price{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #e4d5b5;border-radius:10px;background:#fffaf0}.restored-live-price span{font-size:12px;font-weight:750;color:var(--muted)}.restored-live-price strong{color:var(--forest);font-size:18px;white-space:nowrap}.alert-actions{display:flex;justify-content:flex-end;margin-top:18px}.alert-actions .button-complete{width:auto;margin:0;min-width:110px}
.modal-input-label{display:grid;gap:7px;margin-top:14px;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.modal-input-label input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none}
.record-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.settlement-inputs{margin-top:14px}
.edit-fields input[readonly]{background:#f4f6f4;color:var(--forest);font-weight:800;cursor:default}
.payment-difference{display:grid;gap:3px;margin:12px 0 3px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#f8faf8}.payment-difference span{font-size:10px;font-weight:850;letter-spacing:.7px}.payment-difference strong{font-size:18px;letter-spacing:-.25px}.payment-difference small{font-size:12px;color:var(--muted);line-height:1.35}.payment-difference[data-state="settled"]{border-color:#cfe2d4;background:#f3faf4;color:#22633a}.payment-difference[data-state="unpaid"]{border-color:#ead5a9;background:#fffaf0;color:#8a6019}.payment-difference[data-state="overpaid"]{border-color:#d5e2ec;background:#f3f8fb;color:#24556f}.confirmation-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.confirmation-actions .button-complete{width:auto;margin:0}@media(max-width:430px){.confirmation-actions{display:grid;grid-template-columns:1fr}.confirmation-actions .button-complete{width:100%}}
.linked-prior-payment{display:grid;gap:3px;margin:12px 0 3px;padding:12px 13px;border:1px solid #bcd9e7;border-radius:10px;background:#f2f9fd;color:#24556f}.linked-prior-payment span{font-size:10px;font-weight:850;letter-spacing:.7px}.linked-prior-payment strong{font-size:18px;letter-spacing:-.25px}.linked-prior-payment small{font-size:12px;color:var(--muted);line-height:1.35}
.piece-price-wrap,.piece-total-wrap{min-width:128px}.piece-price-wrap small,.piece-total-wrap small{font-size:14px;font-weight:800;color:var(--forest);line-height:1.2}.piece-total-wrap strong,.piece-total-wrap .piece-usd{font-size:16px;color:var(--forest)}.grand-total .money-secondary{font-size:23px;color:var(--forest)}.record-row{grid-template-columns:1.05fr .52fr 1.15fr .62fr .62fr 1.05fr 1.15fr auto}.record-heading{padding-top:10px;padding-bottom:10px;background:#f8faf8;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.45px;text-transform:uppercase}.record-metric{display:grid;gap:3px}.record-metric strong{font-size:13px}.record-metric span{font-size:11px;color:var(--muted)}.record-total{display:grid;gap:3px;color:var(--forest)}.record-total strong{font-size:13px;color:inherit}.trade-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:4px 6px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.45px}.trade-buy{background:#edf3ed;color:#27633d}.trade-sell{background:#eaf2fa;color:#225b7b}.customer-entry .customer-total{font-size:15px;line-height:1.15;margin-top:5px}.customer-entry .customer-total:first-of-type{margin-top:16px}.invoice-badge #historyPaidUsd{font-size:17px;color:var(--forest)}.purity-cell #nisbaPrice,.purity-cell #nisbaUsd{font-size:11px;color:var(--forest)}
@media(max-width:860px){.record-row{min-width:930px}}
body[data-trade="sell"] .app-nav .nav-link.active{background:#1d526d}body[data-trade="sell"] .market-table{border-color:#ccdbe5}body[data-trade="sell"] .kasr-cell{background:linear-gradient(135deg,#f2f8fc 0%,#fbfdff 100%)}body[data-trade="sell"] .buy-total-bar{border-color:#c8d9e5;background:#f5faff}body[data-trade="sell"] .buy-total-bar strong{color:#1d526d}body[data-trade="sell"] .items-actions .button{background:#1d526d}body[data-trade="sell"] .items-actions .button:disabled{background:#c9d0cb}
.cash-heading{align-items:center!important;justify-content:space-between!important}.cash-heading>div:first-child{display:block!important}.cash-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 18px}.cash-summary article{display:grid;gap:5px;padding:15px 17px;border:1px solid #d9e0da;border-radius:12px;background:#fff}.cash-summary span,.cash-progress-card span{font-size:10px;font-weight:850;letter-spacing:.7px;color:var(--muted)}.cash-summary strong{font-size:22px;color:var(--forest)}.cash-summary small{font-size:13px;font-weight:750;color:var(--forest)}.pinned-trades-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px;align-items:start}.pinned-trade-note{position:relative;display:grid;gap:7px;min-height:215px;padding:24px 18px 16px;border:1px solid #ddd3a7;border-radius:4px;background:linear-gradient(135deg,#fffbe1,#fff5bb);color:var(--ink);box-shadow:5px 7px 12px rgba(65,54,19,.14);text-align:left;transform:rotate(-.55deg);cursor:pointer;font:inherit}.pinned-trade-note:nth-child(3n+2){background:linear-gradient(135deg,#f0fbff,#dff3ff);border-color:#bcdce9;transform:rotate(.65deg)}.pinned-trade-note:nth-child(3n){background:linear-gradient(135deg,#fff2ec,#ffe1d1);border-color:#e9c4b5;transform:rotate(-.3deg)}.pinned-trade-note:hover{transform:translateY(-3px) rotate(0);box-shadow:7px 10px 17px rgba(65,54,19,.18)}.pinned-trade-note.completed-note{opacity:.7;filter:saturate(.65)}.pin-mark{position:absolute;top:-13px;left:50%;font-size:23px;transform:translateX(-50%) rotate(-14deg);filter:drop-shadow(1px 2px 1px #0003)}.trade-note-type{font-size:10px;font-weight:900;letter-spacing:.8px;color:#6b5a1e}.sale-note .trade-note-type{color:#225b7b}.pinned-trade-note strong{font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-note-weight{font-size:20px;font-weight:800;color:#143d30}.trade-note-price,.trade-note-due{font-size:12px;font-weight:750}.pinned-trade-note small{margin-top:auto;color:#6e725e;font-size:10px}.empty-pinned-trades{display:grid;place-items:center;gap:8px;padding:44px 18px;border:1px dashed #c8d3cb;border-radius:12px;background:#fff;text-align:center;color:var(--muted)}.empty-pinned-trades>span{font-size:26px}.empty-pinned-trades strong{color:var(--forest)}.empty-pinned-trades p{margin:0;font-size:13px}.cash-trade-grid{display:grid;gap:13px}.cash-locked-card{display:grid;gap:13px}.locked-terms{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:center}.locked-terms>div{display:grid;gap:4px}.locked-terms span{font-size:10px;font-weight:850;letter-spacing:.55px;color:var(--muted)}.locked-terms strong{font-size:15px;color:var(--forest)}.cash-note{padding-top:11px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.cash-progress-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:12px}.cash-progress-card{display:grid;gap:5px;padding:15px 17px;border:1px solid #dae2dc;border-radius:11px;background:#fff}.cash-progress-card strong{font-size:18px;color:var(--forest)}.cash-progress-card small{font-size:12px;color:var(--muted)}.cash-progress-card.balanced{background:#f2faf4;border-color:#cae0d0}.cash-action-card{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cash-action-card h2{font-size:15px}.cash-action-row{display:flex;gap:8px;margin-top:9px}.cash-action-row input{min-width:0}.cash-payment-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.cash-action-card>.button-complete{grid-column:span 2}.cash-completion-help{grid-column:span 2;margin:0;color:var(--muted);font-size:12px}.cash-ledgers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cash-ledgers ul{display:grid;gap:7px;margin:10px 0 0;padding:0;list-style:none}.cash-ledgers li{display:grid;grid-template-columns:1fr auto;gap:3px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.cash-ledgers li:last-child{border-bottom:0}.cash-ledgers li strong{color:var(--forest);text-align:right}.cash-ledgers li small{grid-column:span 2;color:var(--muted);font-size:10px}.cash-ledgers .empty-ledger{display:block;color:var(--muted)}.cash-trade-fields{grid-template-columns:1fr 1fr}.cash-lock-preview{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;border:1px solid #e4d5b5;border-radius:10px;background:#fffaf0}.cash-lock-preview span{font-size:12px;font-weight:750;color:var(--muted)}.cash-lock-preview strong{font-size:17px;color:var(--forest)}.locked-edit-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:10px;align-items:end}.locked-edit-grid label{font-size:11px;font-weight:750}.locked-edit-grid input{margin-top:5px}@media(max-width:860px){.cash-summary,.cash-progress-grid,.cash-action-card,.cash-ledgers{grid-template-columns:1fr}.cash-action-card>.button-complete,.cash-completion-help{grid-column:auto}.locked-terms,.locked-edit-grid{grid-template-columns:1fr 1fr}}@media(max-width:530px){.cash-summary,.cash-progress-grid,.cash-action-card,.cash-ledgers,.locked-terms,.locked-edit-grid,.cash-trade-fields{grid-template-columns:1fr}.cash-action-row{flex-direction:column}.cash-action-row .button{width:100%}.pinned-trades-list{grid-template-columns:1fr}}
.linked-cash-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;padding:12px 14px;border:1px solid #bcd9e7;border-radius:10px;background:#f2f9fd}.linked-cash-notice>div{display:grid;gap:3px}.linked-cash-notice span{font-size:10px;font-weight:850;letter-spacing:.7px;color:#275b79}.linked-cash-notice strong{font-size:14px;color:#173b30}.linked-cash-notice small{font-size:12px;color:var(--muted)}.items-actions{gap:8px;align-items:center}.cash-action-card>#openCashWeighedTrade{grid-column:span 2}.cash-action-card>#completeCashTrade{margin-top:0}@media(max-width:530px){.linked-cash-notice{align-items:stretch;flex-direction:column}.linked-cash-notice .button{width:100%}.cash-action-card>#openCashWeighedTrade{grid-column:auto}}
.cash-trade-fields .advance-only-toggle{display:flex;align-items:center;gap:9px;padding-top:21px;font-size:12px;font-weight:750}.cash-trade-fields .advance-only-toggle input{width:17px;height:17px;margin:0;padding:0;accent-color:var(--forest)}
.cash-ledgers li.ledger-void{border-left-color:#b45147;background:#fff8f7}.ledger-void-action{grid-column:span 2;justify-self:start;margin-top:4px;border-color:#e3b4ad;color:#9a382e;background:#fff8f7}.cash-ledgers li.ledger-void strong{color:#9a382e}
.items-actions{display:flex;justify-content:flex-end;margin-top:12px}.payment-heading{align-items:center!important;justify-content:space-between!important}.payment-heading>div:first-child{display:block!important}.payment-view .bottom-grid{margin-top:8px}
.buy-total-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:13px 15px;border:1px solid #ddd2b9;border-radius:10px;background:#fffaf0}.buy-total-bar>span{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.buy-total-bar>div{display:flex;align-items:baseline;justify-content:flex-end;flex-wrap:wrap;gap:10px}.buy-total-bar strong{font-size:21px;line-height:1;color:var(--forest);white-space:nowrap}@media(max-width:530px){.buy-total-bar{align-items:flex-start;flex-direction:column;gap:8px}.buy-total-bar>div{justify-content:flex-start}.buy-total-bar strong{font-size:18px}}
.login-screen{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#0f2a21,#244f40)}.login-screen[hidden]{display:none}.login-card{width:min(410px,100%);padding:28px;background:#fff;border-radius:16px;box-shadow:0 24px 70px #0006}.login-card h1{font-size:25px;margin:28px 0 6px}.login-card>p{color:var(--muted);font-size:14px;line-height:1.45;margin-bottom:20px}.login-card label{display:block;font-size:13px;font-weight:750;margin-top:13px}.login-card label input{margin-top:6px}.login-card .button{width:100%;margin-top:18px;padding:12px}.login-error{min-height:20px!important;color:var(--danger)!important;margin:12px 0 -6px!important;font-weight:650}.login-card .brand span:not(.brand-mark){font-size:12px;color:var(--muted);margin-top:4px}
.price-live-row{display:flex;align-items:center;gap:7px;margin-top:8px}.fetch-price{border:0;background:transparent;color:var(--forest);font:inherit;font-size:11px;font-weight:800;padding:0;cursor:pointer}.fetch-price:disabled{opacity:.55;cursor:wait}.price-live-row small{font-size:10px;color:var(--muted);white-space:nowrap}

/* Purchase workbench: a stable, transaction-first layout for the buying desk. */
.app-shell{max-width:1680px;padding-top:16px}.topbar{min-height:56px}.app-nav{gap:4px;padding:10px 0 12px}.nav-link{border:1px solid transparent}.nav-link:hover{background:#edf2ee;color:var(--forest)}.nav-link.active{box-shadow:inset 0 -1px 0 rgba(255,255,255,.16)}.market-table{grid-template-columns:minmax(315px,1.45fr) minmax(190px,.82fr) minmax(270px,1.14fr) minmax(215px,.92fr) minmax(200px,.84fr);border-color:#d9e0da;border-radius:12px;box-shadow:0 8px 22px rgba(18,47,37,.035)}.market-cell{min-height:132px;padding:17px 18px;gap:7px}.market-cell>span,.market-cell>label{font-size:12px;letter-spacing:.1px;color:#52635c}.market-cell>small{font-size:11px}.market-cell input{min-height:44px;border-color:#cbd6ce;background:#fff}.kasr-cell{background:linear-gradient(135deg,#fffaf0 0%,#fffdf8 100%)}.kasr-cell .compact-stepper{height:45px}.kasr-cell .compact-stepper input{font-size:19px;color:#12372b}.weight-cell{background:#fbfdfb}.weight-cell .weight-readout strong{font-size:34px}.mini-weight-entry{margin-top:5px}.mini-weight-entry .button{min-width:164px;padding:9px 12px}.tare-cell{background:#f8fbf8}.price-live-row{min-height:19px;gap:9px}.fetch-price{border:1px solid #c4d4c9;border-radius:999px;background:#fff;padding:4px 8px;color:var(--forest);transition:background .16s,border-color .16s}.fetch-price:hover{background:#eef6ef;border-color:#9cb7a5}.price-live-row small{font-size:10px;font-weight:700}.pieces-section{margin-top:16px}.empty-items-state{display:flex;align-items:center;justify-content:center;gap:13px;min-height:126px;padding:22px;border:1px dashed #c8d3cb;border-radius:12px;background:linear-gradient(135deg,#fff 0%,#f9fcf9 100%);color:var(--muted)}.empty-items-state[hidden]{display:none}.empty-items-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#e7f0e9;color:var(--forest);font-size:26px;font-weight:350}.empty-items-state strong{display:block;color:var(--forest);font-size:14px}.empty-items-state p{margin-top:4px;font-size:12px}.invoice-actionbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:12px}.buy-total-bar{min-height:64px;margin:0;padding:13px 17px;border-color:#d9c9a9;background:#fffaf1;box-shadow:0 4px 14px rgba(110,76,22,.04)}.buy-total-bar>span{font-size:11px;color:#6b685e}.buy-total-bar>div{gap:18px}.buy-total-bar strong{font-size:23px;color:#12372b}.items-actions{margin:0}.items-actions .button{min-height:48px;padding-inline:19px;box-shadow:0 5px 12px rgba(15,42,33,.15)}.items-actions .button:disabled{background:#c9d0cb;color:#78827c;box-shadow:none;cursor:not-allowed}.piece{border-color:#d8e0da;box-shadow:0 2px 7px rgba(16,43,33,.025)}.piece-summary{gap:22px}.piece-total-wrap strong{font-size:20px}.button-dark{background:#123d30}.button-gold{background:#c99632}.button-dark:hover{background:#0e3126}.button-gold:hover{background:#b9821f}html[dir="rtl"] .market-cell{border-right:0;border-left:1px solid var(--line)}html[dir="rtl"] .market-cell:last-child{border-left:0}html[dir="rtl"] .compact-stepper,html[dir="rtl"] .mini-weight-entry,html[dir="rtl"] input[inputmode="decimal"]{direction:ltr}html[dir="rtl"] .empty-items-state,html[dir="rtl"] .price-live-row{direction:rtl}@media(max-width:1180px){.market-table{grid-template-columns:1.3fr .8fr 1.12fr}.market-cell{border-bottom:1px solid var(--line)}.market-cell:nth-child(3n){border-right:0}.market-cell:nth-child(n+4){border-bottom:0}}@media(max-width:760px){.market-table{grid-template-columns:1fr 1fr}.market-cell:nth-child(3n){border-right:1px solid var(--line)}.market-cell:nth-child(2n){border-right:0}.market-cell:nth-child(n+4){border-bottom:1px solid var(--line)}.market-cell:last-child{border-bottom:0}.invoice-actionbar{grid-template-columns:1fr}.items-actions .button{width:100%}}@media(max-width:530px){.empty-items-state{justify-content:flex-start;min-height:112px}.buy-total-bar>div{gap:10px}.buy-total-bar strong{font-size:19px}.mini-weight-entry{flex-direction:column}.mini-weight-entry .button{width:100%}}

/* --------------------------------------------------------------------------
   Counter-ready visual polish.  These overrides intentionally keep the
   existing HTML and behaviour intact while making financial state easier to
   scan at an iPad buying desk.                                             */

:root{
  --cash-ink:#12372b;
  --cash-blue:#1d526d;
  --cash-blue-soft:#edf7fc;
  --cash-gold-line:#ddc781;
  --cash-panel:#fbfdfb;
}

/* Every primary control remains comfortable to use with a finger. */
.button,
.nav-link,
.record-action,
.fetch-price,
.modal-close{
  min-height:44px;
  touch-action:manipulation;
}

.nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  letter-spacing:.01em;
}

.nav-link.active{
  position:relative;
  border-color:rgba(18,61,48,.18);
  box-shadow:0 4px 12px rgba(15,42,33,.16),inset 0 -1px 0 rgba(255,255,255,.2);
}

.nav-link.active::after{
  content:"";
  position:absolute;
  inset:auto 13px 5px;
  height:2px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
}

body[data-trade="sell"] .nav-link.active{
  border-color:rgba(29,82,109,.22);
  box-shadow:0 4px 12px rgba(29,82,109,.16),inset 0 -1px 0 rgba(255,255,255,.2);
}

.compact-stepper{
  grid-template-columns:44px minmax(0,1fr) 44px;
}

.compact-stepper button,
.stepper{
  min-width:44px;
  min-height:44px;
  touch-action:manipulation;
}

.modal-close{
  width:44px;
  height:44px;
  font-size:27px;
}

.fetch-price{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:6px 11px;
}

:is(.button,.nav-link,.record-action,.fetch-price,.compact-stepper button,.modal-close):focus-visible{
  outline:3px solid rgba(29,82,109,.38);
  outline-offset:3px;
}

/* A total is the most important number in the desk workflow. */
.buy-total-bar,
.grand-total{
  font-variant-numeric:tabular-nums;
}

.buy-total-bar{
  position:relative;
  overflow:hidden;
  border-color:var(--cash-gold-line);
  background:linear-gradient(115deg,#fffdf7 0%,#fff8e9 100%);
  box-shadow:0 6px 18px rgba(101,75,27,.08);
}

.buy-total-bar::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--gold);
}

.buy-total-bar strong,
.grand-total strong,
.cash-summary strong,
.cash-progress-card strong,
.locked-terms strong{
  font-variant-numeric:tabular-nums;
}

.buy-total-bar strong{
  font-size:clamp(21px,2vw,27px);
  letter-spacing:-.45px;
}

.grand-total{
  margin-top:12px;
  padding:15px 15px 13px;
  border:1px solid #d7e1da;
  border-radius:11px;
  background:linear-gradient(135deg,#f4faf5 0%,#fff 100%);
}

.grand-total strong,
.grand-total .money-secondary{
  font-size:clamp(23px,2.25vw,30px);
  line-height:1.08;
}

.payment-difference,
.linked-prior-payment{
  border-width:1px;
  box-shadow:0 2px 8px rgba(18,47,37,.035);
}

/* Make a linked agreement impossible to overlook while using normal screens. */
.linked-cash-notice{
  position:relative;
  overflow:hidden;
  padding:15px 16px;
  border-color:#98c7df;
  background:linear-gradient(105deg,#edf8fd 0%,#f8fcfe 100%);
  box-shadow:0 5px 16px rgba(29,82,109,.08);
}

.linked-cash-notice::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--cash-blue);
}

.linked-cash-notice strong{
  font-size:16px;
  letter-spacing:-.15px;
}

.linked-cash-notice .button{
  min-width:164px;
}

/* Cash Shkanawa board: professional pinned agreements rather than loose notes. */
.cash-summary{
  gap:14px;
  margin:12px 0 20px;
}

.cash-summary article{
  position:relative;
  overflow:hidden;
  min-height:112px;
  padding:17px 19px;
  border-color:#d5dfd8;
  background:linear-gradient(145deg,#fff 0%,var(--cash-panel) 100%);
  box-shadow:0 5px 15px rgba(18,47,37,.045);
}

.cash-summary article::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:var(--forest);
}

.cash-summary article:nth-child(2)::before{background:var(--gold)}
.cash-summary article:nth-child(3)::before{background:var(--cash-blue)}
.cash-summary strong{font-size:clamp(23px,2.25vw,30px);letter-spacing:-.6px}

.pinned-trades-list{gap:18px}

.pinned-trade-note{
  min-height:242px;
  padding:29px 20px 18px;
  border-width:1px;
  border-radius:10px;
  box-shadow:0 8px 19px rgba(65,54,19,.14);
  transform:none;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}

.pinned-trade-note:nth-child(3n+2),
.pinned-trade-note:nth-child(3n){
  transform:none;
}

@media (hover:hover){
  .pinned-trade-note:hover{
    transform:translateY(-3px);
    box-shadow:0 13px 25px rgba(65,54,19,.19);
  }
}

.pinned-trade-note:focus-visible{
  outline:3px solid rgba(29,82,109,.34);
  outline-offset:3px;
  transform:translateY(-2px);
}

.pin-mark{
  top:-12px;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fffdf4;
  border:1px solid #dfcf9e;
  font-size:19px;
}

.trade-note-type{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(107,90,30,.1);
  letter-spacing:.7px;
}

.sale-note .trade-note-type{
  background:rgba(34,91,123,.1);
}

.pinned-trade-note strong{
  font-size:19px;
  letter-spacing:-.25px;
}

.trade-note-weight{
  margin-top:2px;
  font-size:21px;
  letter-spacing:-.55px;
  font-variant-numeric:tabular-nums;
}

.trade-note-price{
  padding-top:8px;
  border-top:1px solid rgba(91,80,38,.18);
  color:#4a4d45;
}

.trade-note-due{
  margin-top:2px;
  padding:9px 10px;
  border:1px solid rgba(91,80,38,.18);
  border-radius:8px;
  background:rgba(255,255,255,.48);
  color:#243a31;
  font-variant-numeric:tabular-nums;
}

.pinned-trade-note small{
  padding-top:4px;
  letter-spacing:.35px;
}

/* Agreement detail: lock terms, progress and ledger hierarchy. */
.cash-trade-grid{gap:16px}

.cash-locked-card{
  border-color:#d6d0b9;
  background:linear-gradient(110deg,#fffdf5 0%,#fff 58%);
  box-shadow:0 6px 18px rgba(83,65,24,.055);
}

.locked-terms{
  gap:11px;
}

.locked-terms>div{
  min-height:72px;
  padding:11px 12px;
  border:1px solid #e4dcc6;
  border-radius:9px;
  background:rgba(255,255,255,.75);
}

.locked-terms strong{
  font-size:16px;
  line-height:1.27;
}

.cash-progress-grid{gap:14px}

.cash-progress-card{
  min-height:118px;
  padding:17px 18px;
  border-color:#d6e0d9;
  border-top:3px solid var(--forest);
  background:linear-gradient(145deg,#fff 0%,#fbfdfb 100%);
  box-shadow:0 4px 13px rgba(18,47,37,.035);
}

.cash-progress-card:nth-child(2){border-top-color:var(--gold)}
.cash-progress-card:nth-child(3){border-top-color:var(--cash-blue)}
.cash-progress-card.balanced{border-top-color:#2d7b49}
.cash-progress-card strong{font-size:19px;line-height:1.25;letter-spacing:-.3px}

.cash-action-card{
  gap:20px;
  padding:18px;
  border-color:#cfdcd4;
  background:#fff;
}

.cash-action-card>div{
  padding:14px;
  border:1px solid #e0e7e2;
  border-radius:10px;
  background:#fbfdfb;
}

.cash-action-card h2{font-size:16px;color:var(--cash-ink)}
.cash-action-row .button{min-height:44px}
.cash-payment-inputs input{min-height:44px;font-variant-numeric:tabular-nums}

.cash-action-card>#openCashWeighedTrade{
  min-height:52px;
  font-size:15px;
  box-shadow:0 6px 15px rgba(166,117,23,.16);
}

.cash-action-card>#completeCashTrade{
  min-height:52px;
  font-size:15px;
}

.cash-ledgers{gap:14px}

.cash-ledgers .card{
  padding:17px 18px;
  border-color:#d7e1da;
  background:linear-gradient(145deg,#fff 0%,#fbfdfb 100%);
}

.cash-ledgers .eyebrow{
  padding-bottom:10px;
  border-bottom:1px solid #e2e8e3;
}

.cash-ledgers li{
  min-height:61px;
  padding:10px 0 10px 12px;
  border-left:3px solid #a9c5b1;
  font-variant-numeric:tabular-nums;
}

.cash-ledgers li strong{
  font-size:13px;
}

.cash-ledgers li small{
  padding-top:2px;
}

.cash-ledgers li .ledger-snapshot{
  color:#315b49;
  font-weight:700;
  line-height:1.45;
}

.cash-quote-row{
  margin-top:0;
}

.locked-edit-grid .cash-quote-row{
  grid-column:span 2;
}

.cash-ledgers .empty-ledger{
  min-height:84px;
  padding:25px 10px;
  border-left:0;
  border:1px dashed #cbd7cf;
  border-radius:8px;
  background:#fbfdfb;
  text-align:center;
}

/* Preserve clarity on compact iPad and phone widths. */
@media(max-width:960px){
  .cash-summary article{min-height:96px}
  .linked-cash-notice .button{min-width:0}
}

@media(max-width:760px){
  .app-nav{overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:11px}
  .nav-link{flex:0 0 auto;scroll-snap-align:start}
  .cash-summary{grid-template-columns:1fr}
  .invoice-actionbar{position:relative}
}

@media(max-width:530px){
  .topbar-actions{align-items:center}
  .topbar-actions .button{padding-inline:10px}
  .pinned-trade-note{min-height:222px;padding:28px 17px 16px}
  .cash-action-card>div{padding:12px}
  .locked-terms>div{min-height:0}
  .buy-total-bar{padding:14px 15px}
  .grand-total{padding:13px}
}

/* Connection and audit-state signals stay visible without competing with totals. */
.staff-status{display:inline-flex;align-items:center;gap:7px;margin-left:auto;margin-right:18px;padding:7px 10px;border:1px solid #d6e1d9;border-radius:999px;background:#fbfdfb;color:#4f6158;font-size:11px;font-weight:750;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;background:#3e9160;box-shadow:0 0 0 3px rgba(62,145,96,.12)}.status-dot.status-warning{background:#bc8022;box-shadow:0 0 0 3px rgba(188,128,34,.13)}.scale-status{display:inline-flex;align-self:flex-start;padding:3px 7px;border:1px solid #c7d7cb;border-radius:999px;background:#eff7f0;color:#356545;font-size:10px!important;font-weight:850!important;letter-spacing:.3px}.pinned-archive-heading{grid-column:1 / -1;display:flex;align-items:baseline;gap:10px;margin:14px 0 -3px;padding-top:16px;border-top:1px solid #dbe3dd;color:var(--muted)}.pinned-archive-heading span{font-size:10px;font-weight:900;letter-spacing:1px;color:#728078}.pinned-archive-heading strong{font-size:15px;color:var(--forest)}.cash-payment-inputs{grid-template-columns:92px 1fr 1fr}.cash-payment-inputs select{min-height:44px;font-weight:800}@media(max-width:760px){.staff-status{display:none}.cash-payment-inputs{grid-template-columns:82px 1fr 1fr}}@media(max-width:530px){.cash-payment-inputs{grid-template-columns:1fr}.cash-payment-inputs select{width:100%}}
.legacy-ledger-notice{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid #e2c785;border-radius:11px;background:#fff9ea;color:#5e552f}.legacy-ledger-notice strong{display:block;color:#6d5416;font-size:14px}.legacy-ledger-notice p{margin:4px 0 0;font-size:12px;line-height:1.45}.legacy-ledger-notice>span{font-size:12px;font-weight:750}@media(max-width:650px){.legacy-ledger-notice{align-items:stretch;flex-direction:column}.legacy-ledger-notice .button{width:100%}}
.cash-summary{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.cash-summary article:nth-child(4)::before{background:#6c5a8d}.cash-summary article:nth-child(5)::before{background:#a85d35}.cash-summary article:nth-child(6)::before{background:#ae8125}
@media(max-width:760px){.cash-summary{grid-template-columns:1fr}}

.cash-entry-confirm-modal{border-top-color:#24556f}.cash-entry-confirm-modal .restored-live-price{border-color:#c9ddea;background:#f4f9fc}

/* A paused batch remains clearly separated from an accounting entry until its
   exact pinned agreement is explicitly resumed and posted. */
.resume-pinned-batch{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:16px 18px;border:1px solid #d5aa48;border-radius:14px;background:linear-gradient(110deg,#fff9e9,#fffdf7);box-shadow:0 8px 22px rgba(78,55,12,.08)}.resume-pinned-batch span{display:block;color:#946b1e;font-size:11px;font-weight:800;letter-spacing:.08em}.resume-pinned-batch strong{display:block;margin-top:3px;color:#172b24}.resume-pinned-batch p{margin:5px 0 0;color:#5e655f;font-size:13px;line-height:1.45}@media(max-width:620px){.resume-pinned-batch{align-items:stretch;flex-direction:column}.resume-pinned-batch .button{width:100%}}

/* Physical gold has a single deliberate route: agreement weighing.  The
   timeline below it is read-only so it reads as an audit trail, not a form. */
.cash-weighing-workflow{
  border-color:#dfcf9d!important;
  background:linear-gradient(135deg,#fffdf5 0%,#fff9e9 100%)!important;
}
.cash-weighing-workflow h2{margin:2px 0 7px}
.cash-weighing-workflow p:not(.eyebrow){margin:0;color:#566158;font-size:13px;line-height:1.48}
.cash-weighing-workflow small{display:block;margin-top:9px;color:#765919;font-size:11px;font-weight:750;line-height:1.38}
.locked-edit-grid{grid-template-columns:repeat(4,minmax(138px,1fr))}
.locked-edit-grid .button{min-height:44px}

.agreement-timeline-card{
  padding:18px;
  border-color:#d4ded7;
  background:linear-gradient(145deg,#fff 0%,#f8fbf9 100%);
}
.agreement-timeline-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid #e0e8e2}
.agreement-timeline-title .eyebrow{margin:0 0 4px}
.agreement-timeline-title h2{margin:0;color:var(--cash-ink);font-size:17px}
.agreement-timeline-title>span{padding:5px 8px;border:1px solid #d7e2da;border-radius:999px;background:#fff;color:#647269;font-size:10px;font-weight:850;letter-spacing:.04em;white-space:nowrap}
.agreement-timeline{position:relative;display:grid;gap:0;margin:13px 0 0;padding:0;list-style:none}
.agreement-timeline::before{content:"";position:absolute;inset-block:11px;inset-inline-start:8px;width:2px;background:#d8e1da}
.agreement-timeline-event{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:0 0 13px}
.agreement-timeline-event:last-child{padding-bottom:0}
.agreement-timeline-marker{position:relative;z-index:1;width:18px;height:18px;margin-top:2px;border:4px solid #f8fbf9;border-radius:50%;background:#6f7d74;box-shadow:0 0 0 1px #cbd8cf}
.agreement-timeline-event.event-created .agreement-timeline-marker,.agreement-timeline-event.event-terms .agreement-timeline-marker{background:#ad7b19;box-shadow:0 0 0 1px #dfca8e}
.agreement-timeline-event.event-cash .agreement-timeline-marker{background:#2b7091;box-shadow:0 0 0 1px #bad2df}
.agreement-timeline-event.event-gold .agreement-timeline-marker{background:#30794d;box-shadow:0 0 0 1px #bad9c3}
.agreement-timeline-event.event-void .agreement-timeline-marker{background:#aa4e43;box-shadow:0 0 0 1px #e2bbb5}
.agreement-timeline-event.event-complete .agreement-timeline-marker{background:#176344;box-shadow:0 0 0 1px #acd0b8}
.agreement-timeline-content{min-width:0;padding:1px 0 0}
.agreement-timeline-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.agreement-timeline-heading strong{color:#19382d;font-size:13px}
.agreement-timeline-heading time{color:#718078;font-size:10px;font-variant-numeric:tabular-nums;text-align:end}
.agreement-timeline-content>p{margin:4px 0 0;color:#59665e;font-size:11px;line-height:1.43}
.agreement-timeline-staff{display:block;margin-top:2px;color:#63756a;font-size:10px;font-weight:750}
.agreement-timeline-snapshot{display:grid;gap:3px;margin-top:8px;padding:8px 9px;border:1px solid #e4d8b8;border-radius:7px;background:#fffdf5}
.agreement-timeline-snapshot span{color:#83621b;font-size:9px;font-weight:900;letter-spacing:.06em}
.agreement-timeline-snapshot strong{color:#3f493e;font-size:11px;line-height:1.42;font-variant-numeric:tabular-nums}
.agreement-timeline-piece{display:grid;gap:2px;margin-top:7px;padding:8px 9px;border-inline-start:3px solid #91b79c;border-radius:0 7px 7px 0;background:#f5faf6}
.agreement-timeline-piece strong{color:#225a38;font-size:11px}
.agreement-timeline-piece span,.agreement-timeline-piece small{color:#4f6555;font-size:10px;line-height:1.45;font-variant-numeric:tabular-nums}
.agreement-timeline-piece small{font-style:italic}
.agreement-timeline-missing{padding:7px 9px;border:1px dashed #d7c8a1;border-radius:7px;background:#fffdf6!important;color:#806f45!important;font-size:10px!important}
@media(max-width:900px){.locked-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.locked-edit-grid .cash-quote-row{grid-column:span 2}}
@media(max-width:530px){.locked-edit-grid{grid-template-columns:1fr}.locked-edit-grid .cash-quote-row{grid-column:auto}.agreement-timeline-card{padding:15px}.agreement-timeline-title{align-items:stretch;flex-direction:column;gap:8px}.agreement-timeline-title>span{width:max-content}.agreement-timeline-heading{align-items:flex-start;flex-direction:column;gap:2px}.agreement-timeline-heading time{text-align:start}}

/* A cash void is a signed ledger correction, never a customer refund. */
.cash-ledgers li.ledger-cash-void{border-left-style:dashed;background:#fffaf8}
.cash-ledgers li.ledger-cash-void span{font-weight:850;color:#8d3d34}

/* Payment is intentionally one entry at a time: never mirror a typed
   amount into another currency input. */
.payment-mini-details{display:grid;grid-template-columns:1.1fr .9fr 1.4fr;gap:10px;max-width:900px;margin:0 0 12px}
.payment-mini-details label,.simple-payment-entry label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}
.payment-mini-details input{padding:9px 10px;background:#fbfcfa}
.payment-single-grid{grid-template-columns:minmax(0,720px);margin-top:0}
.payment-single-grid .totals-card{position:static}
.simple-payment-entry{display:grid;grid-template-columns:150px minmax(0,1fr);gap:9px;margin-top:11px;align-items:end}
.mixed-payment-entry{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}
.simple-payment-entry input,.simple-payment-entry select{margin:0}
.payment-currency-field select{min-height:42px}
.refund-section .payment-field{display:grid;gap:5px;margin-top:9px;font-size:12px;font-weight:800}
.refund-section .payment-field input{margin:0}
@media(max-width:700px){.payment-mini-details{grid-template-columns:1fr}.payment-single-grid{grid-template-columns:1fr}.simple-payment-entry{grid-template-columns:1fr}.payment-currency-field{max-width:none}}

/* --------------------------------------------------------------------------
   Kasr counter desk — dense, professional hierarchy without hiding controls. */
:root{
  --desk-ink:#102f25;
  --desk-muted:#63746d;
  --desk-line:#d6e0d9;
  --desk-paper:#ffffff;
  --desk-canvas:#f4f7f4;
  --desk-gold:#b98525;
  --desk-gold-soft:#fff8e9;
  --desk-blue:#1f5d7b;
  --desk-blue-soft:#f1f8fc;
}

body{background:var(--desk-canvas)}
.app-shell{max-width:1720px;padding:18px clamp(18px,3vw,54px) 38px}
.topbar{min-height:64px;padding:0 0 14px;border-bottom:1px solid var(--desk-line)}
.brand-mark{width:42px;height:42px;border-radius:11px;background:linear-gradient(145deg,#d2a545,#b47b1f);box-shadow:0 5px 12px rgba(129,89,20,.18)}
.brand strong{font-size:19px;letter-spacing:-.25px}.brand span:not(.brand-mark){font-size:12px;color:var(--desk-muted)}
.topbar-actions{gap:8px}.topbar-actions .button{min-height:42px}
.app-nav{position:relative;margin:0 0 18px;padding:10px 0;border-bottom:0;gap:7px}
.nav-link{min-height:40px;padding:8px 14px;border-radius:9px;color:#53645d;font-size:13px}
.nav-link.active{background:var(--desk-ink);border-color:var(--desk-ink);box-shadow:0 5px 12px rgba(16,47,37,.15)}
.nav-link.active::after{display:none}.nav-link:hover{background:#e7eee9;color:var(--desk-ink)}

/* Bring the transaction name back: buyers always know which document is open. */
#buyView .page-heading:not(.compact-heading){display:flex;align-items:center;justify-content:space-between;min-height:76px;margin:0 0 10px;padding:0}
#buyView .page-heading:not(.compact-heading)>div:first-child{display:block}
#buyView .page-heading .eyebrow{margin:0 0 4px;color:var(--desk-gold);font-size:10px;letter-spacing:1px}
#buyView .page-heading h1{margin:0;color:var(--desk-ink);font-size:clamp(22px,2.2vw,30px);letter-spacing:-.65px}
#buyView .page-heading .muted{margin:4px 0 0;font-size:13px;color:var(--desk-muted)}
.invoice-badge{min-width:150px;padding:10px 13px;border:1px solid #d7cab0;border-radius:10px;background:#fffdfa;box-shadow:0 3px 10px rgba(94,69,27,.05)}
.invoice-badge span{font-size:10px;letter-spacing:.75px;color:#8a7443}.invoice-badge strong{font-size:16px;color:var(--desk-ink);font-variant-numeric:tabular-nums}

.live-market-banner{margin:0 0 13px;padding:10px 14px;border:1px solid #d8c68f;border-radius:11px;background:var(--desk-gold-soft);box-shadow:none}
.live-market-banner>div{gap:11px}.live-market-banner span{color:#866728}.live-market-banner strong{font-size:22px;color:var(--desk-ink);letter-spacing:-.35px}.live-market-banner p{margin-left:auto;font-weight:700}

/* Each buyer control is its own clearly named card: no crowded spreadsheet row. */
.market-table{display:grid;grid-template-columns:minmax(300px,1.38fr) minmax(180px,.82fr) minmax(260px,1.12fr) minmax(205px,.88fr) minmax(185px,.8fr);gap:10px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.market-cell{position:relative;min-height:151px;padding:16px 17px;border:1px solid var(--desk-line)!important;border-radius:12px;background:var(--desk-paper)!important;box-shadow:0 3px 10px rgba(16,47,37,.035)}
.market-cell::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:12px 0 0 12px;background:#cbd8d0}
.market-cell>span,.market-cell>label{font-size:11px;font-weight:850;letter-spacing:.3px;text-transform:uppercase;color:var(--desk-muted)}
.market-cell>small{font-size:11px;color:var(--desk-muted)}.market-cell input{min-height:43px;border-color:#c8d6cd;background:#fff;font-variant-numeric:tabular-nums}
.weight-cell{background:#f8fcf9!important}.weight-cell::before{background:var(--desk-ink)}.weight-cell .weight-readout strong{font-size:38px;color:var(--desk-ink);letter-spacing:-1.4px}.scale-status{display:inline-flex;align-self:flex-start;padding:3px 7px;border-radius:999px;background:#e9f2ec;color:#33704a;font-size:10px;font-weight:800}.scale-status[data-state="online"]{color:#087443;background:#e7f6ec;border-color:#b9e3c6}.scale-status[data-state="waiting"]{color:#8a5b09;background:#fff5dc;border-color:#ecd59e}.scale-status[data-state="offline"]{color:#a32a2a;background:#fff0f0;border-color:#f1c6c6}
.purity-cell::before{background:#799c88}.purity-cell small{margin-top:3px;padding-top:8px;border-top:1px solid #edf1ee}.purity-cell #nisbaPrice,.purity-cell #nisbaUsd{display:block;margin-top:2px;font-size:13px;color:var(--desk-ink)}
.kasr-cell{background:linear-gradient(145deg,#fffdf8 0%,var(--desk-gold-soft) 100%)!important;border-color:#e3d0a1!important}.kasr-cell::before{background:var(--desk-gold)}.kasr-cell .compact-stepper input{font-size:20px;color:var(--desk-ink)}
.tare-cell{background:#fbfcfb!important}.tare-cell::before{background:#a9baaf}.tare-cell small{margin-top:4px;padding-top:8px;border-top:1px solid #edf1ee}
.market-cell:last-child::before{background:var(--desk-blue)}.market-cell:last-child input{color:var(--desk-blue);font-size:17px}
.compact-stepper{border-radius:8px;overflow:hidden}.compact-stepper button{background:#f4f7f4;color:var(--desk-ink)}
.market-done-row{margin-top:11px}.market-done-row .button{min-height:53px;border-radius:11px;font-size:15px;font-weight:850;letter-spacing:.05px;box-shadow:0 7px 16px rgba(142,99,19,.17)}

.pieces-section{margin-top:19px;padding:18px;border:1px solid var(--desk-line);border-radius:14px;background:var(--desk-paper);box-shadow:0 5px 15px rgba(16,47,37,.035)}
.pieces-section .section-title{display:flex!important;margin-bottom:13px}.pieces-section .section-title h2{margin:2px 0 0;color:var(--desk-ink);font-size:18px}.pieces-section .section-title .eyebrow{font-size:10px;color:var(--desk-muted)}
.empty-items-state{min-height:108px;border-color:#d4dfd6;background:#fafcfb}.empty-items-mark{background:#e4efe7;color:var(--desk-ink)}
.invoice-actionbar{margin-top:15px;padding-top:15px;border-top:1px solid #e2e9e4}.buy-total-bar{min-height:72px;border-color:#dfca90;background:linear-gradient(105deg,#fffdf8,#fff7e6);box-shadow:none}.buy-total-bar>span{color:#776b4b}.buy-total-bar strong{font-size:25px;color:var(--desk-ink)}.items-actions .button{min-height:51px;border-radius:10px;box-shadow:none}

/* Payment is deliberately separated by currency; values never look mixed. */
.payment-mini-details{max-width:none;margin:0 0 11px;padding:10px 12px;border:1px solid var(--desk-line);border-radius:10px;background:#f9fbfa}
.payment-mini-details label{color:var(--desk-muted)}
.payment-single-grid{max-width:760px}.simple-payment-entry{gap:10px;margin-top:13px}.mixed-payment-entry{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}
.mixed-payment-entry .payment-field{padding:11px 12px;border:1px solid var(--desk-line);border-radius:10px;background:#fff}
.mixed-payment-entry #paidUsdField{border-color:#b9d4e4;background:var(--desk-blue-soft)}
.mixed-payment-entry #paidIqdField{border-color:#c9ddce;background:#f5faf6}
.mixed-payment-entry .payment-field span{color:var(--desk-ink)}.mixed-payment-entry .payment-field small{font-size:10px;font-weight:850;letter-spacing:.55px;color:var(--desk-muted)}
.mixed-payment-entry input{font-size:18px;font-weight:850;color:var(--desk-ink)}
.payment-single-grid .totals-card{padding:18px;border-color:var(--desk-line);box-shadow:0 5px 16px rgba(16,47,37,.04)}
.payment-single-grid .grand-total{border-color:#ddc98e;background:#fffaf0}.refund-section{border-color:#d9be9c;background:#fff8ee}

@media(max-width:1220px){.market-table{grid-template-columns:1.25fr .85fr 1.1fr}.market-cell{min-height:140px}.market-cell:nth-child(n){border:1px solid var(--desk-line)!important}.kasr-cell{border-color:#e3d0a1!important}}
@media(max-width:760px){.app-shell{padding:12px 12px 26px}.topbar{min-height:54px}.brand span:not(.brand-mark){display:block}.app-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.nav-link{white-space:nowrap}.topbar-actions .button-quiet{display:none}#buyView .page-heading:not(.compact-heading){align-items:flex-start;min-height:0;padding:5px 0 10px}.invoice-badge{min-width:124px}.market-table{grid-template-columns:1fr 1fr}.market-cell{min-height:138px}.pieces-section{padding:13px}.invoice-actionbar{grid-template-columns:1fr}.items-actions{width:100%}.items-actions .button{width:100%}}
@media(max-width:520px){#buyView .page-heading:not(.compact-heading){display:grid;grid-template-columns:1fr;gap:10px}.invoice-badge{justify-self:stretch}.live-market-banner{align-items:flex-start}.live-market-banner p{margin-left:0}.market-table,.mixed-payment-entry{grid-template-columns:1fr}.market-cell{min-height:0}.payment-mini-details{grid-template-columns:1fr}.buy-total-bar>div{justify-content:flex-start}.buy-total-bar strong{font-size:21px}}
