/* ============================================================
   ADMIN — stili aggiuntivi del pannello (si appoggia a shared.css)
   ============================================================ */
.aside .alogo{display:block;padding:0 20px 22px;color:var(--yellow)}
.aside .alogo b span{color:#fff}
.lines .tbl{min-width:620px}
.aside-scrim{display:none}
.navtog{display:none}
.hide-sm{display:inline}
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl tr.row{cursor:pointer}
.tbl td.num,.tbl th.num{text-align:right;white-space:nowrap}
.tbl td.nowrap{white-space:nowrap}
.tbl .thumb-sm{background:#fff;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center}
.tbl .thumb-sm img{width:100%;height:100%;object-fit:contain}
.tbl .title2{font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:420px}
.tbl .empty td{text-align:center;color:var(--muted);padding:34px 14px}
.kpis.six{grid-template-columns:repeat(6,1fr)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.bulkbar{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--yellow-soft);border-bottom:1px solid var(--line-2);flex-wrap:wrap;font-size:13px}
.btnrow{display:flex;gap:8px;flex-wrap:wrap}
.btn.danger{color:var(--bad)}
.switches{display:grid;gap:12px}
.switches .check{gap:12px}
.selectbox{max-width:100%}
select.selectbox{height:36px;cursor:pointer}
.pager a{cursor:pointer;user-select:none}

/* drawer */
.drawer .sheet.wide{width:min(820px,96vw)}
.drawer .dbody{padding:0}
.dsec{padding:16px 20px;border-bottom:1px solid var(--line-2)}
.dsec h4{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13px}
.kv b{font-weight:700;white-space:nowrap}
.kv span{min-width:0;word-break:break-word}
.lines .tbl th,.lines .tbl td{padding:8px 10px;font-size:12.5px}
.lines .tbl td small{display:block;color:var(--muted);font-size:11.5px}
.totals{display:grid;grid-template-columns:auto auto;justify-content:end;gap:4px 24px;font-size:13px;margin-top:10px}
.totals .grand{font-weight:800;font-size:15px;border-top:1px solid var(--line);padding-top:6px}
.hist{list-style:none;margin:0;padding:0;font-size:12.5px}
.hist li{display:flex;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line-2)}
.hist li:last-child{border-bottom:0}
.hist time{color:var(--muted);white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:11.5px}
.statusrow{display:grid;grid-template-columns:180px 1fr auto;gap:8px;align-items:end}
.statusrow .frow{margin-bottom:0}
.prodhead{display:flex;gap:14px;align-items:flex-start}
.prodhead .pimg{width:110px;height:130px;flex:0 0 auto;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.prodhead .pimg img{width:100%;height:100%;object-fit:contain}
.prodhead .pmeta{font-size:12.5px;color:var(--muted);line-height:1.6}
.tree .trow{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;font-size:13.5px}
.tree .trow.child{padding-left:38px;font-size:13px}
.tree .trow.hidden-cat b,.tree .trow.hidden-cat span.nm{color:var(--muted);text-decoration:line-through}
.tree .trow .cnt{color:var(--muted);font-size:12px;font-family:ui-monospace,Consolas,monospace}
.tree .trow .switch{margin-left:auto;transform:scale(.85)}
.tree .trow .caret{display:flex;transition:.15s;width:14px;color:var(--muted)}
.tree .trow .caret.open{transform:rotate(90deg)}
.tree .lbl{font-size:10.5px;color:var(--muted-2);letter-spacing:.06em;text-transform:uppercase;margin-left:4px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--black);color:var(--yellow);padding:10px 18px;border-radius:8px;font-weight:700;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:200;max-width:90vw}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.pill-src{background:var(--yellow-soft);color:var(--warn)}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}

/* stampa ordine / preventivo */
#printarea{display:none}
@media print{
  body>*:not(#printarea){display:none !important}
  #printarea{display:block;font-size:12px;color:#000}
  #printarea h2{margin:0 0 4px;font-size:18px}
  #printarea table{width:100%;border-collapse:collapse;margin:10px 0}
  #printarea th,#printarea td{border:1px solid #999;padding:5px 7px;text-align:left;vertical-align:top}
  #printarea .tot{text-align:right;margin-top:8px}
}

/* responsive */
@media (max-width:1400px){.kpis.six{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1100px){
  .two-col{grid-template-columns:1fr}
  .statusrow{grid-template-columns:1fr}
}
@media (max-width:760px){
  .admin{grid-template-columns:1fr}
  .aside{position:fixed;left:0;top:0;bottom:0;width:250px;z-index:120;transform:translateX(-100%);transition:.2s;height:100vh}
  .aside .logo-txt,.aside .brand small,.aside a span,.aside .grp,.aside a .n{display:initial}
  .aside a{justify-content:flex-start;padding:10px 20px}
  .aside a .n{display:inline-block}
  .admin.nav-open .aside{transform:translateX(0)}
  .admin.nav-open .aside-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:110}
  .navtog{display:flex}
  .atop{padding:0 14px;gap:10px}
  .atop .asearch{width:auto;flex:1}
  .apage{padding:16px 12px 60px}
  .hide-sm{display:none}
  .kpis.six{grid-template-columns:repeat(2,1fr)}
  .kpi b{font-size:22px}
  .ahead h1{font-size:19px}
}
@media (max-width:480px){.kpis.six{grid-template-columns:1fr 1fr}.ptools{padding:12px}.ptools .fsearch{width:100% !important}}
@media (max-width:1100px) and (min-width:761px){.aside .alogo{padding:0 6px 14px;text-align:center}.aside .alogo b{font-size:15px;letter-spacing:-.5px}.aside .alogo b i{display:none}.aside .alogo small{display:none}}
