:root{--bg:#f4f5fb;--c:#fff;--t:#1e2235;--m:#6b7280;--p:#4f46e5;--p2:#6366f1;--b:#e6e8f2;--sh:0 1px 2px #1e223514,0 4px 14px #1e22350d}
body.dark{--bg:#0f1220;--c:#181c30;--t:#e8eaf6;--m:#98a0b8;--b:#262b45;--sh:0 1px 2px #0006}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--t)}
a{color:var(--p);text-decoration:none}h2{margin:.2em 0}h3{margin:.2em 0 .6em;font-size:1.05rem}.muted,small{color:var(--m)}
input,select,textarea{width:100%;padding:10px 12px;margin:5px 0;border:1px solid var(--b);border-radius:10px;background:var(--c);color:var(--t);font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--p2);border-color:transparent}
.btn{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border:0;padding:9px 16px;border-radius:10px;cursor:pointer;font-weight:600;margin:3px 0;box-shadow:0 4px 12px #4f46e540}
.btn:hover{filter:brightness(1.08)}.card{background:var(--c);border:1px solid var(--b);padding:18px;border-radius:16px;margin:14px 0;box-shadow:var(--sh)}
.narrow{max-width:460px;margin:30px auto;padding:0 14px}.big{font-size:28px;text-align:center;letter-spacing:8px}.err{color:#e11d48}.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--m);text-align:left;padding:10px;border-bottom:1px solid var(--b)}
td{padding:11px 10px;border-bottom:1px solid var(--b)}tr:hover td{background:#6366f10a}
.badge{background:#fde68a;color:#92400e;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600;white-space:nowrap}
.s-pending{background:#fef3c7;color:#b45309}.s-inprogress{background:#dbeafe;color:#1d4ed8}.s-completed{background:#d1fae5;color:#047857}.s-unrepairable{background:#ffe4e6;color:#be123c}
header{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;padding:12px 18px;display:flex;justify-content:space-between;align-items:center}header a{color:#fff}header .btn{background:#ffffff26;box-shadow:none}
.app .sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:linear-gradient(180deg,#1e1b4b,#312e81);color:#c7d2fe;display:flex;flex-direction:column;padding:18px 12px;z-index:30;transition:transform .25s}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:1.05rem;padding:4px 8px 20px}.logo{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#818cf8,#6366f1)}
.sidebar nav{flex:1;display:flex;flex-direction:column;gap:3px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#c7d2fe;font-weight:500}
.sidebar nav a:hover{background:#ffffff14;color:#fff}.sidebar nav a.on{background:#fff;color:#312e81;box-shadow:0 4px 14px #0003}
.sbfoot{border-top:1px solid #ffffff22;padding-top:12px}.me{display:flex;gap:10px;align-items:center;padding:6px 8px;color:#fff}.me small{display:block;color:#a5b4fc}
.av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#818cf8;font-weight:700}.logout{display:flex;gap:8px;align-items:center;color:#c7d2fe;padding:8px;border-radius:8px}.logout:hover{background:#ffffff14}
.content{margin-left:248px;min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;gap:12px;align-items:center;padding:12px 24px;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--b)}
.app main{padding:22px 24px;max-width:1200px;margin:auto}.gsearch{flex:1;display:flex;align-items:center;gap:8px;background:var(--c);border:1px solid var(--b);border-radius:12px;padding:0 12px;color:var(--m)}
.gsearch input{border:0;margin:0;background:none;outline:0!important}.icon{background:var(--c);border:1px solid var(--b);color:var(--t);border-radius:10px;width:40px;height:40px;display:grid;place-items:center;cursor:pointer}#mn{display:none}
.search{display:flex;gap:8px;align-items:center}.search input{width:auto}.overlay{display:none}
.pagehead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.pagehead p{margin:0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:14px 0}
.stat{display:flex;gap:14px;align-items:center;background:var(--c);border:1px solid var(--b);border-radius:16px;padding:16px;box-shadow:var(--sh)}.stat small{display:block}.stat b{font-size:1.45rem}
.bub{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;flex:none}
.amber{background:#fef3c7;color:#d97706}.green{background:#d1fae5;color:#059669}.red{background:#ffe4e6;color:#e11d48}.blue{background:#dbeafe;color:#2563eb}
.teal{background:#ccfbf1;color:#0d9488}.violet{background:#ede9fe;color:#7c3aed}.orange{background:#ffedd5;color:#ea580c}.rose{background:#fce7f3;color:#db2777}
.cardhead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.legend{font-size:13px;color:var(--m)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 4px 0 10px}
details summary{cursor:pointer;color:var(--p);font-weight:600;margin:8px 0}
@media(max-width:900px){.app .sidebar{transform:translateX(-100%)}.nav-open .sidebar{transform:none}.content{margin-left:0}#mn{display:grid}
.nav-open .overlay{display:block;position:fixed;inset:0;background:#0006;z-index:25}.topbar,.app main{padding-left:14px;padding-right:14px}}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inl{display:inline-flex;gap:6px;align-items:center;margin:0}.inl select{width:auto;margin:0}
.danger{background:linear-gradient(135deg,#e11d48,#f43f5e);box-shadow:0 4px 12px #e11d4840}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.cols.one{grid-template-columns:1fr}.cols>div>.card:first-child{margin-top:0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}label{font-size:13px;color:var(--m);font-weight:600}
.codebox{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border-radius:14px;padding:10px 20px;text-align:center}.codebox small{color:#e0e7ff;display:block}.codebox b{font-size:2rem;letter-spacing:6px}
.dl{display:grid;grid-template-columns:110px 1fr;gap:8px 12px;margin:0}.dl dt{color:var(--m)}.dl dd{margin:0}
.money{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}.money small{display:block}.money b{font-size:1.35rem}
.ok{color:#059669}.due{color:#e11d48}.bar{height:8px;background:var(--b);border-radius:9px;overflow:hidden;margin:12px 0 6px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#10b981,#34d399)}
.row{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.row input,.row select{flex:1 1 110px;width:auto;margin:0}
.line{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:9px 0;border-top:1px solid var(--b)}.pill{background:var(--b);padding:1px 8px;border-radius:99px;font-size:12px}
.tl{list-style:none;margin:14px 0;padding-left:18px;border-left:2px solid var(--b)}.tl li{position:relative;padding:0 0 14px 14px}.tl li:before{content:"";position:absolute;left:-25px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--p2);box-shadow:0 0 0 3px var(--c)}.tl p{margin:2px 0}
.hist{margin:6px 0}.av.sm{width:30px;height:30px;font-size:13px;display:inline-grid;vertical-align:middle;margin-right:8px;color:#fff;background:var(--p2)}.av.lg{width:56px;height:56px;font-size:22px;color:#fff;background:linear-gradient(135deg,var(--p),var(--p2))}
.app main>.scroll{background:var(--c);border:1px solid var(--b);border-radius:16px;box-shadow:var(--sh);padding:6px;margin-top:10px}.app main>.search{margin:10px 0}
@media(max-width:900px){.cols,.two{grid-template-columns:1fr}.money b{font-size:1.1rem}}
.pub .wrap{max-width:900px;margin:auto;padding:0 16px}.hero{background:linear-gradient(135deg,#312e81,#4f46e5 60%,#6366f1);color:#fff;padding:16px 0 54px;text-align:center}
.hero .top{display:flex;justify-content:space-between;align-items:center;padding:6px 0 26px;text-align:left}.hero .top b{display:flex;gap:8px;align-items:center}.hero .btn{background:#ffffff26;box-shadow:none}
.hero h1{margin:0 0 6px;font-size:2rem}.hero p{margin:0 0 18px;color:#c7d2fe}
.codeform{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.codeform input{width:230px;font-size:30px;text-align:center;letter-spacing:10px;font-weight:700;border-radius:14px;padding:12px;margin:0;color:#1e2235}
.codeform .btn{background:#fff;color:#4f46e5;padding:0 24px;font-size:1rem;margin:0}.pub main{margin-top:-30px;padding-bottom:30px}
.badge.big{font-size:14px;padding:6px 16px}.steps{display:flex;margin:22px 0}.step{flex:1;text-align:center;position:relative;color:var(--m);font-size:13px}
.step i{display:grid;place-items:center;width:34px;height:34px;margin:0 auto 6px;border-radius:50%;background:var(--b);font-style:normal;font-weight:700;position:relative;z-index:1}
.step:not(:first-child):before{content:"";position:absolute;top:16px;right:50%;width:100%;height:3px;background:var(--b)}.step.done{color:var(--t)}.step.done i,.step.done:before{background:#10b981;color:#fff}
.notice{padding:12px 14px;border-radius:12px;margin:10px 0}.notice.good{background:#d1fae5;color:#065f46}.notice.bad{background:#ffe4e6;color:#9f1239}.contact{text-align:center}
.totrow{display:flex;justify-content:space-between;align-items:center;font-size:1.3rem;margin:12px 0}.due{text-align:center;font-weight:700;color:#059669;margin:8px 0}.due.bad{color:#e11d48}
.btn.alt{background:var(--c);color:var(--p);border:1px solid var(--p2);box-shadow:none}.linkbtn{background:none;border:0;color:#e11d48;cursor:pointer;font:inherit;padding:0}
.prow{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:8px;align-items:center;margin-bottom:6px}.prow input,.prow select{margin:0}.prow .lt{text-align:right}
@media(max-width:900px){.prow{grid-template-columns:1fr 1fr}}
.pin{width:90px;padding:4px 6px;margin:0 0 0 4px;border-radius:8px}.r2{display:flex;justify-content:space-between;align-items:center;margin:6px 0}.cl small{display:flex;align-items:center;margin-top:3px}
.chk{display:flex;gap:8px;align-items:flex-start;color:var(--t);font-weight:500;margin:8px 0}.chk input{width:auto;margin-top:4px}
.permgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2px 14px}.permgrid .chk{font-weight:400;font-size:14px;margin:4px 0}
.sidebar nav{overflow-y:auto;min-height:0;padding-right:2px;overscroll-behavior:contain}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#ffffff33;border-radius:9px}.app .sidebar{height:100vh;height:100dvh;overflow:hidden}
.sa .tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.sa .tabs a{padding:8px 16px;border-radius:10px;background:var(--c);border:1px solid var(--b);color:var(--t);font-weight:600}.sa .tabs a.on{background:var(--p);color:#fff;border-color:var(--p)}
.sa main{max-width:1100px;margin:auto;padding:16px}.mods{display:flex;gap:16px;flex-wrap:wrap}.mods .chk{margin:4px 0}
tfoot td{font-weight:700;border-top:2px solid var(--b);background:#6366f10d}

.brsw{width:auto;min-width:130px;max-width:190px;margin:0;padding:9px 10px;border-radius:10px}.brchip{background:var(--c);border:1px solid var(--b);border-radius:10px;padding:9px 12px;font-size:13px;white-space:nowrap}
.tflow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.tflow b{background:var(--c);border:1px solid var(--b);padding:6px 12px;border-radius:10px}.tflow span{font-size:20px}

.brbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 14px;padding:8px 10px;background:var(--c);border:1px solid var(--b);border-radius:12px}.brl{font-weight:600;font-size:13px;margin-right:4px}.brp{padding:6px 14px;border-radius:999px;border:1px solid var(--b);font-size:13px;font-weight:600;text-decoration:none;color:inherit;background:transparent}.brp:hover{border-color:#6366f1}.brp.on{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff}.brh{font-size:12px;opacity:.7;flex-basis:100%}
.brpick{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:14px}.brpick a{display:block;padding:18px;border:1px solid var(--b);border-radius:14px;text-decoration:none;color:inherit;background:var(--c);transition:transform .15s,box-shadow .15s}.brpick a:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.2);border-color:#6366f1}.brpick b{display:block;font-size:16px}.brpick small{opacity:.7}
/* AI assistant */
.aib{position:fixed;right:18px;bottom:18px;z-index:60;width:54px;height:54px;border-radius:50%;border:0;color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);box-shadow:0 8px 24px rgba(99,102,241,.45);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s}.aib:hover{transform:scale(1.07)}.aib.aipos{bottom:84px}@media(min-width:1001px){.aib.aipos{bottom:18px}}
.aip{position:fixed;right:18px;bottom:84px;z-index:70;width:min(400px,calc(100vw - 24px));height:min(560px,calc(100vh - 110px));background:var(--c);border:1px solid var(--b);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}.aip[hidden]{display:none}
.aip header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff}.aihd{display:flex;gap:4px}.aiic{background:rgba(255,255,255,.18);border:0;color:inherit;border-radius:10px;min-width:34px;height:34px;cursor:pointer;font-size:15px}.aiic.big{background:var(--bg,#eef);color:inherit;border:1px solid var(--b);width:42px;height:42px;border-radius:50%;flex:none}.aiic.big.rec{background:#ef4444;color:#fff;animation:aipulse 1.1s infinite}@keyframes aipulse{50%{box-shadow:0 0 0 8px rgba(239,68,68,.2)}}
.aim{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.aib2{max-width:88%;padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.45;word-wrap:break-word}.aib2.bot{background:color-mix(in srgb,var(--b) 55%,transparent);align-self:flex-start;border-bottom-left-radius:4px}.aib2.me{background:#6366f1;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.aib2 small{display:block;opacity:.55;font-size:11px;margin-top:4px}.aib2.err{background:rgba(239,68,68,.15)}.aib2.think{opacity:.6;animation:aithink 1s infinite}@keyframes aithink{50%{opacity:.25}}
.ais{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px}.ais[hidden]{display:none}.ais button{border:1px solid var(--b);background:transparent;color:inherit;border-radius:999px;padding:6px 12px;font-size:12.5px;cursor:pointer}.ais button:hover{border-color:#6366f1}
.aif{display:flex;gap:8px;align-items:center;padding:10px;border-top:1px solid var(--b)}.aif input{margin:0;flex:1;min-width:0}.aisend{border:0;background:#6366f1;color:#fff;border-radius:50%;width:42px;height:42px;cursor:pointer;flex:none}
@media(max-width:600px){.aip{right:8px;left:8px;width:auto;bottom:8px;height:calc(100vh - 16px);height:calc(100dvh - 16px)}.aib.aipos{bottom:84px}body.ai-open .aib{display:none}}
@media print{.aib,.aip{display:none!important}}

input.secret{-webkit-text-security:disc;text-security:disc}

/* Filters: wrap instead of overflowing sideways (no white gap when scrolling); never let content widen the page */
.search{flex-wrap:wrap}.search>*{min-width:0;max-width:100%}.search input:not([type=hidden]),.search select{flex:1 1 140px;width:auto;min-width:0}.search input[type=date]{flex:0 1 160px}.search .btn,.search button{flex:0 0 auto}
.content{min-width:0;overflow-x:clip}.app main{min-width:0;box-sizing:border-box;width:100%}.app main>*{max-width:100%}.card{min-width:0}
.pagehead{flex-wrap:wrap;gap:10px}.pagehead>div{min-width:0}
.stats{min-width:0}table{max-width:100%}
@media(max-width:600px){.search input[type=date]{flex:1 1 130px}.search .btn,.search button{flex:1 1 100%}}

/* searchable customer picker (New repair) */
.cpk{position:relative}.cpkbox{display:flex;align-items:center;gap:8px;background:var(--c);border:1px solid var(--b);border-radius:12px;padding:0 12px}.cpkbox:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.18)}.cpkbox input{border:0;box-shadow:none;background:transparent;margin:0;padding:12px 0;flex:1;min-width:0;outline:0}.cpkic{opacity:.55;display:flex}
.cpkpick{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #6366f1;border-radius:12px;background:color-mix(in srgb,#6366f1 8%,var(--c))}.cpkpick[hidden],.cpkdd[hidden]{display:none}.cpkt{display:flex;flex-direction:column;min-width:0;flex:1;text-align:left}.cpkt b,.cpkt small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpkt small{opacity:.65}
.cpkav{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:0 0 auto}.cpkx{border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:inherit;opacity:.6}
.cpkdd{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:300px;overflow:auto;background:var(--c);border:1px solid var(--b);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.18);padding:4px}.cpo{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:transparent;border-radius:9px;cursor:pointer;color:inherit;text-align:left;font:inherit}.cpo:hover,.cpo.act{background:color-mix(in srgb,#6366f1 12%,transparent)}.cpo mark{background:#fde68a;color:inherit;border-radius:3px}.cpo.new{border-top:1px dashed var(--b);margin-top:4px}.cpm{padding:10px;opacity:.65;font-size:13px}

.pcg{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-bottom:10px}.pci{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:6px 10px}.pci select{width:auto;min-width:112px;margin:0}
/* Phones: never let a wide table or form push the layout wider than the screen */
.cols>*,.two>*,.card,main{min-width:0}.card{max-width:100%}
@media(max-width:900px){.line>span:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inl{display:flex;gap:6px;flex-wrap:wrap}}

.scanov{position:fixed;inset:0;background:#000c;z-index:200;display:flex;align-items:center;justify-content:center;padding:14px}.scanbox{position:relative;width:min(520px,100%);background:#000;border-radius:16px;overflow:hidden}.scanbox video{width:100%;display:block;max-height:70vh;object-fit:cover}
.scanline{position:absolute;left:8%;right:8%;top:50%;height:2px;background:#ef4444;box-shadow:0 0 10px #ef4444;animation:scn 1.6s ease-in-out infinite alternate}@keyframes scn{from{top:30%}to{top:70%}}
.scanbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;color:#fff;background:#111}.scanbtn{flex:none}
.skuw{display:flex;gap:6px}.skuw input{flex:1;min-width:0}.skuw .btn{padding:6px 10px;white-space:nowrap}
.expr{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin:6px 0}.expb{display:inline-flex;gap:6px}.expb .btn{padding:6px 12px;font-size:13px}
@media print{.pub .hero,.pub .contact,.pub .steps,.pub .cols,.pub .np,.pub .notice,.pub .top,.pub #rcpt~*{display:none!important}.pub .card:not(#rcpt){display:none!important}.pub #rcpt{box-shadow:none;border:0}}

/* ---- header shortcuts + full-screen POS ---- */
.hnav{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:12px;font-weight:700;font-size:.9rem;color:var(--t);background:var(--c);border:1px solid var(--b);white-space:nowrap;flex:none}
.hnav:hover{border-color:#6366f1;color:#4f46e5}.hnav.on{background:#eef2ff;border-color:#a5b4fc;color:#4338ca}
.hnav.pos{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff;box-shadow:0 6px 16px #6366f14d}.hnav.pos:hover{color:#fff;filter:brightness(1.08)}.hnav.pos.on{outline:3px solid #6366f155}
body.dark .hnav.on{background:#312e81;border-color:#6366f1;color:#e0e7ff}
.posmode .sidebar,.posmode .overlay,.posmode #mn{display:none!important}.posmode .content{margin-left:0}
.posmode .topbar{padding-left:20px}
@media(max-width:700px){.hnav span{display:none}.hnav{padding:0;width:40px;height:40px;justify-content:center;border-radius:10px}}

/* shared modal (offline panels) */
.hmod{position:fixed;inset:0;background:#0f172a8c;z-index:120;display:grid;place-items:center;padding:16px;backdrop-filter:blur(2px)}.hmod[hidden]{display:none}
.hbox{background:var(--c);color:var(--t);border-radius:20px;width:min(520px,100%);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #0006;overflow:hidden}
.hhead{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:linear-gradient(135deg,#6366f11f,#8b5cf61a)}.hhead h3{margin:0}
.hlist{overflow:auto;padding:8px 12px 14px}.hrow{display:flex;align-items:center;gap:10px;padding:12px 6px;border-bottom:1px solid var(--b)}.hrow:last-child{border:0}
.roffb{position:relative}.roffb.off{color:#b91c1c!important}.roffb .nd{width:9px;height:9px;border-radius:50%;background:#fbbf24;display:inline-block}.roffb.off .nd{background:#fb7185}

.rchips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 10px}.rchip{padding:7px 14px;border-radius:99px;background:var(--c);border:1px solid var(--b);font-weight:600;font-size:.88rem;color:var(--t)}.rchip:hover{border-color:#6366f1}.rchip.on{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff}
.rdates{display:inline-flex;gap:6px}.rdates input{width:auto}
.badge.good{background:#d1fae5;color:#065f46}.badge.off{background:#e5e7eb;color:#4b5563}

.imgup{display:flex;gap:12px;align-items:center;margin:8px 0}.imgup img{width:72px;height:72px;object-fit:cover;border-radius:14px;border:1.5px solid var(--b)}.imgup>div{flex:1;min-width:0}
.pthumb{width:38px;height:38px;object-fit:cover;border-radius:10px;vertical-align:middle;margin-right:8px;border:1px solid var(--b)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.three input{margin:0;width:100%}@media(max-width:600px){.three{grid-template-columns:1fr}}

/* pagination + quick date range */
.pgbar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;margin:10px 0;font-size:14px}.pgbar select{width:auto;padding:4px 8px;margin-left:4px}
.pgn{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.pgn a,.pgn span.cur,.pgn span.off{padding:5px 10px;border-radius:8px;border:1px solid rgba(127,127,127,.3);text-decoration:none;color:inherit}.pgn span.cur{background:var(--pri,#2563eb);color:#fff;border-color:transparent;font-weight:700}.pgn span.off{opacity:.4}.pgn .gap{opacity:.6}.pgn a:hover{background:rgba(127,127,127,.15)}
select.rangesel{width:auto}
