
:root{
  --bg:#f5f8fc;--card:#fff;--line:#e6ebf2;--text:#172033;--muted:#7c8797;
  --blue:#1687ff;--blue2:#0f6fe8;--green:#18a66d;--red:#d94b61;--purple:#7c4dff;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
a{text-decoration:none;color:inherit}
.affiliate-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}
.affiliate-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column}
.affiliate-logo{display:block;padding:4px 8px 18px}.affiliate-logo img{width:170px;max-width:100%}
.affiliate-sidebar nav{display:flex;flex-direction:column;gap:5px}.affiliate-sidebar nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;font-size:12px;font-weight:700;color:#5e6979}
.affiliate-sidebar nav a span{width:24px;height:24px;border-radius:8px;background:#f2f6fb;display:grid;place-items:center;color:#526174}
.affiliate-sidebar nav a:hover{background:#f7faff;color:#263244}.affiliate-sidebar nav a.active{background:#edf6ff;color:#0f6fe8}.affiliate-sidebar nav a.active span{background:#dcebff;color:#0f6fe8}
.affiliate-side-bottom{margin-top:auto;border-top:1px solid var(--line);padding:14px 8px 2px}.affiliate-side-bottom small,.affiliate-side-bottom b{display:block}.affiliate-side-bottom small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.affiliate-side-bottom b{font-size:11px;margin-top:4px}.affiliate-side-bottom a{display:inline-block;margin-top:9px;font-size:10px;color:#c63b53;font-weight:800}
.affiliate-workspace{min-width:0}.affiliate-topbar{height:68px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}
.affiliate-topbar>div:nth-child(2){margin-left:auto}.affiliate-topbar small,.affiliate-topbar b{display:block;text-align:right}.affiliate-topbar small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.affiliate-topbar b{font-size:11px;margin-top:2px}
.affiliate-account-badge{margin-left:10px!important;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#1687ff,#23c4ff);color:#fff;display:grid!important;place-items:center;font-size:12px;font-weight:900}
.affiliate-menu{display:none}
.affiliate-content{width:min(100% - 36px,1450px);margin:0 auto;padding:26px 0 48px}
.affiliate-hero{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:22px;box-shadow:0 10px 28px rgba(24,39,75,.04);margin-bottom:16px}
.affiliate-hero h1,.affiliate-page-head h1{margin:5px 0 7px;font-size:30px;letter-spacing:-.045em}.affiliate-hero p,.affiliate-page-head p{margin:0;color:var(--muted);font-size:12px}.affiliate-eyebrow{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--blue)}
.affiliate-page-head{margin-bottom:18px}
.affiliate-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.affiliate-kpis article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 8px 24px rgba(24,39,75,.035)}.affiliate-kpis article>span{width:39px;height:39px;border-radius:12px;background:#edf6ff;color:var(--blue);display:grid;place-items:center;font-size:18px}.affiliate-kpis strong,.affiliate-kpis b,.affiliate-kpis small{display:block}.affiliate-kpis strong{font-size:25px;letter-spacing:-.04em}.affiliate-kpis b{font-size:10px;margin-top:2px}.affiliate-kpis small{font-size:8px;color:var(--muted);margin-top:3px}
.affiliate-grid{display:grid;gap:14px;margin-bottom:14px}.affiliate-grid.two-wide{grid-template-columns:1.35fr .65fr}.affiliate-grid.three{grid-template-columns:repeat(3,1fr)}
.affiliate-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:0 8px 24px rgba(24,39,75,.035)}.affiliate-card h2{margin:0;font-size:15px;letter-spacing:-.02em}.affiliate-card>p{color:var(--muted);font-size:11px;line-height:1.55}
.affiliate-card-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:12px}.affiliate-card-head p{margin:4px 0 0;color:var(--muted);font-size:9px}.affiliate-card-head>a{font-size:10px;color:var(--blue);font-weight:800}
.affiliate-device-list{display:flex;flex-direction:column}.affiliate-device{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.affiliate-device:last-child{border-bottom:0}.device-icon{width:38px;height:38px;border-radius:11px;background:#111827;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:900}.affiliate-device b,.affiliate-device small{display:block}.affiliate-device b{font-size:11px}.affiliate-device small{font-size:8px;color:var(--muted);margin-top:2px}
.affiliate-status{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:8px;font-weight:850}.affiliate-status.online{background:#eaf8f2;color:#12865e}.affiliate-status.off{background:#fff0f2;color:#c83a53}
.affiliate-info-note{margin-top:12px;padding:10px;border-radius:10px;background:#f6f9fc;color:#748093;font-size:9px}
.affiliate-plan-box{padding:14px;border-radius:14px;background:linear-gradient(135deg,#effbf5,#f8fffb);border:1px solid #d8f2e5}.affiliate-plan-box span,.affiliate-plan-box strong,.affiliate-plan-box b{display:block}.affiliate-plan-box span{font-size:8px;color:#159061;letter-spacing:.12em;font-weight:900}.affiliate-plan-box strong{font-size:20px;margin:3px 0}.affiliate-plan-box b{font-size:10px;color:#506073}
.affiliate-check-list{list-style:none;padding:0;margin:12px 0}.affiliate-check-list li{padding:5px 0;font-size:10px;color:#536072}
.affiliate-big{font-size:40px;letter-spacing:-.05em}.affiliate-big small{font-size:13px;color:var(--muted)}
.affiliate-site-preview{min-height:120px;border-radius:14px;background:linear-gradient(135deg,#0f172a,#1b2b49);color:#fff;padding:18px;display:flex;flex-direction:column;justify-content:center;margin-bottom:12px}.affiliate-site-preview span{font-size:9px;color:#6fc8ff;font-weight:900;letter-spacing:.1em}.affiliate-site-preview b{font-size:18px;margin:5px 0}.affiliate-site-preview small{font-size:9px;color:#bcc8d8;word-break:break-all}
.affiliate-tip{background:linear-gradient(135deg,#fbf9ff,#f4efff)}.affiliate-tip>a{font-size:10px;color:var(--purple);font-weight:800}
.affiliate-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border-radius:10px;font-size:10px;font-weight:850;border:1px solid transparent}.affiliate-btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.affiliate-btn.secondary{background:#fff;border-color:#dce4ed;color:#344154}.affiliate-btn.secondary:hover{border-color:#b9d9ff;color:#0f6fe8}
.affiliate-plan-hero{padding:18px;border-radius:15px;background:linear-gradient(135deg,#0d1727,#12335f);color:#fff}.affiliate-plan-hero span{font-size:8px;color:#7ccaff;font-weight:900;letter-spacing:.12em}.affiliate-plan-hero h2{font-size:24px;margin:5px 0}.affiliate-plan-hero strong{font-size:27px}.affiliate-plan-hero small{font-size:10px;color:#b7c4d7}
.affiliate-data-list{margin-top:12px}.affiliate-data-list>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #edf1f5}.affiliate-data-list span{font-size:10px;color:var(--muted)}.affiliate-data-list b{font-size:10px}
.affiliate-feature-list{list-style:none;padding:0;margin:10px 0}.affiliate-feature-list li{padding:10px 0;border-bottom:1px solid #edf1f5}.affiliate-feature-list b,.affiliate-feature-list span{display:block}.affiliate-feature-list b{font-size:10px}.affiliate-feature-list span{font-size:9px;color:var(--muted);margin-top:2px}
.affiliate-report-list{display:flex;flex-direction:column}.affiliate-report-row{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f5}.affiliate-report-row:last-child{border-bottom:0}.report-icon{width:40px;height:40px;border-radius:11px;background:#fff0f2;color:#d14159;display:grid;place-items:center;font-size:9px;font-weight:900}.affiliate-report-row b,.affiliate-report-row small{display:block}.affiliate-report-row b{font-size:11px}.affiliate-report-row small{font-size:8px;color:var(--muted);margin-top:3px}
.affiliate-site-status{padding:20px;border-radius:15px;background:#f7f9fc;border:1px solid var(--line);margin-bottom:12px}.affiliate-site-status span,.affiliate-site-status strong,.affiliate-site-status small{display:block}.affiliate-site-status span{font-size:8px;color:var(--muted);font-weight:900;letter-spacing:.1em}.affiliate-site-status strong{font-size:22px;margin:5px 0}.affiliate-site-status small{font-size:9px;color:var(--muted)}.affiliate-site-status.online{background:#eefbf5;border-color:#d6f1e3}.affiliate-site-status.in_progress,.affiliate-site-status.review{background:#f1f7ff;border-color:#d8e8ff}
.affiliate-form label{font-size:10px;font-weight:750}.affiliate-form textarea{width:100%;margin-top:6px;border:1px solid #dfe6ee;border-radius:11px;padding:11px;resize:vertical;font:inherit;font-size:11px;line-height:1.5}.affiliate-form textarea:focus{outline:none;border-color:#9bcaff;box-shadow:0 0 0 4px rgba(22,135,255,.08)}
.affiliate-process{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.affiliate-process>div{padding:13px;border-radius:12px;background:#f8fafc;border:1px solid #edf1f5}.affiliate-process span{width:27px;height:27px;border-radius:9px;background:#eaf4ff;color:#0f6fe8;display:grid;place-items:center;font-size:10px;font-weight:900}.affiliate-process b,.affiliate-process small{display:block}.affiliate-process b{font-size:10px;margin-top:8px}.affiliate-process small{font-size:8px;color:var(--muted);margin-top:3px}
.affiliate-empty{padding:18px;border:1px dashed #d9e1ea;border-radius:12px;color:#8b96a5;font-size:10px;text-align:center}
.support-icon{font-size:24px}
.affiliate-alert{padding:10px 12px;border-radius:11px;margin-bottom:12px;font-size:10px}.affiliate-alert.success{background:#eaf8f2;color:#13865e}.affiliate-alert.danger{background:#fff0f2;color:#c83c54}.affiliate-alert.warning{background:#fff8e8;color:#9b6a00}

.affiliate-login-body{min-height:100vh;background:radial-gradient(circle at 80% 10%,rgba(22,135,255,.12),transparent 25%),#f4f7fb;display:grid;place-items:center;padding:20px}.affiliate-login-shell{width:min(420px,100%);text-align:center}.affiliate-login-logo img{width:190px;margin-bottom:18px}.affiliate-login-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;text-align:left;box-shadow:0 24px 70px rgba(24,39,75,.12)}.affiliate-login-card h1{font-size:27px;letter-spacing:-.045em;margin:5px 0 8px}.affiliate-login-card>p{font-size:11px;color:var(--muted);line-height:1.55}.affiliate-login-card label{display:block;font-size:10px;font-weight:800;margin-top:10px}.affiliate-login-card input{width:100%;margin-top:5px;border:1px solid #dfe5ed;border-radius:11px;padding:11px 12px;font:inherit}.affiliate-login-card button{width:100%;margin-top:14px;border:0;border-radius:11px;padding:12px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-weight:850;cursor:pointer}.affiliate-login-card>small{display:block;margin-top:12px;color:#929cab;font-size:8px}.affiliate-back{display:inline-block;margin-top:14px;font-size:9px;color:#637083;font-weight:750}

/* Legacy responsive rules removed in V2.3.4: they conflicted with the unified 680px layout system. */

/* V92 Menu & Orders */
.orders-admin-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:16px;margin-bottom:16px}.compact-form{display:flex;gap:10px}.compact-form input{flex:1}.menu-item-form{display:grid;grid-template-columns:1fr 1.3fr .6fr;gap:9px}.menu-item-form input:nth-of-type(3),.menu-item-form input:nth-of-type(4),.menu-item-form button{grid-column:auto}.affiliate-panel input,.affiliate-panel select,.affiliate-panel textarea{background:#f7f9fc;border:1px solid #dce4ee;border-radius:10px;padding:11px 12px}.affiliate-primary{border:0;border-radius:10px;padding:11px 16px;background:#168cff;color:#fff;font-weight:800;text-decoration:none;cursor:pointer}.affiliate-secondary,.menu-admin-list button{border:1px solid #d8e2ed;background:#fff;border-radius:9px;padding:8px 10px;cursor:pointer}.menu-category-block{margin-top:14px}.panel-title-row{display:flex;justify-content:space-between;align-items:center}.panel-title-row span{font-size:11px;color:#75869a}.menu-admin-list article{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #edf1f5}.menu-admin-list article small{display:block;color:#7d8da0;margin-top:3px}.menu-admin-list article.is-muted{opacity:.45}.danger-lite{color:#c53b3b!important}.table-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.table-card{display:flex;flex-direction:column;gap:10px}.table-icon{width:42px;height:42px;border-radius:12px;background:#eaf5ff;color:#168cff;display:grid;place-items:center;font-size:20px}.table-card h2{margin:2px 0}.status-pill{font-size:9px;font-weight:800;padding:4px 7px;border-radius:20px}.status-pill.ok{background:#e8f8ef;color:#138a50}.status-pill.off{background:#f0f2f5;color:#7b8795}.copy-url{display:flex}.copy-url input{min-width:0;flex:1;border-radius:9px 0 0 9px}.copy-url button{border:0;background:#e9f3fc;padding:0 10px;border-radius:0 9px 9px 0}.table-open{text-align:center}.order-head{display:flex;justify-content:space-between}.live-order-badge{align-self:center;padding:8px 12px;border-radius:20px;background:#e9fbf2;color:#138a50;font-size:10px;font-weight:900}.live-order-badge i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#21b66f;margin-right:6px}.order-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.order-ticket{background:#fff;border:1px solid #dfe7ef;border-top:4px solid #168cff;border-radius:14px;padding:15px;box-shadow:0 10px 28px rgba(30,65,100,.07)}.order-ticket.status-ready{border-top-color:#21b66f}.order-ticket.status-served{opacity:.55;border-top-color:#9ba8b5}.order-ticket header{display:flex;justify-content:space-between;border-bottom:1px dashed #dce4eb;padding-bottom:10px}.order-ticket header strong{display:block;font-size:28px}.order-ticket header small{font-size:8px;color:#8493a3}.ticket-items{padding:10px 0}.ticket-items div,.ticket-total{display:flex;justify-content:space-between;padding:5px 0}.ticket-note{background:#fff7dc;padding:9px;border-radius:8px;font-size:10px}.ticket-total{border-top:1px dashed #dce4eb;margin-top:8px;font-size:16px}.status-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.status-actions button{border:0;background:#edf4fa;border-radius:8px;padding:8px;font-size:9px;cursor:pointer}.empty-orders{grid-column:1/-1;text-align:center;padding:70px}.empty-orders>div{font-size:35px;color:#168cff}@media(max-width:1000px){.orders-admin-grid,.order-board,.table-admin-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.orders-admin-grid,.order-board,.table-admin-grid{grid-template-columns:1fr}.menu-item-form{grid-template-columns:1fr}.compact-form{flex-direction:column}}


/* Menu & Orders V2 */
.style-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.style-picker label{cursor:pointer}.style-picker input[type=radio]{position:absolute;opacity:0}.style-picker label span{display:block;border:1px solid var(--line,#ddd);border-radius:14px;padding:18px}.style-picker input:checked+span{outline:2px solid currentColor}.style-picker small{display:block;opacity:.65;margin-top:4px}.style-picker>input[name=welcome_text]{grid-column:1/-1}.style-picker>button{grid-column:1/-1}.table-live-session{padding:12px;border-radius:12px;background:#ecfdf5;border:1px solid #bbf7d0;margin:10px 0}.table-live-session b,.table-live-session span,.table-live-session small{display:block;margin:3px 0}.open-session-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.open-session-strip>div{padding:13px;border:1px solid var(--line,#ddd);border-radius:12px}.open-session-strip span,.open-session-strip strong,.open-session-strip small{display:block;margin-top:3px}@media(max-width:700px){.style-picker{grid-template-columns:1fr}}
/* TapReview V2 sessioni, pagamento e stampante cucina */
.session-order-panel{margin-bottom:18px}.session-order-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #e6edf4;padding-bottom:16px;margin-bottom:16px}.session-order-head h2{margin:3px 0}.session-order-head p{margin:0;color:#75869a}.session-bill{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.session-bill>strong{font-size:26px}.payment-pill{display:inline-flex;width:max-content;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900}.payment-pill.unpaid{background:#fff1d6;color:#9a5b00}.payment-pill.paid{background:#dcfce7;color:#137a45}.session-orders-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.printer-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.printer-form{display:grid;gap:12px;margin:14px 0}.printer-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.printer-toggle{display:flex!important;align-items:center;gap:8px}.printer-toggle input{width:auto}.printer-status{padding:18px;border-radius:14px;display:flex;flex-direction:column;gap:5px;margin:14px 0}.printer-status.on{background:#e9fbf2;color:#137a45}.printer-status.off{background:#f1f4f7;color:#657487}.muted{color:#75869a;font-size:12px}.print-job-list>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:12px 0;border-top:1px solid #edf1f5;align-items:center}.print-job-list small{grid-column:1/-1;color:#b42318}.print-pending{color:#9a5b00}.print-printed{color:#137a45}.print-error{color:#b42318}@media(max-width:1000px){.session-orders-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.session-order-head{flex-direction:column}.session-bill{text-align:left;align-items:flex-start}.session-orders-grid,.printer-grid{grid-template-columns:1fr}}
/* TapReview Sala Live */
.live-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 14px}.live-kpis>div{background:#fff;border:1px solid #e4eaf1;border-radius:13px;padding:13px 15px}.live-kpis small,.live-kpis span{display:block;color:#78889b;font-size:9px}.live-kpis b{display:block;font-size:24px;margin:2px 0}.live-kpis .danger{background:#fff3f1;border-color:#ffd3cc}.live-kpis .danger b{color:#c63b2d}.live-toolbar{position:sticky;top:0;z-index:8;background:#f6f8fb;padding:9px 0;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.live-filters,.live-depts{display:flex;gap:6px;flex-wrap:wrap}.live-toolbar button{border:1px solid #dce4ed;background:#fff;border-radius:9px;padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer}.live-toolbar button.active{background:#10243b;color:#fff;border-color:#10243b}.live-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.live-ticket{background:#fff;border:1px solid #dfe6ee;border-radius:13px;padding:13px;min-width:0;border-top:4px solid #168cff}.live-ticket.status-preparing{border-top-color:#f2a516}.live-ticket.status-ready{border-top-color:#19a861}.live-ticket.urgent{border-color:#ef6a5b;background:#fffafa}.live-ticket header{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #edf1f5;padding-bottom:9px}.live-ticket h2{margin:5px 0 1px;font-size:21px}.live-ticket header small{color:#7a899b;font-size:9px}.dept-pill{font-size:8px;font-weight:900;letter-spacing:.08em;background:#edf4fb;padding:4px 7px;border-radius:99px}.age{text-align:right}.age b{display:block;font-size:22px}.attention-strip{margin:9px 0 -1px;background:#ffe7e3;color:#a92d20;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:900}.live-items{padding:9px 0;min-height:52px}.live-items div{display:flex;gap:8px;padding:4px 0;font-size:12px}.quick-status{margin-top:8px}.quick-status button{width:100%;border:0;border-radius:9px;padding:10px;background:#10243b;color:#fff;font-weight:850;cursor:pointer}.quick-status .ready-action{background:#168f55}.done-state{display:block;text-align:center;padding:9px;color:#168f55;font-weight:800}.department-mini{display:inline-block;margin-top:4px}.department-mini select{padding:5px 8px!important;font-size:9px}.compact-form select{min-width:120px}@media(max-width:1200px){.live-board{grid-template-columns:repeat(3,1fr)}.live-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.live-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.live-board,.live-kpis{grid-template-columns:1fr}.live-toolbar{position:static}.live-ticket{padding:12px}}
/* SMART NFC SOLUTIONS V2.3 logo safety */
.affiliate-logo img,.affiliate-login-logo img{display:block;object-fit:contain;background:#fff;border-radius:10px;padding:5px 8px;max-width:100%;height:auto}
.affiliate-logo img{width:190px}.affiliate-login-logo img{width:min(360px,80vw)}
/* V2.3.1 · Area Clienti */
.client-hero{padding:6px 0 20px}.client-hero>span{font-size:11px;font-weight:800;letter-spacing:.14em;color:#2563eb}.client-hero h1{margin:5px 0 5px;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}.client-hero p{margin:0;max-width:720px;color:#64748b}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.service-card{background:#fff;border:1px solid #e7edf5;border-radius:20px;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.service-icon{width:48px;height:48px;border-radius:15px;background:#eaf3ff;color:#2563eb;display:grid;place-items:center;font-weight:900;margin-bottom:14px}.service-card h3{margin:2px 0 4px}.service-meta{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:16px 0;font-size:12px}.smart-editor .editor-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:32px}.smart-editor label{display:grid;gap:7px;margin-bottom:14px;font-weight:700}.smart-editor input,.smart-editor select,.customer-row input{width:100%;box-sizing:border-box;border:1px solid #dbe3ee;border-radius:11px;padding:11px 12px;background:#fff}.switch-row{display:flex!important;justify-content:space-between;align-items:center;padding:14px;border:1px solid #dbe3ee;border-radius:14px}.switch-row small{display:block;color:#64748b;font-weight:400}.action-editor{padding:14px;border:1px solid #e5eaf1;border-radius:14px;margin:10px 0}.phone-preview{display:flex;justify-content:center}.phone{width:260px;border:8px solid #101827;border-radius:34px;padding:7px;background:#101827;box-shadow:0 22px 50px rgba(15,23,42,.2)}.phone-screen{min-height:480px;border-radius:22px;background:linear-gradient(145deg,#f8fbff,#eaf3ff);padding:28px 16px;text-align:center}.preview-btn{display:block;padding:13px;margin:10px 0;border-radius:12px;background:#fff;border:1px solid #dce8f8;font-weight:800}.phone-screen footer{margin-top:80px;font-size:9px;color:#64748b}.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.kpi-row article{background:#fff;border:1px solid #e7edf5;border-radius:18px;padding:20px}.kpi-row strong{font-size:30px;display:block}.kpi-row span{color:#64748b;font-size:13px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reward-list{display:grid;gap:8px;margin-top:14px}.reward-list span{padding:10px;border-radius:10px;background:#f8fafc}.customer-row{display:grid;grid-template-columns:minmax(160px,1fr) 70px minmax(280px,1.4fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #edf1f5}.customer-row small{display:block;color:#64748b}.customer-row form{display:grid;grid-template-columns:90px 1fr auto;gap:7px}.affiliate-btn.compact{padding:10px 12px}@media(max-width:800px){.smart-editor .editor-grid,.kpi-row,.grid2{grid-template-columns:1fr}.customer-row{grid-template-columns:1fr}.customer-row form{grid-template-columns:80px 1fr}.customer-row form button{grid-column:1/-1}.phone-preview{margin-top:12px}}
/* V2.3.1 · Area Clienti */
.client-hero{padding:6px 0 20px}.client-hero>span{font-size:11px;font-weight:800;letter-spacing:.14em;color:#2563eb}.client-hero h1{margin:5px 0;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}.client-hero p{margin:0;max-width:720px;color:#64748b}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.service-card{background:#fff;border:1px solid #e7edf5;border-radius:20px;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.service-icon{width:48px;height:48px;border-radius:15px;background:#eaf3ff;color:#2563eb;display:grid;place-items:center;font-weight:900;margin-bottom:14px}.service-meta{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:16px 0;font-size:12px}.smart-editor .editor-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:32px}.smart-editor label{display:grid;gap:7px;margin-bottom:14px;font-weight:700}.smart-editor input,.smart-editor select,.customer-row input{width:100%;box-sizing:border-box;border:1px solid #dbe3ee;border-radius:11px;padding:11px 12px;background:#fff}.switch-row{display:flex!important;justify-content:space-between;align-items:center;padding:14px;border:1px solid #dbe3ee;border-radius:14px}.switch-row small{display:block;color:#64748b;font-weight:400}.action-editor{padding:14px;border:1px solid #e5eaf1;border-radius:14px;margin:10px 0}.phone-preview{display:flex;justify-content:center}.phone{width:260px;border:8px solid #101827;border-radius:34px;padding:7px;background:#101827;box-shadow:0 22px 50px rgba(15,23,42,.2)}.phone-screen{min-height:480px;border-radius:22px;background:linear-gradient(145deg,#f8fbff,#eaf3ff);padding:28px 16px;text-align:center}.preview-btn{display:block;padding:13px;margin:10px 0;border-radius:12px;background:#fff;border:1px solid #dce8f8;font-weight:800}.phone-screen footer{margin-top:80px;font-size:9px;color:#64748b}.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.kpi-row article{background:#fff;border:1px solid #e7edf5;border-radius:18px;padding:20px}.kpi-row strong{font-size:30px;display:block}.kpi-row span{color:#64748b;font-size:13px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reward-list{display:grid;gap:8px;margin-top:14px}.reward-list span{padding:10px;border-radius:10px;background:#f8fafc}.customer-row{display:grid;grid-template-columns:minmax(160px,1fr) 70px minmax(280px,1.4fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #edf1f5}.customer-row small{display:block;color:#64748b}.customer-row form{display:grid;grid-template-columns:90px 1fr auto;gap:7px}.affiliate-btn.compact{padding:10px 12px}@media(max-width:800px){.smart-editor .editor-grid,.kpi-row,.grid2{grid-template-columns:1fr}.customer-row{grid-template-columns:1fr}.customer-row form{grid-template-columns:80px 1fr}.customer-row form button{grid-column:1/-1}.phone-preview{margin-top:12px}}

/* SMART NFC V2.3.1 - Area Clienti / Fidelity refinement */
.client-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.mini-eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#2874d8;margin-bottom:5px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.section-title h2{margin:0}.section-title p{margin:5px 0 0;color:#728197;font-size:12px}.status-pill{padding:7px 10px;border-radius:999px;background:#e9f8ef;color:#18794e;font-size:10px;font-weight:900}.status-pill.soft{background:#eef5ff;color:#2164bb}.fidelity-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;margin:16px 0}.fidelity-form,.reward-create{display:grid;gap:14px}.fidelity-form label,.reward-create label,.editor-controls>label,.grid2 label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#31445f}.fidelity-form input,.fidelity-form select,.reward-create input,.editor-controls input,.editor-controls select,.transaction-form input{width:100%;border:1px solid #d8e2ee;border-radius:11px;padding:11px 12px;background:#fff;font:inherit;outline:none}.fidelity-form input:focus,.reward-create input:focus,.editor-controls input:focus{border-color:#5d9eea;box-shadow:0 0 0 3px rgba(43,119,213,.09)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-suffix{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid #d8e2ee;border-radius:11px;background:#fff;overflow:hidden}.input-suffix input{border:0!important;border-radius:0!important;box-shadow:none!important}.input-suffix b{padding:0 12px;color:#75859a;font-size:11px}.switch-row{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.switch-row>span{display:grid;gap:3px}.switch-row small{color:#7b8ba0;font-weight:500}.switch-row input[type=checkbox]{width:38px;height:20px;accent-color:#1768df;flex:none}.reward-create{grid-template-columns:1fr 105px auto;align-items:end}.reward-list.modern{display:grid;gap:8px;margin-top:17px}.reward-item{display:grid;grid-template-columns:50px 1fr auto;gap:11px;align-items:center;padding:11px;border:1px solid #e4ebf3;border-radius:13px}.reward-cost{width:45px;height:40px;display:grid;place-items:center;border-radius:10px;background:#edf5ff;color:#145fc4;font-weight:900}.reward-item>div{display:grid}.reward-item small{color:#8290a2}.customer-list.modern{display:grid;gap:8px}.customer-row.modern{display:grid;grid-template-columns:42px minmax(130px,1fr) 90px minmax(300px,1.8fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #e3eaf2;border-radius:14px}.customer-avatar{width:40px;height:40px;border-radius:12px;background:#eaf3ff;color:#1768df;display:grid;place-items:center;font-weight:900}.customer-info,.customer-balance{display:grid;gap:2px}.customer-info small,.customer-balance small{color:#8290a2}.customer-balance strong{font-size:19px}.transaction-form{display:grid;grid-template-columns:90px 1fr auto;gap:7px}.text-link{font-size:11px;font-weight:850;color:#1768df;text-decoration:none}.affiliate-empty{display:grid;gap:5px;text-align:center;padding:28px;color:#7b8ba0;border:1px dashed #d4dfeb;border-radius:13px}.affiliate-empty.compact{padding:18px}.public-url-box{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;background:#eef6ff;border:1px solid #d3e5fb;border-radius:14px;margin:15px 0}.public-url-box>div{display:grid;gap:4px;min-width:0}.public-url-box small{font-size:9px;letter-spacing:.1em;font-weight:900;color:#5f7b9f}.public-url-box code{font-size:12px;color:#174e91;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-editor{padding:18px}.editor-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:28px}.editor-controls{display:grid;gap:13px}.action-title{margin:12px 0 0}.action-editor.modern{border:1px solid #e2eaf3;border-radius:14px;padding:5px 13px 13px}.action-editor.modern .switch-row{padding-bottom:8px}.action-name{display:flex!important;align-items:center;grid-template-columns:none!important;gap:10px}.action-name i{width:34px;height:34px;border-radius:10px;background:#edf5ff;color:#1768df;display:grid;place-items:center;font-style:normal;font-weight:900}.action-name>span{display:grid;gap:2px}.fidelity-action{background:#f8fbff}.locked-note{display:block;color:#9a6a14;margin:0 0 9px}.save-large{width:100%;padding:13px!important}.phone-preview{display:flex;justify-content:center;align-items:flex-start;position:sticky;top:20px}.phone{width:265px;border:8px solid #15243a;border-radius:34px;padding:8px;background:#15243a;box-shadow:0 22px 45px rgba(20,42,72,.18)}.phone-screen{min-height:480px;border-radius:22px;background:linear-gradient(#f0f6ff,#fff);padding:28px 14px 15px;text-align:center}.phone-screen>small{font-size:8px;letter-spacing:.12em;color:#7890ad}.preview-logo{width:48px;height:48px;border-radius:15px;background:#1768df;color:#fff;display:grid;place-items:center;margin:16px auto 10px;font-weight:900}.phone-screen h2{font-size:19px;margin:6px}.phone-screen p{font-size:10px;color:#718298}.preview-btn{display:block;padding:10px;margin:8px 0;border-radius:10px;background:#fff;border:1px solid #dbe7f4;text-align:left;font-size:10px;font-weight:800}.preview-btn.fidelity{background:#1768df;color:#fff}.preview-btn.light{background:#edf5ff;color:#145fc4}.phone-screen footer{margin-top:20px;font-size:7px;color:#95a4b6}.editor-locked{opacity:.84}.editor-locked input,.editor-locked select{cursor:not-allowed}.affiliate-btn:disabled{opacity:.55;cursor:not-allowed}@media(max-width:1050px){.fidelity-layout,.editor-grid{grid-template-columns:1fr}.phone-preview{position:static}.customer-row.modern{grid-template-columns:42px 1fr 80px}.transaction-form{grid-column:2/4}.text-link{grid-column:2}}@media(max-width:720px){.client-hero{align-items:flex-start;flex-direction:column}.grid2,.reward-create{grid-template-columns:1fr}.customer-row.modern{grid-template-columns:42px 1fr 70px}.transaction-form{grid-template-columns:1fr;grid-column:1/-1}.public-url-box{align-items:flex-start;flex-direction:column}.phone{width:245px}}
/* V2.3.1 reward redemption + customer search */
.fidelity-search{display:flex;gap:8px;margin:0 0 16px}.fidelity-search input{flex:1;min-width:220px;border:1px solid #d8e2ee;border-radius:11px;padding:11px 12px;font:inherit}.request-list{display:grid;gap:9px}.request-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:14px;align-items:center;padding:13px;border:1px solid #e3eaf2;border-radius:14px}.request-row>div:first-child{display:grid;gap:3px}.request-row small{color:#7b8ba0}.request-actions{display:flex;gap:7px}.request-actions form{margin:0}@media(max-width:720px){.fidelity-search,.request-actions{flex-direction:column}.request-row{grid-template-columns:1fr}.request-actions{display:flex}}

/* V2.3.2 · Area Clienti responsive stability fix
   One layout system for desktop/tablet/mobile; prevents grid overflow and page-to-page reflow. */
html{width:100%;min-width:0;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.affiliate-body{width:100%;min-width:0;overflow-x:hidden}
.affiliate-shell{width:100%;min-width:0;grid-template-columns:230px minmax(0,1fr)}
.affiliate-sidebar,.affiliate-workspace,.affiliate-content,.affiliate-content>*{min-width:0}
.affiliate-sidebar{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.affiliate-workspace{width:100%;max-width:100%;overflow-x:clip}
.affiliate-content{box-sizing:border-box;max-width:1450px;width:calc(100% - 36px)}
.affiliate-card,.affiliate-panel,.service-card,.order-ticket,.table-card{min-width:0;max-width:100%}
img,svg,video,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
.affiliate-grid>*,.affiliate-kpis>*,.orders-admin-grid>*,.order-board>*,.table-admin-grid>*,.session-orders-grid>*,.printer-grid>*,.service-grid>*,.editor-grid>*,.fidelity-layout>*{min-width:0}
.menu-admin-list article>*{min-width:0}
.customer-row.modern>*,.request-row>*{min-width:0}

/* V2.3.4 · hard layout invariants. Geometry is CSS-only and stable from first paint. */
@media (min-width:681px){
  .affiliate-shell{display:grid!important;grid-template-columns:230px minmax(0,1fr)!important}
  .affiliate-sidebar{position:sticky!important;left:auto!important;transform:none!important;width:auto!important;max-width:none!important}
  .affiliate-workspace{grid-column:2;min-width:0!important;width:auto!important}
  .affiliate-menu{display:none!important}
}

/* Tablet: keep the real portal layout, but reduce the navigation footprint. */
@media (min-width:681px) and (max-width:1100px){
  .affiliate-shell{grid-template-columns:200px minmax(0,1fr)}
  .affiliate-sidebar{padding-left:10px;padding-right:10px}
  .affiliate-sidebar nav a{padding:10px 9px;gap:8px;font-size:11px}
  .affiliate-logo img{width:155px}
  .affiliate-content{width:calc(100% - 28px);padding-top:22px}
  .affiliate-topbar{padding-left:18px;padding-right:18px}
  .affiliate-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .affiliate-grid.two-wide,.affiliate-grid.three{grid-template-columns:1fr}
  .orders-admin-grid,.order-board,.table-admin-grid,.session-orders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fidelity-layout,.editor-grid,.smart-editor .editor-grid{grid-template-columns:1fr}
  .phone-preview{position:static}
}

/* Phone / narrow portrait only. The sidebar becomes a drawer at one single breakpoint. */
@media (max-width:680px){
  .affiliate-shell{display:block;width:100%}
  .affiliate-sidebar{position:fixed;left:0;top:0;width:min(86vw,280px);height:100dvh;z-index:1000;transform:translateX(-105%);transition:transform .2s ease;box-shadow:18px 0 45px rgba(15,23,42,.16)}
  .affiliate-menu-open .affiliate-sidebar{left:0;transform:translateX(0)}
  .affiliate-workspace{width:100%;min-width:0}
  .affiliate-menu{display:grid;place-items:center;flex:0 0 36px}
  .affiliate-topbar{width:100%;padding:0 10px}
  .affiliate-topbar>div:nth-child(2){min-width:0}
  .affiliate-topbar small,.affiliate-topbar b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .affiliate-content{width:calc(100% - 20px);max-width:none;padding:16px 0 38px}
  .affiliate-kpis,.affiliate-grid.two-wide,.affiliate-grid.three,.affiliate-process,.orders-admin-grid,.order-board,.table-admin-grid,.session-orders-grid,.printer-grid,.service-grid,.fidelity-layout,.editor-grid,.smart-editor .editor-grid,.kpi-row,.grid2{grid-template-columns:1fr!important}
  .client-hero,.affiliate-hero,.session-order-head,.section-title{align-items:flex-start;flex-direction:column}
  .menu-admin-list article{grid-template-columns:minmax(0,1fr) auto}
  .menu-admin-list article>*:first-child{grid-column:1/-1}
  .customer-row.modern{grid-template-columns:42px minmax(0,1fr)!important}
  .customer-balance{grid-column:2}
  .transaction-form,.text-link{grid-column:1/-1!important}
  .transaction-form{grid-template-columns:1fr!important}
  .request-row{grid-template-columns:1fr!important}
  .fidelity-search,.request-actions,.compact-form{flex-direction:column}
  .fidelity-search input{min-width:0;width:100%}
  .public-url-box{align-items:flex-start;flex-direction:column}
  .phone-preview{position:static;margin-top:12px}
  .phone{width:min(245px,100%)}
  .affiliate-hero h1,.affiliate-page-head h1{font-size:26px}
  .affiliate-device{grid-template-columns:38px minmax(0,1fr)}
  .affiliate-device .affiliate-status{grid-column:2;width:max-content}
  .affiliate-report-row{grid-template-columns:40px minmax(0,1fr)}
  .affiliate-report-row .affiliate-btn{grid-column:1/-1}
}
.affiliate-menu-overlay{display:none;border:0;padding:0;margin:0}
@media(max-width:680px){.affiliate-menu-open .affiliate-menu-overlay{display:block;position:fixed;inset:0;z-index:999;background:rgba(15,23,42,.28);width:100%;max-width:none;height:100%;cursor:pointer}}
/* V2.3.5 LISTINO DIGITALE */
.pl-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.pl-head>div:first-child{text-align:center;flex:1}.pl-head span,.pl-title span,.pl-section-head span{font-size:11px;font-weight:900;letter-spacing:.14em;color:#0b66e4}.pl-head h1{margin:5px 0 7px;font-size:32px}.pl-head p,.pl-title p,.pl-section-head p{margin:0;color:#6b7280}.pl-head-actions{display:flex;gap:8px;flex-wrap:wrap}.pl-btn{border:1px solid #dbe3ee;background:#fff;color:#172033;border-radius:11px;padding:11px 14px;font-weight:800;text-decoration:none;cursor:pointer}.pl-linkbox{display:flex;align-items:end;gap:12px;background:#eef5ff;border:1px solid #d7e8ff;border-radius:16px;padding:16px;margin-bottom:22px}.pl-linkbox>div{flex:1}.pl-linkbox small{display:block;font-weight:900;color:#49709e;margin-bottom:6px}.pl-linkbox input{width:100%;box-sizing:border-box;border:0;background:transparent;font-weight:700;color:#17375e}.pl-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.pl-editor-main{min-width:0}.pl-panel{margin-bottom:18px}.pl-title{text-align:center;margin-bottom:18px}.pl-title h2,.pl-section-head h2{margin:4px 0 5px}.pl-fields,.pl-item-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pl-fields label,.pl-item-form label{display:flex;flex-direction:column;gap:6px;font-weight:800}.pl-fields input,.pl-item-form input,.pl-item-form select,.pl-item-form textarea,.pl-add-section input{width:100%;box-sizing:border-box}.wide{grid-column:1/-1}.pl-theme-title{text-align:center;font-weight:900;margin:18px 0 10px}.pl-themes{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.pl-themes label input{position:absolute;opacity:0}.pl-themes span{display:block;border:1px solid #dfe5ee;border-radius:13px;padding:13px;text-align:center;cursor:pointer}.pl-themes small{display:block;color:#7b8493;margin-top:4px}.pl-themes input:checked+span{border:2px solid #0b66e4;background:#f2f7ff}.pl-color-row{display:flex;align-items:end;justify-content:center;gap:15px;margin-top:16px;flex-wrap:wrap}.pl-color-row label{display:flex;flex-direction:column;gap:5px;font-weight:800;text-align:center}.pl-color-row input[type=color]{width:72px;height:42px;padding:3px}.pl-add-section{display:grid;grid-template-columns:1fr 1.4fr auto;gap:10px}.pl-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left}.pl-mini-actions{display:flex;gap:5px;align-items:center}.pl-mini-actions form{display:flex;gap:4px;margin:0}.pl-mini-actions button{border:1px solid #dfe5ee;background:#fff;border-radius:8px;padding:7px 9px;cursor:pointer}.pl-admin-items{margin-top:15px;display:grid;gap:8px}.pl-admin-items article{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #e6eaf0;border-radius:13px;padding:9px}.pl-admin-items article.muted{opacity:.5}.pl-admin-items img,.pl-noimg{width:58px;height:58px;border-radius:10px;object-fit:cover}.pl-noimg{display:grid;place-items:center;background:#edf2f8;font-size:20px;font-weight:900}.pl-item-copy{min-width:0}.pl-item-copy>div{display:flex;gap:7px;align-items:center}.pl-item-copy em{font-size:10px;font-style:normal;background:#eaf2ff;color:#0b66e4;padding:3px 6px;border-radius:999px}.pl-item-copy small{display:block;color:#747d8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.pl-empty{text-align:center;color:#8a93a1;padding:15px}.pl-preview-wrap{position:sticky;top:18px;text-align:center}.pl-preview-label{font-size:11px;font-weight:900;letter-spacing:.15em;color:#778194;margin-bottom:9px}.pl-phone{width:320px;height:650px;margin:auto;border:9px solid #101827;border-radius:38px;overflow:hidden;background:#fff;box-shadow:0 18px 45px #14213d25}.pl-phone iframe{border:0;width:100%;height:100%;background:#fff}
@media(max-width:1100px){.pl-editor-grid{grid-template-columns:1fr}.pl-preview-wrap{position:static}.pl-phone{height:600px}.pl-themes{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.pl-head{display:block;text-align:center}.pl-head-actions{justify-content:center;margin-top:14px}.pl-linkbox{display:block;text-align:center}.pl-linkbox button{margin-top:10px}.pl-fields,.pl-item-form,.pl-add-section{grid-template-columns:1fr}.wide{grid-column:auto}.pl-themes{grid-template-columns:1fr 1fr}.pl-admin-items article{grid-template-columns:48px minmax(0,1fr) auto}.pl-admin-items img,.pl-noimg{width:48px;height:48px}.pl-admin-items .pl-mini-actions{grid-column:1/-1;justify-content:center}.pl-section-head{display:block;text-align:center}.pl-section-head .pl-mini-actions{justify-content:center;margin-top:10px}.pl-phone{width:min(310px,calc(100vw - 58px));height:580px}}
.pl-inline-edit{grid-column:1/-1;border-top:1px dashed #dfe5ee;padding-top:8px}.pl-inline-edit summary,.pl-section-edit summary{cursor:pointer;font-size:12px;font-weight:900;color:#0b66e4;text-align:center;list-style:none}.pl-inline-edit .pl-item-form{margin-top:12px;background:#f8fafc;border-radius:12px;padding:12px}.pl-section-edit{position:relative}.pl-section-edit>form{position:absolute;right:0;top:28px;z-index:5;width:260px;background:#fff;border:1px solid #dfe5ee;border-radius:12px;padding:10px;box-shadow:0 12px 30px #0002;display:grid;gap:7px}.pl-section-edit input{width:100%;box-sizing:border-box}
/* V2.3.6 - visual listino builder */
.pl-builder-block{margin-top:18px;padding:18px;border:1px solid #e4e9f1;border-radius:16px;background:#fbfcfe}.pl-builder-block>h3{text-align:center;margin:0 0 15px;font-size:15px}.pl-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pl-switch{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #e1e6ee;border-radius:12px;background:#fff;cursor:pointer}.pl-switch input{position:absolute;opacity:0;pointer-events:none}.pl-switch span{width:36px;height:21px;border-radius:99px;background:#cbd3df;position:relative;flex:none;transition:.18s}.pl-switch span:after{content:"";position:absolute;width:15px;height:15px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 1px 3px #0003}.pl-switch input:checked+span{background:#0b66e4}.pl-switch input:checked+span:after{transform:translateX(15px)}.pl-switch b{font-size:13px}.pl-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pl-media-grid label{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:13px}.pl-media-grid input,.pl-media-grid select,.pl-fields select{width:100%}.pl-media-grid input[type=range]{accent-color:#0b66e4}.pl-media-grid output{font-size:11px;color:#6b7280}.pl-savebar{position:sticky;bottom:12px;z-index:4;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #d8e5f7;border-radius:15px;background:#fff;box-shadow:0 12px 30px #17203318}.pl-savebar span{font-size:12px;color:#667085;font-weight:700}
@media(max-width:680px){.pl-switch-grid,.pl-media-grid{grid-template-columns:1fr}.pl-savebar{display:block;text-align:center}.pl-savebar button{width:100%;margin-top:9px}.pl-builder-block{padding:14px}}

/* V2.3.7 Visual Builder */
.pl-preview-modes{display:flex;justify-content:center;gap:6px;margin:0 auto 10px}.pl-preview-modes button{border:1px solid #dbe3ee;background:#fff;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900;cursor:pointer}.pl-preview-modes button.active{background:#101827;color:#fff;border-color:#101827}.pl-phone{transition:width .22s ease,height .22s ease,border-radius .22s ease}.pl-phone.desktop-preview{width:min(720px,calc(100vw - 80px));height:520px;border-radius:22px}.pl-editor-grid:has(.desktop-preview){grid-template-columns:1fr}.pl-editor-grid:has(.desktop-preview) .pl-preview-wrap{position:static}.pl-style-form select,.pl-style-form input[type=text],.pl-style-form input:not([type]),.pl-style-form input[type=color]{min-height:42px}.pl-builder-block{box-shadow:0 2px 12px #17203308}.pl-price-type{min-height:42px}.pl-section-edit summary,.pl-inline-edit summary{cursor:pointer;font-weight:800}.pl-admin-items strong{white-space:nowrap;color:#0b66e4}.pl-head,.pl-title{text-wrap:balance}@media(max-width:680px){.pl-preview-modes{display:none}.pl-phone.desktop-preview{width:min(310px,calc(100vw - 58px));height:580px;border-radius:38px}}

/* V2.3.7.1 — Visual Builder UX */
@media (min-width:1101px){
  .affiliate-workspace.pl-builder-workspace{overflow-x:visible}
  .pl-preview-wrap{position:sticky;top:86px;align-self:start;max-height:calc(100vh - 100px);z-index:12}
  .pl-preview-wrap .pl-phone{max-height:calc(100vh - 135px)}
  .pl-preview-wrap .pl-phone iframe{height:100%}
}
.pl-switch-locked{position:relative;cursor:not-allowed;opacity:.82}
.pl-switch-locked input{pointer-events:none}
.pl-switch-locked small{display:block;grid-column:1/-1;margin:4px 0 0 48px;color:#7b8493;font-size:10px;font-weight:600;line-height:1.35}


/* V2.3.7.2 — guaranteed desktop preview follower */
@media (min-width:1101px){
  .pl-preview-wrap.pl-preview-following{
    position:fixed!important;
    top:86px!important;
    left:var(--pl-follow-left)!important;
    width:var(--pl-follow-width)!important;
    z-index:24!important;
  }
}
.item-options{display:block;margin-top:4px;color:#64748b;font-weight:600}.availability{font-size:11px;font-weight:900;padding:5px 8px;border-radius:999px}.availability.ok{background:#dcfce7;color:#166534}.availability.soldout{background:#fee2e2;color:#991b1b}
/* V2.4.1 Pizzeria hotfix */
.live-history{margin-top:10px}.history-list{display:grid;gap:8px;margin-top:12px}.history-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.8fr) minmax(90px,.4fr);gap:14px;align-items:center;border:1px solid #e4eaf1;border-radius:11px;padding:11px 13px;background:#fff}.history-row>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.history-row>div:last-child{justify-content:flex-end}.history-row small{color:#78889b}.item-options{display:block;color:#69798b;margin-top:2px}.live-depts button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:650px){.history-row{grid-template-columns:1fr}.history-row>div:last-child{justify-content:flex-start}}
/* V2.4.2 restaurant operations */
.restaurant-settings{margin-bottom:14px}.restaurant-settings-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.restaurant-settings-form label{display:grid;gap:6px;font-size:11px;font-weight:800}.restaurant-settings-form input,.restaurant-settings-form select,.payment-form select{width:100%;box-sizing:border-box;border:1px solid #dce4ed;border-radius:9px;padding:10px;background:#fff}.register-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.register-kpis>div{background:#fff;border:1px solid #e4eaf1;border-radius:13px;padding:13px}.register-kpis small{display:block;color:#78889b;font-size:9px}.register-kpis b{font-size:20px}.payment-form{display:flex;gap:7px;align-items:center}.receipt-lines{display:grid;gap:8px}.receipt-order{border-top:1px solid #edf1f5;padding-top:10px}.receipt-order-head,.receipt-line{display:flex;justify-content:space-between;gap:15px;padding:5px 0}.receipt-line span{display:grid}.receipt-line small{color:#75869a}.cover-line{background:#f4f8fc;border-radius:9px;padding:9px}.kds-body{margin:0;background:#eef3f8;font-family:Arial,sans-serif;color:#10243b}.kds-login{width:min(420px,calc(100% - 32px));margin:8vh auto;background:#fff;padding:28px;border-radius:18px;box-shadow:0 20px 60px #10243b18}.kds-login img{max-width:220px}.kds-login form,.kds-login label{display:grid;gap:9px}.kds-login form{margin-top:20px}.kds-login input,.kds-login select,.kds-login button{padding:13px;border-radius:10px;border:1px solid #dce4ed}.kds-login button{background:#10243b;color:#fff;font-weight:800}.kds-top{position:sticky;top:0;z-index:20;background:#10243b;color:#fff;padding:12px 18px;display:flex;justify-content:space-between;align-items:center}.kds-top>div{display:flex;gap:12px;align-items:center}.kds-top small,.kds-top b{display:block}.kds-top button{border:1px solid #ffffff55;background:#ffffff12;color:#fff;border-radius:8px;padding:8px 12px}.kds-board{padding:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kds-board .live-ticket{background:#fff}.kds-board .urgent{box-shadow:0 0 0 3px #ef6a5b33}@media(max-width:1000px){.restaurant-settings-form,.register-kpis,.kds-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.restaurant-settings-form,.register-kpis,.kds-board{grid-template-columns:1fr}.kds-top{align-items:flex-start}.payment-form{align-items:stretch;flex-direction:column}}
/* V2.4.3 restaurant operations */
#affiliate-nav a{position:relative}.nav-drag{font-style:normal;font-size:13px;color:#a5b2c3;cursor:grab;opacity:.45;margin-left:-5px;user-select:none}#affiliate-nav a:hover .nav-drag{opacity:1}#affiliate-nav a.dragging{opacity:.45;background:#eaf3ff}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700}.settings-grid label small{font-weight:500;color:#778399;line-height:1.4}.settings-grid input,.settings-grid select{width:100%;padding:12px;border:1px solid #dce5ef;border-radius:10px;background:#fff}.settings-grid .setting-check{display:flex;flex-direction:row;align-items:center}.settings-grid .setting-check input{width:auto}@media(max-width:680px){.nav-drag{display:none}.settings-grid{grid-template-columns:1fr}}
/* V2.4.4 restaurant dashboard + KDS access */
.restaurant-dashboard{max-width:1360px;margin:20px auto 0}.restaurant-dashboard .rd-head{text-align:center;margin-bottom:18px}.restaurant-dashboard .rd-head h2{margin:4px 0 6px;font-size:clamp(24px,2.2vw,34px)}.restaurant-dashboard .rd-head p{margin:0;color:#64748b}.rd-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rd-kpi{background:#fff;border:1px solid #e6edf5;border-radius:18px;padding:18px;text-align:center;box-shadow:0 8px 26px rgba(15,23,42,.04)}.rd-kpi small{display:block;color:#64748b;font-weight:700}.rd-kpi strong{display:block;font-size:28px;margin:7px 0 3px;color:#0f172a}.rd-kpi span{font-size:12px;color:#94a3b8}.rd-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;margin-top:14px}.rd-card{background:#fff;border:1px solid #e6edf5;border-radius:18px;padding:20px;box-shadow:0 8px 26px rgba(15,23,42,.04)}.rd-card h3{margin:0 0 4px}.rd-card>p{margin:0 0 15px;color:#64748b;font-size:13px}.rd-ranking{display:grid;gap:9px}.rd-rank{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;background:#f8fafc;border-radius:12px;padding:10px 12px}.rd-rank i{font-style:normal;font-weight:800;color:#2563eb}.rd-rank b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-rank span{font-weight:800}.rd-peaks{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.rd-peak{text-align:center;background:#f8fafc;border-radius:12px;padding:10px 5px;min-width:0}.rd-peak b,.rd-peak span,.rd-peak small{display:block}.rd-peak b{font-size:11px}.rd-peak span{font-size:12px;font-weight:800;margin:5px 0}.rd-peak small{font-size:10px;color:#64748b}.kds-launch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.kds-launch{display:flex;flex-direction:column;gap:5px;text-decoration:none;border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:18px;color:#0f172a;text-align:center}.kds-launch:hover{border-color:#60a5fa;transform:translateY(-1px)}.kds-launch b{font-size:17px}.kds-launch small{color:#64748b}.affiliate-content{max-width:1440px;margin:0 auto;width:100%}
@media(max-width:900px){.rd-kpis{grid-template-columns:repeat(2,1fr)}.rd-grid{grid-template-columns:1fr}.rd-peaks{grid-template-columns:repeat(4,1fr)}.kds-launch-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.rd-kpis{grid-template-columns:1fr 1fr}.rd-kpi{padding:14px 8px}.rd-kpi strong{font-size:22px}.rd-peaks{grid-template-columns:repeat(2,1fr)}.kds-launch-grid{grid-template-columns:1fr}}

/* V2.4.4.1 - Sala Live / Gestionale Comande */
.live-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.live-kds-launch{white-space:nowrap;text-decoration:none}.affiliate-page-head.live-head{align-items:center}.affiliate-page-head.live-head .live-head-actions{margin-left:auto}@media(max-width:760px){.affiliate-page-head.live-head{align-items:flex-start}.live-head-actions{width:100%;justify-content:flex-start}.live-kds-launch{width:100%;text-align:center;box-sizing:border-box}}

/* V2.4.4.2 - Dashboard visual polish approved */
.restaurant-dashboard{margin-top:28px}.restaurant-dashboard .rd-grid{gap:24px;margin-top:24px}.restaurant-dashboard .rd-card{padding:24px;border-radius:20px}.rd-card-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}.rd-card-title h3{margin:0 0 4px}.rd-card-title p{margin:0;color:#64748b;font-size:13px}.rd-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:13px;background:#eef6ff;color:#1677ff;font-size:20px;font-weight:900}.rd-card-income{background:linear-gradient(135deg,#ffffff 0%,#f7fffb 100%)}.rd-card-income .rd-icon{background:#e8fbf2;color:#0a9b62}.rd-card-product{background:linear-gradient(135deg,#ffffff 0%,#fffaf4 100%)}.rd-card-product .rd-icon{background:#fff0dc;color:#e66b16}.rd-kpis-two{grid-template-columns:1fr 1fr!important;gap:14px}.rd-card .rd-kpi{min-height:102px;display:flex;flex-direction:column;justify-content:center}.rd-card-income .rd-kpi:first-child strong{color:#087a4b}.rd-product-kpi strong{font-size:24px!important}.rd-operational-kpis{margin-top:30px!important;gap:18px!important}.rd-operational-kpis article{min-height:98px;border-radius:18px!important;padding:18px!important;box-shadow:0 8px 24px rgba(15,23,42,.045)}.rd-operational-kpis article>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eef6ff;color:#1677ff;font-size:17px}.rd-operational-kpis article:nth-child(2)>span{background:#f3efff;color:#7256e8}.rd-operational-kpis article:nth-child(4)>span{background:#e9faf7;color:#0d9b8a}
@media(max-width:900px){.restaurant-dashboard .rd-grid{gap:18px;margin-top:18px}.rd-operational-kpis{margin-top:24px!important}}
@media(max-width:560px){.restaurant-dashboard{margin-top:22px}.restaurant-dashboard .rd-card{padding:17px}.rd-card-title{align-items:flex-start}.rd-kpis-two{grid-template-columns:1fr!important}.rd-operational-kpis{margin-top:22px!important;gap:12px!important}}

/* V2.4.4.3 — dashboard ristorazione premium, attivabile da Admin */
.rd-premium{margin-top:34px!important}.rd-premium .rd-head{margin-bottom:28px!important}.rd-head-line{display:block;width:54px;height:3px;border-radius:99px;background:#1677ff;margin:14px auto 0}.rd-kpis-premium{gap:16px!important}.rd-kpis-premium>.rd-kpi{display:flex;align-items:center;text-align:left;gap:15px;padding:20px!important;min-height:118px}.rd-kpi-icon{width:48px;height:48px;display:grid!important;place-items:center;flex:0 0 48px;border-radius:15px;background:#eef6ff;color:#1677ff!important;font-size:20px!important;font-weight:900}.rd-kpis-premium>.rd-kpi:nth-child(2) .rd-kpi-icon{background:#f3efff;color:#7256e8!important}.rd-kpis-premium>.rd-kpi:nth-child(3) .rd-kpi-icon{background:#e9faf0;color:#11945b!important}.rd-kpis-premium>.rd-kpi:nth-child(4) .rd-kpi-icon{background:#fff4e5;color:#e58a12!important}.rd-kpis-premium .rd-kpi strong{font-size:30px;margin:5px 0 2px}.rd-main-grid{grid-template-columns:1.1fr .9fr!important;margin-top:22px!important}.rd-finance-grid{margin-top:22px!important}.rd-rank-premium{grid-template-columns:30px 38px minmax(0,1fr) auto!important;background:transparent!important;border-bottom:1px solid #edf2f7;border-radius:0!important;padding:11px 4px!important}.rd-rank-premium:last-child{border-bottom:0}.rd-food-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#f1f6ff;color:#2563eb;font-weight:900}.rd-rank-product{min-width:0}.rd-rank-product b{display:block;margin-bottom:7px}.rd-progress{height:6px;background:#edf2f7;border-radius:99px;overflow:hidden}.rd-progress>span{display:block;height:100%;background:linear-gradient(90deg,#1677ff,#60a5fa);border-radius:99px}.rd-rank-premium>strong{font-size:12px;color:#475569;white-space:nowrap}.rd-peaks-chart{align-items:stretch}.rd-peaks-chart .rd-peak{display:flex;flex-direction:column;min-height:176px;padding:12px 5px;background:#f8fafc;border:1px solid transparent}.rd-peaks-chart .rd-peak.is-peak{background:#f2f7ff;border-color:#dbeafe}.rd-peak-track{height:84px;display:flex;align-items:flex-end;justify-content:center;margin:7px 0}.rd-peak-track i{display:block;width:28px;max-height:80px;border-radius:7px 7px 3px 3px;background:#e2e8f0}.rd-peak.is-peak .rd-peak-track i{background:linear-gradient(180deg,#1677ff,#60a5fa)}
@media(max-width:900px){.rd-main-grid{grid-template-columns:1fr!important}.rd-kpis-premium>.rd-kpi{min-height:105px}.rd-peaks-chart .rd-peak{min-height:158px}}
@media(max-width:560px){.rd-kpis-premium{grid-template-columns:1fr!important}.rd-kpis-premium>.rd-kpi{min-height:0}.rd-main-grid,.rd-finance-grid{margin-top:16px!important}.rd-rank-premium{grid-template-columns:26px 34px minmax(0,1fr)!important}.rd-rank-premium>strong{grid-column:3;margin-top:3px}.rd-peaks-chart{grid-template-columns:repeat(2,1fr)!important}.rd-peaks-chart .rd-peak{min-height:145px}}
/* V2.4.4.4 menu builder + stable sidebar */
.menu-visual-builder{display:grid;gap:16px}.menu-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.menu-style-grid label,.menu-media-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800}.menu-style-grid input,.menu-style-grid select,.menu-media-grid input{width:100%}.menu-color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.menu-color-grid label{text-align:center;font-size:10px;font-weight:800}.menu-color-grid input{display:block;width:100%;height:42px;margin-top:6px}.menu-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-media-grid .menu-check{display:flex;flex-direction:row;align-items:center}.menu-media-grid .menu-check input{width:auto}.category-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.category-actions form{display:flex;gap:6px;align-items:center}.category-actions select{max-width:180px}
@media(max-width:680px){.menu-style-grid,.menu-media-grid{grid-template-columns:1fr}.menu-color-grid{grid-template-columns:repeat(2,1fr)}.category-actions form{width:100%;flex-direction:column;align-items:stretch}.category-actions select{max-width:none}}

/* V2.5.1 local polish */
.smart-insights-premium{background:linear-gradient(145deg,#fff,#f8fbff);overflow:hidden}.smart-insights-premium .smart-insights-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.smart-insights-premium .smart-insight{display:flex;gap:12px;padding:18px;border:1px solid #e4edf8;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04)}.smart-insight-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef6ff;flex:0 0 38px}.smart-insight-copy small{display:block;color:#64748b;font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:.04em}.smart-insight-copy strong{display:block;font-size:20px;line-height:1.15;margin:7px 0;color:#0f172a}.smart-insight-copy b{display:block;color:#1677ff;font-size:12px}.smart-insight-copy p{margin:5px 0 0;color:#64748b;font-size:11px}.smart-weekly-note{display:flex;gap:12px;margin-top:15px;padding:14px 16px;border-radius:15px;background:#f2f7ff;border:1px solid #dbeafe}.smart-weekly-note p{margin:3px 0 0;color:#64748b;font-size:12px}.upsell-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.upsell-tip{display:flex;gap:8px;max-width:390px;padding:13px 16px;background:#f2f7ff;border:1px solid #dbeafe;border-radius:15px}.upsell-tip small{display:block;color:#64748b;margin-top:3px}.upsell-create-card,.upsell-configured{margin-top:18px;border:1px solid #e5edf7;border-radius:18px;background:#fff;padding:18px}.upsell-create-card h3,.upsell-configured h3{margin:0 0 14px}.upsell-form{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.15fr auto;gap:12px;align-items:end}.upsell-form label{display:grid;gap:6px}.upsell-form label>span{font-size:11px;font-weight:900;color:#334155}.upsell-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.upsell-list-head h3{margin:0}.upsell-list-head p{margin:3px 0 0;color:#64748b;font-size:12px}.upsell-list-head>span{padding:6px 10px;background:#eef6ff;border-radius:999px;color:#1677ff;font-weight:800;font-size:11px}.upsell-rule{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #edf2f7}.upsell-rule:last-child{border-bottom:0}.upsell-rule-main{display:flex;align-items:center;gap:12px;min-width:0}.upsell-rule-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef6ff;color:#1677ff}.upsell-rule small{display:block;color:#64748b;margin-top:3px}.upsell-rule-actions{display:flex;gap:8px}.upsell-rule-actions form{margin:0}.rule-toggle{border:1px solid #dbe5f0;background:#f8fbff;border-radius:10px;padding:8px 12px;font-weight:800}.pv-demo-label{font-size:8px;color:#94a3b8;text-align:center;margin:8px 0}.pv-product-image{width:100%;max-height:130px;border-radius:10px;display:block;background:#eef2f6}.pv-item.pv-layout-top{flex-wrap:wrap}.pv-item.pv-layout-top .pv-product-image{flex:0 0 100%}.pv-item.pv-layout-left .pv-product-image,.pv-item.pv-layout-right .pv-product-image{width:74px;height:74px!important;flex:0 0 74px}.pv-item.pv-layout-right .pv-product-image{order:3}.pv-item-copy{flex:1;min-width:0}.drawer-order{padding:5px 0 10px;border-bottom:1px solid #e5e7eb}.drawer-order-items{padding:4px 0 0 12px}.drawer-order-item{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:12px}.drawer-order-item small{display:block;color:#64748b;margin-top:2px}.internal-link-note{padding:10px 12px;background:#f6f9fd;border:1px solid #e4edf8;border-radius:9px;color:#64748b;font-size:11px}@media(max-width:1100px){.smart-insights-premium .smart-insights-grid{grid-template-columns:repeat(2,1fr)}.upsell-form{grid-template-columns:repeat(2,1fr)}.upsell-form button{grid-column:1/-1}}@media(max-width:680px){.smart-insights-premium .smart-insights-grid{grid-template-columns:1fr}.upsell-hero{display:block}.upsell-tip{margin-top:12px}.upsell-form{grid-template-columns:1fr}.upsell-rule{align-items:flex-start;flex-direction:column}.upsell-rule-actions{width:100%}}
/* V2.5.2 UX polish */
.danger-action{display:inline-flex!important;align-items:center;gap:6px;border:1px solid #fecaca!important;background:#fff5f5!important;color:#dc2626!important;border-radius:10px!important;padding:8px 11px!important;font-weight:800!important;cursor:pointer;transition:.16s}.danger-action:hover{background:#fee2e2!important;border-color:#fca5a5!important;transform:translateY(-1px)}
.upsell-tip{align-items:flex-start;min-width:360px;background:linear-gradient(135deg,#f8fbff,#eef6ff);padding:16px 18px}.upsell-tip-icon{width:38px;height:38px;border-radius:12px;background:#fff;display:grid;place-items:center;box-shadow:0 5px 16px #1d4ed812;flex:0 0 38px}.upsell-tip b{display:block;font-size:14px;color:#0f172a;margin:2px 0 4px}.upsell-tip p{margin:0;color:#64748b;font-size:11px;line-height:1.45}.smart-tip-label{font-size:8px!important;font-weight:900;color:#1677ff!important;letter-spacing:.12em;margin:0!important}.upsell-card-title{display:flex;gap:11px;align-items:center;margin-bottom:14px}.upsell-card-title>span{width:38px;height:38px;border-radius:12px;background:#168cff;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}.upsell-card-title h3{margin:0}.upsell-card-title p{margin:2px 0 0;color:#64748b;font-size:11px}.upsell-form{grid-template-columns:1.3fr 1.15fr 1.2fr auto}.upsell-message{min-width:210px}.upsell-form optgroup{font-weight:900;color:#475569}.upsell-form option{font-weight:500;color:#0f172a}.landing-actions-panel{border:1px solid #e3eaf3;border-radius:18px;background:#f8fbff;padding:8px 14px;margin:8px 0 18px}.landing-actions-head{padding:12px 4px 8px}.landing-actions-head h2{margin:3px 0}.landing-actions-head p{margin:0;color:#64748b;font-size:12px}.landing-action-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:13px 10px;border-top:1px solid #e7edf5}.landing-action-main{display:flex;align-items:center;gap:11px}.landing-action-main>i{font-style:normal;width:34px;height:34px;border-radius:11px;background:#eaf3ff;color:#1768df;display:grid;place-items:center;font-weight:900}.landing-action-main b,.landing-action-main small{display:block}.landing-action-main small{margin-top:2px;color:#64748b;font-weight:400;font-size:10px}.landing-action-url{grid-column:1/-1!important;margin:0 0 2px 45px!important;width:calc(100% - 45px)!important}.client-toggle{margin:0!important}.client-toggle input{position:absolute;opacity:0;width:0!important}.client-toggle>span{display:block;width:40px;height:23px;padding:3px;border-radius:999px;background:#cbd5e1;box-sizing:border-box;transition:.18s}.client-toggle>span:after{content:'';display:block;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #47556955;transition:.18s}.client-toggle input:checked+span{background:#168cff}.client-toggle input:checked+span:after{transform:translateX(17px)}.landing-fidelity-group{border-top:1px solid #e7edf5;padding:13px 10px}.fidelity-subrow{display:flex;justify-content:space-between;align-items:center;margin:8px 0 0 45px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #e7edf5;font-size:12px;font-weight:800}
@media(max-width:680px){.upsell-tip{min-width:0}.upsell-form{grid-template-columns:1fr}.landing-action-url{margin-left:0!important;width:100%!important}.fidelity-subrow{margin-left:0}}
@media(min-width:1101px){.smart-insights-premium .smart-insights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* V2.5.4 readability */
.live-items .ticket-category{display:block!important;margin:11px 0 4px;padding:5px 7px!important;border:0!important;border-radius:7px;background:#f1f5f9;color:#475569;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.live-items .ticket-category:first-child{margin-top:2px}.live-items .ticket-category span{display:block!important}.history-row .ticket-category{font-size:9px;font-weight:900;color:#64748b}
.smart-insights-premium .smart-insights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1000px){.smart-insights-premium .smart-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.smart-insights-premium .smart-insights-grid{grid-template-columns:1fr}}
/* V2.5.4 Menu editor redesign */
.menu-designer-v254{overflow:visible}.menu-preset-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.menu-preset input{position:absolute;opacity:0}.menu-preset span{display:block;padding:13px;border:1px solid #dfe7f1;border-radius:14px;background:#fff;cursor:pointer}.menu-preset b,.menu-preset small{display:block}.menu-preset small{color:#64748b;margin-top:3px}.menu-preset input:checked+span{border-color:#168cff;box-shadow:0 0 0 2px #168cff18;background:#f7fbff}.designer-section{border:1px solid #e4ebf3;border-radius:14px;background:#fff;margin:9px 0;overflow:hidden}.designer-section>summary{list-style:none;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px 14px;cursor:pointer}.designer-section>summary::-webkit-details-marker{display:none}.designer-section>summary>span{width:32px;height:32px;border-radius:10px;background:#eef6ff;display:grid;place-items:center}.designer-section summary b,.designer-section summary small{display:block}.designer-section summary small{font-size:10px;color:#64748b;margin-top:2px}.designer-section summary i{font-style:normal;color:#94a3b8}.designer-section[open] summary i{transform:rotate(180deg)}.designer-body{border-top:1px solid #edf2f7;padding:14px}.designer-body>label{display:grid;gap:6px}.menu-color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.menu-color-grid label{font-size:10px;font-weight:800}.menu-color-grid input[type=color]{width:100%;height:36px;padding:3px;border:1px solid #dfe7f1;border-radius:9px;background:#fff}.menu-media-grid.compact{grid-template-columns:repeat(2,1fr);margin-top:12px}.toggle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.smart-toggle{display:flex!important;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e5ebf2;border-radius:11px;background:#f9fbfd;cursor:pointer}.smart-toggle input{position:absolute;opacity:0}.smart-toggle>span{width:38px;height:22px;border-radius:999px;background:#cbd5e1;padding:3px;box-sizing:border-box;flex:0 0 38px}.smart-toggle>span:after{content:'';display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 1px 3px #47556944}.smart-toggle input:checked+span{background:#168cff}.smart-toggle input:checked+span:after{transform:translateX(16px)}.smart-toggle b{font-size:11px}.smart-toggle b small{display:block;font-weight:500;color:#64748b;margin-top:2px}.feature-toggle{padding:12px}.range-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.range-row{display:grid!important;gap:7px}.range-row>span{display:flex;justify-content:space-between;font-size:11px;font-weight:800}.range-row output{color:#168cff}.range-row input{width:100%}.designer-savebar{position:sticky;bottom:8px;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border:1px solid #dfe7f1;border-radius:14px;background:#fffffff2;backdrop-filter:blur(10px);box-shadow:0 10px 28px #0f172a12}.designer-savebar span{font-size:11px;color:#64748b}.designer-savebar button{width:auto!important;margin:0!important}.preview-title>div b,.preview-title>div small{display:block}.preview-title>span{font-size:11px;padding:6px 9px;border-radius:999px;background:#eef6ff}.pv-quick-nav{display:flex;gap:5px;overflow:hidden;margin:7px 0 12px}.pv-quick-nav span{flex:0 0 auto;padding:5px 7px;border:1px solid #dfe7f1;border-radius:999px;background:#fff;font-size:7px;font-weight:900;color:var(--pa)}
/* compact category/product administration */
.menu-categories-sortable{display:grid;gap:14px}.sortable-category{border:1px solid #e1e8f0!important;border-radius:17px!important;background:#fff!important;padding:0!important;overflow:hidden}.category-head{padding:13px 15px!important;background:#f8fbff;border-bottom:1px solid #edf2f7}.menu-admin-list{display:grid!important;gap:0!important}.menu-admin-list article.sortable-item{display:grid!important;grid-template-columns:24px minmax(220px,1fr) 90px minmax(150px,auto) auto auto auto!important;align-items:center!important;gap:10px!important;min-height:66px!important;padding:10px 15px!important;margin:0!important;border:0!important;border-bottom:1px solid #edf2f7!important;background:#fff!important}.menu-admin-list article.sortable-item:last-child{border-bottom:0!important}.menu-admin-list article.sortable-item>div:nth-of-type(1) b,.menu-admin-list article.sortable-item>div:nth-of-type(1) small{display:block}.menu-admin-list article.sortable-item>div:nth-of-type(1) small{color:#64748b;margin-top:2px}.menu-admin-list .availability{width:max-content!important;min-width:0!important;padding:5px 8px!important;border-radius:999px!important}.menu-admin-list .product-image-editor{min-width:0!important}.menu-admin-list .product-image-editor summary{white-space:nowrap;font-size:11px}.menu-admin-list form{margin:0!important}.menu-admin-list button{white-space:nowrap}.drag-handle{font-size:15px}.category-actions{display:flex;align-items:center;gap:8px}.category-actions form{display:flex;gap:7px;align-items:center}
@media(max-width:1100px){.menu-preset-row{grid-template-columns:repeat(2,1fr)}.menu-admin-list article.sortable-item{grid-template-columns:24px 1fr auto!important}.menu-admin-list article.sortable-item>*:nth-child(n+4){grid-column:2/-1}.menu-color-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.menu-preset-row,.range-grid,.toggle-grid,.menu-media-grid.compact{grid-template-columns:1fr}.menu-color-grid{grid-template-columns:repeat(2,1fr)}.designer-savebar{bottom:4px}}
.history-category{display:block;margin:7px 0 2px;color:#64748b;font-size:9px;letter-spacing:.07em;text-transform:uppercase}

/* ======================================================================
   SMART NFC SOLUTIONS — DESKTOP CONSOLIDATION 2.6.0
   Single final desktop geometry layer. Targets notebook/desktop viewports.
   ====================================================================== */
@media (min-width:681px){
  html,body{max-width:100%;overflow-x:hidden}
  .affiliate-shell{display:grid!important;grid-template-columns:clamp(205px,16vw,230px) minmax(0,1fr)!important;width:100%!important;max-width:100vw!important;min-height:100vh}
  .affiliate-sidebar{width:auto!important;min-width:0!important;max-width:none!important;overflow-y:auto;overflow-x:hidden}
  .affiliate-workspace{width:auto!important;min-width:0!important;max-width:100%!important;overflow-x:hidden}
  .affiliate-topbar{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  .affiliate-content{width:min(calc(100% - 32px),1440px)!important;max-width:1440px!important;min-width:0!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
  .affiliate-content>*{min-width:0;max-width:100%}
  .affiliate-grid,.affiliate-kpis,.orders-admin-grid,.order-board,.table-admin-grid,.session-orders-grid,.printer-grid,.service-grid,.smart-insights-grid,.grid2{min-width:0;max-width:100%}
  .affiliate-card,.client-card,.pl-panel,.designer-section,.smart-insight-card,.order-card,.table-card{min-width:0;max-width:100%;box-sizing:border-box}
  img,video,canvas,svg,iframe{max-width:100%}
  input,select,textarea,button{max-width:100%;box-sizing:border-box}
  table{max-width:100%}
  .table-responsive,.affiliate-table-wrap,.orders-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .upsell-tip{min-width:0!important;max-width:100%}
  .upsell-form{grid-template-columns:minmax(170px,1.15fr) minmax(170px,1fr) minmax(190px,1.2fr) auto!important}
  .upsell-message{min-width:0!important}
  .pl-editor-grid{grid-template-columns:minmax(0,1fr) minmax(280px,320px)!important}
  .pl-phone{width:min(320px,100%)!important}
  .menu-admin-list article.sortable-item{grid-template-columns:24px minmax(170px,1fr) minmax(72px,90px) minmax(120px,auto) auto auto auto!important}
  .category-actions,.pl-mini-actions,.pl-head-actions,.request-actions{flex-wrap:wrap}
  .landing-action-url{min-width:0!important}
}
@media (min-width:681px) and (max-width:1279px){
  .affiliate-shell{grid-template-columns:200px minmax(0,1fr)!important}
  .affiliate-content{width:calc(100% - 24px)!important}
  .affiliate-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .affiliate-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .affiliate-grid.two-wide{grid-template-columns:1fr!important}
  .orders-admin-grid,.order-board,.table-admin-grid,.session-orders-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pl-editor-grid{grid-template-columns:1fr!important}
  .pl-preview-wrap{position:static!important}
  .menu-admin-list article.sortable-item{grid-template-columns:24px minmax(0,1fr) auto!important}
  .menu-admin-list article.sortable-item>*:nth-child(n+4){grid-column:2/-1}
  .upsell-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (min-width:1280px) and (max-width:1439px){
  .affiliate-content{width:calc(100% - 28px)!important}
  .affiliate-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .smart-insights-premium .smart-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (min-width:1440px){
  .affiliate-content{width:min(calc(100% - 40px),1440px)!important}
  .affiliate-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (min-width:1920px){
  .affiliate-content{max-width:1520px!important;width:min(calc(100% - 56px),1520px)!important}
}

/* V2.6.2 - Account security / Supporto */
.account-security-card{margin-top:18px}.account-security-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.account-security-head h2{margin:4px 0 5px}.account-security-head p{margin:0;color:var(--muted);font-size:11px}.account-security-icon{width:42px;height:42px;border-radius:12px;background:#eef6ff;display:grid;place-items:center;font-size:18px;flex:0 0 42px}.account-security-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:start}.account-security-form>label{min-width:0;font-size:10px;font-weight:800;color:#243246}.account-security-form label small{display:block;margin-top:5px;color:var(--muted);font-size:8px;font-weight:600}.password-field{display:flex;align-items:stretch;margin-top:6px;min-width:0}.password-field input{width:100%;min-width:0;border:1px solid #dce4ee;border-right:0;border-radius:10px 0 0 10px;padding:11px 12px;background:#f7f9fc;font:inherit;box-sizing:border-box}.password-field input:focus{outline:none;border-color:#9bcaff;box-shadow:0 0 0 4px rgba(22,135,255,.08)}.password-toggle{width:42px;flex:0 0 42px;border:1px solid #dce4ee;border-left:0;border-radius:0 10px 10px 0;background:#f7f9fc;cursor:pointer}.account-security-action{padding-top:22px;white-space:nowrap}@media(max-width:1450px){.account-security-form{grid-template-columns:repeat(3,minmax(0,1fr))}.account-security-action{grid-column:1/-1;padding-top:0}}@media(max-width:1100px){.account-security-form{grid-template-columns:repeat(2,minmax(0,1fr))}.account-security-form>label:nth-child(3){grid-column:1/-1}}@media(max-width:760px){.account-security-form{grid-template-columns:1fr}.account-security-form>label:nth-child(3),.account-security-action{grid-column:auto}}

/* ============================================================
   V2.6.3 — DESKTOP FIXED CLIENT SIDEBAR
   Sidebar always anchored to the viewport on desktop; the client
   workspace owns the remaining width and never leaves a dead rail.
   ============================================================ */
@media (min-width:681px){
  :root{--affiliate-sidebar-w:clamp(205px,16vw,230px)}
  .affiliate-shell{
    display:block!important;
    width:100%!important;
    max-width:100vw!important;
    min-height:100vh!important;
  }
  .affiliate-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    z-index:900!important;
    width:var(--affiliate-sidebar-w)!important;
    height:100vh!important;
    height:100dvh!important;
    box-sizing:border-box!important;
    transform:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#fff!important;
  }
  .affiliate-workspace{
    margin-left:var(--affiliate-sidebar-w)!important;
    width:calc(100% - var(--affiliate-sidebar-w))!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  .affiliate-content{
    width:calc(100% - 32px)!important;
    max-width:1520px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .affiliate-side-bottom{margin-top:auto}
}
@media (min-width:681px) and (max-width:1279px){
  :root{--affiliate-sidebar-w:200px}
  .affiliate-content{width:calc(100% - 24px)!important}
}
@media (min-width:1920px){
  .affiliate-content{width:calc(100% - 48px)!important;max-width:1600px!important}
}
