/* ============================================================
   Call Center Gestionale — CSS v3.5
   TUTTI i selettori prefissati con #ccg-app per battere il tema WP.
   PULSANTI: bg #191970 | border #ADD8E6 | color #ADD8E6
   CHIUDI CHIAMATA: bg #8B0000 | border #ADD8E6 | color #FFFFFF
   ============================================================ */

/* ── Nascondi barra WP e header tema ────────────────────────── */
#wpadminbar,
.site-header, header.site-header, #masthead,
.wp-block-template-part, .site-branding,
nav.main-navigation { display:none !important; }
html { margin-top:0 !important; }
body { padding-top:0 !important; }

/* ── ccg-hidden globale — copre anche elementi fuori #ccg-app ── */
.ccg-hidden { display:none !important; }

/* ── Reset base scoped ──────────────────────────────────────── */
#ccg-app {
    box-sizing: border-box;
    font-family: 'IBM Plex Sans','Segoe UI',system-ui,sans-serif;
    font-size: 14px; line-height: 1.55;
    /* Sfondo sfumato dai colori della B FBF: navy → blu medio → blu più chiaro */
    background: linear-gradient(
        150deg,
        #050e1f 0%,
        #0b1e3d 18%,
        #0d2a56 36%,
        #0f3370 52%,
        #0e2d64 68%,
        #091c47 84%,
        #040d22 100%
    ) !important;
    background-attachment: fixed !important;
    min-height: 100vh; position: relative; color: #191970;
}
#ccg-app *, #ccg-app *::before, #ccg-app *::after { box-sizing: border-box; }

/* ── Watermark: B grande e visibile ─────────────────────────── */
#ccg-app::before {
    content: '';
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 80vh; height: 80vh;
    background-image: url('../img/logo-b-watermark.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    opacity: 0.22;
    pointer-events: none;
    z-index: 0;
}
#ccg-app > * { position:relative; z-index:1; }

/* ── Header ─────────────────────────────────────────────────── */
#ccg-app .ccg-header {
    display:flex !important; align-items:center !important;
    justify-content:space-between !important;
    padding:0 28px !important; height:112px !important;
    background:#DCDCDC !important; color:#000 !important;
    position:sticky !important; top:0 !important; z-index:300 !important;
    gap:20px !important;
    border-bottom:2px solid rgba(0,0,0,0.12) !important;
    box-shadow:0 2px 10px rgba(0,0,0,0.15) !important;
}
#ccg-app .ccg-header__brand   { display:flex !important; align-items:center !important; gap:14px !important; flex-shrink:0 !important; }
#ccg-app .ccg-header__logo-wrap img { height:80px !important; object-fit:contain !important; display:block !important; border-radius:0 !important; background:none !important; border:none !important; box-shadow:none !important; }
#ccg-app .ccg-header__titles  { display:flex !important; flex-direction:column !important; line-height:1.3 !important; }
#ccg-app .ccg-header__company { font-size:18px !important; font-weight:700 !important; color:#000 !important; }
#ccg-app .ccg-header__sub     { font-size:13px !important; opacity:.55 !important; color:#000 !important; }
#ccg-app .ccg-header__center  { flex:1 !important; display:flex !important; justify-content:center !important; align-items:center !important; overflow:hidden !important; }
#ccg-app .ccg-header__operator{ display:flex !important; align-items:center !important; gap:10px !important; flex-shrink:0 !important; }
#ccg-app .ccg-header__avatar  { width:38px !important; height:38px !important; border-radius:50% !important; background:#1A1A2E !important; color:#ADD8E6 !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:14px !important; font-weight:700 !important; border:2px solid rgba(0,0,0,0.2) !important; }
#ccg-app .ccg-header__op-meta { display:flex !important; flex-direction:column !important; line-height:1.25 !important; }
#ccg-app .ccg-header__op-meta span { font-size:13px !important; font-weight:500 !important; color:#000 !important; }
#ccg-app .ccg-header__op-email { font-size:11px !important; opacity:.5 !important; }

/* ── Progress steps ─────────────────────────────────────────── */
#ccg-app .ccg-progress { display:flex !important; align-items:center !important; gap:0 !important; max-width:440px !important; width:100% !important; }
#ccg-app .ccg-progress__step {
    width:36px !important; height:36px !important; border-radius:8px !important;
    background:#191970 !important;
    border:2px solid #ADD8E6 !important;
    color:#ADD8E6 !important;
    font-size:13px !important; font-weight:700 !important;
    cursor:pointer !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    line-height:1 !important; padding:0 !important; flex-shrink:0 !important;
    transition:background .2s !important;
    /* Reset qualsiasi cosa del tema */
    text-decoration:none !important; outline:none !important;
    box-shadow:none !important;
}
#ccg-app .ccg-progress__step.is-active { background:#F4A460 !important; border-color:#FFFFFF !important; color:#1A1A2E !important; }
#ccg-app .ccg-progress__step.is-done   { background:#5a8a3c !important; border-color:#FFFFFF !important; color:#FFFFFF !important; }
#ccg-app .ccg-progress__line      { flex:1 !important; height:2px !important; background:rgba(255,255,255,0.2) !important; transition:background .3s !important; }
#ccg-app .ccg-progress__line.is-done { background:#5a8a3c !important; }

