/* ═══════════════════════════════════════════════════════════════════
   CCH Promemoria – Frontend Styles
   Brand: CecchinatoHR  ·  v1.0.0
═══════════════════════════════════════════════════════════════════ */

/* Token --cch-*: alias definiti in assets/tokens.css */

/* ── Wrap ────────────────────────────────────────────────────────── */
#cch-prom-app {
    font-family: var(--chr-font);
    -webkit-font-smoothing: antialiased;
    font-size: 14px;
    color: var(--cch-text);
    /* v4.9.13: allineato alla larghezza di Workflow e Time Shift.
       Per tornare alla colonna stretta: rimettere 860px. */
    max-width: var(--chr-app-width);
    margin: 0 auto;
    padding: 20px 20px 0;
    position: relative;
}

.cch-panel {
    animation: cchFadeIn .25s ease;
}

@keyframes cchFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Loading ─────────────────────────────────────────────────────── */
#cch-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
}

.cch-spinner, .cch-spinner-inline {
    width: 36px;
    height: 36px;
    border: 3px solid var(--cch-border);
    border-top-color: var(--cch-navy);
    border-radius: 50%;
    animation: cchSpin .75s linear infinite;
    margin: 40px auto;
}

.cch-spinner-inline {
    width: 24px;
    height: 24px;
    margin: 20px auto;
}

@keyframes cchSpin { to { transform: rotate(360deg); } }

/* ── Login ───────────────────────────────────────────────────────── */
.cch-login-box {
    background: var(--cch-surface);
    border-radius: var(--cch-radius);
    box-shadow: var(--cch-shadow);
    max-width: 400px;
    margin: 40px auto;
    padding: 40px 36px 32px;
}

.cch-login-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 28px;
}

.cch-logo-icon {
    font-size: 28px;
    line-height: 1;
}

.cch-logo-brand {
    font-size: 20px;
    color: var(--cch-navy);
    letter-spacing: .5px;
}

.cch-login-footer {
    text-align: center;
    color: var(--cch-muted);
    font-size: 11px;
    margin: 20px 0 0;
    letter-spacing: .3px;
}

/* ── Form fields ─────────────────────────────────────────────────── */
.cch-field {
    margin-bottom: 16px;
}

.cch-field label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--cch-muted);
    margin-bottom: 6px;
}

.cch-field input[type="email"],
.cch-field input[type="password"],
.cch-field input[type="datetime-local"],
.cch-field textarea,
.cch-field select {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 14px;
    border: 1.5px solid var(--cch-border);
    border-radius: 7px;
    font-size: 14px;
    color: var(--cch-text);
    background: var(--cch-surface);
    transition: border-color .15s;
    outline: none;
}

.cch-field input:focus,
.cch-field textarea:focus,
.cch-field select:focus {
    border-color: var(--cch-navy);
    box-shadow: 0 0 0 3px rgba(26,58,92,.08);
}

.cch-field textarea {
    resize: vertical;
    min-height: 90px;
}

.cch-req {
    color: var(--cch-danger);
}

/* ── Buttons ─────────────────────────────────────────────────────── */
.cch-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: background .15s, transform .1s, opacity .15s;
    white-space: nowrap;
    text-decoration: none;
    line-height: 1.4;
}

.cch-btn:active { transform: scale(.97); }

.cch-btn-primary {
    background: var(--cch-navy);
    color: #fff;
    border-color: var(--cch-navy);
}
.cch-btn-primary:hover { background: var(--cch-navy-dark); border-color: var(--cch-navy-dark); }

.cch-btn-ghost {
    background: transparent;
    color: var(--cch-navy);
    border-color: var(--cch-border);
}
.cch-btn-ghost:hover { background: var(--cch-bg); }

.cch-btn-danger {
    background: transparent;
    color: var(--cch-danger);
    border-color: var(--cch-danger);
}
.cch-btn-danger:hover { background: var(--chr-error-bg); }

