:root{
  --bg:#F6EFE3; --card:#FFFDF9; --ink:#2B2219; --muted:#8A7B66; --line:#EADDC8;
  --brand:#211A13; --brand-2:#4A3826; --gold:#CFA855; --gold-soft:#FBF1DC;
  --accent:#B07D2B; --accent-2:#8F6220; --head:#6B4A1E;
  --ok:#1f7a4d; --ok-soft:#e7f4ec; --warn:#9a6a1c; --warn-soft:#fdf2df;
  --bad:#a4453a; --bad-soft:#fbeae7; --info:#2461a8; --info-soft:#e8f0fa;
  --radius:12px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:Vazirmatn,"IRANSans",Tahoma,sans-serif;font-size:14.5px;line-height:1.7;
  padding-bottom:env(safe-area-inset-bottom)}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:780px;margin:0 auto;padding:14px 14px 80px}

.top{position:sticky;top:0;z-index:20;background:var(--brand);color:#fff;display:flex;justify-content:space-between;align-items:center;
  padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top))}
.brand{display:flex;gap:8px;align-items:center;font-weight:700;font-size:16px}
@font-face{font-family:Cinzel;src:url(/fonts/cinzel-500.woff2) format("woff2");font-weight:500;font-display:swap}
.logo{width:34px;height:34px;display:block}
.wordmark{font-weight:700;color:var(--gold);font-size:17px}
.who{font-size:12px;font-weight:400;opacity:.75}
.top-actions{display:flex;gap:6px;align-items:center}
.icon-btn{background:transparent;border:0;color:inherit;font-size:18px;padding:6px 8px;border-radius:8px;cursor:pointer;position:relative}
.icon-btn:hover{background:rgba(255,255,255,.12)}
.badge{position:absolute;top:0;left:0;background:var(--gold);color:#1d2a27;font-size:10.5px;font-weight:700;border-radius:999px;padding:0 5px;min-width:17px;text-align:center;line-height:17px}
.agent-dot{font-size:11.5px;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.14)}
.agent-dot.on::before{content:"● ";color:#7fe0a8}
.agent-dot.off::before{content:"● ";color:#ff9a8a}

.tabs{position:sticky;top:52px;z-index:15;background:var(--card);border-bottom:1px solid var(--line);display:flex;overflow-x:auto;
  padding:0 8px;scrollbar-width:none}
.tabs button{background:none;border:0;padding:12px 14px;cursor:pointer;color:var(--muted);border-bottom:2.5px solid transparent;white-space:nowrap}
.tabs button.active{color:var(--brand);border-color:var(--brand);font-weight:700}
.tabs .count{background:var(--gold-soft);color:var(--warn);border-radius:999px;padding:0 7px;font-size:11.5px;margin-inline-start:4px}

h2{font-size:15.5px;margin:6px 0 12px;color:var(--brand)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}
.card.soft{background:#fbfaf6}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.row>.field{flex:1;min-width:150px}
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.field label{font-size:12.5px;color:var(--muted)}
input[type=text],input[type=password],input[type=tel],input[type=date],select,textarea{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fdfcf9;min-height:44px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-2);outline-offset:1px}
.ltr{direction:ltr;text-align:right;font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.3px}
.hint{font-size:12px;color:var(--muted)}
.check{font-size:12px;min-height:18px}
.check.ok{color:var(--ok)} .check.bad{color:var(--bad)}
.radio{display:flex;gap:16px;padding:6px 0}
.radio label{display:flex;gap:6px;align-items:center;color:var(--ink);font-size:14px}

.btn{border:0;border-radius:10px;padding:10px 16px;cursor:pointer;min-height:44px;background:var(--brand);color:#fff;font-weight:600}
.btn:hover{background:var(--brand-2)}
.btn:disabled{opacity:.55;cursor:default}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);font-weight:500}
.btn.ghost:hover{border-color:var(--brand-2);color:var(--brand)}
.btn.ok{background:var(--ok)} .btn.bad{background:transparent;border:1px solid var(--bad);color:var(--bad)}
.btn.sm{min-height:34px;padding:5px 11px;font-size:13px}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

.acc-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}
.acc-name{font-weight:700;font-size:15px}
.acc-bank{color:var(--muted);font-size:12.5px}
.idline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}
.idline .ltr{background:var(--bg);border-radius:8px;padding:4px 10px;font-size:13.5px}
.copy{border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px 10px;font-size:12px;cursor:pointer}
.amount{font-size:17px;font-weight:700;color:var(--brand)}
.kv{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;margin:6px 0}
.kv span b{font-weight:700}
.meta{font-size:12px;color:var(--muted)}

.chip{display:inline-block;font-size:11.5px;border-radius:999px;padding:1px 9px;font-weight:600;white-space:nowrap}
.chip.pending{background:var(--warn-soft);color:var(--warn)}
.chip.confirmed{background:var(--ok-soft);color:var(--ok)}
.chip.rejected{background:var(--bad-soft);color:var(--bad)}
.chip.info{background:var(--info-soft);color:var(--info)}
.chip.muted{background:var(--bg);color:var(--muted)}

