*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,"Noto Sans Bengali",sans-serif;background:#f3f5f7;color:#1f2937}
a{color:#2563eb;text-decoration:none}
.muted{color:#6b7280}.small{font-size:13px}.err{color:#dc2626}
.btn{padding:8px 14px;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:14px}
.btn.primary{background:#16a34a;color:#fff;border-color:#16a34a}
.btn.navy{background:#0f1e3a;color:#fff;border-color:#0f1e3a}
.btn.warn{background:#f59e0b;color:#fff;border-color:#f59e0b}
.btn.danger{background:#dc2626;color:#fff;border-color:#dc2626}
.btn:disabled{opacity:.5;cursor:not-allowed}
input,select{padding:9px 10px;border:1px solid #d1d5db;border-radius:8px;margin:4px 4px 4px 0;font-size:14px}
textarea{width:100%;min-height:64px;padding:9px 10px;border:1px solid #d1d5db;border-radius:8px;margin:6px 0;font-family:inherit}
.card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
/* ---- login ---- */
.login-wrap{display:flex;justify-content:center;padding-top:15vh;background:#0f1e3a;min-height:100vh}
.login-card{width:340px;text-align:center;height:fit-content}
.login-card input{width:100%}
/* ---- layout: dark navy sidebar + topbar ---- */
#app{display:flex;min-height:100vh}
#sidebar{width:240px;flex:0 0 240px;background:#0f1e3a;color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.logo{padding:18px 16px;font-size:18px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.12)}
#sideNav{display:flex;flex-direction:column;padding:10px 8px;gap:2px}
.nav{background:transparent;color:#dbe4f3;border:0;text-align:left;padding:11px 12px;border-radius:8px;cursor:pointer;font-size:15px;display:flex;align-items:center;gap:8px}
.nav:hover{background:rgba(255,255,255,.08)}
.nav.active{background:#16a34a;color:#fff;font-weight:600}
.count-badge{margin-left:auto;background:#fff;color:#16a34a;border-radius:12px;font-size:12px;padding:1px 8px;font-weight:700}
.side-stores{padding:12px 16px;border-top:1px solid rgba(255,255,255,.12);margin-top:auto}
.side-stores-title{color:#9fb0cc;font-size:13px;margin-bottom:8px}
.side-store{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px}
.woo-mini{background:#7b5cd6;color:#fff;border-radius:5px;font-size:11px;padding:1px 6px;font-weight:700}
.green-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;margin-left:auto}
.logout-btn{margin:12px 16px 16px}
.main{flex:1;min-width:0}
.topbar{display:flex;align-items:center;gap:12px;background:#fff;padding:12px 20px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}
.burger{border:0;background:none;font-size:20px;cursor:pointer}
.top-title{font-size:18px;font-weight:700}
.woo-badge{background:#dcfce7;color:#166534;font-size:12px;padding:3px 10px;border-radius:20px}
.top-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.bell{position:relative;font-size:20px}
.bell .dot{position:absolute;top:0;right:0;width:9px;height:9px;background:#dc2626;border-radius:50%;border:2px solid #fff}
.avatar{width:36px;height:36px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.user-meta{display:flex;flex-direction:column;line-height:1.2}
.user-meta small{color:#6b7280}
main{padding:20px;max-width:1280px;margin:auto}
.page-title{margin:4px 0 16px;font-size:22px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.cards .card b{font-size:26px;display:block}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}
th,td{padding:9px 8px;border-bottom:1px solid #eee;text-align:left;font-size:14px;vertical-align:top}
th{background:#f9fafb}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:10px}
.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;background:#e5e7eb}
.badge.pending{background:#fef3c7}.badge.confirmed{background:#dbeafe}.badge.shipped{background:#ede9fe}
.badge.delivered{background:#dcfce7}.badge.cancelled{background:#fee2e2}
.badge.new{background:#dcfce7;color:#166534}
.dup{background:#dc2626;color:#fff;border-radius:12px;font-size:11px;padding:1px 7px;margin-left:4px}
.fu-badge{background:#fef3c7;border-radius:12px;font-size:11px;padding:1px 7px;margin-left:4px}
.chip{display:inline-block;padding:5px 10px;border-radius:20px;border:1px solid #d1d5db;background:#f9fafb;cursor:pointer;margin:2px}
.chip.sel{background:#2563eb;color:#fff;border-color:#2563eb}
.chip-check{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid #d1d5db;border-radius:20px;background:#fff;cursor:pointer}
.chip-check input{margin:0}
.recv{background:#dcfce7;border:1px solid #86efac;border-radius:8px;padding:10px;margin:8px 0;font-weight:600}
.notrecv{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:10px;margin:8px 0}
.form{display:flex;flex-wrap:wrap;gap:4px}
.thumb{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb;background:#f3f4f6;flex:0 0 56px}
.thumb-sm{width:44px;height:44px}
.item-cell{display:flex;gap:8px;align-items:center}
.item-cell .nm{line-height:1.25}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.product-grid .card{text-align:center}
.product-grid img{width:100%;height:140px;object-fit:cover;border-radius:8px}
/* ---- order details: 3 columns ---- */
.details-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.details-head h2{margin:0}
.back-btn{border:0;background:#fff;border-radius:8px;font-size:20px;cursor:pointer;padding:6px 10px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.head-meta{display:flex;gap:18px;flex-wrap:wrap;background:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 1px 4px rgba(0,0,0,.08);margin-bottom:14px}
.head-meta small{color:#6b7280;display:block}
.head-meta b{font-size:16px}
.head-meta .total b{color:#16a34a;font-size:20px}
.head-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.status-select{padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;background:#dcfce7;font-weight:600}
.detail-cols{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px;align-items:start}
.detail-col{display:flex;flex-direction:column;gap:14px}
.detail-col h4{margin:0 0 10px;font-size:16px}
.kv{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #f3f4f6;font-size:14px}
.kv:last-child{border-bottom:0}
.total-row{display:flex;justify-content:space-between;background:#dcfce7;border-radius:8px;padding:10px;font-weight:700;margin-top:8px}
.phone-row{display:flex;align-items:center;gap:8px}
.icon-btn{border:1px solid #d1d5db;background:#fff;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:15px}
.timeline{list-style:none;margin:8px 0;padding:0}
.timeline li{padding:8px 0 8px 28px;position:relative;color:#9ca3af}
.timeline li::before{content:"○";position:absolute;left:4px;font-size:18px;line-height:1}
.timeline li::after{content:"";position:absolute;left:12px;top:30px;bottom:-4px;width:2px;background:#e5e7eb}
.timeline li:last-child::after{display:none}
.timeline li.done{color:#166534;font-weight:600}
.timeline li.done::before{content:"✓";color:#fff;background:#16a34a;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;left:2px}
.timeline li.now{color:#166534;font-weight:700;background:#dcfce7;border-radius:8px;padding-right:8px}
.timeline li.now::before{content:"●";color:#16a34a}
.risk{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700}
.risk.trusted{background:#dcfce7;color:#166534}.risk.careful{background:#fef3c7;color:#92400e}
.risk.high{background:#fee2e2;color:#991b1b}.risk.new{background:#e5e7eb;color:#374151}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;padding:30px;z-index:50}
.modal-card{width:960px;max-width:95vw;max-height:88vh;overflow:auto}
@media(max-width:900px){.detail-cols{grid-template-columns:1fr}}
@media(max-width:700px){
  #sidebar{position:fixed;z-index:40;transform:translateX(-100%);transition:transform .2s}
  #sidebar.open{transform:none}
  .user-meta{display:none}
}
/* ---- dashboard: Live Order Board (matches preview) ---- */
.live-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-radius:12px;padding:14px 18px;box-shadow:0 1px 4px rgba(0,0,0,.08);margin-bottom:14px;flex-wrap:wrap}
.live-hero-left{display:flex;align-items:center;gap:10px;font-size:17px}
.live-dot{width:11px;height:11px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.25);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.4)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.live-sync{font-size:13px;color:#6b7280}
.dash-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.dash-stat{display:flex;flex-direction:column;gap:2px}
.dash-stat b{font-size:26px}
.stat-ic{font-size:22px}
.pipeline-card{margin-bottom:14px}
.pipeline-card h3,.dash-grid h3{margin:0 0 10px;font-size:16px}
.pipeline-bar{display:flex;height:14px;border-radius:8px;overflow:hidden;background:#f3f4f6}
.pipe-seg{height:100%;cursor:pointer;min-width:0}
.pipeline-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px}
.pipe-leg{border:0;background:none;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px;padding:2px 0;color:#374151}
.pipe-leg i{width:10px;height:10px;border-radius:50%;display:inline-block}
.dash-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:start}
.recent-row{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #f3f4f6;cursor:pointer}
.recent-row:last-child{border-bottom:0}
.recent-row:hover{background:#f9fafb}
.recent-main{flex:1;min-width:0;line-height:1.3}
@media(max-width:900px){.dash-cards{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}}
/* ---- order / store / customer cards (matches preview) ---- */
.order-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.order-card{display:flex;flex-direction:column;gap:10px}
.oc-head{display:flex;align-items:center;gap:10px}
.oc-check input{width:18px;height:18px;cursor:pointer}
.oc-title{display:flex;flex-direction:column;line-height:1.3;flex:1;min-width:0}
.oc-cod{color:#16a34a;font-size:17px;white-space:nowrap}
.oc-body{display:flex;gap:14px;flex-wrap:wrap}
.oc-cust{flex:1;min-width:180px;line-height:1.45}
.oc-items{display:flex;flex-direction:column;gap:6px;flex:1;min-width:200px}
.oc-fu{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 10px}
.oc-track{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:8px 10px;font-size:14px}
.oc-actions{display:flex;gap:8px;flex-wrap:wrap}
.oc-ph{display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.store-card{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.store-card-top{display:flex;align-items:center;gap:10px}
.store-ic{width:40px;height:40px;border-radius:10px;background:#ede9fe;display:inline-flex;align-items:center;justify-content:center;font-size:20px;flex:0 0 40px}
.store-main{display:flex;flex-direction:column;line-height:1.3;flex:1;min-width:0}
@media(max-width:900px){.order-cards{grid-template-columns:1fr}}

/* ---- orders list: preview layout (search + chips + single-column rows) ---- */
.orders-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.orders-head .page-title{margin:4px 0}
.search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:4px 12px;margin:10px 0;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.search-bar input{flex:1;border:0;outline:none;margin:0;padding:8px 0;font-size:15px}
.search-ic{font-size:16px;color:#6b7280}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.fchip{border:1px solid #e5e7eb;background:#fff;border-radius:20px;padding:7px 14px;font-size:14px;cursor:pointer;color:#374151}
.fchip:hover{border-color:#9ca3af}
.fchip.active{background:#16a34a;border-color:#16a34a;color:#fff;font-weight:600}
.store-chips .fchip.active{background:#0f1e3a;border-color:#0f1e3a}
.bulk-bar{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px;margin:10px 0;flex-wrap:wrap}
.bulk-check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.bulk-check input{width:18px;height:18px;cursor:pointer;margin:0}
.bulk-ship{margin-left:auto;background:#9ca3af;border-color:#9ca3af;color:#fff}
.bulk-ship:not(:disabled){background:#0f1e3a;border-color:#0f1e3a}
.order-rows{display:flex;flex-direction:column;gap:12px}
.order-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px}
.row-check{padding-top:18px}
.row-check input{width:18px;height:18px;cursor:pointer}
.row-main{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:2px;line-height:1.4}
.row-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.row-price{margin-left:auto;font-size:17px;color:#16a34a;white-space:nowrap}
.row-price .muted{font-weight:400}
.row-name{font-size:15px}
.row-item{font-size:14px}
.row-meta{font-size:13px}
.row-note{display:block;font-size:13px}
.row-track{display:block;font-size:14px;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:6px 10px;margin-top:6px;width:fit-content}
.cust-badge{background:#ffedd5;color:#9a3412;border-radius:20px;font-size:11px;padding:2px 8px;font-weight:600}
.row-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.chev{border:0;background:none;font-size:26px;line-height:1;color:#9ca3af;cursor:pointer;padding:0 4px}
.chev:hover{color:#374151}
.mini-confirm{padding:5px 10px;font-size:13px;white-space:nowrap}
/* ---- order row: mini timeline + note box + audit trail (2026-11-13) ---- */
.mini-tl{display:flex;align-items:center;gap:4px;margin:6px 0 2px}
.mt-step{display:flex;align-items:center;gap:4px;font-size:11px;color:#9ca3af;white-space:nowrap}
.mt-step i{width:16px;height:16px;border-radius:50%;background:#e5e7eb;color:#6b7280;font-style:normal;display:inline-flex;align-items:center;justify-content:center;font-size:10px;flex:0 0 16px}
.mt-step.done{color:#166534}
.mt-step.done i{background:#16a34a;color:#fff}
.mt-step.now{color:#166534;font-weight:700}
.mt-step.now i{background:#16a34a;color:#fff;box-shadow:0 0 0 3px rgba(22,163,74,.25)}
.mt-line{flex:1;height:2px;background:#e5e7eb;min-width:8px;border-radius:2px}
.mt-line.done{background:#16a34a}
.mini-tl.cancelled{margin:6px 0 2px}
.mt-cancel{font-size:12px;font-weight:700;color:#991b1b;background:#fee2e2;border-radius:8px;padding:3px 8px}
.row-notebox{margin-top:6px}
.rn-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rn-preview{font-size:13px;color:#374151}
.rn-edit{padding:3px 9px;font-size:12px;margin:0}
.fu-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:600;background:#fef3c7;color:#92400e}
.fu-badge.fu-noanswer{background:#fee2e2;color:#991b1b;font-weight:700;box-shadow:0 0 0 1px #fca5a5}
.fu-badge.fu-hold{background:#fef3c7;color:#92400e}
.fu-badge.fu-later{background:#dbeafe;color:#1e40af}
.rn-ed{margin-top:6px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px}
.rn-ed .chip{font-size:12px;padding:4px 9px}
.rn-ed-row{display:flex;gap:8px;margin-top:6px;align-items:center}
.rn-ed-row input{flex:1;min-width:0;margin:0}
.rn-save{white-space:nowrap;margin:0;padding:7px 12px;font-size:13px}
.audit-lines{display:flex;flex-direction:column;gap:1px;margin-top:6px}
.audit-line{font-size:12px;color:#6b7280}
.audit-line b{color:#374151}
.audit-line.cancel{color:#991b1b}
.audit-line.cancel b{color:#991b1b}
@media(max-width:700px){.row-price{font-size:15px}.bulk-ship{margin-left:0;width:100%}
  .mt-step{font-size:10px}.rn-ed-row{flex-wrap:wrap}.rn-save{width:100%}}
/* ---- orders table: 8 columns (2026-11-13) ---- */
.order-rows{display:block}
.ot-wrap{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px}
.orders-table{min-width:1080px;border-radius:0}
.orders-table th{font-size:13px;font-weight:600;color:#374151;white-space:nowrap;padding:12px 10px}
.orders-table td{padding:12px 10px;font-size:13px;vertical-align:middle}
.orders-table tbody tr:nth-child(even){background:#fafafa}
.orders-table tbody tr:hover{background:#f3f6ff}
.ot-chk{width:28px}
.ot-cust{min-width:200px;max-width:250px}
.ot-cust b,.ot-cust span{display:block}
.ot-num{color:#2563eb;font-weight:600;text-decoration:none}
.ot-name{margin-top:3px;font-size:14px}
.ot-addr{color:#4b5563;margin:2px 0;line-height:1.35}
.ot-phone{white-space:nowrap}.ot-phone a{color:#2563eb;text-decoration:none;font-weight:600}
.ot-note{min-width:170px;max-width:220px}
.ot-note .row-notebox{margin:0}
.ot-calls{min-width:150px}
.ot-calls>*{display:block;margin-bottom:5px}
.tiny{font-size:11px}
.tbl-btn{padding:4px 10px;font-size:12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;white-space:nowrap}
.tbl-btn:disabled{opacity:.45;cursor:not-allowed}
.call-btn{color:#2563eb;border-color:#bfdbfe}
.sf-btn{font-weight:600}
.sent-tag{font-size:11px;color:#166534;background:#dcfce7;padding:3px 7px;border-radius:6px;display:inline-block}
.status-pill{border:none;border-radius:20px;padding:7px 12px;font-weight:600;font-size:12px;color:#fff;background:#6b7280;cursor:pointer;min-width:120px}
.status-pill option{color:#111;background:#fff}
.status-pill.pending{background:#f59e0b}.status-pill.on_hold{background:#8b5cf6}.status-pill.confirmed{background:#2563eb}
.status-pill.shipped{background:#0891b2}.status-pill.delivered{background:#16a34a}.status-pill.cancelled{background:#dc2626}.status-pill.refunded{background:#6b7280}
.same-tag{display:inline-block;background:#f3e8ff;color:#6b21a8;font-weight:600;font-size:12px;padding:3px 8px;border-radius:6px;white-space:nowrap}
.same-tag.repeat{background:#fde68a;color:#92400e}
.hist-cell{min-width:140px}
.hist-cell .small{line-height:1.5}
.hist-bar{height:5px;background:#e5e7eb;border-radius:3px;overflow:hidden;display:flex;margin-bottom:5px}
.hb-ok{background:#16a34a}.hb-bad{background:#dc2626}
.hist-cell .tbl-btn{margin-top:4px}
.call-modal{max-width:520px}
.call-outs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.call-outs .chip{cursor:pointer}
.call-modal #callNote{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box}
.call-actions{display:flex;gap:8px;margin-top:10px}
.call-list{list-style:none;padding:0;margin:12px 0 0;border-top:1px solid #eee}
.call-list li{padding:8px 0;border-bottom:1px solid #f1f1f1;font-size:13px}
.orders-table td,.orders-table th{padding-left:8px;padding-right:8px}
.ot-note .rn-top{flex-wrap:wrap;gap:4px}
.modal-card.modal-sm{width:540px;height:fit-content;align-self:flex-start;margin-top:40px}
.fraud-rep{display:inline-block;margin-top:3px;font-size:11px;font-weight:600;color:#b91c1c;background:#fee2e2;padding:1px 6px;border-radius:5px}
button.fraud-rep{border:none;cursor:pointer}
.rep-item{background:#fff5f5;border:1px solid #f5c6cb;border-radius:8px;padding:8px 10px;margin:8px 0;font-size:13px}
.rep-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rep-top b{color:#b91c1c}
.rep-item p{margin:4px 0 0;color:#444;line-height:1.5}
/* ---- icons (Lucide) ---- */
.ic{width:1.1em;height:1.1em;vertical-align:-0.18em;flex:0 0 auto}
.btn .ic,.tbl-btn .ic{margin-right:2px}
.nav .ic{width:19px;height:19px}
.logo{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden}
.logo .ic{width:22px;height:22px}
.burger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:#0f1e3a}
.burger:hover{background:#f1f5f9}
.burger .ic{width:22px;height:22px}
.bell{display:inline-flex;color:#475569}
.bell .ic{width:22px;height:22px}
.stat-ic{display:inline-flex;color:#2563eb}.stat-ic .ic{width:24px;height:24px}
.store-ic .ic,.avatar .ic{width:20px;height:20px}
.search-ic{display:inline-flex}.search-ic .ic{width:18px;height:18px}
.logout-btn{display:flex;align-items:center;justify-content:center;gap:6px}
.detail-col h4 .ic,.card h4 .ic{color:#2563eb;margin-right:2px}
.chip .ic,.fu-badge .ic{width:14px;height:14px}
.ok{color:#16a34a}
.mt-step i .ic{width:12px;height:12px;vertical-align:-1px}
.ot-addr .ic{width:13px;height:13px;color:#6b7280}
.fraud-rep .ic,.sent-tag .ic{width:13px;height:13px}
/* ---- collapsible sidebar (desktop icon rail) ---- */
#sidebar{transition:width .18s ease,flex-basis .18s ease}
body.sb-collapsed #sidebar{width:68px;flex-basis:68px}
body.sb-collapsed #sidebar .lbl,
body.sb-collapsed #sidebar .side-stores,
body.sb-collapsed #sidebar .count-badge{display:none}
body.sb-collapsed #sidebar .logo{justify-content:center;padding-left:0;padding-right:0}
body.sb-collapsed #sidebar .nav{justify-content:center;padding:11px 0}
body.sb-collapsed #sidebar .logout-btn{margin:12px 10px 16px;padding:8px 0}
@media(max-width:700px){body.sb-collapsed #sidebar{width:240px;flex-basis:240px}body.sb-collapsed #sidebar .lbl{display:inline}body.sb-collapsed #sidebar .side-stores{display:block}}
/* ---- pagination ---- */
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 2px 6px}
.pg-nums{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pg-btn{min-width:34px;height:34px;padding:0 9px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center;color:#374151}
.pg-btn:hover:not(:disabled){background:#f3f6ff;border-color:#93c5fd}
.pg-btn.cur{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600}
.pg-btn:disabled{opacity:.4;cursor:not-allowed}
.pg-gap{padding:0 4px;color:#9ca3af}
.pg-size{padding:6px 8px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px}
/* ---- full-width content (2026-11-13): fills the space when the sidebar collapses ---- */
main{max-width:none;margin:0}
/* ---- icon alignment: every element that holds an icon centres it with its text ---- */
.ic{vertical-align:middle}
.btn,.tbl-btn,.chip,.fchip,.fu-badge,.fraud-rep,.sent-tag,.mt-cancel,.live-sync,.rn-preview,.audit-line,.pg-btn,.back-btn,.icon-btn,.call-outs label,.risk{display:inline-flex;align-items:center;gap:5px;line-height:1.2}
.btn .ic,.tbl-btn .ic{margin-right:0}
.btn{justify-content:center}
.icon-btn{justify-content:center;padding:0}
.icon-btn .ic{width:16px;height:16px}
.back-btn .ic{width:20px;height:20px}
.card h4,.detail-col h4{display:flex;align-items:center;gap:6px}
.card h4 .ic{margin-right:0;width:18px;height:18px}
.ot-addr{display:flex !important;align-items:flex-start;gap:4px}
.ot-addr .ic{margin-top:2px}
.ot-phone a{display:inline-flex;align-items:center;gap:4px}
.ot-calls>.tbl-btn,.ot-calls>.sent-tag{display:inline-flex;width:max-content}
.ot-calls .muted.tiny{display:flex;align-items:center;gap:4px}
.ot-calls .muted.tiny .ic{width:12px;height:12px}
.hist-cell .tbl-btn{display:inline-flex}
.mt-step i{display:inline-flex;align-items:center;justify-content:center}
.phone-row .ic{width:16px;height:16px}
.head-meta b{display:inline-flex;align-items:center;gap:5px}
.nav{gap:10px}
.top-right{display:flex;align-items:center}
/* ---- fraud details in-app ---- */
.rep-box{margin-top:6px;display:flex;flex-direction:column;gap:4px}
.rep-box.compact .rep-item{padding:5px 7px;margin:2px 0;font-size:11.5px}
.rep-box.compact .rep-item p{margin-top:2px}
.rep-cats{display:flex;flex-wrap:wrap;gap:4px}
.rep-cat{font-size:11px;font-weight:600;background:#fee2e2;color:#991b1b;padding:2px 7px;border-radius:10px}
.rep-flag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#92400e;background:#fef3c7;padding:2px 7px;border-radius:6px;width:max-content}
.rep-reasons{margin:4px 0;padding-left:18px;font-size:13px;color:#444}
.hist-cell{max-width:220px}
.wc-tag{display:block;width:max-content;margin-top:5px;font-size:11px;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;padding:1px 7px;border-radius:6px}
/* ---- bell + toasts ---- */
.bell-wrap{position:relative}
button.bell{border:0;background:none;cursor:pointer;position:relative;width:38px;height:38px;border-radius:10px;align-items:center;justify-content:center}
button.bell:hover{background:#f1f5f9}
.bell-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#dc2626;color:#fff;font-size:11px;line-height:18px;text-align:center;border:2px solid #fff}
.bell-menu{position:absolute;right:0;top:44px;width:340px;max-width:90vw;z-index:60;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.bm-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.bm-list{max-height:320px;overflow:auto;display:flex;flex-direction:column;gap:4px}
.bm-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer}
.bm-item:hover{background:#f3f6ff}
.bm-foot{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border-top:1px solid #eee;margin-top:10px;padding-top:10px}
.toasts{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:10px;max-width:360px}
.toast{background:#0f1e3a;color:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:3px;font-size:14px;transition:opacity .5s,transform .5s}
.toast b{display:inline-flex;align-items:center;gap:6px;font-size:15px}
.toast.new{background:#16a34a;animation:toastPop .35s ease}
.toast.warn{background:#b45309}
.toast.out{opacity:0;transform:translateY(10px)}
@keyframes toastPop{from{transform:scale(.9);opacity:0}to{transform:none;opacity:1}}
/* ---- product image column ---- */
.ot-img{width:92px;min-width:92px}
.img-btn{position:relative;border:0;padding:0;background:none;cursor:pointer;display:block}
.thumb-lg{width:72px;height:72px;flex:0 0 72px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#9ca3af}
.thumb-lg .ic{width:28px;height:28px}
.img-btn:hover .thumb-lg{box-shadow:0 0 0 2px #93c5fd}
.img-more{position:absolute;right:-4px;bottom:-4px;background:#0f1e3a;color:#fff;font-size:11px;font-weight:700;padding:1px 6px;border-radius:9px;border:2px solid #fff}
.img-name{display:block;font-size:11px;color:#4b5563;margin-top:5px;line-height:1.3;max-width:92px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ot-cod{color:#111827}
.orders-table{min-width:1180px}
/* ---- own fraud reports ---- */
.own-rep{display:inline-flex;align-items:center;gap:4px;border:1px dashed #d1d5db;background:#fff;color:#6b7280;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;cursor:pointer;margin-bottom:6px;width:max-content}
.own-rep:hover{border-color:#f87171;color:#b91c1c}
.own-rep.has{border:1px solid #dc2626;background:#dc2626;color:#fff}
.own-rep .ic{width:13px;height:13px}
.rep-item.woo{background:#fff7ed;border-color:#fed7aa}
.rep-item.woo .rep-top b{color:#c2410c}
.rep-meta{margin-top:4px}
.rep-meta a{color:#2563eb}
.danger-link{color:#dc2626 !important}
.own-form{border-top:1px solid #eee;margin-top:10px;padding-top:10px}
.own-form h4{margin:0 0 6px}
.own-form textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;padding:8px;margin:6px 0;font:inherit}
.own-card{border-top:3px solid #dc2626}
.pager{grid-column:1/-1}
/* ---- courier / delivery columns + Steadfast popup ---- */
.cons-box{display:flex;flex-direction:column;gap:1px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:5px 8px;width:max-content}
.cons-id{font-size:14px;color:#0c4a6e;letter-spacing:.3px}
.ot-del{min-width:130px}
.ot-del>*{display:flex;margin-bottom:5px;width:max-content}
.dl-badge{font-size:12px;font-weight:600;padding:3px 9px;border-radius:12px;background:#e0e7ff;color:#3730a3}
.dl-badge.ok{background:#dcfce7;color:#166534}.dl-badge.bad{background:#fee2e2;color:#991b1b}.dl-badge.warn{background:#fef3c7;color:#92400e}
.ship-modal{max-width:none}
.modal-card.modal-sm:has(.ship-modal){width:720px}
.sf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:12px}
.sf-field{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:14px;color:#374151}
.sf-field input,.sf-field textarea{font:inherit;font-weight:400;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;width:100%;box-sizing:border-box}
.sf-field input:focus,.sf-field textarea:focus{outline:2px solid #93c5fd;border-color:#3b82f6}
.sf-send{background:#4f46e5;border-color:#4f46e5;color:#fff;padding:10px 18px}
.ok-msg{color:#166534;display:flex;align-items:center;gap:5px}
.err{color:#b91c1c}
@media(max-width:700px){.sf-grid{grid-template-columns:1fr}}
.bm-item.unread{border-color:#86efac;background:#f0fdf4}
.bm-item.unread b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#16a34a;margin-right:6px;vertical-align:1px}
.bm-item.read{opacity:.75}
/* ---- statuses ---- */
.sdot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}
.fchip.active .sdot{box-shadow:0 0 0 2px #fff}
.st-table{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px}
.st-table table{min-width:820px}
.st-table td{vertical-align:middle}
.st-table input:not([type=color]){width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid #d1d5db;border-radius:7px;font:inherit;margin:0}
.st-table input[type=color]{width:42px;height:32px;border:1px solid #d1d5db;border-radius:7px;padding:2px;background:#fff;cursor:pointer}
.st-act{white-space:nowrap}
.st-new{background:#f8fafc}
/* ---- invoice ---- */
.ot-view>*{display:flex;margin-bottom:5px;width:max-content}
.bulk-inv{margin-left:8px}
.bulk-bar{flex-wrap:wrap;gap:6px}
.inv-set{display:flex;flex-direction:column;gap:14px}
.inv-set-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.inv-set-row>label{width:130px;font-weight:600;font-size:14px}
.inv-img{width:420px;max-width:100%;min-height:60px;border:1px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fafafa;overflow:hidden}
.inv-img img{max-width:100%;max-height:110px;display:block}
.inv-img.sig{width:200px}
.inv-set-grid{display:grid;grid-template-columns:120px 1fr;gap:10px 16px;align-items:end}
.inv-set-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.inv-set-grid label.wide{grid-column:1/-1}
.inv-set-grid label.chk{grid-column:1/-1;flex-direction:row;align-items:center;gap:8px;font-weight:400}
.inv-set-grid input:not([type=color]):not([type=checkbox]){padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font:inherit;font-weight:400}
.inv-set-grid input[type=color]{width:60px;height:36px;border:1px solid #d1d5db;border-radius:8px;padding:2px}
.btn.tbl-btn.danger{background:#fff;color:#b91c1c;border-color:#fecaca}.btn.tbl-btn.danger:hover{background:#fef2f2}
.toast-link{color:#fff;text-decoration:underline;font-weight:600;margin-top:2px}
/* ---- label printing ---- */
.lb-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lb-form input,.lb-form select{padding:9px 11px;border:1px solid #d1d5db;border-radius:8px;font:inherit;margin:0}
.lb-form #lbId{width:190px}.lb-form #lbName{flex:1;min-width:180px}.lb-form #lbQty{width:120px}
.lb-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
.lb-print{padding:9px 18px}
.lb-screen{max-width:960px;margin:0 auto}
/* ---- order filters ---- */
.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px}
.flt{padding:7px 9px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font:inherit;font-size:13px;margin:0}
.flt-lbl{display:inline-flex;color:#6b7280}
.flt-sum{margin-left:auto;font-size:13px;color:#374151}
.flt-sum b{color:#111827}
/* ---- accounts (হিসাব) ---- */
.acc-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}
.acc-head label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.acc-head select{padding:7px 9px;border:1px solid #d1d5db;border-radius:8px;font:inherit}
.acc-tabs{display:flex;flex-wrap:wrap;gap:6px}
.acc-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:8px 0}
.acc-bar h4{margin:0}
.acc-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:10px 0}
.acc-kpi{display:flex;flex-direction:column;gap:4px;padding:12px 14px}
.acc-kpi b{font-size:20px}
.green{color:#16a34a}.red{color:#dc2626}
.acc-table{overflow-x:auto}
.acc-table table{min-width:760px}
.acc-table td,.acc-table th{vertical-align:middle;font-size:13px}
.num{text-align:right;white-space:nowrap}
.acc-table input,.acc-table select{padding:6px 8px;border:1px solid #d1d5db;border-radius:7px;font:inherit;font-size:13px;margin:0;max-width:240px}
.acc-num{width:90px}
.acc-st{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:9px;background:#e5e7eb}
.acc-st.delivered{background:#dcfce7;color:#166534}.acc-st.partial_delivered{background:#fef3c7;color:#92400e}.acc-st.cancelled{background:#fee2e2;color:#991b1b}
.acc-warn{background:#fff7ed}
.acc-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.acc-form input,.acc-form select{padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font:inherit;margin:0}
.acc-form .grow{flex:1;min-width:200px}
.acc-grid{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:12px;align-items:start;margin-bottom:12px}
.acc-alert{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;display:flex;align-items:center;gap:6px;margin-bottom:10px}
.acc-cats summary{cursor:pointer;font-weight:600}
.acc-modal{min-width:min(900px,90vw)}
@media(max-width:900px){.acc-grid{grid-template-columns:1fr}}
/* ---- accounts: full-feature additions ---- */
.acc-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.acc-step{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;text-decoration:none;color:#111827}
.acc-step b{display:block;font-size:13px}.acc-step small{display:block;font-size:11.5px;color:#6b7280;margin-top:2px}
.acc-step-n{flex:0 0 24px;height:24px;border-radius:50%;background:#e5e7eb;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.acc-step.done .acc-step-n{background:#16a34a;color:#fff}.acc-step.current{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.acc-step.current .acc-step-n{background:#2563eb;color:#fff}
.acc-fetch{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.acc-fetch>div{flex:1;min-width:240px}
.acc-fetch select{padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font:inherit}
.acc-cell{border:1px solid transparent !important;background:transparent;padding:5px 6px;border-radius:6px;width:100%;min-width:70px;font:inherit;font-size:13px}
.acc-cell:hover{border-color:#d1d5db !important;background:#fff}.acc-cell:focus{border-color:#3b82f6 !important;background:#fff;outline:none}
td.num .acc-cell{text-align:right}
.acc-edited{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f59e0b;vertical-align:middle}
.acc-bulk{display:flex;align-items:center;gap:10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:8px 12px;margin:8px 0}
.acc-progress{margin-bottom:6px}.acc-pbar{height:8px;background:#e5e7eb;border-radius:6px;overflow:hidden;margin-top:6px}.acc-pbar span{display:block;height:100%;background:#16a34a}.acc-pbar.neg span{background:#dc2626}
.acc-sticky{position:sticky;bottom:8px;z-index:5;box-shadow:0 6px 20px rgba(0,0,0,.12)}
.acc-raw{max-height:420px;overflow:auto;background:#0f172a;color:#e2e8f0;padding:12px;border-radius:8px;font-size:12px}
.acc-cat-list{display:flex;flex-wrap:wrap;gap:8px}.acc-cat{display:flex;gap:6px;align-items:center;border:1px solid #e5e7eb;border-radius:8px;padding:4px 6px}
.acc-cat input[type=color]{width:32px;height:28px;border:0;padding:0;background:none}.acc-cat input:not([type=color]){border:1px solid transparent;padding:4px 6px;border-radius:6px;font:inherit;width:140px}
.acc-data{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.acc-data .card{display:flex;flex-direction:column;gap:8px}
.acc-data input,.acc-data select{padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font:inherit}
.nowrap{white-space:nowrap}
@media(max-width:900px){.acc-guide{grid-template-columns:1fr 1fr}}

/* ==================================================================
   Design refresh (2026-11-13): one consistent look for every page
   ================================================================== */
:root{--bg:#f4f6f9;--card:#fff;--line:#e6e9ef;--text:#1f2937;--muted:#6b7280;--brand:#16a34a;--brand-d:#15803d;--blue:#2563eb;--radius:12px;--shadow:0 1px 2px rgba(16,24,40,.05)}
body{font-family:"Hind Siliguri",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Bengali",sans-serif;background:var(--bg);color:var(--text);font-size:14.5px;line-height:1.5}
main{padding:22px 26px}
.card{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
input,select,textarea{margin:0;font:inherit;font-size:14px;border:1px solid #d5dae1;border-radius:9px;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}
input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select{min-height:38px;padding:7px 11px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
input::placeholder{color:#9aa3af}
.btn{min-height:38px;padding:7px 15px;border-radius:9px;font-weight:600;font-size:14px;border:1px solid #d5dae1;background:#fff;color:var(--text);transition:background .15s,border-color .15s}
.btn:hover:not(:disabled){background:#f7f8fa;border-color:#c3c9d2}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.primary:hover:not(:disabled){background:var(--brand-d);border-color:var(--brand-d)}
.btn.tbl-btn{min-height:32px;padding:4px 11px;font-size:13px;font-weight:500}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.page-title{font-size:24px;font-weight:700;margin:0;letter-spacing:-.2px}
.page-sub{margin:4px 0 0;color:var(--muted);font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
h3{font-size:17px}h4{font-size:15px}
.topbar{padding:12px 24px}

/* ---- Settings ---- */
.set-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;align-items:start}
.set-nav{display:flex;flex-direction:column;gap:6px;position:sticky;top:84px}
.set-link{display:flex;align-items:flex-start;gap:12px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 14px;cursor:pointer;color:var(--text);font:inherit}
.set-link .ic{width:20px;height:20px;color:var(--muted);margin-top:2px}
.set-link b{display:block;font-size:14.5px}.set-link small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35;margin-top:1px}
.set-link:hover{border-color:#c7d2fe}
.set-link.active{border-color:var(--blue);background:#eff4ff;box-shadow:0 0 0 1px var(--blue)}
.set-link.active .ic{color:var(--blue)}
.set-panes{min-width:0}
.set-card{padding:22px 24px;display:flex;flex-direction:column;gap:18px}
.set-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line)}
.set-card-head h3{margin:0;display:flex;align-items:center;gap:8px}
.set-card-head h3 .ic{width:20px;height:20px;color:var(--blue)}
.set-card-head p{margin:6px 0 0;color:var(--muted);font-size:13.5px;max-width:640px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field>span:first-child{font-size:13px;font-weight:600;color:#374151}
.field input,.field select{width:100%}
.field.check{flex-direction:row;align-items:center;gap:9px;min-height:38px}
.field.check input{width:18px;height:18px}
.field.check span{font-weight:500;font-size:14px}
.color-field{display:flex;align-items:center;gap:10px}
.color-field input{width:46px;height:38px;padding:3px;border-radius:9px;cursor:pointer}
.color-field code{font-size:13px;color:var(--muted)}
.set-help{display:flex;align-items:flex-start;gap:8px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;color:#475569}
.set-help .ic{margin-top:2px;color:var(--muted)}
.set-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}
.set-actions.left{justify-content:flex-start}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:20px;white-space:nowrap}
.pill.ok{background:#dcfce7;color:#166534}.pill.off{background:#f1f5f9;color:#64748b}
.pill .ic{width:14px;height:14px}
.inv-imgs{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.inv-imgcard{border:1px solid var(--line);border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:10px;background:#fcfcfd}
.inv-imgcard-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.inv-imgcard .inv-img{width:100%;min-height:110px;border-style:solid;border-color:var(--line);background:#fff}
.inv-imgcard .inv-img img{max-height:120px}
/* status manager inside its card */
#statusManager .st-table{border:0;border-radius:0}
#statusManager .st-table table{min-width:760px}
#statusManager th{background:#f8fafc;font-size:12.5px;color:#475569;font-weight:600}
@media(max-width:980px){.set-layout{grid-template-columns:1fr}.set-nav{position:static;flex-direction:row;overflow-x:auto}.set-link{min-width:220px}.field-grid,.field-grid.three,.inv-imgs{grid-template-columns:1fr}}
/* accounts header */
.acc-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.acc-pickers{display:flex;gap:12px;flex-wrap:wrap}
.acc-pickers .field{min-width:220px}
.acc-extra{display:flex;gap:6px;flex-wrap:wrap}
.acc-extra .btn.on{background:#eff4ff;border-color:var(--blue);color:var(--blue)}
.acc-step{min-height:62px}
.acc-kpi b{font-size:21px;letter-spacing:-.2px}
.acc-table table th{background:#f8fafc;color:#475569;font-weight:600;font-size:12.5px}
#statusManager td:nth-child(5){white-space:nowrap}
#statusManager td:nth-child(5) .badge{margin-left:4px}
/* orders page header spacing */
.orders-head{margin-bottom:6px}
main section > .page-title{margin-bottom:16px}
.acc-grid .acc-table table{min-width:0}
.rn-edit{min-height:30px;padding:3px 10px;font-weight:500;font-size:12.5px}
/* ---- permission gating: hide/lock actions the role can't use ---- */
body:not(.p-orders-status) .status-pill,body:not(.p-orders-status) .status-select{pointer-events:none;opacity:.8}
body:not(.p-orders-ship) .sf-btn,body:not(.p-orders-ship) #bulkShip,body:not(.p-orders-ship) .ot-del .btn{display:none!important}
body:not(.p-orders-print) .ot-view .btn:not(:first-child),body:not(.p-orders-print) #bulkPrint,body:not(.p-orders-print) #bulkPdf,body:not(.p-orders-print) #bulkLabels{display:none!important}
body:not(.p-orders-export) .csv-btn{display:none!important}
body:not(.p-orders-note) .call-btn,body:not(.p-orders-note) .own-rep,body:not(.p-orders-note) .rn-edit,body:not(.p-orders-note) .hist-cell .tbl-btn{pointer-events:none;opacity:.5}
/* ---- users & roles ---- */
.u-tabs{display:flex;gap:8px;margin-bottom:12px}
.u-card{padding:0;overflow:hidden}
.u-table th{background:#f8fafc;font-size:12.5px;color:#475569;font-weight:600;padding:11px 14px}
.u-table td{padding:12px 14px;vertical-align:middle}
.u-who{display:flex;align-items:center;gap:11px}
.u-who b{font-size:14.5px}.u-who small{display:block;color:var(--muted);font-size:12.5px}
.u-av{width:38px;height:38px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 38px}
.u-role{min-width:170px}
.u-off td{opacity:.55}
.u-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}
.u-switch input{display:none}
.u-switch span{width:36px;height:20px;border-radius:12px;background:#cbd5e1;position:relative;transition:background .15s}
.u-switch span::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
.u-switch input:checked+span{background:var(--brand)}.u-switch input:checked+span::after{left:18px}
.u-switch input:disabled+span{opacity:.6}
.r-card{padding:0;overflow-x:auto}
.r-table{min-width:880px}
.r-table th,.r-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.r-head{text-align:center;min-width:120px;position:relative;background:#f8fafc}
.r-head .r-name{width:100%;text-align:center;font-weight:700;border-color:transparent;background:transparent;min-height:32px;padding:4px}
.r-head .r-name:hover:not(:disabled){border-color:#d5dae1;background:#fff}
.r-head small{display:block;color:var(--muted);font-weight:400;font-size:12px}
.r-dot{display:block;width:26px;height:5px;border-radius:3px;margin:0 auto 6px}
.r-del{position:absolute;top:4px;right:4px;min-height:24px!important;padding:2px 6px!important}
.r-perm b{display:block;font-size:14px;font-weight:600}.r-perm small{color:var(--muted);font-size:12px}
.r-cell{text-align:center}.r-cell input{width:18px;height:18px;cursor:pointer}
.r-group td{background:#f1f5f9;font-size:12px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.4px;padding:7px 12px}

/* ==================================================================
   Orders table polish (2026-11-13): aligned rows, compact cells
   ================================================================== */
.ot-wrap{border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow)}
.orders-table{min-width:1240px}
.orders-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc;color:#475569;font-size:12.5px;font-weight:600;padding:12px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.orders-table td{vertical-align:top;padding:16px 12px;border-bottom:1px solid #eef1f5;font-size:13.5px}
.orders-table tbody tr:nth-child(even){background:transparent}
.orders-table tbody tr:hover{background:#f7f9ff}
.ot-chk{width:34px}.ot-chk input{width:17px;height:17px;margin-top:4px;cursor:pointer}
/* product */
.ot-img{width:96px}
.thumb-lg{width:68px;height:68px;border-radius:10px;border:1px solid var(--line);background:#fff}
.img-name{font-size:11.5px;color:var(--muted);max-width:90px;margin-top:6px}
/* customer */
.ot-cust{min-width:220px;max-width:270px}
.ot-num{font-size:13.5px}
.ot-name{font-size:14.5px;margin:4px 0 2px}
.ot-addr{font-size:13px;color:#4b5563;line-height:1.45}
.ot-cust .muted.tiny{margin-top:4px}
/* mobile */
.ot-phone a:first-child{font-size:14px}
.ot-phone .tiny{display:inline-flex;margin-top:4px;color:#16a34a}
/* status */
.status-pill{min-width:132px;min-height:32px;padding:5px 12px;border-radius:8px;font-size:12.5px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.12)}
.wc-tag{margin-top:7px;font-size:11px}
/* note */
.ot-note{min-width:170px;max-width:220px}
.rn-top{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}
.rn-preview{flex:1;min-width:0;font-size:13px;color:#374151;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rn-add{color:var(--muted);border-style:dashed}
.rn-add:hover{color:var(--blue);border-color:var(--blue)}
.btn.icon-only{width:32px;min-width:32px;padding:0;justify-content:center}
.btn.icon-only .ic{margin:0}
/* same customer + calls */
.ot-calls{min-width:150px}
.ot-calls>*{margin-bottom:7px}
.same-tag{font-size:11.5px;padding:3px 9px;border-radius:20px;background:#f1f5f9;color:#475569;font-weight:600}
.same-tag.repeat{background:#fef3c7;color:#92400e}
.call-btn .cnt{background:#dbeafe;color:#1d4ed8;border-radius:10px;padding:0 6px;font-size:11px;margin-left:2px}
/* courier history (compact) */
.hc{display:flex;flex-direction:column;gap:7px;min-width:190px;max-width:230px}
.hc-stats{display:flex;gap:10px;font-size:12.5px;color:#475569;white-space:nowrap}
.hc-stats b{color:#111827;font-weight:700}
.hc-stats .ok b{color:#15803d}.hc-stats .bad b{color:#b91c1c}
.hc .hist-bar{margin:0;height:6px;border-radius:4px}
.hc-tags{display:flex;flex-wrap:wrap;gap:5px}
.hc-tag{display:inline-flex;align-items:center;gap:4px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:20px;cursor:pointer;font-family:inherit}
.hc-tag.solid{background:#dc2626;border-color:#dc2626;color:#fff}
.hc-tag .ic{width:12px;height:12px}
.hc .risk{font-size:11.5px;padding:2px 8px;border-radius:20px}
.hc-rep{font-size:12px;color:#7f1d1d;background:#fff5f5;border:1px solid #fde2e2;border-radius:8px;padding:5px 8px;cursor:pointer;line-height:1.35}
.hc-rep b{color:#b91c1c}
.hc-actions{display:flex;gap:6px;align-items:center}
.hc .own-rep{margin:0;border:1px solid #d5dae1;border-radius:9px;background:#fff;color:var(--muted)}
.hc .own-rep:hover{color:#b91c1c;border-color:#fca5a5}
/* courier + delivery */
.ot-calls .sf-btn{margin-top:0}
.ot-del>*{margin-bottom:6px}
.dl-badge{font-size:12px}
/* actions */
.ot-view{width:120px}
.act-row{display:flex;gap:6px}
/* bulk bar */
.bulk-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0}
.bulk-check{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:#374151;margin-right:auto}
.bulk-check input{width:17px;height:17px}
.bulk-bar .btn:disabled{opacity:.45}
.bulk-ship{margin-left:4px}
body:not(.p-orders-note) .hc .tbl-btn,body:not(.p-orders-note) .hc-tag{pointer-events:none;opacity:.5}
/* fit all columns on a normal laptop screen */
.orders-table{min-width:1180px}
.orders-table td{padding:14px 9px}
.orders-table thead th{padding:11px 9px}
.ot-img{width:84px}.thumb-lg{width:62px;height:62px}.img-name{max-width:80px}
.ot-cust{min-width:185px;max-width:215px}
.status-pill{min-width:116px}
.ot-note{min-width:120px;max-width:150px}
.ot-calls{min-width:108px}
.hc{min-width:165px;max-width:190px}
.hc-stats{gap:7px;font-size:12px}
.ot-del{min-width:96px}
.ot-view{width:auto}
.act-row{gap:4px}
.act-row .btn.icon-only{width:30px;min-width:30px;min-height:30px}
.same-tag[role=button]{cursor:pointer}.same-tag[role=button]:hover{background:#fde68a}.cur-row{background:#eff6ff}
.img-qty{position:absolute;left:-5px;top:-6px;background:#dc2626;color:#fff;font-size:12px;font-weight:700;padding:1px 7px;border-radius:10px;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.qty-strong{color:#dc2626}
.modal-card.modal-sm:has(.wide-modal){width:820px}
.wide-modal .acc-table table{min-width:0}

/* ==================================================================
   Layout organize (2026-11-13): grouped sidebar, page-aware topbar
   ================================================================== */
#sidebar{width:248px;flex-basis:248px;background:#0b1730;border-right:1px solid rgba(255,255,255,.04)}
.logo{display:flex;align-items:center;gap:11px;padding:18px 16px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.logo-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#22c55e,#15803d);display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;box-shadow:0 4px 12px rgba(22,163,74,.35)}
.logo-mark .ic{width:20px;height:20px;color:#fff}
.logo .lbl b{display:block;font-size:16px;line-height:1.2;color:#fff}
.logo .lbl small{display:block;font-size:11.5px;color:#7f8fb0;letter-spacing:.3px}
#sideNav{padding:10px 10px;gap:0;overflow-y:auto;flex:1}
.nav-group{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.nav-group-title{font-size:11px;font-weight:700;color:#6b7ca1;letter-spacing:.6px;text-transform:uppercase;padding:6px 12px 4px}
.nav{font-size:14.5px;padding:9px 12px;border-radius:9px;color:#c7d2e6;gap:11px;position:relative}
.nav .ic{width:18px;height:18px;opacity:.85}
.nav:hover{background:rgba(255,255,255,.06);color:#fff}
.nav.active{background:rgba(34,197,94,.14);color:#fff;font-weight:600}
.nav.active::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#22c55e}
.nav.active .ic{opacity:1;color:#4ade80}
.count-badge{background:rgba(255,255,255,.12);color:#e2e8f0;font-size:11.5px;padding:1px 8px;margin-left:auto}
.nav.active .count-badge{background:#22c55e;color:#fff}
.side-stores{padding:12px 16px 16px;border-top:1px solid rgba(255,255,255,.07)}
.side-stores-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#6b7ca1;margin-bottom:6px}
.side-count{background:rgba(255,255,255,.1);color:#cbd5e1;border-radius:8px;padding:0 6px;font-size:11px}
.side-store{font-size:13px;color:#cbd5e1;padding:5px 0}
.side-store .ic{width:15px;height:15px;color:#7f8fb0}
body.sb-collapsed .nav-group-title{display:none}
body.sb-collapsed .nav-group{margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06)}
body.sb-collapsed .nav.active::before{left:-10px}
body.sb-collapsed #sidebar .logo{padding:16px 0}
/* topbar */
.topbar{min-height:64px;padding:10px 22px;gap:14px;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.top-title{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.top-title b{font-size:18px;font-weight:700;color:#0f172a}
.top-title small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw}
.top-right{gap:8px}
.lang-toggle{display:inline-flex;border:1px solid #d5dae1;border-radius:9px;overflow:hidden;background:#fff;padding:0;cursor:pointer;height:36px;font:inherit}
.lang-toggle span{padding:0 10px;display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--muted)}
.lang-toggle:not(.active) .lt-bn,.lang-toggle.active .lt-en{background:#0f172a;color:#fff}
.user-wrap{position:relative}
.user-btn{display:flex;align-items:center;gap:9px;border:1px solid transparent;background:none;padding:4px 8px 4px 4px;border-radius:12px;cursor:pointer;font:inherit;color:inherit}
.user-btn:hover{background:#f4f6f9;border-color:var(--line)}
.user-btn .avatar{width:36px;height:36px;font-size:15px}
.user-meta b{font-size:14px;color:#0f172a}.user-meta small{font-size:12px}
.user-chev{width:16px;height:16px;color:var(--muted);transform:rotate(90deg)}
.user-menu{position:absolute;right:0;top:50px;width:230px;padding:6px;z-index:60;box-shadow:0 12px 30px rgba(15,23,42,.16)}
.um-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:10px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:14px;color:#1f2937;text-align:left}
.um-item:hover{background:#f4f6f9}
.um-item.danger{color:#b91c1c}.um-item.danger:hover{background:#fef2f2}
.um-item .ic{width:17px;height:17px}
/* one title per page: the topbar shows it; keep page actions */
main .page-title{display:none}
main .page-head .page-sub{display:none}
main .page-head{justify-content:flex-end;margin-bottom:12px}
main .page-head:not(:has(.btn)){display:none}
main .orders-head{justify-content:flex-end;margin:0 0 10px}
main section > p.muted.small:first-of-type{margin-top:0}
@media(max-width:700px){.top-title small{display:none}.user-meta,.user-chev{display:none}}
.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:18px}
.store-grid .pager{grid-column:1/-1}
.store-forms{display:grid;grid-template-columns:3fr 2fr;gap:16px;align-items:start}
@media(max-width:1000px){.store-forms{grid-template-columns:1fr}}
/* bulk "Send to Steadfast": readable in every state */
.btn.bulk-ship{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600}
.btn.bulk-ship:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.btn.bulk-ship .ic{color:#fff}
.btn.bulk-ship:disabled{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8;opacity:1}

/* ==================================================================
   APPLE THEME (2026-11-13) — follows Apple HIG: system colors, light
   translucent chrome, filled/gray buttons, tinted labels, inset lists.
   This block sits last and overrides earlier styles.
   ================================================================== */
:root{
  --bg:#f5f5f7; --card:#ffffff; --text:#1d1d1f; --muted:#6e6e73; --line:rgba(60,60,67,.12); --line-2:rgba(60,60,67,.08);
  --fill:rgba(120,120,128,.12); --fill-2:rgba(120,120,128,.08); --fill-3:rgba(120,120,128,.18);
  --blue:#007aff; --blue-d:#0062cc; --green:#34c759; --green-d:#248a3d; --red:#ff3b30; --orange:#ff9500; --yellow:#ffcc00; --purple:#af52de; --teal:#30b0c7; --indigo:#5856d6;
  --brand:#007aff; --brand-d:#0062cc; --radius:14px; --shadow:0 1px 2px rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.02); --shadow-lg:0 10px 40px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);
}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Hind Siliguri","Helvetica Neue",system-ui,"Noto Sans Bengali",sans-serif;background:var(--bg);color:var(--text);font-size:14px;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
a{color:var(--blue)}
::selection{background:rgba(0,122,255,.2)}
.muted{color:var(--muted)}
main{padding:24px 28px}

/* ---- cards: borderless, soft ---- */
.card,.set-card,.acc-kpi,.dash-stat,.live-hero{background:var(--card);border:0;border-radius:var(--radius);box-shadow:var(--shadow),0 0 0 .5px var(--line)}

/* ---- buttons ---- */
.btn{min-height:34px;padding:6px 14px;border-radius:9px;border:0;background:var(--fill);color:var(--blue);font-weight:500;font-size:14px;box-shadow:none}
.btn:hover:not(:disabled){background:var(--fill-3);border:0}
.btn:active:not(:disabled){transform:scale(.98)}
.btn.primary,.btn.navy{background:var(--blue);color:#fff;border:0}
.btn.primary:hover:not(:disabled),.btn.navy:hover:not(:disabled){background:var(--blue-d)}
.btn.danger,.btn.tbl-btn.danger{background:var(--fill);color:var(--red);border:0}
.btn.danger:hover:not(:disabled),.btn.tbl-btn.danger:hover:not(:disabled){background:rgba(255,59,48,.12)}
.btn.tbl-btn{min-height:30px;padding:4px 11px;font-size:13px;border-radius:8px;border:0}
.btn.icon-only{width:30px;min-width:30px;min-height:30px;border-radius:8px}
.btn:disabled{opacity:.4}
.btn.bulk-ship{background:var(--blue);color:#fff}
.btn.bulk-ship:hover:not(:disabled){background:var(--blue-d);color:#fff}
.btn.bulk-ship:disabled{background:var(--fill);color:var(--muted)}
.btn .ic{color:currentColor}

/* ---- inputs: gray-filled, no border ---- */
input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea{background:var(--fill-2);border:0;border-radius:9px;color:var(--text);box-shadow:none}
input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):hover,select:hover{background:var(--fill)}
input:focus,select:focus,textarea:focus{background:#fff;box-shadow:0 0 0 3.5px rgba(0,122,255,.3),0 0 0 1px var(--blue)}
input[type=checkbox],input[type=radio]{accent-color:var(--blue)}
.search-bar{background:var(--fill-2);border:0;border-radius:11px;box-shadow:none;padding:2px 12px}
.search-bar input{background:transparent!important;box-shadow:none!important}
.search-bar:focus-within{background:#fff;box-shadow:0 0 0 3.5px rgba(0,122,255,.3),0 0 0 1px var(--blue)}
.field>span:first-child{font-size:12.5px;font-weight:500;color:var(--muted)}

/* ---- chips as segmented / pill filters ---- */
.fchip{background:var(--fill-2);border:0;border-radius:20px;padding:6px 13px;font-size:13px;color:var(--text);font-weight:500}
.fchip:hover{background:var(--fill)}
.fchip.active{background:var(--text);color:#fff}
.fchip.active .sdot{box-shadow:0 0 0 2px rgba(255,255,255,.6)}
.chip,.chip-check{background:var(--fill-2);border:0;border-radius:20px}
.chip.sel{background:var(--blue);color:#fff}
.filter-bar{background:var(--card);border:0;box-shadow:var(--shadow),0 0 0 .5px var(--line);border-radius:12px}
.flt{background:var(--fill-2)!important}
.bulk-bar{background:var(--card);border:0;box-shadow:var(--shadow),0 0 0 .5px var(--line)}

/* ---- sidebar: light, translucent (macOS) ---- */
#sidebar{background:rgba(246,246,248,.86);backdrop-filter:saturate(1.8) blur(20px);-webkit-backdrop-filter:saturate(1.8) blur(20px);color:var(--text);border-right:.5px solid var(--line)}
.logo{border-bottom:0;padding:20px 18px 14px}
.logo .lbl b{color:var(--text);font-size:15px;font-weight:700}
.logo .lbl small{color:var(--muted)}
.logo-mark{background:linear-gradient(180deg,#34c759,#248a3d);box-shadow:0 2px 6px rgba(52,199,89,.35);border-radius:9px}
.nav-group-title{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:none;padding:8px 12px 4px}
.nav{color:var(--text);font-size:14px;padding:7px 10px;border-radius:8px;gap:10px}
.nav .ic{color:var(--blue);opacity:1;width:18px;height:18px}
.nav:hover{background:var(--fill-2);color:var(--text)}
.nav.active{background:var(--fill-3);color:var(--text);font-weight:600}
.nav.active::before{display:none}
.nav.active .ic{color:var(--blue)}
.count-badge{background:transparent;color:var(--muted);font-weight:500;font-size:12px;padding:0}
.nav.active .count-badge{background:transparent;color:var(--muted)}
.side-stores{border-top:.5px solid var(--line)}
.side-stores-title{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:600}
.side-count{background:var(--fill);color:var(--muted)}
.side-store{color:var(--text)}.side-store .ic{color:var(--muted)}
.woo-mini{background:var(--purple);border-radius:5px}
body.sb-collapsed .nav-group{border-bottom:.5px solid var(--line)}
@media(max-width:700px){#sidebar{background:rgba(246,246,248,.97)}}

/* ---- topbar: translucent ---- */
.topbar{background:rgba(255,255,255,.72);backdrop-filter:saturate(1.8) blur(20px);-webkit-backdrop-filter:saturate(1.8) blur(20px);border-bottom:.5px solid var(--line);min-height:60px}
.top-title b{font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--text)}
.top-title small{color:var(--muted)}
.burger{color:var(--blue)}.burger:hover{background:var(--fill-2)}
.bell .ic{color:var(--text)}
button.bell:hover{background:var(--fill-2)}
.bell-count{background:var(--red)}
.lang-toggle{background:var(--fill);border:0;border-radius:8px;padding:2px;height:32px;gap:2px}
.lang-toggle span{border-radius:6px;color:var(--text);font-weight:500;padding:0 10px}
.lang-toggle:not(.active) .lt-bn,.lang-toggle.active .lt-en{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.user-btn:hover{background:var(--fill-2);border-color:transparent}
.avatar{background:linear-gradient(180deg,#8e8e93,#636366)}
.user-btn .avatar{background:linear-gradient(180deg,#5ac8fa,#007aff)}

/* ---- menus / popovers ---- */
.user-menu,.bell-menu{background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:var(--shadow-lg),0 0 0 .5px var(--line);padding:6px}
.um-item{border-radius:7px;padding:8px 10px}
.um-item:hover{background:var(--blue);color:#fff}
.um-item.danger{color:var(--red)}.um-item.danger:hover{background:var(--red);color:#fff}
.bm-item{border:0;background:var(--fill-2);border-radius:10px}
.bm-item.unread{background:rgba(0,122,255,.08)}
.bm-item.unread b::before{background:var(--blue)}

/* ---- modal = sheet ---- */
.modal{background:rgba(0,0,0,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);align-items:flex-start;padding-top:8vh}
.modal-card{border-radius:18px;box-shadow:var(--shadow-lg);border:0;padding:22px 24px}
.modal-card h3{font-size:18px;font-weight:700;letter-spacing:-.02em}
/* toasts */
.toast{background:rgba(29,29,31,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:14px;box-shadow:var(--shadow-lg)}
.toast.new{background:rgba(36,138,61,.92)}.toast.warn{background:rgba(201,107,0,.92)}

/* ---- tinted labels (status, tags, risk) ---- */
.status-pill{--c:#8e8e93;background:color-mix(in srgb,var(--c) 14%,#fff)!important;color:color-mix(in srgb,var(--c) 78%,#000)!important;border:0;box-shadow:none;font-weight:600;border-radius:8px;min-height:30px}
.status-pill option{color:#1d1d1f;background:#fff}
.status-select.status-pill{min-width:180px;min-height:36px;padding:6px 12px}
.badge{background:var(--fill);color:var(--text);border-radius:6px;font-weight:500}
.badge.pending{background:rgba(255,149,0,.15);color:#a35a00}.badge.confirmed{background:rgba(0,122,255,.12);color:#0057b8}
.badge.shipped{background:rgba(48,176,199,.15);color:#1b7486}.badge.delivered{background:rgba(52,199,89,.15);color:#1e7a36}
.badge.cancelled{background:rgba(255,59,48,.12);color:#c4261d}
.risk{border-radius:6px!important;font-weight:600}
.risk.trusted{background:rgba(52,199,89,.15);color:#1e7a36}.risk.careful{background:rgba(255,149,0,.15);color:#a35a00}
.risk.high{background:rgba(255,59,48,.12);color:#c4261d}.risk.new{background:var(--fill);color:var(--muted)}
.same-tag{background:var(--fill);color:var(--muted);border-radius:6px}
.same-tag.repeat{background:rgba(255,149,0,.15);color:#a35a00}
.hc-tag{background:rgba(255,59,48,.1);border:0;color:#c4261d;border-radius:6px}
.hc-tag.solid{background:var(--red);color:#fff}
.hc-rep{background:rgba(255,59,48,.06);border:0;border-radius:8px}
.wc-tag{background:var(--fill-2);border:0;color:var(--muted);border-radius:6px}
.dl-badge{border-radius:6px}
.dl-badge.ok{background:rgba(52,199,89,.15);color:#1e7a36}.dl-badge.bad{background:rgba(255,59,48,.12);color:#c4261d}.dl-badge.warn{background:rgba(255,149,0,.15);color:#a35a00}
.sent-tag{background:rgba(52,199,89,.15);color:#1e7a36;border-radius:6px}
.cons-box{background:rgba(0,122,255,.06);border:0;border-radius:10px}
.cons-id{color:#0057b8}
.pill.ok{background:rgba(52,199,89,.15);color:#1e7a36}.pill.off{background:var(--fill);color:var(--muted)}
.acc-st{border-radius:6px}
.acc-st.delivered{background:rgba(52,199,89,.15);color:#1e7a36}.acc-st.partial_delivered{background:rgba(255,149,0,.15);color:#a35a00}.acc-st.cancelled{background:rgba(255,59,48,.12);color:#c4261d}
.img-qty{background:var(--red)}
.call-btn .cnt{background:rgba(0,122,255,.12);color:#0057b8}

/* ---- tables: inset grouped lists ---- */
table{background:transparent}
th{background:transparent!important;color:var(--muted)!important;font-weight:500!important;font-size:12px!important;letter-spacing:0;border-bottom:.5px solid var(--line)!important}
td{border-bottom:.5px solid var(--line-2)!important}
tbody tr:last-child td{border-bottom:0!important}
.ot-wrap,.acc-table,.u-card,.r-card,.st-table{background:var(--card);border:0!important;border-radius:var(--radius);box-shadow:var(--shadow),0 0 0 .5px var(--line)}
.orders-table thead th{background:rgba(250,250,252,.95)!important;backdrop-filter:blur(10px)}
.orders-table tbody tr:hover,.acc-table tbody tr:hover{background:rgba(0,122,255,.035)}
.thumb,.thumb-lg{border:0!important;box-shadow:0 0 0 .5px var(--line);border-radius:10px;background:#fafafa}
.acc-warn{background:rgba(255,149,0,.05)}
.r-group td{background:var(--fill-2)!important;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:600}
.r-head{background:transparent!important}

/* ---- settings / segmented navigation ---- */
.set-link{background:transparent;border:0;border-radius:10px;padding:10px 12px}
.set-link:hover{background:var(--fill-2);border:0}
.set-link.active{background:var(--card);box-shadow:var(--shadow),0 0 0 .5px var(--line);border:0}
.set-link .ic{color:var(--blue)}
.set-card-head{border-bottom:.5px solid var(--line)}
.set-card-head h3 .ic{color:var(--blue)}
.set-help{background:var(--fill-2);border:0;color:var(--muted)}
.u-tabs,.acc-tabs{gap:6px}
.u-switch span{background:#e9e9eb}.u-switch input:checked+span{background:var(--green)}
.u-av{background:linear-gradient(180deg,#8e8e93,#636366)}
.r-cell input,.ot-chk input{accent-color:var(--blue)}

/* ---- accounts ---- */
.acc-step{background:var(--card);border:0;box-shadow:var(--shadow),0 0 0 .5px var(--line);border-radius:12px}
.acc-step.current{box-shadow:0 0 0 2px var(--blue)}
.acc-step-n{background:var(--fill)}
.acc-step.done .acc-step-n{background:var(--green)}.acc-step.current .acc-step-n{background:var(--blue)}
.acc-pbar,.hist-bar{background:var(--fill)}
.acc-pbar span,.hb-ok{background:var(--green)}.hb-bad{background:var(--red)}
.acc-alert{background:rgba(255,149,0,.1);box-shadow:none;color:#8a4b00}
.acc-extra .btn.on{background:rgba(0,122,255,.12);color:var(--blue)}
.green{color:var(--green-d)}.red{color:var(--red)}

/* ---- dashboard / pager ---- */
.stat-ic{color:var(--blue)}
.pg-btn{border:0;background:var(--fill-2);border-radius:8px}
.pg-btn.cur{background:var(--blue);color:#fff}
.pg-size{background:var(--fill-2)!important}

/* ---- login ---- */
.login-wrap{background:radial-gradient(1200px 600px at 20% 0%,#e8f0ff 0%,transparent 60%),radial-gradient(900px 500px at 100% 100%,#eafbef 0%,transparent 60%),var(--bg);padding-top:14vh}
.login-card{position:relative;width:360px;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:22px;box-shadow:var(--shadow-lg),0 0 0 .5px var(--line);padding:34px 30px 24px;text-align:center}
.login-mark{display:inline-flex;width:64px;height:64px;border-radius:16px;align-items:center;justify-content:center;background:linear-gradient(180deg,#34c759,#248a3d);box-shadow:0 6px 18px rgba(52,199,89,.35)}
.login-mark .ic{width:34px;height:34px;color:#fff}
.login-card h1{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:14px 0 4px}
.login-sub{color:var(--muted);margin:0 0 22px}
.login-fields{display:flex;flex-direction:column;gap:10px}
.login-fields input{width:100%;min-height:44px!important;font-size:15px}
.login-btn{width:100%;min-height:44px;margin-top:16px;font-size:15px;font-weight:600;border-radius:11px}
.login-lang{position:absolute;top:14px;right:14px}
.details-head h2{display:none}.details-head{gap:10px}
/* ---- Assign page: calm, one decision per row (Apple-style) ---- */
.as-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:16px 20px;margin-bottom:14px}
.as-prog{flex:1;min-width:260px}
.as-prog-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.as-prog-top b{font-size:15px}
.as-tools{display:flex;gap:6px;flex-wrap:wrap}
.btn.warn-link{color:#a35a00;background:rgba(255,149,0,.12)}
.seg{display:inline-flex;background:var(--fill);border-radius:9px;padding:2px;gap:2px;margin-bottom:12px}
.seg button{border:0;background:transparent;font:inherit;font-size:13.5px;font-weight:500;color:var(--text);padding:6px 16px;border-radius:7px;cursor:pointer}
.seg button.on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
.seg button b{font-weight:600;color:var(--muted);margin-left:4px}
.seg.small{margin-bottom:0}
.as-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.as-bar .muted{flex:1;min-width:240px}
.as-list{padding:0;overflow:hidden}
.as-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:.5px solid var(--line-2)}
.as-row:last-child{border-bottom:0}
.as-row:hover{background:rgba(0,122,255,.03)}
.as-name{display:flex;flex-direction:column;min-width:0;flex:1}
.as-name b{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.as-left{color:#c96b00;font-weight:600}
.as-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.as-pick select{min-width:240px;max-width:300px}
.as-pick .acc-num{width:70px}
.as-cur{display:inline-flex;align-items:center;gap:5px;background:rgba(52,199,89,.13);color:#1e7a36;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:7px;max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.as-cur .ic{width:13px;height:13px}
.as-row.ok .as-pick select{opacity:.85}
.as-empty{padding:40px;text-align:center;color:#1e7a36;font-weight:600;display:flex;justify-content:center;align-items:center;gap:8px}
@media(max-width:900px){.as-row{flex-direction:column;align-items:stretch}.as-pick{justify-content:flex-start}}
/* ==================================================================
   Customers / Products / Reports / Courier (2026-11-13)
   ================================================================== */
#tab-products > p.muted{display:none}
.kp-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kp-row.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.kp{padding:14px 16px;display:flex;flex-direction:column;gap:3px;min-width:0}
.kp-l{font-size:12.5px;color:var(--muted);font-weight:500}
.kp-v{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.kp-v.green{color:var(--green-d)}.kp-v.red{color:var(--red)}
.kp-s{font-size:12px;color:var(--muted)}
.kp-name{font-size:15px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pg-search{flex:1;min-width:260px;margin:0}
.pg-sort{min-width:170px}
.lst{padding:0;overflow:hidden}
.lst-head,.lst-row{display:grid;align-items:center;gap:12px;padding:10px 18px}
.lst-head{font-size:12px;color:var(--muted);font-weight:500;border-bottom:.5px solid var(--line);background:rgba(250,250,252,.9)}
.lst-row{border-bottom:.5px solid var(--line-2);font-size:13.5px;cursor:pointer;min-height:58px}
.lst-row:last-child{border-bottom:0}
.lst-row:hover{background:rgba(0,122,255,.035)}
.lst-row small{display:block;font-size:12px}
.lst-row .r,.lst-head .r{text-align:right}
.lst-empty{padding:36px;text-align:center;color:var(--muted)}
.who{display:flex;align-items:center;gap:11px;min-width:0}
.who b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who small{color:var(--muted)}
.who>span:last-child{min-width:0}
.av{width:36px;height:36px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;flex:0 0 36px;font-size:14px}
.acts{display:flex;gap:4px;justify-content:flex-end}
.tag-mini{display:inline-block;font-size:11px;font-weight:600;padding:1px 6px;border-radius:5px;background:rgba(255,149,0,.15);color:#a35a00;margin-left:4px}
.tag-mini.ok{background:rgba(52,199,89,.15);color:#1e7a36}
.rate{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}
.rate-bar{width:64px;height:6px;border-radius:4px;background:var(--fill);overflow:hidden}
.rate-bar i{display:block;height:100%;background:var(--green)}
.cust-grid{grid-template-columns:minmax(200px,2fr) minmax(110px,1fr) 80px minmax(150px,1.3fr) 110px 120px 76px}
.prod-grid{grid-template-columns:minmax(240px,2.4fr) 90px 80px 70px 120px 70px minmax(180px,1.4fr)}
.prod-grid .thumb-sm{width:44px;height:44px;flex:0 0 44px;border-radius:9px}
.wr-inp{width:100%}
.prod-grid .lst-row,.lst-row.prod-grid{cursor:default}
.store-g{grid-template-columns:2fr 1fr 1fr 1fr}
.cour-g{grid-template-columns:140px minmax(160px,1.4fr) minmax(150px,1.2fr) minmax(130px,1fr) 120px 110px}
.rp-card{padding:16px 18px;margin-bottom:12px}
.rp-card h4{margin:0 0 12px;font-size:15px}
.rp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.rp-head h4{margin:0}
.rp-legend{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.rp-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;margin-left:8px}
.rp-chart{width:100%;height:200px;display:block}
.rp-ax{font-size:10px;fill:#8e8e93}
.rp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rp-bar{display:grid;grid-template-columns:120px 1fr 90px;align-items:center;gap:10px;padding:5px 0;font-size:13px}
.rp-bl{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden}
.rp-bt{height:8px;border-radius:5px;background:var(--fill);overflow:hidden}
.rp-bt i{display:block;height:100%;border-radius:5px}
.rp-bn{text-align:right;font-weight:600}
.rp-top{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:.5px solid var(--line-2);font-size:13.5px}
.rp-top:last-child{border-bottom:0}
.rp-rank{width:22px;height:22px;border-radius:50%;background:var(--fill);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;color:var(--muted);flex:0 0 22px}
.rp-tn{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-big{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:48px 24px}
.empty-big .ic{width:42px;height:42px;color:var(--blue)}
.empty-big b{font-size:16px}.empty-big .muted{max-width:520px}
@media(max-width:1100px){.kp-row,.kp-row.five{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-grid{grid-template-columns:1fr}.lst{overflow-x:auto}.lst-head,.lst-row{min-width:900px}}
/* ---- Dashboard (Apple-style) ---- */
.db-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:4px 0 18px}
.db-hero h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.025em}
.db-hero p{margin:4px 0 0;color:var(--muted);font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.db-sync{display:inline-flex;align-items:center;gap:6px}
.db-sync i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(52,199,89,.2)}
.db-actions{display:flex;gap:8px;flex-wrap:wrap}
.kp-v.orange{color:#c96b00}
.kp-s .up{color:var(--green-d);font-weight:600}.kp-s .down{color:var(--red);font-weight:600}
.db-grid{display:grid;grid-template-columns:minmax(300px,1fr) 1.6fr;gap:14px;margin-bottom:14px;align-items:start}
.db-todo{padding:14px 10px 8px}
.db-todo h4,.db-card h4,.db-recent h4{margin:0 0 8px;font-size:15px;padding:0 8px}
.db-task{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:10px 8px;border-radius:10px;cursor:pointer;text-align:left;font:inherit;color:inherit}
.db-task:hover{background:var(--fill-2)}
.db-task>.ic:last-child{width:16px;height:16px;color:#c7c7cc}
.db-ti{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px}
.db-ti .ic{width:18px;height:18px;color:#fff}
.db-ti.orange{background:var(--orange)}.db-ti.blue{background:var(--blue)}.db-ti.purple{background:var(--purple)}.db-ti.red{background:var(--red)}.db-ti.teal{background:var(--teal)}
.db-task.done .db-ti{background:var(--green)}
.db-task.done .db-tn{color:var(--muted)}
.db-tt{flex:1;min-width:0}.db-tt b{display:block;font-size:14px;font-weight:600}.db-tt small{display:block;color:var(--muted);font-size:12.5px}
.db-tn{font-size:18px;font-weight:700;letter-spacing:-.02em}
.db-card{padding:14px 16px}
.db-chart{width:100%;height:160px;display:block}
.db-mix{margin-top:12px;border-top:.5px solid var(--line);padding-top:12px}
.db-mixbar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:var(--fill);gap:2px}
.db-mixbar i{display:block;height:100%}
.db-mixleg{display:flex;flex-wrap:wrap;gap:4px 12px;margin:10px 0 4px}
.db-mixleg button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;font:inherit;font-size:12.5px;color:var(--text);cursor:pointer;padding:2px 0}
.db-mixleg button:hover{color:var(--blue)}
.db-mixleg i{width:8px;height:8px;border-radius:50%;display:inline-block}
.db-recent{padding-top:12px}
.db-rhead{display:flex;justify-content:space-between;align-items:center;padding:0 10px 6px}
.db-rrow{grid-template-columns:minmax(240px,2fr) 140px 130px 110px}
.db-rrow .thumb-sm{width:40px;height:40px;flex:0 0 40px;border-radius:9px}
.status-tag{--c:#8e8e93;display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:7px;background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 78%,#000)}
@media(max-width:1000px){.db-grid{grid-template-columns:1fr}}
/* ---- Order details (Apple-style) ---- */
.od-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.od-back{margin-top:4px}
.od-title{flex:1;min-width:260px}
.od-title h2{margin:0;font-size:26px;font-weight:700;letter-spacing:-.025em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.od-title h2 .status-tag{font-size:13px}
.od-title p{margin:4px 0 0;color:var(--muted)}
.od-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.od-stepcard{padding:16px 20px;margin-bottom:14px}
.od-steps{display:flex;align-items:center;gap:10px}
.od-step{display:flex;align-items:center;gap:10px;min-width:0}
.od-step b{display:block;font-size:14px}.od-step small{display:block;color:var(--muted);font-size:12px;white-space:nowrap}
.od-dot{width:28px;height:28px;border-radius:50%;background:var(--fill);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;flex:0 0 28px}
.od-dot .ic{width:15px;height:15px}
.od-step.done .od-dot{background:var(--green);color:#fff}
.od-step.now .od-dot{background:var(--blue);color:#fff;box-shadow:0 0 0 4px rgba(0,122,255,.18)}
.od-step:not(.done):not(.now) b{color:var(--muted)}
.od-line{flex:1;height:2px;background:var(--fill);border-radius:2px;min-width:20px}
.od-dead{display:flex;align-items:center;gap:8px;color:#c4261d;font-size:14px;flex-wrap:wrap}
.od-dead .ic{width:18px;height:18px}
.od-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:14px;align-items:start}
.od-main,.od-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.od-card{padding:16px 18px}
.od-ch{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.od-ch h4{margin:0;font-size:15px;display:flex;align-items:center;gap:7px}
.od-ch h4 .ic{color:var(--blue);width:17px;height:17px}
.od-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:.5px solid var(--line-2)}
.od-item .thumb-sm{width:52px;height:52px;flex:0 0 52px;border-radius:10px}
.od-in{flex:1;min-width:0}.od-in b{display:block;font-size:14px}.od-in small{display:block}
.od-iq{color:var(--muted);font-size:13px;white-space:nowrap}
.od-it{min-width:90px;text-align:right}
.od-sum{padding-top:10px;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.od-sum>div{display:flex;justify-content:space-between;color:var(--muted)}
.od-sum .od-total{color:var(--text);font-weight:700;font-size:16px;border-top:.5px solid var(--line);padding-top:10px;margin-top:4px}
.od-kv{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:.5px solid var(--line-2);font-size:13.5px}
.od-kv:last-child{border-bottom:0}.od-kv>span:first-child{color:var(--muted)}
.od-empty{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13.5px;background:var(--fill-2);border-radius:10px;padding:12px 14px}
.od-empty span{flex:1}
.od-tl{display:flex;flex-direction:column}
.od-ev{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:start;padding:9px 0;border-bottom:.5px solid var(--line-2)}
.od-ev:last-child{border-bottom:0}
.od-evi{width:28px;height:28px;border-radius:50%;background:var(--fill-2);display:inline-flex;align-items:center;justify-content:center}
.od-evi .ic{width:14px;height:14px;color:var(--blue)}
.od-ev b{display:block;font-size:13.5px;font-weight:600}.od-ev small{display:block;color:var(--muted);font-size:12.5px}
.od-cust b{display:block;font-size:16px}
.od-phone{display:inline-block;font-size:15px;font-weight:600;margin-top:2px}
.od-cbtn{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0;align-items:center}
.od-addr{display:flex;gap:8px;color:#3a3a3c;font-size:13.5px;line-height:1.45;background:var(--fill-2);border-radius:10px;padding:10px 12px}
.od-addr .ic{flex:0 0 16px;color:var(--muted);margin-top:2px}
.od-risk{display:flex;flex-direction:column;gap:8px}
.od-risk .risk{width:max-content}
.od-own{border-top:.5px solid var(--line);margin-top:12px;padding-top:12px}
.od-ownh{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.od-add summary{cursor:pointer;color:var(--blue);font-size:13.5px;display:inline-flex;align-items:center;gap:6px;margin-top:4px}
.od-add .own-form{border:0;padding-top:6px}
.fu-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.fu-d{display:inline-flex;align-items:center;gap:5px;border:0;background:var(--fill-2);border-radius:8px;padding:6px 10px;font:inherit;font-size:13px;cursor:pointer;color:var(--text)}
.fu-d .ic{width:14px;height:14px}
.fu-d.on{background:var(--blue);color:#fff}
#detailsBody textarea{width:100%;min-height:70px;margin:0 0 8px}
.od-status{width:100%;min-height:38px!important;margin-bottom:6px}
@media(max-width:1000px){.od-grid{grid-template-columns:1fr}.od-steps{flex-wrap:wrap}.od-line{display:none}}
/* ---- Orders page (Apple-style, 2026-11-13) ---- */
#tab-orders .oh-bar{display:flex;gap:10px;align-items:center;margin:0 0 12px}
#tab-orders .oh-bar .search-bar{flex:1;margin:0;min-height:42px}
#tab-orders .oh-bar #syncAll{min-height:42px;white-space:nowrap}
.ost-tabs{display:flex;align-items:center;gap:10px;margin:0 0 10px;flex-wrap:wrap}
.ost-seg{display:flex;gap:2px;background:var(--fill-2);border-radius:11px;padding:3px;overflow-x:auto;max-width:100%;scrollbar-width:none}
.ost-seg::-webkit-scrollbar{display:none}
.ost{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;border-radius:8px;padding:7px 13px;font:inherit;font-size:13.5px;font-weight:500;color:var(--text);cursor:pointer;white-space:nowrap}
.ost:hover{background:rgba(0,0,0,.04)}
.ost.on{background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04);font-weight:600}
.ost .sdot{width:8px;height:8px;border-radius:50%;display:inline-block}
.ost-n{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.ost.on .ost-n{color:var(--text)}
.ost-more{width:auto!important;min-width:150px;margin:0!important;border-radius:10px!important;font-size:13.5px!important}
.ost-more.on{box-shadow:0 0 0 2px var(--blue)!important;color:var(--blue)}
#tab-orders .filter-bar{box-shadow:none;background:transparent;padding:0;margin:0 0 10px;gap:8px}
#tab-orders .filter-bar .flt{width:auto;margin:0;min-height:34px;padding:5px 30px 5px 11px;font-size:13px;border-radius:9px}
#tab-orders .flt-lbl{color:var(--muted);display:inline-flex}
#tab-orders .flt-sum{margin-left:auto}
#syncMsg:empty{display:none}
/* select column */
.orders-table th.ot-chk,.orders-table td.ot-chk{width:34px;text-align:center}
.orders-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue);cursor:pointer;margin:0}
.orders-table thead th{position:sticky;top:0;z-index:2;background:var(--fill-2);font-size:12px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;border-bottom:.5px solid var(--line)}
.orders-table tbody tr.ot-row:hover td{background:#fafafc}
.orders-table tbody tr.ot-row:has(.sel:checked) td{background:rgba(0,122,255,.06)}
/* floating action bar — appears only when orders are selected */
#tab-orders .bulk-bar{position:fixed;left:50%;bottom:22px;transform:translate(-50%,140%);opacity:0;pointer-events:none;z-index:60;margin:0;
  background:rgba(30,30,32,.94);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);color:#fff;border-radius:16px;padding:8px 8px 8px 16px;
  box-shadow:0 12px 40px rgba(0,0,0,.28);gap:6px;flex-wrap:nowrap;max-width:calc(100vw - 32px);overflow-x:auto;transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .2s}
#tab-orders .bulk-bar.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
#tab-orders .bulk-bar .bulk-check{color:#fff;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
#tab-orders .bulk-bar .bulk-check input{accent-color:var(--blue);width:16px;height:16px;margin:0}
.bulk-sep{width:1px;height:22px;background:rgba(255,255,255,.2);margin:0 4px}
#tab-orders .bulk-bar .btn{background:rgba(255,255,255,.12)!important;color:#fff!important;border:0!important;white-space:nowrap}
#tab-orders .bulk-bar .btn:hover:not(:disabled){background:rgba(255,255,255,.2)!important}
#tab-orders .bulk-bar .btn.bulk-ship:not(:disabled){background:var(--blue)!important}
#tab-orders .bulk-bar .btn:disabled{opacity:.4}
#tab-orders .bulk-bar .bulk-x{background:transparent!important}
@media(max-width:700px){#tab-orders .oh-bar #syncAll span{display:none}#tab-orders .flt-sum{margin-left:0;width:100%}}

/* WhatsApp / manual order entry (2026-11-13) */
.btn.wa-add{background:#25d366;border-color:#25d366;color:#fff;white-space:nowrap}
.btn.wa-add:hover{background:#1ebe5a;border-color:#1ebe5a}
.mo-modal #mo_paste{width:100%;margin:4px 0 12px;background:#f0fdf4;border:1px dashed #86efac}
.mo-line{display:grid;grid-template-columns:minmax(0,1fr) 70px 110px 38px;gap:8px;margin-bottom:8px}
.mo-line input{min-width:0}
.mo-add-line{align-self:flex-start;font-size:13px}
.mo-totals{margin:10px 0 0;font-size:15px}
@media (max-width:560px){.mo-line{grid-template-columns:minmax(0,1fr) 56px 80px 34px}}
@media (max-width:560px){.modal{padding:12px}.modal-card,.modal-card.modal-sm{max-width:100%;width:100%;margin-top:0}}
#modalBody .mo-modal input.mo-filled,#modalBody .mo-modal textarea.mo-filled,#modalBody .mo-modal .mo-line[data-auto="1"] input{background:#f0fdf4;border-color:#86efac}
.mo-repeat{color:#15803d;font-size:12px;font-weight:600}
.mo-modal #mo_paste{min-height:84px}

/* Settings → notifications (2026-11-13) */
.ns-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.ns-row:last-of-type{border-bottom:0}
.ns-txt b{display:block;font-size:14.5px}.ns-txt small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.ns-ctl{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ns-ctl input[type=range]{width:160px;accent-color:var(--brand)}
.ns-vol,.ns-state{min-width:42px;font-size:13px}
.switch{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0;position:absolute}
.switch span{position:absolute;inset:0;background:#cbd5e1;border-radius:26px;cursor:pointer;transition:.2s}
.switch span::before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.switch input:checked+span{background:var(--brand,#16a34a)}
.switch input:checked+span::before{transform:translateX(20px)}
.switch input:focus-visible+span{outline:2px solid #93c5fd;outline-offset:2px}
@media (max-width:640px){.ns-row{flex-direction:column;align-items:flex-start}}

/* Top bar: my notes & tasks (2026-11-13) */
.todo-wrap{position:relative}
.todo-count.calm{background:#64748b}
.todo-menu{width:380px;padding:10px 12px 8px}
.td-tabs{display:flex;gap:4px;background:var(--fill-2,#f1f5f9);padding:3px;border-radius:9px;margin-bottom:10px}
.td-tabs button{flex:1;border:0;background:none;font:inherit;font-size:13.5px;font-weight:600;padding:7px 8px;border-radius:7px;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;gap:6px}
.td-tabs button.on{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.td-tabs button b{background:var(--blue,#2563eb);color:#fff;border-radius:10px;font-size:11px;padding:0 6px;line-height:17px}
.td-tabs .ic{width:15px;height:15px}
.td-add{display:flex;gap:6px;margin-bottom:8px}
.td-add input:first-child{flex:1;min-width:0}
.td-add-note{flex-direction:column}
.td-add-note textarea{width:100%;resize:vertical;font:inherit}
.td-add-note .btn{align-self:flex-end}
.td-date{width:42px;padding-left:6px;padding-right:2px;color:var(--muted)}
.td-date:focus,.td-item .td-date{width:140px}
.td-list{max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.td-item{display:flex;align-items:flex-start;gap:9px;padding:7px 6px;border-radius:8px}
.td-item:hover{background:var(--fill-2,#f8fafc)}
.td-check{position:relative;width:20px;height:20px;flex-shrink:0;margin-top:1px;cursor:pointer}
.td-check input{opacity:0;position:absolute;inset:0;margin:0;cursor:pointer}
.td-check span{position:absolute;inset:0;border:2px solid #94a3b8;border-radius:50%;transition:.15s}
.td-check input:checked+span{background:var(--brand,#16a34a);border-color:var(--brand,#16a34a)}
.td-check input:checked+span::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.td-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.td-text{font-size:14px;line-height:1.4;word-break:break-word;cursor:text}
.td-item.is-done .td-text{text-decoration:line-through;color:var(--muted)}
.td-due{font-size:11.5px;color:var(--muted);display:inline-flex;align-items:center;gap:3px}
.td-due .ic{width:12px;height:12px}
.td-due.today{color:#c2410c;font-weight:600}.td-due.late{color:#dc2626;font-weight:600}.td-due.soon{color:#2563eb}
.td-acts{display:flex;gap:2px;opacity:0;transition:.15s}
.td-item:hover .td-acts,.td-note:hover .td-note-foot .td-ic{opacity:1}
.td-ic{border:0;background:none;cursor:pointer;padding:3px;border-radius:6px;color:var(--muted);display:inline-flex}
.td-ic:hover{background:#e2e8f0;color:var(--text)}
.td-ic .ic{width:14px;height:14px}
.td-edit{width:100%;font:inherit}
.td-edit-acts{display:flex;gap:6px;margin-top:4px}
.td-done-head{display:flex;justify-content:space-between;margin-top:8px;padding-top:6px;border-top:1px solid var(--line)}
.td-link{border:0;background:none;font:inherit;font-size:12.5px;color:var(--muted);cursor:pointer;padding:3px 4px}
.td-link:hover{color:var(--text)}
.td-note{background:#fefce8;border:1px solid #fde68a;border-radius:9px;padding:9px 10px;margin-bottom:6px}
.td-note-text{font-size:13.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word;cursor:text}
.td-note-foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.td-note-foot .td-ic{opacity:.5}
.td-empty{text-align:center;padding:18px 0}
.td-private{margin:8px 0 0;display:flex;align-items:center;gap:5px}
.td-private .ic{width:12px;height:12px}
@media (hover:none){.td-acts{opacity:1}}
@media (max-width:560px){.todo-menu{position:fixed;left:8px;right:8px;top:60px;width:auto}}
.ns-ctl{max-width:55%;flex-shrink:1;flex-wrap:wrap;justify-content:flex-end}
.ns-ctl .muted.small{text-align:right}
.ns-txt{min-width:0}
@media (max-width:640px){.ns-ctl{max-width:100%;justify-content:flex-start}.ns-ctl .muted.small{text-align:left}}
.ns-ctl:has(.switch){flex-wrap:nowrap}
.todo-menu{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
/* Order edit / delete (2026-11-13) */
.eo-note{margin:0 0 10px;padding:9px 12px;border-radius:9px;background:#eff6ff;color:#1e40af;font-size:13px;display:flex;gap:8px;align-items:flex-start}
.eo-note.warn{background:#fff7ed;color:#9a3412}
.eo-note .ic{width:16px;height:16px;flex-shrink:0;margin-top:1px}
.btn.danger-ghost{color:var(--red,#dc2626);border-color:#fecaca;background:#fff}
.btn.danger-ghost:hover{background:#fef2f2}
.del-list{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto;margin:6px 0 12px}
.del-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.del-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.del-row small{font-size:12px}
.td-err{margin:8px 0 0;display:flex;gap:6px;align-items:flex-start}.td-err .ic{width:14px;height:14px;flex-shrink:0;margin-top:2px}