.cch-btn-sm { padding: 5px 11px; font-size: 12px; border-radius: 5px; }

.cch-btn-full { width: 100%; justify-content: center; padding: 12px; font-size: 15px; }

.cch-btn:disabled { opacity: .55; cursor: not-allowed; }

/* ── Alerts ──────────────────────────────────────────────────────── */
.cch-alert {
    border-radius: 7px;
    padding: 10px 14px;
    font-size: 13px;
    margin-top: 4px;
}
.cch-alert-error {
    background: var(--chr-error-bg);
    color: #922b21;
    border: 1px solid #f1a9a0;
}

/* ── Header ──────────────────────────────────────────────────────── */
.cch-header {
    background: var(--cch-navy);
    border-radius: var(--cch-radius) var(--cch-radius) 0 0;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cch-header-brand {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .5px;
}

.cch-header-user {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #b8cfe0;
    font-size: 13px;
}

.cch-admin-tag {
    background: var(--cch-accent);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 8px;
    vertical-align: middle;
    margin-left: 4px;
    letter-spacing: .3px;
    text-transform: uppercase;
}

.cch-header .cch-btn-ghost {
    color: #b8cfe0;
    border-color: rgba(255,255,255,.25);
    font-size: 12px;
}
.cch-header .cch-btn-ghost:hover { background: rgba(255,255,255,.1); }

/* ── Tabs ────────────────────────────────────────────────────────── */
.cch-tabs {
    background: #f0f3f8;
    border-bottom: 1.5px solid var(--cch-border);
    display: flex;
    padding: 0 20px;
    gap: 0;
}

.cch-tab {
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 12px 20px;
    font-size: 13px;
    font-weight: 600;
    color: var(--cch-muted);
    cursor: pointer;
    transition: color .15s, border-color .15s;
    margin-bottom: -1.5px;
}

.cch-tab:hover { color: var(--cch-navy); }

.cch-tab-active {
    color: var(--cch-navy);
    border-bottom-color: var(--cch-navy);
}

/* ── Tab pane ────────────────────────────────────────────────────── */
.cch-tab-pane {
    background: var(--cch-bg);
    border: 1.5px solid var(--cch-border);
    border-top: none;
    border-radius: 0 0 var(--cch-radius) var(--cch-radius);
    padding: 20px;
    min-height: 300px;
}

/* ── Toolbar ─────────────────────────────────────────────────────── */
.cch-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

/* ── Reminder cards ──────────────────────────────────────────────── */
.cch-card {
    background: var(--cch-surface);
    border: 1.5px solid var(--cch-border);
    border-radius: 9px;
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    gap: 0;
    overflow: hidden;
    transition: box-shadow .15s;
}

.cch-card:hover { box-shadow: 0 4px 16px rgba(26,58,92,.09); }

.cch-card-past {
    opacity: .72;
    border-left: 4px solid var(--cch-muted);
}

.cch-card-body {
    flex: 1;
    padding: 16px 18px;
}

.cch-card-text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--cch-text);
    margin-bottom: 10px;
    white-space: pre-wrap;
    word-break: break-word;
}

.cch-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cch-meta-chip {
    background: #eef2f8;
    color: var(--cch-navy);
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 20px;
    letter-spacing: .2px;
}

.cch-card-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    padding: 16px 16px 16px 12px;
    border-left: 1px solid var(--cch-border);
    background: #fafbfd;
    min-width: 110px;
}

/* ── Badges ──────────────────────────────────────────────────────── */
.cch-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    letter-spacing: .3px;
    white-space: nowrap;
}