/* ── Layout ─────────────────────────────────────────────────── */
#ccg-app .ccg-body { display:grid !important; grid-template-columns:290px 1fr !important; gap:18px !important; padding:18px 20px !important; max-width:1100px !important; margin:0 auto !important; }
@media(max-width:780px){ #ccg-app .ccg-body{ grid-template-columns:1fr !important; } }

/* ── Sidebar ────────────────────────────────────────────────── */
#ccg-app .ccg-sidebar { position:sticky !important; top:120px !important; align-self:start !important; max-height:calc(100vh - 130px) !important; overflow-y:auto !important; z-index:10 !important; scrollbar-width:thin !important; scrollbar-color:rgba(25,25,112,.2) transparent !important; }
@media(max-width:780px){ #ccg-app .ccg-sidebar{ position:static !important; max-height:none !important; overflow-y:visible !important; } }

/* ── Card ───────────────────────────────────────────────────── */
#ccg-app .ccg-card { background:rgba(245,247,250,0.92) !important; border:1px solid #191970 !important; border-radius:8px !important; box-shadow:0 2px 8px rgba(0,0,0,0.18) !important; padding:14px !important; margin-bottom:12px !important; color:#191970 !important; }
#ccg-app .ccg-card:last-child { margin-bottom:0 !important; }
#ccg-app .ccg-card-head { display:flex !important; align-items:center !important; gap:7px !important; margin-bottom:12px !important; padding-bottom:8px !important; border-bottom:1px solid rgba(25,25,112,0.25) !important; }
#ccg-app .ccg-card-head__title { font-size:11px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.06em !important; color:#191970 !important; margin:0 !important; flex:1 !important; }

/* Badge */
#ccg-app .ccg-badge     { font-size:10px !important; font-weight:700 !important; padding:2px 7px !important; border-radius:20px !important; background:rgba(25,25,112,0.12) !important; color:#191970 !important; }
#ccg-app .ccg-badge--ok { background:#dcfce7 !important; color:#166534 !important; }

/* Skeleton */
#ccg-app .ccg-skeleton { padding:4px 0 !important; }
#ccg-app .ccg-sk-line { height:11px !important; border-radius:4px !important; background:linear-gradient(90deg,rgba(25,25,112,.1)25%,rgba(25,25,112,.2)50%,rgba(25,25,112,.1)75%) !important; background-size:200% 100% !important; animation:ccg-shimmer 1.4s infinite !important; margin-bottom:10px !important; }
#ccg-app .ccg-sk-line--wide{width:88% !important} #ccg-app .ccg-sk-line--half{width:45% !important}
@keyframes ccg-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Lead */
#ccg-app .ccg-lead-avatar { width:48px !important; height:48px !important; border-radius:50% !important; background:#1A1A2E !important; color:#ADD8E6 !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:17px !important; font-weight:700 !important; margin:0 auto 8px !important; border:2px solid #191970 !important; }
#ccg-app .ccg-lead-name   { text-align:center !important; font-size:15px !important; font-weight:700 !important; margin:0 0 2px !important; color:#191970 !important; }
#ccg-app .ccg-lead-company{ text-align:center !important; font-size:12px !important; color:rgba(25,25,112,.6) !important; margin:0 0 10px !important; }
#ccg-app .ccg-lead-dl     { display:grid !important; grid-template-columns:20px 1fr !important; gap:4px 8px !important; font-size:12px !important; margin:0 0 10px !important; }
#ccg-app .ccg-lead-dl dt  { color:rgba(25,25,112,.5) !important; }
#ccg-app .ccg-lead-dl dd  { margin:0 !important; }
#ccg-app .ccg-link        { color:#1A1A2E !important; text-decoration:none !important; font-weight:600 !important; }
#ccg-app .ccg-twenty-link { display:block !important; text-align:center !important; font-size:12px !important; color:#1A1A2E !important; text-decoration:none !important; font-weight:600 !important; padding:6px !important; border:1px dashed rgba(25,25,112,.3) !important; border-radius:6px !important; }
#ccg-app .ccg-no-lead     { text-align:center !important; color:rgba(25,25,112,.6) !important; font-size:13px !important; padding:8px 0 !important; }

/* Timer */
#ccg-app .ccg-timer-card { text-align:center !important; }
#ccg-app .ccg-timer { font-family:'IBM Plex Mono','Courier New',monospace !important; font-size:36px !important; font-weight:700 !important; letter-spacing:.06em !important; color:#191970 !important; margin:4px 0 12px !important; }
#ccg-app .ccg-timer--run  { color:#166534 !important; }
#ccg-app .ccg-timer--stop { color:#92400e !important; }
#ccg-app .ccg-timer-btns  { display:flex !important; gap:6px !important; justify-content:center !important; }

/* Score */
#ccg-app .ccg-score-meter { height:6px !important; background:rgba(25,25,112,.15) !important; border-radius:4px !important; overflow:hidden !important; margin-bottom:8px !important; }
#ccg-app .ccg-score-bar   { height:100% !important; border-radius:4px !important; background:linear-gradient(90deg,#444,#F4A460 50%,#5a8a3c) !important; transition:width .4s ease !important; }
#ccg-app .ccg-score-row   { display:flex !important; justify-content:space-between !important; font-size:12px !important; color:rgba(25,25,112,.7) !important; margin-bottom:3px !important; }
#ccg-app .ccg-score-row strong { color:#191970 !important; }

/* ═══════════════════════════════════════════════════════════════
   TUTTI I PULSANTI — REGOLA UNICA, MASSIMA SPECIFICITÀ
   bg #191970 | border 2px #ADD8E6 | color #ADD8E6
   ═══════════════════════════════════════════════════════════════ */
#ccg-app button,
#ccg-app .ccg-btn,
#ccg-app .ccg-btn--ghost,
#ccg-app .ccg-btn--prev,
#ccg-app .ccg-btn--next,
#ccg-app .ccg-btn--save,
#ccg-app .ccg-btn--primary,
#ccg-app .ccg-btn--sm,
#ccg-app .ccg-btn--lg,
#ccg-app .ccg-yesno,
#ccg-app .ccg-yesno--yes,
#ccg-app .ccg-yesno--no,
#ccg-app .ccg-btn-lost,
#ccg-app .ccg-outcome-btn {
    background:#191970 !important;
    border:2px solid #ADD8E6 !important;
    color:#ADD8E6 !important;
    font-family:'IBM Plex Sans','Segoe UI',system-ui,sans-serif !important;
    font-weight:600 !important;
    border-radius:6px !important;
    cursor:pointer !important;
    text-decoration:none !important;
    outline:none !important;
    transition:background .15s, transform .1s !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
}
/* Hover generico */
#ccg-app button:not(:disabled):hover,
#ccg-app .ccg-btn:not(:disabled):hover,
#ccg-app .ccg-yesno:not(:disabled):hover,
#ccg-app .ccg-outcome-btn:not(:disabled):hover { background:#2d2d8e !important; }
/* Active */
#ccg-app button:not(:disabled):active,
#ccg-app .ccg-btn:not(:disabled):active { transform:scale(.97) !important; }
/* Disabled */
#ccg-app button:disabled,
#ccg-app .ccg-btn:disabled { opacity:.38 !important; cursor:not-allowed !important; }

/* Padding specifici */
#ccg-app .ccg-btn        { padding:8px 14px !important; font-size:13px !important; }
#ccg-app .ccg-btn--sm    { padding:5px 10px !important; font-size:12px !important; }
#ccg-app .ccg-btn--save  { padding:12px 26px !important; font-size:15px !important; }
#ccg-app .ccg-yesno      { flex:1 !important; padding:11px 16px !important; font-size:14px !important; font-weight:700 !important; }
#ccg-app .ccg-timer-btns button { padding:5px 10px !important; font-size:12px !important; }

/* Stato attivo yes/no */
#ccg-app .ccg-yesno--yes.is-active { background:#166534 !important; border-color:#FFFFFF !important; color:#FFFFFF !important; }
#ccg-app .ccg-yesno--no.is-active  { background:#2d2d8e !important; border-color:#FFFFFF !important; color:#FFFFFF !important; }

/* Outcome attivo */
#ccg-app .ccg-outcome-btn {
    padding:10px 8px !important; font-size:11px !important;
    line-height:1.3 !important; word-break:break-word !important;
    white-space:normal !important; hyphens:auto !important;
    border-radius:8px !important;
}
#ccg-app .ccg-outcome-btn.is-active { background:#2d2d8e !important; border-color:#FFFFFF !important; color:#FFFFFF !important; box-shadow:0 0 0 2px rgba(173,216,230,.4) !important; }

