*{box-sizing:border-box}body{margin:0;font:15px/1.5 -apple-system,Segoe UI,Roboto,"Noto Sans Bengali",Arial,sans-serif;background:#f3f5f7;color:#1b2430}
a{color:#b53821}.wrap{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
nav.side{background:#1b2430;color:#fff;padding:1rem .5rem}nav.side h2{font-size:1rem;margin:.2rem .6rem 1rem}nav.side a{display:block;color:#d5dbe1;text-decoration:none;padding:.5rem .7rem;border-radius:6px}nav.side a:hover,nav.side a.on{background:rgba(255,255,255,.12);color:#fff}
main{padding:1.25rem;min-width:0}h1{margin-top:0}
.card{background:#fff;border:1px solid #dcdfe3;border-radius:8px;padding:1rem;margin-bottom:1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:12px 0}.k{background:#fff;border:1px solid #dcdfe3;border-radius:8px;padding:12px 14px}.k .l{color:#50575e;font-size:12px}.k .v{font-size:21px;font-weight:700}.k .n{font-size:11px;color:#8c8f94}.up{color:#18794e}.down{color:#b32d2e}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:.55rem .65rem;border-bottom:1px solid #e6e9ec;text-align:left;vertical-align:top}
input,select,textarea{padding:.5rem;border:1px solid #cbd3da;border-radius:6px;font:inherit;width:100%;background:#fff}input[type=checkbox]{width:auto}
.btn{display:inline-block;padding:.5rem .9rem;border:0;border-radius:6px;background:#d6452b;color:#fff;cursor:pointer;text-decoration:none;font:inherit;font-weight:600}.btn.sec{background:#fff;color:#1b2430;border:1px solid #cbd3da}.btn.dark{background:#1b2430}
.flash{padding:.6rem 1rem;border-radius:6px;margin-bottom:1rem}.ok{background:#e6f6ec;border:1px solid #b6e2c6}.err{background:#fdecea;border:1px solid #f3b8b1}
.fr{margin-bottom:.8rem}.fr label{display:block;font-weight:600;margin-bottom:.2rem}.bars{display:flex;align-items:flex-end;gap:4px;height:150px;background:#fff;border:1px solid #dcdfe3;border-radius:8px;padding:10px;overflow-x:auto}.bar{flex:1 0 14px;background:#2271b1;border-radius:3px 3px 0 0;min-height:2px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.filter{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid #dcdfe3;border-radius:8px;padding:.6rem}.filter input,.filter select{width:auto}
@media(max-width:800px){.wrap{grid-template-columns:1fr}nav.side{display:flex;flex-wrap:wrap;gap:.2rem}}
details.ng{margin-bottom:.2rem}details.ng>summary{cursor:pointer;color:#fff;font-weight:700;padding:.5rem .7rem;list-style:none;border-radius:6px}details.ng>summary:hover{background:rgba(255,255,255,.1)}details.ng a{padding-left:1.4rem;font-size:.9rem}
.tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1rem}.tabs a{padding:.4rem .8rem;border:1px solid #cbd3da;border-radius:6px;background:#fff;text-decoration:none;color:#1b2430}.tabs a.on{background:#1b2430;color:#fff}
.mi{display:flex;gap:.4rem;align-items:center;background:#fff;border:1px solid #dcdfe3;border-radius:6px;padding:.4rem;margin-bottom:.3rem}.mi.child{margin-left:2rem}.mi.drag{opacity:.4}.mi .h{cursor:grab;padding:0 .4rem;color:#8c8f94}.mi input[type=text]{flex:1;min-width:120px}.mi select{width:auto}
.pv{background:#1b2430;border-radius:8px;padding:.4rem}.pv ul{list-style:none;margin:0;padding:0;display:flex;gap:.2rem;flex-wrap:wrap}.pv li{position:relative}.pv a{color:#fff;padding:.5rem .8rem;display:block;text-decoration:none}.pv .sub{display:none;position:absolute;left:0;top:100%;background:#fff;min-width:160px;z-index:5}.pv li:hover>.sub{display:block}.pv .sub a{color:#1b2430}
.pill{display:inline-block;padding:.1rem .5rem;border-radius:99px;background:#e9edf1;font-size:.8rem}.pill.requested{background:#fff3cd}.pill.approved{background:#d1ecf1}.pill.processed{background:#d4edda}.pill.rejected{background:#f8d7da}

/* ===== Round 2: sidebar spacing and hierarchy ===== */
.wrap{grid-template-columns:260px minmax(0,1fr)}
nav.side{padding:1.1rem .75rem 2rem;overflow-y:auto;max-height:100vh;position:sticky;top:0;align-self:start;height:100vh}
nav.side h2{font-size:1.05rem;margin:.2rem .6rem 1.2rem;line-height:1.3}
details.ng{margin:0 0 .6rem;padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.1)}
details.ng:last-of-type{border-bottom:0}
details.ng>summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .8rem;font-size:.95rem;letter-spacing:.01em;min-height:44px}
details.ng>summary::-webkit-details-marker{display:none}
details.ng>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s;margin-right:.2rem;flex:0 0 auto}
details.ng[open]>summary::after{transform:rotate(-135deg)}
details.ng[open]>summary{background:rgba(255,255,255,.07)}
nav.side details.ng a{display:flex;align-items:center;min-height:40px;margin:.15rem 0 .15rem .9rem;padding:.55rem .8rem .55rem 1rem;font-size:.9rem;line-height:1.3;border-left:2px solid rgba(255,255,255,.14);border-radius:0 6px 6px 0;overflow-wrap:anywhere}
nav.side details.ng a:hover{background:rgba(255,255,255,.1);border-left-color:#fff}
nav.side details.ng a.on{background:#fff;color:#1b2430;font-weight:700;border-left-color:#d6452b}
nav.side a:focus-visible,details.ng>summary:focus-visible{outline:3px solid #ffb4a3;outline-offset:-2px}
nav.side>a:not(.btn),nav.side>form{margin-top:.5rem}
@media(max-width:800px){.wrap{grid-template-columns:1fr}nav.side{position:static;height:auto;max-height:none;display:block}}
.muted{color:#4f5b67}.down{color:#b32d2e;font-size:.85rem}.tbl{width:100%}

.sc-toasts{position:fixed;top:16px;right:16px;z-index:100000;display:flex;flex-direction:column;gap:.5rem;width:min(380px,calc(100vw - 32px))}
.sc-toast{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .9rem;border-radius:10px;border:1px solid;box-shadow:0 10px 30px rgba(0,0,0,.18);animation:sc-in .22s ease-out;font-size:.92rem}
.sc-toast button{border:0;background:none;color:inherit;font-size:1.2rem;line-height:1;cursor:pointer;margin-left:auto}
.sc-toast.ok{background:#e6f6ec;border-color:#9fd5b3;color:#12301f}.sc-toast.err{background:#fdecea;border-color:#f0a69d;color:#5a1a13}
.sc-toast.out{opacity:0;transform:translateX(20px);transition:.25s}@keyframes sc-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}

main>.flash{position:fixed;top:16px;right:16px;z-index:100000;width:min(380px,calc(100vw - 32px));margin:0;box-shadow:0 10px 30px rgba(0,0,0,.18);animation:sc-in .22s ease-out,sc-fade .4s ease 7s forwards}
@keyframes sc-fade{to{opacity:0;visibility:hidden}}

/* ===== Rich text editor (public/js/rte.js) ===== */
.rte{border:1px solid #cbd3da;border-radius:8px;background:#fff;overflow:hidden}
.rte:focus-within{border-color:#2271b1;box-shadow:0 0 0 2px rgba(34,113,177,.2)}
.rte-bar{display:flex;flex-wrap:wrap;gap:2px;align-items:center;padding:4px;background:#f6f7f9;border-bottom:1px solid #e1e5ea;position:sticky;top:0;z-index:3}
.rte-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:none;color:#1b2430;cursor:pointer;padding:0}
.rte-btn:hover{background:#e7ebef}.rte-btn[aria-pressed="true"]{background:#dbe7f3;border-color:#9dbbd8;color:#0f3f6b}
.rte-btn:focus-visible,.rte-sel:focus-visible,.rte-color:focus-within{outline:2px solid #2271b1;outline-offset:1px}
.rte-btn:disabled,.rte-sel:disabled{opacity:.4;cursor:not-allowed}
.rte-sel{width:auto;height:34px;padding:0 .4rem;font-size:.88rem;border-radius:6px;background:#fff}
.rte-sep{width:1px;height:22px;background:#d5dbe1;margin:0 4px}
.rte-color{position:relative;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;font-weight:700}
.rte-color:hover{background:#e7ebef}.rte-color input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0;border:0}
.rte-a{border-bottom:3px solid #c0381f;line-height:1}.rte-hl{background:#fff3a3;padding:0 3px;border-radius:2px;line-height:1.2}
.rte-area{min-height:200px;max-height:520px;overflow:auto;padding:.8rem 1rem;line-height:1.6;outline:none;overflow-wrap:anywhere}
.rte-area:empty::before{content:"Start typing…";color:#8c8f94}
.rte-area h2{font-size:1.4rem;margin:.6rem 0}.rte-area h3{font-size:1.2rem;margin:.6rem 0}.rte-area h4{font-size:1.05rem;margin:.6rem 0}
.rte-area p{margin:0 0 .7rem}.rte-area ul,.rte-area ol{padding-left:1.6rem;margin:0 0 .7rem}.rte-area blockquote{border-left:4px solid #d5dbe1;margin:0 0 .7rem;padding:.2rem .9rem;color:#4f5b67}
.rte-area table{border-collapse:collapse}.rte-area td,.rte-area th{border:1px solid #d5dbe1;padding:.3rem .5rem}
textarea.rte-src{border:0;border-radius:0;min-height:240px;font:13px/1.5 ui-monospace,Consolas,monospace}

/* ===== Product gallery manager ===== */
.gm-drop{border:2px dashed #b9c3cc;border-radius:10px;padding:1rem;text-align:center;background:#fafbfc;cursor:pointer;transition:background .15s,border-color .15s}
.gm-drop:hover,.gm-drop:focus-within,.gm-drop.over{background:#eef5fb;border-color:#2271b1}
.gm-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.gm-grid{list-style:none;margin:.8rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}
.gm-item{position:relative;background:#fff;border:1px solid #d9dde3;border-radius:10px;padding:.45rem;display:flex;flex-direction:column;gap:.35rem}
.gm-item.is-primary{border-color:#18794e;box-shadow:0 0 0 2px rgba(24,121,78,.25)}
.gm-item.is-new{border-style:dashed}.gm-item.dragging{opacity:.4}.gm-item.drop-target{outline:3px solid #2271b1;outline-offset:2px}
.gm-item.is-removed{opacity:.45}.gm-item.is-removed img{filter:grayscale(1)}
.gm-thumb{position:relative;cursor:grab}.gm-thumb img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;display:block;background:#f3f5f7}
.gm-tag{position:absolute;left:6px;top:6px;font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:99px;background:#18794e;color:#fff}
.gm-tag.new{background:#2271b1;left:auto;right:6px}
.gm-pos{position:absolute;left:6px;bottom:6px;font-size:.75rem;background:rgba(27,36,48,.8);color:#fff;border-radius:4px;padding:0 .35rem}
.gm-row{display:flex;gap:.25rem;flex-wrap:wrap;align-items:center}
.gm-row .btn{padding:.25rem .5rem;font-size:.8rem;font-weight:600}
.gm-row label{font-weight:400;font-size:.85rem;display:flex;gap:.3rem;align-items:center;margin:0;cursor:pointer}
.gm-name{font-size:.75rem;color:#4f5b67;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-err{color:#b32d2e;font-size:.85rem;margin-top:.5rem}
.gm-replace{position:absolute;width:1px;height:1px;opacity:0}
.gm-progress{margin:.8rem 0;display:none}.gm-progress.on{display:block}
.gm-progress progress{width:100%;height:14px}
.form-errors{background:#fdecea;border:1px solid #f0a69d;color:#5a1a13;border-radius:8px;padding:.7rem 1rem;margin-bottom:1rem}
.form-errors ul{margin:.3rem 0 0;padding-left:1.2rem}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== CSV import ===== */
.imp-steps{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem;padding:0;list-style:none;counter-reset:s}
.imp-steps li{counter-increment:s;background:#fff;border:1px solid #dcdfe3;border-radius:99px;padding:.3rem .9rem .3rem .4rem;font-size:.9rem;color:#4f5b67}
.imp-steps li::before{content:counter(s);display:inline-flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;border-radius:50%;background:#e9edf1;margin-right:.4rem;font-weight:700}
.imp-steps li.on{border-color:#1b2430;color:#1b2430;font-weight:700}.imp-steps li.on::before{background:#1b2430;color:#fff}.imp-steps li.done::before{background:#18794e;color:#fff;content:"✓"}
.imp-sum{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin:0 0 1rem}
.imp-sum div{background:#fff;border:1px solid #dcdfe3;border-radius:8px;padding:.6rem .8rem}.imp-sum b{display:block;font-size:1.5rem}
.imp-sum .c-ok b{color:#18794e}.imp-sum .c-up b{color:#2271b1}.imp-sum .c-skip b{color:#8a5a00}.imp-sum .c-err b{color:#b32d2e}
.st{display:inline-block;padding:.1rem .55rem;border-radius:99px;font-size:.78rem;font-weight:700;white-space:nowrap}
.st.create{background:#e6f6ec;color:#12301f}.st.update{background:#e3eefa;color:#0f3f6b}.st.skip{background:#fff3cd;color:#5c3d00}.st.error{background:#fdecea;color:#5a1a13}
.imp-tbl td{font-size:.88rem}.imp-tbl ul{margin:0;padding-left:1rem}.imp-tbl .warn{color:#8a5a00}
.imp-cols td:first-child{font-family:ui-monospace,Consolas,monospace;font-weight:600;white-space:nowrap}
.imp-filter{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}
nav.side{overscroll-behavior:contain;scroll-behavior:auto}
/* phones/tablets: the menu is a slide-out panel (its own scroll), the page shows the content straight away */
.m-bar,.m-close{display:none}
@media(max-width:800px){
 .m-bar{display:flex;align-items:center;gap:.8rem;position:sticky;top:0;z-index:900;background:#1b2430;color:#fff;padding:.55rem .75rem}
 .m-menu{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:inherit;font-weight:700;border-radius:8px;padding:.45rem .8rem;min-height:40px;cursor:pointer}
 .m-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .wrap{display:block}
 nav.side{position:fixed;top:0;left:0;bottom:0;width:min(86vw,320px);height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;align-self:auto;overflow-x:hidden;overflow-y:scroll;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;z-index:1000;transform:translateX(-105%);transition:transform .22s ease;box-shadow:0 0 30px rgba(0,0,0,.35);display:block;padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px))}
 html.m-nav-open body{overflow:hidden;touch-action:none}
 html.m-nav-open nav.side{touch-action:pan-y}
 html.m-nav-open nav.side{transform:none}
 html.m-nav-open{overflow:hidden}
 .m-back{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:950}
 .m-close{display:block;position:absolute;top:.4rem;right:.5rem;width:40px;height:40px;border:0;background:transparent;color:#fff;font-size:1.6rem;cursor:pointer}
 nav.side h2{padding-right:2.5rem}
}
@media(max-width:800px) and (prefers-reduced-motion:reduce){nav.side{transition:none}}
/* order automation update */
html[lang=bn] body{font-family:'Noto Sans Bengali','Hind Siliguri',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.set-h{margin:1.4rem 0 .4rem;padding-top:.8rem;border-top:1px solid #e1e5ea;font-size:1.05rem}.set-info{margin:.2rem 0 .8rem}
.pill.risk-high{background:#fde2e1;color:#a4161a}.pill.risk-medium{background:#fff1d6;color:#8a5a00}.pill.risk-low{background:#dcf5e3;color:#1a7f37}
.pill.risk-review,.pill.risk-none,.pill.risk-unknown{background:#e8ecf1;color:#3c4652}.pill.ok{background:#dcf5e3;color:#1a7f37}.pill.bad{background:#fde2e1;color:#a4161a}
.ship-group details>summary.btn{display:inline-block;list-style:none;cursor:pointer}.ship-group details>summary::-webkit-details-marker{display:none}
.book-box>summary{list-style:none}.book-box>summary::-webkit-details-marker{display:none}.ship-live{margin:.5rem 0}
.bulk-bar{position:sticky;top:0;z-index:5;background:#f6f8fa;padding:.4rem 0;align-items:center}.bulk-bar span{font-weight:700;margin-right:.5rem}
.fraud-card table td,.fraud-card table th{font-size:.9rem}.mchk{display:flex;flex-wrap:wrap;gap:.2rem 0}
@media(max-width:800px){.bulk-bar{top:52px}}
/* ===== interaction layer (admin): consistent hover / focus for every interactive element ===== */
:root{--ad-ease:.18s ease;--ad-accent:#d6452b;--ad-hover:#f3f5f7}
a,button,.btn,summary,.tabs a,.k-link,table tr,nav.side a,details.ng>summary,.pagination a,.page-link,select,input,textarea{transition:color var(--ad-ease),background-color var(--ad-ease),border-color var(--ad-ease),box-shadow var(--ad-ease),filter var(--ad-ease)}
main a:not(.btn):not(.k-link):hover{color:#b2361f}
.btn:not(:disabled):hover{filter:brightness(.92);box-shadow:0 3px 10px rgba(0,0,0,.12)}.btn.sec:not(:disabled):hover{background:var(--ad-hover);filter:none;border-color:#9aa5b1}
.btn:disabled{cursor:not-allowed;opacity:.6}
.tabs a:not(.on):hover{background:var(--ad-hover);border-color:#9aa5b1}
.k-link{cursor:pointer}.k-link[href]:hover{border-color:var(--ad-accent);box-shadow:0 6px 18px rgba(15,23,42,.08)}a.k-link:not([href]){cursor:default}
main table tbody tr:hover>td,main table tr:hover>td{background:#f8fafc}
.pagination a:hover,.pagination .page-link:hover{background:var(--ad-hover)}
nav.side a:hover{background:rgba(255,255,255,.1);color:#fff}
input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:#9aa5b1}
a:focus-visible,button:focus-visible,.btn:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #f0b429;outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important}}
/* wide tables scroll inside their box instead of widening the page (phones) */
.tbl-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}main{min-width:0}
/* ===== Settings hub (round 8): category list left, selected category right ===== */
.set-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.25rem;align-items:start}
.set-side{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;background:#fff;border:1px solid #e1e5ea;border-radius:12px;padding:.5rem;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.set-nav-h{margin:.35rem .6rem .5rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b7480}
.set-nav a{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem .65rem;border-radius:9px;color:#1b2430;text-decoration:none;border:1px solid transparent;transition:background-color .18s,border-color .18s,color .18s}
.set-nav a+a{margin-top:2px}
.set-nav a:hover{background:#f5f7f9}
.set-nav a.on{background:#fdf0ed;border-color:#f6cfc6;color:#9e2f1a}
.set-nav a:focus-visible,.set-tile:focus-visible,.set-nav-toggle:focus-visible,.set-jump a:focus-visible{outline:2px solid #d6452b;outline-offset:2px}
.set-nav-t{display:flex;flex-direction:column;min-width:0}.set-nav-t strong{font-size:.92rem;font-weight:600;line-height:1.3}
.set-nav-t small{font-size:.76rem;color:#6b7480;line-height:1.35;margin-top:.1rem}
.set-nav a.on .set-nav-t small{color:#a3563f}
.set-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:#f1f3f6;color:#4a5562}
.set-nav a.on .set-ico{background:#d6452b;color:#fff}
.set-ico.lg{width:46px;height:46px;border-radius:11px;background:#fdf0ed;color:#d6452b}.set-ico.lg .si{width:24px;height:24px}
.set-nav-toggle{display:none}
.set-main{min-width:0;outline:0}
.set-loading .set-main{opacity:.55;pointer-events:none;transition:opacity .18s}
.set-head{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:1rem}.set-head h1{margin:0 0 .15rem;font-size:1.45rem}.set-head p{margin:0}
.set-crumb{margin:0 0 .6rem;font-size:.88rem}.set-crumb a{color:#4a5562;text-decoration:none}.set-crumb a:hover{color:#b53821;text-decoration:underline}
.set-jump{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1rem}
.set-jump a{font-size:.83rem;padding:.3rem .7rem;border-radius:999px;background:#fff;border:1px solid #dfe3e8;color:#1b2430;text-decoration:none;transition:background-color .18s,border-color .18s}
.set-jump a:hover{border-color:#d6452b;color:#9e2f1a}
.set-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem;margin-bottom:1rem}
.set-tile{display:flex;flex-direction:column;gap:.25rem;background:#fff;border:1px solid #e1e5ea;border-radius:12px;padding:.85rem 1rem;text-decoration:none;color:#1b2430;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:border-color .18s,box-shadow .18s}
.set-tile:hover{border-color:#e9a593;box-shadow:0 3px 10px rgba(16,24,40,.07)}
.set-tile-t{font-weight:600}.set-tile small{color:#6b7480;line-height:1.4}
.set-tile-go{margin-top:auto;padding-top:.3rem;display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;color:#b53821}.set-tile-go .si{width:15px;height:15px}
.set-card{background:#fff;border:1px solid #e1e5ea;border-radius:12px;padding:1.1rem 1.25rem;margin-bottom:1rem;box-shadow:0 1px 2px rgba(16,24,40,.04);scroll-margin-top:1rem}
.set-card-h{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid #eef0f3;padding-bottom:.6rem;margin-bottom:.8rem}.set-card-h h2{margin:0;font-size:1.1rem}
.set-badge{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;background:#f1f3f6;color:#4a5562}
.set-card fieldset{border:0;margin:0;padding:0;min-width:0}
.set-card .set-h{font-size:.95rem;margin:1.2rem 0 .6rem;padding-top:.8rem;border-top:1px dashed #e3e6ea}
.set-card fieldset>.set-h:first-child{margin-top:0;padding-top:0;border-top:0}
.set-card .fr label.chk{display:flex;gap:.5rem;align-items:flex-start;font-weight:500;cursor:pointer}.set-card .fr label.chk input{margin-top:.25rem}
.set-card .fr small.muted{display:block;margin-top:.2rem}
.set-card .fr.has-err input,.set-card .fr.has-err select,.set-card .fr.has-err textarea{border-color:#b32d2e;background:#fff8f7}
.set-err{display:block;font-size:.85rem;margin-top:.2rem}
.set-card input:focus,.set-card select:focus,.set-card textarea:focus{outline:2px solid rgba(214,69,43,.35);outline-offset:0;border-color:#d6452b}
.set-card fieldset:disabled{opacity:.75}
.set-actions{display:flex;align-items:center;gap:.8rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid #eef0f3;position:sticky;bottom:0;background:#fff}
.set-dirty-note{font-size:.85rem;color:#9a6700;font-weight:600}
.set-save.is-busy{opacity:.8;cursor:progress}
.set-spin{display:inline-block;width:.9em;height:.9em;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;vertical-align:-.12em;animation:setspin .7s linear infinite}
@keyframes setspin{to{transform:rotate(360deg)}}
.set-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:.9rem;font-size:.9rem}
.set-card .card.set-sub,.set-card .card{max-width:none;margin:1rem 0 0;background:#fafbfc;border-color:#e6e9ed}
.set-note{border-radius:9px;padding:.7rem .9rem;margin-bottom:.9rem;border:1px solid #dfe3e8;border-left-width:5px}.set-note.good{border-left-color:#1a7f37;background:#f3fbf5}.set-note.good strong{color:#1a7f37}.set-note.bad{border-left-color:#c0392b;background:#fdf4f3}.set-note.bad strong{color:#c0392b}
.set-status th{width:38%;font-weight:600;background:#fafbfc}.set-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.45rem}.set-dot.good{background:#1a7f37}.set-dot.bad{background:#c0392b}
.set-dlg{position:fixed;inset:0;z-index:300;background:rgba(15,23,32,.45);display:flex;align-items:center;justify-content:center;padding:16px}.set-dlg[hidden]{display:none}
.set-dlg-box{background:#fff;border-radius:12px;max-width:440px;width:100%;padding:1.2rem 1.3rem;box-shadow:0 12px 40px rgba(0,0,0,.25)}.set-dlg-box h2{margin:0 0 .4rem;font-size:1.1rem}.set-dlg-b{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
@media(max-width:1100px){.set-shell{grid-template-columns:240px minmax(0,1fr)}.set-nav-t small{display:none}}
@media(max-width:800px){
 .set-shell{grid-template-columns:minmax(0,1fr);gap:.8rem}
 .set-side{position:static;max-height:none;padding:.4rem}
 .set-nav-t small{display:block}
 .set-js .set-nav-toggle{display:flex;width:100%;gap:.7rem;align-items:center;background:none;border:0;padding:.35rem;font:inherit;color:#1b2430;text-align:left;cursor:pointer}
 .set-nav-toggle>span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0}.set-nav-toggle small{font-size:.72rem;color:#6b7480;text-transform:uppercase;letter-spacing:.05em}
 .set-caret{transition:transform .18s}.set-side.open .set-caret{transform:rotate(180deg)}
 .set-js .set-side:not(.open) .set-nav{display:none}
 .set-js .set-nav-h{display:none}.set-js .set-side.open .set-nav{margin-top:.4rem;border-top:1px solid #eef0f3;padding-top:.4rem}
 .set-card{padding:.9rem}
 .set-tiles{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.set-spin{animation-duration:2s}}
/* single-level sidebar items (Dashboard, Settings): same look as a group title, no arrow, no submenu */
nav.side a.ng-link{display:flex;align-items:center;min-height:44px;margin:0 0 .6rem;padding:.7rem .8rem;font-size:.95rem;font-weight:700;letter-spacing:.01em;color:#fff;border-radius:6px;border-bottom:0}
nav.side a.ng-link:hover{background:rgba(255,255,255,.1)}
nav.side a.ng-link.on{background:#fff;color:#1b2430;box-shadow:inset 3px 0 0 #d6452b}
/* staff: profile block in the sidebar, reset-password panel */
.side-me{margin:.8rem .3rem 0;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.12)}.side-me-n{display:block;padding:0 .7rem .2rem;font-size:.8rem;color:#9aa5b1;overflow-wrap:anywhere}
.st-act{white-space:nowrap}.st-pw{display:inline-block;position:relative;margin-left:.5rem}.st-pw>summary{list-style:none;padding:.25rem .6rem;font-size:.85rem;font-weight:600}.st-pw>summary::-webkit-details-marker{display:none}
.st-pw .dd-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:50;width:min(300px,85vw);background:#fff;border:1px solid #dcdfe3;border-radius:10px;padding:.9rem;box-shadow:0 10px 30px rgba(0,0,0,.15);white-space:normal}
.st-pw .dd-panel label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.6rem}.st-pw .dd-panel input{margin-top:.2rem}
.pw-card{max-width:520px}
@media(max-width:800px){.st-wrap{overflow-x:auto}.st-pw{display:block;margin:.4rem 0 0}.st-pw .dd-panel{position:static;width:260px;box-shadow:none;margin-top:.4rem}}
/* pagination (Laravel bootstrap-5 markup): page buttons in one row, "Showing x to y of z" beside them; phones get Previous / Next only */
nav:has(> .d-sm-none){display:flex;align-items:center;margin:1rem 0}
nav > .d-sm-none{display:none;width:100%}
nav > .d-sm-flex{display:flex;flex:1;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap}
nav > .d-sm-flex p{margin:0;font-size:.88rem;color:#50575e}nav > .d-sm-flex .fw-semibold{font-weight:600;color:#1b2430}
.pagination{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0}
.pagination .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .7rem;border:1px solid #cbd3da;border-radius:6px;background:#fff;color:#1b2430;text-decoration:none;font-size:.9rem;line-height:1}
.pagination a.page-link:hover{background:#f3f5f7;border-color:#9aa5b1}
.pagination .active .page-link{background:#1b2430;border-color:#1b2430;color:#fff;font-weight:600}
.pagination .disabled .page-link{opacity:.45;cursor:default}
@media(max-width:640px){nav > .d-sm-none{display:block}nav > .d-sm-none .pagination{justify-content:space-between}nav > .d-sm-flex{display:none}}
.audit-tbl{min-width:720px}.audit-tbl .nw{white-space:nowrap}.audit-tbl .audit-d{overflow-wrap:anywhere;min-width:220px}
/* serial number (#) column / badge in lists */
th.sl,td.sl{width:1%;white-space:nowrap;text-align:right;color:#6b7480;font-variant-numeric:tabular-nums;padding-right:.4rem}
.sl-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:1.5rem;padding:0 .35rem;border-radius:6px;background:#f1f3f6;color:#4a5562;font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums}
/* dashboard design (round 11): only the dashboard page uses these */
.dash-head,.dash-panel,.dash-grid{--ad-blue:#1a6dff;--ad-line:#e6e9f0;--ad-ink:#111a2e;--ad-mute:#66708a}
.dr-panel{--ad-blue:#1a6dff;--ad-line:#e6e9f0;--ad-mute:#66708a}
.dash-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.1rem 0 1.1rem}
.dash-head h1{margin:0;font-size:1.75rem;letter-spacing:-.01em}
.dash-range{position:relative}
.dash-range>summary{display:flex;align-items:center;gap:.6rem;height:42px;padding:0 .9rem;background:#fff;border:1px solid var(--ad-line);border-radius:10px;cursor:pointer;list-style:none;font-size:.92rem;font-weight:500;color:#2a3450;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.dash-range>summary::-webkit-details-marker{display:none}
.dash-range>summary:hover{border-color:#c5cfe2}.dr-ic{display:flex;color:#3a4663}
.dr-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:700;width:min(380px,92vw);background:#fff;border:1px solid var(--ad-line);border-radius:12px;box-shadow:0 14px 40px rgba(16,24,40,.14);padding:1rem}
.dr-panel .dash-filter{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.dr-panel label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600;color:var(--ad-mute)}
.dr-panel label:nth-of-type(3){grid-column:1/-1}.dr-panel .dash-filter>.btn{grid-column:1/-1;background:var(--ad-blue)}
.dash-pre{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.35rem;padding-top:.5rem;border-top:1px solid var(--ad-line)}.dash-pre .btn{padding:.35rem .65rem;font-size:.82rem}
.dash-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:0 0 1.25rem}
.dash-grid-o{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0}
.k.kx{display:flex;align-items:flex-start;gap:.9rem;padding:1.15rem 1.1rem;border:1px solid var(--ad-line);border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.04);text-decoration:none;color:inherit}
.k.kx .k-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px}
.k.kx .k-tx{min-width:0}.k.kx .l{font-size:.86rem;color:#3a4663;font-weight:500;line-height:1.3}
.k.kx .v{font-size:1.38rem;font-weight:700;margin-top:.3rem;line-height:1.15;color:var(--ad-ink);overflow-wrap:anywhere}
.k.kx .v.down{color:#d92d3a}
.t-blue .k-ic{background:#e8f0ff;color:#1a6dff}.t-green .k-ic{background:#e3f7ee;color:#0f9f62}.t-purple .k-ic{background:#efeaff;color:#6d4fe0}.t-orange .k-ic{background:#fff1df;color:#f08c00}.t-red .k-ic{background:#fde8ea;color:#e03a4a}.t-teal .k-ic{background:#e0f6f4;color:#0e9488}
.vt.t-blue .v{color:#1a6dff}.vt.t-green .v{color:#0f9f62}.vt.t-orange .v{color:#f08c00}.vt.t-teal .v{color:#0e9488}.vt.t-red .v{color:#e03a4a}.vt.t-purple .v{color:#6d4fe0}
a.k.kx:hover{border-color:#bcd0f7;box-shadow:0 6px 18px rgba(16,24,40,.08)}
.dash-panel{background:#fff;border:1px solid var(--ad-line);border-radius:14px;padding:1.15rem 1.25rem 1.25rem;margin:0 0 1.25rem;box-shadow:0 1px 3px rgba(16,24,40,.04)}
.dash-panel>h2,.dash-panel h2.ch-title{margin:0 0 1rem;font-size:1.3rem;font-weight:700}
.dash-panel h2 small{font-size:.85rem;font-weight:500;color:var(--ad-mute)}
.dash-panel .ch-sub{font-size:.98rem;margin:0 0 .6rem;color:#3a4663}
#status .ch-pie{gap:3rem;padding:0 1rem}
#status .ch-donut,.dash-panel .ch-donut{width:200px}
.dash-panel .ch-legend{max-width:470px;gap:0}
.dash-panel .ch-legend li{padding:.5rem .3rem;border-radius:0;border-bottom:1px solid #eef1f6}
.dash-panel .ch-legend li:last-child{border-bottom:0}
.dash-panel .ch-legend li:hover{background:#f7f9fc}
.dash-panel .ch-legend a{color:#2a3450;text-decoration:none}.dash-panel .ch-legend a:hover{color:var(--ad-blue);text-decoration:underline}
.dash-panel .ch-sw{width:12px;height:12px;border-radius:50%}
.dash-panel .ch-lv small{margin-left:.6rem;color:var(--ad-mute)}
@media(max-width:800px){.dash-head h1{font-size:1.4rem}.dash-range{width:100%}.dash-range>summary{width:100%}.dr-panel{left:0;right:auto;width:100%}#status .ch-pie{padding:0;gap:1.5rem;justify-content:center}.dash-panel{padding:1rem}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.k.kx{padding:.9rem;gap:.65rem}.k.kx .k-ic{width:38px;height:38px}.k.kx .v{font-size:1.15rem}}
#status .ch-c1{font-size:24px}#status .ch-c2{font-size:12px}
.k.kx .v{overflow-wrap:normal;white-space:nowrap}
@media(max-width:800px){.k.kx{flex-direction:column;gap:.55rem}.k.kx .k-tx{width:100%}.k.kx .v{font-size:1.08rem}}
/* বাংলা admin: Bangla font for everything, normal font again in English */
html[lang=bn] body,html[lang=bn] input,html[lang=bn] select,html[lang=bn] textarea,html[lang=bn] button,html[lang=bn] option{font-family:'Noto Sans Bengali','Hind Siliguri','Kalpurush','SolaimanLipi','Nirmala UI','Vrinda',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
html[lang=bn] body{line-height:1.6}
