/* Avilo — Pricing & finance (team D3): price tags, price approvals, sale / last price, finance ledger. Prefixes .prc- and .fin- */

/* ---------- shared bits ---------- */
.prc-spin{display:inline-block;width:16px;height:16px;border:2.5px solid var(--muted);border-right-color:transparent;border-radius:50%;animation:prc-spin .7s linear infinite;vertical-align:-3px;margin-right:6px}
@keyframes prc-spin{to{transform:rotate(360deg)}}
.prc-empty{text-align:center;padding:36px 16px;color:var(--muted)}
.prc-empty .i.lg{width:40px;height:40px;color:var(--muted)}
.prc-empty .big{font:700 18px/1.3 var(--font-head);color:var(--ink);margin:10px 0 4px}
.prc-noimg{display:grid;place-items:center;width:100%;height:100%;background:var(--surface-2);color:var(--muted)}
.prc-noimg .i{width:22px;height:22px}

/* ---------- print tag sheet ---------- */
.prc-tag .subtle{margin:0 0 12px}
.prc-layouts{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}
@media (min-width:560px){.prc-layouts{grid-template-columns:repeat(3,1fr)}}
.prc-lay{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.prc-lay .i{width:22px;height:22px;flex:none;color:var(--muted)}
.prc-lay span{display:flex;flex-direction:column}
.prc-lay b{font-weight:700}.prc-lay small{color:var(--muted);font-size:12px}
.prc-lay.on{border-color:var(--ink);background:var(--accent-soft)}
.prc-lay.on .i{color:var(--ink)}
.prc-copies{margin:0 0 12px}
.prc-copies .chips{display:flex;gap:8px;margin-top:6px}
.prc-preview{border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;background:#eee}
.prc-preview iframe{display:block;width:100%;height:min(62vh,560px);border:0;background:#eee}

/* ---------- price approvals ---------- */
.prc-item{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow-1)}
.prc-head{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 12px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.prc-head img,.prc-head .prc-noimg{width:56px;height:56px;border-radius:var(--r-xs);object-fit:cover;flex:none}
.prc-head .grow{flex:1;min-width:0;display:flex;flex-direction:column}
.prc-head b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prc-head small{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prc-diff{margin:0 12px;background:var(--surface-2);border-radius:var(--r-sm);padding:8px 12px;font-size:14.5px}
.prc-dh,.prc-dr{display:grid;grid-template-columns:minmax(64px,1fr) 1.3fr 1.3fr;gap:8px;padding:5px 0;align-items:baseline}
.prc-dh{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;border-bottom:1px dashed var(--line)}
.prc-dr+.prc-dr{border-top:1px dashed var(--line)}
.prc-dr span:first-child{color:var(--ink-2)}
.prc-dr span:nth-child(2){color:var(--muted);font-weight:600}
.prc-dr span:nth-child(3){font-weight:800;font-size:16px}
.prc-dr.chg span:nth-child(2){text-decoration:line-through}
.prc-dr.chg span:nth-child(3){color:var(--sale)}
.prc-dr i{color:var(--muted);font-weight:400;font-style:italic}
.prc-note{font-size:13px;color:var(--muted);padding-top:6px}
.prc-who{padding:8px 14px 0;font-size:13px;color:var(--muted)}
.prc-acts{display:flex;flex-wrap:wrap;gap:8px;padding:12px}
.prc-acts .btn{flex:1 1 0;min-width:0;padding-inline:10px;white-space:nowrap}
/* r25 fixer: on a phone Approve gets its own full-width row first; Change / Not approved share the row under it */
@media (max-width:640px){.prc-acts [data-approve],.prc-acts [data-askact="approve"]{order:-1;flex-basis:100%}}

/* ---------- put on sale / last price ---------- */
.prc-mrp{display:flex;justify-content:space-between;align-items:baseline;background:var(--surface-2);border-radius:var(--r-sm);padding:12px 14px;margin:0 0 14px}
.prc-mrp span{color:var(--ink-2);font-size:14px}.prc-mrp b{font-size:18px}.prc-mrp i{color:var(--muted);font-weight:400}

/* ---------- finance ---------- */
.fin-filters{margin:0 0 12px}
.fin-filters .chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 8px;padding:2px 16px 4px}
.fin-filters .chips::-webkit-scrollbar{display:none}
.fin-filters .chip{flex:none}
.fin-dates{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin:0 0 10px}
.fin-dates .field{margin:0}
@media (max-width:420px){.fin-dates{grid-template-columns:1fr 1fr}.fin-dates .btn{grid-column:1/3}}
.fin-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
@media (min-width:720px){.fin-tiles{grid-template-columns:repeat(4,1fr)}}
.fin-tile{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.fin-tile small{font-size:12px;color:var(--muted);font-weight:600}
.fin-tile b{font:800 20px/1.2 var(--font-head);letter-spacing:-.01em}
.fin-tile b small{display:block;font:600 12px/1.3 var(--font);color:var(--muted)}
.fin-tile.pos b{color:var(--ok)}.fin-tile.neg b{color:var(--danger)}
.fin-tile .warn,.fin-table .warn{color:var(--danger);display:block;font-size:12px}
.fin-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;min-height:44px}
.fin-list{display:flex;flex-direction:column;gap:8px}
.fin-row{display:flex;align-items:center;gap:10px;width:100%;min-height:72px;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-1)}
.fin-row:active{transform:scale(.995)}
.fin-pic{width:52px;height:52px;flex:none;border-radius:var(--r-xs);overflow:hidden}
.fin-pic img{width:100%;height:100%;object-fit:cover;display:block}
.fin-main{flex:1;min-width:0;display:flex;flex-direction:column}
.fin-main b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fin-main small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fin-costs{font-size:12.5px;color:var(--ink-2);margin-top:3px}
.fin-nums{display:flex;flex-direction:column;align-items:flex-end;flex:none;text-align:right;gap:2px;color:var(--muted)}
.fin-nums b{font-size:16px;color:var(--ink)}
.fin-nums b.miss{color:var(--danger);font-size:13px}
.fin-nums small{font-size:12px;font-weight:600}
.fin-nums .pos,.fin-margin .pos,.fin-blk .v.pos{color:var(--ok)}
.fin-nums .neg,.fin-margin .neg,.fin-blk .v.neg{color:var(--danger)}
.fin-group{margin:0 0 14px}
.fin-gh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px}
.fin-gh b{font:700 16px/1.3 var(--font-head)}.fin-gh span{color:var(--muted);font-size:13px}
.fin-table{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden}
.fin-th,.fin-tr{display:grid;grid-template-columns:1.6fr .6fr 1fr 1fr;gap:12px;padding:10px 12px;align-items:center} /* r30 audit: PIECES and CODE no longer run together */
.fin-th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;background:var(--surface-2)}
.fin-tr+.fin-tr{border-top:1px solid var(--line-2)}
.fin-tr span:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.fin-tr span:first-child small{display:block}
.fin-edit .money{display:block;position:relative}
.fin-edit .money input{padding-left:30px}
.fin-ref{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;background:var(--surface-2);border-radius:var(--r-sm);padding:12px 14px;margin:0 0 14px}
.fin-ref span{color:var(--ink-2);font-size:14px}.fin-ref b{font-size:18px}.fin-ref i{color:var(--muted);font-weight:400}.fin-ref small{flex-basis:100%;color:var(--muted);font-size:12.5px}
.fin-margin{display:flex;justify-content:space-between;align-items:baseline;gap:10px;min-height:44px;padding:10px 14px;border:1.5px dashed var(--line);border-radius:var(--r-sm);margin:0 0 12px}
.fin-margin b{font-size:18px}.fin-margin b small{margin-left:6px;font-size:12px;font-weight:600;color:var(--muted)}
.fin-blk{cursor:pointer}
.fin-blk-h{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:14px}
.fin-blk-h .grow{flex:1}
.fin-blk-h .btn.plain{min-height:32px;padding:4px 8px;font-size:13px}
.fin-blk .v i{color:var(--muted);font-weight:400;font-style:italic}
.fin-blk .v small{display:inline;margin-left:4px}