/* Spinner */
#ccg-app .ccg-btn__spin { display:none !important; width:15px !important; height:15px !important; border:2px solid rgba(255,255,255,.3) !important; border-top-color:#fff !important; border-radius:50% !important; animation:ccg-spin .7s linear infinite !important; }
#ccg-app .ccg-btn--loading .ccg-btn__label { display:none !important; }
#ccg-app .ccg-btn--loading .ccg-btn__spin  { display:block !important; }
@keyframes ccg-spin{to{transform:rotate(360deg)}}

/* ═══════════════════════════════════════════════════════════════
   CHIUDI CHIAMATA — unico pulsante rosso scuro
   ═══════════════════════════════════════════════════════════════ */
#ccg-app .ccg-btn-forced-close {
    background:#8B0000 !important;
    border:2px solid #ADD8E6 !important;
    color:#FFFFFF !important;
    padding:8px 16px !important; border-radius:6px !important;
    font-size:12px !important; font-weight:700 !important;
    cursor:pointer !important; font-family:inherit !important;
    display:inline-flex !important; align-items:center !important; gap:5px !important;
    transition:background .15s !important;
}
#ccg-app .ccg-btn-forced-close:hover { background:#6b0000 !important; }
#ccg-app .ccg-forced-close-wrap { display:flex !important; justify-content:flex-end !important; margin-top:12px !important; }