.cch-badge-pending   { background: #fef5ec; color: var(--cch-pending); }
.cch-badge-sent      { background: var(--chr-success-bg); color: var(--cch-sent);    }
.cch-badge-cancelled { background: var(--chr-error-bg); color: var(--cch-danger);  }

/* ── Empty state ─────────────────────────────────────────────────── */
.cch-empty {
    text-align: center;
    color: var(--cch-muted);
    padding: 48px 20px;
    font-size: 14px;
    line-height: 1.8;
}

/* ── Logs table ──────────────────────────────────────────────────── */
.cch-table-wrap {
    overflow-x: auto;
    border-radius: 9px;
    border: 1.5px solid var(--cch-border);
}

.cch-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    background: var(--cch-surface);
}

.cch-table th {
    background: var(--cch-navy);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    padding: 10px 14px;
    text-align: left;
    white-space: nowrap;
}

.cch-table td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--cch-border);
    vertical-align: middle;
}

.cch-table tr:last-child td { border-bottom: none; }

.cch-table tr:nth-child(even) td { background: #fafbfd; }

.cch-td-date { white-space: nowrap; color: var(--cch-muted); font-size: 12px; }
.cch-td-text { max-width: 280px; }

/* ── Modal ───────────────────────────────────────────────────────── */
.cch-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10,20,35,.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    padding: 20px;
}

.cch-modal {
    background: var(--cch-surface);
    border-radius: var(--cch-radius);
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    width: 100%;
    max-width: 520px;
    animation: cchModalIn .2s ease;
}

@keyframes cchModalIn {
    from { opacity: 0; transform: scale(.94) translateY(-10px); }
    to   { opacity: 1; transform: scale(1)   translateY(0); }
}

.cch-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 0;
}

.cch-modal-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--cch-navy);
    margin: 0;
}

.cch-modal-close {
    background: none;
    border: none;
    color: var(--cch-muted);
    font-size: 18px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 5px;
    line-height: 1;
}
.cch-modal-close:hover { background: var(--cch-bg); color: var(--cch-text); }

.cch-modal-body {
    padding: 20px 24px;
}

.cch-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 0 24px 20px;
    border-top: 1px solid var(--cch-border);
    padding-top: 16px;
    margin-top: 4px;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .cch-card {
        flex-direction: column;
    }
    .cch-card-actions {
        flex-direction: row;
        border-left: none;
        border-top: 1px solid var(--cch-border);
        width: 100%;
        box-sizing: border-box;
        min-width: unset;
        padding: 12px 16px;
        justify-content: flex-start;
    }
    .cch-header { flex-wrap: wrap; gap: 10px; }
    .cch-modal { max-width: 100%; }
}

/* ── type=date – grande e visibile su mobile e desktop ──────────────── */
input#cch-rem-data[type="date"] {
    width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    font-size: 18px;
    font-weight: 600;
    color: var(--cch-navy);
    border: 2px solid var(--cch-border);
    border-radius: 10px;
    background: #fff;
    min-height: 56px;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    display: block;
}

input#cch-rem-data[type="date"]:focus {
    border-color: var(--cch-navy);
    box-shadow: 0 0 0 3px rgba(26,58,92,.10);
    outline: none;
}

/* Safari/iOS: forza il testo visibile */
input#cch-rem-data[type="date"]::-webkit-date-and-time-value {
    text-align: left;
    font-size: 18px;
    font-weight: 600;
    color: var(--cch-navy);
    min-height: 26px;
}

/* Icona calendario allineata a destra */
input#cch-rem-data[type="date"]::-webkit-calendar-picker-indicator {
    width: 24px;
    height: 24px;
    opacity: 0.6;
    cursor: pointer;
    filter: invert(15%) sepia(50%) saturate(500%) hue-rotate(185deg);
}

/* ── Time row ────────────────────────────────────────────────────────── */
.cch-time-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cch-time-row select {
    flex: 1;
    padding: 12px 10px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    border: 1.5px solid var(--cch-border);
    border-radius: 7px;
    background: var(--cch-surface);
    color: var(--cch-text);
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    min-height: 50px;
}

