/* ═══════════════════════════════════════════════════════════════════════════
   demand.css — Demand Review v2.9 (Smart / Calc / Transfers / Audit)
   ═══════════════════════════════════════════════════════════════════════════ */

.dr-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 22px;background:var(--surface);border-bottom:1px solid var(--line);flex:0 0 auto}
.dr-body{flex:1;min-height:0;overflow:auto;background:var(--canvas)}
.dr-pad{padding:16px 22px;display:flex;flex-direction:column;gap:14px}

/* Summary cards */
.dr-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.dr-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;position:relative;overflow:hidden}
.dr-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand)}
.dr-card.acc-green::before{background:var(--ok)} .dr-card.acc-amber::before{background:var(--signal)}
.dr-card.acc-red::before{background:var(--no)} .dr-card.acc-cyan::before{background:var(--brand)}
.dr-card .c-h{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3)}
.dr-card .c-hero{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums}
.dr-card .c-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;margin-top:9px;font-size:11.5px}
.dr-card .c-grid .k{color:var(--ink-3)} .dr-card .c-grid .v{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.dr-card .c-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}

/* view-mode segmented + filter */
.dr-views{display:inline-flex;background:var(--surface-3);border-radius:var(--r-sm);padding:2px;gap:2px}
.dr-views button{padding:6px 13px;border-radius:var(--r-xs);font-size:var(--fs-12);font-weight:600;color:var(--ink-3);transition:all var(--fast)}
.dr-views button.active{background:var(--surface);color:var(--brand-700);box-shadow:var(--sh-1)}

/* Smart table */
.dr-tbl-wrap{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
table.dr-tbl{border-collapse:separate;border-spacing:0;font-size:11px;min-width:100%;white-space:nowrap}
.dr-tbl thead th{position:sticky;top:0;z-index:3;background:var(--surface-2);color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;text-align:left;padding:7px 8px;border-bottom:1px solid var(--line-2);border-right:1px solid var(--hair);white-space:nowrap}
.dr-tbl tbody td{padding:4px 8px;border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);vertical-align:middle;background:var(--surface)}
.dr-tbl tbody tr:hover td{background:var(--brand-50)}
.dr-tbl tbody tr.sel td{background:var(--brand-tint)!important;box-shadow:inset 0 0 0 1px var(--brand-tint-2)}
.dr-tbl .mono{font-family:var(--mono)}
.dr-tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.dr-tbl .grp{background:rgba(0,152,181,.04)}
.dr-tbl input.qty{width:62px;height:24px;padding:1px 5px;font-size:11px;font-family:var(--mono);text-align:right;border:1px solid var(--line-2);border-radius:var(--r-xs);background:var(--surface)}
.dr-tbl input.qty:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-ring);outline:none}
.dr-tbl input.qty.ovr{border-color:var(--signal);background:#fffbeb}
.dr-tbl select.dm{height:24px;font-size:10.5px;border:1px solid var(--line-2);border-radius:var(--r-xs);background:var(--surface);max-width:160px;padding:0 4px}
.dr-tbl .rem-hot{background:var(--signal-tint);color:var(--signal-700);font-weight:700;border-radius:var(--r-xs);padding:1px 5px}
.dr-tbl .desc{max-width:220px;white-space:normal;font-size:10.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis}

/* approve btn */
.dr-appr{height:23px;padding:0 9px;border-radius:var(--r-xs);font-size:10.5px;font-weight:700;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2)}
.dr-appr.on{background:var(--ok);border-color:var(--ok);color:#fff}

/* Used modal context grid */
.dr-modal-grid{display:grid;grid-template-columns:1fr auto;gap:3px 14px;font-size:12px;border:1px solid var(--line);border-radius:var(--r);padding:11px 13px;background:var(--surface-2)}
.dr-modal-grid .k{color:var(--ink-3)} .dr-modal-grid .v{text-align:right;font-weight:600;font-family:var(--mono)}
.dr-prev{border:1px solid var(--line);border-radius:var(--r);padding:10px 13px;margin-top:10px;background:var(--surface);display:flex;flex-direction:column;gap:5px;font-size:12px}
.dr-prev .row{display:flex;justify-content:space-between}
.dr-prev .warn{color:var(--no)} .dr-prev .ok{color:var(--ok)}

/* drawer kv sections */
.dr-sec{margin-bottom:14px}
.dr-sec-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--brand-800);margin-bottom:7px;padding-bottom:5px;border-bottom:1px solid var(--line)}
.dr-kv{display:grid;grid-template-columns:1fr auto;gap:3px 14px;font-size:12px}
.dr-kv .k{color:var(--ink-3)} .dr-kv .v{text-align:right;font-weight:600}
.dr-sec table{width:100%;border-collapse:collapse;font-size:11px;margin-top:4px}
.dr-sec table th{text-align:left;color:var(--ink-3);font-weight:600;padding:4px 6px;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase}
.dr-sec table td{padding:4px 6px;border-bottom:1px solid var(--hair)}

.dr-pt-src{width:100%;border-collapse:collapse;font-size:11px}
.dr-pt-src th{text-align:left;color:var(--ink-3);font-weight:600;padding:5px 6px;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase}
.dr-pt-src td{padding:4px 6px;border-bottom:1px solid var(--hair)}
.dr-pt-src input[type=number]{width:64px;height:22px;padding:1px 4px;border:1px solid var(--line-2);border-radius:var(--r-xs)}
