:root{
  --dark:#1F2937; --dark2:#111827; --gold:#B8923A; --gold2:#9A7420; --cream:#F6F1E7; --cream2:#FBF7EE;
  --bg:#F4F2EE; --card:#FFFFFF; --line:#E5E1D8; --text:#1F2937; --muted:#6B7280; --green:#2E7D32; --red:#C62828;
  --amber:#B45309; --purple:#6A1B9A; --pink:#C2185B; --radius:12px; --shadow:0 1px 2px rgba(0,0,0,.05),0 2px 8px rgba(0,0,0,.04);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font:14px/1.45 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--gold2)}
button,input,select,textarea{font:inherit;color:inherit}
.boot{display:grid;place-items:center;height:100vh;font:600 28px Georgia,serif;letter-spacing:.3em;color:var(--gold)}

/* layout */
.shell{display:flex;min-height:100vh}
.side{align-self:flex-start;width:232px;background:var(--dark);color:#E5E7EB;flex:none;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand img{width:38px;height:38px;border-radius:50%;background:#fff;object-fit:contain;padding:2px}
.brand b{font:600 20px Georgia,serif;letter-spacing:.18em;color:var(--gold)}
.brand small{display:block;font-size:10px;letter-spacing:.3em;color:#9CA3AF}
.nav{padding:10px 8px;flex:1}
.nav .sec{font-size:10px;letter-spacing:.14em;color:#6B7280;padding:12px 12px 4px;text-transform:uppercase}
.nav a{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;color:#D1D5DB;text-decoration:none;font-size:13.5px}
.nav a:hover{background:rgba(255,255,255,.06)}
.nav a.on{background:rgba(184,146,58,.18);color:#fff}
.nav a .ic{width:18px;text-align:center;opacity:.9}
.side .who{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#9CA3AF}
.side .who b{color:#fff;display:block;font-size:13px}
.main{flex:1;min-width:0;padding:22px 26px 90px}
.topbar{display:none}
.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.page-h h1{margin:0;font:600 22px Georgia,serif}
.page-h p{margin:2px 0 0;color:var(--muted);font-size:13px}
.actions{display:flex;gap:8px;flex-wrap:wrap}

/* cards & grid */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:16px}
.card h2{margin:0 0 12px;font-size:15px;font-weight:600}
.card h2 small{font-weight:400;color:var(--muted);margin-left:6px}
.grid{display:grid;gap:12px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);border-top:3px solid var(--gold)}
.kpi.g{border-top-color:var(--green)}.kpi.d{border-top-color:var(--dark)}.kpi.p{border-top-color:var(--pink)}
.kpi span{display:block;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.kpi b{display:block;font-size:22px;margin-top:4px;font-variant-numeric:tabular-nums}
.kpi small{color:var(--muted);font-size:12px}

/* tables */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;text-align:left;padding:8px 10px;border-bottom:2px solid var(--line);white-space:nowrap;background:var(--cream2)}
td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl-wrap td{white-space:nowrap}
.tbl-wrap td.wrap{white-space:normal;min-width:180px}
tr:hover td{background:#FCFAF5}
td.n,th.n{text-align:right;white-space:nowrap}
td.c,th.c{text-align:center}
tfoot td{font-weight:700;background:var(--cream2);border-top:2px solid var(--line)}
.click{cursor:pointer}
.empty{padding:28px;text-align:center;color:var(--muted)}

/* badges */
.b{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}
.b.ok,.b.Healthy,.b.Paid,.b.in{background:#E7F5E8;color:#1B5E20}
.b.mid,.b.OK,.b.Low,.b.Partially{background:#FFF4D6;color:#8A5A00}
.b.bad,.b.Unpaid,.b.out,.b.Out{background:#FDE7E7;color:#9C0006}
.b.Lowm{background:#FDE7E7;color:#9C0006}
.b.u{background:#F3E5F5;color:var(--purple)}
.b.o{background:#FFE0B2;color:#E65100}
.b.g{background:#EEE;color:#555}
.b.deal{background:#FCE4EC;color:var(--pink)}
.b.s10{background:#EFEBE9;color:#5D4037}
.b.s50{background:#FFF8E1;color:#7A5C12}

/* forms */
label.f{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}
label.f>span{display:block;margin-bottom:4px;font-weight:600;color:#4B5563}
label.f small{display:block;color:var(--muted);font-weight:400;margin-top:3px}
input[type=text],input[type=email],input[type=tel],input[type=month],input[type=number],input[type=password],input[type=date],input[type=search],select,textarea{
  width:100%;padding:9px 11px;border:1px solid #D6D0C4;border-radius:8px;background:#fff;font-size:14px;outline:none;min-height:40px}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,58,.18)}
textarea{min-height:70px;resize:vertical}
.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;margin:6px 0 12px;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--gold)}
.inline{display:flex;gap:8px;align-items:center}
.hint{background:#FFF8E6;border:1px solid #F1DFB3;border-radius:10px;padding:10px 12px;font-size:13px;margin:8px 0}
.hint.g{background:#EAF6EB;border-color:#C7E5C9}.hint.r{background:#FDEDED;border-color:#F5C2C2}.hint.p{background:#F5ECF8;border-color:#E3CDEB}
.muted{color:var(--muted)}.right{text-align:right}.mt{margin-top:12px}.mb0{margin-bottom:0}
.fieldset{border:1px dashed #D6D0C4;border-radius:10px;padding:12px 12px 2px;margin:8px 0 14px}
.fieldset>legend{font-size:12px;font-weight:700;color:var(--gold2);padding:0 6px;text-transform:uppercase;letter-spacing:.06em}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #D6D0C4;background:#fff;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:600;font-size:13.5px;min-height:38px;text-decoration:none;color:var(--text);white-space:nowrap}
.btn:hover{border-color:var(--gold)}
.btn.pri{background:var(--gold);border-color:var(--gold);color:#fff}
.btn.pri:hover{background:var(--gold2)}
.btn.dark{background:var(--dark);border-color:var(--dark);color:#fff}
.btn.danger{color:var(--red);border-color:#F2C4C4}
.btn.sm{padding:4px 10px;min-height:30px;font-size:12.5px}
.btn.ghost{border-color:transparent;background:transparent}
.btn:disabled{opacity:.5;cursor:not-allowed}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tabs a{padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--text);font-weight:600;font-size:13px}
.tabs a.on{background:var(--dark);color:#fff;border-color:var(--dark)}

/* sale screen */
.sale{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.sale .sum{position:sticky;top:16px}
.lines .ln{display:grid;grid-template-columns:minmax(0,1fr) 72px 72px 96px 34px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.lines .ln .nm{font-weight:600}.lines .ln .ds{font-size:12px;color:var(--muted)}
.lines .ln input{min-height:36px;padding:6px 8px}
.lines .ln.free{background:#FFF5F8}
.sumrow{display:flex;justify-content:space-between;padding:5px 0;font-variant-numeric:tabular-nums}
.sumrow.big{font-size:18px;font-weight:700;border-top:2px solid var(--line);margin-top:6px;padding-top:10px}
.sumrow.int{color:var(--purple)}
.picker{position:relative}
.picker .list{position:absolute;z-index:20;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:320px;overflow:auto}
.picker .opt{padding:9px 12px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #F3F0EA}
.picker .opt:hover,.picker .opt.act{background:var(--cream)}
.picker .opt small{color:var(--muted)}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(17,24,39,.45);display:flex;align-items:flex-start;justify-content:center;padding:4vh 12px;z-index:50}
.modal{background:#fff;border-radius:14px;width:100%;max-width:720px;box-shadow:0 20px 60px rgba(0,0,0,.25);display:flex;flex-direction:column;max-height:92vh}
.modal.wide{max-width:980px}
.modal .mh{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line);flex:none;user-select:none}
.modal .mh h3{margin:0;font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mh-btns{display:flex;gap:2px;flex:none}.mh-btns .btn{min-width:34px;font-size:15px;line-height:1}
.modal .mb{padding:16px 18px;overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;min-height:0}
.modal .mf{flex:none}
.modal.max{position:fixed;inset:8px;max-width:none;max-height:none;width:auto}
.modal-bg.min{background:transparent;pointer-events:none;padding:0}
.modal-bg.min .modal{position:fixed;right:16px;bottom:16px;width:320px;max-width:calc(100vw - 32px);pointer-events:auto;cursor:pointer;inset:auto 16px 16px auto;min-height:0}
.modal-bg.min .mb,.modal-bg.min .mf{display:none}
.modal-bg.min .mh{border-bottom:0;background:var(--dark,#1F2937);border-radius:12px}.modal-bg.min .mh h3,.modal-bg.min .mh-btns .btn{color:#fff}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.modal.shake{animation:shake .25s}
.modal .mf{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:var(--cream2);border-radius:0 0 14px 14px;flex-wrap:wrap}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:80;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none}
#toast div{background:var(--dark);color:#fff;padding:10px 16px;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.25);font-weight:600}
#toast div.err{background:var(--red)}

/* login */
.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,#1F2937 0%,#111827 60%,#2b2416 100%)}
.login .box{background:#fff;border-radius:16px;padding:28px;width:100%;max-width:380px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.login img{display:block;width:120px;margin:0 auto 10px}
.login h1{text-align:center;font:600 18px Georgia,serif;margin:0 0 4px}
.login p{text-align:center;color:var(--muted);margin:0 0 18px;font-size:13px}
.err-msg{color:var(--red);font-size:13px;min-height:18px;margin-bottom:6px}

/* charts */
.chart svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);flex-wrap:wrap;margin-top:6px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.bar-row{display:grid;grid-template-columns:150px 1fr 90px;gap:8px;align-items:center;font-size:13px;margin:5px 0}
.bar-row .tr{background:#F1EEE8;border-radius:6px;height:12px;overflow:hidden}
.bar-row .tr i{display:block;height:100%;background:var(--gold);border-radius:6px}

/* invoice print */
.inv{background:#fff;color:#1F2937;width:100%;max-width:794px;margin:0 auto;padding:36px 40px;font-size:12.5px;border:1px solid var(--line)}
.inv .rule{height:6px;background:var(--gold);margin:-36px -40px 22px}
.inv .hd{display:flex;justify-content:space-between;align-items:flex-start}
.inv .hd img{width:96px}
.inv .ttl{text-align:right}
.inv .ttl h2{margin:0 0 10px;font:600 26px Georgia,serif;color:#9A7420;letter-spacing:.04em}
.inv .meta td{padding:3px 0 3px 14px;border:none;font-size:12px}
.inv .meta td:first-child{color:#6B7280;font-weight:600;text-align:right}
.inv .meta td:last-child{text-align:right;font-weight:600}
.inv .parties{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:22px 0 18px;padding-top:14px;border-top:2px solid var(--gold)}
.inv .parties h4{margin:0 0 6px;font-size:10.5px;letter-spacing:.12em;color:#9A7420}
.inv .parties div{line-height:1.6}
.inv table.items th{background:#1F2937;color:#fff;border:none;font-size:11px;padding:8px}
.inv table.items td{padding:8px;border-bottom:1px solid #EFE9DC;font-size:12px}
.inv table.items tr:nth-child(even) td{background:#FAFAF7}
.inv .tot{display:grid;grid-template-columns:1fr 290px;gap:20px;margin-top:14px}
.inv .tot .r{display:flex;justify-content:space-between;padding:5px 10px}
.inv .tot .gt{background:var(--gold);color:#fff;font-weight:700;font-size:14px}
.inv .tot .bd{background:#1F2937;color:#fff;font-weight:700;font-size:14px}
.inv .words{font-style:italic;font-weight:600}
.inv .terms{margin-top:22px;padding-top:12px;border-top:1px solid #EFE9DC;color:#6B7280;font-size:11px;line-height:1.6}
.inv .sign{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:46px;text-align:center;color:#6B7280;font-size:11px}
.inv .sign div{border-top:1px solid #374151;padding-top:6px}
.inv .foot{text-align:center;margin-top:22px;font:600 13px Georgia,serif;color:#9A7420}
.inv .foot small{display:block;font:400 10px Arial;color:#9CA3AF;margin-top:4px}
.inv .rule2{height:6px;background:var(--gold);margin:14px -40px -36px}

/* mobile */
.bottom-nav{display:none}
@media (max-width:900px){
  .sale{grid-template-columns:1fr}
  .sale .sum{position:static}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  body{font-size:15px}
  .side{position:fixed;left:0;top:0;z-index:60;transform:translateX(-100%);transition:transform .2s;width:260px;box-shadow:0 0 40px rgba(0,0,0,.4)}
  .side.open{transform:none}
  .scrim{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:55}
  .topbar{display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:#fff;padding:10px 14px;position:sticky;top:0;z-index:40}
  .topbar b{font:600 17px Georgia,serif;letter-spacing:.18em;color:var(--gold)}
  .topbar button{background:none;border:none;color:#fff;font-size:22px;padding:4px 8px}
  .main{padding:14px 14px 96px}
  .g2,.g3,.g4{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi b{font-size:18px}
  .lines .ln{grid-template-columns:minmax(0,1fr) 64px 84px 34px}
  .lines .ln .dc{display:none}
  .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:45;padding-bottom:env(safe-area-inset-bottom)}
  .bottom-nav a{flex:1;text-align:center;padding:8px 2px 9px;font-size:11px;color:var(--muted);text-decoration:none}
  .bottom-nav a .ic{display:block;font-size:19px;line-height:1.2}
  .bottom-nav a.on{color:var(--gold2);font-weight:700}
  .bottom-nav a.plus .ic{background:var(--gold);color:#fff;border-radius:50%;width:38px;height:38px;line-height:38px;margin:-14px auto 2px;box-shadow:0 4px 12px rgba(184,146,58,.5)}
  .modal-bg{padding:0;align-items:stretch}
  .modal{border-radius:0;min-height:100vh;max-height:100vh}
  .modal-bg.min .modal{bottom:76px;border-radius:12px}
  .modal .mf{border-radius:0;position:sticky;bottom:0}
  .inv{padding:20px 16px}
  .inv .rule{margin:-20px -16px 16px}.inv .rule2{margin:14px -16px -20px}
  .inv .parties,.inv .tot{grid-template-columns:1fr}
  .bar-row{grid-template-columns:110px 1fr 80px}
  .hide-m{display:none}
}

@media print{
  @page{size:A4;margin:10mm}
  body{background:#fff}
  body>*:not(#print-root){display:none!important}
  #print-root{display:block!important}
  .inv{border:none;max-width:none;padding:0 4mm}
  .inv .rule{margin:0 -4mm 18px}.inv .rule2{margin:14px -4mm 0}
  .inv .parties{grid-template-columns:1fr 1fr}.inv .tot{grid-template-columns:1fr 290px}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
#print-root{display:none}

/* ---- v1.3 ---- */
.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff;margin-bottom:12px}
.lang button{border:0;background:transparent;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--muted)}
.lang button.on{background:var(--dark);color:#fff}
.lang.center{display:flex;width:max-content;margin:0 auto 14px}
.lang.dark{background:transparent;border-color:rgba(255,255,255,.2);margin-bottom:10px}
.lang.dark button{color:#D1D5DB}.lang.dark button.on{background:var(--gold);color:#fff}
.info{display:inline-block;width:16px;height:16px;line-height:16px;text-align:center;border-radius:50%;background:#EFE9DC;color:var(--gold2);font-size:11px;font-weight:700;cursor:help;vertical-align:1px;text-transform:none;letter-spacing:0}
.rep-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}
.rep-nav{padding:8px;position:sticky;top:16px}
.rep-nav .sec{font-size:10.5px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;padding:10px 10px 4px}
.rep-nav a{display:block;padding:7px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:13.5px}
.rep-nav a:hover{background:var(--cream)}
.rep-nav a.on{background:var(--dark);color:#fff}
th.sortable{cursor:pointer;user-select:none}
th.sortable:hover{color:var(--gold2)}
table.small td,table.small th{padding:6px 8px;font-size:12.5px}
table.pl tr.lvl1 td{background:#FBF7EE;border-top:2px solid var(--line)}
table.pl tr.lvl2 td{background:#EAF6EB;border-top:2px solid #C7E5C9;font-size:15px}
tr.cx td{opacity:.55;text-decoration:line-through}
tr.cx td:last-child{text-decoration:none;opacity:1}
.inv{position:relative}
.inv .stamp{position:absolute;top:120px;left:50%;transform:translateX(-50%) rotate(-12deg);border:4px solid #C62828;color:#C62828;font:700 42px Arial;letter-spacing:.12em;padding:4px 18px;opacity:.55;pointer-events:none}
.rep-print{font:11px Arial;color:#1F2937}
.rep-print .rp-h{display:flex;gap:14px;align-items:center;border-bottom:3px solid #B8923A;padding-bottom:8px;margin-bottom:10px}
.rep-print .rp-h img{width:54px}
.rep-print h2{margin:0;font:600 18px Georgia,serif;color:#9A7420}
.rep-print table{width:100%;border-collapse:collapse}
.rep-print th{background:#1F2937!important;color:#fff;padding:5px 6px;font-size:10px;text-align:left}
.rep-print td{padding:4px 6px;border-bottom:1px solid #E5E1D8;font-size:10.5px}
.rep-print td.n,.rep-print th.n{text-align:right}
.rep-print tfoot td{font-weight:700;background:#F6F1E7}
@media (max-width:900px){.rep-shell{grid-template-columns:1fr}.rep-nav{display:none}}
@media print{body.print-landscape{}}


/* ---- v1.4: customers, vendors, ledgers, prices ---- */
.filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin-bottom:12px}
.filters .f{min-width:150px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;cursor:pointer;font-weight:500}
.chip input{margin:0;width:auto;min-height:0}
.chip:has(input:checked){background:var(--cream);border-color:var(--gold);font-weight:600}
.b.t{background:#E8EEF7;color:#1E3A8A}
.b.vip{background:linear-gradient(90deg,#F6E7BF,#E9CF86);color:#5B4300}
table.ledger tr.op td{background:var(--cream2);font-style:italic}
.grid.g4b{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:6px}
.mtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:-4px 0 14px;overflow-x:auto}
.mtabs button{background:none;border:0;border-bottom:3px solid transparent;padding:9px 12px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;font-size:13.5px}
.mtabs button.on{color:var(--dark);border-bottom-color:var(--gold)}
.mpane[hidden]{display:none}
.pcard{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}
.pcard h4{margin:0 0 10px;font-size:14px;display:flex;justify-content:space-between;align-items:center}
.pnow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.pnow div{background:var(--cream2);border-radius:8px;padding:8px 10px;font-size:12px;color:var(--muted)}
.pnow b{display:block;font-size:16px;color:var(--text)}
table.prices input{width:100px;min-height:34px;padding:5px 8px;text-align:right}
table.prices tr.chg td{background:#FFFBEA}
table.prices .old{font-size:11px;color:var(--muted);text-decoration:line-through}
.up{color:var(--green)}.down{color:var(--red)}
.bulk{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;padding:10px 12px;background:var(--cream2);border-radius:10px;margin-bottom:12px}
.bulk .f{margin:0;min-width:120px}
.savebar{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 0;display:flex;gap:10px;align-items:center;justify-content:flex-end;z-index:5}
@media (max-width:760px){
  .grid.g4b{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
  .grid.g4b>.right{display:none}
  .pnow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters .f{min-width:0;flex:1 1 140px}
  .savebar{bottom:64px}
}

/* v1.5 */
.ovr .seg{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}
.ovr .seg label{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap;margin:0;cursor:pointer}
.ovr .seg input[type=radio]{width:auto;margin:0}
.ovr .seg input[type=number]{flex:1;min-width:90px;max-width:140px;padding:6px 8px}
.ovr .seg input[type=number]:disabled{background:#F3F4F6;opacity:.6}
.tabs a.tab-add{border-style:dashed;color:var(--muted)}
table.oil input{width:92px;text-align:right}

/* v1.6 */
.bulkbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 10px;margin-bottom:10px;background:var(--cream2);border:1px solid var(--line);border-radius:10px;min-height:44px}
tr.sel td{background:#FFF8E6}
input.trk{width:130px;padding:5px 8px;font-size:13px}
.stocklink{margin:-4px 0 10px;padding:6px 8px;background:var(--cream2);border-radius:8px}

/* v1.7.1 manual inside the app */
.m-inapp{max-width:none;padding:0}
.m-inapp .m-toc{position:static}
table tr.tot td{border-top:2px solid var(--line);background:#FAF8F3}
/* v2.2 stock places */
.locchip{display:inline-block;background:#F4F1EA;border:1px solid var(--line);border-radius:999px;padding:2px 9px;margin:2px 2px 2px 0;white-space:nowrap}
.locchip.neg{background:#FDECEC;border-color:#F3B4B4;color:var(--red)}
.locs{display:flex;flex-wrap:wrap;gap:4px;max-width:330px;min-width:150px}.locs .locchip{margin:0}
@media (max-width:760px){.locs{max-width:170px}}

/* =====================================================================
   v2.3 — fresh look: Inter font, line icons, softer cards, clear colours
   ===================================================================== */
@font-face{font-family:"Inter";src:url(fonts/inter.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{
  --dark:#141B2D; --dark2:#0E1422; --gold:#B8913A; --gold2:#94711F; --goldl:#F7EFD9; --cream:#F6F1E7; --cream2:#FAF7F1;
  --bg:#F5F4F0; --card:#FFFFFF; --line:#E8E4DB; --text:#1C2333; --muted:#6B7280; --green:#1F8A4C; --red:#D23B3B;
  --amber:#B76E00; --purple:#7B3FB0; --pink:#C2185B; --blue:#2563EB; --radius:14px;
  --shadow:0 1px 2px rgba(20,27,45,.04),0 4px 14px rgba(20,27,45,.05);
}
body{font-family:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:14px;letter-spacing:-.005em;font-feature-settings:"cv11","ss01"}
.svgi{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.boot{font-family:"Cormorant",Georgia,serif}

/* sidebar */
.side{background:linear-gradient(180deg,#141B2D 0%,#101626 100%);width:244px;border-right:1px solid rgba(255,255,255,.04)}
.brand{padding:18px 18px 16px}
.brand b{font:600 23px "Cormorant",Georgia,serif;letter-spacing:.2em}
.nav{padding:8px 10px}
.nav .sec{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;cursor:default;font:600 10.5px "Inter",sans-serif;letter-spacing:.12em;color:#7C8599;padding:14px 10px 6px;text-transform:uppercase;text-align:left}
.nav .sec.fold{cursor:pointer}.nav .sec.fold:hover{color:#B9C0CE}
.nav .sec .chev{width:14px;height:14px;transform:rotate(90deg);transition:transform .2s;opacity:.7}
.ngrp.shut .sec .chev{transform:none}
.ngrp.shut .nitems{display:none}
.nav a{gap:11px;padding:8px 10px;margin:1px 0;border-radius:9px;color:#C4CAD6;font-size:13.5px;font-weight:500;position:relative}
.nav a .svgi{width:18px;height:18px;opacity:.75}
.nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.nav a.on{background:rgba(184,145,58,.16);color:#fff}
.nav a.on .svgi{opacity:1;color:#E2C27A}
.nav a.on::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}
.side .who{padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.07)}
.who-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#D4AF5F,#9A7420);color:#fff;font-weight:700;font-size:13px;flex:none}
.who-n{flex:1;min-width:0}.who-n b{display:block;color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who-n small{color:#8A93A6;font-size:11.5px}
#lo{color:#8A93A6;display:grid;place-items:center;width:32px;height:32px;border-radius:8px}#lo:hover{background:rgba(255,255,255,.08);color:#fff}

/* top bar (computer) */
.mainwrap{flex:1;min-width:0}
.deskbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 26px;background:rgba(245,244,240,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(232,228,219,.7)}
.qs-open{flex:1;max-width:520px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 12px;color:var(--muted);cursor:text;font-size:13.5px;text-align:left;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.qs-open:hover{border-color:#D9CFB8}
.qs-open span{flex:1}
kbd{font:600 11px "Inter",sans-serif;color:#8A8F99;background:#F3F2EE;border:1px solid #E3E0D8;border-radius:6px;padding:2px 6px}
.deskbar .btn .svgi{width:17px;height:17px}
.main{padding:20px 26px 90px}

/* search pop-up */
.qs-bg{position:fixed;inset:0;z-index:90;background:rgba(14,20,34,.45);display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;animation:qsfade .15s ease}
@keyframes qsfade{from{opacity:0}}
.qs{width:100%;max-width:620px;background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.3);overflow:hidden}
.qs-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.qs-in .svgi{width:20px;height:20px;color:var(--muted)}
.qs-in input{border:0!important;box-shadow:none!important;padding:4px 0!important;font-size:16px;min-height:0}
.qs-x{border:1px solid #E3E0D8;background:#F3F2EE;border-radius:6px;font:600 11px "Inter",sans-serif;color:#8A8F99;padding:3px 7px;cursor:pointer}
.qs-res{max-height:60vh;overflow:auto;padding:6px}
.qs-g{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9AA0AA;padding:10px 10px 4px}
.qs-i{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;color:var(--text);text-decoration:none}
.qs-i .svgi{color:var(--gold2);width:19px;height:19px}
.qs-i b{display:block;font-weight:600;font-size:14px}.qs-i small{display:block;color:var(--muted);font-size:12.5px}
.qs-i.on,.qs-i:hover{background:var(--goldl)}
.qs-tip{padding:18px 12px;color:var(--muted);font-size:13px;text-align:center}

/* headings & cards */
.page-h{margin-bottom:18px}
.page-h h1,.hello h1{font:700 24px/1.2 "Inter",sans-serif;letter-spacing:-.02em;color:var(--text)}
.page-h p,.hello p{color:var(--muted);font-size:13px;margin-top:4px}
.card{border-radius:var(--radius);border-color:var(--line);box-shadow:var(--shadow);padding:18px}
.card h2{font-size:15px;font-weight:650;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card h2 .svgi{color:var(--gold2)}

/* buttons */
.btn{border-radius:10px;border-color:#DDD7CA;font-weight:600;min-height:38px;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s}
.btn:active{transform:translateY(1px)}
.btn:hover{border-color:#C9B88E;background:#FFFDF8}
.btn.pri{background:linear-gradient(180deg,#C29B45,#AC8530);border-color:#A9832F;box-shadow:0 2px 6px rgba(172,133,48,.28),inset 0 1px 0 rgba(255,255,255,.18)}
.btn.pri:hover{background:linear-gradient(180deg,#B8913A,#9C7826);border-color:#94711F}
.btn.sm{border-radius:8px}
.btn .svgi{width:16px;height:16px}

/* inputs */
input[type=text],input[type=email],input[type=tel],input[type=month],input[type=number],input[type=password],input[type=date],input[type=search],select,textarea{border-color:#DCD6CA;border-radius:10px;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#CBBF9F}
label.f>span{color:#374151}

/* tables */
th{background:#FAF8F3;color:#7A7F8A;font-size:11px;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:10px 10px}
td{border-bottom-color:#EFECE5}
tr:hover td{background:#FDFBF6}
.tbl-wrap{border-radius:10px}

/* badges */
.b{padding:3px 9px;font-weight:600;font-size:11.5px}
.b.ok,.b.Healthy,.b.Paid,.b.in{background:#E3F4EA;color:#17663A}
.b.mid,.b.OK,.b.Low,.b.Partially{background:#FFF1D1;color:#8A5300}
.b.bad,.b.Unpaid,.b.out,.b.Out,.b.Lowm{background:#FDE6E6;color:#A61B1B}

/* notes */
.hint{border-radius:12px;border-left-width:4px;padding:11px 14px}
.hint{border-left-color:#E3BF6A}.hint.g{border-left-color:#4CAF6E}.hint.r{border-left-color:#E06666}.hint.p{border-left-color:#A779CF}

/* old KPI boxes (other screens) */
.kpi{border-radius:var(--radius);border-top-width:0;border-left:4px solid var(--gold);padding:14px 16px}
.kpi.g{border-left-color:var(--green)}.kpi.d{border-left-color:#475569}.kpi.p{border-left-color:var(--pink)}
.kpi span{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:500}
.kpi b{font-size:22px;letter-spacing:-.02em}

/* ---- dashboard ---- */
.hello{display:flex;align-items:flex-end;justify-content:space-between;margin:4px 0 16px}
.qa{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;margin-bottom:16px}
.qa-i{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);color:var(--text);text-decoration:none;font-weight:600;font-size:13.5px;transition:transform .12s,box-shadow .12s,border-color .12s}
.qa-i .svgi{width:22px;height:22px;padding:7px;box-sizing:content-box;border-radius:10px;background:var(--goldl);color:var(--gold2)}
.qa-i:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(20,27,45,.08);border-color:#E2D3AE}
.qa-i.pri{background:linear-gradient(140deg,#1D2640,#141B2D);color:#fff;border-color:#141B2D}
.qa-i.pri .svgi{background:rgba(226,194,122,.18);color:#E8C97F}
.todo h2 .cnt{background:var(--dark);color:#fff;border-radius:999px;font-size:11.5px;padding:1px 8px}
.todo-i{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid #F0ECE3}
.todo-i:first-of-type{border-top:0}
.todo-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#F1F2F5;color:#475569;flex:none}
.todo-i.r .todo-ic{background:#FDE8E8;color:#C53030}.todo-i.a .todo-ic{background:#FFF2D6;color:#A26100}.todo-i.p .todo-ic{background:#F2E9FA;color:#7B3FB0}.todo-i.g .todo-ic{background:#E3F4EA;color:#17663A}
.todo-t{flex:1;min-width:0;font-size:13.5px}
.todo-ok{display:flex;align-items:center;gap:8px;color:var(--green);font-weight:600;padding:6px 2px}
.kpis2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}
.kpi2{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px;box-shadow:var(--shadow);color:var(--text);text-decoration:none;transition:box-shadow .12s,border-color .12s}
a.kpi2:hover{border-color:#E2D3AE;box-shadow:0 8px 22px rgba(20,27,45,.07)}
.kpi-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}
.kpi-ic .svgi{width:20px;height:20px}
.kpi2.gold .kpi-ic{background:var(--goldl);color:var(--gold2)}.kpi2.green .kpi-ic{background:#E3F4EA;color:#17663A}.kpi2.blue .kpi-ic{background:#E6EEFD;color:#1D4ED8}
.kpi2.slate .kpi-ic{background:#EEF0F4;color:#475569}.kpi2.pink .kpi-ic{background:#FCE7F0;color:#BE185D}
.kpi-l{display:block;font-size:12.5px;color:var(--muted);font-weight:500}
.kpi2 b{display:block;font-size:22px;font-weight:700;letter-spacing:-.02em;margin:2px 0 1px;font-variant-numeric:tabular-nums}
.kpi2 small{color:var(--muted);font-size:12px}

/* login */
.login{background:radial-gradient(1200px 600px at 80% 110%,rgba(184,145,58,.22),transparent 60%),linear-gradient(160deg,#141B2D 0%,#0E1422 70%)}
.login .box{border-radius:20px;padding:30px 28px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.login h1{font:700 20px "Inter",sans-serif;letter-spacing:-.02em}

/* mobile */
.topbar button,.topbar a{display:grid;place-items:center;color:#fff;background:none;border:0;width:38px;height:38px;border-radius:10px;padding:0}
.topbar .svgi{width:22px;height:22px}
.topbar b{flex:1;text-align:center;font:600 19px "Cormorant",Georgia,serif;letter-spacing:.22em}
.bottom-nav a .ic .svgi{width:22px;height:22px}
@media (max-width:760px){
  .deskbar{display:none}
  .topbar{gap:4px;background:linear-gradient(180deg,#141B2D,#101626)}
  .side{width:272px}
  .main{padding:14px 14px 96px}
  .hello h1{font-size:21px}
  .qa{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .qa-i{padding:11px 10px;font-size:12.5px;gap:8px}
  .qa-i .svgi{width:20px;height:20px;padding:6px}
  .kpis2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .kpi2{flex-direction:column;gap:8px;padding:12px}
  .kpi2 b{font-size:18px}
  .kpi-ic{width:32px;height:32px}
  .todo-i{flex-wrap:wrap}
  .todo-i .btn{margin-left:46px}
  .bottom-nav{border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(20,27,45,.06)}
  .bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:500}
  .bottom-nav a .ic{display:grid;place-items:center;height:26px}
  .bottom-nav a.on{color:var(--gold2)}
  .bottom-nav a.plus .ic{width:46px;height:46px;line-height:normal;margin:-20px auto 0;background:linear-gradient(180deg,#C29B45,#AC8530);color:#fff;box-shadow:0 6px 16px rgba(172,133,48,.45)}
}
@media print{.deskbar{display:none}}
.picker .opt.hl{background:var(--goldl)}
.qa{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}
@media (max-width:760px){
  .qa{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .qa-i{align-items:center;text-align:center;padding:10px 4px;font-size:11.5px;line-height:1.25;gap:6px;border-radius:12px}
  .qa-i .svgi{width:19px;height:19px;padding:7px}
  .todo-t{flex:1 1 calc(100% - 50px)}
}
.kpis2{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
.kpi2{flex-direction:column;gap:10px}
.kpi2 b{white-space:nowrap;font-size:21px}
.kpi-ic{width:34px;height:34px;border-radius:10px}
.kpi-ic .svgi{width:18px;height:18px}

/* ===== v2.5 — easier daily work ===== */
.rep-row{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.12);display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}
.rep-row .btn{margin-left:auto}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{display:flex;gap:6px;align-items:center;padding:8px 12px;border:1px solid var(--line,#E5E7EB);border-radius:10px;cursor:pointer;font-size:13.5px;background:#fff}
.seg label:has(input:checked){border-color:var(--gold,#B8893B);background:#FFF8EC}
.report-prev{white-space:pre-wrap;background:#F8FAFC;border:1px solid #E5E7EB;border-radius:10px;padding:12px 14px;font:13px/1.55 ui-monospace,Consolas,monospace;margin-top:10px;max-height:360px;overflow:auto}
.lbl-prev{display:flex;justify-content:center;background:#F3F4F6;border-radius:12px;padding:16px}
.lbl-prev .lbl{width:100%;max-width:380px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08)}
/* parcel label */
.lbl{border:1.5px solid #000;border-radius:6px;padding:10px 12px;color:#000;font:12px/1.35 Arial,Helvetica,sans-serif;display:flex;flex-direction:column;gap:7px;break-inside:avoid;page-break-inside:avoid;box-sizing:border-box}
.lbl small{display:block;font-size:10px;color:#333}
.lbl-top{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #000;padding-bottom:6px}
.lbl-top b{font-size:14px;letter-spacing:.5px}
.lbl-cod{border:2px solid #000;border-radius:4px;padding:3px 8px;text-align:center;font-size:10px;min-width:82px}
.lbl-cod b{font-size:15px}
.lbl-cod.paid b{font-size:16px;line-height:30px}
.lbl-to small{font-weight:700;letter-spacing:1px}
.lbl-to b{font-size:16px;display:block}
.lbl-ph{font-size:15px;font-weight:700}
.lbl-city{font-size:15px;font-weight:700;text-transform:uppercase}
.lbl-items{border-top:1px dashed #000;padding-top:5px;font-size:11px;display:flex;justify-content:space-between;gap:8px}
.lbl-items span{font-weight:700;white-space:nowrap}
.lbl-bot{display:flex;justify-content:space-between;gap:10px;align-items:flex-end}
.lbl-bot>div:first-child{flex:1;min-width:0}
.lbl .bc{width:100%;height:46px;display:block}
.lbl-code{font:700 11px ui-monospace,Consolas,monospace;text-align:center;letter-spacing:1px}
.lbl-meta{text-align:right;font-size:10.5px;display:flex;flex-direction:column}
.lbl-meta b{font-size:12px}
.lbls.a4{display:grid;grid-template-columns:1fr 1fr;gap:6mm}
.lbls.a4 .lbl{height:132mm}
.lbls.a4 .lbl:nth-child(4n){break-after:page;page-break-after:always}
.lbls.x4x6 .lbl,.lbls[class*="4x6"] .lbl{width:4in;height:6in;border:none;border-radius:0;padding:.25in;font-size:14px;break-after:page;page-break-after:always}
.lbls[class*="4x6"] .lbl-to b{font-size:22px}.lbls[class*="4x6"] .lbl-ph,.lbls[class*="4x6"] .lbl-city{font-size:19px}.lbls[class*="4x6"] .bc{height:70px}
.lbls[class*="100x75"] .lbl{width:100mm;height:75mm;border:none;border-radius:0;padding:4mm;font-size:11px;gap:4px;break-after:page;page-break-after:always}
.lbls[class*="100x75"] .lbl-to b{font-size:14px}.lbls[class*="100x75"] .bc{height:34px}
/* Easy mode home */
.big{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:6px}
.big-i{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:22px 20px;border-radius:18px;background:#fff;border:1px solid var(--line,#E5E7EB);text-decoration:none;color:inherit;min-height:130px;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:transform .12s,box-shadow .12s}
.big-i:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.big-i .svgi{width:34px;height:34px}
.big-i b{font-size:20px}
.big-i small{color:#6B7280;font-size:13.5px}
.big-i.pri{background:linear-gradient(135deg,#1F2937,#111827);color:#fff;border-color:#111827;grid-column:span 2}
.big-i.pri small{color:#D1D5DB}
@media(max-width:560px){.big{grid-template-columns:1fr 1fr}.big-i{min-height:110px;padding:16px}.big-i b{font-size:17px}}
.lbl-bot{margin-top:auto}
.lbls.a4 .lbl{font-size:13px;padding:5mm}
.lbls.a4 .lbl-to b{font-size:20px}.lbls.a4 .lbl-ph,.lbls.a4 .lbl-city{font-size:18px}.lbls.a4 .lbl-to div{font-size:14px}
.lbls.a4 .lbl .bc{height:60px}
.f input[type=time]{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line,#E5E7EB);border-radius:10px;font:inherit;background:#fff}
/* ===== v2.6 ===== */
.scan-in{display:flex;gap:8px}
.scan-in input{font-size:18px;min-height:52px}
.scan-box video{width:100%;max-width:520px;border-radius:12px;margin-top:10px;background:#000}
.scan-card .scan-h{display:flex;justify-content:space-between;gap:12px}
.scan-card .scan-h b{font-size:17px}
.scan-items{margin:10px 0;padding:8px 10px;background:#F8FAFC;border-radius:8px;font-size:13.5px}
.scan-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.scan-btns .btn{min-height:54px;font-size:15px;font-weight:600}
.scan-btns2{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.scan-btns2 input{flex:1;min-width:140px}
@media(max-width:560px){.scan-btns .btn{font-size:13px;min-height:58px;padding:6px}}
#dpage .sumrow{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #F1F5F9}
#dpage .sumrow.big{font-size:17px;border:none;padding-top:10px}
/* ===== v2.7 help drawer ===== */
.deskbar .hp-btn{margin-left:auto}
.deskbar .hp-btn+.btn{margin-left:8px}
#help-dr{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:#fff;z-index:1200;box-shadow:-12px 0 40px rgba(15,23,42,.18);transform:translateX(105%);transition:transform .22s ease;display:flex;flex-direction:column;font-size:14px}
#help-dr.open{transform:none}
.hd-h{display:flex;gap:10px;align-items:flex-start;padding:16px 16px 12px;border-bottom:1px solid #EEF0F3;background:#FBF8F2}
.hd-h>div:first-child{flex:1;min-width:0}
.hd-h small{display:block;color:#9A7B3C;font-weight:600;letter-spacing:.3px;text-transform:uppercase;font-size:11px}
.hd-h b{font-size:17px}
.hd-lang{display:flex;border:1px solid #E5E7EB;border-radius:9px;overflow:hidden;flex:none}
.hd-lang button{border:0;background:#fff;padding:6px 9px;font:600 12px Inter,system-ui;cursor:pointer;color:#475569}
.hd-lang button.on{background:#1F2937;color:#fff}
.hd-x{border:0;background:none;font-size:18px;cursor:pointer;color:#64748B;padding:2px 4px}
.hd-b{overflow:auto;padding:14px 16px 30px;flex:1}
.hd-about{margin:0 0 12px;line-height:1.55;color:#1F2937;background:#F8FAFC;border-left:3px solid #B8893B;padding:10px 12px;border-radius:6px}
.hd-q{width:100%;margin-bottom:10px}
.hd-s{margin:14px 0}
.hd-s h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:#64748B;display:flex;gap:6px;align-items:center}
.hd-s.hit h4{color:#9A7B3C}
.hd-pop{font-size:10px;background:#EEF2FF;color:#4338CA;border-radius:5px;padding:1px 6px;text-transform:none;letter-spacing:0}
.hd-f{padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid transparent}
.hd-f:hover{background:#FBF8F2;border-color:#F0E4C8}
.hd-f b{display:block;font-size:13.5px}
.hd-f p{margin:2px 0 0;color:#475569;line-height:1.5;font-size:13px}
.hd-f.nf{opacity:.85}
.hd-tips{background:#F0FDF4;border-radius:10px;padding:8px 12px;margin-top:14px}
.hd-tips h4{margin:4px 0}
.hd-tips p{margin:4px 0;font-size:13px}
.hd-foot{color:#94A3B8;font-size:12px;margin-top:18px}
@keyframes hflash{0%,100%{box-shadow:0 0 0 0 rgba(184,137,59,0)}25%,75%{box-shadow:0 0 0 4px rgba(184,137,59,.55)}}
.hflash{animation:hflash 1.2s ease 2;border-radius:8px;background:#FFF8EC}
@media(min-width:1100px){body.help-open .mainwrap{margin-right:420px}}
@media print{#help-dr{display:none!important}}
@media(min-width:1100px){body.help-open .modal-bg{right:420px}}
/* ===== v2.8 ===== */
.steps{margin:6px 0 10px;padding-left:20px;line-height:1.6}
.steps li{margin:3px 0}
.rec-code{font:700 26px ui-monospace,Consolas,monospace;letter-spacing:3px;text-align:center;padding:16px;background:#FBF8F2;border:2px dashed #B8893B;border-radius:12px;margin:12px 0}
.inst-hint{display:flex;gap:8px;align-items:center}
.inst-hint span{flex:1}
.grid>*,.sale>*{min-width:0}
/* ===== v2.9 security ===== */
.sec-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:6px 0 14px}
.sec-ck{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:#FFF7ED;border:1px solid #FED7AA}
.sec-ck>span{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:#F59E0B;color:#fff;font-size:13px}
.sec-ck.ok{background:#F0FDF4;border-color:#BBF7D0}.sec-ck.ok>span{background:#16A34A}
.sec-ck b{display:block;font-size:13.5px}.sec-ck small{display:block;color:#6B7280;font-size:12px;margin-top:2px}
.sec-ol{border:1px dashed #D6C7A6;border-radius:12px;padding:12px 14px;background:#FFFCF5}
.sec-ol.on{border-style:solid;border-color:#BBF7D0;background:#F7FEF9}
.sec-ol h3{margin:0 0 6px}
h2 .cnt.ok{background:#16A34A}
.qr-box{display:flex;justify-content:center;margin:6px 0}
.qr-box svg{width:210px;height:210px;background:#fff;border-radius:10px;border:1px solid #E5E7EB}
.qr-key{font:600 13px ui-monospace,Consolas,monospace;background:#F3F4F6;padding:2px 6px;border-radius:5px;word-break:break-all}
.lock-hint{background:#FFFBEB;border-color:#FDE68A}
/* ===== v3.0 order flow ===== */
.fl-q{margin-bottom:14px}
.fl-q h4{margin:0 0 8px;font-size:14px}
.fl-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fl-c{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:14px;border:2px solid var(--line,#E5E7EB);border-radius:14px;background:#fff;cursor:pointer;font:inherit;min-height:96px}
.fl-c:hover{border-color:#D6C7A6}
.fl-c.on{border-color:#B8893B;background:#FFF8EC;box-shadow:0 0 0 3px rgba(184,137,59,.15)}
.fl-ic{font-size:24px}.fl-c b{font-size:15px}.fl-c small{color:#6B7280;font-size:12.5px}
.fl-pay{display:flex;flex-wrap:wrap;gap:6px}
.fl-pay .chip{padding:7px 13px;font-weight:600}
.fl-pay .chip.on{background:#1F2937;color:#fff;border-color:#1F2937}
.fl-sum{background:#F0FDF4;border:1px solid #BBF7D0;border-radius:12px;padding:10px 14px;font-size:13.5px;line-height:1.7}
.fl-sum h4{margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:#15803D}
@media(max-width:560px){.fl-row{grid-template-columns:1fr}}
.ns-top{background:#F8FAFC;border-radius:10px;padding:10px 12px;margin-bottom:12px}
.ns-btn{padding:3px 9px;min-height:0}
tr.sec-new td{background:#FFF7ED}
.must2{margin-bottom:10px}
/* ===== v3.2 price-only sheet ===== */
.ps-opts{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.ps-t{width:100%;border-collapse:collapse}
.ps-t th,.ps-t td{padding:8px 10px;border-bottom:1px solid #EEF0F3}
.ps-t tr.ps-cat td{background:#FBF8F2;font-weight:700;color:#8A6A2E;text-transform:uppercase;font-size:12px;letter-spacing:.5px}
.ps-so{color:#B91C1C;font-weight:600}
.ps-h{margin:18px 0 6px}
.ps-print{font:13px/1.45 Arial,Helvetica,sans-serif;color:#111}
.ps-print .ps-ph{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #111;padding-bottom:8px;margin-bottom:10px}
.ps-print h1{margin:0;font-size:24px;letter-spacing:1px}
.ps-print .ps-contact{font-size:11px;text-align:right;max-width:50%}
.ps-print .ps-t th{background:#F3F4F6;font-size:12px;text-align:left}
.ps-print .ps-t th.n,.ps-print .ps-t td.n{text-align:right}
.ps-print .ps-t td,.ps-print .ps-t th{padding:5px 8px;border-bottom:1px solid #DDD}
.ps-print .ps-note{font-size:10px;color:#555;margin-top:10px}
.ps-print tr{break-inside:avoid}
/* ===== v3.2 rate list ===== */
table.rl td small{display:block;color:#6B7280;font-size:11.5px;font-weight:400}
table.rl td.n b{font-size:15px}
.rl-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}
.rl-dot.ok{background:#16A34A}.rl-dot.low{background:#F59E0B}.rl-dot.out{background:#DC2626}
.rl-save{color:#16A34A!important}
.rl-off{margin:0;padding-left:20px;line-height:1.8}
.rl-print{font:13px/1.45 Arial,Helvetica,sans-serif;color:#111}
.rl-print .rl-ph{display:flex;gap:14px;align-items:center;border-bottom:2px solid #B8893B;padding-bottom:10px;margin-bottom:12px}
.rl-print .rl-ph img{width:56px;height:auto}
.rl-print .rl-ph h1{margin:0;font-size:22px;letter-spacing:1px}
.rl-print .rl-ph p{margin:2px 0 0;color:#555;font-size:12px}
.rl-print .rl-pd{margin-left:auto;text-align:right;font-size:12px;color:#555}
.rl-print table.rl{width:100%;border-collapse:collapse}
.rl-print table.rl th{background:#F5EFE3;text-align:left;padding:6px 8px;font-size:12px}
.rl-print table.rl td{border-bottom:1px solid #E5E7EB;padding:5px 8px}
.rl-print table.rl .n{text-align:right;white-space:nowrap}
.rl-print h2{font-size:15px;margin:16px 0 6px}
