*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f4f6f8;color:#17202a}a{color:#185abc;text-decoration:none}nav{display:flex;justify-content:space-between;gap:20px;padding:18px 5%;background:#fff;border-bottom:1px solid #e5e7eb}.container{max-width:1100px;margin:40px auto;padding:0 20px}.narrow{max-width:620px}.hero{min-height:80vh;display:grid;place-items:center}.card,.coupon-card,.stat{background:#fff;border-radius:18px;padding:28px;box-shadow:0 8px 30px rgba(20,30,40,.08)}.center{text-align:center}.muted{color:#68737d}.actions,.topbar,.print-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn{display:inline-block;border:0;border-radius:10px;background:#185abc;color:#fff;padding:12px 18px;font-weight:700;cursor:pointer}.btn.secondary{background:#6b7280}.btn.small{padding:7px 10px;font-size:12px}.alert{padding:12px 14px;border-radius:10px;margin:15px 0}.alert.error{background:#fee2e2;color:#991b1b}.alert.success{background:#dcfce7;color:#166534}form{display:grid;gap:15px}label{display:grid;gap:7px;font-weight:600}input,select{width:100%;padding:12px;border:1px solid #ccd2d8;border-radius:10px;font:inherit}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:25px 0}.coupon-card{border-top:5px solid #185abc}.coupon-discount{font-size:38px;font-weight:800}.code,.voucher-code{font-family:monospace;letter-spacing:2px;background:#eef3f8;padding:12px;border-radius:8px;text-align:center;font-weight:800}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.stat b{display:block;font-size:34px}.stat span{color:#68737d}.table-wrap{overflow:auto;background:#fff;border-radius:15px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid #e5e7eb}.voucher{margin:25px auto;background:#fff;border:3px dashed #185abc;border-radius:20px;padding:45px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.08)}.voucher-label{font-weight:800;letter-spacing:4px}.big-discount{font-size:72px;font-weight:900;margin:25px 0}.voucher-code{font-size:24px;margin:20px 0}@media print{body{background:#fff}.print-actions{display:none}.container{margin:0}.voucher{box-shadow:none}.voucher-code{border:1px solid #ccc}}
textarea{resize:vertical}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.logo-preview{max-width:220px;max-height:90px;object-fit:contain;border:1px solid #ddd;border-radius:10px;padding:8px}.voucher-pro{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 15px 50px rgba(0,0,0,.12);border:1px solid #e5e7eb}.voucher-head{padding:28px 34px;background:linear-gradient(110deg,var(--secondary),#fff)}.brand{display:flex;align-items:center;gap:16px}.brand img{max-width:210px;max-height:75px;object-fit:contain}.brand strong{font-size:24px;display:block;color:var(--primary)}.brand small{display:block;margin-top:5px;color:#58646e}.voucher-main{display:grid;grid-template-columns:42% 58%;min-height:390px}.discount-panel{background:var(--primary);color:#fff;padding:55px 40px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:14px;font-weight:800;letter-spacing:4px}.big-discount{font-size:90px;line-height:1;font-weight:900;margin:25px 0}.discount-caption{font-weight:700;letter-spacing:2px}.voucher-info{padding:45px 42px}.voucher-info h1{font-size:40px;margin:12px 0 18px;color:#18242a}.description{font-size:17px;line-height:1.6;color:#43515a;white-space:normal}.coupon-image{width:100%;max-height:150px;object-fit:cover;border-radius:14px;margin:10px 0}.code-box{margin-top:20px;border:2px solid var(--primary);border-radius:12px;padding:14px 18px}.code-box span{display:block;font-size:13px;color:#68737d}.code-box strong{display:block;font:800 25px monospace;letter-spacing:3px;color:var(--primary);margin-top:5px}.voucher-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e5e7eb;background:#fafbf9}.voucher-meta>div{padding:18px;border-right:1px solid #e5e7eb}.voucher-meta b,.voucher-meta span{display:block}.voucher-meta span{margin-top:5px}.voucher-pro footer{padding:20px 28px;display:flex;justify-content:space-between;gap:15px;color:#56636b;font-size:13px}@media(max-width:750px){.voucher-main{grid-template-columns:1fr}.discount-panel{min-height:260px}.big-discount{font-size:68px}.voucher-meta{grid-template-columns:1fr 1fr}.voucher-info{padding:30px 25px}.voucher-head{padding:22px}.voucher-pro footer{flex-direction:column}.color-grid{grid-template-columns:1fr}}@media print{body{background:#fff}.print-actions{display:none}.container{max-width:none;margin:0;padding:0}.voucher-pro{box-shadow:none;border:0}.voucher-main{min-height:360px}}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}fieldset{border:1px solid #d8dde2;border-radius:12px;padding:15px}legend{font-weight:700;padding:0 6px}.radio{display:flex;grid-template-columns:none;display:inline-flex;align-items:center;gap:7px;margin:6px 18px 6px 0;font-weight:500}.radio input{width:auto}.privacy-text{line-height:1.5}.small-text{font-size:13px}.request-card{max-width:680px}.request-brand{text-align:center;margin-bottom:30px}.request-brand img{max-width:290px;max-height:120px;object-fit:contain}.request-brand h1{margin:12px 0 4px;color:#9b1c14}@media(max-width:650px){.two-col{grid-template-columns:1fr}}

.recipient-box{margin:20px 0;padding:16px 18px;background:var(--secondary);border-left:5px solid var(--primary);border-radius:10px}.recipient-box span{display:block;font-size:14px;font-weight:700;color:#394650}.recipient-box strong{display:block;font-size:25px;line-height:1.2;margin-top:7px;color:var(--primary);word-break:break-word}

.voucher-head{padding:30px 40px}.brand img{max-width:250px;max-height:95px}.brand strong{font-size:28px}.brand small{font-size:15px}.recipient-box{background:linear-gradient(135deg,var(--secondary),#fff);border-left-width:6px;box-shadow:0 4px 14px rgba(0,0,0,.04)}.recipient-box span{font-size:15px}.recipient-box strong{font-size:28px}.voucher-note{text-align:center;padding:11px 18px;background:#fbfaf7;color:#66717a;font-size:13px;border-top:1px dashed #d9dde1;border-bottom:1px dashed #d9dde1}.voucher-pro footer{padding:22px 32px;font-size:14px}

.voucher-head{min-height:118px;display:flex;align-items:center}.brand{align-items:center}.brand img{max-width:275px;max-height:105px}.brand strong{color:var(--primary);font-size:30px}.brand small{font-size:15px}

.request-card{overflow:visible}.request-brand{padding-top:8px}.request-brand img{display:block;margin:0 auto 10px;max-width:320px;max-height:150px;width:auto;height:auto}.request-brand h1{margin-top:6px;font-size:34px}.request-brand .muted{font-size:17px}

/* =========================================================
   ADMIN UI — restyling grafico, nessuna modifica alla logica
   ========================================================= */
body.admin-ui{background:linear-gradient(180deg,#f5f7fa 0%,#eef2f5 100%);color:#17202a}
body.admin-ui .admin-nav{position:sticky;top:0;z-index:1000;padding:0 24px;background:rgba(255,255,255,.96);border-bottom:1px solid #e2e8f0;box-shadow:0 4px 18px rgba(20,30,40,.06);backdrop-filter:blur(10px)}
body.admin-ui .admin-nav-inner{max-width:1180px;min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
body.admin-ui .admin-brand{display:flex;align-items:center;gap:11px;color:#17202a;text-decoration:none;white-space:nowrap}
body.admin-ui .admin-brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#a91414,#d92a1e);color:#fff;font-size:13px;font-weight:900;letter-spacing:.5px;box-shadow:0 6px 14px rgba(169,20,20,.22)}
body.admin-ui .admin-brand strong{display:block;font-size:15px;line-height:1.1}
body.admin-ui .admin-brand small{display:block;margin-top:3px;color:#718096;font-size:11px;font-weight:600}
body.admin-ui .admin-links{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
body.admin-ui .admin-links a{position:relative;padding:10px 12px;border-radius:10px;color:#4b5563;font-size:13px;font-weight:700;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}
body.admin-ui .admin-links a:hover{background:#f1f5f9;color:#a91414;transform:translateY(-1px)}
body.admin-ui .admin-links a[href="dashboard.php"]{color:#a91414}
body.admin-ui .admin-links .admin-logout{margin-left:5px;border:1px solid #e2e8f0;background:#fff;color:#64748b}
body.admin-ui .admin-links .admin-logout:hover{background:#fef2f2;border-color:#fecaca;color:#991b1b}
body.admin-ui .container{max-width:1180px;margin:32px auto;padding:0 22px}
body.admin-ui .topbar{margin-bottom:24px}
body.admin-ui .topbar h1{margin:0 0 7px;font-size:30px;letter-spacing:-.4px;color:#18242a}
body.admin-ui h1,body.admin-ui h2,body.admin-ui h3{color:#18242a}
body.admin-ui h2{font-size:20px;margin:0}
body.admin-ui .card,body.admin-ui .stat{border:1px solid #e5eaf0;border-radius:16px;box-shadow:0 8px 26px rgba(20,30,40,.055);transition:box-shadow .18s ease,transform .18s ease}
body.admin-ui .card{padding:24px}
body.admin-ui .stat{padding:20px}
body.admin-ui .stat:hover,body.admin-ui .quick:hover,body.admin-ui .attention-item:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,30,40,.09)}
body.admin-ui .stat b{font-size:30px;color:#18242a}
body.admin-ui .stat span{font-weight:700;color:#5f6b76}
body.admin-ui .btn{border-radius:10px;background:linear-gradient(135deg,#b21a17,#8f0f0f);box-shadow:0 5px 14px rgba(143,15,15,.18)}
body.admin-ui .btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
body.admin-ui .quick{border-color:#e5eaf0;min-height:112px}
body.admin-ui .quick strong{color:#27323a}
body.admin-ui .attention-item{background:#fff}
body.admin-ui .attention-item b{color:#18242a}
body.admin-ui .table-wrap{border:1px solid #e5eaf0;box-shadow:0 6px 20px rgba(20,30,40,.04)}
body.admin-ui table th{background:#f8fafc;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.35px;white-space:nowrap}
body.admin-ui table td{color:#34404a}
body.admin-ui table tbody tr:hover{background:#fafbfc}
body.admin-ui input,body.admin-ui select,body.admin-ui textarea{border-color:#d7dee6;background:#fff;border-radius:10px;transition:border-color .15s,box-shadow .15s}
body.admin-ui input:focus,body.admin-ui select:focus,body.admin-ui textarea:focus{outline:none;border-color:#b21a17;box-shadow:0 0 0 3px rgba(178,26,23,.10)}
body.admin-ui .alert{border:1px solid transparent}
body.admin-ui .muted{color:#6b7782}
body.admin-ui .actions>a{font-weight:700}
body.admin-ui .mini-list a{transition:background .15s,padding-left .15s;border-radius:8px}
body.admin-ui .mini-list a:hover{background:#f8fafc;padding-left:8px}
body.admin-ui .color-grid{gap:18px}
body.admin-ui fieldset{border-color:#e1e6eb;background:#fbfcfd}
@media(max-width:800px){
 body.admin-ui .admin-nav{padding:0 14px}
 body.admin-ui .admin-nav-inner{min-height:66px;align-items:flex-start;padding:10px 0;flex-direction:column;gap:9px}
 body.admin-ui .admin-links{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}
 body.admin-ui .admin-links::-webkit-scrollbar{display:none}
 body.admin-ui .admin-links a{flex:0 0 auto;padding:8px 10px;font-size:12px}
 body.admin-ui .admin-links .admin-logout{margin-left:0}
 body.admin-ui .container{margin-top:22px;padding:0 14px}
 body.admin-ui .topbar{align-items:flex-start;flex-direction:column}
 body.admin-ui .topbar .btn{width:100%;text-align:center}
 body.admin-ui .card{padding:18px}
}
@media print{body.admin-ui .admin-nav{display:none!important}body.admin-ui .container{margin:0;padding:0}
}

/* =========================================================
   ADMIN UI — seconda rifinitura visiva
   Solo presentazione: nessuna modifica alla logica applicativa.
   ========================================================= */
body.admin-ui{min-height:100vh;background:radial-gradient(circle at 50% -10%,#ffffff 0,#f5f7fa 42%,#edf1f5 100%);}
body.admin-ui .admin-nav{border-bottom:1px solid #e8ecf1;box-shadow:0 8px 28px rgba(25,35,45,.07)}
body.admin-ui .admin-nav-inner{min-height:76px}
body.admin-ui .admin-brand{gap:12px}
body.admin-ui .admin-brand-mark{width:42px;height:42px;border-radius:13px;box-shadow:0 8px 18px rgba(169,20,20,.20)}
body.admin-ui .admin-brand strong{font-size:16px;letter-spacing:-.15px}
body.admin-ui .admin-brand small{font-size:11px;letter-spacing:.2px}
body.admin-ui .admin-links{gap:4px}
body.admin-ui .admin-links a{padding:9px 13px;border:1px solid transparent}
body.admin-ui .admin-links a:hover{border-color:#edf0f3}
body.admin-ui .admin-links a[href="dashboard.php"]{background:#fdf1f0;border-color:#f7dddd}
body.admin-ui .container{padding-bottom:48px}
body.admin-ui .topbar{padding:22px 24px;border:1px solid #e7ebef;border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 8px 26px rgba(20,30,40,.045)}
body.admin-ui .topbar h1{font-size:31px;font-weight:800;letter-spacing:-.65px}
body.admin-ui .topbar .muted{margin:0}
body.admin-ui .stats{gap:14px;margin:18px 0 24px}
body.admin-ui .stat{position:relative;overflow:hidden;min-height:118px;padding:20px 20px 18px;background:rgba(255,255,255,.92)}
body.admin-ui .stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#b21a17;opacity:.9}
body.admin-ui .stat b{font-size:32px;line-height:1.1;margin-bottom:7px}
body.admin-ui .stat span{font-size:14px}
body.admin-ui .stat small{font-size:12px;line-height:1.35}
body.admin-ui .card{background:rgba(255,255,255,.94)}
body.admin-ui .card> .actions{margin-bottom:16px}
body.admin-ui .card> .actions .muted{margin:5px 0 0}
body.admin-ui .attention{border-top:3px solid #d59b19}
body.admin-ui .attention-item{position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
body.admin-ui .attention-item b{font-size:30px}
body.admin-ui .attention-item span{line-height:1.4}
body.admin-ui .today{border-top:3px solid #185abc}
body.admin-ui .today-grid div{background:#fbfcfd;border-color:#e7ebef}
body.admin-ui .today-grid b{font-size:28px;color:#18242a}
body.admin-ui .quick-grid{gap:16px}
body.admin-ui .quick{position:relative;min-height:122px;padding:20px 20px 18px;overflow:hidden}
body.admin-ui .quick:after{content:"→";position:absolute;right:18px;bottom:14px;font-size:18px;font-weight:800;color:#b21a17;opacity:.65;transition:transform .18s ease}
body.admin-ui .quick:hover:after{transform:translateX(4px)}
body.admin-ui .quick strong{font-size:16px;padding-right:22px}
body.admin-ui .quick span{line-height:1.45}
body.admin-ui .dashboard-columns{gap:16px}
body.admin-ui .mini-list a{padding:13px 10px;margin:0 -10px}
body.admin-ui .mini-list a strong{font-size:14px}
body.admin-ui .table-wrap{border-radius:14px;background:#fff}
body.admin-ui table th{padding:13px 14px;background:linear-gradient(#fafbfc,#f6f8fa)}
body.admin-ui table td{padding:13px 14px;vertical-align:middle}
body.admin-ui table tbody tr:last-child td{border-bottom:0}
body.admin-ui .status-badge{padding:5px 10px;letter-spacing:.1px}
body.admin-ui .btn{padding:11px 17px}
body.admin-ui .btn.small{padding:7px 10px}
body.admin-ui input,body.admin-ui select,body.admin-ui textarea{box-shadow:0 1px 2px rgba(20,30,40,.025)}
body.admin-ui label{color:#33404a}
body.admin-ui fieldset{box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
body.admin-ui .alert{box-shadow:0 5px 16px rgba(20,30,40,.04)}
@media(max-width:800px){
 body.admin-ui .admin-nav-inner{min-height:68px;padding:9px 0}
 body.admin-ui .topbar{padding:18px}
 body.admin-ui .topbar h1{font-size:25px}
 body.admin-ui .stat{min-height:100px}
 body.admin-ui .quick{min-height:110px}
 body.admin-ui .card> .actions{align-items:flex-start}
}
@media(max-width:520px){
 body.admin-ui .admin-brand-mark{width:38px;height:38px;border-radius:11px}
 body.admin-ui .admin-brand strong{font-size:14px}
 body.admin-ui .admin-links a{padding:8px 10px}
 body.admin-ui .container{padding:0 11px 34px}
 body.admin-ui .card{padding:16px}
 body.admin-ui .topbar{border-radius:15px}
 body.admin-ui .stats{grid-template-columns:1fr 1fr;gap:10px}
 body.admin-ui .stat{padding:16px 15px;min-height:96px}
 body.admin-ui .stat b{font-size:27px}
 body.admin-ui .stat span{font-size:13px}
 body.admin-ui .stat small{font-size:11px}
}

/* =========================================================
   ADMIN UI — terza rifinitura: Buoni e Clienti
   Solo presentazione: nessuna modifica alla logica applicativa.
   ========================================================= */
body.admin-ui .container > p:first-child{margin:0 0 14px;font-size:13px}
body.admin-ui .container > p:first-child a{display:inline-flex;align-items:center;gap:6px;color:#64748b;font-weight:700;padding:6px 9px;border-radius:8px}
body.admin-ui .container > p:first-child a:hover{background:#fff;color:#a91414}
body.admin-ui .actions h1{letter-spacing:-.55px}
body.admin-ui .card[style*="margin:20px 0"],
body.admin-ui .card[style*="margin-bottom:20px"]{padding:20px 22px;background:rgba(255,255,255,.96);border-radius:16px}
body.admin-ui .card[style*="margin:20px 0"] .two-col,
body.admin-ui .card[style*="margin-bottom:20px"] .two-col{margin:0 0 14px}
body.admin-ui .card[style*="margin:20px 0"] .btn,
body.admin-ui .card[style*="margin-bottom:20px"] .btn{box-shadow:none}
body.admin-ui .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
body.admin-ui .table-wrap table{min-width:860px}
body.admin-ui .table-wrap tbody tr{transition:background .15s ease}
body.admin-ui .table-wrap tbody tr:hover{background:#fffaf9}
body.admin-ui .table-wrap td:first-child strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.6px;color:#8f0f0f}
body.admin-ui .table-wrap td small{color:#7b8791}
body.admin-ui .table-wrap td:last-child{min-width:255px}
body.admin-ui .table-wrap td:last-child form{display:inline}
body.admin-ui .table-wrap td:last-child .btn{border:1px solid #e1e6eb;background:#fff;color:#475569;box-shadow:0 1px 2px rgba(20,30,40,.04)}
body.admin-ui .table-wrap td:last-child .btn:hover{background:#f8fafc;border-color:#cfd7df;color:#8f0f0f}
body.admin-ui .table-wrap td:last-child .btn:not(.secondary){background:#a91414;border-color:#a91414;color:#fff}
body.admin-ui .table-wrap td:last-child .btn:not(.secondary):hover{background:#8f0f0f;color:#fff}
body.admin-ui .table-wrap td:nth-child(5){font-weight:700}
body.admin-ui .status-badge{border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 2px rgba(20,30,40,.04)}

/* Clienti: gerarchia visiva più chiara */
body.admin-ui .table-wrap td:first-child strong{font-family:inherit;letter-spacing:0;color:#18242a;font-size:14px}
body.admin-ui .table-wrap td:first-child small{display:inline-block;margin-top:4px}
body.admin-ui .table-wrap td:nth-child(3),
body.admin-ui .table-wrap td:nth-child(4){font-weight:700}
body.admin-ui .table-wrap td:nth-child(3){color:#166534}
body.admin-ui .table-wrap td:nth-child(4){color:#475569}

@media(max-width:800px){
 body.admin-ui .actions{gap:14px}
 body.admin-ui .actions>div{width:100%}
 body.admin-ui .actions>div h1{font-size:26px}
 body.admin-ui .actions>.btn{width:auto}
 body.admin-ui .card[style*="margin:20px 0"],
 body.admin-ui .card[style*="margin-bottom:20px"]{padding:17px}
 body.admin-ui .card[style*="margin:20px 0"] .btn,
 body.admin-ui .card[style*="margin-bottom:20px"] .btn{margin-top:2px}
}
@media(max-width:520px){
 body.admin-ui .actions>.btn{width:100%;text-align:center}
 body.admin-ui .table-wrap{margin-left:-2px;margin-right:-2px;border-radius:12px}
 body.admin-ui .table-wrap table{min-width:820px}
 body.admin-ui .table-wrap th,body.admin-ui .table-wrap td{padding:11px 12px}
}


/* =========================================================
   ADMIN UI — quarta rifinitura: Report, Impostazioni e Backup
   Solo presentazione: nessuna modifica alla logica applicativa.
   ========================================================= */
body.admin-ui .container.narrow{max-width:980px}
body.admin-ui h1{font-weight:800;color:#18242a}
body.admin-ui h2{font-weight:800;color:#26343b;letter-spacing:-.25px}
body.admin-ui .actions{border-bottom:1px solid #e9edf0;padding-bottom:18px;margin-bottom:18px}
body.admin-ui .actions .muted{max-width:760px}
body.admin-ui .report-actions .btn{min-width:130px;text-align:center}
body.admin-ui .report-actions .btn:first-child{box-shadow:0 4px 12px rgba(169,20,20,.12)}
body.admin-ui .report-bar,.report-bar{background:#edf1f4;border:1px solid #e3e8ec}
body.admin-ui .report-bar span,.report-bar span{background:linear-gradient(90deg,#a91414,#c53a2f)}
body.admin-ui .progress,.progress{background:#edf1f4;border:1px solid #e3e8ec}
body.admin-ui .progress span,.progress span{background:linear-gradient(90deg,#a91414,#c53a2f)}
body.admin-ui .stats{margin-bottom:22px}
body.admin-ui .stat{border:1px solid #e8ecef;box-shadow:0 8px 22px rgba(30,40,50,.055);transition:transform .16s ease,box-shadow .16s ease}
body.admin-ui .stat:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,40,50,.08)}
body.admin-ui .grid{gap:18px}
body.admin-ui .grid>.card,.report-actions + .card{border:1px solid #e8ecef;box-shadow:0 7px 20px rgba(30,40,50,.045)}
body.admin-ui .report-muted{line-height:1.5}
body.admin-ui .table-wrap table{border-collapse:separate;border-spacing:0}
body.admin-ui .table-wrap th{font-size:12px;text-transform:uppercase;letter-spacing:.35px;color:#65717a}
body.admin-ui .table-wrap td{border-bottom:1px solid #eef1f3}
body.admin-ui .table-wrap tbody tr:last-child td{border-bottom:0}

/* Backup / manutenzione */
body.admin-ui .maint-grid{gap:18px}
body.admin-ui .maint-grid>.card{border:1px solid #e8ecef;box-shadow:0 7px 20px rgba(30,40,50,.045)}
body.admin-ui .check{padding:13px 2px;border-color:#edf0f2}
body.admin-ui .check .ok{color:#166534}
body.admin-ui .check .bad{color:#991b1b}
body.admin-ui .backup-note,body.admin-ui .warning{border-radius:12px;box-shadow:none}
body.admin-ui code{background:#f5f7f8;border:1px solid #e6eaed;border-radius:6px;padding:2px 5px;color:#33404a}

/* Impostazioni: raggruppamento visivo */
body.admin-ui form>label{margin-bottom:15px}
body.admin-ui .settings-group{margin:24px 0;padding:20px;border:1px solid #e5e9ec;border-radius:16px;background:linear-gradient(180deg,#fff,#fafbfc);box-shadow:0 6px 18px rgba(30,40,50,.035)}
body.admin-ui .settings-group legend{padding:0 9px;font-weight:800;color:#8f0f0f;font-size:15px}
body.admin-ui .settings-group .hint{margin-top:0}
body.admin-ui .settings-group label:last-child{margin-bottom:0}
body.admin-ui .logo-preview{display:block;max-width:240px;max-height:90px;object-fit:contain;padding:12px;background:#fff;border:1px solid #e7ebee;border-radius:12px;box-shadow:0 4px 12px rgba(30,40,50,.04)}
body.admin-ui .color-grid{gap:14px}
body.admin-ui input[type=color]{height:46px;padding:4px;border-radius:10px}
body.admin-ui textarea{line-height:1.5;resize:vertical}
body.admin-ui form>.btn{margin-top:6px}
body.admin-ui .card form .card{background:#f8fafb;border:1px solid #e8ecef;box-shadow:none}

@media(max-width:800px){
 body.admin-ui .actions{padding-bottom:15px}
 body.admin-ui .settings-group{padding:17px;margin:19px 0}
 body.admin-ui .maint-grid{gap:14px}
}
@media(max-width:520px){
 body.admin-ui .report-actions{width:100%}
 body.admin-ui .report-actions .btn{flex:1;min-width:0}
 body.admin-ui .settings-group{border-radius:13px}
 body.admin-ui .settings-group legend{font-size:14px}
}


/* =========================================================
   PUBLIC REQUEST PAGE — restyling v4.88
   Solo presentazione: mantiene invariata la logica del modulo.
   ========================================================= */
body.request-page{background:#f5efe4;color:#18242a;font-family:Inter,Arial,sans-serif;min-height:100vh;overflow-x:hidden}
body.request-page:before,body.request-page:after{content:"";position:fixed;z-index:0;pointer-events:none;border-radius:50%;filter:blur(2px);opacity:.38}
body.request-page:before{width:360px;height:360px;left:-170px;top:80px;background:radial-gradient(circle,#dfe8d2 0,#f5efe4 68%);}
body.request-page:after{width:420px;height:420px;right:-200px;bottom:40px;background:radial-gradient(circle,#f3d9c9 0,#f5efe4 68%);}
.request-shell{position:relative;z-index:1;min-height:100vh;padding-bottom:30px}
.request-hero{padding:30px 18px 0;background:linear-gradient(180deg,#fbf7ef 0%,#f7f0e5 100%)}
.request-hero-inner{max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:10px 18px 28px}
.request-hero .request-brand{display:flex;align-items:center;gap:22px;margin:0;text-align:left}
.request-hero .request-brand img{width:170px;max-width:170px;height:120px;max-height:120px;object-fit:contain;margin:0}
.request-brand-copy{min-width:0}
.request-kicker{display:block;color:#8f0f0f;font-size:11px;font-weight:800;letter-spacing:3px;margin-bottom:6px}
.request-hero .request-brand h1{margin:0;color:#a91414;font-size:42px;line-height:1.05;letter-spacing:-1px}
.request-hero .request-brand .muted{font-size:17px;margin:7px 0 0;color:#65717a}
.request-hero-message{padding:18px 0 18px 34px;border-left:1px solid #ddcdbb;color:#8f0f0f;text-align:right}
.request-hero-message span{display:block;font-size:11px;font-weight:800;letter-spacing:2.5px;margin-bottom:7px}
.request-hero-message strong{font-family:Georgia,serif;font-size:27px;line-height:1.12;font-weight:500;font-style:italic}
.request-container{max-width:900px;margin:0 auto;padding:0 18px}
.request-card{position:relative;max-width:none;margin:0 auto;padding:38px 42px 28px;border:1px solid #eee3d7;border-radius:24px;box-shadow:0 18px 55px rgba(75,50,30,.13);overflow:hidden}
.request-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#8f0f0f 0 38%,#f2eee5 38% 62%,#4d8a42 62%)}
.request-title-row{display:flex;align-items:center;gap:17px;margin:0 0 25px}
.request-title-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fbedd9;font-size:28px;box-shadow:inset 0 0 0 1px #f1d8b9}
.request-title-row h2{margin:0;font-size:32px;line-height:1.08;letter-spacing:-.8px;color:#18242a}
.request-title-row h2 em{font-style:normal;color:#a91414}
.request-title-row .muted{margin:7px 0 0;font-size:15px}
.request-card form{gap:17px}
.request-card label{gap:7px;color:#18242a;font-size:14px}
.request-card label>span{font-weight:750}
.request-card input{padding:14px 15px;border:1px solid #d4dbe0;border-radius:12px;background:#fff;font-size:15px;box-shadow:0 2px 5px rgba(30,40,50,.025);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.request-card input::placeholder{color:#8b969e}
.request-card input:focus{outline:none;border-color:#b9a18a;box-shadow:0 0 0 4px rgba(169,20,20,.07)}
.request-card fieldset{border:1px solid #e3e7e8;border-radius:15px;padding:17px 18px 14px;background:#fbfcfb}
.request-card fieldset legend{font-size:14px;color:#18242a;padding:0 7px}
.choice-icon{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:4px;border-radius:50%;background:#f1eadf;color:#8f0f0f;font-weight:900}
.whatsapp-card{background:linear-gradient(90deg,#f7fbf7,#fbfcfb)!important}
.whatsapp-card .choice-icon{color:#fff;background:#21a366}
.choice-hint{margin:0 0 7px 35px;color:#69767e;font-size:13px}
.request-card .radio{font-size:14px;margin:6px 20px 3px 0}
.request-card .radio input{width:auto;padding:0;box-shadow:none;accent-color:#a91414}
.privacy-card{background:#fffaf3!important}
.privacy-text{margin:7px 0 9px;color:#3f4d55;font-size:14px}
.request-card .small-text{margin:5px 0 0;color:#78848b;font-size:12px}
.request-submit{width:100%;margin-top:4px;padding:15px 18px;border-radius:13px;background:linear-gradient(135deg,#b51b17,#8f0f0f);box-shadow:0 8px 18px rgba(143,15,15,.18);font-size:16px;display:flex;align-items:center;justify-content:center;gap:11px;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.request-submit:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 11px 24px rgba(143,15,15,.22)}
.request-submit span{font-size:18px}.request-submit b{font-size:22px;font-weight:500;margin-left:3px}
.request-trust{display:flex;justify-content:center;gap:28px;margin-top:18px;color:#637078;font-size:12px;font-weight:700;letter-spacing:.2px}
.request-footer-note{text-align:center;padding:28px 15px 4px;color:#a91414;font-family:Georgia,serif;font-size:22px;font-style:italic}
.request-footer-note span{font-style:normal;margin-left:4px}
.request-card .alert{border-radius:12px;border:1px solid transparent}
.request-card .alert.error{border-color:#f1c7c7}.request-card .alert.success{border-color:#b9e2c7}
@media(max-width:800px){
 .request-hero-inner{padding-bottom:22px;gap:18px}.request-hero .request-brand img{width:135px;max-width:135px;height:100px;max-height:100px}.request-hero .request-brand h1{font-size:34px}.request-hero-message{padding-left:20px}.request-hero-message strong{font-size:22px}
 .request-card{padding:34px 28px 25px}.request-title-row h2{font-size:28px}
}
@media(max-width:650px){
 .request-hero{padding:18px 12px 0}.request-hero-inner{display:block;text-align:center;padding:8px 8px 20px}.request-hero .request-brand{display:block;text-align:center}.request-hero .request-brand img{width:190px;max-width:190px;height:125px;max-height:125px;margin:0 auto 8px}.request-hero .request-brand h1{font-size:36px}.request-hero .request-brand .muted{font-size:15px}.request-kicker{font-size:10px;letter-spacing:2.2px}.request-hero-message{border-left:0;border-top:1px solid #ddcdbb;margin:17px auto 0;padding:13px 0 0;text-align:center;max-width:360px}.request-hero-message strong{font-size:21px}.request-container{padding:0 10px}.request-card{border-radius:20px;padding:30px 20px 22px}.request-title-row{align-items:flex-start;gap:12px}.request-title-icon{width:50px;height:50px;font-size:24px;flex:0 0 50px}.request-title-row h2{font-size:25px}.request-title-row .muted{font-size:14px}.request-card fieldset{padding:15px 14px 12px}.choice-hint{margin-left:0;margin-top:4px}.request-trust{gap:13px;flex-wrap:wrap}.request-footer-note{font-size:19px;padding-top:22px}
}
@media(max-width:420px){.request-card{padding-left:16px;padding-right:16px}.request-title-row h2{font-size:23px}.request-hero .request-brand img{width:170px;max-width:170px}.request-hero .request-brand h1{font-size:33px}.request-card .two-col{gap:10px}.request-card input{padding:13px 12px}.request-trust{font-size:11px}}

/* =========================================================
   PUBLIC COUPON EMBED — visual wrapper only
   ========================================================= */
body.request-page.embed-page{background:#f5efe4}
body.request-page.embed-page .request-shell{min-height:0;padding-bottom:12px}
body.request-page.embed-page .request-hero{padding-top:18px}
body.request-page.embed-page .request-footer-note{padding-bottom:8px}
