/* EQRAR ERP UI — original design. Palette sampled from the EQRAR logo. */
@font-face{font-family:"Plex Arabic";src:url("../fonts/IBMPlexSansArabic-Regular.653df2a0d8d7.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Arabic";src:url("../fonts/IBMPlexSansArabic-Medium.9aa0731b909e.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Plex Arabic";src:url("../fonts/IBMPlexSansArabic-SemiBold.61f8319d6c68.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Plex Arabic";src:url("../fonts/IBMPlexSansArabic-Bold.86467d4e6e5d.ttf") format("truetype");font-weight:700;font-display:swap}
:root{--navy:#012d54;--navy-2:#0a3d6b;--navy-3:#123f66;--teal:#00889a;--teal-2:#e6f4f6;--bg:#f3f6f9;--card:#fff;--line:#e4e9ef;
--txt:#14243a;--muted:#64748b;--ok:#0e9f6e;--ok-bg:#def7ec;--bad:#d92d20;--bad-bg:#fde8e7;--warn:#b54708;--warn-bg:#fef0c7;--info-bg:#e8f1fb;
--r:10px;--sh:0 1px 2px rgba(1,45,84,.06),0 1px 3px rgba(1,45,84,.08);--sb:264px}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:"Plex Arabic","Segoe UI",Tahoma,Arial,sans-serif;font-size:14px;background:var(--bg);color:var(--txt);line-height:1.55}
a{color:var(--navy-2)}a:hover{color:var(--teal)}
.ic{width:18px;height:18px;flex:none;vertical-align:middle}
/* layout */
.app{display:flex;min-height:100vh}
.sidebar{width:var(--sb);background:var(--navy);color:#cfe0ee;position:fixed;inset-block:0;inset-inline-start:0;display:flex;flex-direction:column;z-index:30;transition:width .2s}
.sb-brand{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);min-height:64px}
.sb-brand img{height:40px}.sb-brand .tag{font-size:11px;color:#8fb3cf;line-height:1.3}
.sb-nav{overflow-y:auto;flex:1;padding:8px 10px 20px;scrollbar-width:thin;scrollbar-color:#2a5379 transparent}
.grp{margin-top:6px}
.grp>button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:8px 10px;border-radius:8px;color:#fff;font-weight:600;font-size:13.5px}
.grp>button:hover{background:rgba(255,255,255,.06)}
.grp>button .chev{margin-inline-start:auto;transition:transform .2s;opacity:.6}
.grp.closed>button .chev{transform:rotate(-90deg)}[dir=rtl] .grp.closed>button .chev{transform:rotate(90deg)}
.grp.closed .items{display:none}
.items{padding-inline-start:18px;border-inline-start:1px solid rgba(255,255,255,.08);margin-inline-start:18px}
.items a{display:block;padding:6px 10px;color:#b9cfe1;text-decoration:none;border-radius:6px;font-size:13px}
.items a:hover{color:#fff;background:rgba(255,255,255,.05)}
.items a.active,.grp>a.active{color:#fff;background:var(--teal)}
.grp>a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:#fff;text-decoration:none;font-weight:600}
.grp>a:hover{background:rgba(255,255,255,.06)}
.sb-foot{padding:10px 18px;font-size:11px;color:#7d9fbd;border-top:1px solid rgba(255,255,255,.08)}
.main{flex:1;margin-inline-start:var(--sb);min-width:0;display:flex;flex-direction:column;transition:margin .2s}
body.mini .sidebar{width:68px}body.mini .main{margin-inline-start:68px}
body.mini .sb-brand .tag,body.mini .grp>button span,body.mini .grp>a span,body.mini .items,body.mini .chev,body.mini .sb-foot{display:none}
body.mini .sb-brand img{height:30px}
.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 20px;position:sticky;top:0;z-index:20}
.iconbtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--navy)}
.iconbtn:hover{background:var(--bg)}
.search{flex:1;max-width:460px;position:relative}
.search input{width:100%;height:38px;border:1px solid var(--line);background:var(--bg);border-radius:9px;padding-inline:38px 12px;font:inherit}
.search .ic{position:absolute;inset-inline-start:11px;top:10px;color:var(--muted)}
.search-res{position:absolute;top:42px;inset-inline:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(1,45,84,.15);display:none;max-height:360px;overflow:auto;padding:6px}
.search-res a{display:block;padding:7px 10px;border-radius:6px;text-decoration:none;color:var(--txt)}.search-res a:hover,.search-res a.hi{background:var(--teal-2)}
.search-res small{color:var(--muted)}
.tb-right{margin-inline-start:auto;display:flex;align-items:center;gap:10px}
.pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);text-decoration:none;font-weight:500;font:inherit}
select.pill{padding-inline:10px}
.lang a{padding:4px 9px;border-radius:6px;text-decoration:none;color:var(--muted);font-weight:600;font-size:12.5px}.lang a.on{background:var(--navy);color:#fff}
.lang{display:flex;border:1px solid var(--line);border-radius:9px;padding:3px}
.user{position:relative}.user>button{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;text-transform:uppercase}
.menu{position:absolute;inset-inline-end:0;top:44px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(1,45,84,.15);min-width:200px;padding:6px;display:none}
.menu.open{display:block}.menu .who{padding:8px 10px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line);margin-bottom:4px}
.menu a,.menu button{all:unset;cursor:pointer;display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:6px;width:100%;box-sizing:border-box}
.menu a:hover,.menu button:hover{background:var(--bg)}
.demo{background:var(--warn-bg);color:var(--warn);padding:6px 20px;font-weight:600;font-size:12.5px;display:flex;gap:8px;align-items:center;justify-content:center}
main{padding:22px 24px 40px;flex:1}
/* headings & page header */
h2{font-size:21px;margin:0 0 16px;color:var(--navy);font-weight:700}
h3{font-size:16px;margin:22px 0 10px;color:var(--navy);font-weight:600}
h4{margin:14px 0 8px;color:var(--navy-2)}
.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.page-head h2{margin:0}.page-head .sp{flex:1}
.crumb{color:var(--muted);font-size:12px;margin-bottom:2px}
/* cards */
.card,fieldset{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:16px 18px}
fieldset{margin:14px 0}legend{font-weight:700;color:var(--navy);padding:0 6px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px;margin-bottom:14px}
.kpi{position:relative;overflow:hidden}.kpi .lbl{color:var(--muted);font-size:12.5px;display:flex;align-items:center;gap:8px}
.kpi .val{font-size:22px;font-weight:700;color:var(--navy);margin-top:6px;font-variant-numeric:tabular-nums}.kpi .cur{font-size:12px;color:var(--muted);font-weight:500}
.kpi .ico{width:34px;height:34px;border-radius:9px;background:var(--teal-2);color:var(--teal);display:inline-flex;align-items:center;justify-content:center}
.kpi.neg .val{color:var(--bad)}
.grid2{display:grid;grid-template-columns:2fr 1fr;gap:14px}@media(max-width:1100px){.grid2{grid-template-columns:1fr}}
.card-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-h h3{margin:0}
/* tables */
.tbl-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:auto;margin:6px 0 14px}
table{border-collapse:separate;border-spacing:0;width:100%;background:#fff}
main>table,fieldset>table,form>table,.card>table,main>div>table{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;margin:6px 0 14px}
.tbl-wrap>table{border:0;box-shadow:none;margin:0;border-radius:0}
th,td{padding:9px 12px;text-align:start;font-size:13.5px;border-bottom:1px solid var(--line);vertical-align:middle}
th{background:#f7f9fc;color:#475467;font-weight:600;font-size:12.5px;white-space:nowrap;position:sticky;top:0}
th.sortable{cursor:pointer;user-select:none}th.sortable:after{content:" ⇅";opacity:.35}th.asc:after{content:" ↑";opacity:1}th.desc:after{content:" ↓";opacity:1}
tbody tr:hover td,table tr:hover>td{background:#fafcfe}
tr:last-child>td{border-bottom:0}
td.n,th.n{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.tot td{font-weight:700;background:#f2f6fa;color:var(--navy)}
td a{font-weight:600;text-decoration:none}
.tbl-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 8px}
.tbl-tools input.qf{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 10px;min-width:240px;font:inherit;background:#fff}
.pager{display:flex;gap:6px;align-items:center;justify-content:flex-end;padding:8px 12px;color:var(--muted);font-size:12.5px;border-top:1px solid var(--line);background:#fff}
.pager button{all:unset;cursor:pointer;padding:3px 10px;border:1px solid var(--line);border-radius:6px;color:var(--navy)}.pager button[disabled]{opacity:.4;cursor:default}
.pager select{height:28px;border:1px solid var(--line);border-radius:6px}
/* forms */
input,select,textarea{font:inherit;color:var(--txt)}
input[type=text],input[type=number],input[type=date],input[type=password],input[type=email],input[type=search],input:not([type]),select,textarea{border:1px solid #d0d8e2;border-radius:8px;padding:6px 10px;background:#fff;min-height:34px;max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(0,136,154,.25);border-color:var(--teal)}
select{max-width:220px}input.num{width:100px}
form>table th,form>table td{border-bottom:1px solid var(--line)}
form>p{margin:10px 0}
label{font-weight:500;color:#344054}
.errorlist{color:var(--bad);margin:4px 0;padding-inline-start:18px;font-size:12.5px}
#lines td{padding:6px}#lines input,#lines select{min-width:80px}
/* buttons */
.btn,button.btn,input[type=submit]{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;border:1px solid var(--navy);padding:7px 14px;border-radius:8px;cursor:pointer;text-decoration:none;margin:2px;font:inherit;font-weight:600;font-size:13px;line-height:1.3}
.btn:hover{background:var(--navy-2);color:#fff}
.btn.teal{background:var(--teal);border-color:var(--teal)}.btn.ghost{background:#fff;color:var(--navy);border-color:#d0d8e2}.btn.ghost:hover{background:var(--bg);color:var(--navy)}
.btn.sm{padding:4px 10px;font-size:12px}
form[style*="inline"] .btn{margin:2px}
/* badges & messages */
.badge{display:inline-block;padding:2px 10px;border-radius:999px;background:#eef2f6;color:#475467;font-size:11.5px;font-weight:600;letter-spacing:.2px}
.POSTED,.FILED,.PAID,.APPROVED,.MATCHED,.CLOSED{background:var(--ok-bg)!important;color:#03543f!important}
.REVERSED,.VOID,.REJECTED{background:var(--bad-bg)!important;color:#9b1c1c!important}
.SUBMITTED,.PENDING{background:var(--warn-bg)!important;color:var(--warn)!important}
.DRAFT{background:var(--info-bg)!important;color:var(--navy-2)!important}.CANCELLED{background:#f2f4f7!important;color:#667085!important}
.ok{color:var(--ok);font-weight:700}.bad{color:var(--bad);font-weight:700}.muted{color:var(--muted);font-size:12.5px}
.toasts{position:fixed;top:76px;inset-inline-end:20px;z-index:50;display:flex;flex-direction:column;gap:8px;max-width:420px}
.msg{background:#fff;border:1px solid var(--line);border-inline-start:4px solid var(--teal);border-radius:10px;box-shadow:0 10px 25px rgba(1,45,84,.15);padding:11px 14px;display:flex;gap:10px;align-items:flex-start;animation:tin .25s}
.msg.error{border-inline-start-color:var(--bad)}.msg.warning{border-inline-start-color:var(--warn)}.msg.success{border-inline-start-color:var(--ok)}
.msg .x{all:unset;cursor:pointer;margin-inline-start:auto;color:var(--muted)}
@keyframes tin{from{opacity:0;transform:translateY(-6px)}}
.empty{text-align:center;padding:36px 10px!important;color:var(--muted)}.empty .ic{width:40px;height:40px;color:#b8c4d2;display:block;margin:0 auto 8px}
.empty b{display:block;color:var(--navy);font-size:14px}
/* doc launcher */
.launch{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:16px}
.launch .card h4{margin:0 0 8px;display:flex;gap:8px;align-items:center}
.launch .btn{font-size:12px;padding:4px 10px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:10px;box-shadow:var(--sh)}
.filters label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:3px}
/* login */
.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.login-art{background:linear-gradient(150deg,var(--navy) 0%,#03406f 55%,var(--teal) 140%);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-art:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:70px solid rgba(255,255,255,.05);inset-inline-end:-160px;bottom:-160px}
.login-art img{height:120px;align-self:flex-start}
.login-art h1{font-size:30px;margin:0 0 10px}.login-art p{color:#bcd3e6;max-width:440px}
.login-art ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;color:#dbe8f3}.login-art li{display:flex;gap:8px;align-items:center}
.login-form{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}
.login-box{width:100%;max-width:380px}.login-box h2{font-size:24px;margin-bottom:6px}
.login-box .f{display:flex;flex-direction:column;gap:6px;margin:14px 0}.login-box input{height:44px;width:100%}
.login-box .btn{width:100%;justify-content:center;height:46px;font-size:15px;margin:10px 0 0}
.login-top{display:flex;justify-content:flex-end;margin-bottom:30px}
@media(max-width:900px){.login-wrap{grid-template-columns:1fr}.login-art{display:none}}
@media(max-width:900px){.sidebar{transform:translateX(-100%)}[dir=rtl] .sidebar{transform:translateX(100%)}body.open .sidebar{transform:none}.main{margin-inline-start:0!important}}
@media print{.sidebar,.topbar,.demo,.toasts,.btn,.tbl-tools,.pager,.filters{display:none!important}.main{margin:0!important}main{padding:0}}
main>h2+p{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:12px 16px;line-height:2}
main>h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
main>p>.btn:first-child,main>form{margin-top:4px}
#docform>.tbl-wrap:first-of-type{max-width:900px}
.search input{min-height:38px}.filters input[type=search]{min-width:240px}
.search input#gsearch{padding-inline:38px 12px;border-radius:9px;background:var(--bg)}
/* ===== v2 polish ===== */
main{max-width:1600px;width:100%}
.phead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.phead h1{font-size:22px;margin:2px 0 0;color:var(--navy);font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.phead .crumb a{color:var(--muted);text-decoration:none}.phead .crumb a:hover{color:var(--teal)}
.toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.toolbar form{display:inline-flex;align-items:center;gap:6px;margin:0}
.toolbar .rev{border:1px dashed #f3b3ae;border-radius:9px;padding:3px 3px 3px 10px}[dir=rtl] .toolbar .rev{padding:3px 10px 3px 3px}
.toolbar .rev input{min-height:30px;padding:3px 6px}
.btn.danger{color:var(--bad)!important;border-color:#f3b3ae!important}.btn.danger:hover{background:var(--bad-bg)!important}
.btn .ic{width:16px;height:16px}
.steps{display:flex;gap:0;margin-top:10px;flex-wrap:wrap}
.step{font-size:11.5px;font-weight:600;color:var(--muted);background:#eef2f6;padding:4px 14px 4px 18px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%,8px 50%)}
[dir=rtl] .step{clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 50%,100% 100%,8px 100%,0 50%)}
.step.cur{background:var(--teal);color:#fff}.step.cur.bad{background:var(--bad)}
.layout-2{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.layout-2>div>*{margin-bottom:16px}
@media(max-width:1200px){.layout-2{grid-template-columns:1fr}}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px 22px}
.kv>div{display:flex;flex-direction:column;gap:2px;min-width:0}.kv span{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.kv b{font-weight:600;color:var(--txt);overflow-wrap:anywhere}.kv small{color:var(--muted)}.kv .wide{grid-column:1/-1}
.card.flush{padding:0;overflow:hidden}.card.flush>table,.card.flush .tbl-wrap{border:0;border-radius:0;box-shadow:none;margin:0}
.pad{padding:14px 18px}.card-h.pad{margin:0;padding-bottom:6px}
.card h3{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:15px}
.totals{position:sticky;top:80px}.totals h3{margin-bottom:10px}
.trow{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-variant-numeric:tabular-nums}
.trow b{font-weight:600}.trow.grand{border-bottom:0;border-top:2px solid var(--navy);margin-top:6px;padding-top:12px;font-size:17px;color:var(--navy)}.trow.grand b{font-weight:700}
.trow.due{background:var(--warn-bg);border-radius:8px;padding:10px;border:0;margin-top:8px;color:var(--warn)}
.totals .meta{margin-top:12px}
.tabs{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.tab-bar{display:flex;gap:2px;border-bottom:1px solid var(--line);padding:0 8px;background:#fafbfd;overflow-x:auto}
.tab-bar button{all:unset;cursor:pointer;padding:12px 14px;display:flex;gap:6px;align-items:center;color:var(--muted);font-weight:600;font-size:13px;border-bottom:2px solid transparent;white-space:nowrap}
.tab-bar button.on{color:var(--navy);border-bottom-color:var(--teal)}.tab-bar .cnt{background:#eef2f6;border-radius:99px;padding:0 7px;font-size:11px}
.tab{display:none;padding:14px 16px}.tab.on{display:block}
.je{border:1px solid var(--line);border-radius:9px;margin-bottom:12px;overflow:hidden}.je .tbl-wrap{border:0;box-shadow:none;margin:0;border-radius:0}
.je-h{display:flex;gap:12px;align-items:center;padding:8px 12px;background:#f7f9fc;border-bottom:1px solid var(--line);flex-wrap:wrap}
.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:8px 0 8px 18px;border-inline-start:2px solid var(--teal-2);position:relative;padding-inline-start:16px}
.timeline li:before{content:"";position:absolute;inset-inline-start:-6px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--teal)}
/* forms */
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}.form-grid>.totals{position:static}
@media(max-width:1000px){.form-grid{grid-template-columns:1fr}}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px}
.fld{display:flex;flex-direction:column;gap:4px;min-width:0}.fld.wide{grid-column:1/-1}
.fld label{font-size:12.5px;color:#475467;font-weight:600}.fld input,.fld select,.fld textarea{width:100%;max-width:none}
.fld.err input,.fld.err select{border-color:var(--bad)}.fld input[type=checkbox]{width:auto;align-self:flex-start;min-height:auto}
.docform>section.card{margin-bottom:16px}
.grid-wrap{overflow-x:auto;border-top:1px solid var(--line)}
.linegrid{border:0!important;box-shadow:none!important;margin:0!important;min-width:100%}
.linegrid th{background:#f7f9fc;font-size:11.5px;position:static}
.linegrid td{padding:5px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.linegrid input,.linegrid select{width:100%;min-width:90px;max-width:none;min-height:32px;padding:4px 8px;font-size:13px}
.linegrid .c-qty input,.linegrid .c-price input,.linegrid .c-amount input,.linegrid .c-debit input,.linegrid .c-credit input{min-width:88px;text-align:end}
.linegrid .c-item,.linegrid .c-account{min-width:220px}.linegrid .c-description{min-width:180px}.linegrid .c-no{width:28px;text-align:center}
.linegrid .c-DELETE{width:44px;text-align:center}.linegrid .c-DELETE input{min-width:0;width:18px;height:18px;accent-color:var(--bad)}
.linegrid .c-vat{min-width:80px;padding-top:12px}
.hidecol{display:none}
tr.deleted td{opacity:.45;text-decoration:line-through}
.chk{display:flex;gap:6px;align-items:center;font-weight:500}
.savebar{position:sticky;bottom:0;z-index:15;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:12px;box-shadow:0 -6px 24px rgba(1,45,84,.10);padding:10px 14px;margin-top:8px}
.savebar .sp,.filters .sp{flex:1}.savebar b{color:var(--navy);font-size:16px}
/* searchable select */
.cb{position:relative;min-width:0;width:100%}.cb select{display:none}
.cb-in{width:100%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat;background-position:right 10px center;padding-inline-end:28px!important}
[dir=rtl] .cb-in{background-position:left 10px center}
.cb-list{display:none;position:absolute;z-index:40;top:calc(100% + 3px);inset-inline-start:0;min-width:100%;width:max-content;max-width:420px;max-height:260px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 30px rgba(1,45,84,.18);padding:4px}
.cb-list div{padding:6px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.cb-list div:hover,.cb-list div.hi{background:var(--teal-2)}.cb-list div.sel{font-weight:700;color:var(--teal)}.cb-list .none{color:var(--muted);cursor:default}
.filters .cb{width:auto;min-width:220px}
/* reports */
.rangebar{align-items:end}.presets{display:flex;gap:4px;flex-wrap:wrap}
.presets button{all:unset;cursor:pointer;font-size:12px;padding:5px 10px;border-radius:99px;background:var(--bg);color:var(--navy-2);font-weight:600}.presets button:hover{background:var(--teal-2);color:var(--teal)}
.report{padding:0;overflow:hidden;margin-bottom:16px}.report .tbl-wrap{border:0;box-shadow:none;margin:0;border-radius:0}.report>h3{padding:14px 18px 0}
.rhead{text-align:center;padding:20px 18px 14px;border-bottom:1px solid var(--line)}.rco{font-weight:700;color:var(--navy);font-size:15px}.rtitle{font-size:19px;font-weight:700;color:var(--teal);margin:2px 0}
.rtable td,.rtable th{padding:8px 18px}.rtable tr.sec td{background:#fff;color:var(--navy);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.3px;padding-top:16px;border-bottom:2px solid var(--teal-2)}
.rtable td.ind{padding-inline-start:34px}.rtable .code{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}
.rtable tr.tot td{background:#f7f9fc}.rtable tr.grand td,tfoot tr.grand td{background:var(--navy)!important;color:#fff!important;font-size:14.5px}
.val.okc{color:var(--ok)}.val.badc{color:var(--bad)}
.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:12px 16px;line-height:2}
section.sect{margin-bottom:16px}section.sect>.tbl-wrap,section.sect>table{box-shadow:none}
section.sect>fieldset{box-shadow:none;border:1px dashed var(--line)}
main>form:not(.filters):not(.docform){margin-bottom:12px}
main>p>form,main>p .btn{vertical-align:middle}
@media(max-width:700px){main{padding:14px}.phead h1{font-size:18px}.topbar{padding:0 10px;gap:6px}.search{display:none}.pill#co,.tb-right>.pill{display:none}
 .cards{grid-template-columns:1fr 1fr}.kpi .val{font-size:17px}.savebar{flex-wrap:wrap}.filters{flex-direction:column;align-items:stretch}.toolbar{width:100%}}
@media print{.phead .toolbar,.rangebar,.savebar,.tab-bar{display:none!important}.card,.report{box-shadow:none;border:0}.cards{display:none}}
.layout-2.rev2{grid-template-columns:minmax(0,1fr) 340px}
.layout-2>aside{position:sticky;top:80px}.layout-2>aside .totals{position:static}
.rowacts{display:flex;flex-direction:column;gap:6px}.rowacts form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.rowacts select{max-width:220px}
.automatch{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px 6px 4px 10px}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.inline-form select,.inline-form input{max-width:200px}.inline-form .cb{width:200px}
.avatar.lg{width:42px;height:42px;font-size:18px}
.att{display:flex;flex-wrap:wrap;gap:6px}.att-d{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:4px 8px;min-width:46px}
.att-d b{font-size:13px;color:var(--ok)}.att-d.A b{color:var(--bad)}.att-d.L b{color:var(--warn)}.att-d.H b{color:var(--muted)}
.tab .tbl-wrap{box-shadow:none}
.app{background:linear-gradient(to right,var(--navy) var(--sb),transparent var(--sb))}[dir=rtl] .app{background:linear-gradient(to left,var(--navy) var(--sb),transparent var(--sb))}
body.mini .app{--sb:68px}
@media(max-width:900px){.app{background:none}}
.badge{white-space:nowrap}
.rb-acts{margin-inline-start:auto;display:flex;gap:6px}
.rangebar label{min-width:0}.rangebar input[type=date]{min-width:140px}
@media(max-width:900px){[dir] .app{background:none}}
@media(max-width:1200px){.layout-2,.layout-2.rev2{grid-template-columns:minmax(0,1fr)}.layout-2>aside{position:static}}
.layout-2>div{min-width:0}
@media(max-width:700px){.phead{align-items:flex-start}.toolbar .rev{flex-wrap:wrap}.kv{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:minmax(0,1fr)}}
.cards:has(table),.cards:has(form){grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
/* manufacturing */
.CONFIRMED,.PASS{background:#e0f2f4!important;color:#035e6b!important}.IN_PROGRESS{background:var(--warn-bg)!important;color:var(--warn)!important}
.DONE{background:var(--ok-bg)!important;color:#03543f!important}.FAIL{background:var(--bad-bg)!important;color:#9b1c1c!important}
.badge .ic{width:12px;height:12px;vertical-align:-2px;margin-inline-end:3px}
.subnav{display:flex;gap:4px;flex-wrap:wrap;margin:-6px 0 16px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh)}
.subnav a{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;border-radius:9px;color:var(--muted);text-decoration:none;font-weight:600;font-size:13px}
.subnav a:hover{background:var(--bg);color:var(--navy)}.subnav a.active{background:var(--navy);color:#fff}.subnav .ic{width:16px;height:16px}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.chip{display:inline-flex;gap:6px;align-items:center;padding:4px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--navy);text-decoration:none;font-size:12.5px;margin:2px 0}
.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}.chip b{font-weight:700}
.pbar{height:8px;min-width:90px;background:#eef2f6;border-radius:99px;overflow:hidden}.pbar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#33b3c2);border-radius:99px}
.pbar.big{height:12px;flex:1}.prog{display:flex;gap:12px;align-items:center;margin-top:16px;font-size:12.5px;color:var(--muted)}
.tree .ind{padding-inline-start:calc((var(--lv) - 1) * 22px);display:inline-block}.tree tr.lv2 td,.tree tr.lv3 td,.tree tr.lv4 td{background:#fafbfd;font-size:12.5px}
.avail{display:flex;gap:8px;align-items:center;padding:9px 12px;border-radius:9px;margin-bottom:10px;font-weight:600}.avail.ok{background:var(--ok-bg);color:#03543f}.avail.bad{background:var(--bad-bg);color:#9b1c1c}
.w-num{width:110px!important;min-width:0!important}.w-lot{width:140px!important}tr.sub td{border-top:0;padding-top:2px;padding-bottom:2px}
tr.act td{background:#f5fbfc}a.card.kpi{text-decoration:none;color:inherit}a.card.kpi:hover{border-color:var(--teal)}
.steps a.step{text-decoration:none;color:inherit}
td.itm b{display:block;white-space:nowrap;font-weight:600}td.itm small{display:block;color:var(--muted);font-size:11.5px;max-width:260px}
.PART{background:var(--warn-bg)!important;color:var(--warn)!important}
.report td:first-child a,.report td:first-child b{white-space:nowrap}