/* ── Blocchi script ──────────────────────────────────────────── */
#ccg-app .ccg-block { background:rgba(245,247,250,0.92) !important; border:1px solid rgba(25,25,112,.3) !important; border-radius:8px !important; box-shadow:0 2px 8px rgba(0,0,0,0.18) !important; padding:20px !important; animation:ccg-fadein .25s ease !important; color:#191970 !important; }
#ccg-app .ccg-block--hidden { display:none !important; }
@keyframes ccg-fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
#ccg-app .ccg-block__head { display:flex !important; align-items:flex-start !important; gap:12px !important; margin-bottom:16px !important; padding-bottom:14px !important; border-bottom:2px solid rgba(25,25,112,0.2) !important; }
/* Numero blocco: stesso stile btn */
#ccg-app .ccg-block__num { width:32px !important; height:32px !important; border-radius:6px !important; background:#191970 !important; border:2px solid #ADD8E6 !important; color:#ADD8E6 !important; font-size:14px !important; font-weight:700 !important; display:flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; flex-shrink:0 !important; padding:0 !important; }
#ccg-app .ccg-block__title { font-size:16px !important; font-weight:700 !important; margin:0 0 2px !important; color:#191970 !important; }
#ccg-app .ccg-block__hint  { font-size:12px !important; color:rgba(25,25,112,.6) !important; margin:0 !important; }
#ccg-app .ccg-block__foot  { display:flex !important; align-items:center !important; justify-content:space-between !important; flex-wrap:wrap !important; gap:10px !important; margin-top:20px !important; padding-top:16px !important; border-top:1px solid rgba(25,25,112,0.2) !important; }

/* ── Script box ──────────────────────────────────────────────── */
#ccg-app .ccg-script-box { background:rgba(255,255,255,0.75) !important; border-left:4px solid #191970 !important; border-radius:0 6px 6px 0 !important; padding:12px 14px !important; margin-bottom:14px !important; }
#ccg-app .ccg-script-box--sm { margin-bottom:10px !important; padding:8px 12px !important; }
#ccg-app .ccg-script-text { margin:0 !important; font-size:14px !important; line-height:1.6 !important; color:#1A1A2E !important; }
#ccg-app .ccg-script-box--cond { border-left-color:#D97706 !important; background:rgba(255,251,235,0.85) !important; }
#ccg-app .ccg-cond-label { display:inline-block !important; font-size:10px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.06em !important; color:#D97706 !important; margin-bottom:4px !important; }
#ccg-app .ccg-script-box--warn { border-left-color:#191970 !important; background:rgba(255,251,235,0.9) !important; }

/* ── Form ────────────────────────────────────────────────────── */
#ccg-app .ccg-fields { display:flex !important; flex-direction:column !important; gap:14px !important; }
#ccg-app .ccg-fg     { display:flex !important; flex-direction:column !important; gap:5px !important; }
#ccg-app .ccg-label  { font-size:11px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.06em !important; color:#191970 !important; background:#FFFFFF !important; padding:2px 6px !important; border-radius:3px !important; display:inline-block !important; width:fit-content !important; }
#ccg-app .ccg-req    { color:#191970 !important; font-weight:900 !important; }

#ccg-app .ccg-input, #ccg-app .ccg-textarea { width:100% !important; padding:8px 11px !important; border:1px solid #696969 !important; border-radius:6px !important; font-size:14px !important; color:#222 !important; background:#FFFFFF !important; font-family:inherit !important; transition:border-color .15s !important; }
#ccg-app .ccg-input:focus, #ccg-app .ccg-textarea:focus { outline:none !important; border-color:#191970 !important; box-shadow:0 0 0 3px rgba(25,25,112,.15) !important; }
#ccg-app .ccg-textarea { resize:vertical !important; min-height:72px !important; }

