/* ============================================================================
   Sistemi i Ngarkimit — Mobile Dekor
   Identiteti: panel dispeçerie fabrike. I qetë, industrial, i lexueshëm nga larg.
   Ngjyra = gjendje (jeshile=ngarkuar, qelibar=mbetet, kuqe=gabim), jo zbukurim.
   Numrat e mëdhenj tabularë bartin informacionin kryesor (sa / sa).
   ============================================================================ */
:root{
  --ink:#13202e; --bg:#e9edf3; --surface:#ffffff; --surface2:#f3f6fa; --panel:#0f1d2b;
  --line:#dde3ec; --muted:#5f6d7e;
  --brand:#2b6eb5; --brand-ink:#1c5793;
  --loaded:#1f9d57; --loaded-bg:#e7f5ec; --loaded-ln:#bfe4cd;
  --remain:#d07b16; --remain-bg:#fbf0dc; --remain-ln:#f0d6a6;
  --wrong:#d23b3b; --wrong-bg:#fbe8e8; --wrong-ln:#f1c3c3;
  --shadow:0 1px 2px rgba(17,32,48,.06),0 8px 24px rgba(17,32,48,.05);
  --r:14px; --r-sm:10px;
  --body:"Hanken Grotesk",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --disp:"Archivo",var(--body);
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:#e8f0fb; --bg:#0a121c; --surface:#11202f; --surface2:#162738; --panel:#070e16;
  --line:#223548; --muted:#9db0c6;
  --brand:#52a0ec; --brand-ink:#8cc4f5;
  --loaded:#52c483; --loaded-bg:#10301f; --loaded-ln:#1f5236;
  --remain:#e2a550; --remain-bg:#32260f; --remain-ln:#5c4620;
  --wrong:#ef7a7a; --wrong-bg:#361b1b; --wrong-ln:#5e2d2d;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.35);
  color-scheme:dark;
}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;font-family:var(--disp);font-weight:700;letter-spacing:-.01em;line-height:1.1}
.num{font-family:var(--disp);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.02em}
button{font-family:var(--body)}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px}

/* ---- butona ---- */
.btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:15px;padding:12px 16px;border-radius:var(--r-sm);cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center;transition:background .12s,border-color .12s}
.btn:hover{border-color:var(--brand)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.btn.ghost{background:transparent}
.btn.danger{background:var(--wrong);border-color:var(--wrong);color:#fff}
.btn.sm{padding:7px 11px;font-size:13.5px;border-radius:8px}
.btn.big{padding:16px 20px;font-size:17px;width:100%}
.btn[disabled]{opacity:.5;cursor:default}

/* ---- fusha ---- */
input,select{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);font-family:var(--body);font-size:16px;padding:12px 13px}
input:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,111,212,.16)}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:600}
.muted{color:var(--muted)} .small{font-size:13px} .hide{display:none!important}

/* ---- panele (jo të gjitha njësoj: hierarki) ---- */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.pad{padding:18px}
.note{font-size:13.5px;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px}

/* ============================ HYRJA ============================ */
#login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 18px;
  background:radial-gradient(130% 90% at 50% -10%, #f3f7fd 0%, var(--bg) 60%)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) #login{background:radial-gradient(130% 90% at 50% -10%, #11253a 0%, var(--bg) 62%)}}
.loginbox{width:100%;max-width:392px;display:flex;flex-direction:column;gap:18px}
.mark{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:2px}
.mark .glyph{width:58px;height:58px;border-radius:15px;background:var(--brand);display:grid;place-items:center;box-shadow:0 10px 22px rgba(31,111,212,.28)}
.mark .glyph svg{width:34px;height:34px}
.mark .wordmark{font-family:var(--disp);font-weight:700;letter-spacing:.02em;font-size:15px;color:var(--brand-ink)}
.mark .wordmark b{font-weight:800}

/* ============================ SHELL ============================ */
#app{display:none;min-height:100vh;min-height:100dvh;flex-direction:column}
.bar{position:sticky;top:0;z-index:20;background:var(--panel);color:#eaf1fb;display:flex;align-items:center;gap:14px;
  padding:11px 16px;padding-top:max(11px,env(safe-area-inset-top))}
.bar .glyph{width:32px;height:32px;border-radius:8px;background:var(--brand);display:grid;place-items:center;flex:none}
.bar .glyph svg{width:20px;height:20px}
.bar .wm{font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.02em;white-space:nowrap}
.bar .who{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13.5px}
.bar .who .nm{opacity:.85}
.role{font-size:11.5px;font-weight:700;letter-spacing:.03em;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.14)}
.bar .btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#dceaf8}
.bar .btn:hover{border-color:rgba(255,255,255,.5)}

/* nav si skeda segmentuar */
.tabs{display:flex;gap:2px;padding:6px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;overflow-x:auto}
.tabs button{flex:1 0 auto;white-space:nowrap;background:transparent;border:0;color:var(--muted);font-weight:650;font-size:14px;padding:9px 14px;border-radius:8px;cursor:pointer}
.tabs button[aria-current=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}

.main{flex:1;width:100%;max-width:1060px;margin:0 auto;padding:16px 16px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}
.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.page-h h2{font-size:23px}
.page-h .sub{color:var(--muted);font-size:13.5px}

/* ---- rreshti i një ngarkese (home) ---- */
.load{display:block;text-align:left;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;cursor:pointer;display:flex;align-items:center;gap:18px}
.load:hover{border-color:var(--brand)}
.load .meta{min-width:0;flex:1}
.load .ttl{font-family:var(--disp);font-weight:700;font-size:17px}
.load .cli{color:var(--muted);font-size:13.5px;margin-top:1px}
.load .big{font-family:var(--disp);font-variant-numeric:tabular-nums;font-weight:800;font-size:26px;letter-spacing:-.02em;white-space:nowrap}
.load .big i{color:var(--muted);font-weight:600;font-size:17px;font-style:normal}

