/* firma chipm8 · © 2026 M8 Growth · tutti i diritti riservati
   Codice proprietario e riservato: vietati copia, modifica, distribuzione e uso senza autorizzazione scritta. */
/* Titoli: Archivo (SIL OFL, incorporabile). CyGrotesk è usato solo per il logo, come immagine: la sua licenza vieta l'uso come font web. */
@font-face{font-family:"Archivo Display";src:url("fonts/archivo-wdth.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
/* =========================================================
   M8 Studio — struttura in stile Shopify Admin (Polaris)
   Palette M8: nero · petrolio · salvia · lavanda
   ========================================================= */
:root{
  /* palette */
  --black:#000000; --petrol-900:#0E1817; --petrol-800:#192B2B; --petrol-700:#1d1d1d;
  --petrol-600:#2B4748; --sage-500:#56807F; --sage-400:#6F9A9C; --sage-300:#94B3B4;
  --lavender:var(--acc); --steel:#94A9C4;

  /* tema chiaro (default) */
  --bg:#F2F4F4;
  --surface:#FFFFFF;
  --surface-2:#F6F8F8;
  --surface-hover:#EEF2F2;
  --border:#DCE3E3;
  --border-strong:#C3CECE;
  --text:#0E1817;
  --text-2:#4D6262;
  --accent:#222222;
  --accent-text:#FFFFFF;
  --accent-soft:#E3EDED;
  --focus:var(--acc);
  --nav-bg:rgba(255,255,255,.72); --nav-solid:#FFFFFF;
  --btn-primary:linear-gradient(180deg,#2F4E4E 0%,#192B2B 100%);
  --btn-primary-text:#FFFFFF;
  --btn-primary-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 1px 2px rgba(0,0,0,.25);
  --btn-shadow:0 1px 0 rgba(0,0,0,.05), inset 0 -1px 0 rgba(0,0,0,.06);
  --card-shadow:0 1px 0 rgba(14,24,23,.04), 0 1px 3px rgba(14,24,23,.06);
  --glow-a:rgba(var(--acc-rgb),.28); --glow-b:rgba(255,255,255,.35); --glow-c:rgba(var(--acc-rgb),.18);
  --ok-bg:#DCEFE6; --ok:#146C43; --warn-bg:#FCEFD3; --warn:#8A5A00;
  --bad-bg:#FBE2E0; --bad:#A1261B; --info-bg:#E2EAF6; --info:#2E4F86;
  --r-card:12px; --r:8px;
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color-scheme:light;
}

/* tema scuro */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#000000; --surface:rgba(14,24,23,.78); --surface-2:rgba(25,43,43,.55); --surface-hover:rgba(43,71,72,.45);
    --border:rgba(var(--acc-rgb),.14); --border-strong:rgba(var(--acc-rgb),.26);
    --text:#E9F0F0; --text-2:#8FA8A8; --accent:var(--acc); --accent-text:#000; --accent-soft:rgba(var(--acc-rgb),.22); --focus:var(--acc);
    --nav-bg:rgba(0,0,0,.3); --nav-solid:#050909;
    --btn-primary:linear-gradient(135deg,var(--acc) 0%,var(--acc) 55%,var(--acc) 100%); --btn-primary-text:#000;
    --btn-primary-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 4px 18px rgba(var(--acc-rgb),.25);
    --btn-shadow:inset 0 1px 0 rgba(255,255,255,.05);
    --card-shadow:0 0 0 1px rgba(0,0,0,.3), 0 8px 30px rgba(0,0,0,.35);
    --glow-a:rgba(var(--acc-rgb),.55); --glow-b:rgba(255,255,255,.55); --glow-c:rgba(43,71,72,.7);
    --ok-bg:rgba(20,108,67,.25); --ok:#7FD1A8; --warn-bg:rgba(138,90,0,.28); --warn:#F2C46B;
    --bad-bg:rgba(161,38,27,.28); --bad:#F4A39B; --info-bg:rgba(46,79,134,.3); --info:#A9C1EC;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#000000; --surface:rgba(14,24,23,.78); --surface-2:rgba(25,43,43,.55); --surface-hover:rgba(43,71,72,.45);
  --border:rgba(var(--acc-rgb),.14); --border-strong:rgba(var(--acc-rgb),.26);
  --text:#E9F0F0; --text-2:#8FA8A8; --accent:var(--acc); --accent-text:#000; --accent-soft:rgba(var(--acc-rgb),.22); --focus:var(--acc);
  --nav-bg:rgba(0,0,0,.3); --nav-solid:#050909;
  --btn-primary:linear-gradient(135deg,var(--acc) 0%,var(--acc) 55%,var(--acc) 100%); --btn-primary-text:#000;
  --btn-primary-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 4px 18px rgba(var(--acc-rgb),.25);
  --btn-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  --card-shadow:0 0 0 1px rgba(0,0,0,.3), 0 8px 30px rgba(0,0,0,.35);
  --glow-a:rgba(var(--acc-rgb),.55); --glow-b:rgba(255,255,255,.55); --glow-c:rgba(43,71,72,.7);
  --ok-bg:rgba(20,108,67,.25); --ok:#7FD1A8; --warn-bg:rgba(138,90,0,.28); --warn:#F2C46B;
  --bad-bg:rgba(161,38,27,.28); --bad:#F4A39B; --info-bg:rgba(46,79,134,.3); --info:#A9C1EC;
  color-scheme:dark;
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font:13.5px/1.5 var(--font);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{margin:0;letter-spacing:-.01em}
.hidden{display:none!important}
.subtle{color:var(--text-2);margin:2px 0 0}
.small{font-size:12px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.grow{flex:1}
svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* sfondo con i bagliori della palette */
.glow{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 45% at 0% 0%, var(--glow-b), transparent 70%),
    radial-gradient(80% 50% at 55% -10%, var(--glow-a), transparent 70%),
    radial-gradient(90% 45% at 60% 110%, var(--glow-c), transparent 70%);}

/* ---------------- frame ---------------- */
.frame{position:relative;z-index:1;display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.nav{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:14px;padding:16px 12px;background:var(--nav-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-right:1px solid var(--border)}
.nav-logo{display:flex;align-items:center;gap:8px;padding:6px 8px 10px}
.logo-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;font-weight:700;font-size:12px;color:#000;background:linear-gradient(135deg,var(--lavender),var(--sage-400) 60%,var(--sage-500))}
.logo-text{font-weight:600;font-size:15px}
.store-switch{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);box-shadow:var(--btn-shadow);cursor:pointer}
.store-dot{width:8px;height:8px;border-radius:50%;background:var(--sage-400);box-shadow:0 0 0 3px var(--accent-soft);flex:none}
.store-switch select{border:none;background:transparent;padding:2px 0;min-height:auto;font-weight:600;width:100%;cursor:pointer;outline:none;box-shadow:none}
.store-switch select option{color:#000}
.nav-items{display:flex;flex-direction:column;gap:2px}
.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:none;background:transparent;border-radius:var(--r);cursor:pointer;color:var(--text-2);font-weight:500;text-align:left}
.nav-item:hover{background:var(--surface-hover);color:var(--text)}
.nav-item.active{background:var(--surface);color:var(--text);box-shadow:var(--card-shadow)}
.nav-item.active svg{color:var(--sage-500)}
.count{margin-left:auto;min-width:20px;padding:0 6px;border-radius:10px;background:var(--warn-bg);color:var(--warn);font-size:11px;line-height:20px;text-align:center}
.count:empty{display:none}
.nav-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.theme-toggle{display:flex;padding:3px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border)}
.theme-toggle button{flex:1;display:grid;place-items:center;padding:5px;border:none;background:transparent;border-radius:6px;color:var(--text-2);cursor:pointer}
.theme-toggle button.active{background:var(--surface);color:var(--text);box-shadow:var(--card-shadow)}
.theme-toggle svg{width:16px;height:16px}

.main{padding:24px 32px 60px;max-width:1240px;width:100%;margin:0 auto}
.tab{display:none}.tab.active{display:block}

/* ---------------- page header ---------------- */
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.page-header h1{font-size:20px;font-weight:700}
.title-input{font-size:20px;font-weight:700;border:none;background:transparent;padding:0;min-height:auto;width:100%;outline:none;box-shadow:none!important}
.title-input::placeholder{color:var(--text-2)}
.pager{display:flex;align-items:center;gap:8px}

/* ---------------- card ---------------- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--card-shadow);padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.card.flush{padding:0;gap:0}
.card-title{font-size:14px;font-weight:600}
.card-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border)}
.empty{align-items:center;text-align:center;padding:56px 20px}
.empty h2{font-size:16px}
.empty p{max-width:420px}
.empty-art{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--lavender),var(--sage-400) 55%,var(--petrol-600));opacity:.9;margin-bottom:6px}

/* ---------------- buttons ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;min-height:32px;border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface);box-shadow:var(--btn-shadow);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s,transform .06s}
.btn:hover{background:var(--surface-hover)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.primary{background:var(--btn-primary);color:var(--btn-primary-text);border-color:transparent;box-shadow:var(--btn-primary-shadow)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.critical{color:var(--bad);border-color:var(--bad-bg)}
.btn.icon{width:32px;padding:0;font-size:18px;line-height:1}
.btn-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* ---------------- inputs ---------------- */
input,select,textarea{width:100%;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r);padding:7px 10px;min-height:34px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 2px var(--accent-soft)}
textarea{resize:vertical}
.field{display:flex;flex-direction:column;gap:4px;font-weight:500}
.row{display:flex;gap:10px;align-items:flex-end}
.row label{flex:1;display:flex;flex-direction:column;gap:4px;font-weight:500;font-size:12.5px}
input[type=color]{width:44px;flex:none;padding:3px;height:34px}
.search{position:relative}
.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-2);width:16px;height:16px}
.search input{padding-left:32px}

/* segmented */
.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--border-strong);border-radius:var(--r);overflow:hidden;width:fit-content;max-width:100%;background:var(--surface-2)}
.seg button{border:none;border-right:1px solid var(--border);background:transparent;padding:7px 14px;cursor:pointer;font-weight:500;color:var(--text-2)}
.seg button:last-child{border-right:none}
.seg button:hover{background:var(--surface-hover);color:var(--text)}
.seg button.active{background:var(--accent);color:var(--accent-text)}
.slider{display:flex;align-items:center;gap:12px;font-weight:500}
.slider input{flex:1;padding:0;min-height:auto;border:none;background:transparent;box-shadow:none;accent-color:var(--sage-500)}
.slider output{min-width:36px;text-align:right;color:var(--text-2)}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.sw{width:32px;height:32px;border-radius:50%;border:1px solid rgba(0,0,0,.15);cursor:pointer;padding:0}
.sw.active{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--sage-500)}

/* ---------------- badges ---------------- */
.badge,.st,.chip{display:inline-flex;align-items:center;gap:6px;width:fit-content;border-radius:999px;font-size:12px;font-weight:500;padding:2px 9px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);white-space:nowrap}
.chip i{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.2);display:inline-block}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;justify-content:center}
.badge.demo,.st.review{background:var(--warn-bg);color:var(--warn);border-color:transparent}
.badge.live,.st.ok{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.st.running{background:var(--info-bg);color:var(--info);border-color:transparent}
.st.attn{background:var(--bad-bg);color:var(--bad);border-color:transparent}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}

/* ---------------- drop zone ---------------- */
.drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 16px;border:1.5px dashed var(--border-strong);border-radius:var(--r);background:var(--surface-2);cursor:pointer;transition:.15s;text-align:center}
.drop:hover,.drop.over{border-color:var(--sage-500);background:var(--accent-soft)}
.drop-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--sage-500)}

/* ---------------- tabs in card ---------------- */
.card-tabs{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--border);overflow-x:auto}
.card-tabs button{border:none;background:transparent;padding:6px 12px;border-radius:var(--r);font-weight:500;color:var(--text-2);cursor:pointer;white-space:nowrap}
.card-tabs button:hover{background:var(--surface-hover);color:var(--text)}
.card-tabs button.active{background:var(--accent-soft);color:var(--text);font-weight:600}

/* ---------------- job grid ---------------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:14px}
.grid > .subtle{padding:18px 4px}
.job{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--surface-2);cursor:pointer;transition:.15s}
.job:hover{border-color:var(--sage-500);transform:translateY(-1px)}
.job .thumb{aspect-ratio:4/5;position:relative;background:var(--surface-hover)}
.job .thumb img{width:100%;height:100%;object-fit:contain;display:block}
.job .thumb img.raw{position:absolute;left:8px;bottom:8px;width:30%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px;border:2px solid var(--bg);box-shadow:0 2px 8px rgba(0,0,0,.25)}
.job .meta{padding:9px 10px;display:flex;flex-direction:column;gap:6px}
.job .name{font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spinner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-2);font-size:12px}
.spinner::before{content:"";width:24px;height:24px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--sage-400);animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------------- layout primary / secondary ---------------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.layout-side{display:flex;flex-direction:column}
.sticky{position:sticky;top:24px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}
.compare figure{margin:0;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--surface-2)}
.compare figcaption{font-size:12px;font-weight:600;color:var(--text-2);padding:8px 10px;border-bottom:1px solid var(--border)}
.compare img{width:100%;display:block;aspect-ratio:4/5;object-fit:contain}
.score{font-size:28px;font-weight:700;letter-spacing:-.02em}
.score small{font-size:12.5px;font-weight:500;color:var(--text-2);letter-spacing:0;margin-left:4px}
.issues{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.issues li{font-size:12.5px;padding:8px 10px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border)}
.issues li.critical{background:var(--bad-bg);border-color:transparent}
.issues li.major{background:var(--warn-bg);border-color:transparent}
details + details{margin-top:6px;padding-top:10px;border-top:1px solid var(--border)}
summary{cursor:pointer;font-weight:600}
pre{white-space:pre-wrap;font-size:11.5px;background:var(--surface-2);border:1px solid var(--border);padding:10px;border-radius:var(--r);max-height:260px;overflow:auto;margin:10px 0 0}
.sheet{font-size:12.5px;display:flex;flex-direction:column;gap:6px;margin-top:10px}
.sheet .k{color:var(--text-2)}
.prod-results{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto}
.prod-results:empty{display:none}
.prod{display:flex;align-items:center;gap:10px;padding:6px;border:1px solid var(--border);border-radius:var(--r);cursor:pointer}
.prod:hover{border-color:var(--sage-500);background:var(--surface-hover)}
.prod img{width:38px;height:46px;object-fit:cover;border-radius:6px;background:var(--surface-2)}
.prod div{font-size:12.5px;line-height:1.35}
.prod small{color:var(--text-2)}

/* ---------------- brand kit: annotated layout ---------------- */
.annotated{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px}
.ann h3{font-size:14px;font-weight:600;margin-top:4px}
.ann p{font-size:12.5px}
.danger-zone{display:flex;justify-content:flex-end;padding-top:4px}
.preview{width:100%;display:block;border-radius:var(--r);border:1px solid var(--border);min-height:220px;background:var(--surface-2)}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(16px);background:#0E1817;color:#fff;border:1px solid rgba(var(--acc-rgb),.25);padding:10px 16px;border-radius:var(--r);font-weight:500;opacity:0;pointer-events:none;transition:.2s;z-index:50;box-shadow:0 8px 30px rgba(0,0,0,.3)}
.toast.show{opacity:1;transform:translateX(-50%)}

/* ---------------- responsive ---------------- */
@media (max-width:1100px){
  .annotated{grid-template-columns:1fr;gap:8px}
}
@media (max-width:900px){
  .frame{grid-template-columns:1fr}
  .main::before{content:"";position:fixed;top:0;left:0;right:0;height:58px;z-index:19;background:var(--nav-solid);border-bottom:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--nav-solid);position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;z-index:20;flex-direction:row;align-items:center;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--border);gap:6px}
  .nav-logo,.nav-foot .badge{display:none}
  .store-switch{position:fixed;top:10px;left:16px;right:124px;z-index:21}
  .nav-items{flex-direction:row;flex:1;gap:2px}
  .nav-item{flex-direction:column;gap:2px;padding:6px 4px;font-size:11px;justify-content:center;text-align:center;position:relative}
  .nav-item .count{position:absolute;top:2px;right:18%;margin:0;min-width:18px;line-height:18px}
  .nav-foot{position:fixed;top:10px;right:16px;margin:0;z-index:21}
  .theme-toggle{background:var(--surface)}
  .main{padding:68px 16px 96px}
  .layout{grid-template-columns:1fr}
  .sticky{position:static}
  .page-header{flex-wrap:wrap}
  .grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:10px;gap:10px}
  .compare{gap:8px;padding:8px}
}

/* ---------------- consegna ---------------- */
.stack{display:flex;flex-direction:column;gap:10px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sub-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);padding-top:4px}
.locked{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--r);background:var(--surface-2);border:1px dashed var(--border-strong);color:var(--text-2);font-size:12.5px}
.dl-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dl{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px;border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;transition:.12s}
.dl:hover{border-color:var(--sage-500);background:var(--accent-soft)}
.dl b{font-size:12.5px;font-weight:600}
.dl small{font-size:11px;color:var(--text-2);line-height:1.3}
.dl.primary-dl{border-color:var(--sage-500);box-shadow:0 0 0 1px var(--sage-500) inset}
.dl.busy{opacity:.55;pointer-events:none}
.seg.full{display:flex;width:100%}
.seg.full button{flex:1}
.linked{display:flex;align-items:center;gap:8px;padding:10px;border-radius:var(--r);background:var(--ok-bg);color:var(--ok);font-size:12.5px;font-weight:500}
.linked a{color:inherit;margin-left:auto;font-weight:600}
kbd{font:600 10.5px/1 var(--font);padding:2px 5px;border-radius:4px;border:1px solid currentColor;opacity:.55;margin-left:4px}
.keys{margin-top:-2px}
.bulk{margin-left:auto;display:flex;gap:6px;align-items:center}
.bulk select{width:auto;min-height:32px;padding:4px 8px}
@media (max-width:900px){
  .card-tabs{flex-wrap:wrap}
  .bulk{margin-left:0;width:100%}
  .bulk select{flex:1}
  .keys{display:none}
}
.card-tabs .bulk .btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--btn-shadow)}
.card-tabs .bulk .btn:hover{background:var(--surface-hover)}

/* ---------------- statistiche ---------------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--card-shadow);padding:14px 16px;display:flex;flex-direction:column;gap:2px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.stat-label{font-size:12px;font-weight:500;color:var(--text-2)}
.stat-value{font-size:24px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}
.stat-sub{font-size:11.5px;color:var(--text-2)}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-value{font-size:20px}}

/* ---------------- job card: sku ---------------- */
.job .sku-line{display:flex;gap:6px;align-items:center;font-size:11.5px;color:var(--text-2);min-width:0}
.job .sku-line b{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shot{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px;background:var(--accent-soft);color:var(--text)}

/* ---------------- gruppo SKU ---------------- */
.group{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2)}
.check{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}
.check input{width:16px;height:16px;min-height:auto;accent-color:var(--sage-500);flex:none}
.group-thumbs{display:flex;gap:6px;overflow-x:auto}
.group-thumbs figure{margin:0;display:flex;flex-direction:column;gap:3px;align-items:center;flex:none}
.group-thumbs img{width:48px;height:60px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}
.group-thumbs figure.current img{box-shadow:0 0 0 2px var(--sage-500)}
.group-thumbs figcaption{font-size:10px;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}