#ccg-app .ccg-select { width:100% !important; padding:8px 11px !important; border:2px solid #ADD8E6 !important; border-radius:6px !important; font-size:14px !important; color:#ADD8E6 !important; background:#191970 !important; font-family:inherit !important; cursor:pointer !important; }
#ccg-app .ccg-select:focus { outline:none !important; border-color:#FFFFFF !important; }
#ccg-app .ccg-select option { background:#191970 !important; color:#ADD8E6 !important; }

#ccg-app .ccg-row-2 { display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; }
@media(max-width:500px){ #ccg-app .ccg-row-2{ grid-template-columns:1fr !important; } }

/* Checkgroup */
#ccg-app .ccg-checkgroup { display:flex !important; flex-wrap:wrap !important; gap:7px !important; }
#ccg-app .ccg-check { display:flex !important; align-items:center !important; gap:5px !important; padding:5px 10px !important; border:1px solid #191970 !important; border-radius:20px !important; cursor:pointer !important; font-size:12px !important; font-weight:500 !important; background:rgba(255,255,255,0.5) !important; color:#191970 !important; transition:all .15s !important; user-select:none !important; }
#ccg-app .ccg-check input { display:none !important; }
#ccg-app .ccg-check:has(input:checked) { background:#191970 !important; color:#ADD8E6 !important; border-color:#ADD8E6 !important; }

/* Yes/No group */
#ccg-app .ccg-yesno-group { display:flex !important; gap:10px !important; margin-top:6px !important; }

/* Condizionali */
#ccg-app .ccg-sub-question { margin-bottom:18px !important; }
#ccg-app .ccg-sub-question + .ccg-sub-question { padding-top:14px !important; border-top:1px dashed rgba(25,25,112,.2) !important; }
#ccg-app .ccg-hidden { display:none !important; }

/* Contatti */
#ccg-app .ccg-contacts-readonly { background:rgba(255,255,255,.5) !important; border-radius:8px !important; padding:10px 14px !important; margin-top:8px !important; display:flex !important; flex-direction:column !important; gap:6px !important; border:1px solid #191970 !important; }
#ccg-app .ccg-contact-item  { display:flex !important; align-items:center !important; gap:10px !important; font-size:13px !important; }
#ccg-app .ccg-contact-label { color:rgba(25,25,112,.5) !important; min-width:70px !important; }
#ccg-app .ccg-contact-value { font-weight:600 !important; color:#191970 !important; }

/* ── Modale ──────────────────────────────────────────────────── */
#ccg-app .ccg-modal-overlay { position:fixed !important; inset:0 !important; background:rgba(0,0,0,0.65) !important; backdrop-filter:blur(3px) !important; z-index:9998 !important; align-items:center !important; justify-content:center !important; display:none !important; }
#ccg-app .ccg-modal-overlay.is-open { display:flex !important; }
#ccg-app .ccg-modal { background:rgba(245,247,250,0.97) !important; border-radius:12px !important; padding:26px 30px !important; max-width:420px !important; width:90% !important; box-shadow:0 20px 60px rgba(0,0,0,.35) !important; border:1px solid #191970 !important; color:#191970 !important; }
#ccg-app .ccg-modal__title { font-size:16px !important; font-weight:700 !important; margin-bottom:6px !important; color:#191970 !important; }
#ccg-app .ccg-modal__desc  { font-size:13px !important; color:rgba(25,25,112,.6) !important; margin-bottom:14px !important; }

/* Sub-step / Sub-block */
#ccg-app .ccg-sub-step { border:1px solid rgba(25,25,112,.2) !important; border-radius:10px !important; padding:16px !important; margin-bottom:4px !important; background:rgba(255,255,255,.2) !important; }
#ccg-app .ccg-sub-step__label { font-size:11px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.07em !important; color:#191970 !important; margin-bottom:14px !important; padding-bottom:8px !important; border-bottom:1px solid rgba(25,25,112,.15) !important; }
#ccg-app .ccg-sub-divider { height:10px !important; }
#ccg-app .ccg-sub { border:1px solid rgba(25,25,112,.2) !important; border-radius:8px !important; padding:14px !important; margin-top:12px !important; background:rgba(255,255,255,.2) !important; animation:ccg-fadein .2s ease !important; }
#ccg-app .ccg-sub__label { font-size:12px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.06em !important; color:#191970 !important; margin-bottom:12px !important; padding-bottom:8px !important; border-bottom:1px solid rgba(25,25,112,.15) !important; }

/* Serr grid */
#ccg-app .ccg-serr-grid { border:1px solid rgba(25,25,112,.2) !important; border-radius:8px !important; overflow:hidden !important; }
#ccg-app .ccg-serr-grid__head { display:grid !important; grid-template-columns:1fr 70px 150px !important; padding:8px 12px !important; background:#191970 !important; color:#ADD8E6 !important; font-size:11px !important; font-weight:700 !important; text-transform:uppercase !important; }
#ccg-app .ccg-serr-row { display:grid !important; grid-template-columns:1fr 70px 150px !important; padding:6px 12px !important; align-items:center !important; border-bottom:1px solid rgba(25,25,112,.1) !important; }
#ccg-app .ccg-serr-row:last-child { border-bottom:none !important; }
#ccg-app .ccg-serr-row:nth-child(even) { background:rgba(255,255,255,.2) !important; }
#ccg-app .ccg-serr-check { display:flex !important; align-items:center !important; gap:8px !important; font-size:13px !important; cursor:pointer !important; color:#191970 !important; }
#ccg-app .ccg-serr-num { padding:4px 8px !important; font-size:13px !important; border-radius:4px !important; border:1px solid #696969 !important; background:#FFFFFF !important; color:#222 !important; }
#ccg-app .ccg-serr-mat { padding:4px 6px !important; font-size:12px !important; border-radius:4px !important; border:2px solid #ADD8E6 !important; background:#191970 !important; color:#ADD8E6 !important; }
#ccg-app .ccg-serr-num:disabled, #ccg-app .ccg-serr-mat:disabled { opacity:.3 !important; }

/* Valutazione interna */
#ccg-app .ccg-internal-note { background:rgba(26,26,46,.08) !important; border:1px solid #1A1A2E !important; border-radius:8px !important; padding:14px !important; margin-top:14px !important; }
#ccg-app .ccg-internal-note__label { font-size:11px !important; font-weight:700 !important; color:#1A1A2E !important; text-transform:uppercase !important; letter-spacing:.06em !important; margin-bottom:12px !important; }
#ccg-app .ccg-eval-multi { display:flex !important; flex-wrap:wrap !important; gap:6px !important; margin-top:6px !important; }
#ccg-app .ccg-eval-multi label { display:flex !important; align-items:center !important; gap:5px !important; padding:4px 10px !important; border:1px solid rgba(26,26,46,.25) !important; border-radius:20px !important; font-size:12px !important; font-weight:500 !important; color:#1A1A2E !important; cursor:pointer !important; background:rgba(255,255,255,.35) !important; transition:all .15s !important; }
#ccg-app .ccg-eval-multi label:has(input:checked) { background:#191970 !important; color:#ADD8E6 !important; border-color:#ADD8E6 !important; }
#ccg-app .ccg-eval-multi input { display:none !important; }

/* Nav / Tips */
#ccg-app .ccg-nav-btns { display:flex !important; gap:8px !important; align-items:center !important; width:100% !important; }
#ccg-app .ccg-tips     { display:flex !important; gap:8px !important; flex-wrap:wrap !important; }
#ccg-app .ccg-tip      { font-size:11px !important; font-weight:600 !important; padding:3px 8px !important; border-radius:4px !important; }
#ccg-app .ccg-tip--warn{ background:#E5E7EB !important; color:#1A1A2E !important; }
#ccg-app .ccg-tip--ok  { background:#DCFCE7 !important; color:#166534 !important; }

/* Score recap */
#ccg-app .ccg-score-recap { display:flex !important; align-items:center !important; gap:16px !important; background:rgba(255,255,255,.3) !important; border:1px solid rgba(25,25,112,.2) !important; border-radius:10px !important; padding:16px !important; margin-bottom:14px !important; }
#ccg-app .ccg-score-recap__num     { font-size:48px !important; font-weight:800 !important; font-family:'IBM Plex Mono',monospace !important; color:#191970 !important; line-height:1 !important; }
#ccg-app .ccg-score-recap__temp    { font-size:16px !important; font-weight:700 !important; margin:0 0 2px !important; color:#191970 !important; }
#ccg-app .ccg-score-recap__quality { font-size:13px !important; color:rgba(25,25,112,.6) !important; margin:0 !important; }

/* Budget */
#ccg-app .ccg-budget-calc  { background:rgba(255,255,255,.3) !important; border:1px solid rgba(25,25,112,.25) !important; border-radius:10px !important; padding:16px !important; margin-bottom:14px !important; }
#ccg-app .ccg-budget-calc__title { font-size:12px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.06em !important; color:#191970 !important; margin-bottom:14px !important; padding-bottom:8px !important; border-bottom:1px solid rgba(25,25,112,.15) !important; display:flex !important; align-items:center !important; gap:6px !important; }
#ccg-app .ccg-budget-lines { display:flex !important; flex-direction:column !important; gap:6px !important; margin-bottom:12px !important; }
#ccg-app .ccg-budget-line  { display:flex !important; justify-content:space-between !important; align-items:center !important; font-size:13px !important; padding:6px 10px !important; background:rgba(255,255,255,.4) !important; border-radius:6px !important; border:1px solid rgba(25,25,112,.1) !important; }
#ccg-app .ccg-budget-line__label { color:#191970 !important; font-weight:500 !important; }
#ccg-app .ccg-budget-line__range { color:#191970 !important; font-weight:700 !important; font-family:monospace !important; font-size:12px !important; }
#ccg-app .ccg-budget-total { display:flex !important; justify-content:space-between !important; align-items:center !important; padding:10px 14px !important; background:#191970 !important; color:#ADD8E6 !important; border-radius:8px !important; margin-bottom:10px !important; font-weight:700 !important; }
#ccg-app .ccg-budget-compare { padding:10px 14px !important; border-radius:8px !important; font-size:13px !important; font-weight:600 !important; text-align:center !important; display:flex !important; align-items:center !important; gap:8px !important; justify-content:center !important; }
#ccg-app .ccg-budget-compare--ok    { background:#DCFCE7 !important; color:#166534 !important; border:1px solid #86efac !important; }
#ccg-app .ccg-budget-compare--warn  { background:#FEF9C3 !important; color:#713f12 !important; border:1px solid #fde047 !important; }
#ccg-app .ccg-budget-compare--alert { background:#E5E7EB !important; color:#1A1A2E !important; border:1px solid #9CA3AF !important; }
#ccg-app .ccg-budget-compare--none  { background:rgba(25,25,112,.08) !important; color:#191970 !important; border:1px solid rgba(25,25,112,.15) !important; }

/* Alert budget inferiore */
#ccg-app .ccg-budget-alert { background:rgba(255,255,255,.3) !important; border:2px solid #191970 !important; border-radius:10px !important; padding:16px !important; margin-bottom:14px !important; animation:ccg-fadein .2s ease !important; }
#ccg-app .ccg-budget-alert__title { font-size:13px !important; font-weight:700 !important; color:#191970 !important; margin-bottom:12px !important; }
#ccg-app .ccg-budget-alert__opts  { display:flex !important; gap:10px !important; flex-wrap:wrap !important; }

/* Pannelli appuntamento / preventivo */
#ccg-app .ccg-appointment-panel,
#ccg-app .ccg-preventivo-panel { background:rgba(255,255,255,.3) !important; border:1px solid rgba(25,25,112,.25) !important; border-radius:10px !important; padding:16px !important; margin-top:4px !important; animation:ccg-fadein .2s ease !important; }
#ccg-app .ccg-appointment-panel__title,
#ccg-app .ccg-preventivo-panel__title { font-size:12px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.06em !important; color:#191970 !important; margin-bottom:14px !important; padding-bottom:8px !important; border-bottom:1px solid rgba(25,25,112,.15) !important; display:flex !important; align-items:center !important; gap:6px !important; }
#ccg-app .ccg-appt-slots { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin-top:8px !important; }
#ccg-app .ccg-appt-note  { font-size:11px !important; font-style:italic !important; color:rgba(25,25,112,.55) !important; margin-top:8px !important; }

/* Placeholder preventivazione */
#ccg-app .ccg-preventivo-placeholder { background:rgba(25,25,112,.06) !important; border:2px dashed #191970 !important; border-radius:8px !important; padding:20px !important; text-align:center !important; color:#191970 !important; margin-top:12px !important; animation:ccg-fadein .2s ease !important; }
#ccg-app .ccg-preventivo-placeholder__title { font-size:15px !important; font-weight:700 !important; margin-bottom:8px !important; }
#ccg-app .ccg-preventivo-placeholder__desc  { font-size:13px !important; opacity:.7 !important; line-height:1.6 !important; }

/* Obiettivo */
#ccg-app .ccg-obiettivo-panel { background:rgba(255,255,255,.3) !important; border:1px solid rgba(25,25,112,.2) !important; border-radius:8px !important; padding:14px !important; margin-top:12px !important; }

/* Casi esito */
#ccg-app .ccg-case      { padding:12px 14px !important; border-radius:8px !important; margin-bottom:8px !important; }
#ccg-app .ccg-case--hot { background:rgba(34,197,94,.15) !important;  border:1.5px solid #166534 !important; }
#ccg-app .ccg-case--mid { background:rgba(244,164,96,.2) !important;  border:1.5px solid #F4A460 !important; }
#ccg-app .ccg-case--cold{ background:rgba(25,25,112,.08) !important;  border:1.5px solid #191970 !important; }
#ccg-app .ccg-case__head{ font-size:12px !important; font-weight:700 !important; margin-bottom:6px !important; color:#191970 !important; }

/* Misc */
#ccg-app .ccg-field-note  { font-size:11px !important; color:rgba(25,25,112,.5) !important; margin-top:4px !important; font-style:italic !important; }
#ccg-app .ccg-submit-hint { text-align:center !important; font-size:12px !important; color:rgba(25,25,112,.5) !important; margin-top:8px !important; }

/* Toast */
#ccg-app .ccg-toasts { position:fixed !important; bottom:20px !important; right:20px !important; z-index:9999 !important; display:flex !important; flex-direction:column !important; gap:8px !important; pointer-events:none !important; }
#ccg-app .ccg-toast  { display:flex !important; align-items:center !important; gap:9px !important; padding:11px 15px !important; border-radius:8px !important; font-size:13px !important; font-weight:500 !important; min-width:240px !important; max-width:360px !important; box-shadow:0 4px 14px rgba(0,0,0,.2) !important; pointer-events:all !important; animation:ccg-toast-in .22s ease !important; }
#ccg-app .ccg-toast--success { background:#166534 !important; color:#dcfce7 !important; }
#ccg-app .ccg-toast--error   { background:#1A1A2E !important; color:#ADD8E6 !important; }
#ccg-app .ccg-toast--info    { background:#1A1A2E !important; color:#ADD8E6 !important; }
@keyframes ccg-toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Logout */
#ccg-app .ccg-logout-btn { color:rgba(0,0,0,.4) !important; text-decoration:none !important; font-size:16px !important; padding:4px 8px !important; border-radius:4px !important; transition:color .15s !important; background:transparent !important; border:none !important; }
#ccg-app .ccg-logout-btn:hover { color:#000 !important; }

/* ── Container più trasparenti ──────────────────────────────── */
#ccg-app .ccg-card  { background: rgba(245,247,250,0.72) !important; }
#ccg-app .ccg-block { background: rgba(245,247,250,0.72) !important; }
#ccg-app .ccg-sub-step { background: rgba(255,255,255,0.18) !important; }
#ccg-app .ccg-sub       { background: rgba(255,255,255,0.18) !important; }

/* ── Sezione label serramenti ────────────────────────────────── */
#ccg-app .ccg-serr-section-label {
    font-size: 11px !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: .06em !important;
    color: #191970 !important; margin: 10px 0 6px !important;
    padding-bottom: 4px !important;
    border-bottom: 1px solid rgba(25,25,112,.2) !important;
    display: flex !important; align-items: center !important; gap: 8px !important;
}