/* ---------- phase-2 additions: bulk tags, inline costs, summaries ---------- */
.prc-help{margin:0 0 10px}
.prc-pages{margin:0 0 8px;min-height:1em}
.prc-tag .pnote{margin:0 0 10px}
.prc-pick .prc-chiprow{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 8px;padding:2px 16px 4px}
.prc-pick .prc-chiprow::-webkit-scrollbar{display:none}
.prc-pick .prc-chiprow .chip{flex:none}
.prc-pick .prc-chiprow .chip .i{width:14px;height:14px}
.prc-search{margin:0 0 8px}
.prc-search input{width:100%;min-height:48px}
.prc-pickbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.prc-pickbar .btn{min-height:44px}
.prc-plist{display:flex;flex-direction:column;gap:6px}
.prc-pi{display:flex;align-items:center;gap:10px;min-height:64px;padding:8px 10px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer}
.prc-pi:has(input:checked){border-color:var(--ink);background:var(--accent-soft)}
.prc-pi input{width:24px;height:24px;flex:none;accent-color:var(--ink);margin:0}
.prc-pi img,.prc-pi .prc-noimg{width:48px;height:48px;border-radius:var(--r-xs);object-fit:cover;flex:none}
.prc-pi .grow{flex:1;min-width:0;display:flex;flex-direction:column}
.prc-pi b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prc-pi small{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prc-code{flex:none;font-weight:800;font-size:15px;letter-spacing:.03em}
.prc-pick .prc-empty{padding:20px}

.fin-bar-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fin-bar-r .chip .i{width:14px;height:14px}
@media (max-width:420px){.fin-bar{flex-wrap:wrap}.fin-bar-r{width:100%;justify-content:flex-start}}
.fin-locsum{margin:0 0 12px}
.fin-locsum .fin-th,.fin-locsum .fin-tr{grid-template-columns:1.5fr .6fr 1fr 1fr}
.fin-tr .pos{color:var(--ok)}.fin-tr .neg{color:var(--danger)}
.fin-tr span:first-child small{color:var(--muted);font-size:12px}
.fin-item{border-radius:var(--r)}
.fin-item.open{background:var(--surface);border:1.5px solid var(--ink);box-shadow:var(--shadow-1)}
.fin-item.open .fin-row{border:0;box-shadow:none;border-radius:var(--r) var(--r) 0 0}
.fin-row .fin-costs .badge{vertical-align:middle}
.fin-inline{padding:4px 12px 12px;border-top:1px dashed var(--line)}
.fin-ig{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
.fin-ig .field{margin:10px 0 0;min-width:0}
.fin-ig .field > span:first-child{font-size:13px}
.fin-ig .field em{font-style:normal;color:var(--muted);font-weight:400}
.fin-ig .fin-wide{grid-column:1/-1}
.fin-ig input{width:100%;min-height:48px;font-size:16px}
.fin-inline .fin-margin{margin:12px 0 0}
.fin-ia{display:flex;gap:8px;margin-top:12px}
.fin-ia .btn{flex:1}
.fin-ia .btn.primary{flex:1.6}
.fin-upd{margin:8px 0 0;font-size:12.5px}
.fin-sug{width:100%;margin:10px 0 0;min-height:48px;white-space:normal;text-align:left;justify-content:flex-start}
.fin-edit .fin-sug{margin:0 0 12px}
.fin-blk .v.miss i{color:var(--danger)}
.fin-blk:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.fin-blk .note{margin-top:6px}

/* ---------- fix pass: 375px fit, 44px targets, reload cue ---------- */
/* Rupee columns: let the grid shrink below the figure's width and wrap the figure instead of clipping it. */
.fin-th,.fin-tr{grid-template-columns:minmax(0,1.3fr) 50px minmax(0,1fr) minmax(0,1fr);gap:6px;font-size:13.5px}
.fin-locsum .fin-th,.fin-locsum .fin-tr{grid-template-columns:minmax(0,1.3fr) 50px minmax(0,1fr) minmax(0,1fr)}
.fin-tr span{min-width:0;overflow-wrap:anywhere}
.fin-tile{min-width:0}
.fin-tile b{font-size:clamp(15px,4.6vw,20px);overflow-wrap:anywhere}
/* Ledger row: the numbers column may wrap so the item name keeps room. */
.fin-nums{flex:0 1 auto;max-width:42%;min-width:0}
.fin-nums b{overflow-wrap:anywhere}
.fin-nums small{white-space:normal}
/* Tap targets: chips and the Edit pill at least 44px. */
.prc .chip,.fin .chip,.prc-copies .chip,.prc-pick .chip{min-height:44px}
.prc-copies .chip{min-width:56px;justify-content:center}
.fin-blk-h .btn.plain{min-height:44px;padding:8px 12px}
/* Reloading with old numbers on screen: dim them and say so. */
#finBody.fin-busy > :not(.fin-upd-cue){opacity:.5;transition:opacity .15s}
.fin-upd-cue{margin:0 0 8px;display:flex;align-items:center}
/* r30 audit: "Sell below the last code?" — the asked code reads normal and bold (never struck through), Last is the plain reference */
.prc-askrow span:nth-child(2){color:var(--ink);font-weight:800;font-size:16px}
.prc-askrow span:nth-child(3){color:var(--ink-2);font-weight:600;font-size:14px}
