:root{--bg:#f3f0ea;--paper:#fff;--ink:#171717;--muted:#6f6a63;--line:#ded8cf;--accent:#9b7045;--danger:#8d2727}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif}.shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:46px 0 70px}.narrow{width:min(760px,calc(100% - 32px))}.brand{font-size:32px;font-weight:700;letter-spacing:-.04em}.brand span{font-weight:300}.brand.small{font-size:24px}.hero-home{padding-top:18vh}.hero-home h1{font-size:clamp(42px,7vw,78px);line-height:.98;max-width:900px;margin:28px 0}.hero-home p,.lead{font-size:18px;color:var(--muted);max-width:700px;line-height:1.6}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;margin:20px 0;box-shadow:0 8px 30px rgba(0,0,0,.04)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid h2{grid-column:1/-1;margin:22px 0 0}.form-grid .check,.form-grid .note,.form-grid .full{grid-column:1/-1}label{display:grid;gap:7px;font-size:13px;font-weight:600}input,button{font:inherit}input{width:100%;border:1px solid var(--line);background:#fff;padding:12px 13px;border-radius:10px;color:var(--ink)}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.4}.check input{width:auto;margin-top:3px}.check.mini{align-items:center}.check.mini input{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:#111;color:#fff;padding:12px 17px;text-decoration:none;cursor:pointer}.btn.secondary{background:#fff;color:#111;border:1px solid var(--line)}.btn.danger{background:var(--danger)}.btn.full{width:100%}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.top h1{margin:8px 0 0}.dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat{background:#111;color:#fff;border-radius:16px;padding:22px}.stat b{display:block;font-size:42px}.stat span{color:#ccc}.flash{padding:14px 16px;border-radius:10px;margin:16px 0;background:#e5f4e9}.flash.error{background:#f8e4e4;color:#711}.flash.success{background:#e5f4e9;color:#164f28}.note{color:var(--muted);font-size:13px;line-height:1.5}.center{text-align:center}.searchbox{display:flex;gap:10px;margin:22px 0}.searchbox input{flex:1}.catalog{display:grid;gap:10px}.catalog-row{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.catalog-row h3{margin:5px 0;font-size:20px}.catalog-row p{margin:0;color:var(--muted)}.addform{display:flex;align-items:end;gap:8px;min-width:230px}.badge{font-size:12px;background:#eee;padding:7px 9px;border-radius:999px}.manage{display:grid;grid-template-columns:minmax(220px,1fr) 120px auto auto 85px auto auto}.legal{line-height:1.65}code{display:block;white-space:normal;word-break:break-all;background:#f2f2f2;padding:12px;border-radius:9px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid var(--line)}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.dashboard{grid-template-columns:1fr}.catalog-row,.addform{display:grid;min-width:0}.manage{grid-template-columns:1fr}.searchbox{display:grid}.shell{padding-top:24px}}

.form-link{margin:-2px 0 16px;text-align:right;font-size:13px}.form-link a,.center a{color:inherit;text-underline-offset:3px}
.form-grid .wide{grid-column:1/-1}.client-boundary{border-style:dashed}.client-boundary p{color:var(--muted);line-height:1.6;margin-bottom:0}

/* Registrazione v1.1.1: errori per campo e mantenimento dati */
.has-error input{border-color:var(--danger);box-shadow:0 0 0 2px rgba(141,39,39,.08)}
.field-error{display:block;color:var(--danger);font-size:12px;font-weight:600;line-height:1.35;margin-top:2px}
.general-error{background:#f8e4e4;border:1px solid rgba(141,39,39,.25);border-radius:10px;padding:12px 14px;margin:14px 0}
.field-help{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.35}

/* Registrazione v1.1.2: evidenziazione robusta errori */
label.has-error > input, input.is-error, input[aria-invalid="true"]{border:2px solid #b42318 !important;background:#fff1f0 !important;box-shadow:0 0 0 3px rgba(180,35,24,.12) !important;color:#171717 !important}
label.has-error{color:#8d2727 !important}
label.has-error .field-error{color:#b42318 !important;font-weight:700 !important}
.check.has-error{border:1px solid #b42318 !important;background:#fff1f0 !important;border-radius:10px !important;padding:10px 12px !important}
.check.has-error input{accent-color:#b42318}

/* v1.1.3 - Inserimento vino completo da tabelle collegate */
select,textarea{width:100%;border:1px solid var(--line);background:#fff;padding:12px 13px;border-radius:10px;color:var(--ink);font:inherit}textarea{min-height:92px;resize:vertical}.dashboard.compact{margin:20px 0}.wine-entry h2{margin:8px 0 18px}.wine-entry h2:not(:first-of-type){margin-top:30px;border-top:1px solid var(--line);padding-top:24px}.master-preview{margin:24px 0;padding:20px;border-radius:14px;background:#f8f6f2;border:1px solid var(--line)}.master-preview h2{margin:0 0 16px!important;border:0!important;padding:0!important}.master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.master-grid>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}.master-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.master-grid b{font-size:14px}.master-grid .wide{grid-column:1/-1}.readonly-box{min-height:44px;border:1px solid var(--line);background:#f4f2ee;padding:12px 13px;border-radius:10px;font-size:13px;font-weight:400}.reference-message{margin-top:18px;padding:13px 15px;background:#f4f2ee;border-left:4px solid var(--accent);border-radius:8px;color:#514b44;font-size:13px;line-height:1.5}.btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:760px){.master-grid{grid-template-columns:1fr}.master-grid .wide{grid-column:auto}}

/* v1.1.4 - Testata persistente Area Cliente */
.client-top{margin-bottom:20px}.client-dashboard{margin:0 0 14px}.client-nav{margin:0 0 30px}.client-nav .btn{min-width:0}.section-intro{margin:4px 0 14px}.section-intro h2{margin:0 0 6px;font-size:24px}.content-narrow{max-width:760px}.content-narrow .card{margin-top:0}@media(max-width:760px){.client-nav{display:grid;grid-template-columns:1fr 1fr}.client-nav .btn{width:100%}}@media(max-width:480px){.client-nav{grid-template-columns:1fr}}

/* v1.1.5 - dashboard compatta + accesso carta pubblica dal logo */
.client-dashboard{grid-template-columns:repeat(3,minmax(0,1fr)) 108px;gap:10px;align-items:stretch}
.client-dashboard .stat{border-radius:14px;padding:15px 18px;min-height:90px;display:flex;flex-direction:column;justify-content:center}
.client-dashboard .stat b{font-size:34px;line-height:1;margin-bottom:2px}
.client-dashboard .stat span{font-size:12px;line-height:1.25}
.public-card-tile{min-height:90px;aspect-ratio:1/1;justify-self:end;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#111;color:#fff;border-radius:14px;text-decoration:none;padding:10px;box-shadow:0 6px 18px rgba(0,0,0,.08);transition:transform .16s ease,box-shadow .16s ease}
.public-card-tile:hover,.public-card-tile:focus{transform:translateY(-1px);box-shadow:0 9px 24px rgba(0,0,0,.12);outline:none}
.public-card-logo{display:flex;align-items:baseline;gap:.18em;font-size:17px;letter-spacing:-.045em;white-space:nowrap}
.public-card-logo .iwine-word{font-weight:700}.public-card-logo .book-word{font-weight:300;color:#d4cec6}
.public-card-tile small{font-size:9px;color:#d7d2cb;letter-spacing:.02em;text-align:center}
@media(max-width:760px){.client-dashboard{grid-template-columns:repeat(3,minmax(0,1fr)) 82px}.client-dashboard .stat{min-height:78px;padding:12px}.client-dashboard .stat b{font-size:29px}.client-dashboard .stat span{font-size:10px}.public-card-tile{min-height:78px;border-radius:13px}.public-card-logo{font-size:14px}.public-card-tile small{font-size:8px}.client-nav{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.client-dashboard{grid-template-columns:1fr 1fr}.public-card-tile{justify-self:stretch;aspect-ratio:auto}.client-nav{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.client-nav{grid-template-columns:1fr}}

/* v1.1.6 DEFINITIVA - icona La mia carta + collegamento pubblico nella tua attività */
.public-card-tile{background:#fff;border:1px solid var(--line);padding:5px;overflow:hidden}
.public-card-tile img{display:block;width:100%;height:100%;object-fit:contain;border-radius:10px}
.public-card-tile:hover,.public-card-tile:focus{background:#fff}
.public-card-readonly{margin-top:20px}
.public-card-readonly h2{margin-top:0}
.public-card-readonly code{margin:12px 0}

/* v1.1.7 — inserimento guidato + Cerca/Segnala separato */
.report-hint{display:flex;align-items:center;justify-content:space-between;gap:18px}.report-hint h2{margin:0 0 6px}.report-hint p{margin:0;color:var(--muted);line-height:1.5;max-width:760px}.search-report-card h2,.report-form-card h2{margin-top:0}.report-search-results{margin-top:16px}.report-search-results .catalog-row{align-items:center}.client-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.client-nav .btn{width:100%}
@media(max-width:760px){.client-nav{grid-template-columns:1fr 1fr}.report-hint{display:grid}.report-hint .btn{justify-self:start}}
@media(max-width:420px){.client-nav{grid-template-columns:1fr}}

/* v1.2.4 — Area Clienti: testata compatta a due livelli + scheda attività uniforme */
.client-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) 118px;
  gap:10px;
  align-items:stretch;
  margin:0 0 28px;
}
.client-controls-main{
  min-width:0;
  display:grid;
  grid-template-rows:auto auto;
  gap:8px;
}
.client-controls .client-dashboard{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0;
}
.client-controls .client-dashboard .stat{
  min-height:68px;
  padding:11px 16px;
  border-radius:13px;
  justify-content:center;
}
.client-controls .client-dashboard .stat b{
  font-size:29px;
  line-height:.95;
  margin-bottom:3px;
  letter-spacing:-.035em;
}
.client-controls .client-dashboard .stat span{
  font-size:10px;
  line-height:1.15;
  letter-spacing:.01em;
}
.client-controls .client-nav{
  margin:0;
  gap:8px;
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.client-controls .client-nav .btn{
  min-height:36px;
  padding:8px 12px;
  border-radius:9px;
  font-size:12px;
  font-weight:600;
}
.client-controls .public-card-tile{
  width:118px;
  min-height:0;
  height:100%;
  aspect-ratio:auto;
  justify-self:stretch;
  align-self:stretch;
  border-radius:13px;
  padding:6px;
  box-shadow:0 5px 16px rgba(0,0,0,.055);
}
.client-controls .public-card-tile img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:9px;
}

/* La scheda “La tua attività” usa la stessa larghezza delle altre sezioni cliente. */
.activity-content{max-width:none;width:100%}
.activity-form{
  width:100%;
  margin:0;
  padding:28px 30px 30px;
  border-radius:16px;
  box-shadow:0 7px 24px rgba(0,0,0,.035);
}
.form-grid.activity-form h2{
  font-size:18px;
  line-height:1.2;
  margin:18px 0 2px;
  padding:0 0 10px;
  border-bottom:1px solid #ece7df;
  letter-spacing:-.015em;
}
.form-grid.activity-form h2:first-of-type{margin-top:0}
.activity-form label{color:#37332f}
.activity-form input{
  background:#fdfcfb;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.activity-form input:focus{
  outline:none;
  background:#fff;
  border-color:#b79a7b;
  box-shadow:0 0 0 3px rgba(155,112,69,.10);
}
.activity-form .note{
  margin:4px 0 0;
  padding:12px 14px;
  border-radius:10px;
  background:#f7f4ef;
}
.activity-form .btn.full{
  min-height:44px;
  margin-top:2px;
  font-weight:650;
}
.activity-content .activity-public-card{
  width:100%;
  margin:16px 0 0;
  padding:24px 28px;
  border-radius:16px;
  box-shadow:0 7px 24px rgba(0,0,0,.03);
}

@media(max-width:760px){
  .client-controls{grid-template-columns:minmax(0,1fr) 88px;gap:8px}
  .client-controls .client-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .client-controls .client-dashboard .stat{min-height:62px;padding:9px 10px}
  .client-controls .client-dashboard .stat b{font-size:25px}
  .client-controls .client-dashboard .stat span{font-size:9px}
  .client-controls .client-nav{grid-template-columns:1fr 1fr;gap:7px}
  .client-controls .client-nav .btn{min-height:34px;padding:7px 8px;font-size:11px}
  .client-controls .public-card-tile{width:88px}
  .activity-form{padding:22px 20px}
  .activity-public-card{padding:21px 20px}
}
@media(max-width:560px){
  .client-controls{grid-template-columns:1fr}
  .client-controls-main{gap:8px}
  .client-controls .client-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}
  .client-controls .public-card-tile{width:100%;height:72px;min-height:72px}
  .client-controls .public-card-tile img{width:auto;max-width:170px;margin:0 auto}
}
@media(max-width:420px){
  .client-controls .client-dashboard{grid-template-columns:1fr}
  .client-controls .client-nav{grid-template-columns:1fr 1fr}
}



/* v1.2.5 — Barra cliente persistente + identità su riga unica */
.client-sticky{
  position:sticky;
  top:0;
  z-index:80;
  margin:0 0 24px;
  padding:8px 0 10px;
  background:linear-gradient(to bottom,var(--bg) 0%,var(--bg) 88%,rgba(243,240,234,.96) 100%);
  border-bottom:1px solid rgba(222,216,207,.72);
}
.client-top{
  margin:0 0 8px;
  min-height:30px;
  align-items:center;
}
.client-identity{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:7px;
  white-space:nowrap;
}
.client-identity .brand.small{
  flex:0 0 auto;
  font-size:23px;
  line-height:1;
  letter-spacing:-.045em;
}
.client-identity-sep{
  flex:0 0 auto;
  color:#8a847c;
  font-size:19px;
  font-weight:400;
}
.client-identity h1{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  margin:0;
  font-size:22px;
  line-height:1.1;
  letter-spacing:-.02em;
  font-weight:650;
}
.client-logout{
  flex:0 0 auto;
  font-size:12px;
  font-weight:650;
  color:#4d4944;
  text-decoration:none;
  border-bottom:1px solid #bdb6ad;
  line-height:1.2;
}
.client-logout:hover{color:#111;border-bottom-color:#111}
.client-controls{margin-bottom:0}
.client-controls .client-dashboard .stat{min-height:60px;padding:9px 15px}
.client-controls .client-dashboard .stat b{font-size:27px}
.client-controls .client-dashboard .stat span{font-size:9.5px}
.client-controls .client-nav .btn{min-height:32px;padding:6px 10px}

@media(max-width:760px){
  .client-sticky{padding:7px 0 9px;margin-bottom:20px}
  .client-top{margin-bottom:7px}
  .client-identity .brand.small{font-size:19px}
  .client-identity h1{font-size:18px}
  .client-identity-sep{font-size:16px}
  .client-controls .client-dashboard .stat{min-height:56px;padding:8px 9px}
  .client-controls .client-dashboard .stat b{font-size:23px}
}
@media(max-width:560px){
  .client-sticky{top:0}
  .client-controls .public-card-tile{height:64px;min-height:64px}
}
@media(max-width:420px){
  .client-identity{gap:5px}
  .client-identity .brand.small{font-size:17px}
  .client-identity h1{font-size:16px}
  .client-controls .client-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}
  .client-controls .client-nav{grid-template-columns:1fr 1fr}
}


/* v1.2.6 — Identità cliente più leggibile; archivio versioni gestito nel backend */
.client-identity .brand.small{font-weight:800}
.client-identity .brand.small span{font-weight:650}

/* v1.2.9 — storico richieste utente + risposte amministratore */
.client-request-link{position:relative;gap:7px}
.client-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 6px;border-radius:999px;background:#b42318;color:#fff;font-size:10px;font-weight:800;line-height:1;box-shadow:0 0 0 2px rgba(255,255,255,.45)}
.request-history-card{margin-top:24px}
.request-history-card h2{margin-top:0}
.request-history-empty{padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);background:#faf8f5}
.request-history-list{display:grid;gap:14px;margin-top:18px}
.request-history-item{background:#fcfbf9;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 4px 16px rgba(0,0,0,.025)}
.request-history-item.status-approvata{border-color:#b9d7c0;background:#f7fbf8}
.request-history-item.status-respinta{border-color:#e4c5c5;background:#fffafa}
.request-history-item.status-in_verifica{border-color:#e4d0aa;background:#fffaf0}
.request-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.request-history-head h3{margin:4px 0 3px;font-size:18px;letter-spacing:-.015em}
.request-kind{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.request-date{font-size:11px;color:var(--muted)}
.request-status{flex:0 0 auto;border-radius:999px;padding:7px 10px;background:#eee8df;font-size:11px;font-weight:800}
.status-approvata .request-status{background:#dfeee3;color:#205c31}
.status-respinta .request-status{background:#f4dddd;color:#812727}
.status-in_verifica .request-status{background:#f5e8c9;color:#7a5717}
.request-user-note{margin-top:13px;padding:11px 13px;border-radius:10px;background:#f4f1ec;color:#514b44;font-size:12px;line-height:1.45}
.request-timeline{position:relative;margin-top:16px;padding-top:3px;display:grid;gap:10px}
.request-event{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;align-items:flex-start}
.request-event-dot{width:9px;height:9px;border-radius:50%;background:#a9a29a;margin-top:5px;box-shadow:0 0 0 4px #eee9e2}
.request-event.admin-event .request-event-dot{background:#7b2737;box-shadow:0 0 0 4px #f0dfe4}
.request-event-body{padding:0 0 10px;border-bottom:1px solid #ece7df}
.request-event:last-child .request-event-body{border-bottom:0;padding-bottom:0}
.request-event-body strong{font-size:12px}
.request-event-body p{margin:4px 0 5px;font-size:12px;line-height:1.45}
.request-event-body small{font-size:10px;color:var(--muted)}
@media(max-width:560px){.request-history-head{display:grid}.request-status{justify-self:start}.request-history-item{padding:15px}}


/* v1.3.0 — Canale Comunicazioni iWineBook */
.message-list{display:grid;gap:12px;margin-top:14px}
.message-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 20px;box-shadow:0 6px 20px rgba(0,0,0,.025)}
.message-card.unread{border-left:4px solid #9b7045}
.message-card.important{border-color:#d79a92;background:#fff8f6}
.message-card.important.unread{border-left:5px solid #a93026}
.message-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.message-head h3{margin:5px 0 0;font-size:18px;letter-spacing:-.015em}
.message-head time{font-size:11px;color:var(--muted);white-space:nowrap}
.message-category{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.065em;color:#765638}
.message-card.important .message-category{color:#9b261f}
.message-body{margin-top:12px;font-size:14px;line-height:1.6;color:#38342f}
.message-empty{margin-top:14px}
@media(max-width:760px){.message-head{display:block}.message-head time{display:block;margin-top:6px}.client-controls .client-nav{grid-template-columns:1fr 1fr}}

/* v1.3.2 — Aggiungi vino più compatto: righe logiche e gradazione sola lettura */
.wine-entry .wine-row{display:grid;gap:14px;margin-bottom:14px;align-items:end}
.wine-entry .wine-row-catalog{grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.55fr)}
.wine-entry .wine-row-wine{grid-template-columns:minmax(0,2.2fr) minmax(190px,.8fr)}
.wine-entry .wine-row-bottle{grid-template-columns:minmax(0,.8fr) minmax(0,1.15fr) minmax(0,1fr)}
.wine-entry .wine-row-flags{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}
.wine-entry .wine-row-notes{grid-template-columns:1fr}
.wine-entry .wine-row select,
.wine-entry .wine-row input,
.wine-entry .wine-row textarea{min-width:0}
.wine-entry .wine-row-wine .readonly-box{display:flex;align-items:center;min-height:44px;color:#514b44;background:#f4f2ee}
@media(max-width:820px){
  .wine-entry .wine-row-catalog{grid-template-columns:1fr 1fr}
  .wine-entry .wine-row-catalog label:last-child{grid-column:1/-1}
  .wine-entry .wine-row-bottle{grid-template-columns:1fr 1fr}
  .wine-entry .wine-row-bottle label:last-child{grid-column:1/-1}
}
@media(max-width:560px){
  .wine-entry .wine-row-catalog,
  .wine-entry .wine-row-wine,
  .wine-entry .wine-row-bottle,
  .wine-entry .wine-row-flags{grid-template-columns:1fr;max-width:none}
  .wine-entry .wine-row-catalog label:last-child,
  .wine-entry .wine-row-bottle label:last-child{grid-column:auto}
}

/* v1.3.3 — Dati Master su tre righe + Bottiglia su una riga desktop */
.master-rows{display:grid;gap:10px}
.master-row{display:grid;gap:10px}
.master-row-location{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1.55fr)}
.master-row-identity{grid-template-columns:minmax(0,1.55fr) minmax(0,1.2fr) minmax(0,.9fr)}
.master-row-grapes{grid-template-columns:1fr}
.master-row>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}
.master-row span{display:block;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.master-row b{display:block;font-size:13.5px;line-height:1.35;overflow-wrap:anywhere}
.master-row-grapes b{font-weight:650}

.wine-entry .wine-row-bottle-all{
  grid-template-columns:minmax(105px,.72fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(115px,.78fr) minmax(140px,1fr);
  gap:12px;
  align-items:end;
}
.wine-entry .wine-row-bottle-all label{min-width:0}
.wine-entry .wine-row-bottle-all select,
.wine-entry .wine-row-bottle-all input{min-width:0}

@media(max-width:900px){
  .master-row-location,
  .master-row-identity{grid-template-columns:1fr 1fr}
  .master-row-location>div:last-child,
  .master-row-identity>div:first-child{grid-column:1/-1}
  .wine-entry .wine-row-bottle-all{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wine-entry .wine-row-bottle-all label:nth-child(4),
  .wine-entry .wine-row-bottle-all label:nth-child(5){grid-column:auto}
}
@media(max-width:620px){
  .master-row-location,
  .master-row-identity,
  .master-row-grapes{grid-template-columns:1fr}
  .master-row-location>div:last-child,
  .master-row-identity>div:first-child{grid-column:auto}
  .wine-entry .wine-row-bottle-all{grid-template-columns:1fr 1fr}
  .wine-entry .wine-row-bottle-all label:nth-child(3){grid-column:1/-1}
}
@media(max-width:420px){
  .wine-entry .wine-row-bottle-all{grid-template-columns:1fr}
  .wine-entry .wine-row-bottle-all label:nth-child(3){grid-column:auto}
}


/* v1.3.6 — QR carta + area cantine private */
.client-controls .client-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
.home-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:34px 0 8px}.home-path{display:flex;min-height:190px;flex-direction:column;justify-content:flex-end;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 30px rgba(0,0,0,.035);transition:.15s}.home-path:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.07)}.home-path span,.private-kicker{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--accent)}.home-path strong{display:block;margin:7px 0 6px;font-size:25px;line-height:1.05}.home-path small{color:var(--muted);font-size:13px;line-height:1.45}.home-path.private{background:#171717;color:#fff}.home-path.private small{color:#cfc9c1}.home-path.muted{opacity:.72}.login-choices{text-align:center;margin-top:18px}.login-choices .btn{margin:5px}
.private-plan-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:13px;background:#fff;min-height:100%;padding:12px;text-align:center}.private-plan-tile strong{font-size:22px}.private-plan-tile span{margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.private-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px}.private-welcome h2{font-size:32px;margin:5px 0 8px}.private-welcome p{margin:0;color:var(--muted)}.private-value{text-align:right}.private-value span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.private-value strong{display:block;font-size:36px;margin-top:4px}.private-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.private-action{margin:0;text-decoration:none;color:inherit;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end}.private-action strong{font-size:21px}.private-action span{color:var(--muted);margin-top:8px;line-height:1.45}.private-add-form{display:grid;grid-template-columns:90px 130px 160px;gap:8px;min-width:480px;align-items:end}.private-add-form .wide{grid-column:1/-1}.private-existing{font-size:12px;font-weight:700;color:var(--accent)}.private-manage-row h3{margin:8px 0 3px;font-size:22px}.private-manage-row p{margin:0;color:var(--muted)}.private-manage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.private-visible{display:flex;align-items:center;gap:7px;white-space:nowrap}.private-visible input{width:auto}.private-edit-grid{display:grid;grid-template-columns:110px 150px 1fr 1.4fr;gap:10px;margin-top:18px}.private-card-header{text-align:center;padding:34px 0}.private-card-header h2{font-family:Georgia,'Times New Roman',serif;font-size:44px;font-weight:400;margin:8px 0}.private-card-header p{color:var(--muted)}.private-card-list{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 24px}.private-wine-card{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.private-wine-card:last-child{border-bottom:0}.private-wine-producer{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.private-wine-card h3{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:400;margin:5px 0}.private-wine-card h3 small{font-family:Inter,Arial,sans-serif;font-size:13px;color:var(--muted)}.private-wine-card p{margin:0;color:var(--muted);font-size:12px}.private-wine-qty{font-weight:800;white-space:nowrap}.qr-card{max-width:900px;margin-left:auto;margin-right:auto}.qr-card>p{color:var(--muted);line-height:1.5}.qr-layout{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:32px;align-items:center}.qr-image{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.qr-image img{display:block;width:100%;height:auto}.qr-info span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.qr-info code{font-size:12px}.qr-info .actions{margin-bottom:10px}
@media(max-width:900px){.home-paths,.private-actions-grid{grid-template-columns:1fr}.private-add-form{min-width:0;grid-template-columns:1fr 1fr}.private-edit-grid{grid-template-columns:1fr 1fr}.client-controls .client-nav{grid-template-columns:1fr 1fr}.qr-layout{grid-template-columns:1fr}.qr-image{max-width:380px;margin:0 auto}.private-welcome{align-items:flex-start;flex-direction:column}.private-value{text-align:left}}
@media(max-width:560px){.private-add-form,.private-edit-grid{grid-template-columns:1fr}.private-add-form .wide{grid-column:auto}.private-manage-head{display:block}.private-visible{margin-top:12px}.private-card-list{padding:0 16px}.private-wine-card{align-items:flex-start}.private-card-header h2{font-size:34px}}
@media print{body{background:#fff}.client-sticky,.qr-info .actions{display:none!important}.shell{width:100%;padding:0}.qr-card{border:0;box-shadow:none;margin:0;padding:0}.qr-layout{display:block}.qr-image{max-width:520px;margin:30px auto;border:0}.qr-info{text-align:center}.qr-info code{background:#fff}}

/* v1.3.7 — Area Professionisti: Calici, Birre, Alcolici, QR scaricabile */
.client-controls-main{grid-template-rows:auto auto auto}
.client-controls .client-nav-primary{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:0}
.client-pro-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.client-pro-nav .btn{width:100%;min-height:32px;padding:6px 10px;font-size:11px}
.pro-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.pro-entry-grid .pro-wide{grid-column:1/-1}
.pro-entry-grid .check.mini{min-height:44px;align-items:center;padding:0 4px}
.pro-list-title{margin-top:30px}
.pro-manage-list{gap:12px}
.pro-manage-row{display:grid;grid-template-columns:minmax(220px,1.7fr) 88px 110px 110px 100px 78px minmax(120px,1fr) auto auto;align-items:end;gap:10px}
.pro-manage-row .pro-item-main{align-self:center}
.pro-manage-row .pro-item-main h3{margin:4px 0;font-size:18px}
.pro-manage-row .pro-item-main p{font-size:12px}
.pro-manage-row .pro-note{min-width:120px}
.pro-spirit-entry{grid-template-columns:minmax(180px,1fr) 130px 120px 120px 130px 140px}
.pro-beer-entry{grid-template-columns:minmax(180px,1fr) 120px 130px 140px}
.qr-info .actions{align-items:center}
.qr-info .btn{min-width:128px}
@media(max-width:980px){
  .client-controls .client-nav-primary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .client-pro-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pro-entry-grid,.pro-spirit-entry,.pro-beer-entry{grid-template-columns:1fr 1fr}
  .pro-entry-grid .pro-wide{grid-column:1/-1}
  .pro-manage-row{grid-template-columns:1fr 1fr 1fr}
  .pro-manage-row .pro-item-main,.pro-manage-row .pro-note{grid-column:1/-1}
}
@media(max-width:560px){
  .client-controls .client-nav-primary,.client-pro-nav{grid-template-columns:1fr 1fr}
  .pro-entry-grid,.pro-spirit-entry,.pro-beer-entry,.pro-manage-row{grid-template-columns:1fr}
  .pro-entry-grid .pro-wide,.pro-manage-row .pro-item-main,.pro-manage-row .pro-note{grid-column:auto}
}



/* v1.3.9 — Aggiungi prodotto unico, calice integrato, QR dentro La mia attività */
.client-controls-main{grid-template-rows:auto auto}
.client-controls .client-nav-primary{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:0}
.client-pro-nav{display:none!important}

.product-add-intro,.manage-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.product-add-intro>div,.manage-intro>div{min-width:0}
.product-type-switch{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:8px;margin:0 0 18px}
.product-type-switch a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:12px;font-weight:750;text-decoration:none}
.product-type-switch a.is-active{background:#111;color:#fff;border-color:#111}
.product-add-intro .product-type-switch{margin:0}
.manage-type-switch{max-width:520px;margin:0 0 18px}

.wine-glass-inline{margin:8px 0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#faf8f5}
.wine-glass-toggle{font-weight:750;align-items:center}
.wine-glass-fields{display:grid;grid-template-columns:150px 170px 1fr;gap:12px;align-items:end;margin-top:12px}
.wine-glass-fields[hidden]{display:none!important}
.wine-glass-fields .note{margin:0 0 5px}

.manage-products{gap:16px}
.manage-product-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.manage-product-card>.catalog-row{border:0;border-radius:0;margin:0}
.glass-inline-label{color:var(--accent);font-weight:750}
.glass-manager{border-top:1px solid var(--line);background:#faf8f5;padding:14px 18px 16px}
.glass-manager-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.glass-title{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800}
.wine-glass-icon{display:inline-flex;width:18px;height:18px;color:#8d1526}
.wine-glass-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.glass-manage-row,.glass-add-row{display:grid;grid-template-columns:90px 110px 120px 100px 80px auto auto;gap:8px;align-items:end;padding:10px 0;border-top:1px dashed #ded8cf}
.glass-manage-row:first-of-type{border-top:0}
.glass-add-details{margin-top:8px;border-top:1px solid var(--line);padding-top:10px}
.glass-add-details summary{cursor:pointer;font-size:12px;font-weight:750;color:var(--accent)}
.glass-add-row{grid-template-columns:100px 120px 120px 100px auto;margin-top:8px}
.glass-manage-row .btn,.glass-add-row .btn{min-height:40px;padding:8px 11px;font-size:11px}

.activity-public-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.activity-public-head h2{margin:5px 0 0}
.qr-download-icon,.public-url-qr{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--line);background:#fff;color:#8d1526;text-decoration:none}
.qr-download-icon{width:52px;height:52px;border-radius:13px}
.public-url-qr{width:44px;height:44px;border-radius:10px}
.qr-download-icon svg,.public-url-qr svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.public-url-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px;align-items:center;margin:16px 0}
.public-url-link{display:block;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#f7f5f1;color:var(--ink);font-size:12px;word-break:break-all;text-decoration:none}
.public-url-link:hover{text-decoration:underline}
.activity-public-actions{margin:14px 0 0}

@media(max-width:980px){
  .product-add-intro,.manage-intro{align-items:flex-start;flex-direction:column}
  .product-add-intro .product-type-switch{width:100%}
  .wine-glass-fields{grid-template-columns:1fr 1fr}
  .wine-glass-fields .note{grid-column:1/-1}
  .glass-manage-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .glass-manage-row .btn{width:100%}
  .glass-add-row{grid-template-columns:1fr 1fr}
  .glass-add-row .check,.glass-add-row .btn{grid-column:auto}
}
@media(max-width:620px){
  .client-controls .client-nav-primary{grid-template-columns:1fr 1fr}
  .product-type-switch{grid-template-columns:1fr 1fr 1fr;width:100%}
  .wine-glass-fields,.glass-manage-row,.glass-add-row{grid-template-columns:1fr}
  .wine-glass-fields .note{grid-column:auto}
  .glass-manager-head{align-items:flex-start}
  .activity-public-head{align-items:center}
}


/* v1.4.0 — Carta pubblica compatta, pulsanti verticali, calice più evidente */
.activity-public-card{padding:20px}
.activity-public-layout{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:22px;align-items:stretch}
.activity-public-main{min-width:0;display:flex;flex-direction:column;justify-content:center}
.activity-public-main h2{margin:5px 0 8px}
.public-url-compact{margin-top:14px;max-width:610px}
.public-url-compact>span{display:block;margin-bottom:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.public-url-compact .public-url-link{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;padding:10px 12px}
.activity-public-actions-vertical{display:grid;grid-template-columns:1fr;gap:8px;align-content:center}
.activity-public-actions-vertical .btn{width:100%;min-height:42px;margin:0;justify-content:center;text-align:center}
.wine-glass-inline-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.wine-glass-inline-head h3{margin:3px 0 0;font-size:17px}
.wine-glass-fields{grid-template-columns:125px 150px 130px 145px minmax(220px,1fr)}
.wine-glass-explain{align-self:center}
@media(max-width:980px){
  .activity-public-layout{grid-template-columns:minmax(0,1fr) 165px}
  .wine-glass-fields{grid-template-columns:1fr 1fr}
  .wine-glass-explain{grid-column:1/-1}
}
@media(max-width:680px){
  .activity-public-layout{grid-template-columns:1fr}
  .activity-public-actions-vertical{grid-template-columns:1fr 1fr 1fr}
  .wine-glass-inline-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .activity-public-actions-vertical{grid-template-columns:1fr}
  .wine-glass-fields{grid-template-columns:1fr}
  .wine-glass-explain{grid-column:auto}
}

/* v1.4.1 — Gestione carta essenziale, QR WhatsApp e layout attività compatto */
.compact-wine-list{display:grid;gap:10px}
.compact-wine-card{padding:0;overflow:hidden}
.manage-wine-compact{display:grid;grid-template-columns:minmax(230px,1.8fr) 110px 92px 120px 90px 66px 58px;gap:8px;align-items:end;padding:12px 14px}
.manage-wine-main{min-width:0;align-self:center}
.manage-wine-main>b{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manage-wine-main h3{margin:3px 0 1px;font-size:16px;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manage-wine-main h3 span{font-size:11px;color:var(--muted);font-weight:700}
.manage-wine-main p{margin:0;font-size:11px;color:var(--muted)}
.compact-field{font-size:10px;font-weight:750;color:var(--muted)}
.compact-field input{width:100%;min-height:36px;margin-top:4px;padding:7px 8px;font-size:12px}
.compact-check{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;margin:0;padding:7px 8px;border:1px solid var(--line);border-radius:9px;background:#faf8f5;color:var(--ink);font-size:11px;font-weight:750;white-space:nowrap}
.compact-check input{margin:0}
.compact-glass-toggle .wine-glass-icon{width:16px;height:16px}
.manage-wine-compact .btn{min-height:36px;margin:0;padding:7px 8px;font-size:10px;line-height:1;text-align:center;justify-content:center;border-radius:9px}
.manage-wine-compact .compact-remove{padding-left:6px;padding-right:6px}
.simple-glass-fields{grid-template-columns:125px 150px minmax(220px,1fr)!important;align-items:center}
.whatsapp-share{background:#253d2d;color:#fff;border-color:#253d2d}
.whatsapp-share:hover{background:#1d3024;color:#fff;border-color:#1d3024}
.activity-public-layout{grid-template-columns:minmax(0,1fr) 190px}
.public-url-compact{max-width:480px}
.activity-public-actions-vertical{align-content:start}
.public-private-card{max-width:980px;margin:24px auto}
.public-private-card .card{padding:20px}

@media(max-width:1100px){
  .manage-wine-compact{grid-template-columns:minmax(220px,1.6fr) 105px 90px 115px 88px 64px 56px}
}
@media(max-width:900px){
  .manage-wine-compact{grid-template-columns:minmax(0,1fr) 110px 100px 120px}
  .manage-wine-main{grid-column:1/-1}
  .compact-visible{grid-column:auto}
  .compact-save,.compact-remove{width:100%}
}
@media(max-width:620px){
  .manage-wine-compact{grid-template-columns:1fr 1fr}
  .manage-wine-main{grid-column:1/-1}
  .compact-price,.compact-glass-price{min-width:0}
  .compact-check{justify-content:flex-start}
  .simple-glass-fields{grid-template-columns:1fr!important}
  .activity-public-layout{grid-template-columns:1fr}
}