/* ── Tabella interventi edilizia ────────────────────────────── */
#ccg-app .ccg-interv-table {
    border: 1px solid rgba(25,25,112,.2) !important;
    border-radius: 8px !important; overflow: hidden !important;
    width: 100% !important;
}
#ccg-app .ccg-interv-head {
    display: grid !important;
    grid-template-columns: 2fr 80px 130px 130px !important;
    padding: 8px 12px !important;
    background: #191970 !important; color: #ADD8E6 !important;
    font-size: 11px !important; font-weight: 700 !important;
    text-transform: uppercase !important; gap: 8px !important;
}
#ccg-app .ccg-interv-row {
    display: grid !important;
    grid-template-columns: 2fr 80px 130px 130px !important;
    padding: 6px 12px !important; gap: 8px !important;
    align-items: center !important;
    border-bottom: 1px solid rgba(25,25,112,.1) !important;
}
#ccg-app .ccg-interv-row:last-child { border-bottom: none !important; }
#ccg-app .ccg-interv-row:nth-child(even) { background: rgba(255,255,255,.15) !important; }
#ccg-app .ccg-interv-name { font-size: 13px !important; color: #191970 !important; font-weight: 500 !important; }
/* Select dentro la tabella: dimensioni ridotte */
#ccg-app .ccg-interv-sifa,
#ccg-app .ccg-interv-est,
#ccg-app .ccg-interv-liv {
    padding: 4px 6px !important; font-size: 12px !important;
}

/* ── Sezione Vepa/Tenda ─────────────────────────────────────── */
#ccg-app .ccg-vepa-section {
    border: 1px solid rgba(25,25,112,.2) !important;
    border-radius: 8px !important; overflow: hidden !important;
}
#ccg-app .ccg-vepa-row {
    padding: 10px 14px !important;
    border-bottom: 1px solid rgba(25,25,112,.1) !important;
    background: rgba(255,255,255,.15) !important;
}
#ccg-app .ccg-vepa-row:last-child { border-bottom: none !important; }
#ccg-app .ccg-vepa-check-wrap { margin-bottom: 8px !important; }
#ccg-app .ccg-vepa-dims { padding-top: 4px !important; }