/* shirit progresi (i hollë, me gjendje) */
.track{height:8px;border-radius:5px;background:var(--surface2);border:1px solid var(--line);overflow:hidden;margin-top:12px}
.track>i{display:block;height:100%;background:var(--loaded);width:0;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.track.full>i{background:var(--loaded)}

/* ---- unaza e numërimit (SVG) ---- */
.ring{position:relative;width:var(--rs,120px);height:var(--rs,120px);flex:none}
.ring svg{transform:rotate(-90deg)}
.ring .rc{fill:none;stroke-linecap:round}
.ring .rc.bg{stroke:var(--line)}
.ring .rc.fg{stroke:var(--loaded);transition:stroke-dashoffset .5s cubic-bezier(.2,.7,.2,1)}
.ring.rem .rc.fg{stroke:var(--remain)}
.ring .lbl{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.ring .lbl .n{font-family:var(--disp);font-variant-numeric:tabular-nums;font-weight:800;font-size:calc(var(--rs,120px)*.28);line-height:1}
.ring .lbl .d{font-family:var(--disp);font-variant-numeric:tabular-nums;color:var(--muted);font-size:calc(var(--rs,120px)*.12);font-weight:600}

/* ============================ SKANIMI ============================ */
.scan-stage{position:relative;border-radius:var(--r);overflow:hidden;background:#06101a;aspect-ratio:3/4;max-height:58vh;margin:0 auto;width:100%;max-width:520px}
.scan-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reticle{position:absolute;inset:16% 16%;border-radius:16px;pointer-events:none}
.reticle::before,.reticle::after{content:"";position:absolute;width:38px;height:38px;border:3px solid rgba(255,255,255,.92)}
.reticle::before{top:0;left:0;border-right:0;border-bottom:0;border-radius:16px 0 0 0}
.reticle::after{bottom:0;right:0;border-left:0;border-top:0;border-radius:0 0 16px 0}
.reticle .tr{position:absolute;top:0;right:0;width:38px;height:38px;border:3px solid rgba(255,255,255,.92);border-left:0;border-bottom:0;border-radius:0 16px 0 0}
.reticle .bl{position:absolute;bottom:0;left:0;width:38px;height:38px;border:3px solid rgba(255,255,255,.92);border-right:0;border-top:0;border-radius:0 0 0 16px}
.scan-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:12px 14px;
  background:linear-gradient(#06101acc,transparent);color:#fff}
.scan-top .st-ttl{font-family:var(--disp);font-weight:700;font-size:15px;line-height:1.15}
.scan-top .st-cli{opacity:.8;font-size:12.5px}
.scan-top .ring{margin-left:auto;--rs:62px}
.scan-top .ring .lbl .n{color:#fff} .scan-top .ring .rc.bg{stroke:rgba(255,255,255,.25)}
.scan-top .ring .lbl .d{color:rgba(255,255,255,.75)}

/* banderola e rezultatit (mbi kamerë) */
.verdict{position:absolute;left:12px;right:12px;bottom:12px;border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:13px;
  color:#fff;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.4);transform:translateY(0);transition:transform .2s}
.verdict .vic{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:20px;flex:none}
.verdict .vt{font-family:var(--disp);font-size:16px;line-height:1.15}
.verdict .vs{font-weight:500;font-size:13px;opacity:.92;margin-top:1px}
.verdict.ok{background:var(--loaded)} .verdict.warn{background:var(--remain)} .verdict.err{background:var(--wrong)} .verdict.idle{background:#1d2c3bd0}
.flash{animation:flash .5s}
@keyframes flash{0%{transform:scale(.97)}60%{transform:scale(1.01)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.flash{animation:none}.track>i{transition:none}.ring .rc.fg{transition:none}}

/* rrjeti i pakove */
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin:2px 2px 0}
.legend span{display:inline-flex;align-items:center;gap:6px}
.dot{width:11px;height:11px;border-radius:3px;display:inline-block}
.dot.l{background:var(--loaded)} .dot.r{background:var(--remain-bg);border:1px solid var(--remain-ln)} .dot.c{outline:2px solid var(--brand);outline-offset:-2px;background:transparent}
.group-h{font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--muted);margin:4px 2px 2px;text-transform:none}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px}
.tile{aspect-ratio:1/1;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  border:1px solid var(--remain-ln);background:var(--remain-bg);color:var(--remain);font-family:var(--disp);font-weight:700;cursor:pointer;user-select:none;transition:transform .12s}
.tile .tl{font-size:15px;font-variant-numeric:tabular-nums;line-height:1}
.tile .tk{font-size:9px;font-weight:600;opacity:.75;letter-spacing:.02em}
.tile.on{background:var(--loaded);border-color:var(--loaded);color:#fff}
.tile.cur{outline:3px solid var(--brand);outline-offset:1px}
.tile.pop{transform:scale(1.08)}

/* tabela e detajeve */
.tblwrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:620px}
th,td{text-align:left;padding:10px 11px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:11px;letter-spacing:.03em;color:var(--muted);font-weight:700}
td.id{font-family:var(--disp);font-weight:600;white-space:nowrap;font-size:12px}
tr.done td{background:var(--loaded-bg)}
.state{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid var(--remain-ln);color:var(--remain);background:var(--remain-bg)}
.state.y{color:var(--loaded);border-color:var(--loaded-ln);background:var(--loaded-bg)}

/* ngarkimi i PDF */
.drop{border:2px dashed var(--line);border-radius:var(--r);padding:26px 18px;text-align:center;color:var(--muted);cursor:pointer;background:var(--surface2);transition:border-color .12s,color .12s}
.drop:hover,.drop.drag{border-color:var(--brand);color:var(--brand)}
.drop .di{font-size:26px;display:block;margin-bottom:6px}
.banner{border-radius:var(--r-sm);padding:12px 14px;font-size:13.5px;font-weight:600;display:flex;gap:10px;align-items:flex-start}
.banner.ok{background:var(--loaded-bg);border:1px solid var(--loaded-ln);color:var(--loaded)}
.banner.warn{background:var(--remain-bg);border:1px solid var(--remain-ln);color:var(--remain)}
.banner.err{background:var(--wrong-bg);border:1px solid var(--wrong-ln);color:var(--wrong)}
.banner .bi{font-size:16px;line-height:1.2}

/* input skanimi manual */
#manual{font-family:var(--disp);font-weight:600;font-size:18px;letter-spacing:.02em;text-align:center}

/* workers */
.urow{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;background:var(--surface)}
.urow .un{font-weight:700} .urow .ue{color:var(--muted);font-size:12.5px} .urow .ur{margin-left:auto;display:flex;gap:8px;align-items:center}

/* ============================ DASHBOARD (TV) ============================ */
.tv{display:grid;gap:16px}
.tv.two{grid-template-columns:1fr 1fr}
@media(max-width:820px){.tv.two{grid-template-columns:1fr}}
.tvcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:14px}
.tvcard .head{display:flex;align-items:center;gap:16px}
.tvcard .head .ring{--rs:92px}
.tvcard .head h3{font-size:20px}
.tvcard .head .cli{color:var(--muted);font-size:14px;margin-top:2px}
.tvcard .status{font-family:var(--disp);font-weight:800;font-size:15px}
.tvcard .status.done{color:var(--loaded)} .tvcard .status.rem{color:var(--remain)}
.tvcard .last{font-size:13px;color:var(--muted)}
.tvclock{font-family:var(--disp);font-variant-numeric:tabular-nums;font-weight:800;font-size:20px}

/* kyçe TV-je: mod i errët i detyruar kur hapet si ekran */
body.tvmode{--bg:#070e16}
body.tvmode .bar{background:#05131f}

/* ============================================================================
   v2 — Transporti (chips), seksionet për klient, dhe kamioneta
   ============================================================================ */
/* shiriti i ngarkesave në transport */
.chipbar{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:6px;-webkit-overflow-scrolling:touch}
.chipbar::-webkit-scrollbar{height:6px}.chipbar::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.lchip{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:9px 13px;cursor:pointer;min-width:150px;text-align:left;transition:border-color .12s,background .12s}
.lchip .lc-kli{font-family:var(--disp);font-weight:700;font-size:14.5px}
.lchip .lc-sub{font-size:11.5px;color:var(--muted)}
.lchip .lc-cnt{font-family:var(--disp);font-weight:800;font-size:12px;color:var(--muted);letter-spacing:-.01em}
.lchip.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface));box-shadow:0 0 0 2px rgba(31,111,212,.14)}
.lchip.on .lc-cnt{color:var(--brand)}

/* seksioni i çdo klienti në skanim (që pakot të mos përzihen vizualisht) */
.ldsec{border-top:2px solid var(--line);margin-top:18px;padding-top:12px}
.ldsec:first-of-type{border-top:none;margin-top:8px;padding-top:0}
.ld-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}
.ld-kli{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.01em}
.ld-sub{font-size:13px;color:var(--muted);margin-top:1px}
.ld-sub b{color:var(--ink)}
.ld-ring .ring{--rs:62px}

/* kamioneta */
.truckwrap{margin-top:20px;padding:16px 16px 14px}
.tk-h{font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.02em;color:var(--muted);margin-bottom:8px}
.van{width:100%;height:auto;display:block;max-height:240px}
.van-box{fill:var(--surface2);stroke:var(--line);stroke-width:2}
.van-top{fill:color-mix(in srgb,var(--surface2) 72%,#000 7%);stroke:var(--line);stroke-width:1.4}
.van-side{fill:color-mix(in srgb,var(--surface2) 52%,#000 12%);stroke:var(--line);stroke-width:1.4}
.van-cab{fill:var(--brand)}
.van-win{fill:#cfe4fb;opacity:.9}
.van-wheel{fill:#2a3542;stroke:#0c131b;stroke-width:2}
.van-hub{fill:#8795a5}
.crate{fill:var(--surface);stroke:var(--line);stroke-width:1;transition:fill .3s,stroke .3s}
.crate.on{fill:var(--loaded);stroke:var(--loaded)}
.tk-reads{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.tk-r{background:var(--surface2);border:1px solid var(--line);border-radius:10px;padding:8px 11px;display:flex;flex-direction:column;gap:2px}
.tk-k{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.01em}
.tk-v{font-weight:800;font-size:17px}
@media(max-width:560px){.tk-reads{grid-template-columns:repeat(2,1fr)}.ld-kli{font-size:17px}}

/* ============================================================================
   v3 — kamioni me model, produktet, etiketat, eksporti
   ============================================================================ */
.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.03em;color:var(--brand-ink);background:color-mix(in srgb,var(--brand) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line));border-radius:6px;padding:1px 6px;vertical-align:middle}

/* kamioni (shkallë + metra) */
.tk-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tk-sel{width:auto;min-width:200px;max-width:100%;font-size:13.5px;padding:8px 10px}
.tk-dims{font-size:12.5px;color:var(--muted);margin:6px 0 2px}.tk-dims b{color:var(--ink)}
.van-plan-fill{fill:color-mix(in srgb,var(--brand) 12%,transparent)}
.van-load{fill:var(--loaded);opacity:.9}
.van-div{stroke:color-mix(in srgb,var(--loaded) 40%,#fff 30%);stroke-width:1}
.van-plan{stroke:var(--brand);stroke-width:1.6;stroke-dasharray:4 3}
.van-plan-t{fill:var(--brand-ink);font-size:10px;font-weight:700;font-family:var(--disp)}
.van-tick{stroke:var(--muted);stroke-width:1}
.van-tx{fill:var(--muted);font-size:9px;font-family:var(--disp)}
.tk-note{font-size:11.5px;color:var(--muted);margin-top:10px;line-height:1.45}.tk-note b{color:var(--ink)}

/* eksporti */
.expbar{margin-top:16px}.exp-h{font-family:var(--disp);font-weight:700;font-size:14px;margin-bottom:2px}

/* produktet */
.prod-form{display:grid;grid-template-columns:168px 1fr;gap:16px}
@media(max-width:560px){.prod-form{grid-template-columns:1fr}}
.pf-art{background:var(--surface2);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--brand-ink)}
.pf-art .prodart.big{width:120px;height:92px}
.pf-artn{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--ink)}
.pf-fields{min-width:0}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px}
.fr4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;margin-bottom:4px}
@media(max-width:560px){.fr3,.fr4{grid-template-columns:1fr 1fr}}
.prodart{color:var(--brand-ink)}.prodart.sm{width:46px;height:36px;flex:none}
.prod-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.prod-list{display:flex;flex-direction:column;gap:8px}
.prod-item{display:flex;align-items:center;gap:12px;background:var(--surface2);border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.pi-txt{flex:1;min-width:0}.pi-n{font-weight:700;font-size:14px}.pi-id{font-size:11.5px;color:var(--muted);font-family:var(--disp);word-break:break-all}
.tile.bl.on{background:#7c4dff;border-color:#7c4dff}.tile.bl{border-color:color-mix(in srgb,#7c4dff 40%,var(--line))}

/* parapamja e kamionit (regjistrim) */
.tk-prev{margin-top:12px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:12px}
.tk-prev .van{max-height:200px}
.tk-prev-n{text-align:center;font-family:var(--disp);font-weight:700;color:var(--muted);font-size:13px;margin-top:4px}

/* kufizimet e kamionit (dysheme / peshë / vëllim) */
.tk-bind{font-size:13px;margin-top:10px;padding:9px 12px;border-radius:9px;background:var(--surface2);border:1px solid var(--line);color:var(--ink)}
.tk-bind b{color:var(--brand-ink)}
.tk-bind.over{background:var(--wrong-bg);border-color:var(--wrong-ln);color:var(--wrong);font-weight:600}
.tk-bind.over b{color:var(--wrong)}
.cbars{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.cb-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;gap:8px}
.cb-l{font-size:12.5px;color:var(--muted);font-weight:600}
.cb-v{font-size:13px;font-weight:800;white-space:nowrap}
.cb-track{position:relative;height:12px;border-radius:7px;background:var(--surface2);border:1px solid var(--line);overflow:hidden}
.cb-track>i{position:absolute;left:0;top:0;height:100%;border-radius:7px}
.cb-plan{background:color-mix(in srgb,var(--brand) 22%,var(--surface2));z-index:1}
.cb-load{background:var(--loaded);z-index:2;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.cbar.bind .cb-l{color:var(--brand-ink)}
.cbar.bind .cb-track{border-color:var(--brand);box-shadow:0 0 0 2px rgba(31,111,212,.12)}
.cbar.over .cb-load{background:var(--wrong)}
.cbar.over .cb-v{color:var(--wrong)}
.tk-reads2{display:flex;gap:18px;margin-top:11px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.tk-reads2 b{color:var(--ink)}

/* kthimi i pakove për përmirësim */
.dot.ret{background:var(--remain)}
.tile{position:relative}
.tile.ret{background:var(--remain-bg);border-color:var(--remain)}
.tile.ret .tl{color:var(--remain)}
.tile.ret::after{content:"↩";position:absolute;top:1px;right:4px;font-size:11px;color:var(--remain);font-weight:800;line-height:1}
.state.ret{background:var(--remain-bg);color:var(--remain);border:1px solid var(--remain-ln);border-radius:6px;padding:2px 7px;font-weight:700}
tr.retrow td{background:var(--remain-bg)}
.tvret{margin-top:5px;font-size:13px;font-weight:700;color:var(--remain);background:var(--remain-bg);border:1px solid var(--remain-ln);border-radius:7px;padding:3px 9px;display:inline-block}

/* produktet shtese ne ekran (TV) — rresht i vecante nen ato te Corpus */
.mini-sub{font-size:11px;font-weight:700;color:var(--muted);margin:9px 2px 4px;letter-spacing:.02em;text-transform:uppercase}
.tvcard .tile.bl.on{background:#7c4dff;border-color:#7c4dff}
.tvcard .tile.bl{border-color:color-mix(in srgb,#7c4dff 40%,var(--line))}

/* mënyra TV / kiosk (#ekran): vetëm ekrani, pa bar e pa menu */
body.kiosk .bar{display:none}
body.kiosk .tabs{display:none}
body.kiosk .main{padding-top:14px}
.fsbtn{margin-left:10px;flex:none}
.tk-selstatic{font-family:var(--disp);font-weight:700;color:var(--ink);font-size:14px}
.tv-truck{margin-top:14px}
.tvmode .tv-truck .truckwrap{max-width:none}

/* Ekrani — kompakt që listat e plota + kamioni të hyjnë pa scroll (pa i zvogëluar listat me scroll) */
body.tvmode .main{max-width:1500px;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
body.tvmode .page-h{margin:0}
body.tvmode .page-h h2{font-size:20px}
body.tvmode .tv{gap:10px}
body.tvmode .tvcard{padding:12px 14px;gap:8px}
body.tvmode .tvcard .head{gap:12px}
body.tvmode .tvcard .head .ring{--rs:58px}
body.tvmode .tvcard .head h3{font-size:18px}
body.tvmode .tvcard .head .cli{font-size:12.5px}
body.tvmode .tvcard .status{font-size:14px}
body.tvmode .tvcard .track{height:9px!important}
body.tvmode .tvcard .tiles{grid-template-columns:repeat(auto-fill,minmax(32px,1fr))!important;gap:5px!important}
body.tvmode .tvcard .tile .tl{font-size:11px!important}
body.tvmode .mini-sub{margin:5px 2px 3px}
body.tvmode .tvcard .last{font-size:12px}
body.tvmode .tv-truck{margin-top:2px}
body.tvmode .tv-truck .truckwrap{padding:10px 14px}
body.tvmode .tv-truck .tk-note,body.tvmode .tv-truck .tk-dims{display:none}
body.tvmode .tv-truck .van{max-height:112px}
body.tvmode .tv-truck .cbars{gap:5px;margin-top:8px}
body.tvmode .tv-truck .tk-bind{margin-top:7px;padding:6px 10px}
body.tvmode .tv-truck .tk-reads2{margin-top:7px}
body.tvmode .tv-truck .tk-h{font-size:12px}

/* arkat brenda kamionit (çdo pako një arkë) + legjenda */
.crate{fill:var(--surface);stroke:var(--line);stroke-width:1;transition:fill .25s,stroke .25s}
.crate.on{fill:var(--loaded);stroke:var(--loaded)}
.crate.ret{fill:var(--remain-bg);stroke:var(--remain);stroke-width:1.4}
.van-legend{display:flex;gap:14px;justify-content:center;font-size:11.5px;color:var(--muted);margin-top:7px}
.van-legend span{display:inline-flex;align-items:center;gap:5px}
body.tvmode .van-legend{margin-top:5px}

/* njoftimi kur përfundon një porosi */
#ctoasts{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;gap:10px;max-width:92vw}
.ctoast{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--loaded);border-radius:12px;box-shadow:var(--shadow);padding:14px 16px;width:340px;max-width:92vw;animation:ctin .25s ease}
@keyframes ctin{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
.ct-h{font-family:var(--disp);font-weight:800;font-size:16px;color:var(--loaded)}
.ct-k{font-size:13px;color:var(--muted);margin:2px 0 10px}
.ct-b{display:flex;gap:6px;flex-wrap:wrap}
/* Ekrani: në telefon gjithmonë një kolonë */
@media(max-width:820px){.tv{grid-template-columns:1fr!important}}
.ct-auto{font-size:12.5px;color:var(--loaded);font-weight:700;margin-bottom:8px}

/* ============================================================================
   v3.11 — Kamion realist + gauge mbushjeje, logo e markës, zbukurim koherent
   ============================================================================ */
:root{
  --load-top:#2cb86c; --load-bot:#159050;
  --cab-top:#3f8be0; --cab-bot:#2567c4;
  --box-top:#f5f8fc; --box-bot:#dce6f1;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --load-top:#4ecb86; --load-bot:#2f9c62;
  --cab-top:#4f93e0; --cab-bot:#2d66bd;
  --box-top:#1c3043; --box-bot:#12202e;
}}

/* ---- logo / badge (blu reale e Mobile Dekor) ---- */
.mark .glyph{background:#2b6eb5;border-radius:13px;box-shadow:0 12px 26px rgba(43,110,181,.3)}
.bar .glyph{background:#2b6eb5;border-radius:7px;box-shadow:0 3px 9px rgba(0,0,0,.28)}
.mark .glyph svg,.bar .glyph svg{width:78%;height:78%}
.mark .tagln{font-size:11.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-top:-6px}

/* ---- shiriti i sipërm më elegant + nëntitull ---- */
.bar{background:linear-gradient(180deg,#102438,#0a1724);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 2px 12px rgba(0,0,0,.18)}
.wmwrap{display:flex;flex-direction:column;line-height:1.1}
.wmsub{font-size:10.5px;color:rgba(220,234,248,.6);letter-spacing:.04em;font-weight:500}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bar{background:linear-gradient(180deg,#0b1a28,#060e17)}}

/* ---- butona & panele pak më të rafinuar ---- */
.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,#fff 9%,var(--brand)),var(--brand));box-shadow:0 2px 8px rgba(31,111,212,.22)}
.btn.primary:hover{background:linear-gradient(180deg,var(--brand),var(--brand-ink))}
.load{transition:border-color .14s,transform .14s,box-shadow .14s}
.load:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(17,32,48,.12)}
.tabs button[aria-current=true]{box-shadow:0 2px 8px rgba(17,32,48,.1)}

/* ---- njoftimi i vogël ---- */
.ctoast.mini{border-left-color:var(--brand);width:auto;max-width:360px;padding:11px 14px;transition:opacity .3s}
.ctoast.mini.ok{border-left-color:var(--loaded)}
.ctoast.mini.warn{border-left-color:var(--remain)}

/* ============================ KAMIONI (i ri) ============================ */
.van-wrap{background:radial-gradient(130% 150% at 50% 0%,color-mix(in srgb,var(--brand) 6%,var(--surface)) 0%,var(--surface) 72%);border:1px solid var(--line);border-radius:14px;padding:6px 10px 2px;margin:6px 0 2px}
.van{width:100%;height:auto;display:block;max-height:300px}
.van-shadow{fill:#000;opacity:.10}
.van-chassis{fill:#2a3542}
.van-box{fill:url(#gBox);stroke:var(--line);stroke-width:2}
.van-int{fill:color-mix(in srgb,var(--ink) 5%,var(--surface))}
.van-intborder{fill:none;stroke:var(--line);stroke-width:1.5}
.van-seg.s0{fill:color-mix(in srgb,#2f86e8 15%,var(--surface))}
.van-seg.s1{fill:color-mix(in srgb,#8b5cf6 15%,var(--surface))}
.van-seg.s2{fill:color-mix(in srgb,#14b8a6 15%,var(--surface))}
.van-seg.s3{fill:color-mix(in srgb,#f59e0b 17%,var(--surface))}
.van-segdiv{stroke:color-mix(in srgb,var(--ink) 20%,transparent);stroke-width:1;stroke-dasharray:3 3}
.van-segn{fill:var(--muted);font-family:var(--disp);font-weight:800;font-size:12px;text-anchor:middle}
.van-load{fill:url(#gLoad);transition:width .55s cubic-bezier(.2,.7,.2,1)}
.van-loadedge{stroke:#fff;stroke-width:2;opacity:.45}
.van-over{fill:var(--wrong);opacity:.5}
.van-planln{stroke:var(--brand);stroke-width:2.4;stroke-dasharray:6 4;stroke-linecap:round}
.van-planflag rect{fill:var(--brand)}
.van-planflag path{fill:var(--brand)}
.van-planflag text{fill:#fff;font-family:var(--disp);font-weight:800;font-size:11px;letter-spacing:.01em}
.van-planflag.over rect,.van-planflag.over path{fill:var(--wrong)}
.van-door{stroke:color-mix(in srgb,var(--ink) 22%,transparent);stroke-width:2}
.van-cab{fill:url(#gCab);stroke:color-mix(in srgb,#000 20%,var(--brand));stroke-width:1}
.van-roof{fill:color-mix(in srgb,#fff 20%,var(--brand))}
.van-win{fill:#d6e9fb}
.van-win2{fill:#cfe4fb;opacity:.92}
.van-detail{stroke:color-mix(in srgb,#000 24%,var(--brand));stroke-width:1.4}
.van-handle{fill:#e3eefb}
.van-mirror{fill:#22303f}
.van-light{fill:#ffd36b}
.van-bumper{fill:#273340}
.van-stack{fill:#3a4756}
.van-leg{fill:#2a3542}
.van-arch{fill:none;stroke:#141b24;stroke-width:3}
.van-tire{fill:#1b232e}
.van-rim{fill:#3c4a5a}
.van-hub{fill:#9aa7b6}
.van-bolts circle{fill:#141b24}
.van-brand{color:var(--muted);opacity:.16}
.van-brandtx{fill:currentColor;font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:.05em}

.van-legend{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px}
.van-legend span{display:inline-flex;align-items:center;gap:6px}
.van-legend .lk{width:16px;height:12px;border-radius:3px;display:inline-block;flex:none}
.van-legend .lk.load{background:linear-gradient(180deg,var(--load-top),var(--load-bot))}
.van-legend .lk.band{background:color-mix(in srgb,#2f86e8 16%,var(--surface));border:1px solid var(--line)}
.van-legend .lk.plan{height:0;border-top:2.6px dashed var(--brand);border-radius:0}
.van-legend .lk.over{background:var(--wrong)}

/* kompakt në Ekran (TV) */
body.tvmode .tv-truck .van{max-height:150px}
body.tvmode .van-wrap{padding:4px 8px 0}
body.tvmode .van-legend{margin-top:4px;font-size:11px}

/* ---- importi: dy zona (PDF | Corpus JSON) ---- */
.improw{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.improw{grid-template-columns:1fr}}
.drop.corpus{border-color:color-mix(in srgb,var(--brand) 42%,var(--line));background:color-mix(in srgb,var(--brand) 6%,var(--surface2))}
.drop.corpus:hover,.drop.corpus.drag{border-color:var(--brand);color:var(--brand)}
.pill.cps{color:#fff;background:#2b6eb5;border-color:#2b6eb5}

/* ---- drita LIVE + ora me sekonda te Ekrani ---- */
.tvtitle{display:inline-flex;align-items:center;gap:12px}
.livewrap{display:inline-flex;align-items:center;gap:7px}
.livedot{width:13px;height:13px;border-radius:50%;display:inline-block;flex:none}
.livedot.on{background:var(--loaded);animation:livepulse 1.6s infinite}
.livedot.off{background:var(--wrong)}
.livetxt{font-family:var(--disp);font-size:12px;font-weight:800;letter-spacing:.08em}
.livedot.on~.livetxt{color:var(--loaded)}
.livedot.off~.livetxt{color:var(--wrong)}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(31,157,87,.55)}70%{box-shadow:0 0 0 11px rgba(31,157,87,0)}100%{box-shadow:0 0 0 0 rgba(31,157,87,0)}}
@media(prefers-reduced-motion:reduce){.livedot.on{animation:none}}
.tvclock{font-variant-numeric:tabular-nums}
body.tvmode .livedot{width:15px;height:15px}body.tvmode .livetxt{font-size:13px}

/* Ekrani me ngjyrë te skanimi (i gjithë ekrani i telefonit) */
#scanflash{position:fixed;inset:0;z-index:99999;pointer-events:none;opacity:0;
  display:flex;align-items:center;justify-content:center;
  font-size:34vmin;font-weight:800;color:rgba(255,255,255,.95);
  text-shadow:0 2px 18px rgba(0,0,0,.25);transition:opacity .28s ease}
#scanflash.on{opacity:1;transition:opacity .04s ease;animation:scanpulse .5s ease}
@keyframes scanpulse{0%{transform:scale(1.04)}100%{transform:scale(1)}}

/* Titujt e grupeve te lista e Ngarkesave (per ngarkim / te ngarkuara) */
.grp-h{display:flex;align-items:center;gap:8px;margin:14px 2px 2px;font:600 11px/1.3 var(--disp);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.grp-h::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--remain);box-shadow:0 0 0 3px var(--remain-bg)}
.grp-h.done{color:var(--loaded)}
.grp-h.done::before{background:var(--loaded);box-shadow:0 0 0 3px var(--loaded-bg)}
.grp-h:first-child{margin-top:2px}

/* V9: responsive desktop/laptop/tablet/mobile */
html{overflow-x:hidden} #app,.main,#view{min-width:0}
.auditrow{padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
@media(min-width:1100px){.main{max-width:1180px}.scan-stage{max-width:560px;max-height:58vh}}
@media(min-width:1600px){.main{max-width:1280px}.scan-stage{max-width:600px;max-height:62vh}}
@media(max-width:820px){.main{padding:12px 12px 32px;gap:12px}.tabs{display:flex;width:100%;overflow-x:auto;scrollbar-width:thin}.tabs button{flex:0 0 auto;min-width:96px;padding:12px 14px}.scan-stage{width:min(100%,520px);max-height:65dvh}.page-h{flex-wrap:wrap;gap:8px}}
@media(max-width:540px){.main{padding:10px 10px 28px}.bar{gap:8px;padding-inline:10px}.who{gap:6px}.who .nm{max-width:75px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs button{min-width:86px;padding:11px 10px}.scan-stage{max-height:62dvh;min-height:280px}.panel.pad{padding:12px}.page-h h2{font-size:22px}#view{width:100%}#view .load{min-width:0}.improw{grid-template-columns:1fr!important}}

/* V10: lejet për çdo përdorues, responsive */
.permission-panel{margin:8px 0 18px;padding:16px;background:var(--surface2,#142337);border:1px solid #375575;border-radius:14px;min-width:0}
.permission-scroll{overflow-x:auto;max-width:100%;margin:12px 0}
.permission-table{border-collapse:collapse;width:100%;min-width:650px;font-size:13px}
.permission-table th,.permission-table td{padding:11px 8px;border-bottom:1px solid #ffffff18;text-align:center}
.permission-table th:first-child,.permission-table td:first-child{text-align:left;font-weight:600;white-space:nowrap}
.permission-table input{width:19px;height:19px;accent-color:#55a8f6;cursor:pointer}
@media(max-width:700px){.permission-panel{padding:10px}.urow{flex-wrap:wrap;gap:8px}.urow .ur{flex-wrap:wrap}}

/* V16.1: modal kompakt për caktim transporti te porosia */
.dispatch-overlay{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:14px}.dispatch-dialog{background:#14283c;color:#e7f1ff;width:min(560px,96vw);max-height:90vh;overflow:auto;padding:20px;border-radius:14px;border:1px solid #385067;box-shadow:0 18px 60px #0008}.dispatch-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.dispatch-dialog label{display:block;margin:12px 0;font-size:13px}.dispatch-dialog input:not([type=checkbox]),.dispatch-dialog select{display:block;width:100%;padding:10px;margin-top:5px;border:1px solid #36516e;border-radius:7px;background:#101e30;color:#fff}.dispatch-dialog .dispatch-check{display:flex;gap:9px;align-items:center}.dispatch-vehicle{padding:8px 0;border-top:1px solid #34495e}.dispatch-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.dispatch-dialog h4{margin:16px 0 8px}@media(max-width:640px){.dispatch-dialog{padding:12px}.dispatch-overlay{align-items:flex-end;padding:0}.dispatch-dialog{width:100%;max-height:94vh;border-radius:16px 16px 0 0}}

/* V18: ndarja vendore sipas porosisë; eksporti ruan pamjen e kamionit */
.assigned-line{font-size:12px;color:#a9cdf8;line-height:1.6;margin-top:5px;overflow-wrap:anywhere}
.assignment-grid,.load-split-grid,.local-truck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.assignment-cell,.local-truck-card{min-width:0;padding:12px;border:1px solid #30465c;border-radius:12px}
.assignment-cell .assigned-line{margin:6px 0}
.ldsec{min-width:0}
.local-truck-title{display:flex;justify-content:space-between;gap:8px;align-items:center}
.local-truck-schematic{display:flex;align-items:center;gap:12px;min-height:90px;background:#102337;border-radius:10px;padding:16px;margin-top:10px;overflow-wrap:anywhere}
.local-truck-symbol{font-size:44px}.local-truck-card .small{opacity:.8}
@media(max-width:760px){.assignment-grid,.load-split-grid,.local-truck-grid{grid-template-columns:1fr}.local-truck-symbol{font-size:34px}}

/* V19: pamja origjinale grafike e kamionit brenda kolonave të V18 */
.v19-vehicles .local-truck-card{padding:12px;overflow:hidden}
.v19-mini-van{margin-top:10px;padding:4px!important}
.v19-mini-van svg{display:block;width:100%;height:auto;max-height:235px}
.v19-vehicles .van-legend{flex-wrap:wrap;font-size:11px;margin-top:6px}
.v19-vehicle-unavailable{padding:20px 12px;margin-top:10px;border:1px dashed #587084;border-radius:8px;color:#b9cce0}

/* V20: numri i ngarkesave aktive përcakton hapësirën e kolonave */
.export-clients{padding:10px 14px;margin:6px 0 14px;border:1px solid #2b465f;border-radius:10px;background:#142639;color:#d5e9fc;font-size:13px}
.export-clients div{margin-top:6px}
@media(max-width:820px){.assignment-grid,.load-split-grid,.local-truck-grid{grid-template-columns:1fr!important}}

/* V26.1 historical report modal */
.v26-modal{position:fixed;inset:0;z-index:99999;background:#000b;overflow:auto;padding:22px;display:flex;align-items:flex-start;justify-content:center}
.v26-paper{background:#fff;color:#182536;border-radius:12px;padding:22px;width:min(1040px,100%);font:14px Arial,sans-serif}
.v26-paper h2{color:#182536;font-size:20px;margin:16px 0}.v26-paper b{color:#15253a}.v26-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:14px 0;border-top:1px solid #ccd5df;border-bottom:1px solid #ccd5df;line-height:1.8}
.v26-actions{display:flex;gap:8px;justify-content:flex-end}.v26-metric{background:#eaf3fb;padding:10px;margin-top:12px;border-radius:8px}.v26-note{font-size:11px;color:#526579}.v26-overflow{overflow-x:auto}.v26-paper table{border-collapse:collapse;width:100%;font-size:11px}.v26-paper td,.v26-paper th{border:1px solid #cdd5df;padding:6px;text-align:left;word-break:break-word}.v26-paper th{background:#eaf3fb;color:#182536}.v26-truck svg{max-width:100%;max-height:190px}
@media(max-width:650px){.v26-two{grid-template-columns:1fr}.v26-modal{padding:6px}.v26-paper{padding:12px}}
@media print{body>*{visibility:hidden!important}.v26-modal,.v26-modal *{visibility:visible!important}.v26-modal{position:absolute;inset:0;display:block;background:#fff;padding:0;overflow:visible}.v26-paper{width:100%;border:0;padding:0}.v26-actions{display:none!important}.v26-overflow{overflow:visible}.v26-paper table{font-size:9px}.v26-paper tr{break-inside:avoid}}


/* V32 Mobile-first responsive corrections, preserving desktop */
@media(max-width:700px){
 html,body,#app,#view{max-width:100%;overflow-x:clip}
 .bar{min-height:58px;flex-wrap:wrap;row-gap:6px;align-items:center}
 .bar .who{min-width:0;margin-left:auto;gap:6px}
 .bar .who .nm{max-width:85px}
 .main{padding:10px 10px calc(24px + env(safe-area-inset-bottom));gap:10px}
 .tabs{width:100%;display:flex;flex-wrap:nowrap;scroll-snap-type:x proximity;gap:5px;padding:5px;overscroll-behavior-inline:contain}
 .tabs button{min-height:44px;scroll-snap-align:start;min-width:max-content;padding:10px 12px}
 .page-h{align-items:flex-start;gap:8px}.page-h h2{font-size:21px}
 .load{padding:12px;gap:8px;align-items:flex-start;flex-wrap:wrap}.load .meta{min-width:180px}.load .ttl{font-size:15px}.load .big{font-size:21px}
 .assignment-grid,.load-split-grid,.local-truck-grid,.tv.two{grid-template-columns:minmax(0,1fr)!important;gap:9px}
 .assignment-cell,.local-truck-card,.ldsec,.tvcard{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .tvcard{padding:12px;gap:8px}.tvcard .head{gap:9px}.tvcard .head h3{font-size:17px}.tvcard .head .ring{--rs:64px}
 .tvcard .tiles,.tiles{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px}.tile{border-radius:7px}.tile .tl{font-size:13px}
 .scan-stage{width:min(100%,500px);max-height:min(57dvh,560px);min-height:260px;aspect-ratio:3/4}.scan-top{padding:8px;gap:6px}.scan-top .ring{--rs:50px}.verdict{padding:10px;left:7px;right:7px;bottom:7px}.verdict .vt{font-size:14px}
 .v19-mini-van svg,.v26-truck svg{max-width:100%;height:auto}.v19-mini-van{overflow:hidden}
 .v26-modal{padding:0;align-items:stretch}.v26-paper{border-radius:0;padding:14px 12px;min-height:100dvh}.v26-actions{position:sticky;top:0;z-index:3;background:white;padding:8px 0;flex-wrap:wrap}.v26-actions .btn{min-height:42px}.v26-two{grid-template-columns:1fr;gap:8px}
 .dispatch-overlay{align-items:flex-end;padding:0}.dispatch-dialog{width:100%;max-height:94dvh;border-radius:16px 16px 0 0;padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
 .dispatch-actions{flex-wrap:wrap}.dispatch-actions .btn{min-height:44px}
 .tblwrap,.v26-overflow,.permission-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:380px){.bar .wm{font-size:11px}.bar .who .nm{max-width:55px}.main{padding-inline:7px}.tvcard .head .ring{--rs:55px}.tabs button{font-size:12px;padding:8px 10px}}

/* V35: mobile scan list and loading report; desktop unchanged. */
@media screen and (max-width:700px){
  /* Scan detail: readable one-package-per-card instead of squeezed columns. */
  #scanbody .tblwrap{overflow:visible!important;width:100%;max-width:100%}
  #scanbody .tblwrap table{display:block;width:100%;min-width:0!important;table-layout:auto}
  #scanbody .tblwrap thead{display:none}
  #scanbody .tblwrap tbody{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;padding:9px}
  #scanbody .tblwrap tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 9px;padding:12px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;min-width:0}
  #scanbody .tblwrap td{display:block;width:auto;min-width:0;max-width:100%;padding:0;border:0;background:transparent!important;overflow-wrap:anywhere;word-break:normal;white-space:normal!important;font-size:13px;line-height:1.4}
  #scanbody .tblwrap td::before{display:block;font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);font-weight:700;margin-bottom:3px}
  #scanbody .tblwrap td:nth-child(1)::before{content:'Pako'}
  #scanbody .tblwrap td:nth-child(2)::before{content:'QR / ID'}
  #scanbody .tblwrap td:nth-child(3)::before{content:'Elementi'}
  #scanbody .tblwrap td:nth-child(4)::before{content:'Pesha'}
  #scanbody .tblwrap td:nth-child(5)::before{content:'Statusi'}
  #scanbody .tblwrap td:nth-child(6)::before{content:'Ora'}
  #scanbody .tblwrap td:nth-child(7)::before{content:'Veprime'}
  #scanbody .tblwrap td:nth-child(2),#scanbody .tblwrap td:nth-child(3){grid-column:1/-1}
  #scanbody .tblwrap td.id{font-size:12px;overflow-wrap:anywhere;word-break:break-word}
  #scanbody .tblwrap .state{max-width:100%;white-space:normal}
  .v26-modal{position:fixed!important;inset:0!important;z-index:2147483647!important;background:#fff!important;padding:0!important;margin:0!important;overflow-y:auto!important;overflow-x:hidden!important;display:block!important;overscroll-behavior:contain;isolation:isolate}
  .v26-paper{position:relative;background:#fff!important;color:#182536!important;border-radius:0!important;padding:12px 12px calc(26px + env(safe-area-inset-bottom))!important;width:100%!important;min-height:100dvh!important;max-width:100%!important;box-shadow:none!important}
  .v26-paper *{box-sizing:border-box}
  .v26-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;position:sticky;top:0;z-index:5;background:#fff!important;padding:8px 0!important;border-bottom:1px solid #d8e1e9}
  .v26-actions .btn{min-width:0;width:100%;min-height:43px;white-space:normal!important;line-height:1.3;font-size:12px;text-align:center;padding:8px!important}
  .v26-paper h2{font-size:17px;line-height:1.25;overflow-wrap:anywhere}
  .v26-two{grid-template-columns:minmax(0,1fr)!important;gap:10px}
  .v26-two>div{min-width:0;overflow-wrap:anywhere}
  .v26-truck{max-width:100%;overflow:hidden}.v26-truck svg{max-width:100%;height:auto}
  .v26-overflow{overflow:visible!important;max-width:100%!important;width:100%!important}
  .v26-overflow table{display:block!important;min-width:0!important;width:100%!important;font-size:12px!important;table-layout:auto!important}
  .v26-overflow thead{display:none!important}
  .v26-overflow tbody{display:grid!important;grid-template-columns:minmax(0,1fr);gap:9px}
  .v26-overflow tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;padding:12px;border:1px solid #d7e0eb;border-radius:11px;background:#f7faff;max-width:100%;min-width:0}
  .v26-overflow td{display:block!important;padding:0!important;border:0!important;background:transparent!important;width:auto;min-width:0!important;max-width:100%;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important;font-size:12px!important;color:#203348!important;line-height:1.45}
  .v26-overflow td::before{display:block;font-weight:700;color:#62758a;text-transform:uppercase;letter-spacing:.04em;font-size:10px;margin-bottom:2px}
  .v26-overflow td:nth-child(1)::before{content:'Nr.'}
  .v26-overflow td:nth-child(2)::before{content:'Pako'}
  .v26-overflow td:nth-child(3)::before{content:'QR / ID'}
  .v26-overflow td:nth-child(4)::before{content:'Elementi'}
  .v26-overflow td:nth-child(5)::before{content:'Pesha'}
  .v26-overflow td:nth-child(6)::before{content:'Operatori'}
  .v26-overflow td:nth-child(7)::before{content:'Ora'}
  .v26-overflow td:nth-child(8)::before{content:'Statusi / Kthimet'}
  .v26-overflow td:nth-child(3),.v26-overflow td:nth-child(4),.v26-overflow td:nth-child(8){grid-column:1/-1}
}
@media print{.v26-overflow table{display:table!important;min-width:0!important}.v26-overflow thead{display:table-header-group!important}.v26-overflow tbody{display:table-row-group!important}.v26-overflow tr{display:table-row!important;border:0!important;padding:0!important;background:white!important}.v26-overflow td{display:table-cell!important;border:1px solid #cdd5df!important;padding:4px!important;font-size:9px!important}.v26-overflow td::before{display:none!important}.v26-actions{display:none!important}.v26-modal{background:#fff!important;position:absolute!important;overflow:visible!important}}

/* ============================================================================
   V38 (28.10.2026) — ikona, dritare, Ekrani TV, njoftimet, navigimi në telefon,
   modali i caktimit dhe panelet me token-at e temës (çelët/errët njësoj)
   ============================================================================ */
.ic{width:18px;height:18px;flex:none;display:inline-block;vertical-align:-3px}
.btn .ic{width:17px;height:17px}
.btn.big .ic{width:20px;height:20px}
.btn.icon-only{padding:7px 8px}
.ttl-ic,.sec-h{display:inline-flex;align-items:center;gap:8px}
.sec-h{font-size:15px;margin:0 0 10px}
.stack{display:flex;flex-direction:column;gap:8px}
.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px}
.btn.on{background:color-mix(in srgb,var(--brand) 12%,var(--surface));border-color:var(--brand);color:var(--brand-ink)}
textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);font-family:var(--body);font-size:16px;padding:11px 13px;resize:vertical;min-height:84px}
textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,111,212,.16)}

/* navigimi: ikonë + emër; në telefon të gjitha skedat duken (rrjet), pa rrëshqitje anash */
.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.tabs button .ic{width:17px;height:17px;opacity:.85}
.tabs button[aria-current=true] .ic{opacity:1;color:var(--brand)}
@media(max-width:700px){
  .tabs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));overflow:visible!important;gap:4px;padding:5px}
  .tabs button{flex-direction:column;gap:3px;min-width:0!important;min-height:54px;padding:7px 4px!important;font-size:11.5px!important;line-height:1.15;white-space:normal;text-align:center}
  .tabs button .ic{width:20px;height:20px}
}

/* dritaret (modale) */
.ui-modal{position:fixed;inset:0;z-index:10050;background:rgba(8,15,24,.55);display:flex;align-items:center;justify-content:center;padding:16px;animation:uifade .14s ease}
.ui-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.3);width:min(500px,100%);max-height:92vh;max-height:92dvh;overflow:auto;padding:18px;display:flex;flex-wrap:wrap;gap:12px}
.ui-dialog>*{flex:1 1 100%;min-width:0}
.ui-field.half{flex:1 1 calc(50% - 6px)}
.ui-head{display:flex;align-items:center;gap:10px}
.ui-head h3{font-size:18px;flex:1}
.ui-x{border:0;background:transparent;color:var(--muted);width:38px;height:38px;border-radius:10px;display:grid;place-items:center;cursor:pointer;flex:none}
.ui-x:hover{background:var(--surface2);color:var(--ink)}
.ui-x .ic{width:20px;height:20px}
.ui-text{margin:0;color:var(--muted);font-size:14.5px;white-space:pre-line}
.ui-err{color:var(--wrong);font-size:13px;font-weight:600}
.ui-err:empty{display:none}
.ui-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}
.req{color:var(--wrong)}
@keyframes uifade{from{opacity:0}to{opacity:1}}
@media(max-width:600px){
  .ui-modal{align-items:flex-end;padding:0}
  .ui-dialog{border-radius:18px 18px 0 0;width:100%;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .ui-field.half{flex-basis:100%}
  .ui-actions .btn{flex:1;min-height:46px}
}

/* Ekrani (TV): gjithë paleta e errët, jo vetëm sfondi — titulli dhe ora tani lexohen */
body.tvmode{
  --ink:#e8f0fb; --bg:#070e16; --surface:#0f1d2b; --surface2:#142638; --panel:#05101a;
  --line:#223548; --muted:#9db0c6; --brand:#52a0ec; --brand-ink:#8cc4f5;
  --loaded:#52c483; --loaded-bg:#10301f; --loaded-ln:#1f5236;
  --remain:#e2a550; --remain-bg:#32260f; --remain-ln:#5c4620;
  --wrong:#ef7a7a; --wrong-bg:#361b1b; --wrong-ln:#5e2d2d;
  --load-top:#4ecb86; --load-bot:#2f9c62; --cab-top:#4f93e0; --cab-bot:#2d66bd; --box-top:#1c3043; --box-bot:#12202e;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.35);
  color-scheme:dark;
}
body.tvmode .tvclock{color:var(--ink);font-size:26px;letter-spacing:.01em}
body.tvmode .page-h h2{color:var(--ink)}
body.tvmode .fsbtn{background:var(--surface2);color:var(--ink);border-color:var(--line)}

/* njoftimet: në telefon dalin lart, që të mos mbulojnë kamerën dhe butonin e skanimit */
.ct-h{display:flex;align-items:center;gap:7px}
.ct-h .ic{width:20px;height:20px}
.ctoast.mini.err{border-left-color:var(--wrong)}
@media(max-width:700px){
  #ctoasts{left:10px;right:10px;top:calc(8px + env(safe-area-inset-top));bottom:auto;max-width:none}
  .ctoast{width:auto;max-width:none}
}

/* kartat e ngarkesave */
.load-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.load-acts .btn{white-space:nowrap}
.load-acts .del{color:var(--muted)}
.load-acts .del:hover{color:var(--wrong);border-color:var(--wrong)}
.drop .di{display:grid;place-items:center;margin:0 auto 8px;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand)}
.drop .di .ic{width:24px;height:24px}
.drop b{color:var(--ink)}
@media(max-width:700px){.load-acts{width:100%;justify-content:flex-start}}

/* caktimet (automjeti / ekipi) */
.assigned-line{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--brand-ink);line-height:1.5;margin-top:6px}
.assigned-line span{display:inline-flex;align-items:center;gap:5px}
.assigned-line .ic{width:15px;height:15px}
.exp-tag{font-size:11px;letter-spacing:.06em;color:var(--remain);background:var(--remain-bg);border:1px solid var(--remain-ln);border-radius:6px;padding:1px 6px}
.assignment-cell,.local-truck-card{border:1px solid var(--line);background:var(--surface)}
.local-truck-title b{display:inline-flex;align-items:center;gap:7px}
.v19-vehicle-unavailable{border:1px dashed var(--line);color:var(--muted)}
.export-clients{border:1px solid var(--line);background:var(--surface2);color:var(--ink)}
.export-truck-identity{padding:12px 14px;margin:0 0 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface2)}
.export-truck-identity .eti-h{display:flex;align-items:center;gap:8px;font-weight:750;font-size:16px}
.export-truck-identity .eti-s{font-size:13px;color:var(--muted);margin-top:5px}
.local-truck-schematic{background:var(--surface2)}
.tk-h{display:flex;align-items:center;gap:7px}
.tk-bind .ic{width:16px;height:16px;margin-right:4px}

/* modali "Cakto" me temën e aplikacionit */
.dispatch-overlay{background:rgba(8,15,24,.55)}
.dispatch-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.3)}
.dispatch-head h3{display:flex;align-items:center;gap:8px;font-size:18px}
.dispatch-dialog label{color:var(--muted);font-weight:600}
.dispatch-dialog input:not([type=checkbox]),.dispatch-dialog select{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 12px;font-size:16px}
.dispatch-dialog .dispatch-check{color:var(--ink)}
.dispatch-dialog .dispatch-check input{width:18px;height:18px;accent-color:var(--brand)}
.dispatch-vehicle{border-top:1px solid var(--line)}
.dispatch-dialog #dmError{color:var(--wrong)!important}

/* skanimi */
.cam-ph{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;color:#7f93a8;font-size:13px}
.cam-ph .ic{width:44px;height:44px;opacity:.7}
.cam-row{display:flex;gap:10px;margin-top:12px}
.cam-row #torchBtn{width:auto;flex:none}
#torchBtn.on{background:#ffd36b;border-color:#e0b444;color:#1b1400}
.tile .tl.sm{font-size:11.5px;letter-spacing:-.02em}
body.tvmode .tvcard .tile .tl.sm{font-size:9px!important}
.tvcard .tile .tl{font-size:12px}

/* përdoruesit dhe lejet */
.role-chip{font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:4px 9px;border-radius:999px;background:var(--surface2);color:var(--muted);border:1px solid var(--line)}
.pill.warn{color:var(--remain);background:var(--remain-bg);border-color:var(--remain-ln)}
.urow.off{opacity:.7}
.permission-panel{background:var(--surface2);border:1px solid var(--line)}
.permission-table th,.permission-table td{border-bottom:1px solid var(--line)}
.permission-table input{accent-color:var(--brand)}
.perm-top{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;justify-content:space-between}
.perm-role{display:flex;flex-direction:column;gap:4px;margin:0;min-width:220px}
.perm-role select{padding:9px 10px;font-size:14px}
.auditrow{display:flex;flex-direction:column;gap:2px}
/* legjenda "Ngarkuar" merrte stilin e kartës .load (kutia e madhe e gjelbër) */
.van-legend .lk.load{display:inline-block;width:16px;height:12px;padding:0;border:0;border-radius:3px;box-shadow:none;transform:none;cursor:default}
body.tvmode .tvcard .tile .tl.sm{font-size:10px!important}

/* ============================================================================
   V39 — Montimi brenda aplikacionit + linku për ekipin në teren
   ============================================================================ */
.mt-pick{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:12px 14px}
.mt-pick label{margin:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.mt-pick select{font-weight:600}
@media(max-width:600px){.mt-pick{grid-template-columns:1fr;gap:6px}}
.mt-head{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 18px}
.mt-id{min-width:0;flex:1}
.mt-kli{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.01em;line-height:1.15}
.mt-sub{color:var(--muted);font-size:13.5px;margin-top:2px}.mt-sub b{color:var(--ink)}
.mt-chips{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:13px;color:var(--ink)}
.mt-chips span{display:inline-flex;align-items:center;gap:6px}
.mt-chips .ic{width:15px;height:15px;color:var(--muted)}
.mt-chips a{color:var(--brand-ink);font-weight:600;text-decoration:none}
.mt-note{margin-top:10px;padding:9px 12px;border-radius:9px;background:var(--surface2);border:1px solid var(--line);font-size:13px;color:var(--ink)}
.mt-ring{display:flex;flex-direction:column;align-items:center;gap:2px;flex:none}
.mt-ring .ring{--rs:86px}
.mt-ring-l{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.mt-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mt-kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.mt-kpi span{font-size:11.5px;color:var(--muted);font-weight:600}
.mt-kpi b{font-family:var(--disp);font-size:19px;font-variant-numeric:tabular-nums}
.mt-kpi.warn{border-color:var(--remain-ln);background:var(--remain-bg)}.mt-kpi.warn b{color:var(--remain)}
@media(max-width:600px){.mt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mt-head{padding:14px}.mt-kli{font-size:19px}.mt-ring .ring{--rs:70px}}
.mt-done{align-items:center}.mt-done .bi .ic{width:18px;height:18px}.mt-done .btn{margin-left:auto}
.mt-actions{display:flex;gap:8px;flex-wrap:wrap}
.mt-actions .btn{flex:1 1 auto}
@media(max-width:600px){.mt-actions{display:grid;grid-template-columns:1fr 1fr}.mt-actions .btn.primary{grid-column:1/-1;padding:15px}}
.mt-tools{display:flex;flex-direction:column;gap:8px}
.mt-filter{display:flex;gap:6px;flex-wrap:wrap}
.mt-filter .cnt{font-variant-numeric:tabular-nums;opacity:.7;font-weight:700}
.mt-sections{display:flex;flex-direction:column;gap:14px}
.mt-room-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 2px 8px}
.mt-room-h h3{font-size:16px;display:flex;align-items:baseline;gap:8px}
.mt-code{font-family:var(--disp);font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.05em}
.mt-room-h .num{font-size:13px;color:var(--muted);font-weight:700}
.mt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
@media(max-width:600px){.mt-grid{grid-template-columns:1fr}}
.mt-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;width:100%;padding:11px 12px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;cursor:pointer;color:var(--ink);font:inherit;transition:border-color .12s,transform .12s}
.mt-card:hover{border-color:var(--brand)}
.mt-l{font-family:var(--disp);font-weight:800;font-size:15px;min-width:52px;text-align:center;padding:7px 6px;border-radius:9px;background:var(--surface2);border:1px solid var(--line);font-variant-numeric:tabular-nums}
.mt-txt{min-width:0;display:flex;flex-direction:column;gap:1px}
.mt-n{font-weight:700;font-size:14px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-m{font-size:12px;color:var(--muted)}
.mt-m .xh{color:var(--remain)}
.mt-s{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--surface2);color:var(--muted);border:1px solid var(--line);white-space:nowrap}
.mt-s .ic{width:14px;height:14px}
.mt-card.s-ok{border-left-color:var(--loaded)}
.mt-card.s-ok .mt-l{background:var(--loaded);border-color:var(--loaded);color:#fff}
.mt-card.s-ok .mt-s{background:var(--loaded-bg);border-color:var(--loaded-ln);color:var(--loaded)}
.mt-card.s-issue{border-left-color:var(--remain)}
.mt-card.s-issue .mt-l{background:var(--remain-bg);border-color:var(--remain-ln);color:var(--remain)}
.mt-card.s-issue .mt-s{background:var(--remain-bg);border-color:var(--remain-ln);color:var(--remain)}
.mt-sheet{width:min(560px,100%)}
.mt-sheet .ui-head h3{display:flex;align-items:center;gap:10px;line-height:1.25}
.mt-sheet-l{font-family:var(--disp);font-weight:800;font-size:15px;padding:5px 9px;border-radius:8px;background:var(--surface2);border:1px solid var(--line);flex:none}
.mt-sheet-meta{color:var(--muted);font-size:13.5px}
.mt-pks{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mt-pks-h{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:8px 12px;background:var(--surface2);border-bottom:1px solid var(--line)}
.mt-pk{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);font-size:13.5px}
.mt-pk:last-child{border-bottom:0}
.mt-pk.hi{background:color-mix(in srgb,var(--loaded) 12%,var(--surface))}
.mt-pkid{font-family:var(--disp);font-size:11px;color:var(--muted);word-break:break-all}
.mt-pk-st{flex:none}
.state.no{color:var(--wrong);background:var(--wrong-bg);border-color:var(--wrong-ln)}
.state .ic{width:13px;height:13px}
.mt-pr{padding:10px 12px;border-radius:10px;font-size:13.5px;border:1px solid var(--line);background:var(--surface2);display:block}
.mt-pr .ic{width:15px;height:15px;vertical-align:-2px;margin-right:4px}
.mt-pr.s-ok{background:var(--loaded-bg);border-color:var(--loaded-ln);color:var(--loaded)}
.mt-pr.s-issue{background:var(--remain-bg);border-color:var(--remain-ln);color:var(--remain)}
.mt-pr div{color:var(--ink);margin-top:4px}
.mt-sheet-acts{flex-wrap:wrap}
@media(max-width:600px){.mt-sheet-acts{display:grid;grid-template-columns:1fr}.mt-sheet-acts .btn{min-height:48px}}
.mt-linkbox input{font-family:var(--disp);font-size:14px;font-weight:600;background:var(--surface2)}
.mt-empty{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 18px}
.mt-empty .ic{width:40px;height:40px;color:var(--muted)}
.mont-line{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--brand-ink);margin-top:4px}
.mont-line .ic{width:15px;height:15px}
.mont-line.ok{color:var(--loaded)}.mont-line.warn{color:var(--remain)}
.steps ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--ink);font-size:14px}
.steps li b{color:var(--ink)}
.drop .pill{vertical-align:2px}
/* kamera e montimit (ekran i plotë) */
.cam-sheet{position:fixed;inset:0;z-index:10040;background:#04090f;display:flex;align-items:center;justify-content:center}
.cam-box{position:relative;width:100%;height:100%;max-width:720px;overflow:hidden}
.cam-box video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cam-box .reticle{inset:22% 14%}
.cam-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:max(14px,env(safe-area-inset-top)) 14px 24px;background:linear-gradient(#04090fe6,transparent);color:#fff}
.cam-top .small{opacity:.8}
.cam-top .ui-x{color:#fff;background:rgba(255,255,255,.12)}
.cam-res{position:absolute;left:12px;right:12px;bottom:max(14px,env(safe-area-inset-bottom));border-radius:14px;padding:14px 16px;color:#fff;display:flex;flex-direction:column;gap:4px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.cam-res.idle{background:#1d2c3be6}.cam-res.ok{background:var(--loaded)}.cam-res.err{background:var(--wrong)}
.cam-res-t{font-family:var(--disp);font-weight:800;font-size:16px}
.cam-res-s{font-size:13px;opacity:.92}
.cam-res .btn{align-self:flex-start;margin-top:6px;background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);color:#fff}
/* linku pa llogari: pa menu, pa "Dil" */
body.linkmode .tabs{display:none!important}
body.linkmode #logout{display:none}
body.linkmode .who .nm{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
#montBody{display:flex;flex-direction:column;gap:12px}
.mt-n{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mt-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
@media(max-width:600px){
  .mt-grid{grid-template-columns:1fr}
  .mt-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .mt-kpi{padding:8px 8px;align-items:center;text-align:center}
  .mt-kpi span{font-size:10.5px}.mt-kpi b{font-size:15px}
  .mt-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .mt-actions .btn.primary{grid-column:1/-1;padding:15px;font-size:16px}
  .mt-actions .btn:not(.primary){flex-direction:column;gap:3px;font-size:12px;padding:9px 4px;line-height:1.15}
  .mt-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .mt-filter .btn{flex:none}
}
.doc-hd{display:flex;align-items:center;gap:14px;border-bottom:3px solid #2b6eb5;padding-bottom:12px;margin:14px 0 6px}
.doc-hd svg{width:44px;height:44px;flex:none}
.v26-paper .doc-hd h2{margin:0;font-size:20px}
.doc-s{color:#526579;font-size:12px;margin-top:2px}
@media(max-width:600px){.mt-filter .btn{padding:6px 9px;font-size:12.5px}}
.doc-hd + .v26-two{border-top:0}

/* ============================ V40: KONFIGURIMET ============================ */
.nmbtn{appearance:none;background:transparent;border:0;color:inherit;font:inherit;font-size:13.5px;opacity:.9;cursor:pointer;padding:6px 4px;border-radius:8px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nmbtn:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
#cfgbtn .ic{width:16px;height:16px}
#cfgbtn[aria-pressed=true]{background:#fff;color:var(--panel);border-color:#fff}
body.cfgmode .tabs{display:none!important}
body.cfgmode .main{max-width:1240px}
.cfg{display:grid;grid-template-columns:248px minmax(0,1fr);gap:18px;align-items:start}
.cfg-nav{position:sticky;top:70px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:10px;display:flex;flex-direction:column;gap:2px}
.cfg-h{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:800;font-size:17px;padding:8px 10px 4px}
.cfg-h .ic{width:20px;height:20px;color:var(--brand)}
.cfg-g{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:14px 10px 4px}
.cfg-nav button[data-cfg]{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);font-weight:600;font-size:14px;padding:9px 10px;border-radius:9px;cursor:pointer;text-align:left;width:100%}
.cfg-nav button[data-cfg]:hover{background:var(--surface2)}
.cfg-nav button[data-cfg][aria-current=true]{background:color-mix(in srgb,var(--brand) 13%,var(--surface));color:var(--brand-ink)}
.cfg-nav button[data-cfg] .ic{width:18px;height:18px;flex:none;opacity:.85}
.cfg-back{margin-top:12px;justify-content:flex-start}
.cfg-main{min-width:0;display:flex;flex-direction:column;gap:14px}
.cfg-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cfg-head h2{font-size:24px}
.cfg-head .sub{color:var(--muted);font-size:13.5px;margin-top:3px}
.cfg-st{font-size:15px;margin:0 0 10px}
.cfg-up{align-self:flex-start;padding-left:4px}
.cfg-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cfg-own{align-items:center}.cfg-own .btn{margin-left:auto;flex:none}
.ck-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.ck-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ck-kpi span{font-size:12px;color:var(--muted);font-weight:600}
.ck-kpi b{font-family:var(--disp);font-size:21px;font-weight:800;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.mini-row:first-of-type{border-top:0}
.mini-row>div{min-width:0;flex:1}.mini-row>div b{font-size:14px}
.mini-row>span:last-child{white-space:nowrap}
.cfg-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.cq{display:flex;align-items:center;gap:12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 14px;cursor:pointer;color:var(--ink);box-shadow:var(--shadow)}
.cq:hover{border-color:var(--brand)}
.cq>.ic:first-child{width:22px;height:22px;color:var(--brand);flex:none}
.cq span{display:flex;flex-direction:column;min-width:0;flex:1}.cq small{color:var(--muted);font-size:12.5px}
.cq .cq-ch{width:16px;height:16px;color:var(--muted)}
.av{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:12.5px;letter-spacing:.02em;background:color-mix(in srgb,var(--brand) 15%,var(--surface));color:var(--brand-ink);border:1px solid color-mix(in srgb,var(--brand) 25%,var(--line))}
.av.lg{width:56px;height:56px;font-size:19px}
.av.off{background:var(--surface2);color:var(--muted);border-color:var(--line)}
.cchip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);color:var(--ink);white-space:nowrap}
.cchip .ic{width:13px;height:13px}
.cchip.soft{font-weight:600;color:var(--muted);background:transparent}
.cchip.adm{color:var(--brand-ink);background:color-mix(in srgb,var(--brand) 12%,var(--surface));border-color:color-mix(in srgb,var(--brand) 32%,var(--line))}
.cchip.own{color:#fff;background:var(--brand);border-color:var(--brand)}
.cchip.ok{color:var(--loaded);background:var(--loaded-bg);border-color:var(--loaded-ln)}
.cchip.off{color:var(--remain);background:var(--remain-bg);border-color:var(--remain-ln)}
.cu-panel{display:flex;flex-direction:column;gap:12px}
.cu-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cu-tools input{flex:1 1 220px;width:auto}
.seg{display:inline-flex;gap:2px;padding:4px;background:var(--surface2);border:1px solid var(--line);border-radius:10px}
.seg button{border:0;background:transparent;color:var(--muted);font-weight:650;font-size:13.5px;padding:7px 11px;border-radius:7px;cursor:pointer;white-space:nowrap}
.seg button b{font-family:var(--disp);margin-left:4px;color:var(--ink);opacity:.7}
.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.cu-list{display:flex;flex-direction:column}
.cu-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.6fr) minmax(0,1.4fr) minmax(0,1.1fr) 28px;gap:12px;align-items:center;padding:11px 8px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer;border-radius:0;width:100%}
.cu-row:hover{background:var(--surface2)}
.cu-row.cu-hd{cursor:default;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-top:0;padding-top:4px}
.cu-row.cu-hd:hover{background:transparent}
.cu-row.off{opacity:.72}
.cu-n{display:flex;align-items:center;gap:10px;min-width:0}.cu-n>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.cu-r{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.cu-l,.cu-t{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cu-e{color:var(--muted);display:grid;place-items:center}.cu-e .ic{width:17px;height:17px}
.ue-head{display:flex;align-items:center;gap:16px}
.ue-id{min-width:0;display:flex;flex-direction:column;gap:6px}.ue-id h2{font-size:22px}
.ue-chips{display:flex;gap:6px;flex-wrap:wrap}
.ue-tabs{display:flex;gap:2px;padding:5px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;align-self:flex-start;max-width:100%;overflow-x:auto}
.ue-tabs button{border:0;background:transparent;color:var(--muted);font-weight:650;font-size:14px;padding:9px 18px;border-radius:8px;cursor:pointer;white-space:nowrap}
.ue-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.ue-sec{display:flex;flex-direction:column;gap:12px}
.ue-sec .fr2{margin-bottom:0}
.ue-act{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}
.ue-st{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}
.ue-st:first-of-type{border-top:0;padding-top:0}
.btn.danger-o{color:var(--wrong);border-color:var(--wrong-ln);background:var(--wrong-bg)}
.btn.danger-o:hover{border-color:var(--wrong)}
.sw-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0}
.sw-row+.sw-row{border-top:1px solid var(--line);padding-top:12px}
.sw{position:relative;display:inline-block;width:46px;height:27px;flex:none;margin:0}
.sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.sw span{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:background .15s}
.sw span::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.sw input:checked+span{background:var(--brand)}
.sw input:checked+span::after{transform:translateX(19px)}
.sw input:disabled{cursor:not-allowed}.sw input:disabled+span{opacity:.5}
.sw input:focus-visible+span{outline:2.5px solid var(--brand);outline-offset:2px}
.pm-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pm-top .cfg-st{margin:0}
.pm-tpl{display:flex;gap:8px;align-items:center}
.pm-tpl select{width:auto;padding:8px 10px;font-size:14px}
.pm-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm)}
table.pm{min-width:0;width:100%;font-size:14px}
table.pm th{text-align:center;background:var(--surface2);padding:9px 6px;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase}
table.pm th:first-child{text-align:left;padding-left:12px}
table.pm td{text-align:center;padding:9px 6px}
table.pm td:first-child{text-align:left;padding-left:12px}
table.pm td.na{color:var(--muted);opacity:.6}
table.pm tr.pm-g td{background:var(--surface2);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;padding:7px 12px}
.pm-h{display:block;font-size:12px;color:var(--muted);font-weight:500}
.ck{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;margin:0;cursor:pointer}
.ck input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.ck span{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;transition:background .12s,border-color .12s}
.ck input:checked+span{background:var(--brand);border-color:var(--brand)}
.ck input:checked+span::after{content:"";width:10px;height:5px;border-left:2.2px solid #fff;border-bottom:2.2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.ck.all input:checked+span{background:var(--brand-ink);border-color:var(--brand-ink)}
.ck input:disabled+span{opacity:.45}.ck input:disabled{cursor:not-allowed}
.ck input:focus-visible+span{outline:2.5px solid var(--brand);outline-offset:2px}
.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.role-card{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:14px;cursor:pointer;color:var(--ink);font:inherit}
.role-card:hover{border-color:var(--brand)}
.rc-t{font-family:var(--disp);font-weight:700;font-size:16px}
.rc-f{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:4px}
.lst{display:flex;flex-direction:column;gap:8px}
.lst-r{display:flex;gap:6px;align-items:center}
.lst-r input{flex:1;min-width:0;padding:10px 12px;font-size:15px}
.lst-r .btn{flex:none;padding:8px 10px}
.lst-r.rm .rm-c{flex:0 0 110px;font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.rm-hd{display:flex;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:0 2px}
.rm-hd span:first-child{flex:0 0 110px}.rm-hd span:nth-child(2){flex:1}.rm-hd span:last-child{flex:0 0 40px}
.co-top{display:flex;align-items:center;gap:16px}
.co-logo-box{width:76px;height:76px;border-radius:14px;border:1px solid var(--line);background:var(--surface2);display:grid;place-items:center;overflow:hidden;flex:none}
.co-logo-box svg{width:56px;height:56px}
.co-logo{width:100%;height:100%;object-fit:contain}
.doc-hd .co-logo{width:44px;height:44px;flex:none}
.hl-f{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:10px}
.hl-f select,.hl-f input{padding:10px 11px;font-size:14px}
.hl-n{margin:-4px 2px}
.hl-list{display:flex;flex-direction:column;padding-top:6px}
.hl-day{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 0 6px;border-bottom:1px solid var(--line)}
.hl-day:first-child{padding-top:4px}
.hl-row{display:grid;grid-template-columns:44px 34px minmax(0,1fr);gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.hl-row:last-child{border-bottom:0}
.hl-t{font-size:13px;color:var(--muted);font-weight:700}
.hl-x{min-width:0;font-size:14px;overflow-wrap:anywhere}
.hl-o{color:var(--brand-ink);font-weight:600}
.ui-picks{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.ui-pick{border:1px solid var(--line);background:var(--surface2);color:var(--ink);font:inherit;font-size:13px;font-weight:600;padding:6px 10px;border-radius:999px;cursor:pointer}
.ui-pick:hover,.ui-pick.on{border-color:var(--brand);color:var(--brand-ink);background:color-mix(in srgb,var(--brand) 10%,var(--surface))}
.me-card{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface2)}
.me-h{margin:4px 0 0;font-size:15px}
@media(max-width:900px){
  .cfg{grid-template-columns:1fr}
  .cfg-nav{position:static;flex-direction:row;overflow-x:auto;padding:6px;gap:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .cfg-h,.cfg-g{display:none}
  .cfg-nav button[data-cfg]{flex:0 0 auto;white-space:nowrap;width:auto;padding:9px 12px}
  .cfg-back{margin-top:0;flex:0 0 auto;order:-1}
  .cfg-two{grid-template-columns:1fr}
  .hl-f{grid-template-columns:1fr 1fr}.hl-f input{grid-column:1/-1}
}
@media(max-width:700px){
  .cu-row{grid-template-columns:minmax(0,1fr) auto;row-gap:6px;padding:12px 6px}
  .cu-row.cu-hd{display:none}
  .cu-r{grid-column:1/2;grid-row:2;padding-left:44px}
  .cu-l{display:none}
  .cu-t{grid-column:2;grid-row:1;font-size:12px}
  .cu-e{display:none}
  .ue-head{gap:12px}.ue-id h2{font-size:19px}
  .ue-st{flex-direction:column;align-items:stretch}
  .ue-act{justify-content:stretch}.ue-act .btn{flex:1}
  .pm-tpl{width:100%}.pm-tpl select{flex:1}
  table.pm{font-size:13px}table.pm th{font-size:10px;padding:8px 2px}table.pm td{padding:8px 2px}
  table.pm td:first-child,table.pm th:first-child{padding-left:8px}
  .pm-h{display:none}
  .lst-r.rm .rm-c,.rm-hd span:first-child{flex-basis:84px}
  .cfg-own{flex-wrap:wrap}.cfg-own .btn{margin-left:0}
  #cfgbtn span{display:none}#cfgbtn{padding:7px 9px}
  .nmbtn{max-width:90px}
}

/* ===================== V41: Montimi 3D ===================== */
.mt-views{display:flex;width:max-content;max-width:100%;margin:2px 0 10px}
.mt-views button{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;font-size:14px}
.mt-views button .ic{width:17px;height:17px}
.mt-views .cnt{font-family:var(--disp);font-weight:800;opacity:.6;margin-left:2px}
.m3d-host{position:relative;height:66vh;min-height:380px;max-height:780px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);
  background:radial-gradient(120% 90% at 50% 30%,var(--surface) 0%,var(--surface2) 70%,color-mix(in srgb,var(--surface2) 80%,var(--line)) 100%)}
.m3d{position:absolute;inset:0}
.m3d-cv{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab;outline:none}
.m3d-cv:active{cursor:grabbing}
.m3d-lbl{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.m3d-tag{position:absolute;left:0;top:0;margin:-24px 0 0 -18px;min-width:36px;text-align:center;font-family:var(--disp);font-weight:800;font-size:11.5px;letter-spacing:.02em;padding:3px 7px;border-radius:7px;background:rgba(19,32,46,.82);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);white-space:nowrap}
.m3d-tag.on{background:#e53935;z-index:2}
.m3d-bar{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
.m3d-bar button{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink);font:inherit;font-size:13px;font-weight:650;padding:7px 10px;border-radius:9px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.m3d-bar button .ic{width:16px;height:16px}
.m3d-bar button[aria-pressed=true]{border-color:var(--brand);color:var(--brand-ink);background:color-mix(in srgb,var(--brand) 12%,var(--surface))}
.m3d-bar button:disabled{opacity:.45;cursor:default}
.m3d-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--surface) 80%,transparent);padding:4px 10px;border-radius:999px;pointer-events:none;white-space:nowrap}
.m3d-info{position:absolute;left:12px;bottom:12px;width:min(400px,calc(100% - 24px));background:var(--surface);border:1px solid var(--line);border-left:4px solid #e53935;border-radius:12px;box-shadow:0 10px 30px rgba(17,32,48,.18);padding:12px 12px 12px 14px;z-index:3;animation:m3din .18s ease}
@keyframes m3din{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.m3d-info.hide{display:none}
.m3d-i-top{display:flex;align-items:flex-start;gap:10px}
.m3d-i-dot{flex:none;width:11px;height:11px;border-radius:50%;background:#e53935;margin-top:6px;box-shadow:0 0 0 4px rgba(229,57,53,.15)}
.m3d-i-x{flex:1;min-width:0}
.m3d-i-t{font-family:var(--disp);font-weight:800;font-size:16px;line-height:1.25;overflow-wrap:anywhere}
.m3d-i-d{font-family:var(--body);font-weight:600;font-size:12.5px;color:var(--muted);white-space:nowrap}
.m3d-i-s{font-size:14px;margin-top:3px;overflow-wrap:anywhere}
.m3d-i-s b,.m3d-i-t b{font-family:var(--disp);font-weight:800}
.m3d-i-m{font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.5}
.m3d-i-a{display:flex;justify-content:flex-end;margin-top:10px}
.m3d-i-a .btn .ic{width:16px;height:16px}
.m3d-info .ui-x{width:32px;height:32px;margin:-4px -4px 0 0}
.m3d-st{display:inline-block;font-weight:700;font-size:11.5px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--surface2)}
.m3d-st.s-ok{color:var(--loaded);background:var(--loaded-bg);border-color:var(--loaded-ln)}
.m3d-st.s-issue{color:var(--remain);background:var(--remain-bg);border-color:var(--remain-ln)}
.m3d-foot{display:flex;align-items:center;gap:8px;margin:8px 2px 0;font-size:13px;color:var(--muted);min-width:0}
.m3d-foot .ic{width:15px;height:15px;flex:none}
.m3d-foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.m3d-foot .btn{margin-left:auto;flex:none}
.m3d-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:38px 20px;border:2px dashed var(--line);box-shadow:none;transition:border-color .12s,background .12s}
.m3d-empty>.ic{width:42px;height:42px;color:var(--brand)}
.m3d-empty h3{margin:4px 0 0;font-size:18px}
.m3d-empty p{margin:0;max-width:520px}
.m3d-empty .btn{margin-top:6px}
.m3d-empty.drag{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--surface))}
.m3d-nogl{margin:16px}
@media(max-width:600px){
  .mt-views{width:100%}.mt-views button{flex:1;justify-content:center;padding:9px 8px}
  .m3d-host{height:62vh;min-height:340px;border-radius:12px}
  .m3d-bar{top:8px;left:8px;right:8px}
  .m3d-bar button span{display:none}.m3d-bar button{padding:8px 9px}
  .m3d-hint{display:none}
  .m3d-info{left:8px;right:8px;bottom:8px;width:auto}
  .m3d-i-t{font-size:15px}
}
.m3d:has(.m3d-info:not(.hide)) .m3d-hint{display:none}

/* ===================== V42: Montimi 3D realist ===================== */
.m3d-bar{right:auto;max-width:calc(100% - 140px);z-index:3}
.m3d-bar button[aria-pressed=true] .ic{color:var(--brand)}
.m3d-bar-r{position:absolute;top:10px;right:10px;z-index:4}
.m3d-bar-r>button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink);font:inherit;font-size:13px;font-weight:650;padding:7px 10px;border-radius:9px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.m3d-bar-r>button .ic{width:16px;height:16px}
.m3d-bar-r>button[aria-expanded=true]{border-color:var(--brand);color:var(--brand-ink)}
.m3d-pop{position:absolute;right:0;top:calc(100% + 6px);min-width:240px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(17,32,48,.2);padding:6px;display:flex;flex-direction:column;gap:2px}
.m3d-pop.hide{display:none}
.m3d-tg{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;font-size:14px;cursor:pointer;color:var(--ink)}
.m3d-tg:hover{background:var(--surface2)}
.m3d-tg input{width:18px;height:18px;accent-color:var(--brand);margin:0;flex:none}
.m3d-rooms{position:absolute;top:54px;left:10px;right:10px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;pointer-events:none;z-index:2;padding-bottom:2px}
.m3d-rooms.hide{display:none}
.m3d-rooms::-webkit-scrollbar{display:none}
.m3d-rooms button{pointer-events:auto;flex:none;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--muted);font:inherit;font-size:12.5px;font-weight:650;padding:5px 11px;border-radius:999px;cursor:pointer}
.m3d-rooms button b{font-family:var(--disp);margin-left:3px;opacity:.7}
.m3d-rooms button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.m3d-dim{position:absolute;left:0;top:0;margin:-10px 0 0 -21px;min-width:42px;text-align:center;font-family:var(--disp);font-weight:800;font-size:11px;letter-spacing:.02em;padding:2px 6px;border-radius:6px;background:#1c6bbf;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.22);white-space:nowrap;font-variant-numeric:tabular-nums}
.m3d-i-k{font-size:12.5px;color:var(--brand-ink);font-weight:650;margin-top:2px;overflow-wrap:anywhere}
.m3d-i-a{gap:8px;flex-wrap:wrap}
.m3d-i-a .btn.on{border-color:var(--brand);color:var(--brand-ink);background:color-mix(in srgb,var(--brand) 10%,var(--surface))}
.m3d-host.m3d-full{position:fixed;inset:0;z-index:10035;height:auto;min-height:0;max-height:none;border-radius:0;border:0;margin:0}
.m3d-host.m3d-full .m3d-bar,.m3d-host.m3d-full .m3d-bar-r{top:max(10px,env(safe-area-inset-top))}
.m3d-host.m3d-full .m3d-rooms{top:calc(max(10px,env(safe-area-inset-top)) + 44px)}
.m3d-host.m3d-full .m3d-info{bottom:max(12px,env(safe-area-inset-bottom))}
body.m3d-lock{overflow:hidden}
@media(max-width:1000px){.m3d-bar button span{display:none}.m3d-bar button{padding:8px 9px}}
@media(max-width:600px){
  .m3d-bar{gap:5px;max-width:calc(100% - 58px)}
  .m3d-bar-r>button span{display:none}.m3d-bar-r>button{padding:8px 9px}
  .m3d-bar-r{top:8px;right:8px}
  .m3d-rooms{top:50px;left:8px;right:8px}
  .m3d-pop{min-width:220px}
  .m3d-host.m3d-full .m3d-info{left:8px;right:8px}
}
.m3d-fit{margin-top:8px;border-top:1px solid var(--line);padding-top:6px}
.m3d-fit summary{cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ink);list-style:none;padding:4px 0}
.m3d-fit summary::-webkit-details-marker{display:none}
.m3d-fit summary .ic{width:15px;height:15px;color:var(--brand)}
.m3d-fit summary b{font-family:var(--disp);color:var(--muted);margin-left:2px}
.m3d-fit summary::after{content:"›";margin-left:auto;color:var(--muted);font-size:16px;transition:transform .15s}
.m3d-fit[open] summary::after{transform:rotate(90deg)}
.m3d-fit-l{max-height:170px;overflow:auto;display:flex;flex-direction:column;gap:2px;padding:2px 2px 4px}
.m3d-fit-l div{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:3px 0;border-bottom:1px dashed var(--line)}
.m3d-fit-l div:last-child{border-bottom:0}
.m3d-fit-l b{font-weight:700;white-space:nowrap}

/* ===================== V43: lista e copave, pamjet Ballore/Lart, X-ray, pamja e montuesit ===================== */
.m3d-bar-r{display:flex;gap:6px;align-items:flex-start;z-index:7}
.m3d-bar-r>button[aria-pressed=true]{border-color:var(--brand);color:var(--brand-ink);background:color-mix(in srgb,var(--brand) 12%,var(--surface))}
.m3d-vw{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.m3d-vw button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:700;padding:8px 10px;cursor:pointer}
.m3d-vw button+button{border-left:1px solid var(--line)}
.m3d-vw button[aria-pressed=true]{background:var(--ink);color:var(--surface)}
.m3d-side{position:absolute;top:54px;right:10px;bottom:10px;width:320px;z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(17,32,48,.16);display:flex;flex-direction:column;overflow:hidden}
.m3d-side.hide{display:none}
.m3d-side-h{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 4px 12px;font-size:14px}
.m3d-side-h .ui-x{width:32px;height:32px}
.m3d-q{margin:0 10px 6px;width:auto;padding:8px 10px;font-size:14px}
.m3d-side-b{overflow:auto;padding:0 8px 10px;flex:1;overscroll-behavior:contain}
.m3d-sg{margin-top:4px}
.m3d-sg-h{display:flex;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 6px 4px}
.m3d-el{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid transparent;background:transparent;color:var(--ink);font:inherit;padding:7px 8px;border-radius:9px;cursor:pointer}
.m3d-el:hover{background:var(--surface2)}
.m3d-el.on{background:color-mix(in srgb,#e53935 9%,var(--surface));border-color:color-mix(in srgb,#e53935 35%,var(--line))}
.m3d-el-l{font-family:var(--disp);font-weight:800;font-size:12px;background:var(--surface2);border:1px solid var(--line);border-radius:6px;padding:2px 6px}
.m3d-el.on .m3d-el-l{background:#e53935;border-color:#e53935;color:#fff}
.m3d-el-n{font-size:13.5px;font-weight:650;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.m3d-el-n small{font-size:11.5px;color:var(--muted);font-weight:500}
.m3d-dot{width:10px;height:10px;border-radius:50%;background:var(--line);flex:none}
.m3d-el.s-ok .m3d-dot{background:var(--loaded)}
.m3d-el.s-issue .m3d-dot{background:var(--remain)}
.m3d-pl{display:flex;flex-direction:column;gap:1px;margin:2px 0 6px 16px;padding-left:8px;border-left:2px solid color-mix(in srgb,#e53935 35%,var(--line))}
.m3d-pr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;text-align:left;border:0;background:transparent;color:var(--ink);font:inherit;font-size:12.5px;padding:6px;border-radius:7px;cursor:pointer}
.m3d-pr:hover{background:var(--surface2)}
.m3d-pr.on{background:#e53935;color:#fff}
.m3d-pr-d,.m3d-pr-c{font-size:11.5px;color:var(--muted)}
.m3d-pr.on .m3d-pr-d,.m3d-pr.on .m3d-pr-c{color:#fff}
.m3d-pr-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m3d-open{margin:6px 0 2px;justify-content:center}
.m3d-side-e{padding:16px;color:var(--muted);font-size:13px}
.m3d.side-on .m3d-rooms{right:340px}
.m3d-col{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12.5px;color:var(--muted)}
.m3d-col label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.m3d-col input[type=color]{width:30px;height:24px;padding:0;border:1px solid var(--line);border-radius:6px;background:none;cursor:pointer}
.linkbtn{border:0;background:none;color:var(--brand-ink);font:inherit;font-size:12.5px;font-weight:650;cursor:pointer;padding:0;text-decoration:underline}
.m3d-host.tall{height:calc(100vh - 250px);min-height:500px;max-height:none}
.mt-focus .mt-head{padding:12px 16px}
.mt-focus .mt-actions{margin-bottom:10px}
@media(max-width:1440px){.m3d-bar button span{display:none}.m3d-bar button{padding:8px 9px}}
@media(max-width:720px){
  .m3d-side{top:auto;left:0;right:0;bottom:0;width:auto;height:60%;border-radius:14px 14px 0 0;border-left:0;border-right:0;border-bottom:0}
  .m3d.side-on .m3d-rooms{right:8px}
  .m3d.side-on .m3d-info{display:none}
  .m3d-bar-r{gap:5px}
  .m3d-vw{position:absolute;top:92px;right:0}
  .m3d-vw button{font-size:11.5px;padding:7px 8px}
  .m3d-host.tall{height:76vh;min-height:430px}
}
@media(max-width:600px){
  .mt-focus .mt-head{padding:10px 12px;gap:10px}
  .mt-focus .mt-kli{font-size:18px}
  .mt-focus .mt-chips{font-size:12.5px}
  .mt-focus .mt-ring .ring{--rs:56px}
  .mt-focus .mt-actions{display:grid;grid-template-columns:1fr auto auto auto;gap:6px}
  .mt-focus .mt-actions .btn{padding:11px 12px}
  .mt-focus .mt-actions .btn span{display:none}
  .mt-focus .mt-actions .btn.primary{grid-column:auto;padding:11px 12px}
}

/* ============================ V44 · PRODHIMI ============================ */
body.onemod .tabs{display:none!important}
.prod-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);align-self:flex-start}
.prod-tabs button{appearance:none;border:0;background:transparent;color:var(--muted);font-weight:700;font-size:14.5px;padding:9px 16px;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.prod-tabs button[aria-selected="true"]{background:var(--panel);color:#fff}
.prod-tabs .ic{width:17px;height:17px}
#prodBody{display:flex;flex-direction:column;gap:14px}

/* zgjedhja e stacionit */
.prod-pick h3{font-size:19px;margin-bottom:4px}
.pst-grid{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.pst-gt{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.pst-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}
.pst{appearance:none;text-align:left;border:1px solid var(--line);background:var(--surface2);border-radius:12px;padding:13px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:var(--ink);transition:border-color .12s,background .12s}
.pst:hover{border-color:var(--brand)}
.pst b{font-family:var(--disp);font-size:16.5px}
.pst span{font-size:12.5px;color:var(--muted)}
.pst.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--surface))}

/* koka e stacionit */
.prod-sthead{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--panel);color:#fff;border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow)}
.pst-cur{display:flex;align-items:center;gap:12px;flex:1 1 260px;min-width:0}
.pst-live{width:12px;height:12px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.18);flex:0 0 auto}
.pst-name{font-family:var(--disp);font-size:24px;font-weight:800;line-height:1.1}
.pst-sub{font-size:13px;color:#a9bbcf;margin-top:3px}
.pst-kpis{display:flex;gap:8px}
.pk{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:7px 12px;min-width:86px}
.pk span{display:block;font-size:11.5px;color:#a9bbcf;font-weight:600}
.pk b{font-size:22px;line-height:1.1}
.prod-sthead .btn{background:transparent;color:#dbe6f3;border-color:rgba(255,255,255,.22)}
.prod-sthead .btn:hover{border-color:#fff}

.prod-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:16px;align-items:start}
.prod-left,.prod-right{display:flex;flex-direction:column;gap:10px;min-width:0}
.prod-stage{aspect-ratio:4/3;max-height:46vh;max-width:none}
.prod-right .prod-recent{padding:14px 16px}
.prh{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}

/* karta e rezultatit */
.pres-empty{display:flex;gap:14px;align-items:center;padding:22px 20px;border:2px dashed var(--line);border-radius:var(--r);color:var(--muted);background:var(--surface)}
.pres-empty .ic{width:34px;height:34px;flex:0 0 auto;color:var(--brand)}
.pres-empty b{display:block;color:var(--ink);font-size:17px;font-family:var(--disp)}
.pres-empty span{font-size:14px}
.pres{background:var(--surface);border:1px solid var(--line);border-left:8px solid var(--loaded);border-radius:var(--r);box-shadow:var(--shadow);padding:14px 18px 16px;display:flex;flex-direction:column;gap:12px;animation:presIn .22s ease-out}
.pres.k-warn{border-left-color:var(--remain)}
.pres.k-err{border-left-color:var(--wrong)}
@keyframes presIn{from{transform:translateY(4px);opacity:.4}to{transform:none;opacity:1}}
.pres-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pres-k{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:15px;color:var(--loaded)}
.pres.k-warn .pres-k{color:var(--remain)} .pres.k-err .pres-k{color:var(--wrong)}
.pres-k .ic{width:19px;height:19px}
.pres-s{font-size:13.5px;color:var(--muted)}
.pres-main{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pres-id{flex:1 1 240px;min-width:0}
.pres-badge{display:inline-block;background:var(--panel);color:#fff;font-size:15px;font-weight:800;padding:4px 10px;border-radius:8px}
.pres-name{font-family:var(--disp);font-size:30px;font-weight:800;line-height:1.08;margin-top:8px;overflow-wrap:anywhere}
.pres-dims{font-size:24px;font-weight:700;margin-top:2px}
.pres-meta{color:var(--muted);font-size:14.5px;margin-top:4px}
.pedge{width:230px;max-width:100%;height:auto;flex:0 0 auto}
.pedge .ebox{fill:var(--surface2);stroke:none}
.pedge .eon{stroke:var(--brand);stroke-width:6;stroke-linecap:round}
.pedge .eoff{stroke:var(--line);stroke-width:2;stroke-dasharray:4 4}
.pedge .edim{font:700 14px var(--disp);fill:var(--ink);text-anchor:middle}
.pedge .elab{font:700 10.5px var(--body);fill:var(--brand);text-anchor:middle}
.pres-d{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pres-d>div{background:var(--surface2);border:1px solid var(--line);border-radius:10px;padding:8px 11px;min-width:0}
.pres-d span{display:block;font-size:11.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.pres-d b{font-size:15px;overflow-wrap:anywhere}
.pres-d i{font-style:normal;color:var(--muted);font-weight:600}
.pres-prog{display:flex;flex-direction:column;gap:6px}
.pres-prog>div{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.pres-prog>div span{color:var(--muted);font-weight:600}
.pbar{height:9px;border-radius:6px;background:var(--surface2);border:1px solid var(--line);overflow:hidden}
.pbar i{display:block;height:100%;background:var(--brand);border-radius:6px;transition:width .3s}
.pbar.full i{background:var(--loaded)}
.pbar.thin{height:6px}

/* skanimet e fundit */
.prec{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.prec:first-child{border-top:0}
.prec .t{font-size:14px;font-weight:700;color:var(--muted);flex:0 0 44px}
.prec .d{flex:1;min-width:0;font-size:14px}
.prec .d i{display:block;font-style:normal;font-size:12.5px;color:var(--muted)}
.prec.warn .d b{color:var(--remain)}
.prec.undone{opacity:.5;text-decoration:line-through}
.prec .btn .ic{width:15px;height:15px}

/* pasqyra */
.prod-drop{display:flex;align-items:center;gap:14px;text-align:left;padding:16px 18px}
.prod-drop .ic{width:28px;height:28px;flex:0 0 auto}
.prod-drop b{display:block;color:var(--ink);font-size:15.5px}
.prod-drop span{font-size:13px}
.pst-today{padding:14px 16px}
.pst-tg{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.pst-t{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:8px 11px;background:var(--surface2)}
.pst-t>div{flex:1;min-width:0}
.pst-t>div b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pst-t>div span{font-size:12px;color:var(--muted)}
.pst-t .n{font-size:22px}
.pst-t .dot{width:10px;height:10px;border-radius:50%;background:var(--line);flex:0 0 auto}
.pst-t.on .dot{background:var(--loaded);box-shadow:0 0 0 3px color-mix(in srgb,var(--loaded) 22%,transparent)}
.pst-t.idle .dot{background:var(--remain)}
.prod-orders{display:flex;flex-direction:column;gap:12px}
.porder{padding:0;overflow:hidden}
.po-h{appearance:none;width:100%;border:0;background:transparent;color:var(--ink);text-align:left;display:flex;align-items:center;gap:12px;padding:14px 16px 6px;cursor:pointer}
.po-id{flex:1;min-width:0}
.po-kli{font-family:var(--disp);font-size:19px;font-weight:800}
.po-sub{font-size:13.5px;color:var(--muted)}
.po-chev .ic{width:20px;height:20px;transition:transform .15s;color:var(--muted)}
.porder.open .po-chev .ic{transform:rotate(90deg)}
.po-bars{display:grid;grid-template-columns:repeat(var(--pgn,5),minmax(0,1fr));gap:12px;padding:6px 16px 12px}
.pg-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-size:13px;margin-bottom:4px}
.pg-h span{font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-h b{font-size:17px;white-space:nowrap}
.pg-h b i{font-style:normal;color:var(--muted);font-size:13px}
.pg-h b em{font-style:normal;font-size:11px;color:var(--muted);font-family:var(--body);font-weight:600}
.pw{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:0 16px 13px;font-size:13px;color:var(--muted)}
.pw .ic{width:15px;height:15px}
.pwc{background:var(--remain-bg);border:1px solid var(--remain-ln);color:var(--ink);border-radius:999px;padding:2px 10px}
.pwc b{font-weight:700}
.po-det{border-top:1px solid var(--line);padding:12px 16px 14px;display:flex;flex-direction:column;gap:10px}
.po-act{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pdt-wrap{overflow-x:auto}
.pdt{width:100%;border-collapse:collapse;font-size:14px}
.pdt th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.pdt td{padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.pdt-r td{background:var(--surface2);font-weight:800;font-size:13px;letter-spacing:.02em}
.pdt-m td{white-space:normal;font-size:12.5px;color:var(--muted);padding-top:0}
.pdt-m summary{cursor:pointer;color:var(--remain);font-weight:700}
.pch{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:2px 8px;border-radius:999px;font-size:12.5px;font-weight:700;border:1px solid var(--line);background:var(--surface2);color:var(--muted)}
.pch.done{background:var(--loaded-bg);border-color:var(--loaded-ln);color:var(--loaded)}
.pch.part{background:var(--remain-bg);border-color:var(--remain-ln);color:var(--remain)}
.pch.na{border-style:dashed;opacity:.6}
.pch .ic{width:14px;height:14px}
.pm-head{display:flex;flex-direction:column;margin-bottom:10px}
.pm-head b{font-size:17px}
.pm-head span{font-size:13px;color:var(--muted)}
.pm-sum{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:14.5px}
.pm-sum.big{font-size:15.5px}

@media(max-width:900px){
  .prod-grid{grid-template-columns:1fr}
  .prod-stage{max-height:40vh}
  .po-bars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pst-kpis{width:100%}
  .pk{flex:1;min-width:0}
}
@media(max-width:540px){
  .pres-name{font-size:24px}.pres-dims{font-size:20px}
  .pedge{width:190px}
  .pst-name{font-size:20px}
  .prod-tabs{width:100%}.prod-tabs button{flex:1;justify-content:center}
}
@media(max-width:540px){
  .pst-tg{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .pst-t{padding:7px 9px;gap:7px}
  .pst-t .n{font-size:18px}
  .pst-t>div b{font-size:13px}
  .pst-t>div span{font-size:11px}
}
/* Makinat · gateway */
.gw-card{padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.gw-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gw-dot{width:13px;height:13px;border-radius:50%;background:var(--line);flex:0 0 auto}
.gw-dot.on{background:var(--loaded);box-shadow:0 0 0 4px color-mix(in srgb,var(--loaded) 22%,transparent)}
.gw-dot.err{background:var(--wrong)}
.gw-id{flex:1;min-width:0;display:flex;flex-direction:column}
.gw-id b{font-family:var(--disp);font-size:20px}
.gw-id span{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.gw-st{text-align:right;font-weight:800;font-size:15px}
.gw-st span{display:block;font-weight:500;font-size:12.5px;color:var(--muted)}
.gw-err{display:flex;gap:8px;align-items:center;background:var(--wrong-bg);border:1px solid var(--wrong-ln);color:var(--wrong);border-radius:10px;padding:8px 11px;font-size:13.5px}
.gw-err .ic{width:16px;height:16px;flex:0 0 auto}
.gw-cnt{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gw-k{appearance:none;border:1px solid var(--line);background:var(--surface2);border-radius:10px;padding:6px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;color:var(--ink);min-width:96px}
.gw-k span{font-size:11.5px;color:var(--muted);font-weight:600}
.gw-k b{font-size:18px}
.gw-k.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--surface))}
.gw-tbl-w{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:10px}
.gw-tbl{width:100%;border-collapse:collapse;font-size:13px}
.gw-tbl td{padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.gw-tbl td:first-child{white-space:nowrap;color:var(--muted);width:1%}
.gw-tbl td:nth-child(2){width:1%}
.gw-tbl i{font-style:normal;color:var(--muted)}
.gw-kc{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;padding:1px 7px;border-radius:6px;background:var(--surface2);border:1px solid var(--line)}
.gw-kc.k-iot{background:color-mix(in srgb,var(--brand) 12%,var(--surface));border-color:color-mix(in srgb,var(--brand) 35%,var(--line));color:var(--brand)}
.gw-kc.k-csv,.gw-kc.k-pro{background:var(--loaded-bg);border-color:var(--loaded-ln);color:var(--loaded)}
.gw-kc.k-lbd2{background:var(--remain-bg);border-color:var(--remain-ln);color:var(--remain)}
.gwc{display:inline-block;background:var(--surface2);border:1px solid var(--line);border-radius:5px;padding:0 5px;margin:1px 3px 1px 0;font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.gw-det summary{cursor:pointer;font-weight:700;font-size:14px;padding:4px 0}
.gw-smp{margin-top:8px}
.gw-smp-h{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:13px}
.gw-smp-h span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.gw-smp pre{background:#06101a;color:#cfe3f7;border-radius:10px;padding:10px 12px;font-size:11.5px;line-height:1.45;max-height:300px;overflow:auto;white-space:pre;margin:6px 0 0}
.gw-files>div{display:grid;grid-template-columns:minmax(0,1fr) 80px 150px;gap:8px;font-size:12.5px;padding:3px 0;border-bottom:1px solid var(--line)}
.gw-files>div span:first-child{overflow-wrap:anywhere}
.gw-pc{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.gw-pc>div{background:var(--surface2);border:1px solid var(--line);border-radius:10px;padding:8px 11px;display:flex;flex-direction:column;gap:3px;min-width:0}
.gw-pc span{font-size:11.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.gw-pc b{font-size:16px}
.gw-pc i{font-style:normal;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.pbar.hot i{background:var(--wrong)}
.gw-procs{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:12.5px;color:var(--muted)}
.gw-maint{display:flex;gap:10px;background:var(--remain-bg);border:1px solid var(--remain-ln);border-radius:10px;padding:9px 12px;font-size:13.5px}
.gw-maint .ic{width:20px;height:20px;color:var(--remain);flex:0 0 auto}
.gw-kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:4px 14px;margin-top:6px}
.gw-kv>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;font-size:12.5px;padding:3px 0;border-bottom:1px solid var(--line);align-items:baseline}
.gw-kv span{overflow-wrap:anywhere;color:var(--muted)}
.gw-kv i{font-style:normal;color:var(--muted);font-size:11.5px}
.gw-kc.k-maint{background:var(--remain-bg);border-color:var(--remain-ln);color:var(--remain)}
.gw-kc.k-win{background:var(--wrong-bg);border-color:var(--wrong-ln);color:var(--wrong)}
/* V45 · Makinat e qarta */
.gw-badge{margin-left:auto;text-align:right;border-radius:12px;padding:8px 14px;border:1px solid var(--line);background:var(--surface2);max-width:min(420px,100%)}
.gw-badge b{display:block;font-family:var(--disp);font-size:20px;line-height:1.1}
.gw-badge span{display:block;font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.gw-badge.s-run{background:var(--loaded-bg);border-color:var(--loaded-ln)}.gw-badge.s-run b{color:var(--loaded)}
.gw-badge.s-idle{background:var(--remain-bg);border-color:var(--remain-ln)}.gw-badge.s-idle b{color:var(--remain)}
.gw-badge.s-alm{background:var(--wrong-bg);border-color:var(--wrong-ln)}.gw-badge.s-alm b{color:var(--wrong)}
.gw-badge.s-off b{color:var(--muted)}
.gw-now{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);gap:10px}
@media (max-width:820px){.gw-now{grid-template-columns:1fr}.gw-badge{margin-left:0;text-align:left;width:100%}}
.gw-prog{background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.gw-prog span{font-size:11.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.gw-prog b{font-family:var(--disp);font-size:19px;overflow-wrap:anywhere}
.gw-prog i{font-style:normal;font-size:13px;color:var(--muted)}
.gw-prog i b{font-family:inherit;font-size:13px;color:var(--ink)}
.gw-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.gw-tile{background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.gw-tile span{font-size:11.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.gw-tile b{font-size:24px;line-height:1.15}
.gw-tile i{font-style:normal;font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.gw-tile.warn{border-color:var(--wrong-ln)}.gw-tile.warn b{color:var(--wrong)}
.gw-tile.ok{border-color:var(--loaded-ln)}.gw-tile.ok b{color:var(--loaded)}
.gw-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.gw-col{border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0;max-height:340px;overflow:auto}
.gw-col h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.gw-li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:5px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.gw-li:last-child{border-bottom:0}
.gw-li>span{color:var(--muted);white-space:nowrap}
.gw-li b{font-weight:650;overflow-wrap:anywhere}
.gw-li i{display:block;font-style:normal;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.gw-li.alm b{color:var(--wrong)}.gw-li.wrn b{color:var(--remain)}
.gw-pm>div{grid-template-columns:minmax(0,1fr) 90px 130px}
.gw-pm-h span{font-weight:700;color:var(--muted);font-size:11.5px;text-transform:uppercase}
.gw-tech>summary{color:var(--muted)}
.gw-tech{border-top:1px dashed var(--line);padding-top:6px}
.gw-tech[open]{display:flex;flex-direction:column;gap:8px}
.gw-tech .gw-kv{display:flex;flex-direction:column;gap:0}
.gw-tech .gw-kv>div{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) 120px;gap:10px;padding:4px 0;border-bottom:1px solid var(--line);font-size:12.5px;align-items:baseline}
.gw-tech .gw-kv>div>*{min-width:0;overflow-wrap:anywhere;word-break:normal}
.gw-tech .gw-kv b{font-weight:650}
@media (max-width:640px){.gw-tech .gw-kv>div{grid-template-columns:1fr}}
.gw-live{display:inline-block;margin-left:6px;font-size:11px;font-weight:800;text-transform:uppercase;padding:1px 7px;border-radius:6px;background:var(--loaded-bg);border:1px solid var(--loaded-ln);color:var(--loaded)}
/* V46 · Raportet, KPI, gjuha */
.page-h{position:relative}
.lang-sw{display:inline-flex;gap:0;margin-left:auto;border:1px solid var(--line);border-radius:999px;overflow:hidden;vertical-align:middle}
.page-h .lang-sw{position:static;margin-left:12px;flex:0 0 auto}
.lang-sw button{appearance:none;border:0;background:transparent;padding:4px 11px;font-weight:800;font-size:12px;color:var(--muted);cursor:pointer}
.lang-sw button[aria-pressed="true"]{background:var(--brand);color:#fff}
.rap-bar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:4px 0 12px}
.rap-ms,.rap-per{display:flex;flex-wrap:wrap;gap:6px}
.rap-chip{appearance:none;border:1px solid var(--line);background:var(--surface2);color:var(--ink);border-radius:999px;padding:6px 12px;font-weight:700;font-size:13px;cursor:pointer}
.rap-chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
.rap-dt{display:flex;gap:6px;align-items:center}
.rap-dt input{padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.rap-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-bottom:6px}
.rap-h{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 6px}
.rap-tw{overflow:auto;border:1px solid var(--line);border-radius:12px;max-height:520px}
.rap-t{width:100%;border-collapse:collapse;font-size:13px}
.rap-t th{position:sticky;top:0;background:var(--surface2);text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:7px 9px;border-bottom:1px solid var(--line);white-space:nowrap}
.rap-t td{padding:6px 9px;border-bottom:1px solid var(--line);vertical-align:top}
.rap-t td.num{white-space:nowrap}
.rap-t td i{display:block;font-style:normal;font-size:11.5px;color:var(--muted)}
.rap-t tr.muted td{color:var(--muted)}
.rap-hrs{display:flex;flex-direction:column;gap:3px;max-width:720px}
.rap-hr{display:grid;grid-template-columns:52px minmax(0,1fr) 44px 60px;gap:8px;align-items:center;font-size:12.5px}
.rap-bar-o{height:12px;border-radius:6px;background:var(--surface2);border:1px solid var(--line);overflow:hidden}
.rap-bar-i{height:100%;background:var(--brand);border-radius:6px}
.rap-hr i{font-style:normal;color:var(--muted)}
.gw-today{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);gap:10px}
@media (max-width:820px){.gw-today{grid-template-columns:1fr}.page-h .lang-sw{position:static;margin-top:6px}}
/* V46 · Makinat: dita e zgjedhur — përdorimi (donut), vija e kohës, karta e makinës */
:root{--u-cut:#1f9d57;--u-hand:#2b6eb5;--u-alm:#d23b3b;--u-wait:#d9a520;--u-off:#c9d1dc}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--u-cut:#2f9a5c;--u-hand:#4a90d9;--u-alm:#e06464;--u-wait:#c9a030;--u-off:#34475c}}
:root[data-theme="dark"]{--u-cut:#2f9a5c;--u-hand:#4a90d9;--u-alm:#e06464;--u-wait:#c9a030;--u-off:#34475c}
.gw-daynav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 14px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow)}
.gw-daynav input[type=date],.gw-daynav input[type=time]{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface2);color:var(--ink);font:inherit;font-size:14px}
.gw-daynav .btn.sm{padding:7px 12px;font-size:14px}
.gw-daynav .btn[disabled]{opacity:.4;cursor:default}
.gw-daynav .pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--loaded-bg);color:var(--loaded);border:1px solid var(--loaded-ln);font-weight:800;font-size:12.5px}
.gw-daynav .pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--loaded);animation:gwpulse 1.6s infinite}
@keyframes gwpulse{50%{opacity:.25}}
.gw-sched{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);font-weight:700}
.gw-saw{width:58px;height:34px;flex:0 0 auto}
.gw-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:10px 0 12px}
.gw-info>div{background:var(--surface);padding:9px 12px;display:flex;flex-direction:column;gap:1px;min-width:0}
.gw-info span{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.gw-info b{font-size:15.5px;overflow-wrap:anywhere}
.gw-info b.bad{color:var(--wrong)}
.gw-info i{font-style:normal;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.gw-dayrow{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;align-items:stretch}
.gw-use{display:flex;gap:16px;align-items:center;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.gw-donut{width:150px;height:150px;flex:0 0 auto}
.gw-donut .dn-s{transition:opacity .15s}
.gw-donut:hover .dn-s{opacity:.55}.gw-donut .dn-s:hover{opacity:1}
.dn-v{font-family:var(--disp);font-weight:800;font-size:25px;fill:var(--ink);font-variant-numeric:tabular-nums}
.dn-l{font-size:9px;font-weight:800;letter-spacing:.09em;fill:var(--muted)}
.gw-leg{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.gw-leg>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:13px}
.gw-leg>div>i{width:12px;height:12px;border-radius:4px}
.gw-leg>div>b{font-size:14px}
.gw-leg>div>em{font-style:normal;color:var(--muted);font-size:12px;min-width:76px;text-align:right}
.gw-leg .gw-cov{display:block;font-size:11.5px;color:var(--muted);margin-top:3px}
.gw-daykpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gw-daykpi .gw-tile b{font-size:20px}
.gw-tlw{margin:12px 0 4px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:10px 12px 6px}
.gw-tl-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:13px;margin-bottom:4px}
.gw-tl-h span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}
.gw-tl-h span i{width:10px;height:10px;border-radius:3px;margin-left:8px}
.gw-tlb{position:relative;padding-bottom:18px}
.gw-tl{width:100%;height:40px;display:block}
.gw-tlx{position:absolute;left:0;right:0;bottom:0;height:16px}
.gw-tlx span{position:absolute;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;border-left:1px solid var(--line);padding-left:3px;line-height:16px}
.gw-tlx span.r{transform:translateX(-100%);border-left:0;border-right:1px solid var(--line);padding:0 3px 0 0}
.gw-pcs .gw-q{width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px;margin-bottom:6px}
.gw-pr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:5px 0;border-bottom:1px solid var(--line);font-size:13.5px;align-items:baseline}
.gw-pr:last-child{border-bottom:0}
.gw-pr>span{color:var(--muted);white-space:nowrap}
.gw-pr b{font-weight:650;overflow-wrap:anywhere}
.gw-pr i{display:block;font-style:normal;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.gw-pr em{font-style:normal;font-weight:700;white-space:nowrap;font-size:13px}
.gw-col.gw-pcs{max-height:520px}
.gw-pcs .btn{margin-top:6px}
@media (max-width:980px){.gw-dayrow{grid-template-columns:1fr}}
@media (max-width:560px){.gw-use{flex-direction:column;align-items:stretch}.gw-donut{margin:0 auto}.gw-daykpi{grid-template-columns:repeat(2,minmax(0,1fr))}.gw-sched{margin-left:0}}
.gw-empty{display:flex;gap:12px;align-items:center;padding:16px;border:1px dashed var(--line);border-radius:12px;background:var(--surface2);margin:4px 0 10px}
.gw-empty svg{width:26px;height:26px;color:var(--muted);flex:0 0 auto}
.gw-empty b{display:block}.gw-empty span{color:var(--muted);font-size:13px}
.gw-phw{margin:10px 0 4px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.gw-phb{display:flex;gap:2px;height:16px;border-radius:6px;overflow:hidden;margin:4px 0 8px}
.gw-phb i{display:block;min-width:2px}
.gw-phl{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted)}
.gw-phl span{display:inline-flex;align-items:center;gap:5px}
.gw-phl i{width:10px;height:10px;border-radius:3px}
.gw-phl b{color:var(--ink)}
.gw-phl em{font-style:normal}
/* listat e palosshme, lidhja me listën, veprimet */
.gw-dd{max-height:none}
.gw-dd>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px}
.gw-dd>summary::-webkit-details-marker{display:none}
.gw-dd>summary::before{content:"▸";color:var(--muted);font-size:13px;transition:transform .15s}
.gw-dd[open]>summary::before{transform:rotate(90deg)}
.gw-dd>summary h4{margin:0}
.gw-dd[open]{max-height:560px;overflow:auto}
.gw-lists{align-items:start}
.gw-lnk{color:var(--loaded)!important;font-weight:700}
.gw-lnkc{color:var(--loaded);text-transform:none;letter-spacing:0}
.gw-act{display:flex;justify-content:flex-end;margin:10px 0 6px}
.gwl-strip .gwl-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}
.gwl-c{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface2);display:flex;flex-direction:column;gap:4px;min-width:0}
.gwl-h{display:flex;align-items:center;gap:8px}.gwl-h b{flex:1}
.gw-badge.sm{padding:2px 8px;border-radius:8px}.gw-badge.sm b{font-size:12px}
.gwl-p{font-weight:700;font-size:13px;overflow-wrap:anywhere}
.gwl-x span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.gwl-x b{display:block;font-size:13.5px}.gwl-x i{display:block;font-style:normal;color:var(--loaded);font-weight:700;font-size:13px}
.gwl-s{font-size:12px;color:var(--muted)}

/* ===================== V47: Montimi 3D — kuota si te Corpus, copa e skanuar, pamja e montuesit, telefoni ===================== */
/* ekrani i plotë: lartësia e pamjes së montuesit (.tall) nuk e kufizon më (më parë dilte vetëm pjesa e sipërme dhe poshtë mbetej e zezë) */
.m3d-host.m3d-full,.m3d-host.tall.m3d-full{position:fixed;inset:0;height:auto!important;min-height:0!important;max-height:none!important;border-radius:0;border:0;margin:0;z-index:10035}
.m3d-host{background:radial-gradient(130% 100% at 50% 22%,color-mix(in srgb,var(--surface) 96%,#fff) 0%,var(--surface2) 72%,color-mix(in srgb,var(--surface2) 82%,var(--line)) 100%)}
/* kuotat: tekst i zi mbi vijë, i rrotulluar sipas saj (si vizatimi i Corpus-it) */
.m3d-dim{position:absolute;left:0;top:0;margin:0;min-width:0;padding:0 3px;border-radius:3px;transform-origin:0 0;background:color-mix(in srgb,var(--surface) 78%,transparent);color:var(--ink);box-shadow:none;
  font-family:var(--body);font-weight:700;font-size:11.5px;line-height:15px;letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.m3d-dim.sm{font-size:10px;line-height:13px;padding:0 2px}
/* copa e skanuar / e zgjedhur: portokalli, me emrin mbi të */
.m3d-ptag{position:absolute;left:0;top:0;margin:-30px 0 0 0;transform-origin:0 0;padding:3px 8px;border-radius:7px;background:#ff6d00;color:#fff;font-weight:800;font-size:11.5px;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.25);translate:-50% 0;z-index:2;pointer-events:none}
.m3d-ptag::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-bottom:0;border-top-color:#ff6d00}
.m3d-info{border-left-color:#1f78f0}
.m3d-i-dot{background:#1f78f0;box-shadow:0 0 0 4px rgba(31,120,240,.15)}
.m3d-i-dot.p{background:#ff6d00;box-shadow:0 0 0 4px rgba(255,109,0,.18)}
.m3d-info:has(.m3d-i-dot.p){border-left-color:#ff6d00}
.m3d-i-n{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;font-weight:700;color:var(--loaded);background:var(--loaded-bg);border:1px solid var(--loaded-ln);border-radius:8px;padding:4px 8px}
.m3d-i-n .ic{width:15px;height:15px;flex:none}
.m3d-i-more{flex:none;width:32px;height:32px;margin:-4px -2px 0 0;border:0;background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;display:none;align-items:center;justify-content:center}
.m3d-i-more .ic{width:18px;height:18px;transform:rotate(90deg);transition:transform .15s}
.m3d-info.more .m3d-i-more .ic{transform:rotate(-90deg)}
.m3d-i-a{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;margin-top:10px}
.m3d-i-a .btn{display:inline-flex;align-items:center;gap:6px}
.m3d-i-a .btn .ic{width:16px;height:16px}
.m3d-i-a .btn.primary{margin-left:auto}
.m3d-ty{display:inline-flex;align-items:center;gap:6px}
.m3d-ty select{font:inherit;font-size:12.5px;padding:3px 6px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.m3d.iso-on .m3d-tag:not(.on){display:none}
/* pamja e montuesit (jo-admin) dhe e linkut: 3D-ja zë gjithë ekranin poshtë kokës */
.mt-focus .m3d-host.tall{height:calc(100vh - 230px);height:calc(100dvh - 230px);min-height:460px}
.mt-focus .m3d-foot{margin-top:6px}
@media(max-width:720px){
  .mt-focus .m3d-host.tall{height:calc(100dvh - 200px);min-height:420px;border-radius:12px}
  .m3d-dim{font-size:10.5px;line-height:13px}
  /* karta e copës në telefon: e ngushtë; detajet hapen me shigjetën */
  .m3d-info{left:6px;right:6px;bottom:6px;width:auto;padding:9px 9px 9px 11px;border-radius:12px;max-height:46%;overflow:auto;box-shadow:0 6px 22px rgba(17,32,48,.2)}
  .m3d-i-more{display:inline-flex}
  .m3d-info:not(.more) .m3d-more{display:none!important}
  .m3d-i-t{font-size:14.5px}
  .m3d-i-k,.m3d-i-s{font-size:12.5px}
  .m3d-i-top{gap:8px}
  .m3d-i-dot{margin-top:5px;width:10px;height:10px}
  .m3d-i-a{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:5px;margin-top:8px}
  .m3d-i-a .btn{justify-content:center;flex-direction:column;gap:2px;padding:6px 4px;min-height:46px;font-size:11px;line-height:1.15;text-align:center}
  .m3d-i-a .btn .ic{width:17px;height:17px}
  .m3d-i-a .btn.primary{margin-left:0}
  .m3d-host.m3d-full .m3d-info{left:6px;right:6px;bottom:max(6px,env(safe-area-inset-bottom))}
  .m3d-ptag{font-size:11px;padding:2px 7px}
}
/* dritarja e elementit në telefon: më e ulët, pakot rrëshqasin brenda */
@media(max-width:600px){
  .mt-sheet{max-height:78dvh}
  .mt-sheet .mt-pks{max-height:30dvh;overflow:auto}
  .mt-sheet-acts{grid-template-columns:1fr 1fr!important}
  .mt-sheet-acts .btn{min-height:44px;font-size:13.5px}
  .mt-sheet-acts .btn.primary{grid-column:1/-1}
}
details.mt-pks>summary{cursor:pointer;list-style:none}
details.mt-pks>summary::-webkit-details-marker{display:none}
details.mt-pks>summary::after{content:" ›";opacity:.6}
details.mt-pks[open]>summary::after{content:" ⌄"}
.m3d-lead{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}
.m3d-lead line{stroke:#ff6d00;stroke-width:2.2;stroke-dasharray:7 5;stroke-linecap:round;filter:drop-shadow(0 0 1.5px rgba(255,255,255,.9))}
.m3d-lead circle{fill:#fff;stroke:#ff6d00;stroke-width:2.5}
.m3d-lead circle.e{fill:#ff6d00;stroke:#fff;stroke-width:1.5}
/* ===================== V47: Makinat — plani i mirëmbajtjes ===================== */
.mp .mp-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:8px 0}
.mp .mp-h .ic{width:16px;height:16px;color:var(--brand)}
.mp .mp-h .btn{margin-left:auto}
.mp-l{display:flex;flex-direction:column;gap:6px}
.mp-it{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(90px,1fr) minmax(120px,auto) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-left:4px solid var(--loaded);border-radius:10px;background:var(--surface)}
.mp-it.soon{border-left-color:#f0a020}.mp-it.late{border-left-color:var(--wrong);background:color-mix(in srgb,var(--wrong) 6%,var(--surface))}.mp-it.na{border-left-color:var(--line)}
.mp-t{display:flex;flex-direction:column;min-width:0}.mp-t b{font-size:13.5px}.mp-t span{font-size:12px;color:var(--muted)}
.mp-bar{height:8px;border-radius:99px;background:var(--surface2);overflow:hidden;border:1px solid var(--line)}
.mp-bar i{display:block;height:100%;background:var(--loaded);border-radius:99px}
.mp-it.soon .mp-bar i{background:#f0a020}.mp-it.late .mp-bar i{background:var(--wrong)}
.mp-s{font-size:12.5px;font-weight:700;display:flex;flex-direction:column}.mp-s em{font-style:normal;font-weight:500;color:var(--muted);font-size:11.5px}
.mp-it.late .mp-s{color:var(--wrong)}
.mp-a{display:flex;gap:4px}.mp-a .btn .ic{width:15px;height:15px}
.mp-hist{margin-top:10px;font-size:12.5px;display:flex;flex-direction:column;gap:3px}
.mp-hist div{display:grid;grid-template-columns:120px 1fr auto;gap:8px;border-bottom:1px dashed var(--line);padding:3px 0}
.mp-del{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--wrong)}
@media(max-width:700px){.mp-it{grid-template-columns:1fr auto}.mp-bar{grid-column:1/-1;order:3}.mp-s{order:2}.mp-a{grid-column:1/-1;order:4}.mp-hist div{grid-template-columns:1fr}}
.tvleft{font-weight:600;opacity:.8;font-size:.82em;white-space:nowrap}

/* V47.1 · paralajmërimi kur FP-ja në emrin e skedarit të sharrës s'përputhet me copat */
.gwl-w{display:flex;gap:7px;align-items:flex-start;margin-top:7px;padding:7px 9px;border-radius:9px;border:1px solid color-mix(in srgb,#f0a020 55%,var(--line));background:color-mix(in srgb,#f0a020 12%,var(--surface));font-size:12px;line-height:1.35;color:var(--ink)}
.gwl-w .ic{width:15px;height:15px;flex:none;color:#d98a00;margin-top:1px}
.gwl-w b{font-weight:800}

/* V47.3 · krahasimi i makinave me zgjedhje + stacionet e prodhimit nga zyra */
.rap-cmp{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 12px}
.rap-cmp>span:first-child{font-size:12.5px;font-weight:700;color:var(--muted)}
.rap-chip.sm{padding:4px 10px;font-size:12.5px}
.st-h{margin:4px 0 8px;font-size:15px}
.st-h:not(:first-child){margin-top:18px}
.st-sys{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.st-sys>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px;align-items:center;padding:6px 10px;border:1px dashed var(--line);border-radius:9px;font-size:13px;background:var(--surface2)}
.st-sys span{color:var(--muted)}
.st-sys em{font-style:normal;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.st-hd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr) 36px;gap:8px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:0 2px 4px}
.lst-r.stg,.lst-r.sts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr) 36px;gap:8px;align-items:center}
.lst-r.stg .stg-r{min-width:0}
.lst-r.stg .stg-m{grid-column:2;grid-row:2}
.lst-r.stg select,.lst-r.sts select{font:inherit;font-size:13px;padding:7px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);min-width:0;width:100%}
@media(max-width:700px){.st-hd{display:none}.lst-r.stg,.lst-r.sts{padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.lst-r.stg,.lst-r.sts{grid-template-columns:1fr 36px}.lst-r.stg>*:not([data-lstdel]),.lst-r.sts>*:not([data-lstdel]){grid-column:1}.lst-r.stg [data-lstdel],.lst-r.sts [data-lstdel]{grid-column:2;grid-row:1}.lst-r.stg .stg-m{grid-column:1;grid-row:auto}.st-sys>div{grid-template-columns:1fr auto}.st-sys span{grid-column:1}}

/* V47.5: kodet e reja të ambienteve */
.rm-fresh{border-left:3px solid var(--u-wait,#d9a520)}.rm-fresh p{margin:4px 0 0}
.lst-r.rm.rm-new .rm-c{color:var(--u-wait,#b8860b)}.lst-r.rm.rm-new .rm-n{border-color:var(--u-wait,#d9a520)}

/* ny2: plotësimet dhe raporti i kohëve */
.pbar.two{display:flex}
.pbar.two i{border-radius:0;flex:none}
.pbar.two i:first-child{border-radius:6px 0 0 6px}
.pbar.two i.x{background:repeating-linear-gradient(-45deg,var(--brand) 0 3px,color-mix(in srgb,var(--brand) 35%,transparent) 3px 6px);border-radius:0 6px 6px 0}
.pbar.two.full i.x{background:repeating-linear-gradient(-45deg,var(--loaded) 0 3px,color-mix(in srgb,var(--loaded) 35%,transparent) 3px 6px)}
.pg-x{font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.3}
.pch.ext{border-style:dashed}
.pch sup{font-size:9.5px;margin-left:2px;font-weight:800;opacity:.85}
.pch.man{border-style:dashed}
.pdt-f summary{cursor:pointer;color:var(--brand-ink);font-weight:700}
.pdt-m details+details{margin-top:4px}
.pdt-ma{margin:8px 0 4px}
.pdt-leg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:10px}
.pdt-lb{display:inline-flex;width:70px;vertical-align:middle}
.pman-sum{font-size:13.5px;margin:4px 0 8px}
.pman-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.pman-list{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:4px 0;margin-bottom:10px;background:var(--surface2)}
.pman-r{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 12px 2px}
.pman-i{display:flex;align-items:flex-start;gap:10px;padding:7px 12px;font-size:13.5px;cursor:pointer}
.pman-i:hover{background:var(--surface)}
.pman-i input{width:18px;height:18px;margin:1px 0 0;flex:none}
.pman-i i{display:block;font-style:normal;font-size:11.5px;color:var(--muted)}
.pman-rm summary{cursor:pointer;font-weight:700;color:var(--remain);margin:4px 0 6px}
.pill.ok{color:var(--loaded);background:var(--loaded-bg);border-color:var(--loaded-ln)}
.rap-mode{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.rap-mode .rap-chip{display:inline-flex;align-items:center;gap:6px}
.rap-mode .ic{width:15px;height:15px}
.pman-gs{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 10px}
.pman-gs .rap-chip i{font-style:normal;opacity:.75;margin-left:2px}
.rpk-cnt{margin:0 0 8px}
.rpk-list{display:flex;flex-direction:column;gap:10px}
.rpk-card{padding:0;overflow:hidden}
.rpk-h{appearance:none;border:0;background:none;color:inherit;font:inherit;width:100%;text-align:left;cursor:pointer;display:grid;grid-template-columns:minmax(0,1.6fr) auto minmax(0,.8fr) minmax(0,.9fr) 28px;align-items:center;gap:12px;padding:13px 16px 10px}
.rpk-h:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:12px}
.rpk-id b{display:block;font-size:16px}
.rpk-id i{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:2px}
.rpk-st{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.rpk-st .pill{font-size:11.5px;padding:2px 8px}
.rpk-st i{font-style:normal;font-size:11.5px;color:var(--muted)}
.rpk-k span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.rpk-k b{font-size:14.5px;white-space:nowrap}
.rpk-card.open .po-chev .ic{transform:rotate(90deg)}
.rpk-ph{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:8px;padding:0 16px 14px}
.rpk-p{background:var(--surface2);border:1px solid var(--line);border-radius:10px;padding:7px 10px;min-width:0}
.rpk-p.na{opacity:.55}
.rpk-p span{display:block;font-size:11.5px;font-weight:700;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rpk-p b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rpk-p i,.rpk-p em{display:block;font-style:normal;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rpk-p em{color:var(--remain)}
.rpk-det{border-top:1px solid var(--line);padding:12px 16px 16px;background:var(--surface)}
@media (max-width:760px){.rpk-h{grid-template-columns:minmax(0,1fr) 24px;gap:6px 10px}.rpk-id{grid-column:1}.rpk-h .po-chev{grid-column:2;grid-row:1}.rpk-st,.rpk-k{grid-column:1/-1}.rpk-st{flex-direction:row;align-items:center;gap:8px}.rpk-k{display:flex;justify-content:space-between;gap:8px}.rpk-ph{grid-template-columns:repeat(2,minmax(0,1fr))}.rpk-det{padding:10px 10px 14px}}
.rpk-q{min-width:200px;flex:1 1 220px;max-width:320px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:13.5px}
.rpk-ok{color:var(--loaded)}
.rpk-dt td{white-space:nowrap}
.rpk-dt tr.rpk-s td{font-size:12.5px;color:var(--muted);border-bottom-style:dashed}
.rpk-w{display:block;white-space:nowrap}
.rpk-w i{display:inline;font-size:11.5px;color:var(--muted)}
.rpk-note{margin-top:8px;line-height:1.45;white-space:normal}
.rpk-gantt{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
.rpk-gr{display:grid;grid-template-columns:110px 1fr 92px;align-items:center;gap:10px;margin:5px 0}
.rpk-gl{font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rpk-gt{position:relative;height:14px;border-radius:7px;background:var(--surface);border:1px solid var(--line)}
.rpk-gt i{position:absolute;top:2px;bottom:2px;border-radius:5px;background:var(--brand);min-width:4px}
.rpk-gd{font-size:12px;color:var(--muted);text-align:right;white-space:nowrap}
.rpk-gax{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:6px 102px 0 120px}
@media (max-width:640px){.rpk-gr{grid-template-columns:78px 1fr 70px;gap:6px}.rpk-gax{margin:6px 76px 0 84px}.rpk-q{max-width:none}}
/* ny2 */
