/* ============================================================
   register.css — The point-of-sale register screen.
   Laid out as DMS lays it out: Ship To / Sold To across the top,
   item grid filling the middle, totals and action buttons below.
   ============================================================ */

/* ---- register grid ---- */
.reg{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;
  padding:12px;overflow:auto;min-height:0}

/* ---- Ship To / Sold To ---- */
.who{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:stretch}
.who .card{padding:12px 14px}
.who h4{margin:0 0 7px;font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-faint);font-weight:650}
.who .big{font-size:15px;font-weight:650;letter-spacing:-.01em}
.who .sub{color:var(--ink-faint);font-family:var(--mono);font-size:11.5px}
.whoacts{display:grid;grid-template-rows:1fr 1fr;gap:6px;width:104px}
.whoacts button{font-weight:600}

/* ---- staged items grid ---- */
.staged{overflow:auto;min-height:0}

/* ---- entry form (Add Item to This Sale) ---- */
.entry[hidden]{display:none}
.entry{display:grid;grid-template-columns:76px 66px 1fr 62px 76px 52px 62px 108px auto;
  gap:8px;align-items:end;padding:12px;border-radius:var(--r);
  background:var(--panel);border:1px solid var(--line);
  box-shadow:var(--sh-1);position:relative}
.eclose{position:absolute;top:6px;right:6px;width:24px;height:24px;padding:0;
  border:0;border-radius:var(--r-s);background:var(--exit);color:#fff;
  font-size:17px;line-height:1;cursor:pointer;display:flex;
  align-items:center;justify-content:center}
.eclose:hover{filter:brightness(1.1)}
.eclose:focus-visible{outline:2px solid var(--exit);outline-offset:2px}
.entry label{display:flex;flex-direction:column;gap:4px;font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);
  font-weight:650}
.entry input{padding:8px 9px;border:1px solid var(--line);
  border-radius:var(--r-s);background:#fff;color:var(--ink);
  font-family:var(--mono);font-size:13.5px;width:100%}
.entry input:focus{outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(13,139,125,.16)}
.entry .go{padding:9px 16px;border-radius:var(--r-s);border:0;
  background:var(--accent);color:#fff;font-weight:650;cursor:pointer;
  white-space:nowrap;box-shadow:var(--sh-1)}
.entry .go:hover{background:#0a7a6d}
.hint{grid-column:1/-1;color:var(--accent);font-family:var(--mono);
  font-size:11.5px;min-height:14px}
.hint.bad{color:var(--stop)}

/* ---- totals ---- */
.tot{padding:10px 12px}
.trow{display:grid;grid-template-columns:1fr 108px;gap:8px;align-items:center;
  padding:3px 0}
.trow span:first-child{color:var(--ink-soft);text-align:right}
.amt{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;
  padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-s);
  background:#f8fafb}
.amt.total{background:var(--head);color:#fff;border-color:var(--head);
  font-weight:700;font-size:15px}
.amt.tender{background:var(--tender);border-color:var(--tender-line)}
.amt.change{background:var(--change);border-color:var(--change-line)}
input.amt{width:100%}

/* ---- register footer band ---- */
.regfoot{display:grid;grid-template-columns:minmax(280px,1fr) minmax(240px,320px)
  minmax(170px,200px);gap:10px;align-items:start}
.recrow{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:8px}
.recrow button{padding:7px 4px}
.resumerow{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.resumerow button{line-height:1.25;padding:8px 4px}
.mopbtn{width:100%;padding:14px;border:0;border-radius:var(--r);
  background:var(--mop);color:var(--mop-ink);font-weight:650;cursor:pointer;
  font-size:14px;box-shadow:var(--sh-2);letter-spacing:.01em}
.mopbtn:hover{filter:brightness(1.08);box-shadow:var(--sh-3)}

/* ---- action buttons (Finalize / Clear / Exit) ---- */
.acts{display:grid;gap:9px;align-content:start}
.acts button{padding:16px 10px;border:0;border-radius:var(--r);font-weight:700;
  font-size:14px;cursor:pointer;line-height:1.2;box-shadow:var(--sh-2);
  letter-spacing:.01em}
.acts button:active:not(:disabled){transform:translateY(1px)}
.acts .fin{background:var(--fin);color:var(--fin-ink)}
.acts .clr{background:var(--clr);color:var(--clr-ink)}
.acts .exit{background:var(--exit);color:var(--exit-ink)}
.acts button:hover:not(:disabled){filter:brightness(1.07);box-shadow:var(--sh-3)}
.acts button:disabled{opacity:.42;filter:saturate(.8);box-shadow:none;
  cursor:default}

/* ---- responsive ---- */
@media (max-width:1100px){
  .reg{grid-template-columns:1fr}
}
