:root{--bg:#f5f7fb;--card:#fff;--text:#1f2937;--muted:#6b7280;--primary:#194b8f;--accent:#20a36b;--border:#e5e7eb}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:260px;background:#0f172a;color:#fff;padding:22px;position:fixed;top:0;bottom:0;left:0}
.brand{font-weight:800;font-size:20px;margin-bottom:24px}.nav a{display:block;padding:12px 14px;border-radius:12px;color:#dbeafe;margin-bottom:6px}.nav a:hover,.nav .active{background:#1e293b;color:#fff}
.main{margin-left:260px;width:calc(100% - 260px);padding:26px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:0 10px 30px rgba(15,23,42,.06);padding:22px;margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.kpi strong{font-size:28px;color:var(--primary)}.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}
.btn.secondary{background:#e5e7eb;color:#111827}.btn.danger{background:#b91c1c}.btn.green{background:var(--accent)}
input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:#fff;font:inherit}textarea{min-height:120px}
label{font-weight:700;font-size:13px;margin-bottom:6px;display:block}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px}.form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--muted)}
.badge{display:inline-block;border-radius:999px;padding:5px 10px;background:#e0f2fe;color:#075985;font-weight:700;font-size:12px}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{max-width:420px;width:100%}
.actions{display:flex;gap:8px;flex-wrap:wrap}.alert{padding:12px 14px;border-radius:12px;background:#ecfdf5;color:#065f46;margin-bottom:14px}.error{background:#fef2f2;color:#991b1b}
.builder-block{border:1px dashed #cbd5e1;background:#fff;border-radius:16px;padding:16px;margin-bottom:12px}
@media(max-width:900px){.sidebar{position:relative;width:100%;height:auto}.app{display:block}.main{margin-left:0;width:100%}.grid,.grid-2,.form-row,.form-row-3{grid-template-columns:1fr}}
@media print{.no-print,.sidebar,.topbar{display:none!important}.main{margin:0;width:100%;padding:0}.card{box-shadow:none;border:0}.proposal-page{page-break-after:always}}
.proposal-preview{background:#fff}.proposal-page{min-height:1120px;padding:60px;position:relative;background:#fff}.proposal-cover{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#0f172a,#194b8f);color:#fff}.proposal-cover h1{font-size:48px;margin:0}.proposal-cover p{font-size:22px}.proposal-footer{position:absolute;bottom:35px;left:60px;right:60px;color:#64748b}.totals{max-width:360px;margin-left:auto}.totals div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e5e7eb}
/* Patch V15 - Dashboard + Lista Preventivi UX premium + mobile sticky */
:root{
  --hwpb-soft:#eef2f7;
  --hwpb-card-shadow:0 16px 45px rgba(15,23,42,.08);
  --hwpb-card-shadow-hover:0 22px 60px rgba(15,23,42,.13);
}

.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800;margin-bottom:4px}
.topbar h1{margin:0 0 4px;font-size:34px;letter-spacing:-.03em;color:#0f172a}
.topbar-actions{display:flex;gap:10px;align-items:center}
.brand{display:flex;gap:12px;align-items:center;line-height:1.15}
.brand-mark{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,#194b8f,#20a36b);font-size:13px;font-weight:900;color:#fff;box-shadow:0 12px 25px rgba(32,163,107,.22)}

.mobile-tabbar{display:none}
.card{border-color:rgba(148,163,184,.22);box-shadow:var(--hwpb-card-shadow)}
.btn{min-height:38px;transition:.18s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(25,75,143,.18)}
.btn.secondary:hover{box-shadow:0 10px 24px rgba(15,23,42,.08)}

.hwpb-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;background:#e0f2fe;color:#075985;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.hwpb-hero,.hwpb-list-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#ffffff,#f8fafc)}
.hwpb-hero h2,.hwpb-list-hero h2{font-size:28px;letter-spacing:-.03em;margin:12px 0 6px;color:#0f172a}
.hwpb-hero p,.hwpb-list-hero p{margin:0}
.hwpb-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.hwpb-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}
.hwpb-kpi-card{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:22px;padding:22px;box-shadow:var(--hwpb-card-shadow)}
.hwpb-kpi-card:before{content:'';position:absolute;right:-35px;top:-35px;width:105px;height:105px;background:#e0f2fe;border-radius:999px;opacity:.65}
.hwpb-kpi-card strong{display:block;font-size:32px;letter-spacing:-.04em;color:#0f172a;margin:8px 0}
.hwpb-kpi-card span{font-size:13px;color:#64748b;font-weight:700}
.hwpb-kpi-icon{width:44px;height:44px;border-radius:16px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:12px}
.hwpb-kpi-primary{background:linear-gradient(135deg,#0f172a,#194b8f);color:#fff}
.hwpb-kpi-primary strong,.hwpb-kpi-primary .muted,.hwpb-kpi-primary span{color:#fff}
.hwpb-kpi-primary:before{background:rgba(255,255,255,.13)}
.hwpb-kpi-primary .hwpb-kpi-icon{background:rgba(255,255,255,.14)}

.hwpb-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}
.hwpb-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.hwpb-panel-head h2{margin:0;font-size:22px;color:#0f172a}
.hwpb-panel-head p{margin:4px 0 0}

.hwpb-mini-list{display:flex;flex-direction:column;gap:10px}
.hwpb-mini-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:16px;border:1px solid #e2e8f0;background:#fff;transition:.16s ease}
.hwpb-mini-row:hover{border-color:#bfdbfe;box-shadow:0 10px 24px rgba(25,75,143,.08);transform:translateY(-1px)}
.hwpb-mini-row strong{color:#0f172a}
.hwpb-mini-row span{display:block;color:#64748b;font-size:13px;margin-top:4px}
.hwpb-mini-meta{text-align:right;display:flex;align-items:flex-end;gap:8px;flex-direction:column}
.hwpb-sign-ok{background:#dcfce7!important;color:#166534!important;border-radius:999px;padding:4px 8px;font-weight:800;font-size:11px!important}
.hwpb-quick-grid{display:grid;grid-template-columns:1fr;gap:10px}
.hwpb-quick-card{display:block;border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:16px;transition:.16s ease}
.hwpb-quick-card:hover{background:#fff;border-color:#bfdbfe;box-shadow:0 12px 26px rgba(15,23,42,.08)}
.hwpb-quick-card strong{display:block;color:#0f172a;margin-bottom:5px}
.hwpb-quick-card span{display:block;color:#64748b;font-size:13px}

.hwpb-toolbar-card{padding:14px;margin-bottom:14px}
.hwpb-proposal-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between}
.hwpb-search{flex:1;position:relative}
.hwpb-search span{position:absolute;left:13px;top:50%;transform:translateY(-50%);opacity:.55}
.hwpb-search input{padding-left:40px;background:#f8fafc}
.hwpb-proposal-toolbar select{max-width:220px;background:#f8fafc}

.hwpb-proposal-list{display:flex;flex-direction:column;gap:14px}
.hwpb-proposal-card{padding:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;transition:.18s ease}
.hwpb-proposal-card:hover{box-shadow:var(--hwpb-card-shadow-hover);transform:translateY(-1px)}
.hwpb-proposal-main{display:grid;grid-template-columns:170px minmax(0,1fr) 220px;gap:18px;align-items:center}
.hwpb-proposal-id strong{display:block;font-size:18px;letter-spacing:-.02em;color:#0f172a}
.hwpb-proposal-id span,.hwpb-proposal-submeta,.hwpb-signature-pending span,.hwpb-signature-meta small{display:block;color:#64748b;font-size:13px;margin-top:5px}
.hwpb-proposal-title h3{font-size:17px;margin:0 0 7px;color:#0f172a;letter-spacing:-.01em}
.hwpb-proposal-submeta strong{color:#0f172a}
.hwpb-proposal-state{display:flex;align-items:flex-start;gap:10px;flex-direction:column}
.hwpb-signature-meta strong{color:#166534}
.hwpb-signature-meta span{display:block;color:#0f172a;font-weight:800;margin-top:4px}
.hwpb-signature-pending strong{color:#92400e}

.badge-status-draft{background:#f1f5f9;color:#334155}
.badge-status-sent{background:#dbeafe;color:#1d4ed8}
.badge-status-accepted{background:#dcfce7;color:#166534}
.badge-status-expired{background:#fee2e2;color:#991b1b}

.hwpb-proposal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hwpb-status-form select{width:auto;min-width:120px;padding:9px 10px;border-radius:12px;background:#fff}
.hwpb-disabled-btn{opacity:.72;cursor:not-allowed;pointer-events:none}
.hwpb-row-menu{position:relative}
.hwpb-row-menu summary{list-style:none;cursor:pointer;background:#f1f5f9;border-radius:12px;padding:10px 12px;font-weight:800;color:#0f172a}
.hwpb-row-menu summary::-webkit-details-marker{display:none}
.hwpb-row-menu[open] summary{background:#e2e8f0}
.hwpb-row-menu>div{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.18);padding:8px;z-index:20;min-width:150px}
.hwpb-row-menu button{width:100%;border:0;background:transparent;border-radius:10px;padding:9px 10px;text-align:left;font-weight:800;cursor:pointer;color:#0f172a}
.hwpb-row-menu button:hover{background:#f8fafc}
.hwpb-row-menu button.danger{color:#b91c1c}

.hwpb-empty{display:flex;flex-direction:column;gap:8px;align-items:flex-start;color:#64748b}
.hwpb-empty strong{color:#0f172a}

@media(max-width:1250px){
  .hwpb-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hwpb-dashboard-grid{grid-template-columns:1fr}
  .hwpb-proposal-card{grid-template-columns:1fr}
  .hwpb-proposal-actions{justify-content:flex-start}
}

@media(max-width:900px){
  body{padding-bottom:76px}
  .sidebar{display:none}
  .main{margin-left:0!important;width:100%!important;padding:18px 14px 92px!important}
  .topbar{position:sticky;top:0;z-index:40;background:rgba(238,242,247,.92);backdrop-filter:blur(12px);margin:-18px -14px 18px;padding:16px 14px;border-bottom:1px solid rgba(148,163,184,.25)}
  .topbar h1{font-size:24px}
  .topbar .muted,.eyebrow{display:none}
  .topbar-actions .btn{padding:9px 11px;font-size:13px}
  .mobile-tabbar{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;position:fixed;left:10px;right:10px;bottom:10px;z-index:100;background:rgba(15,23,42,.92);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:8px;box-shadow:0 18px 50px rgba(15,23,42,.35)}
  .mobile-tabbar a{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:15px;color:#cbd5e1;font-size:12px;font-weight:900}
  .mobile-tabbar a.active{background:#fff;color:#0f172a}
  .hwpb-hero,.hwpb-list-hero{align-items:flex-start;flex-direction:column}
  .hwpb-hero h2,.hwpb-list-hero h2{font-size:22px}
  .hwpb-hero-actions,.hwpb-main-cta{width:100%}
  .hwpb-hero-actions .btn,.hwpb-main-cta{justify-content:center}
  .hwpb-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}
  .hwpb-kpi-card{padding:16px;border-radius:18px}
  .hwpb-kpi-card strong{font-size:24px}
  .hwpb-kpi-icon{width:38px;height:38px;border-radius:14px}
  .hwpb-proposal-toolbar{flex-direction:column}
  .hwpb-search,.hwpb-proposal-toolbar select{width:100%;max-width:none}
  .hwpb-proposal-main{grid-template-columns:1fr;gap:12px}
  .hwpb-proposal-card{padding:15px;border-radius:18px}
  .hwpb-proposal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
  .hwpb-proposal-actions .btn,
  .hwpb-proposal-actions form,
  .hwpb-proposal-actions button,
  .hwpb-status-form select,
  .hwpb-row-menu summary{width:100%;justify-content:center;text-align:center}
  .hwpb-row-menu>div{right:auto;left:0;width:100%}
  .hwpb-mini-row{align-items:flex-start;flex-direction:column}
  .hwpb-mini-meta{text-align:left;align-items:flex-start;flex-direction:row;flex-wrap:wrap}
}

@media(max-width:560px){
  .hwpb-kpi-grid{grid-template-columns:1fr}
  .hwpb-proposal-actions{grid-template-columns:1fr}
  .topbar-actions{display:none}
}

/* Patch V16 - Layout definitivo: media, clienti, form preventivo, mobile */
:root{--hwpb-radius:22px;--hwpb-radius-sm:14px;--hwpb-line:#e2e8f0;--hwpb-panel:#ffffff;--hwpb-page:#f1f5f9}
body{background:#eef2f7;color:#0f172a}
.main{max-width:none}.card{border-radius:var(--hwpb-radius);overflow:visible}.topbar{align-items:flex-start}.topbar-actions .btn{border-radius:14px;padding:12px 18px}

/* Media grid definitiva: 6 per riga desktop, miniature sempre contenute */
.media-grid.hwpb-media-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:16px!important;align-items:stretch}
.hwpb-media-card{padding:12px!important;border-radius:18px!important;display:flex;flex-direction:column;min-width:0;overflow:hidden!important}
.hwpb-media-thumb{width:100%!important;height:128px!important;min-height:128px!important;background:#f8fafc!important;border:1px solid #eef2f7;border-radius:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;padding:8px!important}
.hwpb-media-thumb img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;display:block!important;border-radius:10px!important}
.hwpb-media-pdf{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#eef2f7);color:#0f172a;font-size:14px;letter-spacing:.04em}
.hwpb-media-info{min-width:0}.hwpb-media-info h3{font-size:14px;line-height:1.25;margin:12px 0 6px;color:#0f172a;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}.hwpb-media-info p{font-size:12px;margin:0 0 6px}.hwpb-media-id code{font-size:11px;color:#475569;background:#f8fafc;border-radius:8px;padding:3px 6px}.hwpb-media-actions{display:flex;gap:8px;margin-top:auto;padding-top:8px}.hwpb-media-actions .btn{min-height:34px;padding:7px 10px;border-radius:11px;font-size:12px}.hwpb-media-actions form{display:inline-flex}.hwpb-media-upload{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hwpb-upload-drop{margin:0!important;border:1px dashed #cbd5e1;border-radius:16px;padding:10px 14px;background:#f8fafc;display:flex!important;flex-direction:column;gap:2px;cursor:pointer;min-width:210px}.hwpb-upload-drop input{display:none}.hwpb-upload-drop span{font-weight:900}.hwpb-upload-drop small{color:#64748b;font-weight:600}
@media(max-width:1700px){.media-grid.hwpb-media-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:1400px){.media-grid.hwpb-media-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:1050px){.media-grid.hwpb-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.media-grid.hwpb-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.hwpb-media-thumb{height:118px!important;min-height:118px!important}.hwpb-media-card{padding:10px!important}.hwpb-media-actions{display:grid;grid-template-columns:1fr 1fr}.hwpb-media-actions .btn,.hwpb-media-actions form,.hwpb-media-actions button{width:100%;justify-content:center}.hwpb-media-info h3{font-size:13px;min-height:34px}}
@media(max-width:430px){.media-grid.hwpb-media-grid{grid-template-columns:1fr!important}.hwpb-media-thumb{height:150px!important}}

/* Clienti: tabella premium, pulsanti meno invasivi */
.hwpb-table-card{padding:18px 22px}.hwpb-responsive-table{width:100%;overflow-x:auto}.hwpb-client-table th{font-size:12px;color:#64748b;letter-spacing:.04em}.hwpb-client-table td{font-size:15px;padding:15px;border-bottom:1px solid #e2e8f0}.hwpb-client-table td strong{display:block;color:#0f172a}.hwpb-client-table td span{display:block;color:#64748b;font-size:13px;margin-top:4px}.hwpb-client-table tr:hover td{background:#f8fafc}.hwpb-row-actions{text-align:right}.hwpb-btn-sm{min-height:34px!important;padding:7px 12px!important;border-radius:11px!important;font-size:13px!important}.hwpb-client-table .btn{box-shadow:none!important;transform:none!important}
@media(max-width:760px){.hwpb-table-card{padding:12px}.hwpb-client-table,.hwpb-client-table thead,.hwpb-client-table tbody,.hwpb-client-table tr,.hwpb-client-table td{display:block;width:100%}.hwpb-client-table thead{display:none}.hwpb-client-table tr{border:1px solid #e2e8f0;border-radius:16px;padding:12px;margin-bottom:10px;background:#fff}.hwpb-client-table td{border:0;padding:7px 0;display:flex;justify-content:space-between;gap:14px;font-size:14px}.hwpb-client-table td:before{content:attr(data-label);font-weight:900;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.hwpb-client-table .hwpb-row-actions{display:block;text-align:left;padding-top:10px}.hwpb-client-table .hwpb-row-actions:before{display:none}.hwpb-client-table .hwpb-row-actions .btn{width:100%;justify-content:center}}

/* Form preventivo: struttura più ordinata e definitiva */
form .builder-block{border:1px solid #dbe5f1!important;background:#fff!important;border-radius:20px!important;padding:18px!important;box-shadow:0 8px 24px rgba(15,23,42,.035)}
form h2{font-size:26px;letter-spacing:-.03em;margin:28px 0 14px;color:#0f172a}.hwpb-cover-template-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.hwpb-cover-template-card{min-height:88px;align-items:center!important;padding:14px!important}.hwpb-cover-template-card span strong{display:block}.hwpb-cover-template-card small{line-height:1.35}.hwpb-cover-template-card input{flex:0 0 auto}
.hwpb-item-block{display:grid!important;grid-template-columns:minmax(420px,1.55fr) 150px 170px 170px!important;gap:16px!important;align-items:end!important}.hwpb-item-block>div:first-child{grid-column:auto}.hwpb-item-block textarea{min-height:120px!important;resize:vertical}.hwpb-item-block input,.hwpb-item-block select{min-height:46px}.hwpb-item-block>div:nth-child(2){display:grid;grid-template-columns:1fr;gap:8px}.hwpb-item-block>div:nth-child(3){display:grid;grid-template-columns:1fr;gap:12px;align-items:end}.hwpb-item-block>div:nth-child(3)>div{margin-top:0!important;text-align:right!important}.hwpb-remove-item{min-width:130px;justify-content:center}.hwpb-item-block label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#475569}
/* Se il markup vecchio ha quantità+prezzo nello stesso div e IVA nel terzo, lo manteniamo coerente */
.hwpb-item-block>div:nth-child(2) label:nth-of-type(2){margin-top:4px}
@media(min-width:1200px){.hwpb-item-block{grid-template-columns:minmax(500px,1.8fr) 180px 180px!important}.hwpb-item-block>div:nth-child(2){grid-template-columns:1fr;max-width:180px}.hwpb-item-block>div:nth-child(3){max-width:180px;justify-self:end;width:180px}}
@media(max-width:1100px){.hwpb-item-block{grid-template-columns:1fr 1fr!important}.hwpb-item-block>div:first-child{grid-column:1 / -1}.hwpb-cover-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.hwpb-item-block{grid-template-columns:1fr!important}.hwpb-cover-template-grid{grid-template-columns:1fr!important}.hwpb-remove-item{width:100%}}

/* Pagine personalizzate: editor sempre visibile e layout professionale */
.proposal-page-block{border:1px solid #dbe5f1!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;border-radius:22px!important;padding:18px!important;margin-bottom:16px!important}.hwpb-page-toolbar{justify-content:flex-start!important;border-bottom:1px solid #e2e8f0;padding-bottom:12px;margin-bottom:16px!important}.hwpb-page-toolbar .btn{min-height:36px;padding:8px 12px;border-radius:12px;font-size:13px}.proposal-page-block .form-row-3{grid-template-columns:240px minmax(260px,1fr) 260px!important;gap:16px!important}.hwpb-content-label{margin-top:14px}.hwpb-wysiwyg-wrap{border:1px solid #cbd5e1!important;border-radius:16px!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);overflow:hidden!important}.hwpb-wysiwyg-toolbar{display:flex!important;gap:6px!important;align-items:center!important;background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important;padding:9px!important;min-height:48px}.hwpb-wysiwyg-toolbar button{border:1px solid #cbd5e1!important;background:#fff!important;border-radius:9px!important;padding:7px 10px!important;font-weight:900!important;cursor:pointer!important}.hwpb-wysiwyg-toolbar button:hover{background:#eef2ff!important}.hwpb-insert-image-select{height:36px!important;min-width:220px!important;max-width:360px!important;padding:6px 10px!important;border-radius:10px!important;background:#fff!important}.hwpb-rich-editor{display:block!important;min-height:260px!important;padding:18px!important;line-height:1.7!important;background:#fff!important;outline:none!important;border:0!important;color:#0f172a!important}.hwpb-rich-editor:empty:before{content:'Scrivi qui il contenuto della pagina testo. Puoi inserire paragrafi, titoli, liste e immagini dalla libreria.';color:#94a3b8}.hwpb-upload-panel{border:1px solid #dbe5f1!important;background:#f8fbff!important;border-radius:16px!important;padding:16px!important}.hwpb-file-preview img{max-height:220px!important;object-fit:contain!important;background:#fff}.hwpb-img-tool{font-size:12px!important;padding:7px 9px!important}
@media(max-width:1100px){.proposal-page-block .form-row-3{grid-template-columns:1fr!important}.hwpb-wysiwyg-toolbar{align-items:flex-start}.hwpb-insert-image-select{width:100%!important;max-width:none!important}}
@media(max-width:680px){.hwpb-page-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.hwpb-page-toolbar .btn{width:100%;justify-content:center}.hwpb-wysiwyg-toolbar{display:grid!important;grid-template-columns:repeat(3,1fr)}.hwpb-wysiwyg-toolbar button,.hwpb-insert-image-select{width:100%!important}.hwpb-insert-image-select{grid-column:1 / -1}.hwpb-rich-editor{min-height:220px!important;padding:14px!important}}

/* Mobile: sidebar sparisce, tabbar sticky, contenuto non tagliato */
@media(max-width:900px){.app{display:block!important}.sidebar{display:none!important}.main{margin-left:0!important;width:100%!important;padding:18px 14px 96px!important}.topbar{position:sticky;top:0;z-index:60;background:rgba(238,242,247,.94);backdrop-filter:blur(14px);margin:-18px -14px 18px!important;padding:14px!important;border-bottom:1px solid rgba(148,163,184,.28)}.topbar h1{font-size:24px!important}.topbar-actions{margin-left:auto}.mobile-tabbar{display:grid!important;grid-template-columns:repeat(5,1fr);gap:6px;position:fixed;left:10px;right:10px;bottom:10px;z-index:100;background:rgba(15,23,42,.94);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:8px;box-shadow:0 18px 50px rgba(15,23,42,.35)}.mobile-tabbar a{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:15px;color:#cbd5e1;font-size:12px;font-weight:900}.mobile-tabbar a.active{background:#fff;color:#0f172a}}

/* Patch V17 - rifinitura UX definitiva form/editor + font più leggeri */
:root{
  --hwpb-soft:#f8fafc;
  --hwpb-soft-2:#eef2f7;
  --hwpb-ink:#0f172a;
}
body{font-weight:400;letter-spacing:-.01em}.main{font-size:15px}h1,h2,h3,.brand{font-weight:760;letter-spacing:-.035em}label,th,.btn{font-weight:650}.nav a{font-weight:520}.muted,small{font-weight:400}
input,select,textarea{font-weight:420}.card{border-radius:22px}.builder-block{border-color:#d8e3ef;background:rgba(255,255,255,.84)}

/* Template copertina compatto */
.hwpb-cover-template-compact{border:1px solid var(--border);background:#fff;border-radius:16px;padding:14px 16px;margin:12px 0 24px;display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:center;box-shadow:0 8px 22px rgba(15,23,42,.035)}
.hwpb-cover-template-compact label{margin:0;font-size:13px;color:#334155;text-transform:uppercase;letter-spacing:.045em}.hwpb-cover-template-select{max-width:520px;background:#f8fafc;border-radius:12px}
.hwpb-cover-template-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.hwpb-cover-template-card{min-height:auto!important;padding:10px 12px!important;margin:0!important;align-items:center!important}.hwpb-cover-template-card strong{font-size:14px}.hwpb-cover-template-card small{font-size:12px}

/* Righe economiche più equilibrate */
.hwpb-item-block.form-row-3{grid-template-columns:minmax(420px,2.3fr) minmax(180px,.7fr) minmax(170px,.65fr);align-items:start;gap:16px}.hwpb-item-block textarea{min-height:104px}.hwpb-item-block .btn{padding:9px 12px;border-radius:11px}

/* Editor testo compatto e professionale */
.hwpb-wysiwyg-wrap{border:1px solid #d7e2ee;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.hwpb-wysiwyg-toolbar{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;padding:10px!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;border-bottom:1px solid #d7e2ee!important}.hwpb-toolbar-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px}.hwpb-toolbar-image{flex:1;min-width:260px}.hwpb-toolbar-image-tools{background:#fff7ed;border-color:#fed7aa}.hwpb-toolbar-label{font-size:12px;color:#9a3412;font-weight:650;padding:0 4px}.hwpb-wysiwyg-toolbar button{border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:650;line-height:1.1;min-height:34px;cursor:pointer;transition:.15s}.hwpb-wysiwyg-toolbar button:hover{border-color:var(--primary);box-shadow:0 5px 16px rgba(25,75,143,.12)}.hwpb-wysiwyg-toolbar .hwpb-img-tool{background:#fff!important;color:#0f172a!important;font-size:12px!important;padding:7px 9px!important}.hwpb-insert-image-select{height:36px;min-width:180px;flex:1;padding:7px 10px!important;font-size:13px!important;border-radius:10px!important;background:#fff!important}.hwpb-rich-editor{min-height:260px!important;padding:22px!important;line-height:1.62;font-size:16px;overflow:auto;max-width:100%;background:#fff}.hwpb-rich-editor h2{font-size:24px;line-height:1.2;margin:12px 0 10px;font-weight:720}.hwpb-rich-editor p{margin:0 0 12px}.hwpb-rich-editor:empty:before{content:'Scrivi il contenuto della pagina…';color:#94a3b8}

/* Immagini editor selezionabili e responsive */
.hwpb-rich-editor .hwpb-editor-image{cursor:pointer;position:relative;display:block;max-width:100%;clear:both;margin:18px auto;text-align:center;border-radius:12px;transition:outline-color .15s, box-shadow .15s, transform .15s}.hwpb-rich-editor .hwpb-editor-image:hover{outline:2px dashed rgba(25,75,143,.45);outline-offset:5px}.hwpb-rich-editor .hwpb-editor-image.is-selected{outline:3px solid #194b8f!important;outline-offset:6px;box-shadow:0 12px 28px rgba(25,75,143,.18)}.hwpb-rich-editor .hwpb-editor-image.is-selected:after{content:'Immagine selezionata';position:absolute;top:-30px;left:0;background:#194b8f;color:#fff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.hwpb-editor-image img{width:100%;max-width:100%;height:auto!important;object-fit:contain;display:block;border-radius:12px}.hwpb-img-w-25{width:25%!important}.hwpb-img-w-50{width:50%!important}.hwpb-img-w-75{width:75%!important}.hwpb-img-w-100{width:100%!important}.hwpb-img-left{margin-left:0!important;margin-right:auto!important}.hwpb-img-center{margin-left:auto!important;margin-right:auto!important}.hwpb-img-right{margin-left:auto!important;margin-right:0!important}.hwpb-img-left img{margin-left:0!important;margin-right:auto!important}.hwpb-img-center img{margin-left:auto!important;margin-right:auto!important}.hwpb-img-right img{margin-left:auto!important;margin-right:0!important}

/* Mobile form/editor */
@media(max-width:900px){
  body{font-size:15px}.main{padding:18px 14px 90px!important}.card{padding:18px!important;border-radius:18px}.hwpb-cover-template-compact{grid-template-columns:1fr;gap:8px;padding:13px}.hwpb-cover-template-select{max-width:none}.hwpb-item-block.form-row-3{grid-template-columns:1fr!important}.hwpb-wysiwyg-wrap{margin-left:-2px;margin-right:-2px}.hwpb-wysiwyg-toolbar{display:flex!important;overflow-x:auto;flex-wrap:nowrap!important;align-items:flex-start!important;padding:8px!important;gap:7px!important;-webkit-overflow-scrolling:touch}.hwpb-toolbar-group{flex:0 0 auto;flex-wrap:nowrap}.hwpb-toolbar-image{min-width:320px;flex:0 0 auto}.hwpb-toolbar-image-tools{min-width:max-content}.hwpb-toolbar-label{display:none}.hwpb-wysiwyg-toolbar button{min-width:auto;white-space:nowrap;padding:8px 9px;font-size:12px}.hwpb-insert-image-select{min-width:150px;max-width:170px;flex:0 0 160px}.hwpb-rich-editor{min-height:230px!important;padding:18px!important;font-size:15px}.hwpb-rich-editor .hwpb-editor-image{width:100%!important;max-width:100%!important;margin:16px 0!important}.hwpb-rich-editor .hwpb-editor-image img{width:100%!important;max-width:100%!important}.hwpb-rich-editor .hwpb-editor-image.is-selected:after{top:-28px;font-size:10px}.hwpb-img-w-25,.hwpb-img-w-50,.hwpb-img-w-75,.hwpb-img-w-100{width:100%!important}
}
@media(max-width:520px){.hwpb-wysiwyg-toolbar{margin-left:-8px;margin-right:-8px;border-radius:0}.hwpb-rich-editor{padding:16px!important}.hwpb-cover-template-grid{grid-template-columns:1fr!important}}

/* Media library: mantieni miniature compatte anche dopo refactor generale */
.media-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:14px!important}.media-card{min-width:0;overflow:hidden}.media-thumb{height:150px!important;width:100%!important;max-width:100%!important;object-fit:contain!important;background:#f8fafc!important;border-radius:14px!important}.media-thumb img,.media-card img{max-width:100%!important;max-height:150px!important;object-fit:contain!important;border-radius:12px!important}.media-card>img{width:100%!important;height:150px!important;object-fit:contain!important;background:#f8fafc!important;padding:8px!important}
@media(max-width:1500px){.media-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:1100px){.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.media-thumb,.media-card>img{height:120px!important;max-height:120px!important}.media-card{padding:12px!important}.media-card h3{font-size:13px!important}}
@media(max-width:420px){.media-grid{grid-template-columns:1fr!important}.media-thumb,.media-card>img{height:150px!important;max-height:150px!important}}


/* =========================
   V18 FIX - Preview A4 / Public CTA / Print restore
   ========================= */

/* V18 preview/doc-viewer restore */
.hwpb-preview-toolbar{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-2px 0 18px;padding:13px 16px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 12px 32px rgba(15,23,42,.08)}
.hwpb-preview-toolbar strong,.hwpb-public-cta strong{display:block;color:#0f172a;font-size:15px}
.hwpb-preview-toolbar span,.hwpb-public-cta span{display:block;color:#64748b;font-size:12px;margin-top:2px}
.hwpb-preview-toolbar-actions,.hwpb-public-cta-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hwpb-public-cta{position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid #e2e8f0;box-shadow:0 12px 32px rgba(15,23,42,.08)}
.proposal-preview{background:#e9eef5!important;padding:28px 18px 42px!important;min-height:100vh;display:flex!important;flex-direction:column!important;align-items:center!important;gap:26px!important}
.proposal-preview.hwpb-public-preview{padding-top:34px!important;background:linear-gradient(180deg,#eef2f7,#e2e8f0)!important}
.proposal-page{width:210mm!important;min-height:297mm!important;height:auto!important;margin:0 auto!important;padding:18mm!important;padding-bottom:28mm!important;background:#fff!important;position:relative!important;overflow:hidden!important;box-shadow:0 18px 55px rgba(15,23,42,.18)!important;border-radius:2px!important;page-break-after:always!important;break-after:page!important}
.proposal-page .card{box-shadow:none}
.proposal-cover{width:210mm!important;min-height:297mm!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;padding:24mm 22mm 34mm!important;color:#fff}
.proposal-cover h1{font-size:44px!important;line-height:1.05!important;margin:0 0 12px!important;max-width:145mm!important}
.proposal-cover p{font-size:21px!important;line-height:1.35!important;margin:0!important;max-width:145mm!important}
.proposal-footer,.proposal-auto-footer{position:absolute!important;left:18mm!important;right:18mm!important;bottom:9mm!important;top:auto!important;z-index:5!important;margin:0!important;min-height:auto!important;border-top:1px solid rgba(148,163,184,.35)!important;padding-top:5px!important;font-size:10.5px!important;line-height:1.35!important;color:#64748b!important;text-align:center!important;transform:none!important}
.proposal-cover .proposal-footer,.proposal-cover .proposal-auto-footer{color:rgba(255,255,255,.82)!important;border-top-color:rgba(255,255,255,.22)!important}
.proposal-cover.cover-minimal .proposal-auto-footer,.proposal-cover.cover-split .proposal-auto-footer,.proposal-cover.cover-minimal .proposal-footer,.proposal-cover.cover-split .proposal-footer{color:#64748b!important;border-top-color:#e2e8f0!important}
.proposal-final-company-footer{bottom:22mm!important;border-top:0!important;text-align:left!important;color:rgba(255,255,255,.88)!important;font-size:13px!important}
.proposal-custom-img,.proposal-custom-pdf-preview{max-width:100%!important;max-height:238mm!important;object-fit:contain!important}
.proposal-acceptance-page{overflow:visible!important}
@media(max-width:980px){
  .proposal-preview{padding:18px 10px 32px!important;gap:18px!important;align-items:flex-start!important;overflow-x:auto!important}
  .proposal-page,.proposal-cover{width:210mm!important;min-width:210mm!important}
  .hwpb-preview-toolbar,.hwpb-public-cta{position:sticky;left:0;right:0;align-items:flex-start;flex-direction:column}
  .hwpb-preview-toolbar-actions,.hwpb-public-cta-actions{width:100%;justify-content:flex-start}
  .hwpb-preview-toolbar-actions .btn,.hwpb-public-cta-actions .btn{flex:1;justify-content:center}
}
@page{size:A4 portrait;margin:0}
@media print{
  html,body{width:210mm!important;background:#fff!important}
  .no-print,.sidebar,.topbar,.mobile-tabbar,.hwpb-preview-toolbar,.hwpb-public-cta{display:none!important}
  .app{display:block!important;min-height:0!important}
  .main{margin:0!important;width:100%!important;max-width:none!important;padding:0!important}
  .proposal-preview{display:block!important;background:#fff!important;padding:0!important;margin:0!important;min-height:0!important}
  .proposal-page{width:210mm!important;min-width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0!important;padding:18mm!important;padding-bottom:28mm!important;box-shadow:none!important;border:0!important;border-radius:0!important;overflow:hidden!important;page-break-after:always!important;break-after:page!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .proposal-cover{height:297mm!important;min-height:297mm!important;padding:24mm 22mm 34mm!important}
  .proposal-page:last-child{page-break-after:auto!important;break-after:auto!important}
  .proposal-footer,.proposal-auto-footer{position:absolute!important;bottom:9mm!important;left:18mm!important;right:18mm!important}
  .proposal-final-company-footer{bottom:22mm!important}
}


/* Patch V19 - preventivo/stampa A4 coerente */
.proposal-quote-page{font-size:12.5px!important;line-height:1.35!important;padding:15mm 17mm 30mm!important;}
.proposal-quote-title{font-size:24px!important;line-height:1.15!important;margin:0 0 4px!important;}
.proposal-quote-page>.muted{font-size:12px!important;margin:0 0 10px!important;}
.proposal-parties-grid{gap:18px!important;margin-bottom:8px!important;}
.proposal-parties-grid h3{font-size:13px!important;margin:0 0 5px!important;}
.proposal-parties-grid div{font-size:12.2px!important;line-height:1.35!important;}
.proposal-conditions-card{padding:9px 12px!important;margin:8px 0 10px!important;border-radius:12px!important;font-size:12px!important;box-shadow:none!important;}
.proposal-items-table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;margin-top:4px!important;font-size:11.6px!important;line-height:1.22!important;}
.proposal-items-table .col-desc{width:50%!important}.proposal-items-table .col-qty{width:8%!important}.proposal-items-table .col-price{width:15%!important}.proposal-items-table .col-vat{width:11%!important}.proposal-items-table .col-total{width:16%!important}
.proposal-items-table th{font-size:9.4px!important;letter-spacing:.02em!important;padding:6px 7px!important;line-height:1.15!important;vertical-align:bottom!important;color:#64748b!important;}
.proposal-items-table td{padding:8px 7px!important;vertical-align:top!important;border-bottom:1px solid #e2e8f0!important;}
.proposal-item-description{font-size:11.8px!important;line-height:1.22!important;font-weight:500!important;color:#0f172a!important;overflow-wrap:anywhere!important;word-break:normal!important;hyphens:auto!important;}
.proposal-num{font-size:11.4px!important;line-height:1.25!important;text-align:right!important;white-space:normal!important;word-break:keep-all!important;}
.proposal-qty{text-align:center!important}.proposal-price,.proposal-line-total{font-weight:650!important}
.proposal-totals-box{max-width:290px!important;margin:9px 0 8px auto!important;font-size:11.8px!important;break-inside:avoid!important;page-break-inside:avoid!important;}
.proposal-totals-box div{padding:5px 0!important;line-height:1.15!important;}
.proposal-bank-card{padding:9px 12px!important;margin:8px 0 0!important;border-radius:12px!important;font-size:11.8px!important;line-height:1.3!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;}
.proposal-item-row{break-inside:avoid!important;page-break-inside:avoid!important;}
.proposal-page>br{display:none!important;}
@media print{
  @page{size:A4 portrait;margin:0!important}
  html,body{width:210mm!important;margin:0!important;padding:0!important;background:#fff!important}
  .proposal-preview{gap:0!important;padding:0!important;background:#fff!important}
  .proposal-page{width:210mm!important;min-width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;margin:0!important;padding:18mm!important;padding-bottom:30mm!important;overflow:hidden!important;box-shadow:none!important;border:0!important;border-radius:0!important;page-break-after:always!important;break-after:page!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .proposal-page:last-child{page-break-after:auto!important;break-after:auto!important}
  .proposal-cover{height:297mm!important;min-height:297mm!important;max-height:297mm!important;padding:24mm 22mm 34mm!important}
  .proposal-quote-page{padding:13mm 17mm 31mm!important;font-size:11.8px!important;line-height:1.28!important}
  .proposal-items-table{font-size:10.7px!important;line-height:1.17!important}
  .proposal-items-table td{padding:6px 7px!important}
  .proposal-item-description{font-size:10.9px!important;line-height:1.18!important}
  .proposal-num{font-size:10.7px!important}
  .proposal-auto-footer,.proposal-footer{bottom:8mm!important;left:17mm!important;right:17mm!important;font-size:9.4px!important}
  .proposal-custom-img,.proposal-custom-pdf-preview{max-height:235mm!important;object-fit:contain!important}
}

/* =========================
   Patch V21 - TinyMCE Professional Editor
   ========================= */
.proposal-page-block{
  overflow:visible!important;
}
.proposal-page-block .form-row-3{
  align-items:end!important;
}
.hwpb-tinymce-panel{
  border:1px solid #d7e2ee;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.045);
  overflow:hidden;
  margin-top:8px;
}
.hwpb-editor-media-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 14px;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  border-bottom:1px solid #dbe5f1;
}
.hwpb-editor-media-row strong{
  display:block;
  font-size:14px;
  font-weight:650;
  color:#0f172a;
  letter-spacing:-.01em;
}
.hwpb-editor-media-row small,
.hwpb-editor-help{
  display:block;
  color:#64748b;
  font-size:12px;
  line-height:1.35;
  font-weight:400;
  margin-top:3px;
}
.hwpb-editor-media-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  min-width:420px;
  justify-content:flex-end;
}
.hwpb-tinymce-image-select{
  min-width:250px;
  max-width:360px;
  background:#fff!important;
  border-radius:12px!important;
  font-size:13px!important;
  min-height:38px!important;
  padding:8px 10px!important;
}
.hwpb-tinymce-upload-btn{
  min-height:38px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  font-size:13px!important;
  box-shadow:none!important;
  transform:none!important;
}
.hwpb-tinymce-editor{
  min-height:360px;
}
.hwpb-editor-help{
  padding:10px 14px 12px;
  border-top:1px solid #eef2f7;
  background:#fbfdff;
}
.tox.tox-tinymce{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:Inter,Arial,sans-serif!important;
}
.tox .tox-toolbar,
.tox .tox-toolbar__overflow,
.tox .tox-toolbar__primary{
  background:#f8fafc!important;
}
.tox .tox-tbtn,
.tox .tox-split-button{
  border-radius:9px!important;
}
.tox .tox-tbtn:hover,
.tox .tox-split-button:hover{
  background:#eaf1fb!important;
}
.tox .tox-menubar,
.tox .tox-statusbar{
  background:#fff!important;
}
.tox .tox-edit-area__iframe{
  background:#fff!important;
}
.hwpb-tinymce-panel .tox-statusbar__branding{
  display:none!important;
}
/* Il vecchio editor custom resta nascosto se presente in cache/vecchi markup */
.hwpb-wysiwyg-wrap.hwpb-deprecated,
.hwpb-wysiwyg-toolbar.hwpb-deprecated{
  display:none!important;
}

/* HTML prodotto dall'editor: coerente in anteprima e stampa */
.proposal-page .hwpb-callout{
  background:#f8fafc;
  border-left:4px solid #194b8f;
  padding:12px 14px;
  border-radius:10px;
  margin:12px 0;
  break-inside:avoid;
  page-break-inside:avoid;
}
.proposal-page .hwpb-highlight{
  background:#fff3bf;
  padding:0 3px;
  border-radius:3px;
}
.proposal-page .mce-pagebreak,
.proposal-page pagebreak{
  display:block;
  height:0;
  page-break-after:always;
  break-after:page;
}
.proposal-page table{
  max-width:100%;
  break-inside:avoid;
  page-break-inside:avoid;
}
.proposal-page img{
  max-width:100%;
  height:auto;
}
@media(max-width:1100px){
  .hwpb-editor-media-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .hwpb-editor-media-actions{
    min-width:0;
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .hwpb-tinymce-image-select{
    min-width:220px;
    max-width:none;
    flex:1;
  }
}
@media(max-width:680px){
  .hwpb-tinymce-panel{
    margin-left:-4px;
    margin-right:-4px;
    border-radius:14px;
  }
  .hwpb-editor-media-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .hwpb-tinymce-image-select,
  .hwpb-tinymce-upload-btn{
    width:100%!important;
    max-width:none!important;
    justify-content:center;
  }
  .tox.tox-tinymce{
    min-height:430px!important;
  }
}


/* =========================
   V22 - TinyMCE self-hosted professional editor
   ========================= */
.hwpb-tinymce-panel{
  border:1px solid #dbe5f1!important;
  border-radius:18px!important;
  background:#ffffff!important;
  padding:14px!important;
  margin:12px 0 14px!important;
  box-shadow:0 10px 28px rgba(15,23,42,.05)!important;
}
.hwpb-tinymce-panel .actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-bottom:12px!important;
}
.hwpb-tinymce-image-select{
  max-width:360px!important;
  min-width:240px!important;
  height:40px!important;
  font-weight:420!important;
  background:#f8fafc!important;
}
.hwpb-tinymce-editor{
  display:block!important;
  width:100%!important;
  min-height:520px!important;
  border:1px solid #dbe5f1!important;
  border-radius:16px!important;
  background:#fff!important;
}
.tox.tox-tinymce{
  border:1px solid #cbd5e1!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 16px 42px rgba(15,23,42,.08)!important;
}
.tox .tox-toolbar-overlord,
.tox .tox-toolbar,
.tox .tox-toolbar__primary,
.tox .tox-toolbar__overflow{
  background:#f8fafc!important;
}
.tox .tox-menubar{background:#ffffff!important;border-bottom:1px solid #e2e8f0!important}
.tox .tox-mbtn,.tox .tox-tbtn{border-radius:9px!important;font-weight:520!important}
.tox .tox-tbtn:hover,.tox .tox-mbtn:hover{background:#eaf2ff!important}
.tox .tox-edit-area__iframe{background:#ffffff!important}
.tox .tox-statusbar{background:#f8fafc!important;border-top:1px solid #e2e8f0!important}
.tox .tox-promotion,.tox .tox-statusbar__branding{display:none!important}
.hwpb-editor-help{
  font-size:12px;
  color:#64748b;
  margin:8px 0 0;
}
@media(max-width:900px){
  .hwpb-tinymce-panel{padding:10px!important;margin-left:-2px!important;margin-right:-2px!important}
  .hwpb-tinymce-panel .actions{display:grid!important;grid-template-columns:1fr!important}
  .hwpb-tinymce-image-select,.hwpb-tinymce-upload-btn{width:100%!important;max-width:none!important}
  .tox.tox-tinymce{border-radius:14px!important}
}

/* V22.1 - TinyMCE self-hosted robust load/status */
.hwpb-tinymce-status{display:none;margin:0 0 12px;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:600;border:1px solid #dbe5f1;background:#f8fafc;color:#334155}
.hwpb-tinymce-status.error{display:block;background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.hwpb-tinymce-panel .tox.tox-tinymce{border:1px solid #d7e2ee!important;border-radius:0 0 18px 18px!important;overflow:hidden!important;box-shadow:0 12px 28px rgba(15,23,42,.05)!important}
.hwpb-tinymce-panel .tox .tox-toolbar-overlord,.hwpb-tinymce-panel .tox .tox-toolbar__primary{background:#ffffff!important}
.hwpb-tinymce-panel .tox .tox-tbtn{border-radius:8px!important}

/* =========================
   V22.2 FIX - TinyMCE visibile / textarea sorgente nascosta solo dopo init
   ========================= */
.hwpb-tinymce-panel .tox.tox-tinymce{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  min-height:560px!important;
  border:1px solid #cbd5e1!important;
  border-radius:0 0 18px 18px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.hwpb-tinymce-panel.hwpb-tinymce-ready > textarea.hwpb-tinymce-editor,
.hwpb-tinymce-panel textarea.hwpb-tinymce-editor[aria-hidden="true"]{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
}
.hwpb-tinymce-panel:not(.hwpb-tinymce-ready) > textarea.hwpb-tinymce-editor{
  display:block!important;
  width:100%!important;
  min-height:420px!important;
  border:1px solid #dbe5f1!important;
  border-radius:0 0 18px 18px!important;
  background:#fff!important;
  font-family:Consolas,Monaco,monospace!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.hwpb-tinymce-status.error{
  display:block!important;
  margin:0!important;
  padding:10px 14px!important;
  background:#fef2f2!important;
  color:#991b1b!important;
  border-bottom:1px solid #fecaca!important;
  font-weight:650!important;
}

/* =========================
   V22.3 FIX - TinyMCE area realmente editabile
   Problema risolto: V22.2 forzava .tox-tinymce a display:block,
   rompendo il layout flex interno di TinyMCE. La statusbar saliva subito
   sotto la toolbar e l'area bianca sotto non era l'iframe editabile.
   ========================= */
.hwpb-tinymce-panel .tox.tox-tinymce{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:620px!important;
  min-height:620px!important;
  max-height:none!important;
  border:1px solid #cbd5e1!important;
  border-radius:0 0 18px 18px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.hwpb-tinymce-panel .tox .tox-editor-container{
  display:flex!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
.hwpb-tinymce-panel .tox .tox-editor-header{
  flex:0 0 auto!important;
}
.hwpb-tinymce-panel .tox .tox-edit-area{
  flex:1 1 auto!important;
  min-height:360px!important;
  display:flex!important;
}
.hwpb-tinymce-panel .tox .tox-edit-area__iframe{
  flex:1 1 auto!important;
  width:100%!important;
  height:100%!important;
  min-height:360px!important;
  display:block!important;
  background:#fff!important;
}
.hwpb-tinymce-panel .tox .tox-statusbar{
  flex:0 0 auto!important;
  position:relative!important;
  bottom:auto!important;
}
.hwpb-tinymce-panel .tox .tox-toolbar-overlord,
.hwpb-tinymce-panel .tox .tox-toolbar__primary{
  flex:0 0 auto!important;
}
@media(max-width:900px){
  .hwpb-tinymce-panel .tox.tox-tinymce{
    height:560px!important;
    min-height:560px!important;
  }
  .hwpb-tinymce-panel .tox .tox-edit-area,
  .hwpb-tinymce-panel .tox .tox-edit-area__iframe{
    min-height:300px!important;
  }
}

/* =========================
   V23 - UX operativa e gestione avanzata
   ========================= */
.hwpb-proposal-form-top-actions{
  position:sticky;
  top:12px;
  z-index:80;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  margin:-6px 0 18px;
  padding:10px;
  background:rgba(255,255,255,.92);
  border:1px solid #dbe5f1;
  border-radius:16px;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
  backdrop-filter:blur(12px);
}
.hwpb-proposal-form-top-actions .btn{min-height:36px;padding:8px 12px;font-size:13px}
.tox .tox-tbtn[title^="Img"],.tox .tox-tbtn[aria-label^="Img"]{font-size:12px!important}
.hwpb-editor-document img{
  cursor:pointer;
  max-width:100%;
  height:auto;
}
.hwpb-editor-document img[data-mce-selected],
.hwpb-editor-document img.mce-object-selected{
  outline:3px solid #194b8f!important;
  outline-offset:4px!important;
}
.hwpb-settings-grid{align-items:start}
.hwpb-settings-card{overflow:visible!important}
.hwpb-settings-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.hwpb-settings-row{display:grid;grid-template-columns:minmax(180px,1fr) 140px auto;gap:10px;align-items:end;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.hwpb-settings-row-2{grid-template-columns:minmax(180px,1fr) auto}
.hwpb-settings-row label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:4px}
.hwpb-settings-row input{min-height:38px;background:#fff}
.hwpb-settings-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.hwpb-settings-actions .btn{min-height:38px;padding:8px 10px;font-size:13px}
.hwpb-settings-add{border-top:1px solid #e2e8f0;padding-top:14px;margin-top:6px}
.hwpb-company-logo-preview{margin-top:10px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;padding:10px;display:inline-flex;align-items:center;justify-content:center;min-width:120px;min-height:70px}
.hwpb-company-logo-preview img{max-width:180px;max-height:80px;object-fit:contain;display:block}
.hwpb-media-check{position:absolute;top:10px;left:10px;z-index:5;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.94);border:1px solid #dbe5f1;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700;color:#0f172a;box-shadow:0 6px 16px rgba(15,23,42,.12)}
.hwpb-media-check input{width:auto!important;margin:0!important}
.hwpb-media-card{position:relative!important}
.hwpb-media-card.is-selected{outline:3px solid #194b8f;outline-offset:2px;background:#eff6ff!important}
.hwpb-media-bulkbar{position:sticky;top:12px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:14px;border-color:#bfdbfe!important;background:#eff6ff!important}
@media(max-width:900px){
  .hwpb-proposal-form-top-actions{top:76px;justify-content:flex-start;overflow-x:auto}
  .hwpb-settings-row,.hwpb-settings-row-2{grid-template-columns:1fr}
  .hwpb-settings-actions{justify-content:flex-start;flex-wrap:wrap}
  .hwpb-media-bulkbar{flex-direction:column;align-items:flex-start}
}

/* =========================
   V24.1 - Preventivo stampa + impostazioni più compatte
   ========================= */
.proposal-parties-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  align-items:start!important;
  gap:22px!important;
}
.proposal-post-total-info{
  max-width:100%;
  margin-top:10px;
  break-inside:avoid;
  page-break-inside:avoid;
}
.proposal-conditions-line{
  font-size:11.8px;
  line-height:1.35;
  margin:8px 0 8px auto;
  max-width:360px;
  color:#0f172a;
}
.proposal-totals-box div span{padding-right:12px}
@media print{
  .proposal-parties-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important}
  .proposal-conditions-card{display:none!important}
  .proposal-post-total-info{break-inside:avoid!important;page-break-inside:avoid!important}
  .proposal-conditions-line{font-size:10.8px!important;margin:7px 0 7px auto!important;max-width:355px!important}
  .proposal-bank-card{max-width:355px!important;margin-left:auto!important}
}

/* Impostazioni: schede IVA/Pagamenti/Validità più professionali e meno invasive */
.hwpb-settings-grid{
  align-items:start!important;
  gap:18px!important;
}
.hwpb-settings-card{
  padding:18px!important;
  border-radius:20px!important;
}
.hwpb-settings-card h2{
  font-size:20px!important;
  margin:0 0 14px!important;
  letter-spacing:-.02em!important;
}
.hwpb-settings-list{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
.hwpb-settings-row{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) 120px auto!important;
  gap:8px!important;
  align-items:end!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  padding:10px!important;
  box-shadow:none!important;
}
.hwpb-settings-row-2{
  grid-template-columns:minmax(220px,1fr) auto!important;
}
.hwpb-settings-row label,
.hwpb-settings-add label{
  font-size:10px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:#64748b!important;
  margin-bottom:4px!important;
}
.hwpb-settings-row input{
  min-height:38px!important;
  padding:8px 10px!important;
  border-radius:10px!important;
  font-size:14px!important;
}
.hwpb-settings-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  justify-content:flex-end!important;
}
.hwpb-settings-actions .btn,
.hwpb-settings-add .btn{
  min-height:36px!important;
  padding:8px 11px!important;
  border-radius:10px!important;
  font-size:13px!important;
  box-shadow:none!important;
  transform:none!important;
}
.hwpb-settings-actions .btn.danger{
  background:#b91c1c!important;
}
.hwpb-settings-add{
  margin-top:14px!important;
  padding-top:14px!important;
  border-top:1px solid #e2e8f0!important;
}
.hwpb-settings-add .form-row{
  gap:10px!important;
  margin-bottom:10px!important;
}
@media(max-width:1200px){
  .hwpb-settings-row,
  .hwpb-settings-row-2{grid-template-columns:1fr!important}
  .hwpb-settings-actions{justify-content:flex-start!important}
}

/* =========================
   V24.2 - Settings a tab + stampa preventivo raffinata
   ========================= */
.hwpb-settings-tabs-card{padding:20px 22px!important;margin-bottom:18px!important}
.hwpb-settings-tabs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.hwpb-settings-tabs-head h2{margin:4px 0 4px!important;font-size:22px!important;letter-spacing:-.025em!important}
.hwpb-settings-tabs-head p{margin:0!important}
.hwpb-settings-tabs-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:6px}
.hwpb-settings-tab{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border-radius:12px;font-weight:750;font-size:13px;color:#334155;transition:.16s ease;white-space:nowrap}
.hwpb-settings-tab:hover{background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.hwpb-settings-tab.active{background:var(--primary);color:#fff;box-shadow:0 10px 22px rgba(25,75,143,.18)}
.hwpb-settings-single-card{max-width:1120px!important;margin-bottom:22px!important;padding:22px!important}
.hwpb-settings-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e2e8f0;padding-bottom:14px;margin-bottom:14px}
.hwpb-settings-section-title h2{margin:0 0 4px!important;font-size:22px!important}
.hwpb-settings-section-title p{margin:0!important}
.hwpb-settings-compact-list{gap:8px!important;margin-bottom:14px!important}
.hwpb-settings-compact-list .hwpb-settings-row{padding:10px 12px!important;border-radius:14px!important;background:#fbfdff!important;box-shadow:none!important;grid-template-columns:minmax(240px,1fr) 130px auto!important}
.hwpb-settings-compact-list .hwpb-settings-row-2{grid-template-columns:minmax(320px,1fr) auto!important}
.hwpb-settings-compact-list .hwpb-settings-row input{min-height:36px!important;border-radius:10px!important;font-size:14px!important}
.hwpb-settings-compact-list .hwpb-settings-row label{font-size:10px!important;margin-bottom:3px!important}
.hwpb-settings-compact-list .hwpb-settings-actions .btn{min-height:36px!important;padding:7px 10px!important;border-radius:10px!important;font-size:12.5px!important}
.hwpb-settings-add-inline{display:grid!important;grid-template-columns:minmax(240px,1fr) 130px auto!important;gap:10px!important;align-items:end!important;background:#f8fafc!important;border:1px dashed #cbd5e1!important;border-radius:14px!important;padding:12px!important;margin-top:12px!important}
.hwpb-settings-add-payment{grid-template-columns:minmax(320px,1fr) auto!important}
.hwpb-settings-add-inline input{min-height:38px!important;border-radius:10px!important;background:#fff!important}
.hwpb-settings-add-inline .btn{min-height:38px!important;justify-content:center!important;box-shadow:none!important;transform:none!important}
@media(max-width:900px){
  .hwpb-settings-tabs-head{align-items:flex-start;flex-direction:column}
  .hwpb-settings-tabs-nav{width:100%;display:grid;grid-template-columns:1fr}
  .hwpb-settings-tab{width:100%}
  .hwpb-settings-section-title{flex-direction:column}
  .hwpb-settings-compact-list .hwpb-settings-row,.hwpb-settings-compact-list .hwpb-settings-row-2,.hwpb-settings-add-inline,.hwpb-settings-add-payment{grid-template-columns:1fr!important}
  .hwpb-settings-actions{justify-content:flex-start!important}
}

.proposal-items-table tbody tr:nth-child(odd) td{background:#f3fbf6!important}
.proposal-items-table tbody tr:nth-child(even) td{background:#ffffff!important}
.proposal-items-table tbody tr td:first-child{border-radius:8px 0 0 8px}
.proposal-items-table tbody tr td:last-child{border-radius:0 8px 8px 0}
.proposal-info-box{max-width:none!important;margin:12px 0 0 0!important;border:1px solid #dbe5f1!important;border-radius:14px!important;background:#fbfdff!important;padding:11px 13px!important;text-align:left!important;break-inside:avoid!important;page-break-inside:avoid!important;box-shadow:none!important}
.proposal-info-line{font-size:11.8px!important;line-height:1.35!important;color:#0f172a!important;margin:0!important;text-align:left!important;max-width:none!important}
.proposal-info-line + .proposal-info-line{border-top:1px solid #e2e8f0!important;margin-top:8px!important;padding-top:8px!important}
.proposal-conditions-line{margin:0!important;max-width:none!important;text-align:left!important}
.proposal-bank-card{max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;text-align:left!important}
@media print{
  .proposal-items-table tbody tr:nth-child(odd) td{background:#f3fbf6!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .proposal-items-table tbody tr:nth-child(even) td{background:#ffffff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .proposal-info-box{max-width:none!important;margin:10px 0 0 0!important;padding:9px 11px!important;border:1px solid #dbe5f1!important;background:#fbfdff!important;text-align:left!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .proposal-conditions-line,.proposal-bank-card,.proposal-info-line{font-size:10.8px!important;text-align:left!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
}


/* =========================
   V24.3 - Logo path + tabella preventivo allineata
   ========================= */

/* Allineamento header tabella con celle dati */
.proposal-items-table{
  table-layout:fixed!important;
  width:100%!important;
  border-collapse:collapse!important;
}
.proposal-items-table .col-desc{width:52%!important}
.proposal-items-table .col-qty{width:10%!important}
.proposal-items-table .col-price{width:12%!important}
.proposal-items-table .col-vat{width:10%!important}
.proposal-items-table .col-total{width:16%!important}
.proposal-items-table th,
.proposal-items-table td{
  box-sizing:border-box!important;
}
.proposal-items-table th:nth-child(1),
.proposal-items-table td:nth-child(1){text-align:left!important}
.proposal-items-table th:nth-child(2),
.proposal-items-table td:nth-child(2){text-align:center!important}
.proposal-items-table th:nth-child(3),
.proposal-items-table td:nth-child(3),
.proposal-items-table th:nth-child(4),
.proposal-items-table td:nth-child(4),
.proposal-items-table th:nth-child(5),
.proposal-items-table td:nth-child(5){text-align:right!important}
.proposal-items-table th{
  padding:6px 7px!important;
  vertical-align:bottom!important;
}
.proposal-items-table td{
  padding:8px 7px!important;
  vertical-align:top!important;
}
@media print{
  .proposal-items-table .col-desc{width:52%!important}
  .proposal-items-table .col-qty{width:10%!important}
  .proposal-items-table .col-price{width:12%!important}
  .proposal-items-table .col-vat{width:10%!important}
  .proposal-items-table .col-total{width:16%!important}
  .proposal-items-table th:nth-child(1),
  .proposal-items-table td:nth-child(1){text-align:left!important}
  .proposal-items-table th:nth-child(2),
  .proposal-items-table td:nth-child(2){text-align:center!important}
  .proposal-items-table th:nth-child(3),
  .proposal-items-table td:nth-child(3),
  .proposal-items-table th:nth-child(4),
  .proposal-items-table td:nth-child(4),
  .proposal-items-table th:nth-child(5),
  .proposal-items-table td:nth-child(5){text-align:right!important}
}


/* =========================
   V25.6 - Fix scelta template/grafica A4 + margine contenuti custom
   ========================= */
.proposal-graphic-cover{
  padding:0!important;
  background:#fff!important;
  color:#0f172a!important;
  display:block!important;
  overflow:hidden!important;
  position:relative!important;
}
.proposal-graphic-cover-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  z-index:1!important;
}
.proposal-graphic-cover .proposal-auto-footer{
  z-index:3!important;
  background:rgba(255,255,255,.72)!important;
  border-radius:8px!important;
  padding:4px 8px!important;
}
.proposal-graphic-cover.hwpb-hide-footer .proposal-auto-footer{display:none!important;}
.proposal-custom-img,
.proposal-custom-pdf-preview{
  margin-top:50px!important;
  max-height:250mm!important;
  object-fit:contain!important;
}
.proposal-rich-content{margin-top:50px!important;}
@media print{
  .proposal-graphic-cover-img{width:210mm!important;height:297mm!important;object-fit:cover!important;}
  .proposal-custom-img,
  .proposal-custom-pdf-preview{margin-top:50px!important;max-height:235mm!important;}
  .proposal-rich-content{margin-top:50px!important;}
}


/* =========================
   V25.7 FIX - condizioni/IBAN sempre allineati a sinistra anche in stampa
   ========================= */
.proposal-post-total-info.proposal-info-box,
.proposal-info-box{
  width:100% !important;
  max-width:none !important;
  margin:12px 0 0 0 !important;
  text-align:left !important;
}
.proposal-info-box .proposal-info-line,
.proposal-info-box .proposal-conditions-line,
.proposal-info-box .proposal-bank-card{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}
@media print{
  .proposal-post-total-info.proposal-info-box,
  .proposal-info-box{
    width:100% !important;
    max-width:none !important;
    margin:10px 0 0 0 !important;
    text-align:left !important;
  }
  .proposal-info-box .proposal-info-line,
  .proposal-info-box .proposal-conditions-line,
  .proposal-info-box .proposal-bank-card{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
  }
}

/* V25.7 - immagini TinyMCE più selezionabili */
.hwpb-editor-document img{
  cursor:pointer !important;
}
.hwpb-editor-document img[data-mce-selected],
.hwpb-editor-document img.mce-object-selected,
.hwpb-editor-document img.hwpb-img-selected{
  outline:3px solid #194b8f !important;
  outline-offset:4px !important;
}
/* =========================
   V25.9 FINAL FIX - Popup email modal definitivo
   ========================= */
body.hwpb-email-modal-open{
  overflow:hidden!important;
}
.hwpb-email-modal-overlay{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  background:rgba(15,23,42,.52)!important;
  backdrop-filter:blur(5px)!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
}
.hwpb-email-modal-overlay.is-open{
  display:flex!important;
}
.hwpb-email-modal{
  position:relative!important;
  z-index:2147483001!important;
  width:430px!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
  background:#fff!important;
  border:1px solid #dbe5f1!important;
  border-radius:18px!important;
  padding:16px!important;
  box-shadow:0 28px 90px rgba(15,23,42,.42)!important;
  text-align:left!important;
}
.hwpb-email-modal-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
.hwpb-email-modal-head strong{
  display:block!important;
  font-size:15px!important;
  color:#0f172a!important;
  line-height:1.2!important;
}
.hwpb-email-modal-head span{
  display:block!important;
  margin-top:3px!important;
  color:#64748b!important;
  font-size:12px!important;
}
.hwpb-email-close{
  flex:0 0 auto!important;
  width:30px!important;
  height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:10px!important;
  background:#f1f5f9!important;
  color:#0f172a!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.hwpb-email-close:hover{
  background:#e2e8f0!important;
}
.hwpb-email-modal form,
.hwpb-email-modal label{
  display:block!important;
}
.hwpb-email-modal label{
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  color:#64748b!important;
  margin:10px 0 5px!important;
}
.hwpb-email-modal input,
.hwpb-email-modal textarea{
  width:100%!important;
}
.hwpb-email-modal textarea{
  min-height:130px!important;
  resize:vertical!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.hwpb-email-modal .btn.green{
  width:100%!important;
  justify-content:center!important;
  margin-top:12px!important;
}
@media print{
  .hwpb-email-modal-overlay{display:none!important;}
}

/* V25.9 FINAL FIX - TinyMCE immagine selezionata */
.hwpb-editor-document img{
  cursor:pointer!important;
}
.hwpb-editor-document img.hwpb-img-selected,
.hwpb-editor-document img[data-mce-selected="1"],
.hwpb-editor-document img.mce-object-selected{
  outline:3px solid #194b8f!important;
  outline-offset:4px!important;
}

/* V26.1 FIX - Copertina grafica A4 senza pagina bianca extra */
@media print {
  .proposal-page.proposal-graphic-cover,
  .proposal-cover.proposal-graphic-cover {
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    page-break-after: always !important;
    break-after: page !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .proposal-graphic-cover-img {
    position: absolute !important;
    inset: 0 !important;
    width: 210mm !important;
    height: 297mm !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }

  .proposal-page.proposal-graphic-cover + .proposal-page {
    margin-top: 0 !important;
  }
}
/* =========================
   V29.9 FINAL - Ripristino anteprima live a pagine + flow testo corretto
   Questa patch va in fondo al CSS e sovrascrive le regole precedenti.
   ========================= */

/* Stato normale: la preview live NON deve stare sotto l'editor */
.hwpb-doc-preview-pane{
  display:none!important;
}
.hwpb-close-doc-editor{
  display:none!important;
}
.proposal-page-block:not(.hwpb-doc-editor-open) .hwpb-open-doc-editor{
  display:inline-flex!important;
}
.proposal-page-block:not(.hwpb-doc-editor-open) .hwpb-close-doc-editor{
  display:none!important;
}

/* Stato fullscreen: editor + preview affiancati */
.proposal-page-block.hwpb-doc-editor-open .hwpb-tinymce-panel{
  position:fixed!important;
  inset:0!important;
  z-index:2147483200!important;
  display:grid!important;
  grid-template-columns:minmax(620px,1fr) 620px!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  grid-template-areas:
    "head head"
    "editor preview"
    "help preview"!important;
  gap:14px!important;
  margin:0!important;
  padding:16px!important;
  border:0!important;
  border-radius:0!important;
  background:#eef2f7!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-editor-media-row{
  grid-area:head!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:12px 14px!important;
  border:1px solid #dbe5f1!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-open-doc-editor{
  display:none!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-close-doc-editor{
  display:inline-flex!important;
}
.proposal-page-block.hwpb-doc-editor-open .tox.tox-tinymce{
  grid-area:editor!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  border:1px solid #cbd5e1!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 18px 46px rgba(15,23,42,.14)!important;
}
.proposal-page-block.hwpb-doc-editor-open .tox .tox-editor-container,
.proposal-page-block.hwpb-doc-editor-open .tox .tox-edit-area,
.proposal-page-block.hwpb-doc-editor-open .tox .tox-edit-area__iframe{
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-editor-help{
  grid-area:help!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #dbe5f1!important;
  border-radius:14px!important;
  background:#fff!important;
}

/* Preview live: contenitore, header, stage */
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-pane{
  grid-area:preview!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  border:1px solid #cbd5e1!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#dfe7f0!important;
  box-shadow:0 18px 46px rgba(15,23,42,.14)!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-head{
  display:block!important;
  flex:0 0 auto!important;
  padding:12px 14px!important;
  background:#fff!important;
  border-bottom:1px solid #dbe5f1!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-head strong{
  display:block!important;
  color:#0f172a!important;
  font-size:14px!important;
  line-height:1.2!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-head span{
  display:block!important;
  margin-top:2px!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.25!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-stage{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:28px!important;
  padding:22px 16px 38px!important;
  background:linear-gradient(180deg,#edf2f7,#dbe4ee)!important;
  overscroll-behavior:contain!important;
}

/* Preview live: fogli A4 reali, scalati graficamente ma misurati con CSS A4 */
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-page{
  position:relative!important;
  width:210mm!important;
  min-width:210mm!important;
  height:297mm!important;
  min-height:297mm!important;
  max-height:297mm!important;
  padding:12mm 18mm 22mm!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
  background:#fff!important;
  color:#0f172a!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  box-shadow:0 18px 50px rgba(15,23,42,.22)!important;
  transform:scale(.62)!important;
  transform-origin:top center!important;
  margin:0 auto calc(-297mm * .38 + 38px)!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content{
  height:248mm!important;
  max-height:248mm!important;
  overflow:hidden!important;
  margin-top:10mm!important;
  padding-top:0!important;
  box-sizing:border-box!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  color:#0f172a!important;
  position:relative!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-page::before{
  content:'PAGINA ' attr(data-page)!important;
  position:absolute!important;
  top:7mm!important;
  right:18mm!important;
  font-size:9px!important;
  color:#94a3b8!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-page-end{
  position:absolute!important;
  left:18mm!important;
  right:18mm!important;
  bottom:10mm!important;
  border-top:1px dashed #cbd5e1!important;
  text-align:center!important;
  color:#94a3b8!important;
  font-size:10px!important;
  line-height:1.2!important;
  padding-top:4px!important;
}

/* Stili testo preview live coerenti */
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content h1{font-size:24px!important;line-height:1.15!important;margin:0 0 12px!important;color:#0f172a!important;}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content h2{font-size:20px!important;line-height:1.18!important;margin:16px 0 8px!important;color:#0f172a!important;}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content h3{font-size:16px!important;line-height:1.2!important;margin:14px 0 7px!important;color:#0f172a!important;}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content h4{font-size:14px!important;line-height:1.2!important;margin:12px 0 7px!important;color:#0f172a!important;}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content p{margin:0 0 9px!important;}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content ul,
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content ol{padding-left:20px!important;margin:0 0 10px!important;}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content li{margin:0 0 5px!important;}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content img{max-width:100%!important;height:auto!important;border-radius:8px!important;}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content table{width:100%!important;border-collapse:collapse!important;margin:10px 0!important;}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content td,
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content th{border:1px solid #dbe5f1!important;padding:6px!important;vertical-align:top!important;}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content th{background:#f8fafc!important;color:#194b8f!important;}

/* Preview e stampa: testo spezzabile, elementi atomici no */
.proposal-rich-content p,
.proposal-rich-content div,
.proposal-rich-content section,
.proposal-rich-content article,
.proposal-rich-content ul,
.proposal-rich-content ol,
.proposal-rich-content li,
.proposal-rich-content span,
.hwpb-doc-preview-content p,
.hwpb-doc-preview-content div,
.hwpb-doc-preview-content section,
.hwpb-doc-preview-content article,
.hwpb-doc-preview-content ul,
.hwpb-doc-preview-content ol,
.hwpb-doc-preview-content li,
.hwpb-doc-preview-content span{
  break-inside:auto!important;
  page-break-inside:auto!important;
  overflow:visible!important;
  orphans:2!important;
  widows:2!important;
}
.proposal-rich-content table,
.proposal-rich-content blockquote,
.proposal-rich-content img,
.proposal-rich-content .hwpb-pdf-attachment-card,
.proposal-rich-content .hwpb-callout,
.hwpb-doc-preview-content table,
.hwpb-doc-preview-content blockquote,
.hwpb-doc-preview-content img,
.hwpb-doc-preview-content .hwpb-pdf-attachment-card,
.hwpb-doc-preview-content .hwpb-callout{
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}

/* Pagine testo reali */
.proposal-page.proposal-rich-dynamic,
.proposal-page.hwpb-rich-paginated-page{
  height:297mm!important;
  min-height:297mm!important;
  max-height:297mm!important;
  overflow:hidden!important;
  padding:12mm 18mm 22mm!important;
  box-sizing:border-box!important;
}
.proposal-page.proposal-rich-dynamic .proposal-rich-content,
.proposal-page.hwpb-rich-paginated-page .proposal-rich-content{
  height:248mm!important;
  max-height:248mm!important;
  overflow:hidden!important;
  margin-top:10mm!important;
  padding-top:0!important;
  box-sizing:border-box!important;
  font-size:12.5px!important;
  line-height:1.45!important;
}

/* Anti drag/drop preview */
.hwpb-document-editor-active .hwpb-doc-preview-pane,
.hwpb-document-editor-active .hwpb-doc-preview-stage,
.hwpb-document-editor-active .hwpb-doc-preview-page,
.hwpb-document-editor-active .hwpb-doc-preview-content,
.hwpb-document-editor-active .hwpb-doc-preview-content *{
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-user-drag:none!important;
}
.hwpb-document-editor-active .hwpb-doc-preview-content img,
.hwpb-document-editor-active .hwpb-doc-preview-content a{
  pointer-events:none!important;
  -webkit-user-drag:none!important;
}

@media(max-width:1500px){
  .proposal-page-block.hwpb-doc-editor-open .hwpb-tinymce-panel{
    grid-template-columns:minmax(620px,1fr) 560px!important;
  }
  .proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-page{
    transform:scale(.56)!important;
    margin-bottom:calc(-297mm * .44 + 38px)!important;
  }
}
@media(max-width:1180px){
  .proposal-page-block.hwpb-doc-editor-open .hwpb-tinymce-panel{
    grid-template-columns:minmax(540px,1fr) 480px!important;
  }
  .proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-page{
    transform:scale(.48)!important;
    margin-bottom:calc(-297mm * .52 + 38px)!important;
  }
}
@media(max-width:980px){
  .proposal-page-block.hwpb-doc-editor-open .hwpb-tinymce-panel{
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr) 46vh auto!important;
    grid-template-areas:"head" "editor" "preview" "help"!important;
    overflow:auto!important;
  }
  .proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-page{
    transform:scale(.5)!important;
    margin-bottom:calc(-297mm * .5 + 38px)!important;
  }
}
@media print{
  .hwpb-doc-preview-pane,
  .hwpb-editor-mode-actions{display:none!important;}
  .proposal-page.proposal-rich-dynamic,
  .proposal-page.hwpb-rich-paginated-page{
    height:297mm!important;
    min-height:297mm!important;
    max-height:297mm!important;
    overflow:hidden!important;
    padding:12mm 18mm 22mm!important;
    box-sizing:border-box!important;
    page-break-after:always!important;
    break-after:page!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  .proposal-page.proposal-rich-dynamic .proposal-rich-content,
  .proposal-page.hwpb-rich-paginated-page .proposal-rich-content{
    height:248mm!important;
    max-height:248mm!important;
    overflow:hidden!important;
    margin-top:10mm!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  .proposal-page.proposal-rich-dynamic .proposal-auto-footer,
  .proposal-page.hwpb-rich-paginated-page .proposal-auto-footer{
    bottom:8mm!important;
    left:18mm!important;
    right:18mm!important;
  }
}


/* =========================
   V29.13 - Stabilizzazione finale editor fullscreen
   ========================= */
/* I popup TinyMCE devono stare sopra il pannello fullscreen */
.tox-tinymce-aux,
.tox-dialog-wrap,
.tox .tox-dialog-wrap,
.tox .tox-dialog,
.tox .tox-menu,
.tox .tox-collection,
.tox .tox-pop,
.tox .tox-silver-sink,
.tox-notifications-container{
  z-index:2147483647!important;
}

/* La preview live rimane visibile solo quando l'editor documentale è aperto */
.proposal-page-block:not(.hwpb-doc-editor-open) .hwpb-doc-preview-pane{
  display:none!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-pane{
  display:flex!important;
}

/* Ripristino fogli A4 live */
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-stage{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:26px!important;
  overflow:auto!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-page{
  width:210mm!important;
  height:297mm!important;
  min-height:297mm!important;
  max-height:297mm!important;
  padding:18mm 18mm 30mm!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(15,23,42,.22)!important;
  flex:0 0 auto!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-doc-preview-content{
  height:246mm!important;
  max-height:246mm!important;
  overflow:hidden!important;
  margin-top:12mm!important;
  padding-top:0!important;
  box-sizing:border-box!important;
}

/* Il testo può fluire, ma il JS decide le pagine. Non forzare avoid sui paragrafi. */
.hwpb-doc-preview-content p,
.hwpb-doc-preview-content div,
.hwpb-doc-preview-content ul,
.hwpb-doc-preview-content ol,
.proposal-rich-content p,
.proposal-rich-content div,
.proposal-rich-content ul,
.proposal-rich-content ol{
  break-inside:auto!important;
  page-break-inside:auto!important;
}
.hwpb-doc-preview-content table,
.hwpb-doc-preview-content blockquote,
.hwpb-pdf-attachment-card,
.hwpb-callout,
.hwpb-doc-preview-content img{
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}

/* =========================
   V30 - Editor A4 controllato, senza preview live laterale
   ========================= */
.hwpb-doc-preview-pane{
  display:none!important;
}
.hwpb-close-doc-editor{
  display:none!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-open-doc-editor{
  display:none!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-close-doc-editor{
  display:inline-flex!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-tinymce-panel{
  position:fixed!important;
  inset:0!important;
  z-index:2147483200!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  grid-template-areas:"head" "editor" "help"!important;
  gap:14px!important;
  margin:0!important;
  padding:16px!important;
  border:0!important;
  border-radius:0!important;
  background:#eef2f7!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-editor-media-row{
  grid-area:head!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:12px 14px!important;
  border:1px solid #dbe5f1!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
}
.proposal-page-block.hwpb-doc-editor-open .tox.tox-tinymce{
  grid-area:editor!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  border:1px solid #cbd5e1!important;
  border-radius:18px!important;
  box-shadow:0 18px 46px rgba(15,23,42,.14)!important;
  overflow:hidden!important;
  background:#fff!important;
}
.proposal-page-block.hwpb-doc-editor-open .tox .tox-editor-container,
.proposal-page-block.hwpb-doc-editor-open .tox .tox-edit-area,
.proposal-page-block.hwpb-doc-editor-open .tox .tox-edit-area__iframe{
  min-height:0!important;
  height:100%!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-editor-help{
  grid-area:help!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #dbe5f1!important;
  border-radius:14px!important;
  background:#fff!important;
}
.tox-tinymce-aux,
.tox-dialog-wrap,
.tox .tox-menu,
.tox .tox-collection,
.tox .tox-pop,
.tox .tox-silver-sink,
.tox-notifications-container{
  z-index:2147483647!important;
}
@media(max-width:980px){
  .proposal-page-block.hwpb-doc-editor-open .hwpb-tinymce-panel{
    overflow:auto!important;
  }
  .proposal-page-block.hwpb-doc-editor-open .hwpb-editor-media-row{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .proposal-page-block.hwpb-doc-editor-open .hwpb-editor-media-actions,
  .proposal-page-block.hwpb-doc-editor-open .hwpb-editor-mode-actions{
    width:100%!important;
  }
}

/* =========================
   V30 DEFINITIVA - Editor A4 singolo integrato
   No preview live laterale, no fullscreen, no paginazione JS editor.
   ========================= */
.hwpb-doc-preview-pane,
.hwpb-doc-preview-stage,
.hwpb-doc-preview-page,
.hwpb-doc-preview-content,
.hwpb-doc-preview-empty-state,
.hwpb-open-doc-editor,
.hwpb-close-doc-editor,
.hwpb-editor-mode-actions{
  display:none!important;
}
body.hwpb-document-editor-active{
  overflow:auto!important;
}
.proposal-page-block.hwpb-doc-editor-open .hwpb-tinymce-panel,
.hwpb-tinymce-panel{
  position:relative!important;
  inset:auto!important;
  z-index:auto!important;
  display:block!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  grid-template-areas:none!important;
  padding:14px!important;
  margin:12px 0 14px!important;
  border:1px solid #dbe5f1!important;
  border-radius:18px!important;
  background:#ffffff!important;
  box-shadow:0 10px 28px rgba(15,23,42,.05)!important;
  overflow:visible!important;
}
.hwpb-editor-media-row,
.proposal-page-block.hwpb-doc-editor-open .hwpb-editor-media-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:13px 14px!important;
  border:1px solid #dbe5f1!important;
  border-radius:16px 16px 0 0!important;
  background:linear-gradient(180deg,#ffffff,#f8fafc)!important;
  box-shadow:none!important;
}
.hwpb-editor-media-row > div:first-child{
  flex:1 1 auto!important;
  min-width:240px!important;
}
.hwpb-editor-media-actions{
  flex:0 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.hwpb-tinymce-panel .tox.tox-tinymce,
.proposal-page-block.hwpb-doc-editor-open .tox.tox-tinymce{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:760px!important;
  min-height:760px!important;
  max-height:none!important;
  border:1px solid #cbd5e1!important;
  border-top:0!important;
  border-radius:0 0 18px 18px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 16px 42px rgba(15,23,42,.08)!important;
}
.hwpb-tinymce-panel .tox .tox-editor-container,
.hwpb-tinymce-panel .tox .tox-edit-area,
.hwpb-tinymce-panel .tox .tox-edit-area__iframe{
  flex:1 1 auto!important;
  min-height:0!important;
}
.hwpb-tinymce-panel .tox .tox-edit-area__iframe{
  width:100%!important;
  height:100%!important;
  display:block!important;
  background:#e8eef6!important;
}
.hwpb-tinymce-panel .tox .tox-statusbar{
  flex:0 0 auto!important;
}
.hwpb-editor-help,
.proposal-page-block.hwpb-doc-editor-open .hwpb-editor-help{
  display:block!important;
  margin:10px 0 0!important;
  padding:10px 12px!important;
  border:1px solid #dbe5f1!important;
  border-radius:14px!important;
  background:#fbfdff!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.tox-notifications-container{
  z-index:2147483647!important;
}
@media(max-width:1100px){
  .hwpb-editor-media-row,
  .proposal-page-block.hwpb-doc-editor-open .hwpb-editor-media-row{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .hwpb-editor-media-actions{
    width:100%!important;
    justify-content:flex-start!important;
  }
  .hwpb-tinymce-panel .tox.tox-tinymce,
  .proposal-page-block.hwpb-doc-editor-open .tox.tox-tinymce{
    height:680px!important;
    min-height:680px!important;
  }
}
@media(max-width:680px){
  .hwpb-tinymce-panel{
    padding:10px!important;
    border-radius:14px!important;
    margin-left:-4px!important;
    margin-right:-4px!important;
  }
  .hwpb-editor-media-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .hwpb-tinymce-image-select,
  .hwpb-tinymce-pdf-select,
  .hwpb-tinymce-upload-btn{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    justify-content:center!important;
  }
  .hwpb-tinymce-panel .tox.tox-tinymce,
  .proposal-page-block.hwpb-doc-editor-open .tox.tox-tinymce{
    height:620px!important;
    min-height:620px!important;
  }
}

/* =========================
   V30.2 - Allegato PDF card UX professionale editor/preview
   ========================= */
.hwpb-pdf-attachment-card{
  width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border:1px solid #dbe5f1!important;
  background:linear-gradient(135deg,#ffffff,#f8fafc)!important;
  border-radius:18px!important;
  padding:14px 16px!important;
  margin:16px 0!important;
  box-shadow:0 10px 26px rgba(15,23,42,.06)!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
.hwpb-pdf-attachment-main{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
  flex:1!important;
}
.hwpb-pdf-attachment-icon{
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  background:#eff6ff!important;
  color:#194b8f!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:20px!important;
  line-height:1!important;
  flex:0 0 auto!important;
}
.hwpb-pdf-attachment-text{min-width:0!important;}
.hwpb-pdf-attachment-card strong{
  display:block!important;
  font-size:14px!important;
  line-height:1.2!important;
  margin:0!important;
  color:#0f172a!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.hwpb-pdf-attachment-card span{
  display:block!important;
  font-size:11px!important;
  line-height:1.25!important;
  margin-top:4px!important;
  color:#64748b!important;
  font-weight:600!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.hwpb-pdf-attachment-card a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  background:#194b8f!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:12px!important;
  padding:10px 14px!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:0 8px 18px rgba(25,75,143,.18)!important;
}
@media(max-width:680px){
  .hwpb-pdf-attachment-card{align-items:flex-start!important;flex-direction:column!important;}
  .hwpb-pdf-attachment-card a{width:100%!important;}
}


/* =========================
   V30.2 FIX - Nascondi editor A4 per pagine Immagine/PDF
   ========================= */
.proposal-page-block.hwpb-page-type-file .hwpb-content-label,
.proposal-page-block.hwpb-page-type-file .hwpb-tinymce-panel,
.proposal-page-block.hwpb-page-type-file .tox.tox-tinymce{
  display:none!important;
}
.proposal-page-block.hwpb-page-type-file .hwpb-upload-panel{
  display:block!important;
}
.proposal-page-block.hwpb-page-type-text .hwpb-tinymce-panel{
  display:block!important;
}
/* Fallback CSS moderno: utile anche prima dell'inizializzazione JS */
.proposal-page-block:has(.hwpb-page-type option[value="image"]:checked) .hwpb-content-label,
.proposal-page-block:has(.hwpb-page-type option[value="image"]:checked) .hwpb-tinymce-panel,
.proposal-page-block:has(.hwpb-page-type option[value="pdf"]:checked) .hwpb-content-label,
.proposal-page-block:has(.hwpb-page-type option[value="pdf"]:checked) .hwpb-tinymce-panel{
  display:none!important;
}
.proposal-page-block:has(.hwpb-page-type option[value="image"]:checked) .hwpb-upload-panel,
.proposal-page-block:has(.hwpb-page-type option[value="pdf"]:checked) .hwpb-upload-panel{
  display:block!important;
}


/* ==================================================
   V30.4 - Graphic Templates / Preview nel form preventivo
   ================================================== */
.hwpb-graphic-template-form-card h2{margin:0 0 16px!important;font-size:22px!important;}
.hwpb-graphic-template-form{display:grid;grid-template-columns:minmax(220px,1.2fr) 170px minmax(280px,1.4fr) 110px auto auto;gap:12px;align-items:end;}
.hwpb-graphic-template-form label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:5px;}
.hwpb-graphic-template-live-preview{margin-top:14px;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;padding:14px;color:#64748b;font-size:13px;display:flex;align-items:center;gap:14px;}
.hwpb-graphic-template-live-preview img{width:92px;height:130px;object-fit:cover;border-radius:10px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 8px 22px rgba(15,23,42,.12);}
.hwpb-graphic-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.hwpb-graphic-template-card{padding:14px!important;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden!important;}
.hwpb-graphic-template-card.is-default{outline:3px solid rgba(32,163,107,.25);}
.hwpb-graphic-template-card.is-default:before{content:'Predefinito';position:absolute;top:12px;right:12px;z-index:3;background:#dcfce7;color:#166534;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;}
.hwpb-graphic-template-thumb{height:260px;border:1px solid #e2e8f0;border-radius:16px;background:linear-gradient(180deg,#f8fafc,#eef2f7);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px;}
.hwpb-graphic-template-thumb img{width:100%;height:100%;object-fit:contain;border-radius:12px;display:block;background:#fff;}
.hwpb-graphic-template-thumb span{color:#94a3b8;font-weight:700;font-size:13px;}
.hwpb-graphic-template-title{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.hwpb-graphic-template-title strong{display:block;color:#0f172a;font-size:15px;line-height:1.25;}
.hwpb-graphic-template-title span{background:#dcfce7;color:#166534;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;text-transform:uppercase;}
.hwpb-graphic-template-info small{display:block;color:#64748b;margin-top:5px;}
.hwpb-graphic-template-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;}
.hwpb-graphic-template-actions form{display:block;}
.hwpb-graphic-template-actions .btn{width:100%;justify-content:center;box-shadow:none!important;transform:none!important;}
.hwpb-graphic-template-picker .form-row-3{align-items:end!important;}
.hwpb-graphic-template-preview{margin-top:14px;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;padding:14px;color:#64748b;font-size:13px;}
.hwpb-graphic-template-preview-inner{display:flex;align-items:center;gap:14px;}
.hwpb-graphic-template-preview-inner img{width:88px;height:124px;object-fit:cover;border-radius:10px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 8px 22px rgba(15,23,42,.12);}
.hwpb-graphic-template-preview-inner strong{display:block;color:#0f172a;font-size:14px;margin-bottom:4px;}
.hwpb-graphic-template-preview-inner span{display:block;color:#64748b;font-size:12px;}
.hwpb-graphic-template-empty{color:#64748b;font-size:13px;}
@media(max-width:1400px){.hwpb-graphic-template-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.hwpb-graphic-template-form{grid-template-columns:1fr 1fr;}}
@media(max-width:900px){.hwpb-graphic-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.hwpb-graphic-template-form{grid-template-columns:1fr;}.hwpb-graphic-template-thumb{height:220px;}}
@media(max-width:560px){.hwpb-graphic-template-grid{grid-template-columns:1fr;}.hwpb-graphic-template-actions{grid-template-columns:1fr;}}

/* ==================================================
   HUBWEB LOGIN PAGE
   ================================================== */

.hwpb-login-page{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px 20px 80px;
    overflow:hidden;
    background:#eef2f7;
}

.hwpb-login-bg{
    position:absolute;
    border-radius:50%;
    filter:blur(80px);
    opacity:.55;
    pointer-events:none;
}

.hwpb-login-bg-one{
    width:500px;
    height:500px;
    background:#c7f0d2;
    top:-180px;
    right:-120px;
}

.hwpb-login-bg-two{
    width:450px;
    height:450px;
    background:#dbeafe;
    bottom:-150px;
    left:-120px;
}

.hwpb-login-shell{
    position:relative;
    z-index:2;
    width:100%;
    max-width:480px;
}

.hwpb-login-card{
    background:#fff;
    border:1px solid #dbe5f1;
    border-radius:24px;
    padding:40px;
    box-shadow:0 25px 60px rgba(15,23,42,.12);
}

.hwpb-login-brand{
    text-align:center;
    margin-bottom:-25px;
}

.hwpb-login-logo{
    max-width:285px;
    width:100%;
    height:auto;
}

.hwpb-login-eyebrow{
    display:inline-block;
    margin-bottom:8px Important!;
    color:#64748b;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.hwpb-login-heading{
    text-align:center;
    margin-bottom:1px;
}

.hwpb-login-heading h1{
    margin:0 0 10px;
    font-size:30px;
    font-weight:700;
    color:#0f172a;
}

.hwpb-login-heading p{
    margin:0;
    color:#64748b;
    font-size:15px;
}

.hwpb-login-field{
    margin-bottom:18px;
}

.hwpb-login-field label{
    display:block;
    margin-bottom:6px;
    font-weight:600;
    color:#334155;
}

.hwpb-login-field input{
    width:100%;
    height:52px;
    border:1px solid #dbe5f1;
    border-radius:12px;
    padding:0 16px;
    font-size:15px;
    background:#fff;
}

.hwpb-login-field input:focus{
    outline:none;
    border-color:#194b8f;
    box-shadow:0 0 0 4px rgba(25,75,143,.12);
}

.hwpb-login-button{
    width:100%;
    height:54px;
    border-radius:12px;
    margin-top:10px;
    background:#39b006;
    color:#fff;
    font-weight:700;
    border:none;
    cursor:pointer;
	display: flex;
    text-align: center;
    flex-wrap: nowrap;
	justify-content: space-around;
}

.hwpb-login-button:hover{
    background:#0f0f0f;
}

.hwpb-login-note{
    margin-top:18px;
    text-align:center;
    color:#64748b;
    font-size:13px;
}

.hwpb-login-error{
    margin-bottom:20px;
}

.hwpb-login-footer{
    position:absolute;
    bottom:20px;
    left:0;
    width:100%;
    text-align:center;
    color:#64748b;
    font-size:13px;
    z-index:2;
}

.hwpb-login-footer a{
    color:#194b8f;
    text-decoration:none;
}

.hwpb-login-footer a:hover{
    text-decoration:underline;
}

@media (max-width:768px){

    .hwpb-login-card{
        padding:28px;
    }

    .hwpb-login-heading h1{
        font-size:30px;
    }

    .hwpb-login-logo{
        max-width:240px;
    }
}