/* AC Manager — area Esperienze: tema "vetro scuro e neon".
 * Ospita le interfacce di Vouchiva Appointments (.vcc-*, .vca-*) e Vouchiva (.vch-*) dentro la shell di AC.
 * Tutto confinato in body.ac-esp-page: non tocca le altre pagine di AC. */

body.ac-esp-page {
    --esp-bg: #060814;
    --esp-panel: rgba(17, 21, 46, .66);
    --esp-panel-2: rgba(26, 31, 64, .72);
    --esp-line: rgba(148, 163, 255, .16);
    --esp-line-2: rgba(148, 163, 255, .30);
    --esp-text: #e9ecff;
    --esp-muted: #8f98c4;
    --esp-violet: #8b7bff;
    --esp-cyan: #22d3ee;
    --esp-pink: #f472b6;
    --esp-ok: #34d399;
    --esp-warn: #fbbf24;
    --esp-bad: #fb7185;
    --esp-grad: linear-gradient(135deg, #4b46b8 0%, #3f5fb0 100%);
    --esp-glow: 0 0 0 1px rgba(139,123,255,.28), 0 4px 14px -6px rgba(75,70,184,.45);
    background: var(--esp-bg);
    color: var(--esp-text);
    background-image:
        radial-gradient(900px 520px at 8% -8%, rgba(109,91,255,.28), transparent 62%),
        radial-gradient(760px 480px at 100% 4%, rgba(34,211,238,.16), transparent 60%),
        radial-gradient(700px 520px at 50% 108%, rgba(244,114,182,.13), transparent 60%);
    background-attachment: fixed;
    min-height: 100vh;
    /* variabili dei due plugin */
    --vch-primary: #8b7bff; --vch-accent: #8b7bff; --vch-bg: rgba(255,255,255,.04); --vch-card-bg: var(--esp-panel);
    --vch-border: var(--esp-line); --vch-muted: var(--esp-muted); --vch-shadow: 0 18px 50px -24px rgba(0,0,0,.8);
    --vch-success: #34d399; --vch-success-bg: rgba(52,211,153,.14); --vch-warning: #fbbf24; --vch-warning-bg: rgba(251,191,36,.14);
    --vch-danger: #fb7185; --vch-danger-bg: rgba(251,113,133,.14); --vch-text: var(--esp-text);
}

/* ===== Shell AC in versione scura ===== */
body.ac-esp-page #ac-custom-header { background: rgba(8,10,26,.72); border-bottom: 1px solid var(--esp-line); box-shadow: 0 10px 40px -20px rgba(109,91,255,.6); }
body.ac-esp-page #ac-custom-header::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg, transparent, rgba(139,123,255,.8), rgba(34,211,238,.8), transparent); opacity: .7; }
body.ac-esp-page .header-logo img { filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(139,123,255,.55)); }
body.ac-esp-page #menu-toggle-btn { background: rgba(255,255,255,.06); border-color: var(--esp-line-2); }
body.ac-esp-page #menu-toggle-btn:hover { background: rgba(255,255,255,.1); border-color: var(--esp-violet); box-shadow: 0 0 18px rgba(139,123,255,.45); }
body.ac-esp-page .icon-bar { background-color: #cfd5ff; }
body.ac-esp-page #ac-popup-menu { background: rgba(10,13,32,.94); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-left: 1px solid var(--esp-line-2); }
body.ac-esp-page #ac-popup-menu li a { color: #cfd5ff; }
body.ac-esp-page #ac-popup-menu li a:hover { background: rgba(139,123,255,.14); color: #fff; }
body.ac-esp-page #ac-popup-menu a.ac-menu-corrente { background: rgba(139,123,255,.18); color: #fff; box-shadow: inset 3px 0 0 var(--esp-cyan); }
body.ac-esp-page .menu-header { background: linear-gradient(135deg, #3b2fb0, #0e7490); }
body.ac-esp-page #ac-main-content { max-width: none; }
@media (max-width: 768px) { body.ac-esp-page.ac-app-layout { background-color: var(--esp-bg); } }

/* ===== Contenitore e navigazione interna ===== */
.ac-esp-wrap { max-width: 1560px; margin: 0 auto; padding: 22px 22px 60px; }
.ac-esp-subnav { display: flex; gap: 6px; flex-wrap: wrap; padding: 6px; margin-bottom: 20px; width: fit-content; max-width: 100%;
    background: var(--esp-panel); border: 1px solid var(--esp-line); border-radius: 16px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 18px 50px -28px rgba(0,0,0,.9); overflow-x: auto; scrollbar-width: none; }
.ac-esp-subnav::-webkit-scrollbar { display: none; }
.ac-esp-subnav a { color: var(--esp-muted); text-decoration: none; font-weight: 700; font-size: 13.5px; padding: 8px 15px; border-radius: 11px; white-space: nowrap; transition: color .2s, background .2s, box-shadow .2s; }
.ac-esp-subnav a:hover { color: #fff; background: rgba(139,123,255,.14); }
.ac-esp-subnav a.on { color: #fff; background: var(--esp-grad); box-shadow: var(--esp-glow); }
.ac-esp-avviso { padding: 22px 24px; border-radius: 16px; background: var(--esp-panel); border: 1px dashed var(--esp-line-2); color: var(--esp-muted); }

/* ===== Vouchiva Appointments: variabili ===== */
body.ac-esp-page .vcc-root, body.ac-esp-page .vcc-backdrop, body.ac-esp-page .vcc-toasts {
    --vcc-primary: #a99dff; --vcc-accent: #8b7bff;
    --vcc-gradient: var(--esp-grad);
    --vcc-bg: rgba(255,255,255,.04); --vcc-card: var(--esp-panel); --vcc-border: var(--esp-line);
    --vcc-muted: var(--esp-muted); --vcc-text: var(--esp-text);
    --vcc-ok: #34d399; --vcc-ok-bg: rgba(52,211,153,.16);
    --vcc-warn: #fbbf24; --vcc-warn-bg: rgba(251,191,36,.16);
    --vcc-bad: #fb7185; --vcc-bad-bg: rgba(251,113,133,.16);
    font-family: 'Inter', -apple-system, 'Segoe UI', sans-serif; color: var(--esp-text);
}
body.ac-esp-page .vcc-spinner { border-color: rgba(255,255,255,.1); border-top-color: var(--esp-cyan); box-shadow: 0 0 22px rgba(34,211,238,.35); }
body.ac-esp-page .vcc-empty { background: var(--esp-panel); border-color: var(--esp-line-2); color: var(--esp-muted); }

/* Bottoni */
body.ac-esp-page .vcc-btn.primary { background: var(--esp-grad); color: #fff; box-shadow: var(--esp-glow); border-color: transparent; }
body.ac-esp-page .vcc-btn.primary:hover { box-shadow: 0 0 0 1px rgba(139,123,255,.7), 0 12px 34px -6px rgba(109,91,255,.8); filter: brightness(1.08); }
body.ac-esp-page .vcc-btn.ghost { background: rgba(255,255,255,.05); color: #cfd5ff; border-color: var(--esp-line-2); }
body.ac-esp-page .vcc-btn.ghost:hover { background: rgba(139,123,255,.16); border-color: var(--esp-violet); color: #fff; }
body.ac-esp-page .vcc-btn.danger { background: linear-gradient(135deg, #e11d48, #fb7185); }
body.ac-esp-page .vcc-link { color: var(--esp-cyan); }

/* Schede, pillole, toggle */
body.ac-esp-page .vcc-tabs { border-bottom: 1px solid var(--esp-line); gap: 4px; }
body.ac-esp-page .vcc-tab { color: var(--esp-muted); border-bottom-width: 2px; transition: color .2s; }
body.ac-esp-page .vcc-tab:hover { color: #fff; }
body.ac-esp-page .vcc-tab.active { color: #fff; border-bottom-color: var(--esp-cyan); text-shadow: 0 0 14px rgba(34,211,238,.6); box-shadow: 0 10px 18px -14px var(--esp-cyan); }
body.ac-esp-page .vcc-pill { background: rgba(255,255,255,.05); border-color: var(--esp-line); color: var(--esp-muted); }
body.ac-esp-page .vcc-pill.active { background: var(--esp-grad); color: #fff; border-color: transparent; }
body.ac-esp-page .vcc-toggle { background: rgba(255,255,255,.06); border: 1px solid var(--esp-line); }
body.ac-esp-page .vcc-toggle button { color: var(--esp-muted); }
body.ac-esp-page .vcc-toggle button.active { background: var(--esp-grad); color: #fff; box-shadow: 0 2px 10px -4px rgba(75,70,184,.5); }
body.ac-esp-page .vcc-title { color: #fff; text-shadow: 0 0 24px rgba(139,123,255,.45); }
body.ac-esp-page .vcc-date, body.ac-esp-page .vca-toolbar .vcc-date { background: rgba(255,255,255,.06); border: 1px solid var(--esp-line-2); color: var(--esp-text); color-scheme: dark; }
body.ac-esp-page .vcc-chip { background: rgba(139,123,255,.16); color: #cfc8ff; }
body.ac-esp-page .vcc-h3, body.ac-esp-page .vcc-hint { color: var(--esp-muted); }
body.ac-esp-page .vcc-h3 { color: var(--esp-text); }

/* Chip struttura e risorse */
body.ac-esp-page .vca-struct { background: rgba(255,255,255,.05); border-color: var(--esp-line-2); color: #cfd5ff; }
body.ac-esp-page .vca-struct:hover:not(.on) { border-color: var(--esp-cyan); color: #fff; }
body.ac-esp-page .vca-struct.on { background: var(--esp-grad); border-color: transparent; color: #fff; box-shadow: var(--esp-glow); }
body.ac-esp-page .vca-chip { background: rgba(255,255,255,.04) !important; color: var(--esp-text) !important; }
body.ac-esp-page .vca-chip.on { background: color-mix(in srgb, var(--c) 22%, transparent) !important; box-shadow: 0 0 16px -4px var(--c); }

/* ===== Agenda ===== */
body.ac-esp-page .vca-wrap { background: var(--esp-panel); border: 1px solid var(--esp-line); border-radius: 20px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 30px 70px -34px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.05); }
body.ac-esp-page .vca-scroll { scrollbar-color: rgba(139,123,255,.45) transparent; max-height: calc(100vh - 330px); }
body.ac-esp-page .vca-scroll::-webkit-scrollbar-thumb { background: rgba(139,123,255,.4); border: 2px solid transparent; background-clip: padding-box; }
body.ac-esp-page .vca-heads { background: rgba(10,13,32,.92); border-bottom: 1px solid var(--esp-line); box-shadow: 0 8px 24px -14px rgba(0,0,0,.8); }
body.ac-esp-page .vca-corner, body.ac-esp-page .vca-gutter { background: rgba(10,13,32,.92); border-right-color: var(--esp-line); }
body.ac-esp-page .vca-head { border-right-color: rgba(148,163,255,.08); }
body.ac-esp-page .vca-head strong { color: var(--esp-text); }
body.ac-esp-page .vca-head small { background: rgba(139,123,255,.16); color: #b9b0ff; }
body.ac-esp-page .vca-head.day small { background: none; color: var(--esp-muted); }
body.ac-esp-page .vca-head.day.today small { color: var(--esp-cyan); }
body.ac-esp-page .vca-head.day.today strong { background: var(--esp-grad); color: #fff; box-shadow: 0 0 10px rgba(75,70,184,.55); }
body.ac-esp-page .vca-head.day:hover strong { background: rgba(139,123,255,.2); } body.ac-esp-page .vca-head.day.today:hover strong { background: var(--esp-grad); }
body.ac-esp-page .vca-dot { box-shadow: 0 0 10px currentColor; }
body.ac-esp-page .vca-gutter span { background: transparent; color: #6e77a8; }
/* fuori orario (spento) e orari aperti (luminosi) */
body.ac-esp-page .vca-col { background-color: rgba(3,5,16,.55); background-image: repeating-linear-gradient(135deg, rgba(148,163,255,.035) 0 6px, transparent 6px 12px); border-right-color: rgba(148,163,255,.08); }
body.ac-esp-page .vca-col.today { background-color: rgba(34,211,238,.05); }
body.ac-esp-page .vca-open { background-color: rgba(30,36,78,.72);
    background-image: linear-gradient(to bottom, rgba(148,163,255,.2) 1px, transparent 1px), linear-gradient(to bottom, rgba(148,163,255,.07) 1px, transparent 1px); }
body.ac-esp-page .vca-open.cap { background-color: rgba(30,36,78,.72); }
body.ac-esp-page .vca-col.today .vca-open { background-color: rgba(38,48,98,.78); }
body.ac-esp-page .vca-hover { background: rgba(34,211,238,.1); border-color: rgba(34,211,238,.55); box-shadow: 0 0 18px -6px rgba(34,211,238,.6); }
body.ac-esp-page .vca-hover span { color: var(--esp-cyan); }
body.ac-esp-page .vca-heat { background: rgba(251,191,36,.1); box-shadow: inset 3px 0 0 rgba(251,191,36,.8); }
body.ac-esp-page .vca-heat.full { background: rgba(251,113,133,.14); box-shadow: inset 3px 0 0 rgba(251,113,133,.9); }
body.ac-esp-page .vca-occ { background: rgba(251,191,36,.18); color: #fcd34d; box-shadow: none; }
body.ac-esp-page .vca-occ.full { background: rgba(251,113,133,.2); color: #fda4af; }
/* prenotazioni: vetro tinto col colore della risorsa/operatore, bordo luminoso */
body.ac-esp-page .vca-ev { color: var(--esp-text);
    background: linear-gradient(135deg, color-mix(in srgb, var(--c) 38%, rgba(12,15,38,.9)), color-mix(in srgb, var(--c) 18%, rgba(12,15,38,.9)));
    box-shadow: inset 3px 0 0 var(--c), 0 0 0 1px color-mix(in srgb, var(--c) 40%, transparent), 0 8px 22px -12px var(--c); }
body.ac-esp-page .vca-ev:hover { box-shadow: inset 3px 0 0 var(--c), 0 0 0 1px var(--c), 0 14px 30px -10px var(--c); }
body.ac-esp-page .vca-ev b { color: #fff; }
body.ac-esp-page .vca-ev small { color: rgba(233,236,255,.72); }
body.ac-esp-page .vca-ev.st-pending { background-image: repeating-linear-gradient(135deg, color-mix(in srgb, var(--c) 10%, rgba(12,15,38,.92)) 0 7px, color-mix(in srgb, var(--c) 26%, rgba(12,15,38,.92)) 7px 14px); }
body.ac-esp-page .vca-ev.st-noshow { background: rgba(251,113,133,.16); box-shadow: inset 3px 0 0 #fb7185; }
body.ac-esp-page .vca-ev-av { box-shadow: 0 0 0 2px rgba(255,255,255,.25); }
body.ac-esp-page .vca-ghost { box-shadow: 0 20px 44px rgba(0,0,0,.6), 0 0 0 1px var(--esp-cyan); }
body.ac-esp-page .vca-ghost-time { background: #000; color: var(--esp-cyan); box-shadow: 0 0 12px rgba(34,211,238,.5); }
body.ac-esp-page .vca-drop-prev { border-color: var(--esp-cyan); background: rgba(34,211,238,.12); box-shadow: 0 0 22px rgba(34,211,238,.35); }
body.ac-esp-page .vca-now { background: var(--esp-pink); box-shadow: 0 0 12px var(--esp-pink); }
body.ac-esp-page .vca-now::before, body.ac-esp-page .vca-now span { background: var(--esp-pink); }
/* mese */
body.ac-esp-page .vca-mh { background: rgba(255,255,255,.03); color: var(--esp-muted); border-bottom-color: var(--esp-line); }
body.ac-esp-page .vca-mc { border-color: rgba(148,163,255,.08); }
body.ac-esp-page .vca-mc:hover { background: rgba(139,123,255,.1); } body.ac-esp-page .vca-mc.out { background: rgba(0,0,0,.25); color: #5b6395; }
body.ac-esp-page .vca-mc.today .vca-mn { background: var(--esp-grad); color: #fff; box-shadow: 0 0 8px rgba(75,70,184,.5); }
body.ac-esp-page .vca-me { background: color-mix(in srgb, var(--c) 24%, rgba(12,15,38,.9)); color: var(--esp-text); }
body.ac-esp-page .vca-more { color: var(--esp-muted); }

/* ===== Tabelle, moduli, modali (Appointments) ===== */
body.ac-esp-page .vcc-tablewrap, body.ac-esp-page .vcc-caps, body.ac-esp-page .vcc-tl { background: var(--esp-panel); border-color: var(--esp-line); box-shadow: 0 24px 60px -34px rgba(0,0,0,.9); backdrop-filter: blur(12px); }
body.ac-esp-page .vcc-table th { background: rgba(255,255,255,.04); color: var(--esp-muted); }
body.ac-esp-page .vcc-table td, body.ac-esp-page .vcc-table th { border-bottom-color: var(--esp-line); }
body.ac-esp-page .vcc-table tr.clickable:hover { background: rgba(139,123,255,.12); }
body.ac-esp-page .vcc-badge { background: rgba(255,255,255,.1); color: #cfd5ff; }
body.ac-esp-page .vcc-badge.st-completed { background: rgba(139,123,255,.2); color: #c4bcff; }
body.ac-esp-page .vcc-badge.pay-onsite { background: rgba(34,211,238,.14); color: #67e8f9; }
body.ac-esp-page .vcc-filter, body.ac-esp-page .vcc-num, body.ac-esp-page .vcc-time, body.ac-esp-page .vcc-field input, body.ac-esp-page .vcc-field select, body.ac-esp-page .vcc-field textarea, body.ac-esp-page .vcc-notes, body.ac-esp-page .vcc-slot {
    background: rgba(255,255,255,.06) !important; border-color: var(--esp-line-2) !important; color: var(--esp-text) !important; color-scheme: dark; }
body.ac-esp-page .vcc-field input:focus, body.ac-esp-page .vcc-field select:focus, body.ac-esp-page .vcc-field textarea:focus, body.ac-esp-page .vcc-notes:focus { border-color: var(--esp-cyan) !important; box-shadow: 0 0 0 4px rgba(34,211,238,.15) !important; }
body.ac-esp-page .vcc-field > label { color: var(--esp-muted); }
body.ac-esp-page .vcc-slot.on { background: var(--esp-grad) !important; border-color: transparent !important; box-shadow: var(--esp-glow); }
body.ac-esp-page .vcc-quotebox { background: rgba(139,123,255,.12); }
body.ac-esp-page .vcc-ql.total { border-top-color: var(--esp-line-2); }
body.ac-esp-page .vcc-ref { color: var(--esp-cyan); }
body.ac-esp-page .vcc-bulk { background: rgba(139,123,255,.1); border-bottom-color: var(--esp-line); } body.ac-esp-page .vcc-bulk.on { background: rgba(139,123,255,.2); }
body.ac-esp-page .vcc-caprow.sel { background: rgba(139,123,255,.14); }
body.ac-esp-page .vcc-cbar { background: rgba(255,255,255,.08); }
body.ac-esp-page .vcc-step, body.ac-esp-page .vcc-bkchip { background: rgba(255,255,255,.06); border-color: var(--esp-line-2); color: #cfd5ff; }
body.ac-esp-page .vcc-capbk { background: rgba(0,0,0,.2); }
body.ac-esp-page .vcc-mc { background: var(--esp-panel); border-color: var(--esp-line); }
body.ac-esp-page .vcc-mc.closed { background: repeating-linear-gradient(135deg, rgba(255,255,255,.02), rgba(255,255,255,.02) 7px, transparent 7px, transparent 14px); }
body.ac-esp-page .vcc-tl-open { background: rgba(30,36,78,.72); } body.ac-esp-page .vcc-tl-open:hover { background: rgba(48,56,112,.8); }
body.ac-esp-page .vcc-tl-closed { background: repeating-linear-gradient(135deg, rgba(255,255,255,.02), rgba(255,255,255,.02) 7px, transparent 7px, transparent 14px); }
body.ac-esp-page .vcc-tl-hour { border-top-color: rgba(148,163,255,.12); } body.ac-esp-page .vcc-tl-hour span { background: transparent; }
body.ac-esp-page .vcc-ovr { background: rgba(251,191,36,.12); } body.ac-esp-page .vcc-ovr-item { background: rgba(255,255,255,.06); border-color: rgba(251,191,36,.4); } body.ac-esp-page .vcc-ovr-x { background: rgba(255,255,255,.12); color: #fff; }
/* modali */
body.ac-esp-page .vcc-backdrop { background: rgba(3,5,16,.72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
body.ac-esp-page .vcc-modal { background: rgba(14,18,42,.96); border: 1px solid var(--esp-line-2); color: var(--esp-text); box-shadow: 0 40px 90px -20px rgba(0,0,0,.85), 0 0 60px -20px rgba(109,91,255,.5); }
body.ac-esp-page .vcc-modal-head { border-bottom-color: var(--esp-line); } body.ac-esp-page .vcc-modal-head h2 { color: #fff; }
body.ac-esp-page .vcc-modal-footer { background: rgba(0,0,0,.25); border-top-color: var(--esp-line); }
body.ac-esp-page .vcc-x { background: rgba(255,255,255,.08); color: #cfd5ff; } body.ac-esp-page .vcc-x:hover { background: rgba(251,113,133,.3); color: #fff; }
body.ac-esp-page .vcc-details hr { border-top-color: var(--esp-line); }
body.ac-esp-page .vcc-toast { background: rgba(14,18,42,.96); border: 1px solid var(--esp-line-2); box-shadow: 0 14px 40px rgba(0,0,0,.6), 0 0 22px -6px rgba(109,91,255,.6); }
body.ac-esp-page .vcc-toast.err { background: rgba(190,18,60,.92); }

/* ===== Vouchiva (incorporato) ===== */
.ac-esp-vch .vch-embed { color: var(--esp-text); }
body.ac-esp-page .vch-page-title { color: #fff; font-size: 1.55em; text-shadow: 0 0 26px rgba(139,123,255,.5); }
body.ac-esp-page .vch-page-subtitle { color: var(--esp-muted); }
body.ac-esp-page .vch-redeem-card, body.ac-esp-page .vch-card { background: var(--esp-panel); border: 1px solid var(--esp-line); border-radius: 20px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 30px 70px -34px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.05); }
body.ac-esp-page .vch-redeem-card { max-width: 640px; }
body.ac-esp-page .vch-active-structure { color: var(--esp-muted); } body.ac-esp-page .vch-active-structure strong { color: var(--esp-cyan); }
body.ac-esp-page .vch-tabs { background: rgba(255,255,255,.05); border: 1px solid var(--esp-line); }
body.ac-esp-page .vch-tab-btn { color: var(--esp-muted); }
body.ac-esp-page .vch-tab-btn.active { background: var(--esp-grad); color: #fff; box-shadow: 0 2px 10px -4px rgba(75,70,184,.5); }
body.ac-esp-page .vch-field label { color: var(--esp-muted); }
body.ac-esp-page .vch-field input, body.ac-esp-page .vch-field textarea, body.ac-esp-page .vch-field select, body.ac-esp-page .vch-filters input, body.ac-esp-page .vch-filters select, body.ac-esp-page .vch-embed input[type=text], body.ac-esp-page .vch-embed input[type=search], body.ac-esp-page .vch-embed input[type=number], body.ac-esp-page .vch-embed input[type=email], body.ac-esp-page .vch-embed input[type=date], body.ac-esp-page .vch-embed select, body.ac-esp-page .vch-embed textarea {
    background: rgba(255,255,255,.06); border: 1px solid var(--esp-line-2); color: var(--esp-text); border-radius: 10px; color-scheme: dark; }
body.ac-esp-page .vch-field input:focus, body.ac-esp-page .vch-field textarea:focus, body.ac-esp-page .vch-embed input:focus, body.ac-esp-page .vch-embed select:focus, body.ac-esp-page .vch-embed textarea:focus { outline: none; border-color: var(--esp-cyan); box-shadow: 0 0 0 4px rgba(34,211,238,.15); }
body.ac-esp-page .vch-btn { background: var(--esp-grad); color: #fff; box-shadow: var(--esp-glow); } body.ac-esp-page .vch-btn:hover { filter: brightness(1.1); opacity: 1; }
body.ac-esp-page .vch-btn-secondary { background: linear-gradient(135deg, #3f3b9a, #4a5fae); }
body.ac-esp-page .vch-btn-sm { background: rgba(255,255,255,.06); border-color: var(--esp-line-2); color: #cfd5ff; }
body.ac-esp-page .vch-btn-sm:hover { background: rgba(139,123,255,.18); color: #fff; }
body.ac-esp-page .vch-btn-sm.danger { color: #fda4af; border-color: rgba(251,113,133,.4); } body.ac-esp-page .vch-btn-sm.danger:hover { background: rgba(251,113,133,.18); }
body.ac-esp-page .vch-table th { background: rgba(255,255,255,.04); color: var(--esp-muted); }
body.ac-esp-page .vch-table td, body.ac-esp-page .vch-table th { border-bottom-color: var(--esp-line); color: inherit; }
body.ac-esp-page .vch-table th { color: var(--esp-muted); }
body.ac-esp-page .vch-table tbody tr:hover { background: rgba(139,123,255,.1); }
body.ac-esp-page .vch-table code, body.ac-esp-page .vch-embed code { background: rgba(255,255,255,.08); color: var(--esp-cyan); padding: 2px 7px; border-radius: 6px; }
body.ac-esp-page .vch-table td small, body.ac-esp-page .vch-table-empty { color: var(--esp-muted); }
body.ac-esp-page .vch-badge.status-refunded { background: rgba(255,255,255,.08); }
body.ac-esp-page .vch-code-chip { background: rgba(255,255,255,.06); border-color: var(--esp-line-2); }
body.ac-esp-page .vch-result-card.valid { background: rgba(52,211,153,.12); border-color: rgba(52,211,153,.4); }
body.ac-esp-page .vch-result-card.invalid { background: rgba(251,113,133,.12); border-color: rgba(251,113,133,.4); }
body.ac-esp-page .vch-result-row .value { color: #fff; }
body.ac-esp-page .vch-embed a:not(.vch-btn):not(.vch-btn-sm) { color: var(--esp-cyan); }
body.ac-esp-page .vch-embed h1, body.ac-esp-page .vch-embed h2, body.ac-esp-page .vch-embed h3, body.ac-esp-page .vch-embed h4 { color: #fff; }
body.ac-esp-page .vch-embed p, body.ac-esp-page .vch-embed label, body.ac-esp-page .vch-embed td, body.ac-esp-page .vch-embed li, body.ac-esp-page .vch-embed span { color: inherit; }
body.ac-esp-page .vch-embed [class*="modal"] { color: var(--esp-text); }
body.ac-esp-page .vch-embed .vch-modal, body.ac-esp-page .vch-embed [class*="modal-box"], body.ac-esp-page .vch-embed [class*="modal-content"] { background: rgba(14,18,42,.97); border: 1px solid var(--esp-line-2); }

/* Vouchiva incorporato: barre filtri e controlli in tema scuro */
body.ac-esp-page .vch-filters{background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.08)!important;color:#e9ecff}
body.ac-esp-page .vch-filters input,body.ac-esp-page .vch-filters select{background:rgba(8,10,28,.7)!important;color:#e9ecff!important;border:1px solid rgba(255,255,255,.12)!important}
body.ac-esp-page .vch-filters .vch-btn,body.ac-esp-page .vch-filters button{color:#e9ecff}

/* Campanella notifiche nel tema scuro */
body.ac-esp-page .ac-campanella-btn{background:rgba(255,255,255,.06);border:1px solid rgba(148,163,255,.3);color:#c7ccff;width:46px;height:42px;border-radius:12px}
body.ac-esp-page .ac-campanella-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(148,163,255,.55);box-shadow:none}
body.ac-esp-page .ac-campanella-badge{box-shadow:0 0 0 2px #0b0e24}
body.ac-esp-page .ac-campanella-pannello{background:#11152e;border:1px solid rgba(148,163,255,.25);color:#e9ecff;box-shadow:0 18px 50px -20px rgba(0,0,0,.9)}
body.ac-esp-page .ac-campanella-pannello a{color:#e9ecff}

/* Tendine native: sfondo scuro e testo leggibile */
body.ac-esp-page{color-scheme:dark}
body.ac-esp-page select,body.ac-esp-page input,body.ac-esp-page textarea{color-scheme:dark}
body.ac-esp-page select option,body.ac-esp-page select optgroup{background-color:#141838!important;color:#e9ecff!important}
body.ac-esp-page select option:checked,body.ac-esp-page select option:hover{background-color:#3b3f9e!important;color:#fff!important}
body.ac-esp-page select option:disabled{color:#6b7199!important}

/* ===== Cataloghi: vista Servizi e operatori ===== */
.ac-so-switch{display:inline-flex;gap:4px;padding:4px;margin:0 0 16px;border:1px solid var(--esp-line);border-radius:14px;background:rgba(255,255,255,.04)}
.ac-so-switch button,.ac-so-seg button{border:0;background:transparent;color:var(--esp-muted);font:inherit;font-weight:600;font-size:13px;padding:8px 16px;border-radius:10px;cursor:pointer;transition:.2s}
.ac-so-switch button:hover,.ac-so-seg button:hover{color:#fff}
.ac-so-switch button.on,.ac-so-seg button.on{color:#fff;background:var(--esp-grad);box-shadow:var(--esp-glow)}
.ac-so[hidden],.ac-so-panel[hidden],.ac-esp-vch[hidden]{display:none!important}
.ac-so-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.ac-so-stat{padding:14px 16px;border-radius:16px;background:var(--esp-panel);border:1px solid var(--esp-line);backdrop-filter:blur(10px)}
.ac-so-stat strong{display:block;font-size:28px;line-height:1.1;color:#fff}
.ac-so-stat span{font-size:12px;color:var(--esp-muted)}
.ac-so-stat.warn strong{color:#fbbf24}
.ac-so-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}
.ac-so-seg{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--esp-line);border-radius:14px;background:rgba(255,255,255,.04)}
.ac-so input[type=search]{min-width:240px;padding:10px 14px;border-radius:12px;border:1px solid var(--esp-line);background:rgba(8,10,28,.7);color:#e9ecff}
.ac-so-split{display:grid;grid-template-columns:230px 1fr;gap:16px;align-items:start}
@media(max-width:800px){.ac-so-split{grid-template-columns:1fr}}
.ac-so-rail{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:16px;background:var(--esp-panel);border:1px solid var(--esp-line);position:sticky;top:90px}
.ac-so-rail button{display:flex;justify-content:space-between;align-items:center;gap:8px;border:0;background:transparent;color:var(--esp-text);font:inherit;font-size:13px;padding:9px 12px;border-radius:10px;cursor:pointer;text-align:left}
.ac-so-rail button:hover{background:rgba(255,255,255,.06)}
.ac-so-rail button.on{background:rgba(139,123,255,.18);box-shadow:inset 2px 0 0 #8b7bff}
.ac-so-rail em{font-style:normal;font-size:11px;color:var(--esp-muted);background:rgba(255,255,255,.07);padding:2px 8px;border-radius:99px}
.ac-so-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.ac-so-card{padding:16px;border-radius:18px;background:var(--esp-panel);border:1px solid var(--esp-line);backdrop-filter:blur(10px);transition:.2s;display:flex;flex-direction:column;gap:12px}
.ac-so-card:hover{transform:translateY(-2px);border-color:rgba(139,123,255,.45);box-shadow:0 14px 34px -18px rgba(75,70,184,.7)}
.ac-so-card.warn{border-color:rgba(251,191,36,.45)}
.ac-so-ch{display:flex;align-items:center;gap:10px;justify-content:space-between}
.ac-so-ch h4{margin:0;font-size:15px;color:#fff;flex:1}
.ac-so-pill{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#a5b4fc;background:rgba(139,123,255,.15);padding:3px 8px;border-radius:99px}
.ac-so-meta,.ac-so-chips{display:flex;flex-wrap:wrap;gap:6px}
.ac-so-tag{font-size:11px;color:#c7ccff;background:rgba(255,255,255,.06);border:1px solid var(--esp-line);padding:3px 9px;border-radius:99px}
.ac-so-tag.op{color:#67e8f9;border-color:rgba(34,211,238,.35)}
.ac-so-tag.dim,.ac-so-n.dim{color:var(--esp-muted)}
.ac-so-foot{display:flex;align-items:center;gap:10px;margin-top:auto}
.ac-so-n{font-size:12px;color:#c7ccff}.ac-so-n.warn{color:#fbbf24}
.ac-so-stack{display:inline-flex}.ac-so-stack .ac-so-av{margin-left:-8px}.ac-so-stack .ac-so-av:first-child{margin-left:0}
.ac-so-av{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;background:color-mix(in srgb,var(--c) 45%,#0b0e24);border:2px solid #0b0e24;box-shadow:0 0 0 1px var(--c);flex:none}
.ac-so-who{flex:1}.ac-so-who h4{margin:0;font-size:15px;color:#fff}.ac-so-who span{font-size:12px;color:var(--esp-muted)}
.ac-so-count{font-size:12px;font-weight:700;color:#fff;background:rgba(139,123,255,.25);padding:3px 10px;border-radius:99px}
.ac-so-chip{font-size:12px;color:#e9ecff;background:rgba(139,123,255,.14);border:1px solid rgba(139,123,255,.28);padding:4px 10px;border-radius:99px}
.ac-so-vuoto{color:var(--esp-muted);padding:20px}
.ac-so-mx{overflow:auto;border-radius:18px;border:1px solid var(--esp-line);background:var(--esp-panel);max-height:70vh}
.ac-so-mx table{border-collapse:separate;border-spacing:0;width:100%}
.ac-so-mx th{position:sticky;top:0;background:#12162f;padding:10px 6px;font-weight:600;font-size:11px;color:var(--esp-muted);z-index:2;text-align:center}
.ac-so-mx th:first-child{left:0;z-index:3;text-align:left;padding-left:16px}
.ac-so-mx th small{display:block;margin-top:4px}
.ac-so-mx td{padding:9px 6px;border-top:1px solid var(--esp-line);text-align:center;color:var(--esp-muted)}
.ac-so-mx td.sv{position:sticky;left:0;background:#0f1330;text-align:left;padding-left:16px;min-width:220px;z-index:1}
.ac-so-mx td.sv b{display:block;color:#fff;font-size:13px}.ac-so-mx td.sv small{color:var(--esp-muted);font-size:11px}
.ac-so-mx td.cell.on i{display:inline-block;width:12px;height:12px;border-radius:50%;background:#34d399;box-shadow:0 0 10px rgba(52,211,153,.8)}
.ac-so-mx tr:hover td{background:rgba(139,123,255,.07)}

/* Pagamento: pannello e pulsanti metodo nel tema scuro */
body.ac-esp-page .vcc-pay{background:rgba(255,255,255,.04);border-color:var(--esp-line);color:var(--esp-text)}
body.ac-esp-page .vcc-pay.paid{background:rgba(52,211,153,.14);border-color:rgba(52,211,153,.35)}
body.ac-esp-page .vcc-pay.due{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.35)}
body.ac-esp-page .vcc-paybtn{background:rgba(255,255,255,.07);border-color:rgba(148,163,255,.3);color:#e9ecff}
body.ac-esp-page .vcc-paybtn:hover{background:var(--esp-grad);color:#fff}
body.ac-esp-page .vcc-paytag{background:rgba(255,255,255,.08);color:#c7ccff}
body.ac-esp-page .vcc-paytag.ok{background:rgba(52,211,153,.18);color:#6ee7b7}
body.ac-esp-page .vcc-paytag.due{background:rgba(251,191,36,.18);color:#fcd34d}

/* ===== Extra (gestione) ===== */
body.ac-esp-page .vex-head h2{color:#fff;text-shadow:0 0 24px rgba(139,123,255,.45)}
body.ac-esp-page .vex-search{background:rgba(255,255,255,.05)!important;border-color:var(--esp-line-2)!important;color:var(--esp-text)!important}
body.ac-esp-page .vex-search::placeholder{color:var(--esp-muted)}
body.ac-esp-page .vex-card{background:linear-gradient(160deg,rgba(26,31,64,.78),rgba(14,17,40,.7));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--esp-line);box-shadow:0 18px 50px -30px rgba(0,0,0,.95)}
body.ac-esp-page .vex-card::before{background:linear-gradient(90deg,#8b7bff,#22d3ee);box-shadow:0 0 14px rgba(139,123,255,.7)}
body.ac-esp-page .vex-card:hover{border-color:rgba(139,123,255,.55);box-shadow:0 0 0 1px rgba(139,123,255,.25),0 22px 50px -26px rgba(75,70,184,.8)}
body.ac-esp-page .vex-price strong{background:linear-gradient(90deg,#fff,#b9b0ff);-webkit-background-clip:text;background-clip:text;color:transparent}
body.ac-esp-page .vex-tag{background:rgba(255,255,255,.07);color:#b8c0ec}
body.ac-esp-page .vex-tag.vat{background:rgba(52,211,153,.14);color:#34d399}
body.ac-esp-page .vex-chip{background:rgba(139,123,255,.14);color:#d6d2ff}
body.ac-esp-page .vex-chip.none{background:rgba(251,191,36,.14);color:#fbbf24}
body.ac-esp-page .vex-chips{border-top-color:var(--esp-line)}
body.ac-esp-page .vex-switch{background:rgba(255,255,255,.16)}
body.ac-esp-page .vex-switch.on{background:var(--esp-grad);box-shadow:0 0 14px rgba(139,123,255,.55)}
body.ac-esp-page .vex-preview{background:rgba(255,255,255,.04);border-color:var(--esp-line)}
body.ac-esp-page .vex-opt{background:rgba(255,255,255,.04);border-color:var(--esp-line);color:var(--esp-text)}
body.ac-esp-page .vex-opt.on{background:rgba(139,123,255,.18);border-color:rgba(139,123,255,.6)}
body.ac-esp-page .vex-tick{border-color:var(--esp-line-2)}
body.ac-esp-page .vcc-extra{background:rgba(255,255,255,.04);border-color:var(--esp-line)}
body.ac-esp-page .vcc-extra.on{background:rgba(139,123,255,.18);border-color:rgba(139,123,255,.6)}
body.ac-esp-page .vcc-qty button{color:#e9ecff;border-color:var(--esp-line-2)}
body.ac-esp-page .vcc-form optgroup{background:#12163a;color:#a99dff}