.rec{border-top:1px dashed var(--line);padding-top:10px;margin-top:10px}
.rec-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.thumbs img{width:78px;height:78px;object-fit:cover;border-radius:8px;border:1px solid var(--line);cursor:zoom-in;background:var(--bg)}
.sanad{font-size:12px;margin-top:4px}
.sanad.err{color:var(--bad)}

.balance.short{color:var(--warn)} .balance.done{color:var(--ok)} .balance.over{color:var(--info)}
.progress{height:6px;background:var(--bg);border-radius:999px;overflow:hidden;margin:8px 0}
.progress>i{display:block;height:100%;background:var(--ok);border-radius:999px}

details.upload{margin-top:10px}
details.upload summary{cursor:pointer;color:var(--brand);font-weight:600;list-style:none;padding:8px 0}
details.upload summary::before{content:"＋ "}
.file-pick{display:block;border:1.5px dashed var(--gold);background:var(--gold-soft);border-radius:10px;padding:14px;text-align:center;cursor:pointer;color:var(--warn)}
.previews{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.previews img{width:62px;height:62px;object-fit:cover;border-radius:8px}

.empty{text-align:center;color:var(--muted);padding:34px 10px}
.status-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12.5px;flex:1;min-width:120px}
.stat b{display:block;font-size:18px;color:var(--brand)}
.stat.alert b{color:var(--bad)}
.group-title{display:flex;justify-content:space-between;align-items:center;margin:16px 2px 8px;color:var(--muted);font-size:13px}