.cch-time-row select:focus {
    border-color: var(--cch-navy);
    box-shadow: 0 0 0 3px rgba(26,58,92,.08);
    outline: none;
}

.cch-time-sep {
    font-size: 24px;
    font-weight: 700;
    color: var(--cch-navy);
    flex-shrink: 0;
    line-height: 1;
}

/* Date input – bigger tap area on mobile */
.cch-field input[type="date"] {
    padding: 12px 14px;
    font-size: 16px;     /* evita zoom iOS */
    min-height: 50px;
}

/* ── Mobile-first overrides (≤ 640px) ───────────────────────────── */
@media (max-width: 640px) {

    /* Login */
    .cch-login-box { margin: 16px auto; padding: 28px 20px 24px; }

    /* Header */
    .cch-header { padding: 14px 16px; border-radius: 0; }
    .cch-header-brand { font-size: 16px; }

    /* Tabs */
    .cch-tabs { padding: 0 10px; }
    .cch-tab  { padding: 12px 14px; font-size: 13px; }

    /* Tab pane */
    .cch-tab-pane { padding: 14px 12px; border-radius: 0; }

    /* Toolbar */
    .cch-toolbar { flex-wrap: wrap; }
    .cch-toolbar .cch-btn-primary { flex: 1; justify-content: center; font-size: 15px; padding: 12px; }

    /* Cards – single column, bigger touch targets */
    .cch-card {
        flex-direction: column;
        border-radius: 8px;
    }
    .cch-card-body { padding: 14px; }
    .cch-card-text { font-size: 15px; }

    .cch-card-actions {
        flex-direction: row;
        flex-wrap: wrap;
        border-left: none;
        border-top: 1px solid var(--cch-border);
        width: 100%;
        box-sizing: border-box;
        min-width: unset;
        padding: 10px 14px;
        justify-content: flex-start;
        background: #fafbfd;
    }

    .cch-btn-sm { padding: 8px 14px; font-size: 13px; }

    /* Modal – full screen bottom sheet style */
    .cch-modal-overlay {
        align-items: flex-end;
        padding: 0;
    }
    .cch-modal {
        border-radius: var(--cch-radius) var(--cch-radius) 0 0;
        max-width: 100%;
        max-height: 92vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    @keyframes cchModalIn {
        from { opacity: 0; transform: translateY(40px); }
        to   { opacity: 1; transform: translateY(0); }
    }

    .cch-modal-header { padding: 16px 18px 0; }
    .cch-modal-body   { padding: 16px 18px; }
    .cch-modal-footer { padding: 0 18px 24px; padding-top: 14px; }

    /* Bigger inputs on mobile */
    .cch-field input[type="email"],
    .cch-field input[type="password"],
    .cch-field input[type="date"],
    .cch-field textarea,
    .cch-field select {
        font-size: 16px;   /* prevents iOS auto-zoom */
        padding: 13px 14px;
        min-height: 50px;
    }

    .cch-btn-full { padding: 15px; font-size: 16px; }

    /* Logs table – horizontal scroll */
    .cch-table-wrap { -webkit-overflow-scrolling: touch; }
    .cch-table th, .cch-table td { white-space: nowrap; }
}

/* ── Campo cliente ───────────────────────────────────────────────── */
.cch-field select.cch-client-select {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 14px;
    border: 1.5px solid var(--cch-border);
    border-radius: 7px;
    font-size: 14px;
    color: var(--cch-text);
    background: var(--cch-surface);
    transition: border-color .15s;
    outline: none;
}
.cch-field select.cch-client-select:focus {
    border-color: var(--cch-navy);
    box-shadow: 0 0 0 3px rgba(26,58,92,.08);
}
.cch-meta-chip-client {
    background: var(--chr-primary-light);
    color: var(--chr-primary);
}

/* ── Stampa promemoria ─────────────────────────────────────────── */
@media print {
    .cch-header, .cch-btn, button, .no-print { display: none !important; }
    body { font-size: 9pt !important; font-family: Arial, sans-serif !important; }
    * { font-size: 9pt !important; }
    span[style*="border-radius"] { font-size: 7pt !important; padding: 1px 5px !important; }
    @page { size: A4; margin: 14mm 12mm; }
}

/* WordPress emoji → img.emoji in stampa */
@media print { img.emoji { display:none!important; width:0!important; height:0!important; } }

/* ═══════════════════════════════════════════════════════════════════
   v4.6.268 — SKIN PREMIUM To Do + Agenda
   Firma: command-bar contatori · gruppi urgenza · datebox agenda · avatar
   ═══════════════════════════════════════════════════════════════════ */

/* Header: navy notte con filo d'oro */
#cch-prom-app .cch-header{
    background:linear-gradient(135deg,#0e2438 0%,#163a5c 55%,var(--chr-primary) 100%);
    padding:20px 26px;position:relative;overflow:hidden;
    border-radius:14px 14px 0 0;
    box-shadow:inset 0 -1px 0 rgba(200,169,110,.45);
}
#cch-prom-app .cch-header::after{
    content:'';position:absolute;top:-40px;right:-30px;width:220px;height:220px;
    background:radial-gradient(circle,rgba(200,169,110,.14) 0%,transparent 65%);
    pointer-events:none;
}
#cch-prom-app .cch-header-brand{font-size:20px;font-weight:800;letter-spacing:-.3px;}