/* ---------------- visore ---------------- */
.zoomable{cursor:zoom-in}
.viewer{position:fixed;inset:0;z-index:60;background:#050909;display:flex;flex-direction:column}
.viewer-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;color:#E9F0F0;border-bottom:1px solid rgba(var(--acc-rgb),.18)}
.viewer-bar #viewerTitle{font-weight:600;margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.viewer-bar .btn{background:rgba(25,43,43,.8);color:#E9F0F0;border-color:rgba(var(--acc-rgb),.3)}
.viewer-hint{color:#8FA8A8}
.viewer-stage{flex:1;overflow:auto;display:grid;place-items:center;cursor:zoom-in}
.viewer-stage img{max-width:100%;max-height:calc(100vh - 60px);object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}
.viewer-stage.zoomed{cursor:zoom-out;place-items:start}
.viewer-stage.zoomed img{max-width:none;max-height:none}
.viewer.raw #viewerTitle::after{content:" · GREZZO";color:var(--lavender)}
@media (max-width:900px){.viewer-hint{display:none}}

.stats-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:-4px}
.reject-box{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:var(--r);border:1px solid var(--bad-bg);background:var(--surface-2)}
.reason-chips{display:flex;flex-wrap:wrap;gap:6px}
.reason-chips button{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:5px 10px;font-size:12.5px;font-weight:500;cursor:pointer;color:var(--text)}
.reason-chips button:hover{border-color:var(--bad);color:var(--bad);background:var(--bad-bg)}
.reject-box .btn{align-self:flex-start}

.legacy summary{font-weight:500;color:var(--text-2)}
.legacy .field{margin-top:8px}

.nav-foot .badge{white-space:normal;text-align:left;justify-content:flex-start;line-height:1.35;padding:4px 10px;border-radius:10px}

/* ---------------- modale caricamento ---------------- */
.modal{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}
.modal-card{width:min(760px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden}
:root[data-theme="dark"] .modal-card{background:#0a0a0a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .modal-card{background:#0a0a0a}}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--border)}
.modal-head h2{font-size:17px}
.modal-body{padding:16px 20px;overflow:auto;display:flex;flex-direction:column;gap:14px}
.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}
.up-groups{display:flex;flex-direction:column;gap:10px}
.up-group{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.up-group-head{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:600}
.up-group-head span{font-weight:500;color:var(--text-2)}
.up-thumbs{display:flex;gap:8px;flex-wrap:wrap}
.up-thumb{position:relative;width:86px;cursor:pointer;display:flex;flex-direction:column;gap:3px}
.up-thumb img{width:86px;height:104px;object-fit:cover;border-radius:8px;border:2px solid transparent;background:var(--surface-2)}
.up-thumb.is-main img{border-color:var(--sage-500)}
.up-thumb .tag{position:absolute;left:4px;bottom:22px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 6px;border-radius:5px;background:rgba(0,0,0,.65);color:#fff}
.up-thumb.is-main .tag{background:var(--sage-500);color:#fff}
.up-thumb .rm{position:absolute;right:4px;top:4px;width:20px;height:20px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;font-size:12px;line-height:20px;cursor:pointer;padding:0}
.up-thumb small{font-size:10.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.up-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:4px}
.up-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.up-warn{font-size:12px;color:var(--warn)}
.refs-strip{display:flex;gap:8px;overflow-x:auto}
.refs-strip img{width:88px;height:108px;object-fit:cover;border-radius:8px;border:1px solid var(--border);cursor:zoom-in}
#jobGrid.selecting .job{position:relative}
#jobGrid.selecting .job.sel-no{opacity:.45;cursor:not-allowed}
#jobGrid.selecting .job.sel-no:hover{transform:none;border-color:var(--border)}
#jobGrid.selecting .job.sel-picked{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}
.job .sel-check{position:absolute;top:8px;left:8px;width:26px;height:26px;border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.35);box-shadow:0 1px 4px rgba(0,0,0,.35);display:grid;place-items:center;z-index:2}
.job.sel-picked .sel-check{background:var(--acc);border-color:var(--acc)}
.job.sel-picked .sel-check::after{content:"";width:9px;height:5px;border:solid var(--bg);border-width:0 0 2.5px 2.5px;transform:translateY(-1px) rotate(-45deg)}
.job .sel-why{font-size:11px;color:var(--text-2)}
.sel-bar{position:fixed;right:24px;bottom:24px;width:min(720px,calc(100vw - 340px));display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 10px 30px rgba(0,0,0,.18);z-index:30}
.sel-bar .sel-count{flex:1;min-width:140px;font-size:13px;font-weight:600}
.sel-bar .btn:disabled{opacity:.5;cursor:not-allowed}
#selToggle.active{background:var(--accent-soft);border-color:var(--acc)}
body:not([data-tab=produce]) .sel-bar{display:none}
body.selecting .main{padding-bottom:120px}
@media (max-width:900px){
  .sel-bar{position:fixed;left:12px;right:12px;width:auto;bottom:calc(88px + env(safe-area-inset-bottom));margin:0;z-index:25;display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"c c c a a d" "i i i t t t";gap:8px}
  .sel-bar.hidden{display:none}
  .sel-bar .sel-count{grid-area:c;min-width:0;font-size:12.5px;line-height:1.3}
  #selAll{grid-area:a}#selDone{grid-area:d}#selImg{grid-area:i}#selTxt{grid-area:t}
  .sel-bar .btn{min-width:0;padding:6px 8px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.selecting .main{padding-bottom:calc(240px + env(safe-area-inset-bottom))}
  body.selecting[data-tab] .fab{display:none}
}
.job .refs-badge{position:absolute;right:8px;bottom:8px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff}
@media (max-width:900px){.modal{padding:0;place-items:end}.modal-card{border-radius:16px 16px 0 0;max-height:92vh}}

.btn.premium{align-self:flex-start;font-weight:500;font-size:12.5px;border-style:dashed;color:var(--text-2)}
.btn.premium:hover{color:var(--text);border-color:var(--lavender)}

.prompt-edit{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;min-height:220px}

/* fotocamera */
.cam-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:0 16px 14px}
.cam-row .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;margin-right:6px}
.cam-card{width:min(560px,100%)}
.cam-view{position:relative;border-radius:12px;overflow:hidden;background:#000;aspect-ratio:3/4;max-height:58vh}
.cam-view video{width:100%;height:100%;object-fit:cover;display:block}
.cam-shutter{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:66px;height:66px;border-radius:50%;border:4px solid #fff;background:rgba(255,255,255,.35);cursor:pointer}
.cam-shutter:active{background:#fff}
.cam-view.can-focus video{cursor:crosshair}
.cam-focus{position:absolute;width:74px;height:74px;margin:-37px 0 0 -37px;border:1.5px solid #ffd60a;border-radius:4px;pointer-events:none;animation:camFocus .9s ease-out forwards}
@keyframes camFocus{0%{transform:scale(1.35);opacity:0}25%{transform:scale(1);opacity:1}80%{opacity:1}100%{opacity:.35}}
.cam-exp{position:absolute;left:12px;right:12px;bottom:92px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.45);color:#ffd60a;font-size:15px}
.cam-exp input{flex:1;width:auto;min-width:0;height:auto;padding:0;accent-color:#ffd60a;background:transparent;border:0}
.cam-tip{position:absolute;top:10px;left:50%;transform:translateX(-50%);padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;font-size:12px;pointer-events:none;white-space:nowrap}
.cam-switch{align-self:center;max-width:100%;white-space:normal;text-align:center}
.cam-native{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 12px;border:1.5px dashed var(--border);border-radius:12px;cursor:pointer;text-align:center}
.cam-tray{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.cam-tray figure{position:relative;margin:0;aspect-ratio:3/4;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.cam-tray img{width:100%;height:100%;object-fit:cover}
.cam-tray button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:12px;cursor:pointer}
.cam-tray .n{position:absolute;left:4px;bottom:4px;font-size:11px;background:rgba(0,0,0,.6);color:#fff;border-radius:4px;padding:0 5px}
.phone-card{width:min(420px,100%)}
.phone-qr{display:block;margin:0 auto;width:220px;height:220px;image-rendering:pixelated;background:#fff;border-radius:8px;padding:6px}
.phone-pin{font-size:28px;letter-spacing:.2em;text-align:center;font-weight:600}

/* modelli AI */
.gen-row{display:flex;gap:8px;flex-wrap:wrap}
.gen-row input{flex:1 1 260px;min-width:0}
.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:14px}
.model-grid.small{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:0 0 12px}
.mcard{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface,var(--bg));cursor:pointer;display:flex;flex-direction:column;text-align:left;padding:0;font:inherit;color:inherit}
.mcard:hover{border-color:var(--text-2)}
.mcard .ph{aspect-ratio:3/4;background:#3a3a3c;position:relative;overflow:hidden}
.mcard .ph img{position:absolute;inset:0;width:300%;height:100%;object-fit:cover;object-position:left center;max-width:none}
.mcard .ph .st{position:absolute;inset:0;display:grid;place-items:center;color:#ddd;font-size:12.5px;text-align:center;padding:10px}
.mcard .meta{padding:9px 11px;display:flex;flex-direction:column;gap:3px}
.mcard .meta b{font-size:14px}
.mcard .meta span{font-size:12px;color:var(--text-2);line-height:1.35}
.mcard .own{font-size:11.5px;font-weight:600;color:var(--accent,var(--acc))}
.model-empty{grid-column:1/-1;text-align:center;color:var(--text-2);padding:30px 10px;font-size:13.5px}
.model-view-card{width:min(1000px,100%)}
.mv-img{width:100%;border-radius:10px;background:#3a3a3c}
.mv-prompt{white-space:pre-wrap;font-size:12px;max-height:260px;overflow:auto;background:var(--border);padding:10px;border-radius:8px}
@keyframes pulse{50%{opacity:.45}}
.mcard.generating .ph .st{animation:pulse 1.6s infinite}
.btn.danger{color:#b3261e;border-color:rgba(179,38,30,.35)}

/* indossato: "creazione personaggio" */
.lib-hint{margin:-6px 0 12px}
.creator{display:grid;grid-template-columns:150px minmax(0,1fr) 300px;gap:14px;margin-bottom:16px}
.cr-title{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin-bottom:8px}
.cr-presets,.cr-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px}
.cr-model-list{display:flex;flex-direction:column;gap:8px}
.cr-model{position:relative;border:1.5px solid var(--border);border-radius:10px;overflow:hidden;aspect-ratio:3/4;background:#3a3a3c;cursor:pointer;padding:0}
.cr-model img{position:absolute;inset:0;width:300%;height:100%;object-fit:cover;object-position:left center;max-width:none}
.cr-model span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:12px;padding:14px 6px 5px;text-align:left}
.cr-model.active{border-color:var(--acc);box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.cr-stage{position:relative;border-radius:16px;overflow:hidden;background:radial-gradient(120% 90% at 50% 20%,#222222 0%,#111111 55%,#0a0a0a 100%);border:1px solid #1d1d1d;display:flex;flex-direction:column;min-height:560px}
.cr-stage-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#f2f2f2;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:13px;border-bottom:1px solid rgba(255,255,255,.18)}
.cr-stage-top .subtle{color:#9a9a9a;text-transform:none;letter-spacing:0;font-weight:400}
.cr-canvas{position:relative;flex:1;display:grid;place-items:center;padding:14px 56px}
.cr-canvas img{max-width:100%;max-height:62vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.cr-canvas img[src=""],.cr-canvas img:not([src]){display:none}
.cr-placeholder{color:#9a9a9a;text-align:center;font-size:14px;max-width:260px}
.cr-rot{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border-radius:10px;border:1px solid rgba(255,255,255,.4);background:rgba(10,10,10,.55);color:#f2f2f2;font-size:30px;line-height:1;cursor:pointer}
.cr-rot:hover{background:rgba(var(--acc-rgb),.45)}
.cr-rot.left{left:10px}.cr-rot.right{right:10px}
.cr-dots{display:flex;justify-content:center;gap:6px;padding:4px 0 8px}
.cr-dots i{width:26px;height:4px;border-radius:2px;background:rgba(255,255,255,.25)}
.cr-dots i.on{background:var(--acc)}
.cr-thumbs{display:flex;gap:6px;justify-content:center;padding:0 12px 12px;flex-wrap:wrap}
.cr-thumbs button{width:54px;aspect-ratio:4/5;border-radius:6px;border:1.5px solid rgba(255,255,255,.25);background:#0a0a0a center/cover no-repeat;cursor:pointer;color:#9a9a9a;font-size:9.5px;display:flex;align-items:flex-end;justify-content:center;padding:2px}
.cr-thumbs button.on{border-color:var(--acc)}
.cr-sec{border-top:1px solid var(--border);padding-top:10px;margin-top:10px}
.cr-sec:first-child{border-top:0;margin-top:0;padding-top:0}
.cr-slot{display:grid;grid-template-columns:46px 1fr;gap:8px;align-items:center;padding:6px 0}
.cr-slot .th{width:46px;aspect-ratio:4/5;border-radius:6px;border:1px dashed var(--border);background:var(--surface-2) center/cover no-repeat;cursor:pointer}
.cr-slot .nm{font-size:12.5px;line-height:1.3;min-width:0}
.cr-slot .nm b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.cr-slot .nm .lbl{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-slot .row2{grid-column:2;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cr-slot .row2 button,.cr-slot .row2 label{font-size:11.5px;padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:transparent;color:inherit;cursor:pointer}
.cr-slot .fit-on{border-color:var(--acc)!important;color:var(--acc)}
.cr-slot .fit-txt{color:var(--text-2);font-style:italic;line-height:1.35}
.cr-slot .fit-txt button{font-style:normal;padding:1px 6px!important}
.cr-stepper{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.cr-stepper button{height:34px;border:0;background:var(--surface-2);font-size:18px;cursor:pointer;color:inherit}
.cr-stepper span{text-align:center;font-size:13px;font-weight:600}
.cr-checks{display:flex;flex-direction:column;gap:5px;font-size:13px}
.cr-checks label{display:flex;gap:8px;align-items:center}
.cr-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.cr-history{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;padding:0 14px 14px}
.cr-history button{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);padding:0;cursor:pointer;text-align:left;color:inherit;font:inherit}
.cr-history .ph{aspect-ratio:4/5;background:#111111 center/cover no-repeat}
.cr-history .mt{padding:6px 8px;font-size:11.5px;color:var(--text-2)}
.card-head.pad{padding:14px 14px 8px}
.garment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.garment-grid button{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);padding:0;cursor:pointer;color:inherit;font:inherit;text-align:left}
.garment-grid .ph{aspect-ratio:4/5;background:#fff center/contain no-repeat}
.garment-grid .mt{padding:6px 8px;font-size:11.5px}
.garment-grid .mt b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){.creator{grid-template-columns:110px minmax(0,1fr)}.cr-panel{grid-column:1/-1}}
@media (max-width:700px){.creator{grid-template-columns:1fr}.cr-model-list{flex-direction:row;overflow-x:auto}.cr-model{width:84px;flex:0 0 auto}.cr-stage{min-height:440px}.cr-canvas{padding:10px 48px}}
.cr-checks input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:0;padding:0;accent-color:var(--acc)}
.cr-checks label{justify-content:flex-start;cursor:pointer}

.lib-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:-6px 0 12px;flex-wrap:wrap}
.mcard.single .ph img,.cr-model.single img{width:100%;object-position:center 12%}
.mcard.single .ph{background:#e9e9e6}

/* ruoli */
body.role-client .creator-only{display:none!important}
body:not(.role-client) .client-only{display:none!important}
#brandFixed{font-size:14px;padding:2px 4px}
.user-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--text-2);padding:2px 2px 8px}
.user-chip .small-btn{padding:3px 10px;font-size:12px}
/* login */
.login{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:radial-gradient(120% 90% at 50% 10%,#222222 0%,#111111 55%,#0a0a0a 100%)}
.login-card{width:min(360px,100%);background:var(--surface);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.login-card label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--text-2)}
.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.login-err{color:#b3261e;font-size:13px;min-height:1em;margin:0}
/* account */
.acc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
.acc-form label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--text-2)}
.acc-list{display:flex;flex-direction:column}
.acc-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid var(--border)}
.acc-row:first-child{border-top:0}
.acc-row b{font-size:14px}
.acc-row .role{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:5px;margin-left:8px}
.acc-row .role.role-creator{background:#1d1d1d;color:#fff}
.acc-row .role.role-client{background:var(--acc);color:#101820}
.acc-row .acts{display:flex;gap:6px}

/* logo */
.wm{display:block;height:15px;width:auto}
.login-logo .wm{height:22px}
.wm-light{display:none}
:root[data-theme="dark"] .wm-dark{display:none}:root[data-theme="dark"] .wm-light{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wm-dark{display:none}:root:not([data-theme="light"]) .wm-light{display:block}}
/* titoli nello stile del logo */
.page-header h1,.login-card h2{font-family:"Archivo Display",system-ui,sans-serif;font-stretch:125%;font-weight:850;letter-spacing:.01em;text-transform:uppercase}
.page-header h1{font-size:21px}
.cr-title,.cr-stage-top{font-family:"Archivo Display",system-ui,sans-serif;font-stretch:125%;font-weight:800}

/* account attivo + selettore cliente */
.acct{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}
.acct-av{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:#1d1d1d;letter-spacing:.02em}
.acct-txt{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.2}
.acct-txt b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-txt small{font-size:11.5px;color:var(--text-2)}
.acct .small-btn{padding:4px 10px;font-size:12px;flex:none}
.sw-label{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);flex:none}
.store-switch{min-width:0}
#brandFixed{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:900px){
  .main::before{height:108px}
  .main{padding-top:120px}
  .acct{position:fixed;top:8px;left:16px;right:16px;z-index:21;padding:4px 6px;border:none;background:transparent;box-shadow:none}
  .store-switch{top:58px;right:136px}
  .nav-foot{top:58px}
}

/* dentro l'admin Shopify: niente logout (entri con Shopify), niente logo doppio */
body.embedded #logoutBtn,body.embedded .nav-logo{display:none!important}
.via-app{padding:10px 12px;border-radius:10px;background:var(--accent-soft);font-size:13px;margin-bottom:10px}
.sh-access{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.sh-people-h{margin:8px 0 4px;font-weight:600}
.sh-person{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--border)}
.sh-person:first-of-type{border-top:none}
.sh-who{flex:1;min-width:0;display:flex;flex-direction:column}
.sh-who .small{overflow-wrap:anywhere}
.sh-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--bad)}
.sh-dot.ok{background:var(--ok)}
.sh-blocked{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}
.sh-blocked-card{max-width:420px;text-align:center;padding:28px 24px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.sh-blocked-card h2{margin:0 0 8px;font-size:18px}
.sh-blocked-card p{margin:0;color:var(--text-2)}

/* ================= TELEFONO v2 ================= */
.nav-more,.fab,#moreSheet{display:none}
button.acct-av{border:0;padding:0;cursor:default;font:inherit;font-size:12px;font-weight:700}
.sheet-acct .acct-av{width:40px;height:40px;font-size:14px}
@media (max-width:900px){
  /* header su una riga: account a sinistra, cliente a destra; rispetta il notch in modalità app */
  .main::before{height:calc(58px + env(safe-area-inset-top))}
  .main{padding-top:calc(72px + env(safe-area-inset-top));padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  .acct{top:calc(9px + env(safe-area-inset-top));left:12px;right:auto;max-width:46%;padding:0;gap:8px}
  .acct-txt b{font-size:13px}.acct-txt small{font-size:10.5px}
  button.acct-av{cursor:pointer;width:36px;height:36px}
  .acct #logoutBtn{display:none}
  .store-switch{top:calc(10px + env(safe-area-inset-top));left:auto;right:12px;width:50%;max-width:230px;padding:6px 10px}
  .sw-label{display:none}
  .nav-foot{display:none}
  .nav{padding-bottom:calc(6px + env(safe-area-inset-bottom))}
  /* barra in basso: 4 voci per il Creatore, il resto in "Altro" */
  .nav-more{display:flex}
  body:not(.role-creator) .nav-more{display:none}
  body.role-creator .nav-item[data-tab=models],body.role-creator .nav-item[data-tab=accounts],body.role-creator .nav-item[data-tab=kit]{display:none}
  .nav-item{min-height:50px}
  .nav-more svg{fill:currentColor;stroke:none}
  /* pulsante Scatta sempre a portata di pollice */
  body[data-tab=produce] .fab{display:grid}
  .fab{position:fixed;right:16px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:30;width:60px;height:60px;border-radius:50%;border:0;place-items:center;background:#1d1d1d;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.35);cursor:pointer}
  .fab svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.6}
  .fab:active{transform:scale(.94)}
  .cam-row #camOpen{display:none}
  /* statistiche in una striscia che scorre */
  .stats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 -16px;padding:0 16px 4px;-webkit-overflow-scrolling:touch}
  .stats .stat{flex:0 0 64%;scroll-snap-align:start}
  .stats-foot{flex:0 0 100%}
  /* revisione: Approva / Scarta fissi in basso, sopra la barra */
  body[data-tab=review] #decideRow{position:fixed;left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:25;margin:0;padding:8px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px rgba(0,0,0,.18)}
  body[data-tab=review] #decideRow .btn{min-height:46px;font-size:15px}
  body[data-tab=review] .main{padding-bottom:calc(170px + env(safe-area-inset-bottom))}
  body[data-tab=review] kbd{display:none}
  /* finestre come pannelli dal basso, a tutta larghezza */
  .modal{place-items:end center;padding:0}
  .modal-card{width:100%;max-height:92vh;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .modal-foot{position:sticky;bottom:0;background:inherit}
  .modal-foot .btn{min-height:46px;flex:1}
  /* menu "Altro" */
  #moreSheet:not(.hidden){display:grid}
  .sheet{padding:8px 16px calc(16px + env(safe-area-inset-bottom));gap:10px;display:flex;flex-direction:column}
  .sheet-grip{width:40px;height:5px;border-radius:3px;background:var(--border);margin:4px auto 6px}
  .sheet-acct{display:flex;align-items:center;gap:12px;padding:6px 2px 10px;border-bottom:1px solid var(--border)}
  .sheet-list{display:flex;flex-direction:column}
  .sheet-item{display:flex;align-items:center;gap:14px;padding:14px 4px;border:0;border-bottom:1px solid var(--border);background:none;color:inherit;font:inherit;font-size:16px;text-align:left;cursor:pointer}
  .sheet-item svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
  .sheet-row{display:flex;justify-content:space-between;align-items:center;padding:8px 4px}
  .sheet-logout{min-height:46px}
  .sheet-install:empty{display:none}
  .sheet-install .btn{width:100%;min-height:46px}
}
/* dentro Shopify: il cliente entra dall'admin, niente menu account */
body.embedded .sheet-logout{display:none}
.store-switch{overflow:hidden}
.store-switch select{min-width:0;flex:1 1 auto;text-overflow:ellipsis}
@media (max-width:900px){ html,body{overflow-x:hidden} .nav-items{min-width:0} .nav-item{min-width:0;flex:1 1 0} }
@media (max-width:900px){
  .frame{grid-template-columns:minmax(0,1fr)}
  .main,.tab{min-width:0;max-width:100vw}
  .stats{margin:0 -16px;width:calc(100% + 32px)}
  .stats .stat{min-width:0}
}
@media (max-width:900px){
  /* il blur della card intrappola position:fixed: lo togliamo dove sta la barra decisioni */
  body[data-tab=review] #tab-review .card:has(#decideRow){backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* nuovo prodotto: pezzi per taglia */
.qty-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.qty-all{display:flex;gap:6px;align-items:center}
.qty-all input{width:80px}
.qty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}
.qty{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600}
.qty span{text-align:center}
.qty input{text-align:center;width:100%;min-width:0}

/* accessori */
.pres-refs{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.pres-refs:empty{display:none}
.pres-ref{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--border);aspect-ratio:1;background:var(--surface-2,#f4f4f2)}
.pres-ref img{width:100%;height:100%;object-fit:cover;display:block}
.pres-ref button{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;font-size:15px;line-height:1}
.check{display:flex;gap:8px;align-items:flex-start;font-size:13px}
.check input{margin-top:2px}
.warn{color:#9a5b00}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}
.ck{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:baseline;padding:6px 8px;border-radius:8px;border:1px solid var(--border);font-size:12px}
.ck b{font-size:10.5px;letter-spacing:.04em}
.ck small{flex-basis:100%;color:var(--muted,#667);font-size:11px}
.ck.ok b{color:#2f7d4f}.ck.ko{border-color:#d9534f55;background:#d9534f0d}.ck.ko b{color:#c0392b}.ck.na b{color:#889}
.chip.risk{font-weight:700}

/* versetto del giorno */
.verse{position:relative;margin:0 0 18px;padding:16px 44px 14px 18px;border-radius:16px;border:1px solid var(--border);background:var(--surface);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.verse-kicker{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#6b7572);margin-bottom:6px}
.verse blockquote{margin:0 0 8px;font-size:15.5px;line-height:1.5;font-style:italic}
.verse figcaption{font-size:12.5px}
.verse-x{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:none;color:var(--muted,#6b7572);font-size:18px;cursor:pointer}
.verse-x:hover{background:var(--surface-2,rgba(0,0,0,.05))}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;cursor:pointer}
.switch-row input{appearance:none;-webkit-appearance:none;width:36px;height:21px;border-radius:21px;background:var(--border);position:relative;cursor:pointer;flex:none;transition:background .15s}
.switch-row input::after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.switch-row input:checked{background:#1d1d1d}
.switch-row input:checked::after{transform:translateX(15px)}
.sheet-row.switch-row{font-size:inherit}

.switch-row input[type=checkbox]{padding:0;margin:0;border:0;width:36px;height:21px;min-width:36px;min-height:0;box-shadow:none;border-radius:21px;outline-offset:2px}
.nav-foot .switch-row{padding:4px 2px}

/* indossato: capo caricato a mano */
.gm-upload{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px dashed var(--border);border-radius:12px;margin-bottom:14px}
.gm-up-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gm-up-row input{flex:1 1 160px;min-width:0}
.gm-up-prev{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.gm-up-prev:empty{display:none}
.chip.ext{font-size:10.5px;padding:1px 6px}

.th-pair{display:flex;gap:6px}
.cr-slot .th{position:relative}
.cr-slot .th em{position:absolute;left:3px;bottom:3px;font-style:normal;font-size:9.5px;font-weight:700;padding:1px 5px;border-radius:6px;background:rgba(255,255,255,.88);color:#1d2826}
.cr-slot .th.back.empty{background:none;border-style:dashed}
.cr-slot .th.back.empty em{position:static;background:none;color:var(--muted,#6b7572)}
.cr-slot .th.back.empty{display:grid;place-items:center}
.cr-slot{grid-template-columns:auto 1fr}
.cr-slot .row2{grid-column:1 / -1}
.th-pair{align-items:flex-start}
.th-pair .th{flex:none;height:auto}
.cr-slot .th.back.empty{display:grid;place-items:center;padding:0}
.cr-slot .th.back.empty em{white-space:nowrap;font-size:9px;padding:0}

/* indossato: generazione in corso */
.cr-canvas{position:relative}
.cr-canvas.busy #crImg{filter:blur(14px) saturate(.8);transform:scale(1.03);transition:filter .4s,transform .4s}
.cr-canvas #crImg{transition:filter .4s,transform .4s}
.cr-busy{position:absolute;inset:0;display:grid;place-items:center;z-index:3;background:rgba(10,10,10,.28)}
.cr-busy-box{width:min(78%,320px);text-align:center;color:#eef4f3}
.cr-busy-pct{font-family:"Archivo Display",system-ui,sans-serif;font-stretch:125%;font-weight:800;font-size:44px;letter-spacing:.02em;line-height:1;margin-bottom:12px;font-variant-numeric:tabular-nums}
.cr-busy-bar{height:6px;border-radius:6px;background:rgba(255,255,255,.18);overflow:hidden}
.cr-busy-bar i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,var(--acc),#f2f2f2);transition:width .25s linear;position:relative}
.cr-busy-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:busyShine 1.4s linear infinite}
@keyframes busyShine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.cr-busy-step{margin-top:12px;font-size:13px;font-weight:600}
.cr-busy-eta{margin-top:4px;font-size:12px;color:#9a9a9a}
@media (prefers-reduced-motion:reduce){.cr-busy-bar i::after{animation:none}}

.cr-err{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;width:min(84%,360px);display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:14px;background:rgba(20,10,10,.82);border:1px solid rgba(217,83,79,.6);color:#f6e9e8;text-align:center;font-size:13.5px}
.cr-err b{color:#ff9d97;font-size:14px}
.cr-err small{color:#c9b6b4}
.err-txt{color:#c0392b;font-weight:600}
.cr-canvas.busy .cr-rot{opacity:.15;pointer-events:none}

/* indossato: consegna */
.cr-dl-views{display:flex;flex-wrap:wrap;gap:6px}
.cr-dl-views label{display:flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--border);border-radius:8px;font-size:12.5px;cursor:pointer}
.cr-dl-views label.on{border-color:var(--acc);background:rgba(var(--acc-rgb),.08)}
.cr-dl-views label small{color:var(--text-2);font-size:10.5px}
.cr-dl-views input{margin:0}
.cr-dl-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.cr-dl-row select{flex:1 1 130px;min-width:0}
.btn.suggest{justify-content:flex-start;text-align:left;white-space:normal}
.btn.suggest small{color:var(--text-2);margin-left:6px}
.cr-newprod summary{cursor:pointer;font-size:13px;padding:6px 0;color:var(--text-2)}

/* template di forma */
.tpl-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.tpl-list:empty{display:none}
.tpl{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:12px}
.tpl-imgs{display:flex;gap:6px}
.tpl-imgs img{width:64px;height:80px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid var(--border)}
.tpl-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.tpl-chips{display:flex;flex-wrap:wrap;gap:4px}
.tpl-cats{display:flex;flex-wrap:wrap;gap:6px}
.tpl-cats label{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;font-size:12.5px;cursor:pointer}
.tpl-cats input{margin:0}
.tpl-file{align-self:end}
.up-tpl{margin-top:10px}
.tpl-cats input,.cr-dl-views input{width:auto;min-width:0;height:auto;padding:0;flex:none}
.tpl-cats label{white-space:nowrap}

.tpl-name{font-weight:600;padding:4px 8px;min-width:0}
.tpl-chips .chip{cursor:pointer;border:1px solid var(--border);background:var(--surface-2,#f4f4f2);font:inherit;font-size:12px}
.tpl-addcat{font-size:12px;padding:3px 6px;width:auto;min-width:0;max-width:100%}
.tpl-opts{display:grid;grid-template-columns:1fr;gap:6px}
.tpl-bg{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.tpl-bg .btn{white-space:normal;max-width:100%;text-align:left}
.tpl-bg .chip i{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--border);margin-right:5px;vertical-align:-2px}
.tpl-opts label{display:flex;flex-direction:column;align-items:stretch;gap:2px;font-size:11.5px;color:var(--text-2);min-width:0}
.tpl-opts select{font-size:12px;padding:4px 6px;width:100%;min-width:0;max-width:100%;height:auto}

/* =====================================================================
   UI v3 — stile "app": fondo nero profondo con bagliore salvia, card in vetro,
   pulsanti e controlli a pillola, titoli grandi, barra flottante su telefono.
   Scuro di default (il chiaro resta disponibile dal selettore del tema).
   ===================================================================== */
:root{--r-card:22px;--r:14px;--pill:999px}
:root[data-theme="dark"]{
  --bg:#000000; --surface:rgba(255,255,255,.045); --surface-2:rgba(255,255,255,.035); --surface-hover:rgba(255,255,255,.075);
  --border:rgba(255,255,255,.08); --border-strong:rgba(255,255,255,.14);
  --text:#f5f5f5; --text-2:#8e8e8e; --accent:var(--acc); --accent-text:#04100F; --accent-soft:rgba(var(--acc-rgb),.16); --focus:var(--acc);
  --nav-bg:rgba(12,12,12,.55); --nav-solid:rgba(10,10,10,.72);
  --btn-primary:linear-gradient(135deg,var(--acc) 0%,var(--acc) 42%,var(--acc) 100%); --btn-primary-text:#03100E;
  --btn-primary-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 28px rgba(var(--acc-rgb),.38);
  --btn-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  --card-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 20px 50px rgba(0,0,0,.45);
  --glow-a:rgba(var(--acc-rgb),.55); --glow-b:rgba(var(--acc-rgb),.28); --glow-c:rgba(43,71,72,.55);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#000000; --surface:rgba(255,255,255,.045); --surface-2:rgba(255,255,255,.035); --surface-hover:rgba(255,255,255,.075);
  --border:rgba(255,255,255,.08); --border-strong:rgba(255,255,255,.14);
  --text:#f5f5f5; --text-2:#8e8e8e; --accent:var(--acc); --accent-text:#04100F; --accent-soft:rgba(var(--acc-rgb),.16); --focus:var(--acc);
  --nav-bg:rgba(12,12,12,.55); --nav-solid:rgba(10,10,10,.72);
  --btn-primary:linear-gradient(135deg,var(--acc) 0%,var(--acc) 42%,var(--acc) 100%); --btn-primary-text:#03100E;
  --btn-primary-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 28px rgba(var(--acc-rgb),.38);
  --btn-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  --card-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 20px 50px rgba(0,0,0,.45);
  --glow-a:rgba(var(--acc-rgb),.55); --glow-b:rgba(var(--acc-rgb),.28); --glow-c:rgba(43,71,72,.55);
}}
body{font-size:14px;letter-spacing:-.005em}

/* bagliore di sfondo, come le reference: luce salvia in alto che sfuma nel nero */
.glow{background:
  radial-gradient(75% 42% at 22% -6%, var(--glow-a), transparent 72%),
  radial-gradient(45% 30% at 95% 4%, var(--glow-b), transparent 70%),
  radial-gradient(70% 40% at 50% 112%, var(--glow-c), transparent 72%)}

/* titoli grandi e puliti */
.page-header{margin-bottom:22px}
.page-header h1,.login-card h2{font-family:"Archivo Display",system-ui,sans-serif;font-stretch:100%;font-weight:750;text-transform:none;letter-spacing:-.025em}
.page-header h1{font-size:34px;line-height:1.08}
.page-header .subtle{font-size:15px;margin-top:6px;max-width:560px}
.card-title{font-size:15.5px;font-weight:650;letter-spacing:-.01em}
.sub-title{letter-spacing:.08em;font-size:11px}

/* card in vetro */
.card{border-radius:var(--r-card);padding:20px;gap:14px;backdrop-filter:blur(22px) saturate(1.15);-webkit-backdrop-filter:blur(22px) saturate(1.15)}
.card.flush{padding:0}
.card-tabs{padding:10px 12px}

/* pulsanti a pillola */
.btn{border-radius:var(--pill);min-height:40px;padding:8px 18px;font-weight:600;letter-spacing:-.005em}
.btn.icon{width:40px;height:40px;border-radius:50%}
.btn.primary{font-weight:650}
.btn.premium{border-radius:var(--pill)}

/* campi */
input,select,textarea{border-radius:14px;min-height:42px;padding:9px 14px;background:var(--surface-2);border-color:var(--border-strong)}
textarea{border-radius:16px}
.search input{border-radius:var(--pill);padding-left:38px}
.search svg{left:14px}

/* controlli a segmenti come il selettore "Premium / infinity" */
.seg{border-radius:var(--pill);padding:3px;gap:2px;border-color:var(--border-strong);background:var(--surface-2)}
.seg button{border:none!important;border-radius:var(--pill);padding:8px 16px}
.seg button.active{background:var(--btn-primary);color:var(--btn-primary-text);box-shadow:var(--btn-primary-shadow)}
.card-tabs button{border-radius:var(--pill);padding:8px 14px}
.card-tabs button.active{background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--border-strong)}
.chip,.badge,.st{padding:3px 11px}

/* navigazione laterale (computer) */
.nav{background:var(--nav-bg);border-right:1px solid var(--border);padding:20px 14px}
.nav-item{border-radius:var(--pill);padding:9px 14px}
.nav-item.active{background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--border-strong)}
.nav-item.active svg{color:var(--sage-300)}
.store-switch,.theme-toggle{border-radius:var(--pill)}
.theme-toggle button{border-radius:var(--pill)}

/* lista lavori, zona di caricamento, statistiche */
.job{border-radius:18px}
.job .thumb img.raw{border-radius:10px}
.drop{border-radius:22px;padding:40px 18px;border-color:var(--border-strong)}
.drop-icon{width:52px;height:52px;background:var(--accent-soft);color:var(--sage-300)}
.stat{border-radius:var(--r-card)!important}
.compare figure{border-radius:18px}
.verse{border-radius:var(--r-card);background:var(--surface);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.verse blockquote{font-size:17px}

/* finestre e toast */
.modal-card{border-radius:26px}
:root[data-theme="dark"] .modal-card{background:rgba(16,16,16,.92);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .modal-card{background:rgba(16,16,16,.92);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}}
.toast{border-radius:var(--pill);background:rgba(18,18,18,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(255,255,255,.12);padding:12px 20px}

/* accesso */
.login{background:#000000}
.login::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 45% at 30% 0%,rgba(var(--acc-rgb),.55),transparent 70%),radial-gradient(60% 40% at 80% 100%,rgba(43,71,72,.6),transparent 70%)}
.login-card{position:relative;border-radius:28px;padding:32px 28px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#f5f5f5}
.login-card input{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);color:#f5f5f5}
.login-card .btn.primary{min-height:48px;font-size:15px}

/* ---------- telefono ---------- */
@media (max-width:900px){
  .page-header h1{font-size:30px}
  .page-header .subtle{font-size:14.5px}
  .card{padding:18px;border-radius:24px}
  .main::before{background:linear-gradient(180deg,rgba(5,8,7,.92),rgba(5,8,7,.55) 70%,transparent);border-bottom:none;height:calc(70px + env(safe-area-inset-top))}
  :root[data-theme="light"] .main::before{background:linear-gradient(180deg,rgba(242,244,244,.95),rgba(242,244,244,.6) 70%,transparent)}
  /* barra in basso flottante, come la reference */
  /* il vetro sta su un livello a parte: un backdrop-filter sulla barra sposterebbe account e cliente (sono suoi figli fissi) */
  .nav{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));padding:6px;border-radius:30px;border:1px solid var(--border-strong);border-top:1px solid var(--border-strong);
       background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 18px 40px rgba(0,0,0,.45)}
  .nav::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:linear-gradient(180deg,#1a1a1a,#0c0c0c);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3)}
  :root[data-theme="light"] .nav{box-shadow:0 12px 30px rgba(14,24,23,.15)}
  :root[data-theme="light"] .nav::before{background:#fff}
  .nav-item{border-radius:24px;min-height:54px;padding:6px 4px;font-size:10.5px;font-weight:600}
  .nav-item.active{background:var(--btn-primary);color:var(--btn-primary-text);box-shadow:var(--btn-primary-shadow)}
  .nav-item.active svg{color:var(--btn-primary-text)}
  .main{padding-bottom:calc(118px + env(safe-area-inset-bottom))}
  .fab{bottom:calc(92px + env(safe-area-inset-bottom));width:62px;height:62px;background:var(--btn-primary);box-shadow:var(--btn-primary-shadow)}
  .fab svg{stroke:var(--btn-primary-text)}
  body[data-tab=review] #decideRow{bottom:calc(88px + env(safe-area-inset-bottom));border-radius:26px;background:linear-gradient(180deg,#1a1a1a,#0c0c0c);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
  :root[data-theme="light"] body[data-tab=review] #decideRow{background:#fff}
  .store-switch{border-radius:var(--pill);background:var(--surface);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .modal-card{border-radius:28px 28px 0 0}
  .stats .stat{flex-basis:70%}
}

@media (max-width:900px){
  .toast{bottom:calc(104px + env(safe-area-inset-bottom));max-width:calc(100% - 40px);white-space:normal;text-align:center}
  body[data-tab=review] .toast{bottom:calc(178px + env(safe-area-inset-bottom))}
}

/* =====================================================================
   UI v4 — Home con intestazione a gradiente (salvia → lavanda) come la reference,
   meno elementi a schermo, animazioni in stile "motion" del video di riferimento.
   ===================================================================== */
:root{--ease:cubic-bezier(.2,.8,.2,1);--ease-out:cubic-bezier(.16,1,.3,1)}

/* ---- intestazione della Home ---- */
.produce-header{display:none}
.hero{position:relative;overflow:hidden;border-radius:30px;padding:26px 24px 20px;margin-bottom:18px;color:#fff;isolation:isolate;
  background:linear-gradient(135deg,#5E8E8F 0%,#7E9FB3 38%,#9A97C8 72%,#A9A2CF 100%);background-size:180% 180%;
  animation:heroShift 14s ease-in-out infinite alternate;box-shadow:0 24px 60px rgba(var(--acc-rgb),.25)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 85% 0%,rgba(255,255,255,.22),transparent 70%),radial-gradient(50% 60% at 0% 100%,rgba(14,24,23,.25),transparent 70%)}
@keyframes heroShift{from{background-position:0% 40%}to{background-position:100% 60%}}
.hero-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.78);text-transform:capitalize}
.hero-tag{padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-transform:none}
.hero-tag:empty{display:none}
.hero-title{margin:18px 0 6px;font-family:"Archivo Display",system-ui,sans-serif;font-weight:750;letter-spacing:-.035em;font-size:40px;line-height:1.02;display:flex;flex-direction:column}
.hero-title .dim{color:rgba(255,255,255,.62)}
.hero-verse{position:relative;margin:16px 0 4px;padding:16px 44px 14px 16px;border-radius:22px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hero-verse .verse-kicker{color:rgba(255,255,255,.75);margin-bottom:8px}
.hero-verse blockquote{margin:0 0 10px;font-size:18px;line-height:1.42;font-weight:500;letter-spacing:-.01em;font-style:normal;color:#fff}
.hero-verse figcaption{font-size:12.5px;color:rgba(255,255,255,.78)}
.hero-verse figcaption b{color:#fff}
.hero-verse .verse-x{color:rgba(255,255,255,.8)}
.hero-verse .verse-x:hover{background:rgba(255,255,255,.15)}
.hero-clients{display:flex;gap:14px;overflow-x:auto;margin:18px -24px 0;padding:4px 24px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hero-clients::-webkit-scrollbar{display:none}
.hc{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;color:#fff;cursor:pointer;padding:0;font:inherit}
.hc-av{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:18px;letter-spacing:.02em;color:#fff;
  background:linear-gradient(145deg,hsl(var(--h,180) 30% 34%),hsl(calc(var(--h,180) + 40) 35% 22%));box-shadow:0 0 0 3px rgba(255,255,255,.35),0 8px 20px rgba(0,0,0,.2);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.hc.on .hc-av{box-shadow:0 0 0 3px #fff,0 10px 26px rgba(0,0,0,.28);transform:scale(1.04)}
.hc.add .hc-av{background:rgba(255,255,255,.12);box-shadow:none;border:1.5px dashed rgba(255,255,255,.75);font-weight:300;font-size:26px}
.hc-name{font-size:12px;font-weight:600;max-width:72px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgba(255,255,255,.88)}
.hc:active .hc-av{transform:scale(.94)}
.hero:has(#verseCard.hidden) .hero-title{margin-bottom:0}
@media (min-width:901px){.hero{padding:30px 32px 24px}.hero-title{font-size:44px;flex-direction:row;gap:12px}.hero-clients{margin:20px -32px 0;padding:4px 32px 6px}.hero-verse{max-width:760px}}

/* ---- meno confusione ---- */
.card-tabs .bulk{margin-left:auto}
@media (max-width:900px){
  .page-header .subtle{display:none}
  .page-header{margin-bottom:16px}
  #produceBody{display:flex;flex-direction:column}
  #produceBody > .stats{order:3;margin-top:4px}
  #produceBody > .card:not(.flush){order:1}
  #produceBody > .card.flush{order:2}
  #produceBody > .card:not(.flush) .card-foot{display:none}
  #produceBody > .card:not(.flush){padding:12px}
  .drop{flex-direction:row;justify-content:center;padding:16px;border-radius:20px;gap:12px}
  .drop .subtle{display:none}
  .drop-icon{width:40px;height:40px}
  .cam-row{display:none}
  .card-tabs .bulk{display:none}
  .stats-foot{display:none!important}
  .hero{padding:20px 20px 16px;border-radius:28px}
  .hero-title{font-size:32px;margin:12px 0 4px}
  .hero-verse{padding:13px 40px 12px 14px;margin-top:12px}
  .hero-verse blockquote{font-size:15.5px;line-height:1.4;margin-bottom:8px}
  .hero-clients{margin:14px -20px 0;padding:4px 20px 4px;gap:12px}
  .hc-av{width:52px;height:52px;font-size:16px}
  .hc.add .hc-av{font-size:22px}
  .hc-name{font-size:11.5px}
  /* il pulsante foto fluttua a destra: la riga upload gli lascia spazio */
  body[data-tab=produce] #produceBody > .card:not(.flush) .drop{justify-content:flex-start;padding-right:84px}
}

/* ---- animazioni ---- */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes wordIn{from{opacity:0;transform:translateY(8px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(var(--acc-rgb),.5)}100%{box-shadow:0 0 0 14px rgba(var(--acc-rgb),0)}}

@media (prefers-reduced-motion:no-preference){
  /* entrata a cascata dei blocchi di ogni pagina */
  .tab.active > *,#produceBody > *{animation:rise .6s var(--ease-out) backwards}
  .tab.active > *:nth-child(2),#produceBody > *:nth-child(2){animation-delay:.06s}
  .tab.active > *:nth-child(3),#produceBody > *:nth-child(3){animation-delay:.12s}
  .tab.active > *:nth-child(4),#produceBody > *:nth-child(4){animation-delay:.18s}
  .tab.active > *:nth-child(n+5){animation-delay:.24s}
  /* intestazione: titolo e parole del versetto che entrano una dopo l'altra */
  .hero-title span{display:block;animation:rise .7s var(--ease-out) backwards}
  .hero-title span + span{animation-delay:.08s}
  .hero-verse blockquote .w{display:inline-block;animation:wordIn .55s var(--ease-out) backwards;animation-delay:calc(.25s + var(--i) * 28ms)}
  .hc{animation:rise .55s var(--ease-out) backwards}
  .hc:nth-child(2){animation-delay:.05s}.hc:nth-child(3){animation-delay:.1s}.hc:nth-child(4){animation-delay:.15s}.hc:nth-child(n+5){animation-delay:.2s}
  /* card dei lavori a cascata */
  .grid.intro .job{animation:rise .5s var(--ease-out) backwards}
  .grid.intro .job:nth-child(2){animation-delay:.04s}.grid.intro .job:nth-child(3){animation-delay:.08s}.grid.intro .job:nth-child(4){animation-delay:.12s}
  .grid.intro .job:nth-child(5){animation-delay:.16s}.grid.intro .job:nth-child(6){animation-delay:.2s}.grid.intro .job:nth-child(n+7){animation-delay:.24s}
  .job{transition:transform .35s var(--ease),border-color .2s}
  .job:active{transform:scale(.97)}
  /* foto che si rivela con una tendina (revisione) */
  #rvResult.reveal{animation:wipe .9s var(--ease-out) both}
  .job .thumb img{animation:fadeIn .5s ease backwards}
  /* pannelli e finestre */
  .modal:not(.hidden) .modal-card{animation:pop .4s var(--ease-out) backwards}
  .toast.show{transition:opacity .25s,transform .45s var(--ease-out)}
  /* pulsanti e barra */
  .btn{transition:transform .2s var(--ease),filter .2s,background .2s}
  .btn:active{transform:scale(.96)}
  .nav-item{transition:background .35s var(--ease),color .25s,box-shadow .35s,transform .2s var(--ease)}
  .nav-item:active{transform:scale(.94)}
  .seg button{transition:background .3s var(--ease),color .2s,box-shadow .3s}
  .fab{animation:pop .5s .3s var(--ease-out) backwards,pulseRing 2.4s 1.2s ease-out 2}
  .stat{animation:rise .6s var(--ease-out) backwards}
  .stat:nth-child(2){animation-delay:.06s}.stat:nth-child(3){animation-delay:.12s}.stat:nth-child(4){animation-delay:.18s}
  #crImg{transition:filter .5s var(--ease),transform .5s var(--ease),opacity .4s}
}
@media (prefers-reduced-motion:no-preference) and (max-width:900px){
  .modal:not(.hidden) .modal-card{animation:sheetUp .45s var(--ease-out) both}
}
/* anche su desktop: prima si carica, poi lavori in corso, poi i numeri */
#produceBody{display:flex;flex-direction:column}
#produceBody > .card:not(.flush){order:1}
#produceBody > .card.flush{order:2}
#produceBody > .stats{order:3}
#produceBody > *:not(.stats):not(.card){order:4}

/* =====================================================================
   UI v5 — Home compatta: hero piccolo, numeri a pillole, su telefono si carica solo dal pulsante foto
   ===================================================================== */
.hero{padding:16px 18px 14px;border-radius:24px;margin-bottom:14px}
.hero-top{font-size:11.5px}
.hero-tag{padding:3px 10px}
.hero-title{font-size:24px;margin:8px 0 0;flex-direction:row;flex-wrap:wrap;gap:0 8px;letter-spacing:-.03em}
.hero-verse{margin:10px 0 0;padding:10px 34px 9px 12px;border-radius:16px}
.hero-verse .verse-kicker{font-size:9.5px;margin-bottom:4px}
.hero-verse blockquote{font-size:13.5px;line-height:1.4;margin:0 0 5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.hero-verse.open blockquote{-webkit-line-clamp:unset;display:block}
.hero-verse figcaption{font-size:11px}
.hero-verse .verse-x{top:6px;right:6px;width:26px;height:26px}
.hero-clients{margin:10px -18px 0;padding:2px 18px 2px;gap:10px}
.hc{gap:4px}
.hc-av{width:40px;height:40px;font-size:13px}
.hc.on .hc-av{box-shadow:0 0 0 2px #fff,0 6px 16px rgba(0,0,0,.25);transform:none}
.hc.add .hc-av{font-size:18px}
.hc-name{font-size:10.5px;max-width:56px}
@media (min-width:901px){.hero{padding:18px 24px 16px}.hero-title{font-size:28px}.hero-clients{margin:12px -24px 0;padding:2px 24px}.hero-verse{max-width:680px}}
@media (max-width:900px){
  .hero{padding:14px 16px 12px;border-radius:22px}
  .hero-title{font-size:22px;margin-top:6px}
  .hero-verse{padding:9px 32px 8px 11px;margin-top:9px}
  .hero-verse blockquote{font-size:13px;margin-bottom:4px}
  .hero-clients{margin:9px -16px 0;padding:2px 16px;gap:10px}
  .hc-av{width:38px;height:38px}
}

/* numeri: pillole piccole in fila */
.stats{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 14px;padding:2px 0;grid-template-columns:none}
.stats::-webkit-scrollbar{display:none}
.stat{flex:none;flex-direction:row;align-items:baseline;gap:7px;padding:8px 14px;border-radius:999px;min-height:0}
.stat .stat-label{font-size:11.5px;order:2;white-space:nowrap}
.stat .stat-value{font-size:15px;font-weight:700;order:1;letter-spacing:-.01em}
.stat .stat-sub{display:none}
.stats-foot{display:none!important}
#produceBody > .card:not(.flush){order:1}
#produceBody > .stats{order:2}
#produceBody > .card.flush{order:3}

/* filtri lavori a pillole piccole */
.card-tabs button{padding:6px 13px;font-size:12.5px;border-radius:999px}

@media (max-width:900px){
  /* il pulsante foto fa tutto (scatta + galleria): la card di caricamento sparisce */
  body #produceBody > .card:not(.flush){display:none}
  body[data-tab=produce] #produceBody > .card:not(.flush) .drop{padding-right:16px}
  .card.flush .card-tabs{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
  .card.flush .card-tabs::-webkit-scrollbar{display:none}
}
.stats .stat{flex:none!important;border-radius:999px!important;padding:7px 13px;box-shadow:none}
.stats .stat .stat-label{font-size:11.5px}
.stats .stat .stat-value{font-size:14.5px}
@media (max-width:900px){.stats{margin:0 -16px 12px;width:auto;padding:2px 16px}}
.hero-tag{display:none}
@media (max-width:900px){
  .hero-top{display:none}
  .hero-title{margin-top:0;font-size:21px}
  .hero-verse .verse-kicker{display:none}
  .hero-verse{padding:8px 30px 7px 11px}
  .hero-verse blockquote{-webkit-line-clamp:2;font-size:12.8px}
  .hero-verse .verse-x{top:3px;right:3px}
  .hc-av{width:34px;height:34px;font-size:12px}
  .hc-name{font-size:10px}
}

/* =====================================================================
   UI v6 — Brand Kit a schede con righe riassuntive · Indossato in 3 passi
   ===================================================================== */
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pills > button,.pills > label{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .2s,color .2s,transform .12s;white-space:nowrap}
.pills > .on{background:var(--btn-primary);color:var(--btn-primary-text);border-color:transparent;box-shadow:var(--btn-primary-shadow)}
.pills > button:active,.pills > label:active{transform:scale(.96)}

/* ---- Brand Kit ---- */
.kit-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 16px}
.kit-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.kit-tabs::-webkit-scrollbar{display:none}
.kit-saved{font-size:12px;color:var(--text-2);white-space:nowrap}
.kit-saved.ok{color:var(--sage-300,var(--acc))}
#kitSave.auto{display:none}
#kitForm[data-group] .annotated[data-group],#kitForm[data-group] .danger-zone{display:none}
#kitForm[data-group=stile] [data-group=stile],#kitForm[data-group=produzione] [data-group=produzione],#kitForm[data-group=consegna] [data-group=consegna],#kitForm[data-group=shopify] [data-group=shopify],#kitForm[data-group=avanzate] [data-group=avanzate]{display:grid}
#kitForm[data-group=shopify] .danger-zone[data-group=shopify]{display:block}
#kitForm .annotated.hidden{display:none!important}
.kit-row{display:none}
.kit-sheet .modal-body > .card{background:none;border:0;box-shadow:none;padding:0;margin:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.kit-sheet .modal-foot{justify-content:space-between;align-items:center}
@media (min-width:901px){#kitForm:not([data-group=stile]) .layout-side{visibility:hidden}}
@media (max-width:900px){
  .kit-bar{position:sticky;top:58px;z-index:15;margin:0 -16px 12px;padding:8px 16px;background:linear-gradient(180deg,var(--bg,#000000) 70%,transparent)}
  #kitForm .page-header{margin-bottom:8px}
  #kitForm .layout{display:flex;flex-direction:column;gap:0}
  #kitForm .layout-main{display:flex;flex-direction:column;gap:8px}
  #kitForm[data-group] .annotated[data-group]{display:none}
  #kitForm[data-group=stile] .annotated[data-group=stile],#kitForm[data-group=produzione] .annotated[data-group=produzione],#kitForm[data-group=consegna] .annotated[data-group=consegna],#kitForm[data-group=shopify] .annotated[data-group=shopify],#kitForm[data-group=avanzate] .annotated[data-group=avanzate]{display:block}
  #kitForm .annotated{margin:0}
  #kitForm .annotated > .ann,#kitForm .annotated > .card{display:none}
  .kit-row{display:flex;align-items:center;gap:10px;width:100%;padding:15px 16px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform .12s,background .2s}
  .kit-row:active{transform:scale(.985);background:var(--surface-2)}
  .kr-t{font-weight:650;font-size:14.5px;flex:none}
  .kr-v{flex:1;min-width:0;text-align:right;font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;justify-content:flex-end;align-items:center;gap:6px}
  .kr-v .dot{width:14px;height:14px;border-radius:50%;border:1px solid var(--border-strong);flex:none}
  .kit-row svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--text-2);stroke-width:1.8}
  /* anteprima dal vivo fissa in alto (solo scheda Stile), resta visibile sopra il foglio */
  #kitForm .layout-side{order:-1;display:none;position:sticky;top:112px;z-index:75;margin-bottom:10px}
  #kitForm[data-group=stile] .layout-side{display:block}
  #kitForm .layout-side .card{flex-direction:row;align-items:center;gap:12px;padding:10px 12px;margin:0;border-radius:20px;background:rgba(18,18,18,.92)}
  #kitForm .layout-side .card-title{display:none}
  #kitForm .layout-side .preview{width:64px;height:auto;border-radius:10px;flex:none;margin:0}
  #kitForm .layout-side p{margin:0;font-size:12px}
  #kitForm .layout-side p::before{content:"Anteprima dal vivo";display:block;font-weight:700;color:var(--text);font-size:13px;margin-bottom:2px}
  .kit-sheet{background:rgba(0,0,0,.35);backdrop-filter:none;-webkit-backdrop-filter:none}
  .kit-sheet .modal-card{max-height:64vh}
  .danger-zone{margin-top:14px}
}

/* ---- Indossato ---- */
.wz-steps{display:flex;gap:6px;margin:0 0 14px}
.wz-steps button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font:inherit;font-size:12.5px;font-weight:650;cursor:pointer;transition:background .25s,color .25s;min-width:0}
.wz-steps button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wz-steps i{font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:var(--surface-2);flex:none}
.wz-steps .on{background:var(--btn-primary);color:var(--btn-primary-text);border-color:transparent}
.wz-steps .on i{background:rgba(0,0,0,.18)}
.wz-steps .done{color:var(--text)}
.wz-steps .done i{background:rgba(var(--acc-rgb),.25);color:var(--sage-300,var(--acc))}
.wz-next{display:none}
.cr-deliver-open{margin:0 12px 12px}
@media (min-width:901px){.cr-deliver-open{display:none!important}}

/* modelli a cerchio (inquadra il viso della vista frontale) */
.cr-model-list{flex-direction:row;flex-wrap:wrap;gap:12px 10px}
.cr-model{--c:56px;position:relative;width:calc(var(--c) + 8px);aspect-ratio:auto;height:calc(var(--c) + 24px);border:0;background:none;overflow:visible;border-radius:0;flex:none;padding:0;cursor:pointer}
.cr-model::before{content:"";position:absolute;top:0;left:50%;width:var(--c);height:var(--c);transform:translateX(-50%);border-radius:50%;background:#2a3635;box-shadow:0 0 0 1.5px var(--border-strong)}
/* scheda modello: a sinistra il ritratto grande (viso a ~17% in larghezza, ~31% in altezza) */
.cr-model img{position:absolute;top:calc(var(--c) * -.2);left:calc(50% - var(--c) * .59);height:calc(var(--c) * 2);width:auto;max-width:none;object-fit:initial;clip-path:circle(calc(var(--c) / 2) at calc(var(--c) * .59) calc(var(--c) * .7))}
.cr-model.single img{height:auto;width:calc(var(--c) * 1.6);top:calc(var(--c) * -.05);left:calc(50% - var(--c) * .8);object-position:initial;clip-path:circle(calc(var(--c) / 2) at calc(var(--c) * .8) calc(var(--c) * .55))}
.cr-model span{position:absolute;top:calc(var(--c) + 6px);left:-4px;right:-4px;bottom:auto;background:none;padding:0;text-align:center;color:var(--text-2);font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-model.active{border:0;box-shadow:none}
.cr-model.active::before{box-shadow:0 0 0 2.5px #fff,0 8px 20px rgba(0,0,0,.35)}
.cr-model.active span{color:var(--text)}
.creator{grid-template-columns:160px minmax(0,1fr) 320px}

/* capi: manichino a slot */
#crSlots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cr-slot{position:relative;display:flex;flex-direction:column;gap:5px;padding:0;min-width:0}
.cr-slot .th{position:relative;width:100%;aspect-ratio:4/5;border-radius:16px;border:1.5px dashed var(--border-strong);background:var(--surface-2) center/cover no-repeat;display:grid;place-items:center;cursor:pointer;padding:0;color:var(--text-2);transition:transform .12s}
.cr-slot .th:active{transform:scale(.97)}
.cr-slot.has .th:not(.back){border-style:solid;border-color:var(--border)}
.cr-slot .th b{font-size:28px;font-weight:300;line-height:1}
.cr-slot .slot-name{position:absolute;left:6px;bottom:6px;max-width:calc(100% - 12px);padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:10.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-slot:not(.has) .slot-name{background:none;color:var(--text-2);left:0;right:0;max-width:none;text-align:center}
.cr-slot .th.back{position:absolute;top:6px;right:6px;width:36%;aspect-ratio:4/5;border-radius:10px;border:1.5px solid rgba(255,255,255,.75);box-shadow:0 4px 12px rgba(0,0,0,.35);display:grid;place-items:center}
.cr-slot .th.back.empty{background:rgba(0,0,0,.45);border-style:dashed}
.cr-slot .th.back em{position:absolute;left:0;right:0;bottom:2px;text-align:center;background:none;color:#fff;font-size:8.5px;font-weight:700;font-style:normal;padding:0;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.cr-slot .th.back.empty em{position:static;font-size:8.5px;color:#fff;white-space:normal;line-height:1.1}
.cr-slot .nm{font-size:12px;min-width:0}
.cr-slot .nm .lbl{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-slot .row2{display:flex;flex-wrap:wrap;gap:4px}
.cr-slot .row2 button,.cr-slot .row2 label{font-size:10.5px;padding:3px 8px;border-radius:999px}
#crShots{flex-direction:row}
#crShots input{display:none}

/* galleria risultati */
.cr-history{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.cr-history button{position:relative;border-radius:18px;transition:transform .12s}
.cr-history button:active{transform:scale(.97)}
.cr-history .st{position:absolute;top:8px;left:8px;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font-size:10.5px;font-weight:700;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cr-history .st.fin{background:rgba(var(--acc-rgb),.85)}
.cr-history .st.err{background:rgba(180,60,55,.85)}
.cr-history .mt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dl-card .cr-deliver{border-top:0;margin-top:0;padding-top:0}
.dl-card .cr-deliver > .cr-title{display:none}

@media (max-width:900px){
  #tab-worn{padding-bottom:84px}
  .creator{display:flex;flex-direction:column;gap:12px}
  .cr-presets{order:1}.cr-panel{order:2}.cr-stage{order:3}
  #wornCreator[data-wz="3"] .cr-stage{order:0}
  #wornCreator [data-step]{display:none!important}
  #wornCreator[data-wz="1"] [data-step="1"],#wornCreator[data-wz="2"] [data-step="2"],#wornCreator[data-wz="3"] [data-step="3"]{display:block!important}
  #wornCreator[data-wz="3"] .cr-actions[data-step="3"]{display:grid!important}
  .cr-panel{background:none;border:0;padding:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;flex-direction:column;gap:12px}
  .cr-panel > .cr-sec,.cr-presets{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:14px;margin:0}
  .cr-model-list{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:2px 14px}
  .cr-model-list::-webkit-scrollbar{display:none}
  .cr-model{--c:60px}
  #crSlots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .cr-stage{min-height:0;border-radius:22px}
  .cr-canvas{padding:10px 44px}
  .cr-canvas img{max-height:46vh}
  .wz-next,#wornCreator[data-wz="3"] .cr-actions{position:fixed;left:16px;right:16px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:25;margin:0}
  #wornCreator:not([data-wz="3"]) .wz-next{display:block}
  .wz-next .btn{width:100%;min-height:50px;font-size:15px}
  .wz-next .btn:disabled{opacity:.45}
  #wornCreator[data-wz="3"] .cr-actions{gap:8px;padding:6px;border-radius:999px;background:linear-gradient(180deg,#1a1a1a,#0c0c0c);border:1px solid var(--border);box-shadow:0 14px 34px rgba(0,0,0,.45)}
  #wornCreator[data-wz="3"] .cr-actions .btn{min-height:46px}
  .cr-history{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 12px 12px}
  #tab-worn > .card.flush{border-radius:22px}
}
/* chi contiene barre o fogli fissi non deve avere transform (altrimenti "position:fixed" si aggancia a lui) */
#wornCreator,#kitForm{transform:none!important;animation:none!important}
#kitForm .layout-main{width:100%}
@media (max-width:900px){
  #kitForm .layout-side .preview{width:auto;height:84px;min-height:0;max-width:84px;object-fit:contain;background:var(--surface-2)}
  #kitForm .layout-side .card{min-height:0}
  .wz-next .btn:disabled{opacity:1;color:rgba(255,255,255,.55);background:#1a1a1a;box-shadow:none}
}
@media (max-width:900px){
  .kr-v{display:block}
  .kr-v .dot{display:inline-block;vertical-align:-2px;margin-right:6px}
}
.kit-sheet{z-index:200}
@media (max-width:900px){#kitForm .layout-side{z-index:210}}
@media (max-width:900px){#kitSaved{display:none}}
@media (min-width:901px){
  #kitForm[data-group=stile] .annotated[data-group=stile],#kitForm[data-group=produzione] .annotated[data-group=produzione],#kitForm[data-group=consegna] .annotated[data-group=consegna],#kitForm[data-group=shopify] .annotated[data-group=shopify],#kitForm[data-group=avanzate] .annotated[data-group=avanzate]{display:grid}
  #crSlots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .cr-slot .th{border-radius:12px}
}
@media (max-width:900px){#kitForm .layout-side .card{background:var(--nav-solid,var(--surface));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}}

/* numeri sul telefono: due per volta, dentro l'inquadratura, scorrono da soli */
@media (max-width:900px){
  .stats{margin:0 0 12px!important;padding:0!important;width:auto!important;scroll-snap-type:x mandatory;gap:8px}
  .stats .stat{flex:0 0 calc(50% - 4px)!important;scroll-snap-align:start;justify-content:center;min-width:0;overflow:hidden}
  .stats .stat .stat-label{overflow:hidden;text-overflow:ellipsis;min-width:0}
}
/* foto di riferimento: la tua foto e cosa vede il motore */
.tpl-imgs figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:3px}
.tpl-imgs figcaption{font-size:10px;color:var(--text-2);font-weight:600}
.tpl-imgs img{width:72px;height:90px}
.chip.all{background:var(--accent-soft);color:var(--text)}
.note-ref{margin:0;padding:8px 12px;border-radius:12px;background:var(--accent-soft);color:var(--text)}
.tpl small.warn{display:block;margin-top:4px}
@media (max-width:900px){#kitForm[data-group=stile] .kit-sheet .modal-card{max-height:calc(100dvh - 300px)}}


/* =====================================================================
   UI v7 — nero e vetro come le reference: tutto neutro, colore solo negli accenti
   (iride rosa→viola→blu per il "vivo", arancio per ciò che è in corso, blu per le date/revisioni)
   ===================================================================== */
:root{--iri:linear-gradient(135deg,#FF8AC2 0%,#B389FF 38%,#6FA8FF 70%,#FFB86B 100%);--live:#FF5A1F;--blue:#2F7BFF;
  --acc:#0a0a0a;--acc-rgb:10,10,10}
:root[data-theme="dark"]{
  --bg:#000; --surface:rgba(255,255,255,.06); --surface-2:rgba(255,255,255,.045); --surface-hover:rgba(255,255,255,.1);
  --border:rgba(255,255,255,.09); --border-strong:rgba(255,255,255,.16);
  --text:#fff; --text-2:rgba(255,255,255,.55); --accent:#fff; --accent-text:#000; --accent-soft:rgba(255,255,255,.08); --focus:#fff;
  --nav-bg:rgba(18,18,18,.6); --nav-solid:rgba(0,0,0,.78);
  --btn-primary:#fff; --btn-primary-text:#000; --btn-primary-shadow:0 8px 24px rgba(255,255,255,.1);
  --btn-shadow:none; --card-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  --glow-a:transparent; --glow-b:transparent; --glow-c:transparent;
  --acc:#fff; --acc-rgb:255,255,255; --sage-500:#fff; --sage-400:#fff; --sage-300:#fff; --petrol-600:#1d1d1d; --lavender:#C9B8FF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#000; --surface:rgba(255,255,255,.06); --surface-2:rgba(255,255,255,.045); --surface-hover:rgba(255,255,255,.1);
  --border:rgba(255,255,255,.09); --border-strong:rgba(255,255,255,.16);
  --text:#fff; --text-2:rgba(255,255,255,.55); --accent:#fff; --accent-text:#000; --accent-soft:rgba(255,255,255,.08); --focus:#fff;
  --nav-bg:rgba(18,18,18,.6); --nav-solid:rgba(0,0,0,.78);
  --btn-primary:#fff; --btn-primary-text:#000; --btn-primary-shadow:0 8px 24px rgba(255,255,255,.1);
  --btn-shadow:none; --card-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  --glow-a:transparent; --glow-b:transparent; --glow-c:transparent;
  --acc:#fff; --acc-rgb:255,255,255; --sage-500:#fff; --sage-400:#fff; --sage-300:#fff; --petrol-600:#1d1d1d; --lavender:#C9B8FF}}
:root[data-theme="light"]{
  --bg:#F4F4F4; --surface:rgba(255,255,255,.75); --surface-2:rgba(0,0,0,.035); --surface-hover:rgba(0,0,0,.06);
  --border:rgba(0,0,0,.08); --border-strong:rgba(0,0,0,.14); --text:#0a0a0a; --text-2:rgba(0,0,0,.55);
  --accent:#0a0a0a; --accent-text:#fff; --accent-soft:rgba(0,0,0,.05); --focus:#0a0a0a;
  --btn-primary:#0a0a0a; --btn-primary-text:#fff; --btn-primary-shadow:0 8px 22px rgba(0,0,0,.18);
  --glow-a:transparent; --glow-b:transparent; --glow-c:transparent;
  --acc:#0a0a0a; --acc-rgb:10,10,10; --sage-500:#0a0a0a; --sage-400:#0a0a0a; --sage-300:#0a0a0a; --petrol-600:#e5e5e5; --lavender:#8f7bff}
body{background:var(--bg)}

/* barre e fogli di vetro scuro */
@media (max-width:900px){
  .nav::before{background:rgba(22,22,22,.93)!important;backdrop-filter:blur(26px) saturate(1.6)!important;-webkit-backdrop-filter:blur(26px) saturate(1.6)!important;border:1px solid rgba(255,255,255,.08)}
  :root[data-theme="light"] .nav::before{background:rgba(255,255,255,.94)!important;border-color:rgba(0,0,0,.06)}
  .nav-item.active{background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important}
  :root[data-theme="light"] .nav-item.active{background:rgba(0,0,0,.07)!important;color:#000!important}
  .nav-item.active svg{color:currentColor!important;filter:drop-shadow(0 0 6px rgba(179,137,255,.9)) drop-shadow(0 0 12px rgba(255,138,194,.55))}
  body[data-tab=review] #decideRow,#wornCreator[data-wz="3"] .cr-actions{background:#161616!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
  .wz-next .btn:disabled{background:#1a1a1a;color:rgba(255,255,255,.45)}
}
:root[data-theme="dark"] .modal-card{background:rgba(16,16,16,.94)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .modal-card{background:rgba(16,16,16,.94)}}

/* accento iride: pulsante foto, logo, badge "vivo" */
.fab{background:var(--iri)!important;box-shadow:0 10px 30px rgba(179,137,255,.45),inset 0 1px 0 rgba(255,255,255,.5)!important}
.fab svg{stroke:#fff!important}
.logo-mark,.empty-art{background:var(--iri)!important}
#reviewCount:not(:empty){background:var(--live)!important;color:#fff!important}

/* Home: vetro nero con un bagliore iride, niente più gradiente salvia */
.hero{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.1);box-shadow:none!important;animation:none!important;color:var(--text)}
.hero::after{background:radial-gradient(45% 70% at 100% 0%,rgba(179,137,255,.28),transparent 70%),radial-gradient(35% 60% at 88% 10%,rgba(255,138,194,.2),transparent 70%)!important}
:root[data-theme="light"] .hero{background:#fff!important;border-color:rgba(0,0,0,.06)}
.hero-title{color:var(--text)}
.hero-title .dim{color:var(--text-2)!important}
.hero-verse{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.1)!important}
:root[data-theme="light"] .hero-verse{background:rgba(0,0,0,.035)!important;border-color:rgba(0,0,0,.06)!important}
.hero-verse blockquote,.hero-verse figcaption b{color:var(--text)!important}
.hero-verse figcaption,.hero-verse .verse-x{color:var(--text-2)!important}
.hc-av{background:rgba(255,255,255,.1)!important;color:var(--text)!important;box-shadow:none!important}
:root[data-theme="light"] .hc-av{background:rgba(0,0,0,.06)!important}
.hc.on .hc-av{border:2px solid transparent;background:linear-gradient(#141414,#141414) padding-box,var(--iri) border-box!important;color:#fff!important;box-shadow:0 0 18px rgba(179,137,255,.35)!important}
:root[data-theme="light"] .hc.on .hc-av{background:linear-gradient(#fff,#fff) padding-box,var(--iri) border-box!important;color:#000!important}
.hc.add .hc-av{border:1.5px dashed var(--border-strong)!important;background:transparent!important}
.hc-name{color:var(--text-2)!important}.hc.on .hc-name{color:var(--text)!important}

/* stati: arancio = in corso (come LIVE), blu = da approvare */
.st.running{background:var(--live)!important;color:#fff!important}
.st.review{background:var(--blue)!important;color:#fff!important}
.cr-history .st.fin{background:rgba(255,255,255,.9)!important;color:#000!important}
.cr-history .st:not(.fin):not(.err){background:var(--live)}

/* Indossato: palco nero */
.cr-stage{background:radial-gradient(120% 90% at 50% 15%,#1c1c1c 0%,#0b0b0b 60%,#000 100%)!important;border-color:rgba(255,255,255,.08)!important}
.cr-busy-bar i{background:var(--iri)!important}
.cr-model.active::before{box-shadow:0 0 0 2.5px transparent,0 0 18px rgba(179,137,255,.45)!important;background:linear-gradient(#222,#222) padding-box,var(--iri) border-box!important;border:2.5px solid transparent}

/* interruttori e campi */
.switch input:checked + i,.switch input:checked + span{background:var(--iri)!important}
input:focus,select:focus,textarea:focus{border-color:var(--border-strong)!important;box-shadow:0 0 0 3px rgba(var(--acc-rgb),.12)!important}
.switch-row input:checked{background:var(--iri)!important}
@media (max-width:900px){
  /* barra: sfondo pieno sulla barra stessa (niente testo che traspare), vetro solo come riflesso */
  .nav{background:#151515!important}
  :root[data-theme="light"] .nav{background:#fff!important}
  .nav::before{background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 60%)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}


/* =====================================================================
   UI v7.1 — stesso nero e vetro, ma con gli accenti salvia di prima (niente viola, blu, rosso)
   ===================================================================== */
:root,:root[data-theme="dark"],:root[data-theme="light"]{
  --iri:linear-gradient(135deg,#A9C6C4 0%,#6F9A9C 45%,#3E6968 100%);
  --live:#6F9A9C; --blue:#A9C6C4;
  --btn-primary:linear-gradient(135deg,#A9C6C4 0%,#6F9A9C 42%,#3E6968 100%); --btn-primary-text:#03100E;
  --btn-primary-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 28px rgba(86,128,127,.38)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --btn-primary:linear-gradient(135deg,#A9C6C4 0%,#6F9A9C 42%,#3E6968 100%); --btn-primary-text:#03100E;
  --btn-primary-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 28px rgba(86,128,127,.38)}}
.fab{box-shadow:0 10px 30px rgba(86,128,127,.5),inset 0 1px 0 rgba(255,255,255,.5)!important}
.fab svg{stroke:#03100E!important}
#reviewCount:not(:empty){background:#94B3B4!important;color:#03100E!important}
.hero::after{background:radial-gradient(45% 70% at 100% 0%,rgba(111,154,156,.32),transparent 70%),radial-gradient(35% 60% at 88% 10%,rgba(169,198,196,.18),transparent 70%)!important}
.hc.on .hc-av{box-shadow:0 0 18px rgba(111,154,156,.4)!important}
.cr-model.active::before{box-shadow:0 0 18px rgba(111,154,156,.45)!important}
@media (max-width:900px){
  .nav-item.active svg{filter:drop-shadow(0 0 6px rgba(148,179,180,.9)) drop-shadow(0 0 12px rgba(111,154,156,.55))!important}
}
.st.running{background:#3E6968!important;color:#fff!important}
.st.review{background:#A9C6C4!important;color:#03100E!important}
.cr-history .st.fin{background:#A9C6C4!important;color:#03100E!important}
.cr-history .st:not(.fin):not(.err){background:#3E6968}
/* caricamento: lato in uscita */
.up-side{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.up-side-label{font-size:13px;font-weight:600;color:var(--text)}
.up-side .seg button{padding:7px 14px;font-size:12.5px}
.up-side-hint{margin:6px 0 0}
@media (max-width:420px){.up-side{flex-direction:column;align-items:flex-start;gap:8px}}
/* direzione dell'ombra: tastierino 3×3 */
.shadow-dir{display:flex;align-items:center;gap:14px;margin-top:4px}
.shadow-dir .dir-pad{display:grid;grid-template-columns:repeat(3,38px);grid-auto-rows:38px;gap:4px;padding:4px;border-radius:16px;flex:none;width:auto}
.shadow-dir .dir-pad button{padding:0;border-radius:11px;font-size:16px;line-height:1;display:grid;place-items:center}
.shadow-dir .dir-pad button.dir-auto{font-size:10.5px;font-weight:700;letter-spacing:.02em}
.shadow-dir .dir-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.shadow-dir .dir-text b{font-size:13px}

/* =====================================================================
   Revisione: split view grezzo / still life
   ===================================================================== */
.compare{position:relative}
.cmp-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 0}
.cmp-title{font-size:13px;font-weight:650;color:var(--text-2)}
.cmp-mode button{padding:6px 14px;font-size:12.5px}
.split{grid-column:1/-1;position:relative;--pos:50%;aspect-ratio:4/5;max-height:72vh;margin:0 auto;width:100%;border-radius:18px;overflow:hidden;
  background:#fff;touch-action:none;user-select:none;-webkit-user-select:none;cursor:ew-resize;border:1px solid var(--border)}
.split img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.split .sp-raw{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0);background:#fff}
.split .sp-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.25);pointer-events:none}
.split .sp-handle span{position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:var(--btn-primary);box-shadow:0 4px 14px rgba(0,0,0,.35)}
.split .sp-handle span::before,.split .sp-handle span::after{content:"";position:absolute;top:50%;width:0;height:0;margin-top:-5px;border:5px solid transparent}
.split .sp-handle span::before{left:5px;border-right-color:#03100E}
.split .sp-handle span::after{right:5px;border-left-color:#03100E}
.split .sp-lab{position:absolute;top:10px;padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;font-weight:650;pointer-events:none}
.split .sp-lab.l{left:10px}.split .sp-lab.r{right:10px}
#rvCompare[data-mode="split"] > figure{display:none}
#rvCompare[data-mode="side"] .split{display:none}
#rvCompare.no-result .split{display:none}
#rvCompare.no-result[data-mode="split"] > figure{display:block}

/* =====================================================================
   Fotocamera: inquadratura fissa, scatti in miniatura (tocca per ingrandire)
   ===================================================================== */
.cam-card .modal-body{display:flex;flex-direction:column;gap:10px}
.cam-view{flex:none;width:100%;max-width:calc(62vh * .75);margin:0 auto;aspect-ratio:3/4;max-height:none}
.cam-tray{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0;min-height:0}
.cam-tray::-webkit-scrollbar{display:none}
.cam-tray:empty{display:none}
.cam-tray figure{flex:0 0 46px;width:46px;height:58px;aspect-ratio:auto;border-radius:10px;cursor:pointer}
.cam-tray .n{left:3px;bottom:3px;font-size:9.5px;padding:0 4px;border-radius:6px}
.cam-big{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:20px}
.cam-big img{max-width:100%;max-height:80vh;border-radius:14px;object-fit:contain}
.cam-big button{position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:16px}
.cam-big button.del{top:auto;right:auto;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:auto;height:auto;padding:10px 20px;border-radius:999px;font-size:14px;font-weight:650;background:rgba(255,90,90,.2);color:#ffb3b3}
@media (max-width:900px){
  .cam-card{max-height:100dvh}
  .cam-view{max-width:calc(58dvh * .75)}
}
@media (max-width:900px){.split{max-height:56vh;aspect-ratio:auto;height:56vh}}

/* =====================================================================
   Piano e crediti
   ===================================================================== */
.plan-hero{display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}
.plan-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 80% at 100% 0%,rgba(111,154,156,.28),transparent 70%)}
.plan-bal{display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}
.plan-kicker{font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.plan-bal b{font-size:52px;line-height:1;font-weight:750;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.plan-sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;position:relative;z-index:1;padding-top:14px;border-top:1px solid var(--border)}
.plan-sub .btn{margin-left:auto}
.plan-state{padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700}
.plan-state.on{background:#A9C6C4;color:#03100E}
.plan-state.off{background:rgba(255,255,255,.1);color:var(--text)}
.plan-section-title{font-size:13px;font-weight:700;color:var(--text-2);margin:18px 2px 10px;letter-spacing:.02em}
.plan-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.plan-pack{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 14px;border-radius:22px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform .12s,border-color .2s}
.plan-pack:active{transform:scale(.98)}
.plan-pack.best{border-color:rgba(169,198,196,.6);background:linear-gradient(180deg,rgba(111,154,156,.18),var(--surface))}
.plan-pack:disabled{opacity:.6}
.pp-badge{position:absolute;top:-9px;right:12px;padding:2px 9px;border-radius:999px;background:var(--btn-primary);color:var(--btn-primary-text);font-size:10.5px;font-weight:700}
.pp-name{font-size:12.5px;font-weight:650;color:var(--text-2)}
.pp-credits{font-size:13px;color:var(--text-2)}
.pp-credits b{font-size:24px;color:var(--text);letter-spacing:-.02em}
.pp-credits em{font-style:normal;font-weight:700;color:#A9C6C4;margin-left:2px}
.pp-price{font-size:17px;font-weight:700;margin-top:4px}
.plan-note{margin:8px 2px 0}
.plan-prices .pp-price-pill{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:12.5px}
.plan-prices .pp-price-pill b{color:#A9C6C4}
.plan-history{display:flex;flex-direction:column}
.ph-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:11px 16px;border-bottom:1px solid var(--border);font-size:13px}
.ph-row:last-child{border-bottom:0}
.ph-row small.subtle{grid-column:1/-1;font-size:11px}
.ph-d{font-weight:700;font-variant-numeric:tabular-nums}
.ph-d.plus{color:#A9C6C4}
.plan-admin{margin-top:16px}
.plan-gift{margin-top:6px}
.plan-overview{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.po-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border);font-size:13px}
.stats .stat-credits{border-color:rgba(169,198,196,.45)!important;background:linear-gradient(180deg,rgba(111,154,156,.18),var(--surface))!important;cursor:pointer;color:var(--text);font:inherit}
.up-credits{margin-top:10px;padding:10px 14px;border-radius:14px;background:var(--accent-soft);font-size:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.up-credits.bad{background:rgba(255,120,110,.12);color:#ffb3ab}
.up-credits .btn{margin-left:auto;min-height:32px;padding:5px 14px}
@media (max-width:900px){
  .plan-packs{grid-template-columns:1fr;gap:8px}
  .plan-pack{display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 16px}
  .plan-pack .pp-name{grid-column:1}.plan-pack .pp-credits{grid-column:1}.plan-pack .pp-sub{grid-column:1}
  .plan-pack .pp-price{grid-column:2;grid-row:1/4;font-size:19px;margin:0}
  .plan-bal b{font-size:46px}
  .plan-sub .btn{margin-left:0;width:100%}
  body.role-creator .nav-item[data-tab=plan]{display:none}
}

/* v39 · iscrizione / email */
.login-card[hidden]{display:none!important}
.login-card .login-sub{margin:-4px 0 4px;font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.62)}
.login-links{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}
.login-switch{text-align:center;font-size:13px;color:rgba(255,255,255,.55);margin:6px 0 0}
.link{background:none;border:0;padding:0;color:rgba(255,255,255,.62);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.link:hover{color:#fff}
.link.strong{color:#A9C6C4;font-weight:650;text-decoration:none}
.link.strong:hover{color:#cfe3e1}
.login-card label.login-accept{flex-direction:row;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.62)}
.login-accept input{width:18px;height:18px;min-height:0;flex:0 0 auto;margin-top:1px;accent-color:#6F9A9C}
.login-accept a{color:#A9C6C4}
.mail-ico{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:rgba(var(--acc-rgb),.14);border:1px solid rgba(var(--acc-rgb),.3);margin:0 auto 4px}
.mail-ico svg{width:30px;height:30px;fill:none;stroke:#A9C6C4;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#mailBox{text-align:center}
#mailBox .btn{width:100%}
.login-ok{color:#A9C6C4;font-size:13px;margin:0;min-height:1em}

/* scarpe: per ogni categoria la serie di scatti del fotografo (max 3) */
.shoe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.shoe-cat{border-radius:18px;background:var(--surface-2);border:1px solid var(--border);padding:10px 10px 12px;display:flex;flex-direction:column;gap:8px}
.shoe-cat.nofoto{border-style:dashed;border-color:var(--border-strong)}
.shoe-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 2px}
.shoe-head b{font-size:13px;font-weight:650}
.shoe-head span{font-size:11px;color:var(--text-2);white-space:nowrap}
.shoe-head i{width:9px;height:9px;border-radius:50%;border:1px solid var(--border-strong);display:inline-block;vertical-align:-1px;margin-right:4px}
.shoe-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.shoe-shot{position:relative;margin:0;border-radius:11px;overflow:hidden;background:#fff;aspect-ratio:2/3}
.shoe-shot img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.shoe-shot .n{position:absolute;left:5px;top:5px;min-width:18px;height:18px;border-radius:9px;background:rgba(0,0,0,.65);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;padding:0 5px}
.shoe-shot .x{position:absolute;right:4px;top:4px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center}
.shoe-shot .unsure{position:absolute;left:0;right:0;bottom:0;background:rgba(138,90,0,.85);color:#fff;font-size:9.5px;font-style:normal;text-align:center;padding:2px}
.shoe-add{aspect-ratio:2/3;border-radius:11px;border:1.5px dashed var(--border-strong);background:transparent;color:var(--text-2);font:inherit;font-size:11.5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.shoe-add span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:rgba(var(--acc-rgb),.14);color:#A9C6C4}
.shoe-add:hover{background:var(--surface-hover);color:var(--text)}
@media (max-width:520px){.shoe-grid{grid-template-columns:1fr}}
.shoe-add.busy{pointer-events:none;opacity:.7}
.shoe-add.busy span{animation:pulseRing 1.2s infinite}

/* conferme dentro l'app */
.ask{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .18s var(--ease-out) backwards}
.ask-card{width:min(380px,100%);background:rgba(20,20,20,.96);border:1px solid rgba(255,255,255,.1);border-radius:26px;padding:24px 22px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:pop .28s var(--ease-out) backwards;color:#f5f5f5}
:root[data-theme="light"] .ask-card{background:rgba(255,255,255,.97);border-color:rgba(0,0,0,.08);color:#0a0a0a}
.ask-ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:4px;background:rgba(var(--acc-rgb),.14);border:1px solid rgba(var(--acc-rgb),.28)}
.ask-ico svg{width:24px;height:24px;stroke:#A9C6C4;stroke-width:1.8}
.ask-ico.danger{background:rgba(161,38,27,.18);border-color:rgba(244,163,155,.3)}
.ask-ico.danger svg{stroke:#F4A39B}
.ask-card h3{font-size:17px;font-weight:650;letter-spacing:-.01em;line-height:1.3;margin:0}
.ask-card p{margin:0;font-size:13.5px;line-height:1.5;color:var(--text-2);white-space:pre-line}
.ask-field{align-self:stretch;display:flex;flex-direction:column;gap:5px;text-align:left;font-size:12.5px;color:var(--text-2);margin-top:6px}
.ask-btns{align-self:stretch;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.ask-btns .btn{min-height:46px;width:100%}
.ask-btns .btn.hidden + .btn{grid-column:1/-1}
.ask-btns .btn.danger{background:#A1261B;color:#fff;border:0;box-shadow:0 8px 22px rgba(161,38,27,.35)}
.shoe-gain{display:flex;align-items:center;gap:10px;padding:2px 2px 0;font-size:12px;color:var(--text-2)}
.shoe-gain input{flex:1;min-height:0;padding:0;accent-color:#6F9A9C;background:none;border:0}
.shoe-gain b{min-width:38px;text-align:right;color:var(--text);font-weight:650}
.up-thumb.is-ref{order:9;border:1.5px solid rgba(var(--acc-rgb),.55);cursor:default}
.up-thumb.is-ref .tag{background:rgba(62,105,104,.9);color:#fff}
.up-thumb.is-ref img{background:#fff;object-fit:contain}
.job-log{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto}
.job-log li{display:grid;grid-template-columns:62px 1fr;gap:8px;font-size:12.5px;line-height:1.45;color:var(--text-2)}
.job-log li time{font-variant-numeric:tabular-nums;color:var(--text-2);opacity:.7}
.job-log li.hl span{color:var(--text);font-weight:550}
.np-facts{border:1px solid var(--border);border-radius:16px;padding:10px 12px;background:var(--surface-2)}
.np-facts summary{cursor:pointer;display:flex;flex-direction:column;gap:2px;list-style:none}
.np-facts summary::-webkit-details-marker{display:none}
.np-facts[open] summary{margin-bottom:10px}
.np-facts .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.np-facts .row label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--text-2)}
.model-seg{margin:0 0 12px;display:inline-flex}

.wear-quick{width:100%;margin-top:10px;border-color:var(--acc);color:var(--acc);font-weight:600}

/* =====================================================================
   v64 · Negozio: catalogo, testi alternativi, pagina prodotto
   ===================================================================== */
.shop-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.shop-stats .stat{flex-direction:column;align-items:flex-start;gap:3px;padding:14px 16px;border-radius:var(--r-card)}
.shop-stats .stat .stat-label{order:0;font-size:12px}
.shop-stats .stat .stat-value{order:1;font-size:24px}
.shop-stats .stat .stat-value small{font-size:13px;font-weight:600;color:var(--text-2);margin-left:1px}
.shop-stats .stat .stat-sub{display:block;order:2;font-size:11.5px;color:var(--text-2)}
.shop-prog{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--text-2)}
.shop-prog.hidden{display:none}
.shop-bar{height:6px;border-radius:6px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border)}
.shop-bar i{display:block;height:100%;width:8%;background:var(--accent);border-radius:6px;transition:width .6s ease}
.shop-issues{display:flex;flex-direction:column;gap:8px}
.shop-issues .pill b{font-weight:700;opacity:.75}
.pills > .sev-critico:not(.on){border-color:rgba(214,69,65,.45)}
.pills > .sev-importante:not(.on){border-color:rgba(230,150,30,.45)}
.shop-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px}
.shop-tools.hidden{display:none}
.shop-tools .check{margin-right:auto}
.shop-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.shop-row{display:grid;grid-template-columns:auto 44px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--border)}
.shop-row input{width:16px;height:16px}
.shop-thumb{width:44px;height:55px;border-radius:8px;background:var(--surface-2) center/cover no-repeat;border:1px solid var(--border);flex:none;display:inline-block}
.shop-row-main{min-width:0;display:flex;flex-direction:column;gap:5px;font-size:13.5px}
.shop-row-main > b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shop-row-issues{display:flex;flex-wrap:wrap;gap:4px}
.iss{display:inline-flex;font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);white-space:nowrap}
.iss.sev-critico{background:rgba(214,69,65,.12);border-color:rgba(214,69,65,.4);color:#d9534b}
.iss.sev-importante{background:rgba(230,150,30,.12);border-color:rgba(230,150,30,.4);color:#c98a1d}
.iss.ok{background:rgba(40,160,90,.12);border-color:rgba(40,160,90,.35);color:#2e9e5e}
a.btn{color:var(--text);text-decoration:none}
.shop-score{font-weight:750;font-variant-numeric:tabular-nums;font-size:15px;min-width:34px;text-align:right}
.shop-score.shi{color:#1f8a4c}.shop-score.smid{color:#b8790c}.shop-score.slo{color:#c2413b}
.btn.small-btn{min-height:32px;padding:5px 12px;font-size:12.5px}
.shop-alt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.alt-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.alt-pick{position:relative;cursor:pointer}
.alt-pick input{position:absolute;top:6px;left:6px;z-index:1;width:16px;height:16px}
.alt-img{display:block;width:76px;height:95px;border-radius:10px;background:var(--surface) center/cover no-repeat}
.alt-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.alt-body .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.alt-body textarea{width:100%;resize:vertical;font:inherit;font-size:13px;line-height:1.4}
.shop-texts-list{display:flex;flex-direction:column;gap:12px}
.tx-item{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.tx-head{display:flex;align-items:center;gap:10px}
.tx-head b{flex:1;min-width:0}
.tx-item textarea{font:inherit;font-size:13px;line-height:1.45}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.shop-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.shop-range{display:flex;align-items:center;gap:6px}
.shop-range input{width:100%;min-width:0}
.warn{color:#c2413b}
.shop-feat{border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;gap:12px}
.shop-feat .switch-row{align-items:flex-start;font-size:14px}
.shop-feat .switch-row > span{display:flex;flex-direction:column;gap:3px}
.shop-feat .switch-row small{font-size:12.5px;line-height:1.4;max-width:620px}
.shop-feat-body{display:flex;flex-direction:column;gap:10px}
.shop-feat-body.off{display:none}
.seg.multi button{min-width:52px}
.shop-preview{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px dashed var(--border-strong);font-size:13px}
.shop-preview:empty{display:none}
.shop-preview > .subtle{flex-basis:100%}
.shop-install{display:grid;grid-template-columns:1fr 1.3fr;gap:18px}
.shop-install > div{display:flex;flex-direction:column;gap:8px}
.shop-install textarea.mono{font-size:12px;line-height:1.45;resize:vertical}
.shop-q-list{display:flex;flex-direction:column;gap:8px}
.q-item{padding:10px 12px;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:4px}
.q-item.unans{border-color:rgba(230,150,30,.45)}
.q-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.q-item p{margin:0;color:var(--text-2)}
@media (max-width:900px){
  .shop-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .shop-stats .stat .stat-value{font-size:20px}
  .shop-row{grid-template-columns:auto 40px minmax(0,1fr) auto;gap:10px}
  .shop-row .small-btn{grid-column:3/5;justify-self:start}
  .shop-grid,.shop-grid2,.shop-install{grid-template-columns:1fr}
  .shop-alt-list{grid-template-columns:1fr}
  /* barra in basso: Brand Kit e Piano vanno in "Altro" anche per il cliente */
  body:not(.role-creator) .nav-more{display:flex}
  body:not(.role-creator) .nav-item[data-tab=kit],body:not(.role-creator) .nav-item[data-tab=plan]{display:none}
}

/* v65 · categoria e Google, tabelle taglie, report */
.shop-attrs-list{display:flex;flex-direction:column;gap:10px}
.at-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.at-pick{position:relative;cursor:pointer}
.at-pick input{position:absolute;top:4px;left:4px;z-index:1;width:16px;height:16px}
.at-body{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:13.5px}
.at-cat{position:relative}
.at-cat-in{width:100%}
.at-cat-res{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;background:var(--bg);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.25);padding:4px;display:flex;flex-direction:column;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.at-cat-res.hidden{display:none}
.at-cat-res button{text-align:left;border:0;background:transparent;color:var(--text);font:inherit;font-size:12.5px;padding:8px 10px;border-radius:8px;cursor:pointer}
.at-cat-res button:hover{background:var(--surface-hover)}
.at-cat-res .subtle{padding:8px 10px}
.at-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.at-row label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--text-2)}
.at-row select,.at-row input{width:100%;min-width:0}
.sz-import summary,.sz-chart summary{cursor:pointer;font-size:13.5px;font-weight:600}
.sz-import-body{display:flex;flex-direction:column;gap:8px;padding-top:10px}
.sz-list{display:flex;flex-direction:column;gap:10px}
.sz-chart{border:1px solid var(--border);border-radius:14px;background:var(--surface-2);padding:12px 14px}
.sz-chart summary{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;list-style:none}
.sz-chart summary::-webkit-details-marker{display:none}
.sz-chart summary::before{content:'›';display:inline-block;transition:transform .2s;color:var(--text-2)}
.sz-chart[open] summary::before{transform:rotate(90deg)}
.sz-body{display:flex;flex-direction:column;gap:10px;padding-top:12px}
.sz-meas > button{padding:6px 12px;font-size:12px}
.sz-grid-wrap{overflow-x:auto}
.sz-grid{border-collapse:collapse;font-size:12.5px}
.sz-grid th{padding:6px 8px;text-align:left;font-weight:600;color:var(--text-2);white-space:nowrap}
.sz-grid tbody th{color:var(--text)}
.sz-grid td{padding:3px 4px}
.sz-grid input{width:86px;min-height:34px;padding:6px 10px;font-size:13px;text-align:center}
.sz-grid input.bad{border-color:var(--bad,#c0392b);background:var(--bad-bg,#fdecea)}
.rp-frame{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#0b0b0b}
.rp-frame.hidden{display:none}
.rp-frame iframe{display:block;width:100%;height:760px;border:0}
#shopReportCard .btn-row select{min-height:40px}
@media (max-width:900px){
  .at-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rp-frame iframe{height:620px}
}

/* cervello che impara */
.brain-lessons{display:flex;flex-direction:column;gap:14px}
.bl-group h4{margin:0 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.bl-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;margin-bottom:6px}
.bl-item.off .bl-txt{opacity:.5}
.bl-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.35}
.bl-txt small{font-size:11px}
.bl-sw{flex:none}
.bl-del{border:0;background:none;color:var(--text-2);font-size:15px;cursor:pointer;padding:4px}
.bl-del:hover{color:var(--bad)}
.brain-add{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.brain-add select{flex:0 0 auto;max-width:44%}
.brain-add input{flex:1;min-width:160px}

/* ricerca online del prodotto */
.np-web{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.np-web-out{border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}
.web-hit{display:flex;gap:10px;align-items:center}
.web-hit img{width:52px;height:52px;object-fit:cover;border-radius:8px;flex:none;background:var(--surface-hover)}
.web-hit div{display:flex;flex-direction:column;gap:2px;font-size:14px;min-width:0}
.web-hit small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.web-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}
.web-facts li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.web-facts li span{color:var(--text-2);min-width:96px}
.web-facts li a{font-size:12px;color:var(--text-2)}
.warn-text{color:var(--warn);margin:0}
input.web-filled{border-color:var(--warn);background:var(--warn-bg)}
input.tag-filled{border-color:var(--ok);background:var(--ok-bg)}
.tx-web{border:1px solid var(--warn);background:var(--warn-bg);border-radius:10px;padding:8px 10px;font-size:13px;display:flex;flex-direction:column;gap:4px}
.tx-web a{color:inherit}
/* fit online */
.fit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.fit-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:12px;padding:8px}
.fit-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;background:var(--surface-hover)}
.fit-meta{display:flex;flex-direction:column;gap:4px;font-size:12px}
.fit-meta .chip{align-self:flex-start}
.rv-web{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:-2px}
.rv-web .btn.small{padding:6px 12px;font-size:12.5px;min-height:0}
.rv-web a{color:inherit}

/* scarpe: misure in cm nel caricamento */
.up-meas{margin-top:10px;border:1px solid var(--border);border-radius:16px;padding:10px 12px;background:var(--surface-2)}
.up-meas summary{cursor:pointer;display:flex;flex-direction:column;gap:2px;list-style:none}
.up-meas summary::-webkit-details-marker{display:none}
.up-meas summary b::after{content:" ›";color:var(--text-2)}
.up-meas[open] summary b::after{content:" ⌄"}
.up-meas[open] summary{margin-bottom:10px}
.up-meas-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.up-meas-grid label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--text-2);min-width:0}
.up-meas-grid small{font-size:11px;color:var(--text-2);opacity:.85}
.up-meas .unit{position:relative;display:block}
.up-meas .unit input{padding-right:40px;background:var(--surface,#fff)}
.up-meas .unit i{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;font-size:12px;color:var(--text-2);pointer-events:none}
.up-meas .field{font-size:12.5px;font-weight:400;color:var(--text-2);gap:5px}
.up-meas .field input{background:var(--surface,#fff)}
.up-meas .warn-text{color:var(--warn,#b45309)}
@media (max-width:340px){.up-meas-grid{grid-template-columns:1fr}}

/* scarpe: forma corretta dal codice */
.shape-fix{margin-top:10px;border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px}
.shape-fix .sf-head{display:flex;flex-direction:column;gap:2px}
.shape-fix .sf-head span{font-size:12.5px;color:var(--text-2)}
.shape-fix .sf-btns{display:flex;flex-wrap:wrap;gap:6px}
.shape-fix #sfPeek{user-select:none;-webkit-user-select:none}
.shape-fix #sfPeek.active{background:var(--warn-bg);color:var(--warn);border-color:transparent}
#rvCompare.peek-before .sp-lab.r,#rvCompare.peek-after .sp-lab.r{background:#8A5A00;color:#fff}
#rvCompare.peek-before figure:last-child figcaption,#rvCompare.peek-after figure:last-child figcaption{color:var(--warn)}

/* indossato: fit trovato online dal fit a parole */
.fit-auto{display:flex;gap:8px;align-items:flex-start;margin-top:4px}
.fit-auto img{width:46px;height:58px;object-fit:cover;border-radius:8px;border:1px solid var(--border);display:block}
.fit-auto span{line-height:1.35}

/* shooting indossato scarpe */
.shoot-kit{margin-top:12px;border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:12px}
.sk-head{display:flex;flex-direction:column;gap:2px}
.sk-sec{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:10px}
.sk-title{font-weight:600;font-size:13px}
.sk-refs{display:flex;flex-wrap:wrap;gap:6px}
.sk-ref{position:relative}
.sk-ref img{width:64px;height:80px;object-fit:cover;border-radius:8px;border:1px solid var(--border);display:block}
.sk-ref button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:13px;line-height:1}
.sk-plates{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.sk-plate{display:flex;flex-direction:column;gap:4px;padding:4px;border:2px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;font:inherit;font-size:12px;color:var(--text-2)}
.sk-plate img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;display:block}
.sk-plate.on{border-color:var(--ok);color:var(--ok);font-weight:600}
.sk-poses{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.sk-pose{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:12px}
.sk-pose.on{border-color:var(--ok)}
.sk-pose img{width:100%;height:110px;object-fit:cover;border-radius:8px}
.sk-pose-t{font:inherit;font-weight:600;text-align:left;background:none;border:0;padding:0;min-height:0;color:inherit;cursor:pointer}
.sk-pose.on .sk-pose-t{color:var(--ok)}
.sk-pose-add,.sk-pose-x{font-size:12px;color:var(--text-2);cursor:pointer;background:none;border:0;padding:0;min-height:0;text-align:left;text-decoration:underline}
.shoot-card .pills{display:flex;flex-wrap:wrap;gap:6px}
.sh-run{display:flex;flex-direction:column;gap:6px}
.sh-bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.sh-bar i{display:block;height:100%;background:var(--accent,#5b9a94);border-radius:99px;transition:width .6s}
.sh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.sh-shot{margin:0;display:flex;flex-direction:column;gap:6px}
.sh-shot img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;display:block;background:var(--surface-2)}
.sh-shot.ko img{opacity:.75;outline:2px dashed var(--warn);outline-offset:-2px}
.sh-shot figcaption{font-size:12.5px;display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}
.sh-shot .ok{color:var(--ok)} .sh-shot .ko{color:var(--warn)}
.sh-acts{display:flex;flex-wrap:wrap;gap:6px}
.sh-outfit ul,.sh-log ul{margin:6px 0;padding-left:18px}
.sh-outfit li{display:flex;align-items:center;gap:6px;list-style:none;margin-left:-18px}
.sh-outfit .sw{width:12px;height:12px;border-radius:50%;border:1px solid var(--border);display:inline-block;flex:none}
.sh-prop{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12.5px;padding:6px 0;border-top:1px solid var(--border)}
.sh-fail span{color:var(--bad)}

/* ---------------- Spesa (dashboard live) ---------------- */
.sp-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:var(--text-2);padding:5px 10px;border:1px solid var(--border);border-radius:99px;align-self:flex-start}
.sp-live i{width:7px;height:7px;border-radius:50%;background:var(--text-3,#9aa)}
.sp-live.on i{background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:spPulse 2s infinite}
@keyframes spPulse{0%{box-shadow:0 0 0 0 rgba(20,108,67,.45)}70%{box-shadow:0 0 0 7px rgba(20,108,67,0)}100%{box-shadow:0 0 0 0 rgba(20,108,67,0)}}
@media (prefers-reduced-motion: reduce){.sp-live.on i{animation:none}}
.sp-hero{display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}
.sp-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 80% at 100% 0%,rgba(111,154,156,.22),transparent 70%)}
.sp-stats{margin:0;position:relative;z-index:1}
.sp-chart-card{padding:16px 16px 10px}
.sp-chart{display:flex;align-items:flex-end;gap:3px;height:140px}
.sp-bar{flex:1;height:var(--h);min-height:0;background:var(--accent-soft);border-radius:3px 3px 0 0;transition:height .5s ease}
.sp-bar:hover{background:var(--steel)}
.sp-bar.today{background:var(--accent)}
.sp-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--text-2);margin-top:6px}
.sp-ai{margin-top:16px}

/* ---------------- Modalità notte 🌙 ---------------- */
.moon{width:14px;height:14px;fill:currentColor;stroke:none;flex:none}
.night-toggle{margin-right:auto;gap:6px;color:var(--text-2)}
.night-toggle small{font-size:11px;font-weight:700;color:var(--text-2);opacity:.8}
.night-toggle[aria-pressed="true"]{background:#1d2340;border-color:#1d2340;color:#e9ecff}
.night-toggle[aria-pressed="true"] small{color:#c9d0ff;opacity:1}
.night-badge{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#1d2340;color:#e9ecff;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.spinner .moon{vertical-align:-2px;margin-right:4px}

/* ---------------- Ordini Eversell ---------------- */
.ev-top{flex-wrap:wrap}
.ev-orders{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:6px}
.ev-order{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;cursor:pointer;font:inherit;color:inherit;border:1px solid var(--border)}
.ev-order:hover{border-color:var(--border-strong)}
.ev-o-top{display:flex;justify-content:space-between;gap:8px;width:100%}
.ev-empty{grid-column:1/-1}
.ev-ok{color:var(--ok)} .ev-warn{color:var(--warn)} .ev-bad{color:var(--bad)}
.ev-targets{align-items:flex-end;flex-wrap:wrap}
.ev-targets select{min-width:150px}
.ev-html{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;align-self:center}
.ev-html input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;min-height:0;margin:0;padding:0;box-shadow:none;accent-color:var(--acc)}
.ev-cat-wrap{overflow-x:auto;margin:0 -4px}
.ev-cat{width:100%;border-collapse:collapse;font-size:12.5px}
.ev-cat th,.ev-cat td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
.ev-cat th{font-size:11.5px;color:var(--text-2);font-weight:650}
.ev-thumbs{display:flex;gap:3px;align-items:center}
.ev-thumbs img{width:30px;height:38px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}
.ev-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.ev-head-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ev-head-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-2)}
.ev-note{margin:10px 2px;color:var(--text-2)}
.ev-sum{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0}
.ev-sum p{flex-basis:100%;margin:2px 0 0}
.ev-chip-e{background:var(--bad-bg);color:var(--bad)} .ev-chip-w{background:var(--warn-bg);color:var(--warn)} .ev-chip-ok{background:var(--ok-bg);color:var(--ok)}
.ev-grid-wrap{overflow-x:auto}
.ev-grid{border-collapse:collapse;font-size:12.5px;min-width:100%}
.ev-grid th{position:sticky;top:0;background:var(--surface);font-size:11px;font-weight:650;color:var(--text-2);text-align:left;padding:8px 4px;border-bottom:1px solid var(--border);white-space:nowrap}
.ev-grid td{padding:2px;border-bottom:1px solid var(--border)}
.ev-grid input{width:92px;padding:6px 7px;font-size:12.5px;border-radius:6px;border:1px solid transparent;background:transparent}
.ev-grid td.wide input{width:190px}
.ev-grid td.mid input{width:150px}
.ev-issues{flex-basis:100%;list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.ev-issues button{background:none;border:0;padding:2px 0;font:inherit;font-size:12.5px;text-align:left;cursor:pointer;min-height:0}
.ev-issues button:hover{text-decoration:underline}
.ev-issues .subtle{font-size:12px}
.ev-grid input:focus{border-color:var(--border-strong);background:var(--surface)}
.ev-grid .ev-n{color:var(--text-2);font-size:11px;padding:0 6px;text-align:right}
.ev-rowact{white-space:nowrap}
.ev-rowact .btn{padding:3px 7px;min-height:0}
input.ev-e{background:var(--bad-bg)!important;border-color:var(--bad)!important}
input.ev-w{background:var(--warn-bg)!important;border-color:color-mix(in srgb,var(--warn) 50%,transparent)!important}
input.ev-auto{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}
.ev-actions{margin-top:12px;flex-wrap:wrap}
.ev-actions .grow{flex:1}
.danger-text{color:var(--bad)}
.ev-master{margin-top:12px}
.ev-master-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ev-master-x{width:32px;height:32px;border:0;border-radius:50%;background:none;color:var(--text-2);font-size:16px;cursor:pointer;flex:0 0 32px}
.ev-master-x:hover{background:var(--surface-2)}
.ev-master-list{display:grid;gap:6px;margin:10px 0 12px}
.ev-master-row{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:10px;align-items:center}
.ev-master-row label{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer;min-height:36px}
.ev-master-row label small{color:var(--text-2);font-size:11.5px}
.ev-master-row input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;min-height:0;margin:0;padding:0;box-shadow:none;accent-color:var(--acc)}
.ev-master-row input[type=text]{width:100%;min-width:0}
.ev-master-row input[type=text][hidden]{display:none}
@media (max-width:560px){.ev-master-row{grid-template-columns:1fr;gap:2px}.ev-master-row input[type=text]{margin-bottom:6px}}
.ev-howto{margin-top:14px}
.ev-howto ol{margin:8px 0 0 18px;padding:0}
@media (max-width:700px){.ev-head-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shooting con modella: più studi del cliente */
#shootWrap .shoot-kit{margin:0;border:0;padding:0;background:none}
#shootWrap .sk-sec:first-child{border-top:0;padding-top:0}
.sk-sets{display:flex;flex-wrap:wrap;gap:8px}
.sk-chip{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;font-size:12.5px;color:var(--text);cursor:pointer;text-align:left;min-height:0}
.sk-chip img,.sk-chip-ph{width:36px;height:46px;object-fit:cover;border-radius:7px;display:block;flex:0 0 36px;background:var(--surface-2);border:1px dashed var(--border)}
.sk-chip img{border-style:solid}
.sk-chip span{display:flex;flex-direction:column;gap:1px}
.sk-chip small{color:var(--text-2);font-size:11px}
.sk-chip.on{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.sk-chip-add{padding:8px 14px;border-style:dashed;color:var(--text-2);font-weight:600}
.sk-set{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.sk-set-head{align-items:flex-end}
.sk-set-head .check{flex:0 0 auto;white-space:nowrap;padding-bottom:10px}
.sk-del{margin-left:auto}
.sh-studios{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.sh-studio{display:flex;flex-direction:column;gap:4px;flex:0 0 96px;padding:4px;border:2px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;font-size:12px;color:var(--text-2);cursor:pointer;min-height:0}
.sh-studio img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;display:block}
.sh-studio.on{border-color:var(--acc);color:var(--text);font-weight:600}
.sk-set-head .check{flex-direction:row;align-items:center;gap:8px}

.ev-cat-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}
.ev-cat-bar input{flex:1 1 260px;max-width:420px}
.ev-targets label.ev-html{flex-direction:row;align-items:center;gap:8px}

/* limite mensile dei clienti fatturati da M8 */
.plan-limit{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.pl-row{font-size:14px}
.pl-bar{height:8px;border-radius:8px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border)}
.pl-bar i{display:block;height:100%;background:var(--ok)}
.pl-bar i.warn{background:var(--warn)} .pl-bar i.full{background:var(--bad)}

/* Eversell: lettura dell'ordine in sottofondo */
.card.ev-reading{display:flex;flex-direction:row;justify-content:flex-start;text-align:left;gap:14px;align-items:center;margin:8px 0}
.ev-reading p{margin:4px 0 0}
.ev-spin{flex:0 0 26px;width:26px;height:26px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--sage-400);animation:spin .9s linear infinite}
#evEditor.ev-busy #evModeHint,#evEditor.ev-busy #evMode,#evEditor.ev-busy #evHead,#evEditor.ev-busy #evNote,#evEditor.ev-busy #evSum,
#evEditor.ev-busy .ev-grid-wrap,#evEditor.ev-busy #evAddRow,#evEditor.ev-busy #evRescale,#evEditor.ev-busy #evExpXlsx,#evEditor.ev-busy #evExpCsv,#evEditor.ev-busy #evMasterBtn,#evEditor.ev-busy #evMaster,#evEditor.ev-busy .ev-howto{display:none}
.ev-note.ev-bad{color:var(--bad)}
.ev-order .ev-reading-chip{display:inline-flex;align-items:center;gap:6px}
.ev-order .ev-reading-chip::before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--sage-400);animation:spin .9s linear infinite}
.ev-grid-wrap,.ev-cat-wrap{width:0;min-width:100%}   /* la tabella larga scorre dentro: la pagina non si allarga */
/* Eversell: regole scale e taglie (Anagrafiche) */
.ev-rules{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:14px}
.ev-rules p{margin:4px 0 0}
.ev-rule{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.9fr) minmax(0,1.7fr) minmax(0,1.2fr) auto;gap:6px;align-items:center}
.ev-rule input,.ev-rule select{min-width:0;font-size:13px;padding:7px 8px}
.ev-rule input.ev-e{background:var(--bad-bg);border-color:var(--bad)}
.ev-rule .btn{padding:4px 8px;min-height:0}
.ev-rules-empty{margin:0}
@media (max-width:700px){
  .ev-rule{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding:8px 0;border-bottom:1px solid var(--border)}
  .ev-rule [data-r=scala],.ev-rule [data-r=taglie]{grid-column:1/3}
}

/* Eversell: ricerca online per SKU + colore */
.st.warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}
.ev-web{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}
.ev-web-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.ev-web-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.ev-web-txt b{font-size:13.5px}
.ev-web-prog{display:flex;flex-direction:column;gap:8px}
.ev-web-prog .shop-bar i{background:linear-gradient(135deg,#A9C6C4 0%,#6F9A9C 42%,#3E6968 100%);width:0}
.ev-web-line{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ev-cat-f{margin-top:4px}
.ev-web-row{cursor:pointer}
.ev-web-row:hover td{background:var(--surface-hover)}
.ev-thumbs img.ev-web-pic{outline:1px dashed rgba(169,198,196,.6);outline-offset:-1px}
.ev-web-card{width:min(820px,100%)}
.ev-web-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ev-web-src{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:14px;color:var(--text);text-decoration:none;background:var(--surface-2)}
.ev-web-src:hover{background:var(--surface-hover)}
.ev-web-pics{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.ev-web-pics img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:#fff;display:block}
.ev-web-title{font-size:15px;font-weight:650}
.ev-web-desc{margin:0;white-space:pre-line;font-size:13px;line-height:1.5;color:var(--text)}
.ev-web-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.ev-web-facts:empty{display:none}
.ev-web-fact{display:flex;flex-direction:column;gap:2px;padding:9px 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);font-size:13px}
.ev-web-cands{display:flex;flex-direction:column}
.ev-web-cands a{display:flex;flex-direction:column;gap:2px;padding:9px 2px;border-top:1px solid var(--border);color:var(--text);text-decoration:none;font-size:13px;overflow-wrap:anywhere}
.ev-web-cands a:first-child{border-top:0}
.ev-web-cands a:hover span{text-decoration:underline}
@media (max-width:900px){
  .ev-web-top{flex-direction:column;align-items:stretch}
  .ev-web-top .btn{width:100%}
  .ev-web-pics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* procedimento della ricerca online (solo studio) */
.ev-trace{border:1px dashed var(--border-strong);border-radius:14px;padding:10px 12px;background:var(--surface-2)}
.ev-trace > summary{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.ev-trace[open] > summary{margin-bottom:8px}
.ev-tr{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:7px}
.ev-tr > li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}
.ev-tr > li time{font-variant-numeric:tabular-nums;color:var(--text-2);opacity:.75}
.ev-tr code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;padding:0 4px;border-radius:5px;background:var(--surface-hover)}
.ev-tr a{color:var(--text)}
.ev-tr-more ol{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:3px}
.ev-tr-pics{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.ev-tr-pics a{display:block;width:40px;height:50px;border-radius:7px;overflow:hidden;border:1px solid var(--border);opacity:.55;background:#fff}
.ev-tr-pics a.on{opacity:1;border:2px solid #A9C6C4}
.ev-tr-pics img{width:100%;height:100%;object-fit:cover;display:block}
body.role-client .ev-trace{display:none!important}

.ev-web-rich ol,.ev-web-rich ul{margin:6px 0 0;padding-left:20px}
.ev-web-rich p{margin:0 0 6px}
.ev-web-source{margin-top:8px}
.ev-web-source summary{cursor:pointer}

/* ---- Regole di questo cliente (Brand Kit) ---- */
.rules-card{padding:0;margin:0 0 14px;overflow:hidden}
.rules-head{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border:none;background:transparent;color:var(--text);cursor:pointer;text-align:left;font:inherit}
.rules-head .rh-t{font-weight:600}
.rules-head .rh-v{margin-left:auto;color:var(--text-2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rules-head svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--text-2);stroke-width:1.8;transition:transform .2s}
.rules-head[aria-expanded="true"] svg{transform:rotate(180deg)}
.rules-body{padding:0 16px 14px;display:flex;flex-direction:column;gap:14px}
.rules-area h4{margin:4px 0 6px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2)}
.rule-row{display:grid;grid-template-columns:minmax(110px,30%) 1fr auto;gap:10px;align-items:baseline;padding:7px 0;border-top:1px solid var(--border);font-size:13px}
.rule-row .rl{color:var(--text-2)}
.rule-row .rv{color:var(--text);overflow-wrap:anywhere}
.rule-row .rv.wide{grid-column:1 / 3}
.rule-row .rs{font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px;white-space:nowrap;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}
.rule-row .rs.src-kit{background:var(--accent-soft);color:var(--text);border-color:transparent}
.rule-row .rs.src-ref{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.rule-row .rs.src-learn{background:var(--warn-bg);color:var(--warn);border-color:transparent}
@media (max-width:600px){
  .rule-row{grid-template-columns:1fr auto;gap:4px 10px}
  .rule-row .rl{grid-column:1 / 2}
  .rule-row .rs{grid-row:1;grid-column:2}
  .rule-row .rv{grid-column:1 / 3}
}

/* ---- Revisione: sezioni avanzate chiuse, titolo = SKU, regole usate ---- */
details.card.fold > summary{list-style:none;cursor:pointer;user-select:none}
details.card.fold > summary::-webkit-details-marker{display:none}
details.card.fold > summary::after{content:"";flex:none;width:8px;height:8px;margin:0 4px 0 2px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(45deg) translateY(-2px);transition:transform .2s}
details.card.fold[open] > summary::after{transform:rotate(-135deg) translateY(-2px)}
details.card.fold > summary .chip{margin-left:auto}
details.card.fold{display:block}
details.card.fold > :not(summary){margin-top:12px}
.rv-title{display:flex;flex-direction:column;gap:2px;min-width:0}
.rv-title .card-title{overflow-wrap:anywhere}
.rv-rules:empty{display:none}
.rv-rules .chip{white-space:normal}
@media (max-width:900px){
  /* telefono: prima la foto, poi voto e problemi, poi correggi e consegna; gli strumenti avanzati in fondo */
  #reviewPanel .layout-main, #reviewPanel .layout-side{display:contents}
  #reviewPanel > * > .card, #reviewPanel > * > details.card{margin-bottom:0}
  #rvCompare{order:1} #rvDecide{order:2} #rvFixCard{order:3} #deliverCard{order:4}
  #rvRefsCard{order:5} #promptCard{order:6} #shootCard{order:7} #rvLogCard{order:8}
}

/* ---- barra in basso del telefono: al massimo 4 voci + Altro (la guida UI) ---- */
@media (max-width:900px){
  .nav-item[data-tab=spend]{display:none}                     /* Spesa: in «Altro» */
  body.has-orders .nav-item[data-tab=shop]{display:none}      /* clienti con gestionale: Ordini al posto di Negozio */
  .nav-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* ---- card dei lavori: lo SKU intero è il nome, il file è secondario ---- */
.job .sku-line{align-items:center;flex-wrap:wrap;row-gap:4px}
.job .sku-line b{flex:1 0 auto;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.25;font-size:12.5px}
.job .sku-line .shot{flex:none}
.job .name.sub{font-size:11px;font-weight:400;color:var(--text-2)}

/* ---- Account: sul telefono i pulsanti vanno sotto, niente scorrimento orizzontale ---- */
.acc-row > div:first-child{min-width:0}
@media (max-width:600px){
  .acc-row{grid-template-columns:1fr}
  .acc-row .acts{flex-wrap:wrap}
  .acc-row .acts .btn{flex:1 1 auto}
}
/* ---- tema chiaro: data e "Versetto del giorno" della Home erano bianchi su bianco ---- */
:root[data-theme="light"] .hero-top,:root[data-theme="light"] .hero-verse .verse-kicker{color:var(--text-2)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .hero-top,:root:not([data-theme="dark"]) .hero-verse .verse-kicker{color:var(--text-2)}}
.rule-row.custom .rl{color:var(--text);font-weight:600}
.rule-row.custom .rl::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--sage-400);margin-right:6px;vertical-align:middle}
.rules-head .rh-t{white-space:nowrap}
.card-head .chip:empty,summary .chip:empty{display:none}

/* foto con SKU senza articolo: avviso + crea gli articoli dalle foto */
.ev-unmatched{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
.ev-unmatched p{margin:0;flex:1 1 260px}
.mcard .ph .face-chip{position:absolute;left:8px;bottom:8px;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-weight:600}
.model-face{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--text-2)}
.model-face input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;min-height:0;margin:0;padding:0;box-shadow:none;accent-color:var(--acc)}
.model-face{white-space:nowrap}
.ev-art-card{width:min(640px,100%)}
.ev-art-photos{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px dashed var(--border);border-radius:14px}
.ev-season{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2);white-space:nowrap}
.ev-season select{min-width:0;max-width:260px}
.ev-job-art{line-height:1.5;padding:10px 12px;border:1px solid var(--border);border-radius:12px}
#evJobDesc{font:inherit;font-size:13px;line-height:1.5}
/* completa il look: prova su un prodotto */
.look-test{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.look-test-row{display:flex;gap:8px}
.look-test-row input{flex:1;min-width:0}
.lk-main{display:flex;gap:10px;align-items:center}
.lk-main > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.lk-roles{display:flex;flex-wrap:wrap;gap:6px}
.lk-roles span{font-size:12px;padding:4px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}
.lk-roles span.lk-zero{background:var(--bad-bg);border-color:transparent}
.lk-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.lk-item{display:flex;flex-direction:column;gap:3px;color:inherit;text-decoration:none;min-width:0}
.lk-img{aspect-ratio:4/5;border-radius:8px;background:var(--surface-2) center/cover no-repeat;border:1px solid var(--border)}
.lk-reason{padding:8px 10px;border-radius:var(--r);background:var(--warn-bg)}
.linkish{border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.ev-steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
/* pacchetto Eversell */
.ev-pack{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2)}
.ev-pack-top{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ev-pack-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 260px}
.ev-pack-alt{margin:0}
#evPackOut{display:flex;flex-direction:column;gap:10px}
#evPackOut.hidden{display:none}
.ev-pk-sum{display:flex;flex-wrap:wrap;gap:6px}
.ev-pk-chip{font-size:12.5px;padding:5px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}
.ev-pk-chip.bad{background:var(--bad-bg);border-color:transparent}
.ev-pk-chip.ok{background:var(--ok-bg,var(--accent-soft));border-color:transparent}
.ev-pk-probs{display:flex;flex-direction:column;gap:6px}
.ev-pk-p{border-radius:var(--r);padding:8px 10px;background:var(--surface);border:1px solid var(--border)}
.ev-pk-p.errore{background:var(--bad-bg);border-color:transparent}
.ev-pk-p.avviso{background:var(--warn-bg);border-color:transparent}
.ev-pk-p summary{cursor:pointer;font-size:13px;line-height:1.4}
.ev-pk-p p{margin:6px 0 0}
.ev-pk-lv{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.8;margin-right:4px}
.ev-pk-items{word-break:break-word}
/* indossato: controllo e approvazione della vista */
.cr-thumbs button.ok{box-shadow:inset 0 -3px 0 var(--ok)}
.cr-thumbs button.ko{box-shadow:inset 0 -3px 0 var(--bad)}
.cr-thumbs button.warn{box-shadow:inset 0 -3px 0 var(--warn)}
.cr-qa{margin:0 12px 12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:8px;font-size:13px}
.cr-qa.hidden{display:none}
.cq-head{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cq-st{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}
.cq-st.approvata{background:var(--ok-bg);border-color:transparent;color:var(--ok)}
.cq-st.bocciata{background:var(--bad-bg);border-color:transparent;color:var(--bad)}
.cq-st.da_rivedere{background:var(--warn-bg);border-color:transparent;color:var(--warn)}
.cq-lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.cq-els,.cq-iss{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}
.cq-els li{display:flex;gap:8px;align-items:flex-start;line-height:1.35}
.cq-ic{flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}
.cq-els li.ok .cq-ic{background:var(--ok-bg);color:var(--ok)}
.cq-els li.ko .cq-ic{background:var(--bad-bg);color:var(--bad)}
.cq-els li.hid .cq-ic{background:var(--surface-2);color:var(--text-2)}
.cq-els li.mid .cq-ic{background:var(--warn-bg);color:var(--warn)}
.cq-sw{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin:0 3px;border:1px solid rgba(0,0,0,.18)}
.cq-lock b{font-variant-numeric:tabular-nums}
.cq-lbl small{text-transform:none;letter-spacing:0;font-weight:400}
.cr-fin-row input:disabled{opacity:.45}
.cq-iss li{padding-left:12px;position:relative;line-height:1.35}
.cq-iss li::before{content:"";position:absolute;left:2px;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--warn)}
.cq-fin,.cq-skip{margin:0}
.cq-skip{color:var(--warn)}
.cq-btns{margin:2px 0 0}
.cq-btns .btn.on{outline:2px solid var(--ok);outline-offset:1px}
.cq-useraw{display:flex;gap:6px;align-items:center}
.cr-finset summary{cursor:pointer;list-style:none;display:flex;gap:6px;align-items:baseline;margin-bottom:0}
.cr-finset summary::-webkit-details-marker{display:none}
.cr-finset[open] summary{margin-bottom:8px}
.cr-fin-row{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:13px;padding:5px 0}
.cr-fin-row > span{display:flex;flex-direction:column;gap:1px;min-width:0}
.cr-fin-row select{max-width:58%}
.cq-useraw input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;min-height:0;margin:0;padding:0;box-shadow:none;accent-color:var(--acc)}
.cq-useraw{justify-content:flex-start}
.cr-finset summary .subtle{font-family:inherit;font-stretch:normal;font-weight:400;text-transform:none;letter-spacing:0;font-size:12px}
.cr-fin-row small{font-size:11.5px;line-height:1.3}
/* indossato fase 3: motore doppio e pose vere */
.cq-eng{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;border-radius:10px;background:var(--surface-2)}
.cq-alt{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.cq-eng .btn.small,.cr-pose-head .btn.small{min-height:30px;padding:4px 11px;font-size:12px}
.cr-poses{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.cr-poses:empty{display:none}
.cr-pose-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cr-pose-row{display:flex;align-items:center;gap:8px;min-width:0}
.cr-pose-v{flex:none;width:52px;font-size:12px;font-weight:600;color:var(--text-2)}
.cr-pose-th{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:5px;scrollbar-width:thin;min-width:0}
.cr-pose-th button{flex:none;width:46px;height:62px;padding:0;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer;overflow:hidden;display:grid;place-items:center}
.cr-pose-th button img{width:100%;height:100%;object-fit:contain}
.cr-pose-th button.txt{width:auto;height:34px;align-self:center;padding:0 12px;border-radius:999px;background:var(--surface-2);color:var(--text);font:inherit;font-size:11.5px;font-weight:600}
.cr-pose-th button.on{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ok);border-color:transparent}
.cr-pose-th button.txt.on{background:var(--btn-primary);color:var(--btn-primary-text);box-shadow:none}
.pm-row select{flex:0 1 auto}
.pm-shared{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
.pm-shared > span{display:flex;flex-direction:column}
.pm-pick{align-self:flex-start}
.pm-pick.busy{opacity:.6;pointer-events:none}
.pm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.pm-item{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--border);border-radius:12px;position:relative}
.pm-item img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#fff;border-radius:8px}
.pm-txt{display:flex;flex-direction:column;gap:2px;font-size:13px;padding-right:30px}
.pm-item .btn.icon{position:absolute;right:6px;bottom:6px;width:30px;height:30px;min-height:0;padding:0}
.cr-nbp-test{gap:8px}
.cr-nbp-test > span{flex:1}
.cr-nbp-test .btn{flex:none;min-height:32px;padding:5px 12px;font-size:12.5px}
/* casting da reference */
.cast-list{display:flex;flex-direction:column;gap:12px;margin:0 0 14px}
.cast-list:empty{display:none}
.cast-card{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:12px;display:flex;flex-direction:column;gap:10px}
.cc-head{display:flex;gap:12px;align-items:flex-start}
.cc-ref{width:56px;height:72px;object-fit:cover;border-radius:8px;flex:none;background:var(--surface-2)}
.cc-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cc-t b{font-size:14.5px}
.cc-note{color:var(--warn)}
.cc-act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:none;max-width:45%}
.cc-act .btn.small{min-height:30px;padding:4px 11px;font-size:12px}
.cc-act .btn.icon.small{width:30px;padding:0}
.cc-cands{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.cc-x{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--surface-2);padding:0;cursor:pointer;display:grid;place-items:center}
.cc-x img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cc-x.ok{box-shadow:0 0 0 2px var(--ok)}
.cc-x.picked{box-shadow:0 0 0 3px var(--btn-primary-text,#fff),0 0 0 5px var(--ok)}
.cc-x.ko img{opacity:.72}
.cc-x.err{cursor:default;font-size:11.5px;color:var(--text-2);text-align:center;padding:8px}
.cc-b{position:absolute;left:6px;bottom:6px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:11.5px;font-weight:700}
.cc-x.ok .cc-b{background:var(--ok)}
.cc-x.wait{cursor:default}
.spin{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--text);animation:castspin .9s linear infinite;display:block}
@keyframes castspin{to{transform:rotate(360deg)}}
.cm-refs{display:flex;gap:8px;flex-wrap:wrap}
.cm-refs:empty{display:none}
.cm-ref{position:relative;width:84px;height:108px;border-radius:10px;overflow:hidden;background:var(--surface-2)}
.cm-ref img{width:100%;height:100%;object-fit:cover}
.cm-ref .btn{position:absolute;top:4px;right:4px;width:26px;height:26px;min-height:0;padding:0}
.cm-pick{align-self:flex-start}
.cm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cm-grid .field select,.cm-grid .field input{width:100%}
.cm-assign{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
.cm-cost{margin-right:auto;align-self:center}
.cv-card{width:min(900px,100%)}
.cv-pics{display:grid;grid-template-columns:2fr 1fr;gap:12px;align-items:start}
.cv-pics figure{margin:0;display:flex;flex-direction:column;gap:4px}
.cv-pics img{width:100%;border-radius:10px;background:var(--surface-2)}
.cv-pics figcaption{font-size:11.5px;color:var(--text-2)}
.cv-assign{display:flex;align-items:center;gap:8px;font-size:13px;margin-right:auto}
@media (max-width:700px){.cm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-head{flex-wrap:wrap}.cc-act{max-width:none;width:100%;justify-content:flex-start}.cv-pics{grid-template-columns:1fr 1fr}}
/* guida taglie per brand (studio) */
.bf-sum{font-size:13px;line-height:1.5;margin:4px 0 10px;display:flex;flex-direction:column;gap:10px}
.bf-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.bf-tools input{max-width:220px;min-height:34px}
.bf-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;overflow:hidden}
.bf-list:empty{display:none}
.bf-row{border-bottom:1px solid var(--border)}
.bf-row:last-child{border-bottom:0}
.bf-row.off summary{opacity:.55}
.bf-row > summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}
.bf-row > summary::-webkit-details-marker{display:none}
.bf-row > summary::before{content:'›';color:var(--text-2);transition:transform .2s;flex:none}
.bf-row[open] > summary::before{transform:rotate(90deg)}
.bf-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1;min-width:0}
.bf-name b{font-size:14px}
.bf-n{flex:none;white-space:nowrap}
.bf-b{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-2);white-space:nowrap}
.bf-b.ok{background:var(--ok-bg);color:var(--ok)}
.bf-b.mid{background:var(--warn-bg);color:var(--warn)}
.bf-b.fix{background:var(--warn-bg);color:var(--warn)}
.bf-body{padding:0 12px 12px 30px;display:flex;flex-direction:column;gap:6px}
.bf-body p{margin:0;line-height:1.45}
.bf-ctl{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}
.bf-ctl select{margin-left:6px}
.bf-ctl .btn.small{min-height:30px;padding:4px 11px;font-size:12px}
.bf-off{display:flex;align-items:center;gap:5px;color:var(--text-2)}
.bf-empty{padding:12px}
.sz-adv{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}
.sz-adv > summary{cursor:pointer;font-weight:600;font-size:13.5px}
.sz-adv-btns{margin:10px 0 6px}
#bfSave.pulse{box-shadow:0 0 0 3px var(--warn-bg)}
@media (max-width:700px){.bf-tools input{max-width:none;width:100%}.bf-body{padding-left:12px}}
.bf-list > .bf-row,.bf-list > .bf-row + .bf-row{margin:0;padding-top:0;border-radius:0;border-top:0}
.bf-off input{width:16px;height:16px;min-height:0;padding:0;margin:0;flex:none}

/* feed Google Shopping */
.gf-sec{border-top:1px solid var(--border);padding-top:12px;margin-top:4px}
.gf-sec > summary{font-size:14px}
.gf-sec[open] > summary{margin-bottom:10px}
.gf-sec .switch-row{align-items:flex-start;font-size:14px;margin-bottom:10px}
.gf-sec .switch-row > span{display:flex;flex-direction:column;gap:3px}
.gf-sec .field small{font-size:12px}
.gf-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px;font-size:13.5px;line-height:1.45}
.gf-steps li > span{display:block;margin-bottom:6px}
.gf-link{display:flex;gap:8px;align-items:center}
.gf-link input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}
.gf-cats{display:flex;flex-direction:column;border-top:1px solid var(--border);margin-bottom:10px}
.gf-cat{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr);gap:10px;align-items:center;padding:8px 2px;border-bottom:1px solid var(--border);font-size:13px}
.gf-cat b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gf-cat select{width:100%;min-width:0;font-size:12.5px}
.gf-cat select.set{border-color:var(--accent)}
.gf-meta{display:flex;flex-wrap:wrap;gap:4px}
#gfTools input[type=search]{flex:1;min-width:160px;margin-right:auto}
#gfStats .stat-value small{font-size:13px}
.pills > .sev-info:not(.on){border-color:rgba(40,160,90,.45)}
@media (max-width:900px){
  .gf-cat{grid-template-columns:minmax(0,1fr) auto}
  .gf-cat select{grid-column:1/3}
  .gf-link{flex-wrap:wrap}
}

/* Produzione: su telefono resta solo «Seleziona» (esporta immagini e testi degli still life scelti) */
@media (max-width:900px){
  .card-tabs .bulk{display:flex;width:auto;margin-left:auto}
  .card-tabs .bulk #bulkFmt,.card-tabs .bulk #bulkDl{display:none}
}

/* Revisione: correggi impaginazione (ombra a fianco del pulsante) */
.layout-row select{width:auto;flex:0 0 auto;min-height:40px}
@media (max-width:560px){.layout-row{flex-wrap:wrap}.layout-row select{flex:1 1 100%}}

/* Revisione: foto in lavorazione (correggi, rifai, impaginazione) — si vede sulla foto */
#rvCompare{position:relative}
.rv-working{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:24px;text-align:center;border-radius:inherit;background:rgba(0,0,0,.6);color:#fff;
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.rv-working b{font-size:15px;color:#fff}
.rv-working small{color:rgba(255,255,255,.8);max-width:340px}
.rv-working.stopped{background:rgba(0,0,0,.55);backdrop-filter:none;-webkit-backdrop-filter:none}
.rv-working.stopped .rv-spin{display:none}
.rv-spin{width:30px;height:30px;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin .9s linear infinite}
@media (prefers-reduced-motion:reduce){.rv-spin{animation-duration:2.5s}}

/* pulsante al lavoro (download, caricamenti): si vede e non si clicca due volte */
.btn.busy,.linkish.busy,button.busy{pointer-events:none;opacity:.55;cursor:progress}

/* copia negli appunti: pulsantini accanto a titolo e descrizione */
.field .fh{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.copy-acts{display:inline-flex;gap:6px;margin-left:auto}
.copy-row{margin:8px 0 2px;flex-wrap:wrap}
.copy-btn{font:inherit;font-size:12px;font-weight:600;line-height:1;padding:6px 11px;border-radius:var(--pill,999px);border:1px solid var(--border-strong);
  background:var(--surface);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s,color .15s;min-height:28px}
.copy-btn:hover{background:var(--surface-hover)}
.copy-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.copy-btn.copied,.btn.copied{border-color:var(--sage-500);color:var(--sage-500)}
/* sistema la stagione */
.cf-what{display:flex;flex-wrap:wrap;gap:6px 16px;padding-top:6px}
.cf-sum{display:flex;flex-direction:column;gap:8px}
.cf-sum .pills > .pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:12.5px;font-weight:600;white-space:nowrap}
.cf-sum .pill b{font-weight:700;opacity:.75}
.cf-sum .pills > .pill.sev-consiglio{background:transparent;color:var(--text-2);border-color:rgba(230,150,30,.35)}
.cf-sum .pills > .pill.sev-importante{border-color:rgba(230,150,30,.55)}
.cf-list{display:flex;flex-direction:column;gap:10px}
.cf-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);transition:opacity .15s}
.cf-item.off{opacity:.5}
.cf-body{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13.5px}
.cf-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.cf-head b{min-width:0;overflow:hidden;text-overflow:ellipsis}
.cf-head a{margin-left:auto;color:var(--text-2)}
.cf-part{display:flex;flex-direction:column;gap:5px}
.cf-part textarea{width:100%;min-height:52px;font-size:13px;resize:vertical}
.cf-cat{font-weight:600;padding-left:24px}
@media (max-width:560px){.cf-item{grid-template-columns:minmax(0,1fr)}.cf-item .at-pick{display:flex;align-items:center;gap:10px}.cf-part textarea{min-height:92px}}
.cf-eans{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-2)}
.cf-eans b{color:var(--text);font-weight:600;margin-right:2px}
.cf-auto{padding-top:10px;border-top:1px solid var(--border)}
.cf-auto small{display:block;margin-top:2px;max-width:60ch}
@media (max-width:560px){.cf-head a{margin-left:0}}
.cf-attrs{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--text-2);padding-left:24px}
.cf-attrs b{color:var(--text);font-weight:600;margin-right:3px}
.cf-part input[type=text]{width:100%}

/* v89 · E-mail per Shopify Email */
.em-pad{padding:16px 18px 6px}
.em-kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 14px}
.em-kind{display:flex;flex-direction:column;gap:6px;text-align:left;padding:14px 16px;border-radius:var(--r-card);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;transition:border-color .2s,background .2s,transform .12s}
.em-kind b{font-size:14.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.em-kind span{font-size:12.5px;line-height:1.45;color:var(--text-2)}
.em-kind:hover{border-color:var(--border-strong)}
.em-kind.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--surface)}
.em-kind:active{transform:scale(.99)}
.chip.ok{background:var(--ok-bg);color:var(--ok);border-color:transparent;font-size:11px;padding:1px 8px}
.em-brief textarea{resize:vertical}
.em-pick{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.em-pick-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.em-pick-head .field-label{font-weight:500;margin-right:auto}
.em-pick-head input{flex:1 1 200px;max-width:320px}
.em-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;max-height:430px;overflow:auto;padding:2px}
.em-prod{position:relative;display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.em-prod img,.em-prod i{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;background:var(--surface-hover);display:block}
.em-prod span{font-size:12px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.em-prod small{font-size:11px;color:var(--text-2)}
.em-prod em{position:absolute;top:10px;left:10px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700;background:var(--accent);color:var(--accent-text)}
.em-prod.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.em-prod.off{opacity:.55}
.em-chosen{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:28px}
.em-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 3px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:12px;max-width:100%}
.em-chip img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.em-chip b{font-size:11px}
.em-chip button{border:0;background:transparent;color:var(--text-2);font-size:16px;line-height:1;width:22px;height:22px;border-radius:50%;cursor:pointer}
.em-chip button:hover{background:var(--surface-hover);color:var(--text)}
.em-list{display:flex;flex-direction:column}
.em-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 18px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.em-row:hover,.em-row.on{background:var(--surface-hover)}
.em-row-t{display:flex;flex-direction:column;min-width:0}
.em-row-t b,.em-row-t small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.em-editor{display:grid;grid-template-columns:minmax(0,1fr) 690px;gap:22px;align-items:start}
.em-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:1300px){.em-editor{grid-template-columns:minmax(0,1fr)}.em-side{position:static}}
.em-form,.em-side{min-width:0}
.em-form{display:flex;flex-direction:column;gap:12px}
.em-form textarea{resize:vertical}
.em-subjects{margin-top:-6px}
.em-subjects button{white-space:normal;text-align:left}
.em-toggles{display:flex;flex-direction:column;gap:6px}
.em-hero{border:1px dashed var(--border-strong);border-radius:10px;padding:8px;min-height:60px;display:flex;align-items:center;justify-content:center}
.em-hero img{max-width:100%;max-height:180px;border-radius:6px;display:block}
.em-side{position:sticky;top:16px;display:flex;flex-direction:column;gap:12px}
.em-prev-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.em-frame-wrap{max-width:100%;border-radius:12px;border:1px solid var(--border);background:#e9e7e3;overflow:auto;max-height:78vh;padding:0}
.em-frame-wrap iframe{display:block;width:100%;min-width:640px;min-height:400px;border:0;background:#fff;margin:0 auto}
.em-frame-wrap.mobile{padding:14px 0;background:var(--surface-2)}
.em-frame-wrap.mobile iframe{width:375px;min-width:0;max-width:100%;border-radius:16px;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.em-copy-row{margin:0}
.em-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:12.5px}
.em-checks li{padding:7px 10px;border-radius:8px;background:var(--surface-2);color:var(--text-2)}
.em-checks li.ok{background:var(--ok-bg);color:var(--ok)}
.em-checks li.warn{background:var(--warn-bg);color:var(--warn)}
.em-checks li.err{background:var(--bad-bg);color:var(--bad)}
.em-checks li.info{background:var(--info-bg);color:var(--info)}
.em-how{font-size:13px;line-height:1.5;padding:12px 14px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}
.em-how ol{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.em-how .small-btn{margin-left:6px;min-height:26px;padding:2px 10px;font-size:12px}
.em-style summary{display:flex;flex-direction:column;gap:2px;cursor:pointer;list-style:none}
.em-style summary::-webkit-details-marker{display:none}
.em-style summary h3::after{content:" ›";color:var(--text-2)}
.em-style[open] summary{margin-bottom:12px}
.em-style[open] summary h3::after{content:" ⌄"}
.em-style > *:not(summary){margin-top:12px}
.em-logo-row{display:flex;gap:16px;align-items:center}
.em-logo{width:160px;height:80px;flex:none;border-radius:10px;border:1px solid var(--border);display:grid;place-items:center;padding:8px}
.em-logo img{max-width:100%;max-height:100%;object-fit:contain}
.em-logo-f{flex:1;display:flex;flex-direction:column;gap:8px}
.em-inline{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.em-inline input{width:84px}
.em-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.em-color{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;font-size:12.5px}
.em-color input{width:34px;height:34px;padding:0;border:0;background:none;min-height:auto;cursor:pointer;flex:none}
.em-color span{display:flex;flex-direction:column}
.em-color small{color:var(--text-2);font-size:11px}
@media (max-width:900px){
  .nav-item[data-tab=email]{display:none!important}
  .em-kinds{grid-template-columns:1fr}
  .em-two{grid-template-columns:1fr}
  .em-frame-wrap{max-height:none}
  .em-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-height:360px}
  .em-logo-row{flex-direction:column;align-items:stretch}
  .em-logo{width:100%}
  .em-row{grid-template-columns:minmax(0,1fr) auto;padding:12px 16px}
  .em-row .chip{grid-column:1/3;justify-self:start}
}

/* edizione cliente (istanza con le chiavi API del cliente): niente Piano né crediti */
body.ed-cliente .nav-item[data-tab=plan],body.ed-cliente #sheetList [data-go=plan],body.ed-cliente #stCredits,body.ed-cliente #upCredits{display:none!important}

/* v90 · menu a gruppi, sottosezioni, «Come funziona» */
.nav-group{margin:14px 10px 4px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);opacity:.7}
.nav-items .nav-group:first-child{margin-top:4px}
.sheet-group{margin:14px 4px 2px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);opacity:.75}
.sheet-list .sheet-group:first-child{margin-top:2px}
body.has-orders #sheetOrders{display:none!important}
.subnav{display:flex;flex-wrap:wrap;gap:6px;margin:-6px 0 18px;position:sticky;top:0;z-index:12;padding:8px 0;background:linear-gradient(var(--bg) 70%,transparent)}
.subnav > button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,color .2s}
.subnav > button:hover{color:var(--text)}
.subnav > button.on{background:var(--btn-primary);color:var(--btn-primary-text);border-color:transparent;box-shadow:var(--btn-primary-shadow)}
.subnav > button .n{font-size:11px;opacity:.75}
.subnav.single{display:none}
.sub-off{display:none!important}
details.howto{margin:-2px 0 10px}
details.howto > summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:12.5px;font-weight:600;color:var(--text-2)}
details.howto > summary::-webkit-details-marker{display:none}
details.howto > summary::before{content:"?";display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--border-strong);font-size:10px;font-weight:700}
details.howto[open] > summary{color:var(--text)}
details.howto > p,details.howto > div{margin:8px 0 0;font-size:12.5px;line-height:1.55;color:var(--text-2)}
.ann details.howto{margin-top:6px}
@media (max-width:900px){
  .nav-group{display:none}
  .nav-items .nav-item{display:none!important}
  .nav-items .nav-item[data-tab=produce],.nav-items .nav-item[data-tab=review],.nav-items .nav-item[data-tab=worn],
  body:not(.has-orders) .nav-items .nav-item[data-tab=shop],body.has-orders .nav-items .nav-item[data-tab=orders]:not(.hidden),
  .nav-items .nav-more{display:flex!important}
  .subnav{top:calc(58px + env(safe-area-inset-top));margin:-4px -16px 14px;padding:8px 16px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .subnav > button{flex:none}
}
.em-style > summary{pointer-events:none}
.em-style summary h3::after,.em-style[open] summary h3::after{content:none}
/* Produzione: intestazione più bassa (saluto e versetto a sinistra, clienti a destra), il caricamento sale */
@media (min-width:901px){
  .hero{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:center;padding:22px 28px 20px;border-radius:26px}
  .hero-top{grid-column:1/-1}
  .hero-title{grid-column:1;font-size:34px;margin:10px 0 2px}
  .hero-verse{grid-column:1;margin:10px 0 0;padding:11px 40px 10px 14px;border-radius:16px}
  .hero-verse .verse-kicker{margin-bottom:4px}
  .hero-verse blockquote{font-size:15px;margin-bottom:6px}
  .hero-clients{grid-column:2;grid-row:2/span 2;margin:0;padding:4px 2px;max-width:440px;align-self:center}
  .hc-av{width:52px;height:52px;font-size:16px}
}
details.tpl-add > summary{list-style:none;width:fit-content;cursor:pointer}
details.tpl-add > summary::-webkit-details-marker{display:none}
details.tpl-add[open] > summary{margin-bottom:10px}

/* v91 · Home: lavoro, crediti, prossime azioni, movimenti, tutti i clienti (struttura a card della reference) */
.produce-header{display:flex}
.home-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:stretch}
.home-grid > .card{margin:0;min-width:0}
.hm-brands{grid-column:1/-1}
.hm-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.hm-kicker{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:600;color:var(--text-2)}
.hm-work{background:radial-gradient(80% 90% at 100% 0%,rgba(var(--acc-rgb),.07),transparent 70%),var(--surface)}
.hm-big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:2px}
.hm-big b{font-family:"Archivo Display",system-ui,sans-serif;font-size:68px;line-height:.92;font-weight:750;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.hm-big span{font-size:17px;font-weight:600;color:var(--text-2)}
.hm-credit .hm-big b{font-size:46px}
.hm-sub{margin:0;font-size:13.5px;line-height:1.45;color:var(--text-2)}
.hm-bar{display:flex;gap:3px;height:10px;border-radius:99px;overflow:hidden;background:var(--surface-2);margin-top:4px}
.hm-bar i{display:block;min-width:8px;height:100%}
.hm-bar i.done,.hm-legend i.done{background:var(--ok)}
.hm-bar i.review,.hm-legend i.review{background:var(--text)}
.hm-bar i.run,.hm-legend i.run{background:var(--info)}
.hm-bar i.other,.hm-legend i.other{background:var(--bad);opacity:.55}
.hm-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--text-2)}
.hm-legend span{display:inline-flex;align-items:center;gap:6px}
.hm-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}
.hm-legend b{color:var(--text);font-variant-numeric:tabular-nums}
.hm-cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.hm-state{padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:600;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2)}
.hm-state.on{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.hm-state.off{background:var(--bad-bg);color:var(--bad);border-color:transparent}
.hm-pl{margin-top:2px}
.hm-ai{margin:0;padding-top:10px;border-top:1px dashed var(--border);font-size:12px;color:var(--text-2)}
.hm-ai b{color:var(--text)}
.hm-act-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.hm-act{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);min-width:0}
.hm-act b{font-size:13.5px;line-height:1.3;font-weight:650}
.hm-act p{margin:0;font-size:12.5px;line-height:1.45;color:var(--text-2);flex:1}
.hm-act .btn{margin-top:4px}
.hm-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text);flex:none}
.hm-ico svg{width:17px;height:17px}
.hm-act.lv-alta .hm-ico{background:var(--warn-bg);color:var(--warn);border-color:transparent}
.hm-act.lv-info .hm-ico{color:var(--text-2)}
.hm-none{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 10px}
.hm-none .hm-ico{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.hm-none p{margin:0;font-size:12.5px;color:var(--text-2);max-width:340px}
.hm-move-list{display:flex;flex-direction:column}
.hm-move{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}
.hm-move:last-child{border-bottom:0}
.hm-mi{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);font-weight:700;color:var(--text-2)}
.hm-mi.plus{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.hm-mt{display:flex;flex-direction:column;min-width:0}
.hm-mt b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-mt small{font-size:11.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-md{font-weight:700;font-variant-numeric:tabular-nums}
.hm-md.plus{color:var(--ok)}
.hm-blist{display:flex;flex-direction:column;margin:0 -20px -20px}
.hm-brow{display:grid;grid-template-columns:40px minmax(150px,1.5fr) repeat(4,minmax(72px,.55fr)) minmax(130px,.9fr) minmax(150px,1fr);align-items:center;gap:12px;padding:12px 20px;border:0;border-top:1px solid var(--border);background:none;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background .15s}
.hm-brow:hover{background:var(--surface-hover)}
.hm-brow.on{background:var(--accent-soft)}
.hm-brow:last-child{border-radius:0 0 var(--r-card) var(--r-card)}
.hm-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:.02em;color:#fff;background:hsl(var(--h) 30% 42%)}
.hm-bname{display:flex;flex-direction:column;min-width:0}
.hm-bname b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-bname small,.hm-bm small,.hm-bacct{font-size:11.5px;color:var(--text-2)}
.hm-bm{display:flex;flex-direction:column;min-width:0}
.hm-bm b{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}
.hm-bm.zero b{color:var(--text-2);opacity:.45}
.hm-bm.warn b{color:var(--warn)}
.hm-bm.money b{font-size:15px}
.hm-skel{height:150px;border-radius:12px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-hover) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:hmSk 1.2s linear infinite}
@keyframes hmSk{to{background-position:-200% 0}}
.hm-flash{animation:hmFlash 1.8s var(--ease-out)}
@keyframes hmFlash{0%,45%{box-shadow:0 0 0 3px rgba(var(--acc-rgb),.5),var(--card-shadow)}100%{box-shadow:var(--card-shadow)}}
#tab-shop [data-sub],#tab-kit .annotated,#tab-email [data-sub]{scroll-margin-top:76px}
@media (max-width:1180px) and (min-width:901px){
  .hm-brow{grid-template-columns:40px minmax(130px,1.4fr) repeat(4,minmax(62px,.5fr)) minmax(120px,.9fr)}
  .hm-bacct{display:none}
}
@media (max-width:900px){
  /* barra in basso: Home al posto di Indossato (che passa in «Altro»); Scatta anche dalla Home */
  .nav-items .nav-item[data-tab=worn]{display:none!important}
  .nav-items .nav-item[data-tab=home]{display:flex!important}
  body[data-tab=home] .fab{display:grid}
  .home-grid{grid-template-columns:1fr;gap:12px}
  .hm-big b{font-size:54px}
  .hm-credit .hm-big b{font-size:40px}
  .hm-act-grid{grid-template-columns:1fr;gap:8px}
  .hm-act{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;row-gap:3px;padding:12px}
  .hm-act .hm-ico{grid-row:1/span 3}
  .hm-act b,.hm-act p,.hm-act .btn{grid-column:2}
  .hm-act .btn{justify-self:start}
  .hm-blist{margin:0 -16px -16px}
  .hm-brow{grid-template-columns:36px minmax(0,1fr) auto auto;gap:10px;padding:12px 16px}
  .hm-av{width:36px;height:36px;font-size:12px}
  .hm-bm.k-run,.hm-bm.k-done,.hm-bm.money,.hm-bacct{display:none}
  .hm-bm{align-items:flex-end;text-align:right}
  .hm-bm small{font-size:10.5px}
  #tab-shop [data-sub],#tab-kit .annotated,#tab-email [data-sub]{scroll-margin-top:124px}
}

/* v92 · Higgsfield per i lavori dello studio (sezione Account) */
.hf-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.hf-top > div{display:flex;flex-direction:column}
.hf-switch{margin:4px 0}
.hf-reserve{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}
.hf-reserve label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600}
.hf-reserve input{width:140px}
.hf-reserve small{flex-basis:100%}
.hf-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.hf-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:9px 12px;border-bottom:1px solid var(--border);font-size:12.5px}
.hf-row:last-child{border-bottom:0}
.hf-row small{grid-column:1/-1}
/* v93 · coda Higgsfield (sezione Account) */
.hf-queue{margin:2px 0 0}
@media (max-width:560px){.hf-reserve label{flex:1 1 40%}.hf-reserve input{width:100%}}
/* v95 · tutte le versioni dello still life (studio) + accordo cervello-studio (Account) */
:root{--ag-bar:var(--sage-500)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ag-bar:var(--sage-300)}}
:root[data-theme="dark"]{--ag-bar:var(--sage-300)}
.shape-fix.versions .sf-head b{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.vs-pref{font-weight:500}
.vs-strip{display:flex;gap:10px;overflow-x:auto;width:0;min-width:100%;padding:2px 2px 6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.vs-card{flex:0 0 132px;scroll-snap-align:start;display:flex;flex-direction:column;gap:3px;padding:7px;border:1px solid var(--border);border-radius:12px;cursor:pointer;background:var(--surface);font-size:12px;min-width:0}
.vs-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.vs-card.on{border-color:var(--sage-400);box-shadow:0 0 0 1px var(--sage-400) inset}
.vs-card.peek{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn) inset}
.vs-card img{width:100%;aspect-ratio:4/5;object-fit:contain;border-radius:8px;background:#fff;margin-bottom:3px}
.vs-card b{font-size:12.5px;line-height:1.25;overflow-wrap:anywhere}
.vs-card small{color:var(--text-2);line-height:1.3}
.vs-card .vs-tag{color:var(--text);font-weight:600}
.vs-card .btn{margin-top:auto;width:100%;justify-content:center}
.ag-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 12px}
.ag-tile{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);min-width:0}
.ag-v{font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}
.ag-l{font-size:12.5px;font-weight:600;color:var(--text)}
.ag-tile small{color:var(--text-2);font-size:11.5px;line-height:1.35}
.ag-chart{border:1px solid var(--border);border-radius:12px;padding:10px 12px 6px;margin-bottom:12px}
.ag-chart-h{display:flex;flex-direction:column;gap:1px;margin-bottom:8px}
.ag-chart-h b{font-size:12.5px;color:var(--text)}
.ag-chart-h small{font-size:11.5px;color:var(--text-2)}
.ag-weeks{display:flex;align-items:flex-end;gap:2px;height:96px;border-bottom:1px solid var(--border)}
.ag-w{flex:1 1 0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;position:relative;cursor:pointer;outline:none;padding-bottom:16px;min-width:0}
.ag-w small{position:absolute;bottom:0;font-size:10px;color:var(--text-2);font-variant-numeric:tabular-nums}
.ag-bar{display:block;width:min(18px,70%);background:var(--ag-bar);border-radius:4px 4px 0 0}
.ag-bar.none{height:2px!important;background:var(--border-strong);border-radius:1px}
.ag-w.on .ag-bar,.ag-w:hover .ag-bar,.ag-w:focus-visible .ag-bar{filter:brightness(1.12);box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--ag-bar)}
.ag-tip{min-height:1.4em;margin:6px 0 0}
.ag-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;margin-bottom:6px}
.ag-table{width:100%;border-collapse:collapse;font-size:12.5px}
.ag-table th,.ag-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
.ag-table th{font-weight:600;color:var(--text-2);font-size:11.5px}
.ag-table tr:last-child td{border-bottom:0}
.ag-table td small{color:var(--text-2)}
.ag-why{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.ag-why b{font-size:12.5px}
@media (max-width:560px){.ag-tiles{grid-template-columns:1fr}.ag-v{font-size:22px}.vs-card{flex-basis:118px}.ag-w:nth-child(even) small{visibility:hidden}}
/* v96 · segni sulla foto, perché della scelta, stelle, regole con prove, allenamento */
.mk-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:6px 0}
.mk-open.on{border-color:var(--warn);color:var(--warn);background:var(--warn-bg)}
.mk-count{min-width:0}
body.sheet-open{overflow:hidden}
.mark-sheet{position:fixed;inset:0;z-index:72;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}
.mk-panel{width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35);padding:14px;display:flex;flex-direction:column;gap:10px}
:root[data-theme="dark"] .mk-panel{background:#0a0a0a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mk-panel{background:#0a0a0a}}
.mk-head{display:flex;flex-direction:column;gap:2px}
.mk-stage{position:relative;align-self:center;display:inline-block;line-height:0;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair;border-radius:10px;overflow:hidden;background:#fff}
.mk-stage img{display:block;max-width:100%;max-height:58vh;width:auto;height:auto;pointer-events:none}
.mk-stage svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.mk-box{fill:rgba(220,60,40,.12);stroke:#e0452e;stroke-width:2.5}
.mk.sel .mk-box{fill:rgba(220,60,40,.2);stroke-width:3.5}
.mk-draft{fill:rgba(220,60,40,.08);stroke:#e0452e;stroke-width:2;stroke-dasharray:6 4}
.mk-num{position:absolute;transform:translate(-40%,-40%);min-width:22px;height:22px;border-radius:11px;background:#e0452e;color:#fff;font:600 12px/22px var(--font);text-align:center;box-shadow:0 0 0 2px #fff;pointer-events:none}
.mk-num.sel{background:#b3301d}
.mk-reasons{display:flex;flex-direction:column;gap:6px}
.mk-reasons .chips button,.vs-why .chips button{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:500;cursor:pointer;color:var(--text)}
.mk-reasons .chips button.on,.vs-why .chips button.on{border-color:var(--text);background:var(--text);color:var(--bg)}
.mk-reasons .linkish{align-self:flex-start;font-size:12.5px;color:var(--text-2)}
.vs-card{position:relative}
.vs-star{position:absolute;top:10px;right:10px;z-index:1;width:28px;height:28px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.9);color:#9aa5a5;font-size:15px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.vs-star.on{color:#c98a00;border-color:#e3c36a;background:#fff8e1}
.vs-one{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.vs-pin1.on{border-color:#e3c36a;background:#fff8e1;color:#7a5400}
.vs-why{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px dashed var(--border-strong);border-radius:12px}
.vs-why .linkish{align-self:flex-start;font-size:12.5px;color:var(--text-2)}
.bl-item.prop{border-style:dashed}
.bl-chip{font-size:11px;padding:1px 7px;vertical-align:1px}
.bl-eff{display:block;color:var(--text-2);margin-top:2px}
.bl-eff.up{color:var(--ok)}
.bl-eff.down{color:var(--bad)}
.bl-warn{display:block;color:var(--warn);margin-top:2px}
.bl-proofs{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.bl-proofs img{width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:zoom-in}
.bl-actions{display:flex;gap:6px;margin-top:6px}
.tr-panel{width:min(880px,100%)}
.tr-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tr-side{position:relative;display:flex;flex-direction:column;gap:8px;align-items:stretch;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;font:inherit;color:inherit}
.tr-side:hover,.tr-side:focus-visible{border-color:var(--text)}
.tr-side img{width:100%;aspect-ratio:4/5;object-fit:contain;border-radius:8px;background:#fff}
.tr-lab{position:absolute;top:14px;left:14px;min-width:26px;height:26px;border-radius:13px;background:rgba(0,0,0,.65);color:#fff;font-weight:700;display:grid;place-items:center}
.tr-side .btn{justify-content:center}
.tr-done{padding:20px 4px;display:flex;flex-direction:column;gap:6px}
@media (max-width:560px){.mark-sheet{padding:0;place-items:end center}.mk-panel{border-radius:16px 16px 0 0;max-height:94vh}.mk-stage img{max-height:52vh}.tr-grid{gap:6px}.tr-side{padding:5px}}
/* importa foto già pronte */
.import-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px}
.import-row .subtle{flex:1 1 260px}
.job .thumb .imp-badge{position:absolute;left:8px;bottom:8px;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-weight:600;letter-spacing:.02em}
.imp-groups{display:grid;gap:10px;margin-top:12px;max-height:52vh;overflow:auto}
.imp-g{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px}
.imp-th{display:flex;gap:6px;overflow-x:auto;min-width:0}
.imp-th img{width:64px;height:80px;object-fit:cover;border-radius:8px;flex:none}
.imp-sku{display:grid;gap:4px}.imp-sku input{width:100%}
@media (max-width:640px){.imp-g{grid-template-columns:1fr}}
