:root{--navy:#071957;--blue:#1b2f8a;--gold:#c9a24a;--gold-soft:#f7edcf;--bg:#f5f7fb;--card:#fff;--text:#111827;--muted:#64748b;--line:#e4e8f0;--accent:#1b2f8a;--ok:#168344;--danger:#b91c1c;--shadow:0 12px 30px rgba(7,25,87,.10)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f8fafc 0%,#eef2f8 100%);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.top{background:linear-gradient(135deg,var(--navy),#0f2b75);color:white;padding:14px 16px;position:sticky;top:0;z-index:3;border-bottom:3px solid var(--gold)}.top-inner{max-width:980px;margin:auto;display:flex;align-items:center;gap:12px}.top-logo{width:42px;height:42px;object-fit:contain;background:white;border-radius:12px;padding:5px;box-shadow:0 4px 14px rgba(0,0,0,.18)}.brand{font-size:21px;font-weight:900;letter-spacing:.2px}.wrap{max-width:980px;margin:auto;padding:16px 14px 90px}.card{background:var(--card);border:1px solid rgba(7,25,87,.08);border-radius:20px;padding:18px;margin:14px 0;box-shadow:var(--shadow)}.login-card{text-align:left;max-width:520px;margin:18px auto}.login-logo{display:block;width:min(100%,360px);height:auto;margin:0 auto 18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.btn{border:0;border-radius:13px;background:linear-gradient(135deg,var(--accent),#2744b8);color:white;font-weight:800;padding:12px 16px;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:0 6px 16px rgba(27,47,138,.18)}.btn.light{background:#eef2f8;color:var(--navy);box-shadow:none;border:1px solid var(--line)}.btn.ok{background:linear-gradient(135deg,var(--ok),#21a45c)}input,select,textarea{width:100%;padding:12px;margin:6px 0 12px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:15px}input:focus,select:focus,textarea:focus{outline:2px solid rgba(201,162,74,.28);border-color:var(--gold)}label{font-size:13px;color:var(--muted);font-weight:800}.muted{color:var(--muted)}.badge{display:inline-block;border-radius:999px;background:#eef2ff;color:var(--blue);padding:5px 10px;font-size:12px;font-weight:900}.okbadge{background:#dcfce7;color:#166534}.statusbadge{background:var(--gold-soft);color:#7a5513}.score{font-size:30px;font-weight:900;color:var(--navy)}.danger{color:var(--danger);font-weight:700}.checklist{max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fbfcff}.row{display:flex;gap:8px;align-items:center}.row input{width:auto;margin:0}.leadtitle{font-size:18px;font-weight:900;color:var(--navy)}.legalbrain{border-left:5px solid var(--gold);background:#fffaf0}.hidden{display:none}.install{background:linear-gradient(135deg,#fff8df,#ffffff);border-color:#efd893}.footer-nav{position:fixed;left:0;right:0;bottom:0;background:white;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom));z-index:5;box-shadow:0 -8px 20px rgba(7,25,87,.06)}.footer-nav button{background:none;border:0;font-weight:900;color:var(--navy);font-size:12px;padding:8px 6px}a{color:var(--blue)}.sold{opacity:.84}.sold .badge{background:#fee2e2;color:#991b1b}.crm-row{display:block}.crm-name{font-weight:900;font-size:20px;color:#1b2f8a;text-decoration:underline;text-underline-offset:3px}.crm-name:visited{color:#1b2f8a}.crm-name:hover{color:#071957;text-decoration-thickness:2px}.crm-category{margin-top:8px;font-weight:800;color:#1e293b}.crm-status{margin-top:8px}.filterbar{margin:10px 0 14px;display:flex;justify-content:flex-end}.termsbox{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.termsbox.accepted{background:#ecfdf5;color:#166534;font-weight:900}.checkline{display:flex;align-items:flex-start;gap:10px;color:#0f172a;font-size:15px;line-height:1.35}.checkline input{width:auto;margin-top:2px}.optional{font-weight:600;color:#64748b;font-size:12px}.terms-page{max-width:900px;margin:auto;padding:18px 14px 100px}.terms-page h1{font-size:28px;color:var(--navy)}.terms-page h2{margin-top:26px;color:var(--navy);font-size:19px}.terms-page p,.terms-page li{line-height:1.65}.terms-actions{position:fixed;left:0;right:0;bottom:0;background:white;border-top:1px solid #e2e8f0;padding:12px;margin-top:24px;text-align:center;box-shadow:0 -8px 20px rgba(7,25,87,.08)}@media(max-width:560px){.brand{font-size:18px}.top-logo{width:36px;height:36px}.card{border-radius:17px;padding:16px}.login-logo{width:min(100%,300px)}.filterbar{justify-content:stretch}.filterbar .btn{width:100%;text-align:center}}


/* v12 - Test notifiche */
.push-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.push-actions .btn{margin-top:0}

/* v21 - Home link, offerte/news e ricariche */
.home-link{color:var(--blue);font-weight:900;text-decoration:underline;text-underline-offset:3px}
.home-link:visited{color:var(--blue)}
.home-link:hover{color:var(--navy);text-decoration-thickness:2px}
.news-home{border-left:5px solid var(--gold)}
.news-card h3{color:var(--navy);margin-bottom:6px}
.news-body{line-height:1.65;color:#1f2937}
.recharge-home{border-left:5px solid var(--blue)}
.recharge-plan .score{font-size:28px}
.admin-wrap{max-width:1000px;margin:auto;padding:18px 14px 80px}
.admin-header{background:linear-gradient(135deg,var(--navy),#0f2b75);color:white;padding:18px;border-radius:18px;margin-bottom:16px}
.admin-table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}
.admin-table th,.admin-table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}
.admin-table th{background:#f8fafc;color:var(--navy)}


.buy-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.credit-home .score{font-size:28px;font-weight:800;color:#071957}

/* v29 credito e prezzi */
.credit-home{border-left:6px solid #b29336;background:linear-gradient(180deg,#fff,#fffaf0)}
.credit-home .score{color:#071957;font-size:2rem;font-weight:800}
.credit-filterbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.credit-inline{font-size:1rem;background:#fff8df;border:1px solid #ead593;border-radius:14px;padding:10px 14px;color:#071957}
.price-badge{display:inline-block;margin-left:8px;background:#071957;color:#fff;border-radius:999px;padding:6px 10px;font-weight:700;font-size:.9rem}


/* Miglioramenti dashboard, LegalBrain AI e ricariche */
.hero-dashboard{background:linear-gradient(135deg,#071957,#1b2f8a);color:#fff;border-radius:24px;padding:22px;margin:14px 0;box-shadow:0 16px 36px rgba(7,25,87,.18);display:flex;gap:16px;align-items:center;justify-content:space-between}
.hero-dashboard h2{margin:6px 0 8px;font-size:26px;line-height:1.15}
.hero-dashboard p{margin:0;color:#eef2ff}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:12px;color:#f7d774}
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.metric-card{min-height:154px;display:flex;flex-direction:column;justify-content:space-between}
.metric-card span{color:var(--muted);font-weight:800}
.metric-card strong{font-size:34px;color:var(--navy);line-height:1}
.credit-card{background:linear-gradient(135deg,#fff8df,#fff)}
.highlighted-action{background:linear-gradient(135deg,#fff7dc,#ffffff);border:2px solid #f0d27a}
.recharge-intro{background:#f8fafc}
.featured-plan{position:relative;border:2px solid #f0b429;background:linear-gradient(180deg,#fff7dc 0%,#ffffff 72%);box-shadow:0 18px 40px rgba(201,162,74,.22)}
.featured-ribbon{display:inline-block;background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;border-radius:999px;padding:8px 14px;font-weight:900;font-size:13px;margin-bottom:10px;box-shadow:0 8px 18px rgba(217,119,6,.24)}
.legalbrain{border-left:6px solid var(--gold);background:linear-gradient(135deg,#fffaf0,#ffffff)}
.legalbrain.ai-high{border-left-color:#16a34a;background:linear-gradient(135deg,#ecfdf5,#ffffff)}
.legalbrain.ai-medium{border-left-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#ffffff)}
.legalbrain.ai-low{border-left-color:#64748b;background:linear-gradient(135deg,#f8fafc,#ffffff)}
.ai-head{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}
.ai-pill{border-radius:999px;background:#071957;color:#fff;padding:6px 10px;font-weight:900;font-size:12px}
@media(max-width:720px){.hero-dashboard{display:block}.hero-dashboard .btn{margin-top:14px;width:100%;text-align:center}.metric-card strong{font-size:30px}}
.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0}
.admin-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}
.admin-stat span{display:block;color:var(--muted);font-weight:800;font-size:13px}
.admin-stat strong{display:block;color:var(--navy);font-size:28px;margin-top:8px}


.request-full-text{white-space:normal;line-height:1.55;margin:10px 0 8px;color:var(--text)}
.request-full-text.collapsed{max-height:7.2em;overflow:hidden;position:relative}
.request-full-text.collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.4em;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff)}
.readmore-btn{border:0;background:var(--gold-soft);color:var(--navy);font-weight:900;border-radius:999px;padding:8px 13px;margin:2px 0 12px;cursor:pointer}
.ai-disclaimer{font-size:12px;color:#6b7280;background:#f8fafc;border-left:4px solid var(--gold);padding:8px 10px;border-radius:10px;margin:10px 0 0}


.install-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}.ios-btn{background:linear-gradient(135deg,#111827,#374151)}.android-btn{background:linear-gradient(135deg,#168344,#22a85a)}.modal-backdrop{position:fixed;inset:0;background:rgba(7,25,87,.58);display:flex;align-items:center;justify-content:center;padding:18px;z-index:99}.modal-card{background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.28);max-width:560px;width:100%;padding:22px;position:relative;border:1px solid rgba(255,255,255,.35)}.modal-close{position:absolute;right:12px;top:10px;border:0;background:#eef2f8;color:var(--navy);border-radius:999px;width:36px;height:36px;font-size:24px;font-weight:900;cursor:pointer}.install-modal h2{margin-top:4px;color:var(--navy)}.install-steps{padding-left:22px;line-height:1.55}.install-steps li{margin:8px 0}.install-warning{background:#fff8df;border:1px solid #efd893;border-radius:16px;padding:12px;margin:14px 0;color:#6b4a0b}


/* Migliorie v2: LegalBrain, statistiche e ricariche evidenziate */
.featured-plan{
  position:relative;
  border:2px solid #c9a24a;
  background:linear-gradient(180deg,#fff8df 0%,#ffffff 70%);
  box-shadow:0 16px 38px rgba(201,162,74,.22);
}
.featured-ribbon{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#c9a24a,#f2d06b);
  color:#071957;
  font-weight:900;
  letter-spacing:.4px;
  box-shadow:0 8px 18px rgba(201,162,74,.28);
  margin-bottom:10px;
}
.legalbrain{
  border-left:5px solid #c9a24a;
  background:#fbfcff;
}
.ai-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.ai-pill{
  border-radius:999px;
  padding:6px 10px;
  font-weight:900;
  font-size:12px;
  background:#eef2ff;
}
.ai-high{border-color:#168344;background:#f2fff7}
.ai-medium{border-color:#c9a24a;background:#fffaf0}
.ai-low{border-color:#b45309;background:#fff7ed}
.ai-disclaimer{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#f1f5f9;
  color:#475569;
  font-size:13px;
  line-height:1.35;
}
.stats-home{
  border:1px solid rgba(27,47,138,.16);
}
.movement-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.movement-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}
.oktext{color:var(--ok)}
.admin-stats-grid{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}
@media(max-width:560px){
  .footer-nav button{font-size:11px;padding:9px 4px}
  .ai-head{align-items:flex-start;flex-direction:column}
}


/* Patch sicura: menu basso a icone e pagina Altro */
.app-icon-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:50;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  background:#ffffff;
  border-top:1px solid rgba(15,23,42,.12);
  box-shadow:0 -8px 28px rgba(15,23,42,.10);
  padding:6px max(8px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));
}
.app-icon-nav button{
  border:0;
  background:transparent;
  color:#071957;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-height:52px;
  padding:6px 2px;
  font-size:11px;
  font-weight:800;
  border-radius:14px;
}
.app-icon-nav button:active,
.app-icon-nav button:focus{
  background:#f1f5ff;
  outline:none;
}
.app-icon-nav .nav-ico{
  display:block;
  font-size:21px;
  line-height:1;
}
.wrap{
  padding-bottom:92px;
}
.more-menu-card{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.more-menu-item{
  width:100%;
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  border-radius:16px;
  padding:14px;
  text-align:left;
  color:#071957;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
}
.more-menu-item > span{
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f3f6ff;
  font-size:21px;
  flex:0 0 40px;
}
.more-menu-item b{
  display:block;
  font-size:15px;
  margin-bottom:3px;
}
.more-menu-item small{
  display:block;
  color:#64748b;
  font-size:12px;
}
.more-menu-item.danger{
  color:#8a1f11;
}
@media(max-width:380px){
  .app-icon-nav button{font-size:10px;min-height:50px}
  .app-icon-nav .nav-ico{font-size:19px}
}
.lawyer-editor-photo,.lawyer-photo{width:140px;height:140px;object-fit:cover;border-radius:18px;border:3px solid #e5d08a;display:block;margin:0 auto 18px}.lawyer-public-head{text-align:center}.lawyer-public-head h1{margin-bottom:8px}.slug-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.slug-row span{font-size:.9rem;color:#666}.slug-row input{flex:1;min-width:180px}.lawyer-public-head p{max-width:760px;margin:10px auto;line-height:1.6}
.multi-select{min-height:220px}.auto-app-name,.seo-preview{background:#f6f8fc;border:1px solid #d9e1ef;border-radius:14px;padding:14px;margin:14px 0}.auto-app-name div{font-size:1.05rem;font-weight:800;margin-top:6px}.auto-app-name small,.seo-preview small{display:block;color:#64748b;margin-top:5px}.custom-field-row{display:grid;grid-template-columns:2fr 1fr 2fr auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #e5e7eb}.lawyer-public-wrap{max-width:1100px}.lawyer-hero{display:grid;grid-template-columns:180px 1fr;gap:26px;align-items:center}.lawyer-hero .lawyer-photo{width:180px;height:180px;margin:0}.lawyer-kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#8a6d1f;font-weight:800}.competence-chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.competence-chips span{background:#eef3fb;color:#17375e;padding:8px 11px;border-radius:999px;font-size:.86rem;font-weight:700}.lawyer-actions{display:flex;gap:10px;flex-wrap:wrap}.public-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.extra-field{margin-top:12px}.contact-card,.appointment-card{scroll-margin-top:20px}@media(max-width:760px){.lawyer-hero{grid-template-columns:1fr;text-align:center}.lawyer-hero .lawyer-photo{margin:auto}.competence-chips,.lawyer-actions{justify-content:center}.public-grid,.form-grid{grid-template-columns:1fr}.custom-field-row{grid-template-columns:1fr}.custom-field-row .btn{width:100%}}
.intro-help-line{display:flex;align-items:center;gap:10px;justify-content:space-between;background:#f7f9fd;border:1px solid #dce4f1;border-radius:14px;padding:12px 14px;margin:10px 0 16px;font-weight:700}.help-dot{width:30px;height:30px;border-radius:50%;border:0;background:#071957;color:#fff;font-weight:900;font-size:17px;cursor:pointer;flex:0 0 30px}.lawyer-category-list{max-height:360px;overflow:auto;border:1px solid #d9e1ef;border-radius:14px;padding:8px;background:#fff}.category-choice{display:flex!important;align-items:center;gap:9px;padding:10px 8px!important;border-bottom:1px solid #edf1f7}.category-choice:last-child{border-bottom:0}.category-choice input{width:18px;height:18px;flex:0 0 18px}.base-contact-form-preview{background:#f8fafc;border:1px solid #d9e1ef;border-radius:16px;padding:16px;margin:12px 0}.base-contact-form-preview input:disabled{background:#fff;color:#64748b;opacity:1}.preview-privacy{margin-top:12px}.published-app-card{position:relative}.published-status{display:inline-block;background:#def7e5;color:#126b30;border:1px solid #9bd8aa;border-radius:999px;padding:8px 13px;font-weight:900;margin-bottom:10px}.full-app-link{font-weight:900;word-break:break-all}.published-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.client-install-list{display:flex;flex-direction:column;gap:10px}.client-install-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e7f0;border-radius:14px;padding:12px;background:#fff}.client-install-row small{display:block;color:#64748b;margin-top:4px}@media(max-width:620px){.intro-help-line,.client-install-row{align-items:flex-start}.client-install-row{flex-direction:column}.client-install-row .btn{width:100%}}
/* App personalizzata pubblica - layout V4 */
.lawyer-install-first{margin-top:18px}.lawyer-top-photo{object-fit:cover;padding:0;border:2px solid #fff}.lawyer-hero{grid-template-columns:minmax(0,1fr) 210px;align-items:start}.lawyer-hero .lawyer-photo{width:210px;height:250px;object-fit:cover;border-radius:18px;margin:0}.section-subtitle{font-size:1.15rem;color:var(--navy);margin:18px 0 8px}.lawyer-hero-copy p{line-height:1.7;margin-bottom:0}.lawyer-competences{background:linear-gradient(135deg,#eef4ff,#fffaf0);border-color:#d6dfef}.lawyer-competences h2{margin-top:0}.competence-chips.compact{margin-bottom:0}.competence-chips.compact span{font-size:.78rem;padding:6px 9px;background:#fff;border:1px solid #d7e0ef}.studio-final-card{background:linear-gradient(135deg,#f7f9fd,#fff);border-left:5px solid var(--gold)}.studio-final-card h2{color:var(--navy);margin-top:0}.studio-final-card p{line-height:1.55}.push-actions{margin-top:10px}.lawyer-install-first .install-actions{max-width:620px}
@media(max-width:760px){.lawyer-hero{grid-template-columns:1fr;text-align:left}.lawyer-hero .lawyer-photo{grid-row:1;width:150px;height:170px;margin:0 auto}.lawyer-hero-copy{text-align:left}.section-subtitle{text-align:left}.lawyer-competences{text-align:left}.competence-chips.compact{justify-content:flex-start}}

/* Patch V4.3 - navigazione inferiore App Assistenza Legale */
html{scroll-behavior:smooth;scroll-padding-bottom:92px}
.lawyer-public-body{padding-bottom:86px}
.lawyer-public-wrap section[id]{scroll-margin-top:18px}
.lawyer-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:stretch;justify-content:center;gap:0;background:#fff;border-top:1px solid rgba(15,23,42,.12);box-shadow:0 -8px 28px rgba(15,23,42,.12);padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));overflow-x:auto;-webkit-overflow-scrolling:touch}
.lawyer-bottom-nav a{flex:1 1 0;min-width:74px;max-width:150px;min-height:54px;padding:5px 4px;border-radius:14px;color:#071957;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:850;text-align:center;line-height:1.05}
.lawyer-bottom-nav a:hover,.lawyer-bottom-nav a:focus{background:#f1f5ff;outline:none}
.lawyer-bottom-nav a[hidden]{display:none!important}
.lawyer-bottom-nav .nav-ico{font-size:20px;line-height:1}
@media(min-width:760px){.lawyer-bottom-nav a{font-size:11px}.lawyer-bottom-nav .nav-ico{font-size:21px}}

/* Patch V4.4 - menu nativo con Presentazione, stato attivo e badge */
.lawyer-bottom-nav{
  backdrop-filter:saturate(150%) blur(14px);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  background:rgba(255,255,255,.94);
}
.lawyer-bottom-nav a{
  position:relative;
  transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.lawyer-bottom-nav a .nav-ico{transition:transform .18s ease}
.lawyer-bottom-nav a.is-active{
  color:#071957;
  background:linear-gradient(180deg,#eef3ff,#fff8df);
  box-shadow:inset 0 0 0 1px rgba(201,162,74,.28),0 5px 14px rgba(7,25,87,.08);
  transform:translateY(-2px);
}
.lawyer-bottom-nav a.is-active .nav-ico{transform:scale(1.12)}
.lawyer-bottom-nav a:active{transform:scale(.96)}
.lawyer-bottom-nav.is-installed a{max-width:170px}
.nav-badge{
  position:absolute;
  top:3px;
  left:calc(50% + 8px);
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#b42318;
  color:#fff;
  border:2px solid #fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
  box-shadow:0 4px 10px rgba(180,35,24,.28);
}
.nav-badge[hidden]{display:none!important}
#presentation{scroll-margin-top:18px}
@media(max-width:540px){
  .lawyer-bottom-nav{justify-content:flex-start}
  .lawyer-bottom-nav a{flex:0 0 72px;min-width:72px}
  .lawyer-bottom-nav.is-installed a{flex:1 0 68px;min-width:68px}
}
@media(prefers-reduced-motion:reduce){
  .lawyer-bottom-nav a,.lawyer-bottom-nav a .nav-ico{transition:none}
  html{scroll-behavior:auto}
}

/* Patch V4.8 - offset uniforme per le ancore della App Assistenza Legale */
:root{
  --lawyer-anchor-offset:96px;
}

.lawyer-public-wrap section[id],
#installSection,
#practiceAccess,
#cases,
#presentation,
#consultation,
#appointment,
#contacts{
  scroll-margin-top:var(--lawyer-anchor-offset) !important;
}

@media(max-width:760px){
  :root{
    --lawyer-anchor-offset:82px;
  }
}

/* V4.9 - richiesta inserimento pratica */
.no-cases-box{display:grid;gap:18px;text-align:left}.no-cases-icon{font-size:42px;line-height:1}.no-cases-box>h3{margin:0}.practice-reminder-form{padding:20px;border:1px solid rgba(23,55,94,.15);border-radius:16px;background:rgba(23,55,94,.045)}.practice-reminder-form h3{margin-top:0}.no-cases-actions{display:flex;flex-wrap:wrap;gap:10px}.no-cases-actions .btn{text-decoration:none;width:auto}@media(max-width:640px){.practice-reminder-form{padding:16px}.no-cases-actions{display:grid}.no-cases-actions .btn{width:100%}}

/* Modulo Clienti */
.clients-module-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#f7f9ff,#eef3ff)}
.client-metrics .metric-card{min-height:125px}.hub-client-list{display:flex;flex-direction:column;gap:10px}.hub-client-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e1e7f0;border-radius:15px;padding:14px;background:#fff}.hub-client-row small{display:block;color:#64748b;margin-top:4px}.client-row-actions{display:flex;align-items:center;gap:9px}.client-status{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.client-status.pending{background:#fff4cf;color:#865c00}.client-status.contacted{background:#e7f0ff;color:#1d4f91}.client-status.case-created{background:#def7e5;color:#126b30}.client-status.closed{background:#eceff3;color:#596273}.btn.small{padding:8px 11px;font-size:13px}.client-detail-head{display:flex;justify-content:space-between;gap:16px}.client-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.client-detail-grid label{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.client-detail-grid p{margin:4px 0 0;font-weight:800}.client-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.case-mini{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f7}.backline{margin-bottom:12px}.section-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
@media(max-width:720px){.clients-module-intro,.hub-client-row{align-items:flex-start;flex-direction:column}.client-row-actions{width:100%;justify-content:space-between}.client-detail-grid{grid-template-columns:1fr}.client-action-grid{grid-template-columns:1fr 1fr}.hub-client-row .btn{width:100%}}


/* FASE 2 - Studio Digitale AI */
.sd-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#173a67,#24568d);color:#fff;margin-bottom:14px}.sd-hero h2{margin:5px 0}.sd-hero p{margin:0;color:#e8f0fa}.sd-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;scrollbar-width:thin}.sd-tabs button{white-space:nowrap;border:0;border-radius:999px;padding:10px 15px;background:#fff;box-shadow:0 2px 8px #00000012;font-weight:700}.sd-tabs button.active{background:#173a67;color:#fff}.sd-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.sd-toolbar input,.sd-toolbar select{width:auto;min-width:190px;margin:0}.sd-list-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid #e7ebf0}.sd-list-row:last-child{border-bottom:0}.sd-list-row>div:first-child{min-width:0}.sd-list-row small{display:block;color:#667085;margin-top:4px}.sd-list-row p{margin:7px 0 0}.sd-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sd-note,.sd-activity{padding:12px 0;border-bottom:1px solid #edf0f4}.sd-note p,.sd-activity span,.sd-activity small{display:block;margin:4px 0;color:#667085}.sd-chat{max-height:480px;overflow:auto;padding:10px;background:#f5f7fa;border-radius:14px;margin-bottom:12px}.sd-message{max-width:82%;padding:11px 13px;border-radius:15px;margin:8px 0;background:#fff;box-shadow:0 1px 5px #00000010}.sd-message.lawyer{margin-left:auto;background:#e7f1ff}.sd-message.legalbrain{background:#f2eafe;border-left:4px solid #7952b3}.sd-message p{margin:5px 0}.sd-message small{color:#667085}.link-btn{border:0;background:none;color:#175a9b;text-decoration:underline;font-weight:700;cursor:pointer;padding:0}.sd-metrics{grid-template-columns:repeat(5,1fr)}
@media(max-width:800px){.sd-hero{align-items:flex-start;flex-direction:column}.sd-two{grid-template-columns:1fr}.sd-metrics{grid-template-columns:repeat(2,1fr)}.sd-list-row{align-items:flex-start;flex-direction:column}.sd-list-row button{width:100%}.sd-toolbar>*{width:100%!important}.sd-message{max-width:94%}}

/* Fase 2 V1.0.3 - Importazione clienti Excel */
.sd-import-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;border-left:5px solid #c99a36;background:linear-gradient(135deg,#fff 0%,#f6f9fc 100%)}
.sd-import-card h3{margin:.3rem 0 .5rem}.sd-import-card p{margin:0;color:#526274;max-width:760px}
.sd-import-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.sd-import-msg{grid-column:1/-1;margin:0}.sd-import-msg.ok{padding:12px 14px;border-radius:10px;background:#e9f7ef;color:#176b3a;font-weight:700}.sd-import-msg.danger{padding:12px 14px;border-radius:10px;background:#fff0f0;color:#a51d1d;font-weight:700}
@media(max-width:760px){.sd-import-card{grid-template-columns:1fr}.sd-import-actions{justify-content:flex-start}.sd-import-actions .btn{width:100%;text-align:center}}


/* Fase 2 V1.0.4 - integrazione richieste acquistate */
.sd-row-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:7px}.badge.external-source{background:#fff2cc;color:#7b5500;border:1px solid #ead28b}.badge.app-source{background:#e8f2ff;color:#174f88;border:1px solid #bdd5ef}.sd-row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sd-request-message{padding:14px;border-radius:12px;background:#f7f9fc;border:1px solid #e3e8ef;margin:8px 0 18px;line-height:1.55}.sd-request-row p{max-width:850px}.sd-request-row .badge{font-size:11px}
@media(max-width:800px){.sd-row-actions{width:100%;justify-content:stretch}.sd-row-actions .btn{width:100%}}


/* FASE 4 - Gestione Pratiche */
.pm-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#142f55,#1e5d8f);color:#fff;margin-bottom:16px}.pm-hero h2{margin:4px 0}.pm-hero p{margin:0;color:#e8f1fa}.pm-metrics{grid-template-columns:repeat(5,1fr)}.pm-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.pm-toolbar input,.pm-toolbar select{width:auto;min-width:190px;margin:0}.pm-case-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid #e6ebf1}.pm-case-row:last-child{border-bottom:0}.pm-case-main{min-width:0;flex:1}.pm-case-main h3{margin:8px 0 4px}.pm-case-main p{margin:0 0 10px;color:#5f6f82}.pm-case-main>small{display:block;margin-top:8px;color:#69788a}.pm-case-top{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.pm-number{display:inline-flex;padding:6px 10px;border-radius:999px;background:#edf3fa;color:#173a67;font-size:12px;font-weight:900;letter-spacing:.03em}.pm-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.pm-status.open{background:#e8f1ff;color:#194f86}.pm-status.working{background:#fff0c7;color:#7c5600}.pm-status.waiting{background:#f1e9ff;color:#6b3aa6}.pm-status.done{background:#e1f6e8;color:#176b38}.pm-progress{height:8px;border-radius:999px;background:#e7edf4;overflow:hidden;max-width:480px}.pm-progress span{display:block;height:100%;background:linear-gradient(90deg,#1f65a2,#41a26b);border-radius:999px}.pm-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.pm-tags span{padding:5px 8px;border-radius:999px;background:#f3f5f8;color:#465568;font-size:11px;font-weight:800}.pm-detail-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.pm-progress-box{min-width:260px}.pm-progress-box input{margin:5px 0;width:100%}.pm-progress-box strong{font-size:22px;color:#173a67}.pm-tag-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 14px}.pm-tag-picker label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dce4ee;border-radius:12px;background:#fafcff;font-weight:700}.pm-tag-picker input{width:auto;margin:0}.pm-custom-tag small{display:block;color:#65758a;margin-top:5px}.pm-timeline{position:relative;margin-top:16px;padding-left:18px;border-left:2px solid #dce5ee}.pm-timeline-item{position:relative;padding:0 0 18px 13px}.pm-timeline-item:before{content:'';position:absolute;left:-24px;top:4px;width:10px;height:10px;border-radius:50%;background:#173a67;border:3px solid #fff;box-shadow:0 0 0 1px #b9c8d8}.pm-timeline-item.public:before{background:#2d9a58}.pm-timeline-item p{margin:5px 0}.pm-timeline-item small{color:#68788b}.practice-home-card{border-left:5px solid #1e5d8f}
@media(max-width:800px){.pm-hero,.pm-detail-head,.pm-case-row{align-items:flex-start;flex-direction:column}.pm-metrics{grid-template-columns:repeat(2,1fr)}.pm-toolbar>*{width:100%!important}.pm-case-row .btn{width:100%}.pm-progress-box{min-width:0;width:100%}.pm-tag-picker{grid-template-columns:1fr}}


/* FASE 5 - Centro Comunicazioni */
.cm-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px;border-radius:24px;background:linear-gradient(135deg,#0c285f,#174c83);color:#fff;margin-bottom:18px}
.cm-hero h2{margin:4px 0 8px}.cm-hero p{margin:0;max-width:760px;color:#e6eef8}
.cm-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.cm-case-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid #e5eaf0}
.cm-case-row:last-child{border-bottom:0}.cm-case-row div{display:flex;flex-direction:column;gap:5px}.cm-case-row small{color:#667085}
.cm-case-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.cm-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:18px;align-items:start}
.cm-chat{max-height:480px;overflow:auto;padding:10px;background:#f7f9fc;border-radius:16px;margin-bottom:16px}
.cm-channel-picker{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.cm-channel-picker label{display:flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:12px;background:#fff}
.cm-channel-picker .disabled-channel{opacity:.55;background:#f4f4f4}
.cm-video-list{margin-top:16px}.cm-video-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #e5eaf0}
.cm-video-item>div{display:flex;flex-direction:column;gap:4px}.cm-video-item.cancelled{opacity:.55;text-decoration:line-through}
.cm-log{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #e5eaf0}.cm-log:last-child{border-bottom:0}
.cm-log>span{font-size:20px}.cm-log>div{display:flex;flex-direction:column;gap:3px}.cm-log small{color:#667085}
.communications-home-card{border-left:4px solid #174c83}
@media(max-width:900px){.cm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-layout{grid-template-columns:1fr}.cm-hero,.cm-case-head{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.cm-metrics{grid-template-columns:1fr 1fr}.cm-case-row{align-items:flex-start;flex-direction:column}.cm-case-row .btn{width:100%}}


/* FASE 6 - AGENDA */
.ag-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 18px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#071957,#174b8f);color:#fff}.ag-hero h2{margin:4px 0}.ag-hero p{margin:0;color:#dbe7ff}.ag-toolbar{display:flex;gap:10px;align-items:center;justify-content:center}.ag-toolbar h3{min-width:210px;text-align:center;text-transform:capitalize}.ag-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px}.ag-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.ag-week{text-align:center;font-weight:700;padding:8px}.ag-day{min-height:110px;border:1px solid #e1e7ef;background:#fff;border-radius:12px;padding:8px;text-align:left;display:flex;flex-direction:column;gap:5px}.ag-day.today{outline:2px solid #174b8f}.ag-day.empty{background:#f6f8fb}.ag-day>span{font-weight:700}.ag-day small{display:block;padding:4px 6px;border-radius:7px;background:#eaf1fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-day small.video{background:#f1e9ff}.ag-day small.deadline{background:#fff0e6}.ag-day small.hearing{background:#ffe8e8}.ag-day em{font-style:normal;font-size:12px}.ag-event{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #edf0f4}.ag-event>div:first-child{display:flex;flex-direction:column;gap:4px}.ag-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ag-request{padding:10px 0;border-bottom:1px solid #edf0f4}.ag-request small{display:block;color:#6b7280}.small{padding:7px 10px;font-size:12px}@media(max-width:900px){.ag-layout{grid-template-columns:1fr}.ag-day{min-height:84px}.ag-day small{font-size:10px}.ag-hero{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.ag-calendar{gap:3px}.ag-day{min-height:62px;padding:5px}.ag-day small{display:none}.ag-week{font-size:11px;padding:4px}.ag-toolbar{flex-wrap:wrap}.ag-toolbar h3{order:-1;width:100%}}

/* FASE 7 - LegalBrain AI (solo avvocato) */
.lb-hero{display:flex;justify-content:flex-start;align-items:center;gap:18px;padding:25px;border-radius:23px;background:linear-gradient(135deg,#22104f,#51358f);color:#fff;margin-bottom:16px}.lb-hero h2{margin:4px 0}.lb-hero p{margin:0;color:#eee9ff}.lb-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:3px 0 12px;margin-bottom:10px;overflow:visible}.lb-tabs button{flex:0 0 auto;white-space:nowrap;border:1px solid #ddd5ef;background:#fff;color:#432978;border-radius:999px;padding:9px 13px;font-weight:800}.lb-tabs button.active{background:#432978;color:#fff;border-color:#432978}.lb-provider{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;margin:0 0 14px}.lb-provider.ready{background:#e8f6ed;color:#165d35;border:1px solid #b9e2c8}.lb-provider.missing{background:#fff4d9;color:#745100;border:1px solid #f1d48c}.lb-warning{padding:14px 16px;border-left:5px solid #7a55b6;background:#f6f1ff;border-radius:12px;margin:0 0 16px;color:#3d3152}.lb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.lb-tool-card{appearance:none;border:1px solid #e4dff0;text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;background:#fff}.lb-tool-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(53,35,92,.12)}.lb-tool-card>span{font-size:28px}.lb-tool-card>b{font-size:16px;color:#322150}.lb-tool-card small{color:#697084;line-height:1.4}.lb-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #ece8f2}.lb-row:last-child{border-bottom:0}.lb-row>div{display:flex;flex-direction:column;gap:4px;min-width:0}.lb-row small{color:#71778a}.lb-output{margin-top:18px}.lb-output pre,.lb-ai-message pre{white-space:pre-wrap;word-break:break-word;font-family:inherit;line-height:1.55;background:#f8f7fb;border:1px solid #e5e1ed;padding:16px;border-radius:14px;color:#222}.lb-output-actions{display:flex;justify-content:flex-end;margin-bottom:6px}.lb-chat-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:16px}.lb-session{display:flex;width:100%;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;padding:11px;border:0;border-bottom:1px solid #eee9f5;background:transparent}.lb-session.active{background:#f1ebfb}.lb-session small{color:#74788a}.lb-chat-messages{min-height:220px;max-height:520px;overflow:auto;padding:12px;background:#faf9fc;border-radius:14px;margin:10px 0}.lb-ai-message{padding:12px;border-radius:12px;background:#f1ebfb;margin-bottom:10px}.lb-modal{max-width:900px;max-height:88vh;overflow:auto}.lb-faq{padding:14px 0;border-bottom:1px solid #ece8f2}.lb-faq p{margin:7px 0;line-height:1.5}.lb-faq small{color:#74788a}.legalbrain-home-card{border-left:5px solid #51358f}
@media(max-width:1000px){.lb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lb-chat-layout{grid-template-columns:1fr}}
@media(max-width:620px){.lb-hero{align-items:flex-start;flex-direction:column}.lb-grid{grid-template-columns:1fr}.lb-row{align-items:flex-start;flex-direction:column}.lb-row .btn{width:100%}}


/* LegalBrain menu responsive - V1.0.4 */
@media (max-width: 760px){
  .lb-hero{padding:20px 18px}
  .lb-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    padding-bottom:10px;
  }
  .lb-tabs button{flex:0 0 auto}
}
@media (min-width: 761px){
  .lb-tabs{
    flex-wrap:wrap;
    overflow:visible;
  }
}


/* ===== FASE 9 - ANALYTICS ===== */
.analytics-home-card{border-left:5px solid #14845a}
.an-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#0b4c45,#16856d);color:#fff;margin-bottom:16px}
.an-hero h2{margin:4px 0}.an-hero p{margin:0;color:#dff6ef}.an-period{min-width:190px}.an-period label{color:#dff6ef}.an-period select{margin:4px 0 0;background:#fff}
.an-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}
.an-metric{display:flex;flex-direction:column;gap:6px;border-top:4px solid #14845a}.an-metric strong{font-size:28px;color:#123d38}.an-metric small{color:#667085}
.an-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.an-bars{display:flex;flex-direction:column;gap:12px}.an-bar-row{display:grid;grid-template-columns:minmax(120px,1fr) 2fr 42px;gap:10px;align-items:center}.an-bar-row>span{font-size:13px;font-weight:700}.an-bar-row>b{text-align:right}.an-bar-track{height:10px;background:#edf2f1;border-radius:99px;overflow:hidden}.an-bar-track i{display:block;height:100%;background:linear-gradient(90deg,#14845a,#53b693);border-radius:99px}
.an-funnel{display:grid;gap:10px}.an-funnel>div{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 14px;border-radius:12px;background:#f4f9f7}.an-funnel strong{font-size:22px;color:#0b5e50}.an-funnel small{grid-column:1/-1;color:#68768a}
.an-chart{min-height:180px}.an-chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}.an-chart-legend span{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.an-chart-legend i{width:10px;height:10px;border-radius:3px}.an-chart-legend .views,.an-column-bars .views{background:#205b96}.an-chart-legend .leads,.an-column-bars .leads{background:#db8b2f}.an-chart-legend .clients,.an-column-bars .clients{background:#16856d}.an-chart-legend .cases,.an-column-bars .cases{background:#6543a3}
.an-chart-scroll{overflow-x:auto;padding-bottom:6px}.an-columns{display:flex;align-items:flex-end;gap:5px;min-width:max-content;height:155px;border-bottom:1px solid #dfe6e4;padding:0 4px}.an-column{width:34px;height:150px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.an-column-bars{height:122px;display:flex;align-items:flex-end;gap:2px}.an-column-bars i{display:block;width:6px;min-height:1px;border-radius:3px 3px 0 0}.an-column small{font-size:9px;color:#7a8795;transform:rotate(-45deg);transform-origin:center;white-space:nowrap;margin-bottom:-5px}
.an-roi-card{border-top:5px solid #16856d}.an-roi-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0 18px}.an-roi-metrics>div{padding:14px;border-radius:13px;background:#f2f8f6}.an-roi-metrics span{display:block;color:#65758a;font-size:12px}.an-roi-metrics strong{display:block;margin-top:5px;font-size:20px;color:#104f44}
.an-fin-form{display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr;gap:10px;align-items:end;padding:16px;border:1px solid #dce7e4;border-radius:14px;background:#fbfdfc}.an-fin-form .wide{grid-column:span 3}.an-fin-form input{margin:4px 0 0}.an-fin-list{margin-top:14px}.an-fin-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #e9eeec}.an-fin-row small{display:block;color:#6d7886;margin-top:3px}
.an-inline-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.an-inline-metrics>div{padding:14px;border-radius:12px;background:#f5f8fa}.an-inline-metrics span{display:block;color:#667085;font-size:12px}.an-inline-metrics b{display:block;font-size:19px;margin-top:5px}.an-note{margin-top:14px;font-size:12px}
@media(max-width:1100px){.an-metrics{grid-template-columns:repeat(3,1fr)}.an-roi-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.an-hero{align-items:flex-start;flex-direction:column}.an-period{width:100%}.an-two{grid-template-columns:1fr}.an-metrics{grid-template-columns:repeat(2,1fr)}.an-roi-metrics{grid-template-columns:repeat(2,1fr)}.an-inline-metrics{grid-template-columns:repeat(2,1fr)}.an-fin-form{grid-template-columns:1fr 1fr}.an-fin-form .wide{grid-column:1/-1}.an-bar-row{grid-template-columns:110px 1fr 36px}}
@media(max-width:480px){.an-metrics,.an-roi-metrics,.an-inline-metrics,.an-fin-form{grid-template-columns:1fr}.an-fin-form .wide{grid-column:auto}}

.mp-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#3a245e,#7450a5);color:#fff;margin-bottom:16px}.mp-hero h2{margin:4px 0}.mp-hero p{margin:0;color:#eee8f8}.mp-wallet{text-align:center;background:rgba(255,255,255,.14);border-radius:18px;padding:14px 24px;min-width:160px}.mp-wallet span,.mp-wallet small,.mp-wallet em{display:block}.mp-wallet strong{display:block;font-size:38px}.mp-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.mp-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mp-mini-plan{padding:12px;border:1px solid #e3dcef;border-radius:13px;display:flex;flex-direction:column;gap:6px}.mp-mini-plan>strong{font-size:19px;color:#492f70}.mp-feature-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.mp-feature-list span{font-size:11px;padding:6px 9px;border-radius:99px;background:#f0ebf7;color:#4b3272;font-weight:700}.mp-product,.mp-lead{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #ece8f1}.mp-product small,.mp-row small{display:block;color:#697386;margin-top:4px}.mp-product>div:last-child{text-align:right}.mp-product .btn{margin-left:8px}.mp-lead h4{margin:8px 0 4px}.mp-lead p{margin:0 0 6px}.mp-row{display:grid;grid-template-columns:60px 1fr;gap:3px 10px;padding:10px 0;border-bottom:1px solid #eee}.mp-row small{grid-column:2}.pill{display:inline-block;padding:4px 8px;border-radius:99px;background:#eee8f6;color:#4f3477;font-size:11px;font-weight:800}@media(max-width:1000px){.mp-plans{grid-template-columns:1fr}}@media(max-width:760px){.mp-hero{align-items:flex-start;flex-direction:column}.mp-wallet{width:100%}.mp-two{grid-template-columns:1fr}.mp-product,.mp-lead{align-items:flex-start;flex-direction:column}.mp-product>div:last-child{text-align:left}}

.mp-admin-line{display:grid;grid-template-columns:2fr 90px auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eee}
@media(max-width:760px){.mp-admin-line{grid-template-columns:1fr 1fr}}

/* FASE 10.1 - tassonomia legale */
.interest-category{padding:12px 0;border-bottom:1px solid #edf0f3}
.interest-category .row{margin-bottom:7px}
.interest-subcats{display:flex;flex-wrap:wrap;gap:5px;padding-left:26px}
.interest-subcats span{font-size:10px;padding:4px 7px;border-radius:999px;background:#f3f5f8;color:#657084}
.taxonomy-admin-group{border:1px solid #e6e1ed;border-radius:12px;margin:9px 0;padding:10px}
.taxonomy-admin-group>summary{cursor:pointer;color:#4b3272}
.subcategory-admin-list{margin:8px 0 8px 18px}
.mp-admin-subline{display:grid;grid-template-columns:2fr 90px auto auto;gap:8px;align-items:center;padding:5px 0;border-bottom:1px solid #f0edf3}
.mp-admin-subline.new-sub{border-bottom:0;padding-top:10px}
@media(max-width:760px){.mp-admin-subline{grid-template-columns:1fr 90px}.mp-admin-subline label,.mp-admin-subline button{grid-column:auto}.interest-subcats{padding-left:0}}

.field-help{display:block;margin-top:6px;color:#687386;font-size:11px;line-height:1.35}

.interest-subcats-text{padding:4px 0 2px 26px;color:#697386;font-size:11px;line-height:1.55}
.gratuito-ack{grid-column:1/-1;padding:14px 16px;border:1px solid #ded7e9;border-radius:12px;background:#faf8fd}
.gratuito-ack p{margin:0 0 10px;line-height:1.5}
.gratuito-ack .checkline{margin:0;font-weight:800}

.gold-badge{display:inline-block;margin-left:7px;padding:4px 8px;border-radius:999px;background:#fff4c2;color:#6e5300;font-size:10px;font-weight:900;border:1px solid #ead47a}
.request-datetime{display:block;margin-top:5px;color:#70798a}
.mp-admin-line{grid-template-columns:2fr 90px 90px auto auto}
.mp-admin-subline{grid-template-columns:2fr 90px 90px auto auto}
@media(max-width:760px){.mp-admin-line,.mp-admin-subline{grid-template-columns:1fr 80px 80px}}

.request-ref-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.request-ref{display:inline-block;font-size:11px;font-weight:900;color:#49336b;background:#f0ebf7;border-radius:999px;padding:5px 9px}

.crm-dates{display:flex;gap:14px;flex-wrap:wrap;margin:7px 0;color:#667085;font-size:11px}
.crm-info-grid label{font-weight:800;color:#596273}

.wallet-movement small{display:block}

/* FASE 10.3.8 - Movimenti wallet compatti */
.wallet-movements-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px}
.wallet-movements-head h3{margin-bottom:2px}
.wallet-movements-scroll{
  max-height:520px;
  overflow-y:auto;
  padding-right:6px;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
.wallet-movements-scroll .wallet-movement:last-child{border-bottom:0}
@media(max-width:760px){
  .wallet-movements-scroll{max-height:500px}
}


/* ============================================================
   FASE 11 - ADMIN ENTERPRISE
   ============================================================ */
.enterprise-nav{font-weight:900}
.enterprise-hero,.enterprise-lawyer-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.enterprise-mode-box{min-width:210px;padding:14px;border-radius:14px;background:#f7f5fa;text-align:center}
.enterprise-mode-box>span:first-child{display:block;font-size:11px;color:#697386;margin-bottom:7px}
.ent-mode{display:inline-block;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.05em}
.ent-mode.observe{background:#fff3cc;color:#765a00;border:1px solid #ead486}
.ent-mode.enforce{background:#e9f8ed;color:#1d6b35;border:1px solid #addbbb}
.enterprise-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}
.enterprise-stats{margin:14px 0}
.ent-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900}
.ent-active{background:#e9f8ed;color:#1d6b35}
.ent-suspended{background:#fff2cd;color:#735600}
.ent-disabled{background:#fdebea;color:#9d2a23}
.ent-yes{color:#16753a;font-weight:800}
.ent-no{color:#a3342c;font-weight:800}
.ent-features-table small{white-space:normal}
.ent-feature-cell{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800}
.package-matrix td{min-width:150px;vertical-align:top}
.package-matrix input[type="number"]{max-width:100px;margin:6px 0}
.enterprise-settings-card{max-width:900px;margin-left:auto;margin-right:auto}
.ent-mode-explain{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.ent-mode-option{padding:16px;border:1px solid #e4dfeb;border-radius:14px;background:#faf9fc}
.warning-box{margin:16px 0;padding:14px;border-radius:12px;background:#fff7df;border:1px solid #ead69a;color:#5f4b16}
.two-cols{grid-template-columns:1fr 1fr}
.enterprise-lawyers-table td{vertical-align:middle}
@media(max-width:1050px){
  .enterprise-actions-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .enterprise-hero,.enterprise-lawyer-head{align-items:flex-start;flex-direction:column}
  .enterprise-actions-grid,.ent-mode-explain,.two-cols{grid-template-columns:1fr}
  .enterprise-mode-box{width:100%;box-sizing:border-box}
}

/* FASE 11.1 - Matrice consigliata pacchetti */
.recommended-plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.recommended-plan{padding:16px;border:1px solid #e3deea;border-radius:14px;background:#faf9fc}
.recommended-plan h4{margin:5px 0}
.recommended-plan p{color:#667085;min-height:62px}
.recommended-plan strong{font-size:12px}
@media(max-width:850px){.recommended-plans-grid{grid-template-columns:1fr}}

.compact-warning{margin-top:8px;padding:9px 11px;font-size:12px}

/* FASE 11.2 - piano attivo e funzioni bloccate */
.active-plan-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 0;padding:14px 16px;border:1px solid #ddd5e7;border-radius:14px;background:#faf8fd}
.active-plan-banner span{display:block;font-size:11px;color:#6b6475}
.active-plan-banner strong{display:block;margin-top:2px}
.active-plan-banner small{color:#645b70}
.feature-locked{text-align:center;padding:28px}
.feature-locked h3{margin-bottom:8px}
@media(max-width:700px){.active-plan-banner{align-items:flex-start;flex-direction:column}}

.free-access-info{margin:10px 0;padding:12px;border-radius:12px;background:#faf8fd;border:1px solid #e3ddeb}
.free-access-info p{margin:4px 0;font-size:12px}
.trial-cta{margin:18px 0;padding:16px;border-radius:14px;background:#faf8fd;border:1px solid #ddd5e7;text-align:center}
.trial-cta p{font-size:12px;color:#667085}
.expired-plan-banner{background:#fff7df;border-color:#ead69a}
.base-plan-banner{background:#f5f7fa}

.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.three-cols{grid-template-columns:1fr}}

/* FASE 12 - Billing */
.payment-result{margin:14px 0;padding:13px 15px;border-radius:12px;font-weight:700}
.payment-result.success{background:#eaf8ee;color:#1f6d39;border:1px solid #b9dfc4}
.payment-result.warning{background:#fff7df;color:#6c5511;border:1px solid #e9d699}
.payment-result.error{background:#fdeceb;color:#9a3029;border:1px solid #efc1bd}
.payment-sandbox{margin:10px 0;padding:9px 12px;border-radius:10px;background:#f2eff8;color:#604d78;font-size:12px;font-weight:800}
.billing-status-ok{color:#1f6d39;font-weight:800}
.billing-status-off{color:#9a3029;font-weight:800}

.billing-nav{font-weight:900}
.billing-code{display:block;padding:10px;border-radius:8px;background:#f5f3f8;overflow:auto;white-space:nowrap}

/* FASE 12.1 - ciclo abbonamento */
.plan-change-box{margin-top:14px;padding-top:12px;border-top:1px solid #e6e0eb}
.mp-plans.compact{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

/* FASE 12.2 - Notifiche Billing */
.billing-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.billing-rule-card{padding:16px;border:1px solid #e3deea;border-radius:14px;background:#faf9fc}
.billing-rule-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.billing-rule-channels{display:flex;gap:16px;margin:10px 0}
.billing-notification-list{max-height:430px;overflow-y:auto}
.billing-notification-item{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #ece8f0}
.billing-notification-item:last-child{border-bottom:0}
.billing-notification-item p{margin:4px 0 0;color:#667085;font-size:12px}
.billing-notification-item small{white-space:nowrap;color:#777}
@media(max-width:850px){
  .billing-rules-grid{grid-template-columns:1fr}
  .billing-notification-item{flex-direction:column}
}

/* FASE 12.3 - Amministrazione economica */
.billing-period-filter{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.billing-period-filter>div{min-width:150px}
.billing-period-actions{display:flex;gap:8px;flex-wrap:wrap}
.billing-economic-stats .admin-stat small{display:block;margin-top:4px;color:#777}
.billing-economic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.revenue-bars{display:flex;flex-direction:column;gap:9px;max-height:380px;overflow-y:auto}
.revenue-bar-row{display:grid;grid-template-columns:90px 1fr 100px;gap:10px;align-items:center;font-size:12px}
.revenue-bar-track{height:10px;border-radius:10px;background:#eeeaf2;overflow:hidden}
.revenue-bar-fill{height:100%;background:currentColor;border-radius:10px}
.economic-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.economic-breakdown>div{padding:14px;border-radius:12px;background:#f8f7fa}
.economic-breakdown span{display:block;color:#667085;font-size:12px}
.economic-breakdown strong{display:block;margin-top:5px;font-size:18px}
.billing-pill{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900}
.billing-pill.ok{background:#e9f8ee;color:#206c3b}
.billing-pill.danger{background:#fdeceb;color:#9a3029}
.billing-danger-card{border-color:#efc1bd}
.billing-transactions-scroll{max-height:520px;overflow:auto}
@media(max-width:900px){
  .billing-economic-grid{grid-template-columns:1fr}
  .revenue-bar-row{grid-template-columns:78px 1fr 88px}
  .economic-breakdown{grid-template-columns:1fr}
}

/* FASE 12.4 - Dati di fatturazione */
.billing-profile-status{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 0;padding:14px 16px;border-radius:14px}
.billing-profile-status div{display:flex;flex-direction:column;gap:3px}
.billing-profile-status small{color:#667085}
.billing-profile-status.complete{background:#eaf8ee;border:1px solid #b9dfc4;color:#245f39}
.billing-profile-status.incomplete{background:#fff7df;border:1px solid #ead69a;color:#6c5511}
.billing-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.billing-profile-note{background:#faf9fc}
.billing-profile-note p{margin-bottom:0;color:#667085}
.billing-profile-admin-filters{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.billing-profile-admin-filters>div{min-width:220px}
.billing-profile-filter-actions{display:flex;gap:8px;min-width:auto!important}
.billing-profile-history{max-height:360px;overflow:auto}
@media(max-width:700px){
  .billing-profile-status{flex-direction:column;align-items:flex-start}
  .billing-profile-admin-filters>div{width:100%;min-width:0}
}

/* FASE 13 - Marketing */
.marketing-tabs{display:flex;gap:8px;overflow-x:auto;margin:12px 0 16px;padding-bottom:4px}
.marketing-tabs button{border:1px solid #ddd6e7;background:#fff;padding:9px 13px;border-radius:10px;white-space:nowrap;cursor:pointer}
.marketing-tabs button.active{font-weight:900;background:#f4f0f8;border-color:#b8a9ca}
.marketing-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.marketing-status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900;background:#f1eef4}
.marketing-status.sent{background:#e9f8ee;color:#206c3b}
.marketing-status.scheduled{background:#eef4ff;color:#294f87}
.marketing-status.sending{background:#fff5dc;color:#7b5a05}
.marketing-status.cancelled,.marketing-status.failed{background:#fdeceb;color:#9a3029}
.marketing-status.paused{background:#f4f4f4;color:#555}
.marketing-actions{display:flex;gap:5px;flex-wrap:wrap}
.marketing-campaign-actions{display:flex;gap:8px;margin-top:12px}
.marketing-message-preview{padding:14px;border-radius:12px;background:#faf9fc;white-space:pre-wrap}
.marketing-recipient-scroll,.marketing-audience-scroll{max-height:520px;overflow:auto}
.marketing-manual-clients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:260px;overflow:auto;padding:10px;border:1px solid #e5e0e9;border-radius:10px;margin-bottom:12px}
.marketing-manual-clients label{font-size:12px}
.marketing-audience-scroll input[type="text"],.marketing-audience-scroll input:not([type]){min-width:220px}
@media(max-width:800px){
  .marketing-overview-grid{grid-template-columns:1fr}
  .marketing-manual-clients{grid-template-columns:1fr}
}

/* FASE 14 - Marketing Automation */
.mka-delay{display:grid;grid-template-columns:1fr 120px;gap:8px}
.mka-flow{display:flex;flex-direction:column;gap:10px}
.mka-step{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;border:1px solid #e5e0e9;border-radius:14px;padding:12px;background:#fff}
.mka-step-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1edf6;font-weight:900}
.mka-step-body{display:flex;flex-direction:column;gap:3px}
.mka-step-body span{font-size:12px;color:#6f6874}
.mka-step-body p{margin:2px 0 0}
.mka-enrollments{max-height:500px;overflow:auto}
@media(max-width:700px){.mka-step{grid-template-columns:36px 1fr}.mka-step .btn{grid-column:2}.mka-delay{grid-template-columns:1fr}}

/* FASE 14.1 - province pubbliche App e fix Automation */
.lawyer-province-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px;max-height:310px;overflow:auto;padding:10px;border:1px solid #e6e2ea;border-radius:12px}
.province-choice{align-items:flex-start}
.mka-detail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
@media(max-width:850px){.lawyer-province-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.lawyer-province-list{grid-template-columns:1fr}}


/* FASE 14.5 - Quote Marketing mensili */
.marketing-quota-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.marketing-quota-card{padding:16px;border:1px solid #e5e0e9;border-radius:14px;background:#faf9fc}
.marketing-quota-card span{display:block;font-size:12px;color:#6b6570;font-weight:700}
.marketing-quota-card strong{display:block;font-size:28px;margin:4px 0 6px}
.marketing-quota-card small{display:block;color:#6b6570;margin-top:2px}
@media(max-width:700px){.marketing-quota-grid{grid-template-columns:1fr}}

/* FASE 14.6 - Extra Marketing & BrainCoin */
.extra-commerce-grid{margin-top:16px}
.extra-balance-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.extra-balance-row>div,.braincoin-summary,.braincoin-wallet{padding:14px;border:1px solid #e5e0e9;border-radius:14px;background:#faf9fc}
.extra-balance-row span,.braincoin-summary span,.braincoin-wallet span{display:block;font-size:12px;color:#6b6570}
.extra-balance-row strong,.braincoin-summary strong{display:block;font-size:26px;margin-top:3px}
.braincoin-wallet{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:12px 0}
.braincoin-wallet>div{display:flex;flex-direction:column;gap:3px}
.braincoin-wallet strong{font-size:25px}
.braincoin-cost{display:inline-block;margin-top:7px;font-style:normal;font-weight:900;font-size:11px;padding:4px 8px;border-radius:999px;background:#f4eef9;color:#68468b}
@media(max-width:700px){.extra-balance-row{grid-template-columns:1fr}.braincoin-wallet{align-items:flex-start;flex-direction:column}}

.extra-lot-list{display:flex;flex-direction:column;gap:4px;margin:8px 0 12px;padding:9px 11px;border-radius:10px;background:#f7f7f8}
.extra-lot-list small{color:#6c6670}

/* FASE 14.7 - Analytics Extra & ROI */
.an-hub-economics{margin-top:16px}
.an-hub-total{font-size:28px;white-space:nowrap}
.an-hub-breakdown{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
.an-hub-breakdown>div{padding:12px;border:1px solid #e7e3ea;border-radius:12px;background:#faf9fb}
.an-hub-breakdown span{display:block;font-size:11px;color:#6d6772}
.an-hub-breakdown strong{display:block;margin-top:4px;font-size:18px}
.an-extra-usage{margin-top:14px}
@media(max-width:900px){.an-hub-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.an-hub-breakdown{grid-template-columns:1fr}.an-hub-total{font-size:22px}}

/* FASE 14.7 - Admin Ricavi & Utilizzi */
.admin-inline-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.admin-inline-stats>div{padding:12px;border:1px solid #e5e2e7;border-radius:10px}
.admin-inline-stats span{display:block;font-size:11px;color:#6d6772}
.admin-inline-stats b{display:block;font-size:22px;margin-top:4px}
.admin-revenue-bars{display:flex;flex-direction:column;gap:10px}
.admin-revenue-row{display:grid;grid-template-columns:150px 1fr 120px;gap:10px;align-items:center}
.admin-revenue-track{height:12px;border-radius:999px;background:#eee;overflow:hidden}
.admin-revenue-track i{display:block;height:100%;background:currentColor}
.admin-revenue-row strong{text-align:right}
@media(max-width:700px){.admin-inline-stats{grid-template-columns:1fr}.admin-revenue-row{grid-template-columns:1fr}}

/* FASE 14.8 - Dashboard commerciale */
.commercial-hero{align-items:center}
.commercial-kpis{margin-bottom:16px}
.ca-bars{display:flex;flex-direction:column;gap:10px}
.ca-bar-row{display:grid;grid-template-columns:130px 1fr 110px;gap:10px;align-items:center}
.ca-bar-track{height:12px;background:#eee;border-radius:999px;overflow:hidden}
.ca-bar-track i{display:block;height:100%;background:currentColor}
.ca-bar-row strong{text-align:right}
.ca-margin-grid,.ca-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ca-margin-grid>div,.ca-usage-grid>div{padding:12px;border:1px solid #e6e2e8;border-radius:11px;background:#faf9fb}
.ca-margin-grid span,.ca-usage-grid span{display:block;font-size:11px;color:#6d6772}
.ca-margin-grid strong,.ca-usage-grid strong{display:block;font-size:20px;margin-top:4px}
.ca-warning-card{border-style:dashed}
.ca-reason{display:inline-block;margin:2px;padding:3px 7px;border-radius:999px;background:#f1eef5;font-size:11px}
.ca-trend{display:flex;align-items:flex-end;gap:4px;min-height:100px;overflow-x:auto;padding-top:8px}
.ca-trend-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:20px}
.ca-trend-col i{width:12px;border-radius:4px 4px 0 0;background:currentColor;display:block}
.ca-trend-col small{font-size:9px;margin-top:3px;writing-mode:vertical-rl}
.ca-note-card{margin-top:16px}
@media(max-width:800px){
  .ca-bar-row{grid-template-columns:1fr}
  .ca-bar-row strong{text-align:left}
  .ca-margin-grid,.ca-usage-grid{grid-template-columns:1fr}
}

/* FASE 15 - Lead Intelligence */
.matching-score{display:block;margin-top:5px}
.li-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.li-score-grid>div{padding:12px;border:1px solid #e5e2e7;border-radius:11px;background:#faf9fb}
.li-score-grid span{display:block;font-size:11px;color:#6d6772}
.li-score-grid strong{display:block;font-size:20px;margin-top:4px}
.li-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:700px){.li-score-grid{grid-template-columns:1fr}}

/* FASE 15.6 - Learning & Conversion Intelligence */
.comparison-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.comparison-kpis p{margin:0;padding:14px;border:1px solid #e5e2e7;border-radius:11px;background:#faf9fb}
@media(max-width:700px){.comparison-kpis{grid-template-columns:1fr}}

/* FASE 15.8 - Experiment Intelligence */
.ei-status-banner{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border-radius:12px;margin-bottom:14px}
.ei-status-banner>div{padding:10px;border-radius:10px;background:rgba(255,255,255,.55)}
.ei-status-banner span{display:block;font-size:11px;color:#6d6772}
.ei-status-banner strong{display:block;margin-top:4px;font-size:17px}
.ei-pass{border:1px solid #b8dec1;background:#f1faf3}
.ei-wait{border:1px solid #e3d7ad;background:#fffaf0}
.ei-explain{margin:12px 0;padding:12px;border:1px solid #e6e2e8;border-radius:10px;background:#faf9fb}
.ei-reports{margin-top:16px}
.ei-report{padding:12px;border:1px solid #e6e2e8;border-radius:10px;margin-top:8px}
.ei-report small{display:block;margin-top:3px;color:#6d6772}
@media(max-width:700px){.ei-status-banner{grid-template-columns:1fr}}

/* FASE 17 - AI Agents */
.hub-ai-chat{min-height:320px;max-height:55vh;overflow:auto;padding:14px;border:1px solid #e6e2e8;border-radius:12px;background:#fff}
.hub-ai-msg{max-width:85%;padding:10px 12px;border-radius:12px;margin:8px 0;white-space:pre-wrap}
.hub-ai-msg.assistant{background:#f5f2f7}.hub-ai-msg.user{background:#f2f8f3;margin-left:auto}
.hub-ai-compose{display:flex;gap:8px;margin-top:10px}.hub-ai-compose textarea{flex:1;min-height:70px}

/* FASE 17.0.4 - Marketplace: provincia sempre evidente */
.mp-lead-province{
  display:flex;
  align-items:center;
  gap:6px;
  margin:9px 0 5px;
  padding:8px 10px;
  border:1px solid #e4dfe8;
  border-radius:10px;
  background:#faf8fb;
  width:max-content;
  max-width:100%;
}
.mp-lead-province span{font-size:12px;color:#6d6772}
.mp-lead-province strong{font-size:14px}
.mp-lead-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;font-size:12px;color:#6d6772}

/* FASE 17.0.5 - provincia richiesta sempre primaria */
.mp-lead-province{
  display:flex !important;
  align-items:center;
  gap:8px;
  margin:10px 0 7px;
  padding:9px 11px;
  border:1px solid #d9d2de;
  border-radius:10px;
  background:#faf8fb;
  width:max-content;
  max-width:100%;
}
.mp-lead-province span{font-size:13px;font-weight:600}
.mp-lead-province strong{font-size:15px}

/* FASE 17.1 - Smart Lead Notifications */
.lead-notif-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;padding:0 6px;border-radius:999px;
  font-size:11px;margin-left:5px;background:#222;color:#fff;
}
.lead-unread-summary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px}
.lead-unread-summary span{font-size:12px}.lead-unread-summary strong{font-size:28px}
.notification-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.notification-setting{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e6e2e8;border-radius:11px;background:#faf9fb}
.notification-setting input{margin-top:4px;transform:scale(1.15)}
.notification-setting span{display:flex;flex-direction:column;gap:3px}
.notification-setting small{color:#6d6772}
.lead-notification-list{display:flex;flex-direction:column;gap:8px}
.lead-notification-item{position:relative;width:100%;border:1px solid #e6e2e8;border-radius:11px;background:#fff;padding:12px;display:flex;gap:12px;text-align:left;cursor:pointer}
.lead-notification-item.unread{background:#faf7fc;border-color:#d8cfe0}
.lead-notification-item>div:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}
.lead-notification-item span,.lead-notification-item small{color:#6d6772}
.lead-notification-icon{font-size:21px}
.lead-unread-dot{position:absolute;right:12px;top:12px;width:9px;height:9px;border-radius:50%;background:currentColor}
.mp-lead-target{outline:3px solid currentColor;outline-offset:2px}
@media(max-width:700px){.notification-settings-grid{grid-template-columns:1fr}.lead-unread-summary{align-items:flex-start}}

/* FASE 17.1.1 - Mobile Settings + Hub PWA */
.settings-hero{
  margin:0 0 14px;
  padding:4px 2px;
}
.settings-hero h2{margin:4px 0 6px}
.settings-hero p{margin:0;color:#687386}

.settings-card{padding:18px}
.settings-section-title h3{margin:0 0 4px}
.settings-section-title p{margin:0}

.mobile-settings-list{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:14px;
  border:1px solid #e4e1e8;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.mobile-setting-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:68px;
  padding:12px 14px;
  border-bottom:1px solid #ece9ef;
  background:#fff;
  cursor:pointer;
}
.mobile-setting-row:last-child{border-bottom:0}
.mobile-setting-text{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  flex:1;
}
.mobile-setting-text b{
  font-size:14px;
  line-height:1.25;
  color:#25314a;
}
.mobile-setting-text small{
  font-size:12px;
  line-height:1.3;
  color:#718096;
}
.switch-control{
  position:relative;
  flex:0 0 auto;
  width:48px;
  height:28px;
}
.switch-control input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
}
.switch-slider{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#cfd5df;
  transition:.2s ease;
}
.switch-slider:before{
  content:"";
  position:absolute;
  width:22px;
  height:22px;
  left:3px;
  top:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22);
  transition:.2s ease;
}
.switch-control input:checked + .switch-slider{
  background:#17347f;
}
.switch-control input:checked + .switch-slider:before{
  transform:translateX(20px);
}
.switch-control input:focus-visible + .switch-slider{
  outline:3px solid rgba(23,52,127,.22);
  outline-offset:2px;
}
.settings-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.settings-actions .btn{margin:0}

.hub-install-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid #d9dfe9;
  background:#fbfcff;
}
.hub-install-copy{flex:1;min-width:0}
.hub-install-copy h3{margin:4px 0 6px}
.hub-install-copy p{margin:0;color:#687386}
.hub-install-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.hub-install-actions .btn{margin:0}
.hub-push-status{
  width:100%;
  margin:6px 0 0;
}

@media(max-width:700px){
  .settings-card{
    padding:14px 12px;
  }
  .settings-hero{
    padding:0 2px;
  }
  .mobile-settings-list{
    margin-left:0;
    margin-right:0;
    border-radius:12px;
  }
  .mobile-setting-row{
    min-height:64px;
    padding:11px 12px;
    gap:12px;
  }
  .mobile-setting-text b{
    font-size:14px;
  }
  .mobile-setting-text small{
    font-size:11.5px;
  }
  .settings-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .settings-actions .btn{
    width:100%;
  }
  .hub-install-card{
    display:block;
    padding:15px 13px;
  }
  .hub-install-actions{
    display:grid;
    grid-template-columns:1fr;
    margin-top:14px;
  }
  .hub-install-actions .btn{
    width:100%;
  }
}

/* FASE 17.1.2 - Fix desktop install card */
.hub-install-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:24px;
  row-gap:10px;
}
.hub-install-copy{
  min-width:0 !important;
  max-width:620px;
}
.hub-install-copy .eyebrow{
  display:block;
  width:auto;
}
.hub-install-copy h3{
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
}
.hub-install-copy p{
  max-width:620px;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
}
.hub-install-actions{
  justify-content:flex-end;
  align-items:center;
  max-width:440px;
}
.hub-push-status{
  grid-column:1 / -1;
  width:auto !important;
  margin:0;
}
.hub-install-card-compact{
  grid-template-columns:minmax(0,1fr) auto;
}

@media(max-width:700px){
  .hub-install-card,
  .hub-install-card-compact{
    display:block !important;
  }
  .hub-install-copy{
    max-width:none;
  }
}

/* ============================================================
   FASE 17.1.5 - PWA card desktop/mobile isolated layout
   ============================================================ */
.hub-pwa-card-v615{
  width:100%;
  box-sizing:border-box;
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:18px 32px;
  padding:22px 24px;
  border:1px solid #d9dfe9;
  background:#fbfcff;
}
.hub-pwa-copy-v615{
  flex:1 1 420px !important;
  width:auto !important;
  min-width:320px !important;
  max-width:650px !important;
}
.hub-pwa-copy-v615 .eyebrow{
  display:block;
  width:auto !important;
  white-space:normal;
}
.hub-pwa-copy-v615 h3{
  margin:5px 0 7px;
  font-size:22px;
  line-height:1.2;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.hub-pwa-copy-v615 p{
  margin:0;
  max-width:620px;
  color:#687386;
  font-size:15px;
  line-height:1.4;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.hub-pwa-actions-v615{
  flex:0 1 470px !important;
  width:auto !important;
  min-width:360px;
  max-width:500px;
  display:flex !important;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:9px;
}
.hub-pwa-actions-v615 .btn{
  margin:0 !important;
  white-space:nowrap;
}
.hub-pwa-status-v615{
  flex:1 0 100%;
  width:100% !important;
  margin:0 !important;
}
.hub-pwa-card-compact-v615 .hub-pwa-actions-v615{
  flex-basis:auto !important;
  min-width:auto;
}

@media(max-width:760px){
  .hub-pwa-card-v615{
    display:block !important;
    padding:15px 13px;
  }
  .hub-pwa-copy-v615{
    min-width:0 !important;
    max-width:none !important;
    width:100% !important;
  }
  .hub-pwa-copy-v615 h3{
    font-size:19px;
  }
  .hub-pwa-actions-v615{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:14px;
  }
  .hub-pwa-actions-v615 .btn{
    width:100% !important;
  }
  .hub-pwa-status-v615{
    margin-top:10px !important;
  }
}

/* FASE 17.2 - Private App Leads */
.private-app-leads-card{
  border:1px solid #d8c98c;
  background:#fffdf6;
}
.private-owner-lead{
  border-left:4px solid #b99323;
  background:#fff;
}
.private-owner-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:#fff3c5;
  color:#6d5310;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
}
.private-expiry-box{
  display:flex;
  flex-wrap:wrap;
  gap:5px 10px;
  align-items:baseline;
  margin-top:10px;
  padding:10px 11px;
  border-radius:10px;
  background:#fff8df;
  border:1px solid #eadba8;
}
.private-expiry-box span{font-size:12px;color:#6c5b27}
.private-expiry-box strong{font-size:14px}
.private-expiry-box small{
  flex-basis:100%;
  color:#785d12;
  font-weight:700;
}
@media(max-width:700px){
  .private-owner-lead .btn{width:100%;margin-top:10px}
}

/* FASE 18 - Community Avvocati */
.community-hero{margin-bottom:14px}.community-hero h2{margin:4px 0 6px}.community-hero p{margin:0;color:#687386}
.community-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.community-tab{border:1px solid #dfe3ea;background:#fff;border-radius:13px;padding:13px;text-align:left;cursor:pointer}.community-tab b,.community-tab small{display:block}.community-tab small{margin-top:3px;color:#718096}.community-tab.active{border-color:#17347f;background:#f5f7ff;box-shadow:inset 0 0 0 1px #17347f}
.community-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:14px;align-items:start}.community-stream-card,.community-compose-card{margin:0}.community-stream-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.community-stream-head h3{margin:0 0 4px}.community-messages{height:58vh;min-height:440px;overflow:auto;padding:4px 4px 10px}.community-message{border:1px solid #e4e7ec;border-radius:13px;padding:12px;margin:10px 0;background:#fff}.community-message.pinned{border-color:#d2b756;background:#fffdf4}.community-message-head{display:flex;justify-content:space-between;gap:10px}.community-message-head strong,.community-message-head small{display:block}.community-message-head small,.community-message-head time{color:#7a8496;font-size:11px}.community-message-text{margin-top:9px;line-height:1.48;color:#263248}.community-message-actions{display:flex;gap:12px;align-items:center;margin-top:9px}.community-message-actions button{border:0;background:none;padding:0;color:#17347f;font-size:12px;cursor:pointer}.community-message-actions span{font-size:12px;color:#6d5b16}.community-quoted{margin-top:8px;padding:8px 10px;border-left:3px solid #bfc8d8;background:#f7f8fa;border-radius:7px}.community-quoted b,.community-quoted span{display:block;font-size:12px}.community-quoted span{color:#697386;margin-top:3px}.community-dom-card{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:9px;padding:9px 10px;border-radius:10px;background:#f5f7ff;border:1px solid #dce3fa;font-size:12px}.community-structured-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.community-structured-grid label{margin:0}.community-compose-card textarea{width:100%;resize:vertical}.community-compose-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.community-reply-box{margin:8px 0;padding:8px 10px;border-radius:9px;background:#f4f6f9;font-size:12px}.community-reply-box button{float:right;border:0;background:none;cursor:pointer}.community-empty{text-align:center;padding:40px 10px}
@media(max-width:900px){.community-layout{grid-template-columns:1fr}.community-messages{height:52vh;min-height:360px}.community-compose-card{order:-1}}
@media(max-width:650px){.community-tabs{grid-template-columns:1fr}.community-structured-grid{grid-template-columns:1fr}.community-message-head{display:block}.community-message-head time{display:block;margin-top:3px}.community-layout{gap:10px}}

/* FASE 18.1 - Community Smart Notifications */
.community-notification-settings{margin-top:18px;border-top:1px solid #e7e3ea;padding-top:12px}
.community-notification-settings summary{cursor:pointer;font-weight:700}
.community-notification-options{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.community-notif-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px;border:1px solid #ece8ef;border-radius:9px}
.community-notif-row input{transform:scale(1.15)}
.community-mention-help{font-size:12px}
.community-message-target{outline:3px solid currentColor;outline-offset:3px}

/* FASE 18.1.2 - Province Matching Hardening */
.community-structured-grid select{
  width:100%;
  min-height:42px;
}

/* FASE 18.2 - Community Broadcast */
.community-mention-help{line-height:1.45}
.community-notification-settings summary{user-select:none}

/* REVISIONE GENERALE v8.0 - Admin responsive */
.admin-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.admin-nav .btn{
  white-space:normal;
  min-height:42px;
}
@media(max-width:760px){
  .admin-header{padding:14px}
  .admin-nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-nav .btn{width:100%;font-size:13px;padding:10px 8px}
  .admin-table{min-width:720px}
  .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:420px){
  .admin-nav{grid-template-columns:1fr}
}

/* FASE 19 */
.hub-assistant-fab{position:fixed;right:18px;bottom:82px;z-index:1200;border:0;border-radius:999px;padding:11px 14px;box-shadow:0 8px 28px rgba(0,0,0,.18);font-weight:700;cursor:pointer}.hub-assistant-fab span{margin-left:5px}.profile-tabs{margin:12px 0 18px}@media(max-width:720px){.hub-assistant-fab{right:12px;bottom:76px}.hub-assistant-fab span{display:none}}

/* FASE 19.1 - Client Workspace & Practice Automation */
.client-workspace-tabs{display:flex;gap:8px;overflow:auto;margin:12px 0}
.client-workspace-tabs button{border:1px solid #ded8e5;background:#fff;border-radius:999px;padding:9px 14px;white-space:nowrap;cursor:pointer}
.client-workspace-tabs button.active{font-weight:800;border-color:currentColor}
.client-workspace-panel{margin-top:0}
.automation-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.automation-summary span{background:#f5f2f7;border-radius:999px;padding:7px 10px;font-size:13px}
.automation-case-picker{display:grid;gap:8px;max-height:420px;overflow:auto;margin:12px 0}
.automation-case-row{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #ebe6ef;border-radius:10px}
.automation-case-row span{display:flex;flex-direction:column;gap:3px}
@media(max-width:720px){.client-action-grid{display:grid;grid-template-columns:1fr 1fr}.automation-summary{flex-direction:column}.automation-summary span{border-radius:8px}}

/* FASE 19.2 - Wallet & Subscription Center */
.wallet-tabs{display:flex;gap:8px;overflow:auto;margin:14px 0 18px;padding-bottom:2px}
.wallet-tabs button{border:1px solid #dfe3ec;background:#fff;border-radius:999px;padding:10px 15px;white-space:nowrap;font-weight:700;cursor:pointer}
.wallet-tabs button.active{background:#071957;color:#fff;border-color:#071957}
.wallet-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wallet-plan-card{border:1px solid #e5e7eb;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}
.wallet-plan-card.current{border-width:2px}.wallet-plan-card.trial{background:#f8fbff}
.wallet-price{font-size:24px}.wallet-price small{font-size:12px;font-weight:500}
.wallet-feature-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}.wallet-feature-list li{font-size:13px}
.wallet-plan-stats,.wallet-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.wallet-plan-stats>div{background:#f7f8fb;padding:11px;border-radius:10px;display:flex;flex-direction:column;gap:3px}
.wallet-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.wallet-filter-actions{display:flex;gap:8px;margin-bottom:14px}
.wallet-notifications{margin-top:16px}
@media(max-width:900px){.wallet-plan-grid{grid-template-columns:1fr 1fr}.wallet-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.wallet-plan-grid,.wallet-plan-stats,.wallet-summary-grid,.wallet-filter-grid{grid-template-columns:1fr}.wallet-tabs{margin-left:-4px;margin-right:-4px}}

/* FASE 19.4 - Response Time Reward */
.response-reward-box{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #d9e3f5;background:#f7fbff;border-radius:14px;padding:14px;margin:16px 0}
.response-reward-box>div{display:flex;flex-direction:column;gap:4px}.response-reward-box strong{font-size:16px}.response-reward-box small{color:#667085}
.reward-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.reward-admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:700px){.response-reward-box{align-items:flex-start;flex-direction:column}.reward-rule-grid,.reward-admin-stats{grid-template-columns:1fr}}

/* FASE 19.4.1 - Reward Center Dashboard */
.reward-center-card{border:2px solid #e2b83f;background:linear-gradient(135deg,#fffdf5,#fff8dc);box-shadow:0 10px 30px rgba(70,52,0,.08);margin:16px 0 20px}
.reward-center-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.reward-center-head h3{font-size:22px;margin:5px 0}.reward-center-head p{margin:0;color:#5d6470}
.reward-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.reward-goal{display:flex;gap:12px;padding:15px;border:1px solid #eadca8;border-radius:14px;background:#fff}.reward-goal-icon{font-size:27px;line-height:1}.reward-goal b{display:block}.reward-goal p{font-size:13px;margin:5px 0;color:#667085}.reward-prize{display:inline-block;font-weight:800;color:#7a5700;background:#fff1b8;border-radius:999px;padding:4px 9px}.reward-goal small{display:block;margin-top:5px;color:#667085}
.reward-month{margin-top:16px;padding-top:14px;border-top:1px solid #eadca8}.reward-month h4{margin:0 0 10px}.reward-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.reward-month-grid>div{background:#fff;border-radius:10px;padding:10px}.reward-month-grid span{display:block;font-size:12px;color:#667085}.reward-month-grid strong{font-size:18px}
.reward-page-grid{margin-bottom:18px}.reward-history{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee}.reward-history small{display:block;color:#667085;margin-top:3px}
@media(max-width:760px){.reward-center-head{flex-direction:column}.reward-goals,.reward-month-grid{grid-template-columns:1fr}.reward-center-head .btn{width:100%}}

/* FASE 19.5 - CRM Search & Filters */
.crm-filter-card{margin-bottom:16px}
.crm-filter-card h3{margin:0 0 4px}
.crm-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
.crm-filter-grid>div{min-width:0}
.crm-filter-grid label{display:block;font-size:12px;font-weight:700;margin-bottom:5px}
.crm-filter-grid input,.crm-filter-grid select{width:100%}
.crm-search-wide{grid-column:span 2}
.crm-filter-actions{display:flex;gap:8px;flex-wrap:wrap}
.crm-pager{display:flex;justify-content:space-between;align-items:center;gap:12px}
@media(max-width:980px){.crm-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-search-wide{grid-column:span 2}}
@media(max-width:620px){.crm-filter-grid{grid-template-columns:1fr}.crm-search-wide{grid-column:auto}.crm-filter-actions .btn{flex:1}.crm-pager{flex-wrap:wrap}.crm-pager span{order:-1;width:100%;text-align:center}}

/* FASE 19.6 - Studio Digitale AI UX Consolidation */
.sd-welcome-card{border-left:4px solid #17375e;background:#f8fbff;margin-bottom:16px}
.sd-welcome-card h3{margin:5px 0 8px}
.sd-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
.sd-tabs button{white-space:nowrap}
@media(max-width:700px){.sd-welcome-card .client-action-grid{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:460px){.sd-welcome-card .client-action-grid{grid-template-columns:1fr}}

/* FASE 19.7 - Marketing & Client Communication Simplification */
.communication-simple-card{border-left:4px solid #17375e}
.communication-simple-card h3{margin:5px 0 8px}
.communication-examples{margin:10px 0 14px;padding:10px 12px;background:#f7f8fb;border-radius:10px;color:#667085}
.automation-stop-choice{margin:12px 0;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fafbfc}
.automation-stop-choice b,.automation-stop-choice small{display:block}
.automation-stop-choice small{margin-top:4px;color:#667085}
@media(max-width:700px){.marketing-tabs{overflow-x:auto;white-space:nowrap}.marketing-tabs button{white-space:nowrap}}

/* FASE 19.8 - Profilo e Interessi unificato */
.profile-unified-hero{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
  padding:18px;margin:0 0 12px;border-radius:16px;background:#f7f9fc;border:1px solid #e3e8f1
}
.profile-unified-hero h2{margin:4px 0 6px}
.profile-unified-hero p{margin:0;color:#667085;max-width:780px}
.profile-tabs{margin-bottom:16px}
.profile-unified-card{margin-bottom:14px}
.profile-unified-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.province-interest-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px}
.profile-unified-card .settings-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:850px){
  .province-interest-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .profile-unified-hero{padding:14px}
  .profile-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .profile-tabs button{white-space:nowrap}
  .province-interest-list{grid-template-columns:1fr}
  .profile-unified-actions .btn,.profile-unified-card .settings-actions .btn{width:100%}
}

/* FASE 19.9 - Hub Assistant contestuale */
.hub-assistant-fab{
  position:fixed;right:18px;bottom:84px;z-index:1020;
  display:flex;align-items:center;gap:8px;max-width:230px;
  padding:8px 12px 8px 8px;border:0;border-radius:999px;
  background:#17375e;color:#fff;box-shadow:0 10px 30px rgba(23,55,94,.28);
  font-weight:700;cursor:pointer
}
.hub-assistant-fab-avatar{
  width:34px;height:34px;display:grid;place-items:center;border-radius:50%;
  background:#fff;font-size:21px;box-shadow:0 1px 4px rgba(0,0,0,.16)
}
.hub-assistant-panel{
  position:fixed;top:0;right:0;z-index:1100;width:min(430px,94vw);height:100dvh;
  display:flex;flex-direction:column;background:#fff;box-shadow:-16px 0 40px rgba(18,35,58,.18);
  transform:translateX(105%);transition:transform .22s ease;visibility:hidden
}
.hub-assistant-panel.open{transform:translateX(0);visibility:visible}
.hub-assistant-backdrop{position:fixed;inset:0;z-index:1090;background:rgba(15,23,42,.28)}
.hub-assistant-panel-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #e7eaf0}
.hub-assistant-identity{display:flex;align-items:center;gap:10px}
.hub-assistant-identity>div:last-child{display:flex;flex-direction:column}
.hub-assistant-identity small{color:#667085;margin-top:2px}
.hub-assistant-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f2f6fb;font-size:27px;border:2px solid #dce6f2}
.hub-assistant-close{width:38px;height:38px;border:0;border-radius:50%;background:#f3f4f6;font-size:26px;line-height:1;cursor:pointer}
.hub-assistant-context-banner{display:flex;gap:10px;padding:12px 16px;background:#f7faff;border-bottom:1px solid #e6edf6}
.hub-assistant-context-banner>span{font-size:22px}
.hub-assistant-context-banner b,.hub-assistant-context-banner small{display:block}
.hub-assistant-context-banner small{color:#667085;margin-top:2px}
.hub-assistant-suggestions{display:flex;gap:7px;padding:10px 12px;overflow-x:auto;border-bottom:1px solid #eef0f3}
.hub-assistant-suggestions button{flex:0 0 auto;border:1px solid #d8e2ef;background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;cursor:pointer}
.hub-assistant-panel-chat{flex:1;min-height:0;max-height:none;border:0;border-radius:0;padding:14px;background:#fbfcfe}
.hub-assistant-panel-compose{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid #e7eaf0;background:#fff}
.hub-assistant-panel-compose textarea{flex:1;min-height:48px;max-height:120px;resize:vertical;margin:0}
.hub-assistant-disclaimer{padding:0 12px 10px;background:#fff;font-size:11px;color:#667085;text-align:center}
.hub-assistant-loading{padding:10px 12px;color:#667085;font-size:13px}
@media(max-width:620px){
  .hub-assistant-fab{right:10px;bottom:76px;max-width:190px;font-size:12px}
  .hub-assistant-fab-avatar{width:30px;height:30px;font-size:18px}
  .hub-assistant-panel{width:100vw}
}

/* FASE 19.9.1 - Sofia AI Assistant Identity */
.hub-assistant-fab-avatar,.hub-assistant-avatar{overflow:hidden;background:#fff}
.hub-assistant-fab-avatar img,.hub-assistant-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.hub-assistant-fab>span:last-child{display:flex;flex-direction:column;align-items:flex-start;line-height:1.08}
.hub-assistant-fab>span:last-child b{font-size:13px}
.hub-assistant-fab>span:last-child small{font-size:10px;font-weight:600;opacity:.9;margin-top:2px}
.hub-assistant-identity strong{font-size:17px}


/* FASE 20.13 - Sofia più alta su smartphone per non coprire il menu inferiore */
@media (max-width:720px){
  .hub-assistant-fab{
    bottom:calc(92px + env(safe-area-inset-bottom));
  }
}