/* Tab a pillola con indicatore */
#cch-prom-app .cch-tabs{gap:8px;padding:12px 18px;background:#fff;border-bottom:1px solid var(--cch-border);}
#cch-prom-app .cch-tab{
    border:1.5px solid transparent;border-radius:24px;padding:8px 18px;
    font-weight:700;color:#6b7f95;transition:all .18s ease;background:transparent;
}
#cch-prom-app .cch-tab:hover{background:var(--chr-primary-light);color:var(--cch-navy);transform:translateY(-1px);}
#cch-prom-app .cch-tab-active{
    background:linear-gradient(135deg,#163a5c,var(--chr-primary));color:#fff;
    border-color:transparent;box-shadow:0 3px 10px rgba(22,58,92,.35);
}
#cch-prom-app .cch-tab-active:hover{color:#fff;background:linear-gradient(135deg,#122f4c,#17415f);}

/* Command bar contatori */
.cch-statbar{
    display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 18px;
}
.cch-stat{
    background:#fff;border:1.5px solid var(--cch-border);border-radius:12px;
    padding:12px 14px;display:flex;flex-direction:column;gap:2px;
    box-shadow:0 2px 8px rgba(26,58,92,.05);transition:transform .18s ease,box-shadow .18s ease;
}
.cch-stat:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(26,58,92,.12);}
.cch-stat-num{font-size:26px;font-weight:800;line-height:1;letter-spacing:-1px;}
.cch-stat-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#8fa1b3;}
.cch-stat-late  .cch-stat-num{color:var(--chr-error);}
.cch-stat-today .cch-stat-num{color:var(--chr-warn);}
.cch-stat-week  .cch-stat-num{color:var(--chr-primary);}
.cch-stat-done  .cch-stat-num{color:#16a34a;}
.cch-stat-late.cch-stat-hot{border-color:#fca5a5;background:linear-gradient(180deg,#fff,var(--chr-error-bg));}

/* Intestazioni gruppo urgenza */
.cch-group-head{
    display:flex;align-items:center;gap:10px;margin:20px 0 10px;
    font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#64748b;
}
.cch-group-head::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--cch-border),transparent);}
.cch-group-head .cch-group-count{
    background:#eef2f7;color:#475569;border-radius:20px;padding:1px 9px;font-size:11px;
}
.cch-group-late  {color:var(--chr-error);} .cch-group-late  .cch-group-count{background:#fee2e2;color:#b91c1c;}
.cch-group-today {color:var(--chr-warn);} .cch-group-today .cch-group-count{background:#fef3c7;color:#b45309;}

/* Card: ingresso animato + hover lift */
@keyframes cchCardIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
#cch-prom-app .cch-card{
    border-radius:13px;border:1px solid #e4eaf2;
    box-shadow:0 2px 10px rgba(26,58,92,.06);
    animation:cchCardIn .32s ease both;
    transition:transform .18s ease,box-shadow .18s ease;
}
#cch-prom-app .cch-card:nth-child(1){animation-delay:.02s}
#cch-prom-app .cch-card:nth-child(2){animation-delay:.06s}
#cch-prom-app .cch-card:nth-child(3){animation-delay:.10s}
#cch-prom-app .cch-card:nth-child(4){animation-delay:.14s}
#cch-prom-app .cch-card:nth-child(5){animation-delay:.18s}
#cch-prom-app .cch-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(26,58,92,.13);}

/* Badge scadenza relativa */
.cch-due{font-weight:800;border-radius:20px;padding:2px 10px;font-size:11px;letter-spacing:.2px;}
.cch-due-late {background:#fee2e2;color:#b91c1c;}
.cch-due-today{background:#fef3c7;color:#b45309;}
.cch-due-soon {background:#e0ecff;color:#1e4ed8;}
.cch-due-far  {background:#eef2f7;color:#5b6b7c;}

/* Avatar iniziali assegnatario */
.cch-avatar{
    display:inline-flex;align-items:center;justify-content:center;
    width:22px;height:22px;border-radius:50%;font-size:10px;font-weight:800;color:#fff;
    vertical-align:middle;margin-right:5px;box-shadow:0 1px 3px rgba(0,0,0,.18);
}

/* Agenda: datebox stile foglietto calendario + timeline */
.cch-ev-row{display:flex;gap:14px;align-items:stretch;}
.cch-datebox{
    flex:0 0 58px;align-self:flex-start;text-align:center;background:#fff;
    border:1.5px solid #e4eaf2;border-radius:11px;overflow:hidden;
    box-shadow:0 2px 8px rgba(26,58,92,.08);
}
.cch-datebox-top{background:linear-gradient(135deg,var(--chr-error),#e05252);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;padding:3px 0;}
.cch-datebox-day{font-size:22px;font-weight:800;color:#16324c;line-height:1.15;padding:3px 0 1px;letter-spacing:-.5px;}
.cch-datebox-month{font-size:9.5px;font-weight:700;color:#8fa1b3;text-transform:uppercase;letter-spacing:1px;padding-bottom:5px;}
.cch-datebox-cancelled .cch-datebox-top{background:var(--chr-gray-400);}
.cch-ev-time{
    display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#163a5c,var(--chr-primary));
    color:#fff;border-radius:20px;padding:2px 11px;font-size:11.5px;font-weight:700;
}

/* Accessibilità e quiete */
#cch-prom-app .cch-btn:focus-visible,#cch-prom-app .cch-tab:focus-visible{outline:2.5px solid #c8a96e;outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
    #cch-prom-app .cch-card{animation:none;}
    #cch-prom-app .cch-card:hover,.cch-stat:hover,#cch-prom-app .cch-tab:hover{transform:none;}
}
@media (max-width:640px){.cch-statbar{grid-template-columns:repeat(2,1fr);}}

/* v4.6.276 FIX: con molti partecipanti i bottoni Modifica/Annulla sparivano.
   1) il body ora può restringersi (min-width:0), 2) la colonna azioni non
   viene mai schiacciata, 3) i badge lunghi (liste email) vanno a capo. */
.cch-card-body { min-width: 0; }
.cch-card-actions { flex-shrink: 0; }
.cch-badge { white-space: normal; overflow-wrap: anywhere; text-align: left; }
.cch-ev-row > div { min-width: 0; }