.cust{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.cust .nm{font-weight:700}
.lookup-results{margin-top:8px}
.lookup-results button{display:block;width:100%;text-align:right;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:6px;cursor:pointer}
.lookup-results button:hover{border-color:var(--brand-2)}

.drawer{position:fixed;inset:0;background:rgba(20,30,27,.35);z-index:40;display:flex;justify-content:flex-start}
.drawer-panel{background:var(--card);width:min(380px,92vw);height:100%;overflow:auto;padding:14px 16px}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.drawer-head .icon-btn{color:var(--ink)}
.notif{padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.notif.unread{font-weight:600}
.notif .meta{font-weight:400}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:50;display:flex;align-items:center;justify-content:center}
.lightbox img{max-width:96vw;max-height:92vh;border-radius:6px}
.lightbox .icon-btn{position:absolute;top:14px;left:14px;color:#fff;font-size:22px}

.toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;
  padding:10px 18px;border-radius:10px;z-index:60;max-width:90vw;font-size:13.5px;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.toast.err{background:var(--bad)}
[hidden]{display:none!important}
@media (max-width:520px){ .wrap{padding:10px 10px 80px} .card{padding:12px} }
.pick-row{display:flex;gap:8px;flex-wrap:wrap}
.pick-row .file-pick{flex:1;min-width:140px;font:inherit}
.paste-btn{cursor:pointer}
.previews .pv{position:relative;display:inline-block}
.previews .pv button{position:absolute;top:-6px;left:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--bad);color:#fff;cursor:pointer;line-height:20px;padding:0}
.shared-banner{background:var(--gold-soft);border-color:#e8d7ad}
.table-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px;min-width:560px}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:7px 6px;text-align:right;vertical-align:top}
.tbl th{color:var(--muted);font-weight:600;font-size:11.5px;background:#fbfaf6}
a.btn{text-decoration:none;display:inline-flex;align-items:center}
.print-title{display:none}
@media print{
  body{background:#fff}
  .top,.tabs,.no-print,.demo-bar,#drawer,#toast{display:none!important}
  .print-title{display:block;text-align:center;font-size:18px}
  .card{break-inside:avoid;border-color:#ccc}
  .wrap{max-width:none;padding:0}
  .tbl{min-width:0;font-size:11px}
  .stat{border-color:#ccc}
}
.kv.who{font-size:14px;align-items:center;gap:6px}
.stat.over.on b{color:var(--info)}
.tbl td.short{color:var(--warn)} .tbl td.overc{color:var(--info);font-weight:600}
.kv.req{background:var(--bg);border-radius:8px;padding:6px 10px;font-size:12.5px}

/* ---------- warm theme ---------- */
@font-face{font-family:Vazirmatn;src:url(/fonts/vazir-ar-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Vazirmatn;src:url(/fonts/vazir-ar-500.woff2) format("woff2");font-weight:500 600;font-display:swap;unicode-range:U+0600-06FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Vazirmatn;src:url(/fonts/vazir-ar-700.woff2) format("woff2");font-weight:700 800;font-display:swap;unicode-range:U+0600-06FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Vazirmatn;src:url(/fonts/vazir-lat-400.woff2) format("woff2");font-weight:400 500;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:Vazirmatn;src:url(/fonts/vazir-lat-700.woff2) format("woff2");font-weight:600 800;font-display:swap;unicode-range:U+0000-00FF}
body{background:var(--bg) radial-gradient(circle at 100% 0,#FBF4E6 0,transparent 55%) fixed}
.top{background:linear-gradient(180deg,#2A2017,#1C160F);box-shadow:0 1px 0 rgba(207,168,85,.45),0 6px 18px rgba(33,26,19,.18)}
.tabs{background:#FFFBF3;border-bottom:1px solid var(--line);top:56px}
.tabs button{color:var(--muted);font-weight:500}
.tabs button.active{color:var(--head);border-color:var(--gold);font-weight:700}
.tabs .count{background:var(--gold);color:#fff}
h2{color:var(--head);font-weight:700;display:flex;align-items:center;gap:8px}
h2::before{content:"";width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex:none}
.card{background:var(--card);border-color:var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(80,55,20,.05),0 4px 14px rgba(80,55,20,.05)}
.card.soft{background:#FCF7EE}
input[type=text],input[type=password],input[type=tel],input[type=date],select,textarea{background:#FFFDF8;border-color:var(--line);border-radius:12px}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(207,168,85,.55);border-color:var(--gold)}
.btn{background:linear-gradient(180deg,#C2913A,#A87526);color:#fff;border-radius:12px;font-weight:700;box-shadow:0 2px 6px rgba(168,117,38,.28);transition:transform .08s,filter .15s}
.btn:hover{background:linear-gradient(180deg,#C99A44,#9D6C21);filter:brightness(1.03)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:#FFFDF8;border:1px solid var(--line);color:var(--ink);box-shadow:none}
.btn.ghost:hover{border-color:var(--gold);color:var(--accent-2);background:#FFF9EE}
.btn.ok{background:linear-gradient(180deg,#2E8A5B,#226B46);box-shadow:0 2px 6px rgba(34,107,70,.25)}
.btn.bad{background:#FFFDF8;box-shadow:none}
.amount{color:var(--accent-2)}
.stat{background:var(--card);border-color:var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(80,55,20,.05)}
.stat b{color:var(--head);font-size:20px}
.idline .ltr{background:#F7EEDD}
.copy{background:#FFFDF8;border-color:var(--line)}
.copy:hover{border-color:var(--gold)}
.chip{font-weight:600}
.chip.muted{background:#F3EADB}
.file-pick{border-color:var(--gold);background:#FCF3E1;color:var(--accent-2);border-radius:14px}
details.upload summary{color:var(--accent-2)}
.progress{background:#EFE4D0}
.thumbs img{border-radius:10px}
.tbl th{background:#FAF3E6;color:var(--head)}
.drawer{background:rgba(33,26,19,.4)}
.kv.req{background:#F7EEDD}
.toast{background:#2B2219}
@media print{.card{box-shadow:none}}

/* ---------- quick trades ---------- */
.tr-quick textarea{font-size:15px;line-height:1.9}
.seg{display:flex;gap:6px;margin:6px 0 10px}
.seg button{flex:1;min-height:44px;border:1px solid var(--line);background:#FFFDF8;border-radius:12px;font-weight:600;color:var(--muted);cursor:pointer}
.seg button.on{background:var(--brand);color:var(--gold);border-color:var(--brand)}
.seg button.on.buy{background:#226B46;color:#fff;border-color:#226B46}
.seg button.on.sell{background:#A4453A;color:#fff;border-color:#A4453A}
.seg.kinds button{min-height:38px;font-size:13px}
.tr-raw{font-size:13px;color:var(--muted);background:#F7EEDD;border-radius:10px;padding:6px 10px;margin-bottom:6px}
.tr-total{font-size:14px;margin-top:4px}.tr-total b{color:var(--accent-2);font-size:16px}
.cands{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.cands button{border:1px solid var(--line);background:#FFFDF8;border-radius:999px;padding:4px 12px;cursor:pointer;font-size:13px}
.cands button small{color:var(--muted)}
.tr-prompt{white-space:pre-wrap;font-family:inherit;background:var(--bg);border-radius:10px;padding:10px;font-size:12.5px}
.card.trade.cancelled{opacity:.6}
.tr-bar{display:flex;gap:8px}.tr-bar input{flex:1;font-size:16px}.tr-bar .btn{min-width:72px}
.pick-list{max-height:340px;overflow:auto;margin-top:8px;border:1px solid var(--line);border-radius:12px;padding:4px 10px;background:#FFFDF8}
.pick-it{display:flex;gap:8px;align-items:center;padding:7px 0;border-bottom:1px dashed var(--line);cursor:pointer;font-size:14px}
.pick-it:last-child{border-bottom:0}.pick-it small{color:var(--muted);font-size:12px}.pick-it.has{opacity:.6}.pick-it .chip{margin-inline-start:auto}
.cust-list{display:flex;flex-direction:column;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:12px;margin-top:6px;background:#FFFDF8}
.cust-list:empty{display:none}
.cust-list button{display:flex;justify-content:space-between;text-align:right;border:0;border-bottom:1px dashed var(--line);background:none;padding:10px 12px;font-size:14px;cursor:pointer}
.cust-list button:hover,.cust-list button:focus{background:#FBF1DC}.cust-list button small{color:var(--muted)}
.cust-sel{display:flex;gap:8px;align-items:center;background:#F7EEDD;border-radius:12px;padding:8px 12px}.cust-sel .btn{margin-inline-start:auto}
.dlv{background:#F7EEDD;border-radius:14px;padding:10px 12px;margin:-2px 0 10px}.dlv-h{font-weight:700;color:var(--head);margin-bottom:6px}
.piece{background:#FFFDF8;border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin-bottom:8px}

/* ---- بازار (customer trading) ---- */
.mk-board{padding:16px}
.mk-title{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
.mk-prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.mk-p{border:2px solid transparent;border-radius:16px;padding:12px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font:inherit}
.mk-p span{font-size:13px;opacity:.85}
.mk-p b{font-size:21px;direction:ltr;letter-spacing:.3px}
.mk-p.buy{background:#E6F3EC;color:#185C3A}
.mk-p.sell{background:#FBE9E6;color:#8E3A30}
.mk-p.buy.on{background:#226B46;color:#fff;border-color:#174d32}
.mk-p.sell.on{background:#A4453A;color:#fff;border-color:#7e3229}
.mk-p:disabled{opacity:.5;cursor:default}
.mk-p b.flash{animation:mkflash .9s}
@keyframes mkflash{0%{background:rgba(207,168,85,.55)}100%{background:transparent}}
.mk-qty{font-size:20px;text-align:center;min-height:52px}
.mk-sum{text-align:center;margin:8px 0;min-height:24px;color:var(--muted)}
.mk-sum b{color:var(--ink)}
.btn.mk-go{width:100%;min-height:54px;font-size:18px;border:0;color:#fff}
.btn.mk-go.buy{background:#226B46}
.btn.mk-go.sell{background:#A4453A}
.mk-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;padding:10px 14px}
.mk-pos{border-radius:12px;padding:12px;background:var(--ok-soft)}
.mk-pos.alert{background:var(--bad-soft);border:1px solid var(--bad);animation:mkpulse 1.6s infinite}
.mk-alarm{font-size:17px;color:var(--bad)}
@keyframes mkpulse{50%{box-shadow:0 0 0 4px rgba(164,69,58,.15)}}
.mk-cust{padding:10px 14px}
.mk-cust-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.mk-f .field{min-width:110px}
.mk-grp{align-items:center}
.mk-grp .field{margin:0}
label.sw{display:inline-flex;gap:6px;align-items:center;cursor:pointer}
label.sw.big{font-weight:700}
label.sw input{width:20px;height:20px;accent-color:#226B46}
.warn-card{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}
/* Ariana-style board */
.mk-sec{text-align:center;margin:14px 0 6px}
.mk-sec span{background:var(--accent);color:#fff;border-radius:10px;padding:3px 18px;font-weight:700;font-size:14px}
.mk-head,.mk-line{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:8px;align-items:center}
.mk-head{font-size:12.5px;color:var(--muted);padding:2px 2px 4px}
.mk-head span:not(:first-child){text-align:center}
.mk-line{padding:6px 0;border-bottom:1px solid var(--line)}
.mk-line:last-child{border-bottom:0}
.mk-name{font-weight:600;font-size:14px}
.mk-b{border:0;border-radius:12px;padding:8px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;font:inherit;min-height:52px;justify-content:center}
.mk-b b{font-size:17px;direction:ltr}
.mk-b small{font-size:11.5px;opacity:.85}
.mk-b.buy{background:#DDF1E4;color:#17603A}
.mk-b.sell{background:#F8E1DD;color:#93372D}
.mk-b:disabled{opacity:.55;cursor:default}
.mk-b:disabled b{font-size:13px}
.mk-b.flash{animation:mkflash .9s}
.mk-sheet{position:fixed;inset:0;background:rgba(20,14,8,.45);z-index:60;display:flex;align-items:flex-end;justify-content:center}
.mk-sheet[hidden]{display:none}
.mk-sheet-in{background:var(--card);width:100%;max-width:520px;border-radius:20px 20px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-top:5px solid #226B46}
.mk-sheet-in.sell{border-top-color:#A4453A}
.mk-sh-h{display:flex;justify-content:space-between;align-items:center;font-size:17px}
.mk-sh-p{margin:6px 0 10px;color:var(--muted)}
.mk-sh-p b{color:var(--ink);font-size:18px}
.mk-pt{width:100%;border-collapse:collapse;margin:8px 0}
.mk-pt th{font-size:12.5px;color:var(--muted);font-weight:500;text-align:right;padding:4px}
.mk-pt td{padding:4px;border-top:1px solid var(--line);vertical-align:middle}
.mk-pt input{width:100%;min-height:40px}
.mk-item{background:#FFFBF2}
.mk-item .field{min-width:100px}
.mk-pnl{margin:6px 0 2px;font-size:14px}
.mk-pnl.up b{color:var(--ok)}
.mk-pnl.down b{color:var(--bad)}
.mk-name small{display:block;font-weight:400;font-size:11.5px}
.mk-settle{background:var(--gold-soft);border:1px solid var(--gold);border-radius:12px;padding:8px 12px;margin-bottom:10px;font-size:14px;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}
.mk-settle .meta{flex-basis:100%}
.mk-notice{background:#FFF7D6;border-color:#E9C46A}
.inbox{border-color:var(--gold);background:#FFFBEF}
.inbox-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.inbox-row:first-of-type{border-top:0}
.lock-note{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:6px 10px;margin-top:6px;font-size:13px}

/* =================== v2: clean, Ariana-style layout =================== */
:root{--bg:#F4F1EC;--card:#FFFFFF;--line:#ECE6DC;--radius:16px}
body{background:var(--bg)}
body.has-bottom-nav .wrap{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.top{background:#17120D;border-bottom:0;box-shadow:0 1px 0 rgba(207,168,85,.35)}
.card{background:var(--card);border:0;border-radius:var(--radius);box-shadow:0 1px 2px rgba(40,28,10,.06),0 4px 14px rgba(40,28,10,.04)}
h2{font-size:15.5px}
/* bottom navigation */
.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;justify-content:space-around;background:#fff;
  border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px rgba(40,28,10,.06)}
.bottom-nav button{flex:1;max-width:120px;background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;
  color:#9A8D7A;font:inherit;font-size:11.5px;padding:6px 0;border-radius:12px;cursor:pointer;position:relative}
.bottom-nav button svg{width:24px;height:24px}
.bottom-nav button.active{color:#8F6220;font-weight:700;background:#FBF3E2}
.bottom-nav .count{position:absolute;top:2px;inset-inline-start:calc(50% + 6px);background:#C0392B;color:#fff;border-radius:999px;font-size:10.5px;min-width:17px;line-height:17px;padding:0 4px}
/* segmented page switch (only when a section has several pages) */
.segbar{position:sticky;top:52px;z-index:15;background:var(--bg);display:flex;gap:6px;padding:10px 14px 4px;overflow-x:auto;max-width:780px;margin:0 auto;align-items:center}
.segbar button[data-p]{flex:none;border:0;background:#fff;color:#7A6C58;border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer;box-shadow:0 1px 2px rgba(40,28,10,.06)}
.segbar button[data-p].on{background:#17120D;color:#E9CF8E;font-weight:700}
.segbar .count{background:#C0392B;color:#fff;border-radius:999px;font-size:10.5px;padding:0 6px;margin-inline-start:4px}
.seg-title{font-size:16px;color:#3A2C1C}
.help-btn{margin-inline-start:auto;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;color:#8F6220;font-weight:800;cursor:pointer}
body.show-hints .help-btn{background:#8F6220;color:#fff}
/* long explanations stay out of the way until «؟» is tapped */
.hint{display:none}
body.show-hints .hint{display:block}
/* dashboard */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
@media (max-width:420px){.tiles{grid-template-columns:repeat(2,1fr)}}
.tile{background:#fff;border:0;border-radius:16px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#9A8D7A;font:inherit;cursor:pointer;box-shadow:0 1px 2px rgba(40,28,10,.06)}
.tile b{font-size:24px;color:#3A2C1C;line-height:1.2}
.tile span{font-size:12.5px;text-align:center}
.tile.hot{background:#FFF6E0;color:#8F6220}
.tile.hot b{color:#B0731A}
.dash-alert{background:#FBE9E6;color:#93372D;border-radius:14px;padding:12px 14px;margin-bottom:10px;cursor:pointer;font-size:15px}
.dash-mk{cursor:pointer}
.dash-row{display:flex;justify-content:space-between;align-items:center;font-weight:700}
.dash-settle{font-size:13px;color:#6E5F4B;margin-top:6px}
.dash-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dash-quick .btn{min-height:52px;font-size:15px}
/* customer price board: bigger, cleaner rows */
.mk-board{padding:14px}
.mk-head{font-size:12px;color:#9A8D7A}
.mk-line{grid-template-columns:1fr 1fr 1fr;padding:8px 0;border-bottom:1px solid #F1ECE3}
.mk-b{border-radius:14px;min-height:58px}
.mk-b b{font-size:18px}
.mk-sec span{background:#17120D;color:#E9CF8E}
.status-bar{display:none}
/* market sub-pages */
#view[data-mk] [data-part]{display:none}
#view[data-mk="prices"] [data-part="prices"],#view[data-mk="hedge"] [data-part="hedge"],#view[data-mk="items"] [data-part="items"],
#view[data-mk="cust"] [data-part="cust"],#view[data-mk="settings"] [data-part="settings"]{display:block}
#view[data-mk="cust"] .group-title[data-part="cust"]{display:flex}
#view[data-mk="prices"] .mk-settle[data-part]{display:flex}
.mk-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mk-pair .field{margin:0}
.mk-pair label{font-size:12.5px;color:#7A6C58}
.mk-pair .mk-qty{font-size:18px;min-height:50px}
/* price chart */
.chart-sheet{position:fixed;inset:0;z-index:70;background:rgba(20,14,8,.5);display:flex;align-items:flex-end;justify-content:center}
.chart-sheet[hidden]{display:none}
.chart-in{background:#fff;width:100%;max-width:900px;height:94vh;border-radius:20px 20px 0 0;padding:14px;display:flex;flex-direction:column;gap:8px}
.ch-tfs{display:flex;gap:6px;overflow-x:auto}
.ch-tfs button{flex:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;color:#7A6C58;cursor:pointer}
.ch-tfs button.on{background:#17120D;color:#E9CF8E;border-color:#17120D}
.ch-legend{font-size:12.5px;color:#6E5F4B;min-height:20px}
.ch-area{flex:1;min-height:240px;direction:ltr}
.ch-at{border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:6px}
.ch-atres{font-size:14px}
.mk-name{cursor:pointer}
.ch-ico{font-size:12px;margin-inline-end:3px;opacity:.7}
.ch-at input{width:100%;box-sizing:border-box}
.welcome{max-width:420px;margin:60px auto;text-align:center;background:#fff;border-radius:20px;padding:30px 22px;box-shadow:0 4px 14px rgba(40,28,10,.06)}
.welcome img{width:84px;height:84px}
.welcome h1{color:#8F6220;font-size:22px;margin:10px 0 14px}
.welcome .ok-msg{color:var(--ok);font-weight:700}
.welcome .admin-link{display:inline-block;margin-top:22px;font-size:12px;color:#B5A890;text-decoration:none}
.login-form{text-align:right;margin:10px 0 6px}

/* =================== dark theme (🌙) =================== */
html[data-theme="dark"]{color-scheme:dark;
  --bg:#0F0D0A;--card:#1A1612;--ink:#EDE3D2;--muted:#A89A84;--line:#2E2720;--gold-soft:#2A2116;
  --ok-soft:#14261C;--warn-soft:#2A2114;--bad-soft:#2C1714;--info-soft:#14202E;--head:#E2C27A;--brand:#E2C27A;--brand-2:#CFA855}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .top{background:#0A0806}
html[data-theme="dark"] .card,html[data-theme="dark"] .tile,html[data-theme="dark"] .welcome,html[data-theme="dark"] .segbar button[data-p],
html[data-theme="dark"] .help-btn,html[data-theme="dark"] .ch-tfs button,html[data-theme="dark"] .seg button{background:var(--card);color:var(--ink);border-color:var(--line);box-shadow:none}
html[data-theme="dark"] .segbar{background:var(--bg)}
html[data-theme="dark"] .segbar button[data-p].on,html[data-theme="dark"] .ch-tfs button.on,html[data-theme="dark"] .seg button.on{background:#E2C27A;color:#17120D}
html[data-theme="dark"] .bottom-nav{background:#14110D;border-color:var(--line);box-shadow:none}
html[data-theme="dark"] .bottom-nav button{color:#8D806B}
html[data-theme="dark"] .bottom-nav button.active{color:#E2C27A;background:#241D14}
html[data-theme="dark"] input[type=text],html[data-theme="dark"] input[type=password],html[data-theme="dark"] input[type=tel],html[data-theme="dark"] input[type=date],
html[data-theme="dark"] input:not([type]),html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] input[type=file]{background:#120F0C;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .tile b,html[data-theme="dark"] .seg-title{color:var(--ink)}
html[data-theme="dark"] .tile.hot{background:#2A2116;color:#E2C27A}
html[data-theme="dark"] .mk-b.buy{background:#132A1E;color:#7FE0A8}
html[data-theme="dark"] .mk-b.sell{background:#2E1714;color:#FF9C8F}
html[data-theme="dark"] .mk-line{border-color:var(--line)}
html[data-theme="dark"] .mk-settle{background:#1E1810;border-color:#5A4720;color:var(--ink)}
html[data-theme="dark"] .mk-notice{background:#231C10;border-color:#5A4720}
html[data-theme="dark"] .mk-sheet-in,html[data-theme="dark"] .chart-in,html[data-theme="dark"] .drawer-panel{background:var(--card);color:var(--ink)}
html[data-theme="dark"] .mk-item,html[data-theme="dark"] .inbox{background:#1E1912}
html[data-theme="dark"] .mk-pos.ok{background:#14261C}
html[data-theme="dark"] .dash-alert{background:#2E1714;color:#FFB3A8}
html[data-theme="dark"] .lock-note{background:#2A2114;color:#E9C47A}
html[data-theme="dark"] .meta,html[data-theme="dark"] .hint{color:var(--muted)}
html[data-theme="dark"] .btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .mk-pt td{border-color:var(--line)}
html[data-theme="dark"] .chip{filter:brightness(.9)}
.theme-btn{font-size:17px}
.bio-card{margin-top:12px}
.bio-btn{width:100%;margin:8px 0 2px}
.acc-suggest{margin-top:6px;background:var(--card);border:1px solid var(--gold);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:4px}
.acc-suggest .sug{text-align:right;background:transparent;border:0;border-top:1px solid var(--line);padding:8px 6px;font:inherit;color:inherit;cursor:pointer;border-radius:8px}
.acc-suggest .sug:first-of-type{border-top:0}
.acc-suggest .sug:hover{background:var(--gold-soft)}
/* price table with margins and live «customer sees» */
.mk-ptw{overflow-x:auto;margin:8px -4px}
.mk-pt2{width:100%;border-collapse:collapse;min-width:560px}
.mk-pt2 th{font-size:12px;color:var(--muted);font-weight:500;text-align:right;padding:4px 6px}
.mk-pt2 td{padding:6px;border-top:1px solid var(--line);vertical-align:middle}
.pt-pair label{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);margin:2px 0}
.pt-pair input{width:100%;min-height:36px;min-width:96px}
.pt-pair input[readonly]{background:var(--gold-soft);border-style:dashed}
.pt-see{white-space:nowrap;font-size:13px}
.pt-see small{display:block;font-size:11px;color:var(--muted);font-weight:400}
.pt-see .buy b,.adj-see .buy,.adj-name .buy{color:var(--ok)}
.pt-see .sell b,.adj-see .sell,.adj-name .sell{color:var(--bad)}
.pt-see>div{margin:2px 0}
.mk-shift{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--gold-soft);border-radius:12px;padding:10px;margin:8px 0}
.mk-shift label{display:flex;align-items:center;gap:6px;font-size:12.5px}
.mk-shift input{width:110px;min-height:36px}
.mk-shift select{min-height:36px}
/* group / customer per-item editor */
.adj-in{overflow:auto}
.adj-quick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;background:var(--gold-soft);border-radius:12px;padding:8px}
.adj-quick input{width:100px;min-height:34px}
.adj-quick label{display:flex;gap:4px;align-items:center}
.adj-list{display:flex;flex-direction:column;gap:6px}
.adj-row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:6px 10px;align-items:end;border-top:1px solid var(--line);padding:8px 0}
.adj-row label{display:flex;flex-direction:column;font-size:11.5px;color:var(--muted);gap:2px}
.adj-row input[type=text],.adj-row input:not([type]){min-height:36px;width:100%}
.adj-name{display:flex;flex-direction:column;gap:2px}
.adj-see{grid-column:1/-1;font-size:13px}
.adj-row.off{opacity:.55}
.adj-off{flex-direction:row!important;align-items:center}
.bd-row{grid-template-columns:1.5fr 1fr 1fr}
@media (max-width:600px){.adj-row{grid-template-columns:1fr 1fr}.adj-name{grid-column:1/-1}.bd-row{grid-template-columns:1fr 1fr}}
/* Ariana */
.ari-steps{padding-inline-start:20px;line-height:2}
.ari-bm{cursor:grab;background:var(--gold);color:#17120D}
.ari-map{display:flex;flex-direction:column;gap:6px}
.ari-row{display:grid;grid-template-columns:1.2fr 1.6fr 1fr;gap:8px;align-items:center;border-top:1px solid var(--line);padding:6px 0}
.ari-row [data-prev]{grid-column:1/-1}
@media (max-width:600px){.ari-row{grid-template-columns:1fr}}
.ari-status.ok{box-shadow:inset 0 0 0 2px var(--ok-soft)}
.ari-status.bad{box-shadow:inset 0 0 0 2px var(--bad-soft)}
/* havale */
.hv-new .seg{margin:6px 0}
.hv-find{display:flex;gap:6px}
.hv-find input{flex:1}
.hv-amt{font-size:15px}
.hv-card .mk-row{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
@media (max-width:640px){
  .mk-ptw{overflow:visible;margin:8px 0}
  .mk-pt2,.mk-pt2 tbody,.mk-pt2 tr,.mk-pt2 td{display:block;min-width:0}
  .mk-pt2 tr:first-child{display:none}
  .mk-pt2 tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;border-top:1px solid var(--line);padding:8px 0}
  .mk-pt2 td{border:0;padding:0}
  .mk-pt2 td:first-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
  .mk-pt2 td.pt-see{grid-column:1/-1;display:flex;gap:16px;background:var(--gold-soft);border-radius:10px;padding:6px 10px}
  .mk-pt2 td.pt-see::before{content:'مشتری می‌بیند:';color:var(--muted);font-size:12px;align-self:center}
  .pt-pair label{flex-direction:column;align-items:stretch;gap:2px}
  .pt-pair input{min-width:0}
}
.bm-list{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.bm-it{position:relative;width:120px;height:68px;border-radius:10px;overflow:hidden;background:#000}
.bm-it img,.bm-it video{width:100%;height:100%;object-fit:cover}
.bm-it .icon-btn{position:absolute;top:2px;left:2px;background:rgba(0,0,0,.6);color:#fff;width:26px;height:26px;min-height:0;border-radius:50%;padding:0}
.bm-add{cursor:pointer;display:inline-flex}
.bt-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.bt-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:6px;align-items:center;background:var(--gold-soft);border-radius:10px;padding:4px 8px}
.bt-row.off{opacity:.5}
.bt-row input[data-name]{min-height:34px}
.bt-row .icon-btn{width:32px;height:32px;min-height:0;padding:0}
.adj-row{grid-template-columns:1.2fr 1.4fr 1.4fr auto}
.adj-side{display:flex;flex-direction:column;gap:4px;background:var(--gold-soft);border-radius:10px;padding:6px 8px}
.adj-side .sw{flex-direction:row!important;align-items:center;font-size:12.5px;color:var(--ink)}
.adj-in2{display:flex;flex-direction:column}
.adj-res{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.adj-res b{font-size:15px}
@media (max-width:600px){.adj-row{grid-template-columns:1fr 1fr}.adj-name,.adj-off{grid-column:1/-1}}
.adj-row.bd-row{grid-template-columns:1.5fr 1fr 1fr}@media (max-width:600px){.adj-row.bd-row{grid-template-columns:1fr 1fr}}
.adj-lim{grid-column:1/-1;font-size:12.5px}
.adj-lim summary{cursor:pointer;color:var(--muted)}
.adj-lim-g{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:4px}
.adj-lim-g label{display:flex;flex-direction:column;font-size:11.5px;color:var(--muted)}
.adj-lim-g input{min-height:34px}
@media (max-width:600px){.adj-lim-g{grid-template-columns:1fr 1fr}}
.hedge-alarm{position:fixed;inset:0;z-index:90;background:rgba(40,8,4,.72);display:flex;align-items:center;justify-content:center;padding:16px;animation:haFade .3s}
@keyframes haFade{from{opacity:0}}
.ha-in{width:100%;max-width:520px;display:flex;flex-direction:column;gap:10px}
.ha-card{background:var(--card);border-radius:18px;padding:18px;border:3px solid var(--bad);box-shadow:0 10px 40px rgba(0,0,0,.4);animation:haPulse 1.2s infinite}
.ha-card.sell{border-color:var(--ok)}
@keyframes haPulse{50%{box-shadow:0 0 0 8px rgba(164,69,58,.25),0 10px 40px rgba(0,0,0,.4)}}
.ha-t{font-weight:800;color:var(--bad);font-size:16px}
.ha-q{font-size:30px;font-weight:900;margin:6px 0;color:var(--ink)}
.ha-r{color:var(--muted);font-size:13px;margin-bottom:10px}
.ha-b{display:flex;flex-wrap:wrap;gap:8px}
.ha-b .btn{flex:1 1 45%}
.ha-hint{text-align:center;color:#fff}
.st-ranges{margin:6px 0 8px}
.st-wait{text-align:center;color:var(--muted)}
.st-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px}
.st-bal{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.st-bal>div{background:var(--gold-soft);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column}
.st-bal span{font-size:12px;color:var(--muted)}
.st-list{display:flex;flex-direction:column}
.st-row{border-top:1px solid var(--line);padding:8px 0;font-size:13.5px}
.st-row.temp{opacity:.7}
.st-r1{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.st-type{font-weight:700}
.st-sharh{color:var(--ink);opacity:.85;margin:2px 0}
.st-amt .pos{color:var(--ok)} .st-amt .neg{color:var(--bad)}
.st-foot{margin-top:8px;text-align:center}
@media print{
  body.printing-stmt *{visibility:hidden}
  body.printing-stmt #stmtPrint,body.printing-stmt #stmtPrint *{visibility:visible}
  body.printing-stmt #stmtPrint{position:absolute;inset:0 auto auto 0;width:100%;box-shadow:none;background:#fff;color:#000}
  body.printing-stmt .st-row{break-inside:avoid}
}
.st-form .mk-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.st-form .mk-pair input{min-width:0;width:100%;box-sizing:border-box}.st-ranges{display:flex;flex-wrap:wrap}
.mk-quick{display:flex;flex-direction:column;gap:4px}
.mk-q{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--bg);cursor:pointer}
.mk-q.on{background:var(--gold-soft)}
.mk-q input{width:20px;height:20px}
.mk-q span:first-of-type{flex:1}
