/* ===== Nineteen POS v2.1 — typed qty, free price, accounting access, refreshed sales screen ===== */
:root{--nt-ink:#0b1530;--nt-line:#e6ebf2;--nt-sky:#0284c7;--nt-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 30px -16px rgba(15,23,42,.18)}

/* ---------- inline number inputs (cart) ---------- */
.nt-line-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:5px;font-size:12px!important}
.nt-num-wrap{display:inline-flex;align-items:center;gap:2px;border:1.5px solid #dbe3ee;background:#f8fafc;border-radius:10px;padding:0 8px;height:32px;transition:border-color .15s,box-shadow .15s,background .15s;cursor:text}
.nt-num-wrap:hover{border-color:#7dd3fc;background:#fff}
.nt-num-wrap:focus-within{border-color:var(--nt-sky);background:#fff;box-shadow:0 0 0 4px rgba(14,165,233,.18)}
.nt-num-prefix{font-size:12px;font-weight:700;color:#64748b}
.nt-num-input{border:0;outline:0;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;color:#0f172a;font-size:14px;padding:0;width:100%;min-width:0}
.nt-qty{width:62px;justify-content:center}
.nt-qty .nt-num-input{text-align:center;font-size:16px}
.nt-price{width:104px}
.nt-price .nt-num-input{text-align:right}
.nt-price-changed{border-color:#f59e0b;background:#fffbeb}
.nt-price-changed .nt-num-input,.nt-price-changed .nt-num-prefix{color:#b45309}
.nt-orig-price{font-size:11px;color:#94a3b8;text-decoration:line-through}

/* ---------- accounting access ---------- */
.nt-acc-tab{flex-shrink:0!important;position:relative;overflow:hidden;font-weight:700!important;color:#fff!important;background:linear-gradient(120deg,#4f46e5,#7c3aed 55%,#0891b2)!important;box-shadow:0 6px 16px -6px rgba(79,70,229,.6);transition:transform .15s,box-shadow .15s}
.nt-acc-tab:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px rgba(124,58,237,.7)}
.nt-acc-tab svg{color:#fff}
.nt-acc-tab::after,.nt-acc-big::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:ntShine 3.4s ease-in-out infinite;pointer-events:none}
.nt-acc-tab span:last-child{background:rgba(255,255,255,.22)!important;color:#fff!important;letter-spacing:.06em}
@keyframes ntShine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.nt-acc-big{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:14px;color:#fff;text-decoration:none;background:linear-gradient(120deg,#4338ca,#7c3aed 55%,#0891b2);box-shadow:0 10px 24px -10px rgba(79,70,229,.75);transition:transform .15s,box-shadow .15s;flex-shrink:0}
.nt-acc-big:hover{transform:translateY(-1px);box-shadow:0 14px 28px -10px rgba(124,58,237,.85)}
.nt-acc-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.nt-acc-txt{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.nt-acc-txt b{font-size:14px;font-weight:800;white-space:nowrap}
.nt-acc-txt small{font-size:10.5px;opacity:.8;white-space:nowrap}
.nt-acc-arrow{font-weight:800;font-size:16px;opacity:.85;margin-left:2px}

/* ---------- sales screen ---------- */
.nt-pos{--gap:14px}
.nt-pos>*+*{margin-top:var(--gap)!important}
.nt-keybar{background:linear-gradient(90deg,#0b1530,#13244a)!important;border:0!important;border-radius:14px!important;padding:8px 12px!important;box-shadow:var(--nt-shadow)}
.nt-keybar button{border-radius:8px!important}
.nt-layout{gap:var(--gap)!important;align-items:start}
.nt-left,.nt-right{gap:var(--gap)!important}
.nt-card{border:1px solid var(--nt-line)!important;border-radius:18px!important;box-shadow:var(--nt-shadow)!important;padding:14px 16px!important}
.nt-customer{font-size:13px!important}
.nt-customer select{font-size:15px!important}
.nt-search{height:42px;font-size:14px!important;border-radius:12px!important;padding-left:38px!important;background:#f5f8fc!important;border-color:#dbe3ee!important;transition:box-shadow .15s,border-color .15s}
.nt-search:focus{border-color:var(--nt-sky)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(14,165,233,.15)}
.nt-catalog select{height:42px;border-radius:12px!important;font-size:13px!important}
.nt-catalog .overflow-x-auto button{padding:7px 14px!important;border-radius:999px!important;font-size:13px!important}

/* product grid */
.nt-products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(178px,1fr))!important;gap:12px!important;max-height:max(420px,calc(100vh - 330px))!important;padding:2px 4px 6px 2px!important}
.nt-prod{--c:#0ea5e9;min-height:132px;border-radius:16px!important;padding:12px 12px 10px 16px!important;background:#fff;border:1px solid var(--nt-line)!important;overflow:hidden;transition:transform .12s,box-shadow .15s,border-color .15s!important}
.nt-prod::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}
.nt-prod::after{content:"+";position:absolute;right:10px;bottom:9px;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:20px;font-weight:700;color:#fff;background:var(--c);box-shadow:0 6px 14px -6px var(--c);transform:scale(.9);transition:transform .15s}
.nt-prod:hover{transform:translateY(-2px);box-shadow:0 14px 28px -16px rgba(15,23,42,.35);border-color:var(--c)!important}
.nt-prod:hover::after{transform:scale(1.05)}
.nt-prod:active{transform:scale(.98)}
.nt-prod:disabled::after{display:none}
.nt-prod[data-cat="tank_18_9"]{--c:#0284c7}
.nt-prod[data-cat="bottle_pack"]{--c:#0d9488}
.nt-prod[data-cat="cup"]{--c:#7c3aed}
.nt-prod[data-cat="coupon"]{--c:#d97706}
.nt-prod[data-cat="dispenser_accessory"]{--c:#475569}
.nt-prod[data-low="1"]{background:linear-gradient(180deg,#fffbeb,#fff 60%)!important;border-color:#fcd34d!important}
.nt-prod-name{font-size:14px!important;line-height:1.35!important;margin-top:2px}
.nt-prod-price{font-size:19px!important;color:var(--c)!important;letter-spacing:-.02em}
.nt-prod>div:last-child{padding-right:36px;border-top-style:dashed!important}

/* right column: total → bill → quick tap */

.nt-total{order:1;border:0!important;border-radius:20px!important;padding:18px 20px!important;background:radial-gradient(600px 200px at 100% 0%,rgba(34,211,238,.28),transparent),linear-gradient(135deg,#0b1530,#172a57)!important;box-shadow:0 20px 40px -24px rgba(11,21,48,.8)!important}
.nt-total-amt{font-size:46px!important;line-height:1.1;color:#67e8f9!important;text-shadow:0 0 24px rgba(34,211,238,.35)}
.nt-cart{order:2}
.nt-quick{order:3}
.nt-cart>div:first-child>div:first-child{font-size:15px!important;padding-bottom:10px!important}
.nt-cart-list{max-height:min(46vh,480px)!important}
.nt-cart-row{padding:12px 2px!important;gap:10px!important;font-size:13px!important}
.nt-line-name{font-size:14.5px!important;white-space:normal!important;line-height:1.35}
.nt-step{width:32px!important;height:32px!important;border-radius:10px!important;background:#eef3f9!important;color:#0f172a!important}
.nt-step:hover{background:#dbeafe!important;color:var(--nt-sky)!important}
.nt-step svg{width:16px!important;height:16px!important}
.nt-cart-row>div:nth-child(2){gap:6px!important}
.nt-line-total{width:auto!important;min-width:92px;font-size:16px!important}
.nt-cart-row button:last-child svg{width:18px!important;height:18px!important}
.nt-paybtn{height:58px;border-radius:16px!important;font-size:18px!important;background:linear-gradient(90deg,#059669,#10b981)!important;box-shadow:0 14px 28px -14px rgba(5,150,105,.9)!important;letter-spacing:.01em}
.nt-paybtn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}
.nt-quick .grid{gap:8px!important}
.nt-quick .grid>button{border-radius:12px!important;padding:10px!important}

@media (max-width:1023px){.nt-total-amt{font-size:38px!important}.nt-products{max-height:none!important}}
@media print{.nt-num-wrap{border:0;background:none}.nt-acc-big{display:none}}
