/* Onest caricato anche via CSS (robusto anche se l'index.html è servito da un vecchio service-worker) */
@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700;800&display=swap');

:root {
    --theme-color: 37, 99, 235;   /* override accento Chatzy: teal -> blu Courtify */
    --blue: #2563EB;          /* accento Courtify mappato su --theme-color Chatzy */
    --blue-dark: #1D4ED8;
    --orange: #F97316;
    --theme: #2563EB;
    --theme-soft: #EFF4FF;
    --on-accent: #fff;         /* testo leggibile SOPRA l'accento (nero se accento chiaro, via applyTheme) */
    --theme-ink: var(--theme); /* accento per il TESTO su sfondo chiaro (scurito se accento chiaro) */
    --bg: #F5F6F8;
    --card: #ffffff;
    --topbar: #ffffff;
    --field: #F5F6F8;
    --text: #2C2C2C;          /* dark-text Chatzy */
    --muted: #7F8384;         /* content-color Chatzy */
    --border: #EDEEF0;
    --success: #18A957;
    --error: #EE595C;
    --radius: 18px;
}

/* ===== Modalità scura ===== */
:root[data-theme="dark"] {
    --bg: #0F1115;
    --card: #1A1D23;
    --topbar: #1A1D23;
    --field: #22262E;
    --text: #F3F4F6;
    --muted: #9CA3AF;
    --border: #2A2E37;
    --theme-soft: #1E293B;
    --white: 26, 29, 35;       /* Chatzy --white -> superficie scura */
    --dark-text: 243, 244, 246;
    --content-color: 156, 163, 175;
}
:root[data-theme="dark"] body { background: var(--bg); color: var(--text); }
:root[data-theme="dark"] .pill[style] { filter: saturate(.9); }

* { box-sizing: border-box; }

html, body {
    margin: 0;
    touch-action: manipulation;          /* disabilita il doppio-tap per lo zoom */
    -webkit-text-size-adjust: 100%;      /* niente auto-ingrandimento del testo */
    overscroll-behavior-y: contain;      /* disabilita il pull-to-refresh (trascina giù) */
    font-family: 'Manrope', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
    -webkit-tap-highlight-color: transparent;
    height: auto;            /* annulla Chatzy body{height:100vh} per permettere lo scroll */
    min-height: 100vh;
    max-width: none;
}
/* Mai scorrimento ORIZZONTALE della pagina (es. Palestra su telefono): ciò che sborda viene tagliato.
   Solo su body: si propaga alla finestra, così position:sticky continua a funzionare. */
body { overflow-x: hidden; }
/* Campi data/ora: su Android/iOS hanno una larghezza minima nativa che sfonda le righe affiancate */
input.inp[type=date], input.inp[type=time], input.inp[type=datetime-local] { min-width: 0; max-width: 100%; }

/* ===== Header di pagina (stile chiaro Chatzy) ===== */
.page-head { margin: 2px 2px 14px; }
.page-head h1 { margin: 0; font-size: 23px; font-weight: 800; color: var(--text); letter-spacing: -.3px; }
.page-head p { margin: 3px 0 0; color: var(--muted); font-size: 13px; font-weight: 500; }
.fa-ic { color: var(--muted); width: 20px; text-align: center; }

h1:focus { outline: none; }
a { color: var(--theme-ink); text-decoration: none; }
code { color: #c02d76; }

/* ===== App shell (mobile) ===== */
.app-shell { min-height: 100vh; display: flex; flex-direction: column; max-width: 600px; margin: 0 auto; background: var(--bg); }

/* ===== SHELL DESKTOP a tutto schermo (web.courtifyapp.net) ===== */
/* RE-SKIN "NiceDash / dashboard1" (green_theme) — applicato SOLO alla shell web:
   la PWA mobile mantiene il suo tema. Token del template portati fedelmente. */
.web-side { display: none; }
.app-shell.web {
    /* Superfici NiceDash (chiaro) — SOLO web; il mobile mantiene il suo tema.
       L'ACCENTO è guidato dalla tavolozza (applyTheme → --theme/--theme-color/--on-accent). */
    --nd-sidebar-w: 270px;                 /* $sidenav-desktop */
    --nd-header-h: 70px;                    /* $header-height */
    --nd-page-bg: #f8fafd;                 /* $layout-bg */
    --nd-surface: #ffffff;
    --nd-border: #e5e6e6;                  /* outline-variant */
    --nd-text: #030E09;                    /* on-background */
    --nd-muted: #6b7280;
    --nd-soft: rgba(var(--theme-color), .12);   /* tinta dell'accento corrente */
    /* superfici globali del contenuto web = superfici NiceDash */
    --bg: var(--nd-page-bg);
    --card: var(--nd-surface);
    --border: var(--nd-border);
    --text: var(--nd-text);
    --radius: 16px;
    max-width: none; margin: 0;
    font-family: 'Onest', 'Manrope', -apple-system, 'Segoe UI', Roboto, sans-serif;
    background: var(--nd-page-bg);
}
/* Dark mode del guscio web (segue il toggle globale data-theme) */
:root[data-theme="dark"] .app-shell.web {
    --nd-page-bg: #0e131a;
    --nd-surface: #171d26;
    --nd-border: #262d38;
    --nd-text: #e8eaed;
    --nd-muted: #9aa0ac;
}
/* Sidebar */
.app-shell.web .web-side {
    display: flex; flex-direction: column; position: fixed; top: 0; left: 0; bottom: 0;
    width: var(--nd-sidebar-w); background: var(--nd-surface); color: var(--nd-text);
    padding: 22px 16px 16px; z-index: 60; overflow-y: auto; overflow-x: hidden; border-right: 1px solid var(--nd-border);
    transition: width .22s ease, padding .22s ease;
}
.app-shell.web .web-brand { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 800; letter-spacing: -.5px; padding: 2px 8px 16px; color: var(--nd-text); white-space: nowrap; flex: 0 0 auto; }
.app-shell.web .web-brand img { width: 32px; height: 32px; border-radius: 9px; flex: 0 0 auto; }
.app-shell.web .web-brand b { color: var(--theme); }
.app-shell.web .web-tier { margin: 0 8px 8px; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 800; color: var(--theme-ink); background: var(--nd-soft); display: inline-block; }
.app-shell.web .web-menu { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.app-shell.web .web-group { display: flex; flex-direction: column; gap: 2px; }
.app-shell.web .web-group-title { font-size: 11px; letter-spacing: .6px; text-transform: uppercase; color: var(--nd-muted); font-weight: 700; padding: 16px 12px 6px; white-space: nowrap; overflow: hidden; }
.app-shell.web .web-link {
    display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 10px;
    color: var(--nd-muted); text-decoration: none; font-weight: 500; font-size: 14px; white-space: nowrap;
}
.app-shell.web .web-link:hover { background: var(--nd-soft); color: var(--theme-ink); }
.app-shell.web .web-link.active { background: var(--theme); color: var(--on-accent); font-weight: 600; box-shadow: 0 6px 16px rgba(var(--theme-color), .28); }
.app-shell.web .web-link.web-gold { background: linear-gradient(135deg,#D4AF37,#A67C00); color: #fff; margin-bottom: 6px; }
.app-shell.web .web-ico { display: inline-flex; align-items: center; justify-content: center; width: 24px; flex: 0 0 auto; }
.app-shell.web .web-ico iconify-icon { font-size: 22px; line-height: 0; }
.app-shell.web .web-lbl { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-shell.web .web-badge { margin-left: auto; background: #EF4444; color: #fff; border-radius: 10px; font-size: 11px; font-weight: 800; padding: 1px 7px; flex: 0 0 auto; }
.app-shell.web .web-logout { margin-top: 10px; background: var(--nd-surface); color: #b91c1c; border: 1px solid var(--nd-border); border-radius: 10px; padding: 11px; cursor: pointer; font-weight: 700; }
.app-shell.web .web-logout:hover { background: rgba(239,68,68,.08); border-color: #FECACA; }

/* ===== MENU COMPRESSO (mini) — animazione apri/chiudi come il progetto Angular ===== */
.app-shell.web.mini .web-side { width: 84px; padding: 18px 10px; }
.app-shell.web.mini .web-lbl,
.app-shell.web.mini .web-group-title,
.app-shell.web.mini .web-brand span,
.app-shell.web.mini .web-tier,
.app-shell.web.mini .web-badge,
.app-shell.web.mini .web-logout span,
.app-shell.web.mini .role-badge { display: none; }
.app-shell.web.mini .web-link { justify-content: center; padding: 11px 0; }
.app-shell.web.mini .web-brand { justify-content: center; padding: 4px 0 18px; }
.app-shell.web.mini .app-topbar, .app-shell.web.mini .app-content { margin-left: 84px; }

/* Topbar */
.app-shell.web .app-topbar {
    position: sticky; top: 0; height: var(--nd-header-h); margin-left: var(--nd-sidebar-w);
    padding: 0 clamp(16px, 2vw, 28px); gap: 8px; background: var(--nd-surface);
    border-bottom: 1px solid var(--nd-border); backdrop-filter: none; z-index: 40;
    color: var(--nd-text); transition: margin-left .22s ease;
}
.app-shell.web .app-topbar .icon-btn { color: var(--nd-text); }
.app-shell.web .app-topbar .icon-btn:hover { color: var(--theme-ink); }
.app-shell.web .app-topbar iconify-icon { font-size: 22px; line-height: 0; vertical-align: middle; }
.app-shell.web .web-search { display: flex; align-items: center; gap: 8px; background: var(--nd-page-bg); border: 1px solid var(--nd-border); border-radius: 12px; padding: 8px 12px; min-width: 220px; color: var(--nd-muted); }
.app-shell.web .web-search iconify-icon { font-size: 19px; }
.app-shell.web .web-search input { border: none; background: transparent; outline: none; font-family: inherit; font-size: 14px; color: var(--nd-text); width: 100%; }
.app-shell.web .web-pal { position: absolute; top: 44px; right: 0; background: var(--nd-surface); border: 1px solid var(--nd-border); border-radius: 14px; box-shadow: 0 14px 40px rgba(3,14,9,.18); padding: 12px; z-index: 80; width: 176px; }
.app-shell.web .web-pal-title { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--nd-muted); margin-bottom: 8px; }
.app-shell.web .web-pal-dots { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.app-shell.web .web-pal .accent-dot { width: 26px; height: 26px; border-radius: 50%; cursor: pointer; border: 2px solid transparent; }
.app-shell.web .web-pal .accent-dot.on { border-color: var(--nd-text); }
.app-shell.web .app-content { margin-left: var(--nd-sidebar-w); max-width: none; padding: 24px clamp(20px, 3vw, 40px) 56px; scroll-behavior: smooth; background: var(--nd-page-bg); transition: margin-left .22s ease; }
.app-shell.web .navbar-menu { display: none; }
/* Card stile NiceDash */
.app-shell.web .card2 { border-radius: 16px; border: 1px solid var(--nd-border); box-shadow: 0 2px 6px rgba(3,14,9,.05); }
/* Onest robusto: forzato su TUTTO il contenuto web (Find e ogni pagina), escluse le icone. */
.app-shell.web, .app-shell.web .web-side, .app-shell.web .app-content, .app-shell.web .app-topbar { font-family: 'Onest', 'Manrope', -apple-system, 'Segoe UI', Roboto, sans-serif; }
.app-shell.web .app-content,
.app-shell.web .app-content *:not(i):not(iconify-icon):not([class*="fa-"]) {
    font-family: 'Onest', 'Manrope', -apple-system, 'Segoe UI', Roboto, sans-serif;
}
/* Ottimizzazioni desktop: card più ariose, hover fluidi, immagini nitide */
.app-shell.web .card2 { transition: box-shadow .15s ease, transform .15s ease; }
.app-shell.web .card2:hover { box-shadow: 0 10px 28px rgba(3,14,9,.08); }
.app-shell.web .btn2, .app-shell.web button, .app-shell.web .inp, .app-shell.web select, .app-shell.web input { transition: background .12s ease, border-color .12s ease, box-shadow .12s ease; }

/* ===== Controlli (input/select/button/label) stile NiceDash — vale per Find e ogni pagina web ===== */
.app-shell.web .inp,
.app-shell.web input:not([type=checkbox]):not([type=radio]):not([type=range]),
.app-shell.web select,
.app-shell.web textarea {
    border-radius: 12px; border: 1px solid var(--nd-border); background: var(--nd-surface); color: var(--nd-text); font-family: inherit;
}
.app-shell.web .inp:focus,
.app-shell.web input:not([type=checkbox]):not([type=radio]):focus,
.app-shell.web select:focus,
.app-shell.web textarea:focus {
    border-color: var(--theme); box-shadow: 0 0 0 3px rgba(var(--theme-color), .15); outline: none;
}
.app-shell.web label.lbl { color: var(--nd-muted); }
.app-shell.web .subtitle, .app-shell.web .muted { color: var(--nd-muted); }
.app-shell.web .title, .app-shell.web .page-head h1 { color: var(--nd-text); }
.app-shell.web .btn-primary2 { background: var(--theme); color: var(--on-accent); border: none; border-radius: 12px; font-weight: 700; box-shadow: 0 6px 16px rgba(var(--theme-color), .25); }
.app-shell.web .btn-primary2:hover { filter: brightness(.96); }
.app-shell.web .btn-ghost { border-radius: 12px; }
/* Icone dentro i campi della ricerca (Solar su web): dimensione coerente */
.app-shell.web .find-search iconify-icon { font-size: 18px; }

/* ===== Tabelle stile NiceDash (web) — es. specchietto Bilancio Scuola ===== */
.app-shell.web .nd-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.app-shell.web .nd-table th { text-align: left; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; color: var(--nd-muted); padding: 13px 16px; border-bottom: 1px solid var(--nd-border); background: var(--nd-page-bg); }
.app-shell.web .nd-table td { padding: 12px 16px; border-bottom: 1px solid var(--nd-border); color: var(--nd-text); vertical-align: middle; }
.app-shell.web .nd-table tbody tr:last-child td { border-bottom: none; }
.app-shell.web .nd-table tbody tr:hover { background: rgba(var(--theme-color), .04); }
.app-shell.web .nd-table .nd-sub td { background: var(--nd-page-bg); font-weight: 700; }
.app-shell.web .nd-table .nd-tot td { border-top: 2px solid var(--nd-border); font-weight: 900; }
.app-shell.web .nd-table td iconify-icon { vertical-align: -2px; margin-right: 6px; }
.app-shell.web .nd-cost { width: 84px; padding: 7px 9px; border: 1px solid var(--nd-border); border-radius: 9px; font-weight: 700; text-align: right; background: var(--nd-surface); color: var(--nd-text); }
.app-shell.web ::-webkit-scrollbar { width: 10px; height: 10px; }
.app-shell.web ::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 8px; }
.app-shell.web ::-webkit-scrollbar-thumb:hover { background: #94A3B8; }
/* ===== Desktop: liste a griglia multi-colonna invece che a colonna singola ===== */
/* Contenitore generico: avvolgi una lista di .card2 in <div class="web-grid"> */
.app-shell.web .web-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; align-items: start; }
.app-shell.web .web-grid > .card2 { margin: 0; }
/* Trova campo: i circoli diventano una griglia, non un carosello orizzontale */
.app-shell.web .club-carousel { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 16px; overflow: visible; padding: 2px; align-items: start; }
.app-shell.web .club-slide { flex: none; width: auto; max-width: none; scroll-snap-align: none; }
.app-shell.web .web-hint-scroll { display: none; }
/* Planning corsi: nel WEB i giorni vanno in orizzontale su 2 righe da 3 (Lun-Mar-Mer / Gio-Ven-Sab). */
.plan-days .day-block { margin: 10px 0 0; }
.app-shell.web .plan-days { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: start; }
.app-shell.web .plan-days .day-block { margin: 0; }
/* Nell'APP (non web) l'accordion resta verticale e i giorni senza gruppi si nascondono. */
.app-shell:not(.web) .plan-days .day-empty { display: none; }

@media (max-width: 820px) {
    /* Se la finestra è stretta, torna a colonna singola anche in modalità web */
    .app-shell.web .web-side { position: static; width: auto; flex-direction: row; flex-wrap: wrap; }
    .app-shell.web .app-topbar, .app-shell.web .app-content { margin-left: 0; }
    .app-shell.web .web-grid { grid-template-columns: 1fr; }
    .app-shell.web .club-carousel { grid-template-columns: 1fr; }
    .app-shell.web .plan-days { grid-template-columns: 1fr; }
}

/* Header chiaro stile Chatzy (.main-header) */
.app-topbar {
    position: sticky; top: 0; z-index: 100;
    background: var(--topbar); color: var(--text);
    padding: calc(env(safe-area-inset-top) + 14px) 18px 14px 18px;
    display: flex; align-items: center; justify-content: space-between;
    border-bottom: 1px solid var(--border);
}
.app-topbar .brand { font-weight: 800; font-size: 21px; letter-spacing: -.5px; color: var(--text); }
.app-topbar .brand b { color: var(--theme-ink); }
.app-topbar .icon-btn { font-size: 20px; color: var(--text); cursor: pointer; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; }
/* Icona menu: stesso aspetto, ma area di tocco allargata (invisibile) per iPhone */
.app-topbar .menu-ico { font-size: 24px; position: relative; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.app-topbar .menu-ico::after { content: ""; position: absolute; inset: -10px -12px; }
.app-topbar .topbar-avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; cursor: pointer; border: 1.5px solid var(--border); }
.app-content { flex: 1; padding: 16px 14px 96px 14px; }

/* ===== Offcanvas sidebar (drawer) stile Chatzy ===== */
.drawer-back { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 200; animation: drawerFade .22s ease-out both; }
/* Menu a SINISTRA che scorre verso destra (swipe dal bordo sinistro o tasto in alto) */
.drawer { position: fixed; top: 0; bottom: 0; right: 0; width: 80%; max-width: 300px; background: var(--card); z-index: 201; box-shadow: -2px 0 24px rgba(0,0,0,.12); overflow-y: auto; animation: drawerIn .25s cubic-bezier(.2,.8,.2,1) both; }
.drawer.closing { animation: drawerOut .22s ease-in both; }
.drawer-back.closing { animation: drawerFade .22s ease-in reverse both; }
/* menu a destra: entra da destra ed esce verso destra */
@keyframes drawerIn { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes drawerOut { from { transform: translateX(0); } to { transform: translateX(100%); } }
@keyframes drawerFade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .drawer, .drawer-back, .drawer.closing, .drawer-back.closing { animation: none; } }
.drawer-head { padding: calc(env(safe-area-inset-top) + 22px) 22px 20px; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid var(--border); }
.drawer-head .avatar { width: 52px; height: 52px; border-radius: 50%; background: var(--theme); color: var(--on-accent,#fff); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 19px; }
.drawer-head .dh-name { font-weight: 800; font-size: 17px; color: var(--text); }
.drawer-head .dh-sub { color: var(--muted); font-size: 12px; font-weight: 500; }
.drawer-items { padding: 10px 0; }
.ditem { display: flex; align-items: center; gap: 16px; padding: 13px 24px; font-size: 15px; font-weight: 600; color: var(--text); text-decoration: none; cursor: pointer; }
.ditem:hover { background: #F7F8F9; }
.ditem.active { color: var(--theme-ink); background: var(--theme-soft); }
.ditem .di-ico { font-size: 17px; width: 24px; text-align: center; color: var(--muted); }
.ditem.active .di-ico { color: var(--theme-ink); }
/* Spin per icone Solar/iconify usate come loader (sostituisce fa-spin) */
@keyframes cfspin { to { transform: rotate(360deg); } }
.cfspin { animation: cfspin .9s linear infinite; transform-origin: 50% 50%; display: inline-block; }
/* Voce "Piani e prezzi" agganciata al riquadro profilo (sotto la foto) */
.ditem.dh-plans { background: var(--theme-soft); color: var(--theme-ink); font-weight: 800; border-bottom: 1px solid var(--border); }
.ditem.dh-plans .di-ico { color: var(--theme-ink); }
.ditem.dh-plans:hover { filter: brightness(.97); }

/* ===== Bottom navbar stile Chatzy (.navbar-menu) ===== */
.navbar-menu {
    position: fixed; left: 50%; transform: translateX(-50%); bottom: 0;
    width: 100%; max-width: 600px; z-index: 90;
    background: var(--card); border-top: 1px solid var(--border);
    padding: 8px 6px calc(8px + env(safe-area-inset-bottom));
    box-shadow: 0 -4px 18px rgba(0,0,0,.05);
}
.navbar-menu ul { list-style: none; margin: 0; padding: 0; display: flex; }
.navbar-menu li { flex: 1; }
.navbar-menu li a { display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--muted); font-size: 11px; font-weight: 600; padding: 4px 0; }
.navbar-menu li a .nav-ico { font-size: 20px; line-height: 1; }
.navbar-menu li.active a { color: var(--theme-ink); }

/* ===== Banner installazione PWA ===== */
.install-banner {
    position: fixed; left: 50%; transform: translateX(-50%);
    bottom: calc(80px + env(safe-area-inset-bottom)); width: calc(100% - 24px); max-width: 560px;
    background: #2C2C2C; color: #fff; border-radius: 16px; padding: 12px 14px;
    display: flex; align-items: center; gap: 12px; z-index: 150; box-shadow: 0 8px 26px rgba(0,0,0,.28);
}
.install-banner .ib-btn { background: var(--theme); color: var(--on-accent,#fff); border: none; border-radius: 10px; padding: 9px 16px; font-weight: 700; font-size: 13px; cursor: pointer; white-space: nowrap; }
.install-banner .ib-x { color: #9CA3AF; font-size: 16px; cursor: pointer; padding: 0 4px; }

/* ===== Sheet installazione iOS (guida visiva) ===== */
.ib-sheet-back { position: fixed; inset: 0; background: rgba(17,17,17,.45); z-index: 200; animation: ibFade .2s ease; }
.ib-sheet {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 201;
    background: var(--card, #fff); color: var(--text, #111);
    border-radius: 22px 22px 0 0; padding: 10px 20px calc(24px + env(safe-area-inset-bottom));
    box-shadow: 0 -10px 40px rgba(0,0,0,.25); max-width: 560px; margin: 0 auto;
    animation: ibUp .28s cubic-bezier(.2,.8,.2,1);
}
.ib-grip { width: 40px; height: 5px; border-radius: 3px; background: #D1D5DB; margin: 4px auto 12px; }
.ib-sheet .ib-x { color: #9CA3AF; font-size: 18px; cursor: pointer; padding: 0 4px; }
.ib-steps { margin-top: 14px; display: flex; flex-direction: column; gap: 12px; }
.ib-step { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.5; }
.ib-num { flex: none; width: 26px; height: 26px; border-radius: 50%; background: #2563EB; color: #fff; font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.ib-share { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 6px; background: #2563EB; color: #fff; vertical-align: middle; }
.ib-share i { font-size: 12px; }
.ib-arrow { text-align: center; font-size: 30px; margin-top: 10px; animation: ibBounce 1.4s ease-in-out infinite; }
@keyframes ibFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ibUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes ibBounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }

/* ===== Cards & UI ===== */
.card2 { background: var(--card); border-radius: var(--radius); padding: 16px; box-shadow: 0 4px 14px rgba(17,17,17,.04); border: 1px solid var(--border); margin-bottom: 14px; }

/* ===== Accordion di sezione (componente Acc) — web e mobile ===== */
.acc { background: transparent; border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: 12px; overflow: hidden; box-shadow: none; }
.acc-head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; background: transparent; border: none; cursor: pointer; font-family: inherit; text-align: left; color: var(--text); }
.acc-title { font-weight: 800; font-size: 15px; color: var(--text); }
.acc-chev { color: var(--muted); font-size: 13px; }
/* Mappa Google incorporata del circolo (profilo club e «Trova campo») */
.club-map { width: 100%; height: 220px; border: 0; border-radius: 14px; margin-top: 8px; display: block; background: #E5E7EB; }
/* Sottotitolo a destra (es. totale della sezione): spinge il chevron in fondo */
.acc-sub { margin-left: auto; font-size: 13px; font-weight: 800; color: var(--blue); white-space: nowrap; font-variant-numeric: tabular-nums; }
.acc.open .acc-head { border-bottom: 1px solid var(--border); }
.acc-body { padding: 14px 16px; }
.acc-body > .card2 { border: none; box-shadow: none; margin: 0; padding: 0; background: transparent; border-radius: 0; }
.acc-body > .card2:not(:last-child) { margin-bottom: 12px; }
/* WEB: la regola .app-shell.web .card2 (più specifica) rimetteva bordo/ombra ai riquadri
   dentro le accordion. Qui li appiattisco con specificità maggiore (niente riquadri interni). */
.app-shell.web .acc-body > .card2,
.app-shell.web .acc-body > .card2:hover { border: none; box-shadow: none; background: transparent; border-radius: 0; padding: 0; margin: 0; transform: none; }
.app-shell.web .acc-body > .card2:not(:last-child) { margin-bottom: 12px; }

/* ===== Datepicker flatpickr (web): tema/accento coerenti (il calendario è nel body) ===== */
.flatpickr-calendar { font-family: 'Onest', 'Manrope', sans-serif; border-radius: 14px; box-shadow: 0 14px 40px rgba(3, 14, 9, .18); border: 1px solid #e5e6e6; }
.flatpickr-day.selected, .flatpickr-day.selected:hover, .flatpickr-day.startRange, .flatpickr-day.endRange { background: var(--theme, #2E90FA); border-color: var(--theme, #2E90FA); color: var(--on-accent, #fff); }
.flatpickr-day.today { border-color: var(--theme, #2E90FA); }
.flatpickr-day:hover { background: rgba(var(--theme-color), .12); border-color: transparent; }
.flatpickr-months .flatpickr-monthDropdown-months, .flatpickr-current-month input.cur-year { font-weight: 700; }
.muted { color: var(--muted); }
.title { font-size: 22px; font-weight: 800; margin: 4px 0 2px; color: var(--text); letter-spacing: -.3px; }
.subtitle { color: var(--muted); font-size: 14px; margin-bottom: 12px; font-weight: 500; }

label.lbl { display: block; font-size: 12px; font-weight: 700; color: var(--muted); margin: 12px 0 5px; }
.inp, select.inp {
    width: 100%; padding: 13px 14px; border: 1px solid var(--border);
    border-radius: 12px; font-size: 16px; background: var(--field); color: var(--text);
    font-family: inherit;
}
.inp:focus, select.inp:focus { outline: none; border-color: var(--theme); background: var(--card); }

/* Bottoni stile .theme-btn Chatzy */
.btn2 {
    width: 100%; border: none; border-radius: 14px; padding: 14px;
    font-size: 15px; font-weight: 700; cursor: pointer; margin-top: 12px; font-family: inherit;
}
.btn-primary2 { background: var(--theme); color: var(--on-accent,#fff); box-shadow: 0 8px 18px rgba(37,99,235,.22); }
.btn-primary2:active { background: var(--blue-dark); }
/* Override tema per le classi Chatzy: con accento chiaro (lime) il testo resta leggibile.
   .theme-btn = pulsante con sfondo accento (testo su accento); .theme-color = testo colorato accento. */
.theme-btn, .theme-btn:hover, .theme-btn:active { color: var(--on-accent,#fff) !important; }
.theme-color { color: var(--theme-ink) !important; }
.btn-ghost { background: transparent; color: var(--theme-ink); border: 1.5px solid var(--theme-ink); box-shadow: none; }
.btn-orange { background: var(--orange); color: #fff; }

.pill { display: inline-block; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 20px; }
.pill-promo { background: #FEE2E2; color: #B91C1C; }
.pill-fed { background: #E0E7FF; color: #3730A3; }

.slot {
    display: inline-block; border: 1.5px solid var(--border); background: #fff;
    border-radius: 14px; padding: 10px 12px; margin: 0 8px 8px 0; text-align: center; min-width: 92px;
}
.slot .time { font-weight: 700; font-size: 14px; }
.slot .price { font-size: 13px; color: var(--theme-ink); font-weight: 700; }
.slot.promo { border-color: var(--orange); }

.alert2 { border-radius: 12px; padding: 12px 14px; font-size: 14px; margin-top: 10px; }
.alert-err { background: #FEF2F2; color: var(--error); }
.alert-ok { background: #ECFDF5; color: var(--success); }

.center-screen { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }

/* ===== Dialoghi personalizzati (stile Chatzy, niente "app.courtify dice:") ===== */
.dlg-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.5); display: flex; align-items: center; justify-content: center; z-index: 600; padding: 24px; }
.dlg-modal { background: var(--card); border-radius: 24px; padding: 26px 22px; width: 100%; max-width: 330px; text-align: center; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.dlg-title { font-size: 18px; font-weight: 800; color: var(--text); margin-bottom: 8px; }
.dlg-msg { font-size: 14px; color: var(--muted); line-height: 1.55; white-space: pre-line; }
.dlg-input { margin-top: 14px; text-align: left; }
.dlg-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 14px; }
.dlg-chip { border: 1.5px solid #93C5FD; background: #EFF6FF; color: #1D4ED8; font-weight: 700; font-size: 13px; padding: 6px 14px; border-radius: 999px; cursor: pointer; }
.dlg-chip.on { background: #2563EB; border-color: #2563EB; color: #fff; }
.dlg-actions { display: flex; gap: 12px; margin-top: 20px; }
.dlg-btn { flex: 1; border: none; border-radius: 12px; height: 46px; font-weight: 700; font-size: 14px; cursor: pointer; font-family: inherit; }
.dlg-cancel { background: #F3F4F6; color: var(--muted); }
.dlg-ok { background: var(--blue); color: var(--on-accent,#fff); }

/* ===== Condivisione invito (social) ===== */
.share-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.share-btn { display: flex; align-items: center; justify-content: center; gap: 8px; border: none; border-radius: 12px; height: 46px; color: #fff; font-weight: 700; font-size: 13px; cursor: pointer; text-decoration: none; }
.share-btn i { font-size: 17px; }

/* ===== Sheet tema ===== */
.theme-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 2px; font-weight: 600; color: var(--text); font-size: 14px; }
.theme-row input { width: 20px; height: 20px; }
.accent-grid { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-bottom: 14px; }
.accent-dot { width: 34px; height: 34px; border-radius: 50%; cursor: pointer; border: 3px solid transparent; box-shadow: 0 0 0 1px var(--border); }
.accent-dot.on { border-color: var(--text); }

/* ===== Motivo palline da tennis (tema chiaro) — riusato da splash e login ===== */
:root { --cf-balls: url("data:image/png;base64,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") ; }

/* ===== Splash iniziale: pallina da tennis che gira su fondo chiaro con motivo ===== */
.splash { position: fixed; inset: 0; z-index: 9999; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #111;
          background-color: #ECECE7; background-image: var(--cf-balls); background-repeat: repeat; background-size: 330px 330px; }

/* ===== Sfondo tema per la pagina di accesso (dietro il contenuto) ===== */
.cf-auth-bg::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
          background-color: #ECECE7; background-image: var(--cf-balls); background-repeat: repeat; background-size: 330px 330px; }
.splash-ball { width: 136px; height: 136px; display: block; animation: splashspin 1.1s linear infinite; }
.splash-logo { font-family: 'Manrope', sans-serif; font-size: 40px; font-weight: 800; letter-spacing: -1.5px; line-height: 1; color: #111; margin-top: 20px; }
.splash-logo b { font-weight: 800; }
.splash-sub { font-size: 10px; font-weight: 700; letter-spacing: 2px; color: rgba(0,0,0,.55); margin-top: 6px; }
@keyframes splashspin { to { transform: rotate(360deg); } }

/* ===== Blazor defaults (preservati) ===== */
.valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; }
.invalid { outline: 1px solid red; }
.validation-message { color: red; }

#blazor-error-ui {
    color-scheme: light only; background: lightyellow; bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); box-sizing: border-box; display: none;
    left: 0; padding: 0.6rem 1.25rem 0.7rem 1.25rem; position: fixed; width: 100%; z-index: 1000;
}
#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }

.blazor-error-boundary { background: #b32121; padding: 1rem; color: white; }
.blazor-error-boundary::after { content: "Si è verificato un errore."; }

.loading-progress { position: relative; display: block; width: 8rem; height: 8rem; margin: 20vh auto 1rem auto; }
.loading-progress circle { fill: none; stroke: #e0e0e0; stroke-width: 0.6rem; transform-origin: 50% 50%; transform: rotate(-90deg); }
.loading-progress circle:last-child { stroke: var(--theme); stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%; transition: stroke-dasharray 0.05s ease-in-out; }
.loading-progress-text { position: absolute; text-align: center; font-weight: bold; inset: calc(20vh + 3.25rem) 0 auto 0.2rem; }
.loading-progress-text:after { content: var(--blazor-load-percentage-text, "Caricamento Courtify..."); }

/* Drag & drop touch: evidenziazione drop-zone */
.dnd-over { outline: 2px dashed #2563EB !important; outline-offset: 2px; background: #EFF6FF !important; border-radius: 10px; }
/* Durante il drag: niente overflow:hidden (servirebbe l'auto-scroll ai bordi). Lo scroll
   nativo del dito è comunque bloccato da touch-action:none + preventDefault in onMove. */
.dnd-active { touch-action: none !important; -webkit-user-select: none; user-select: none; }
.dnd-active [data-drop] { transition: outline .08s; }
.dnd-src { opacity: .4 !important; }
[data-drag-enr] { touch-action: none; }   /* la chip è superficie di drag/tap: lo scroll si fa altrove (card, sfondo) */

/* iOS Safari: input data/ora hanno larghezza intrinseca e sbordano dalla card; vuoti collassano */
input[type=time].inp, input[type=date].inp, input[type=datetime-local].inp { -webkit-appearance: none; appearance: none; box-sizing: border-box; max-width: 100%; min-width: 0; min-height: 46px; display: block; }
input[type=time].inp::-webkit-date-and-time-value, input[type=date].inp::-webkit-date-and-time-value { text-align: left; }
/* Selettori data: solo l'icona calendario nativa a destra (niente seconda icona a sinistra). */
input[type=date] { box-sizing: border-box; max-width: 100%; min-width: 0; text-align: left; }
input[type=date]:not(.has-ico)::-webkit-date-and-time-value { text-align: left; }
input[type=date]:not(.inp) { min-height: 38px; }

/* Avviso al circolo: posizione sulla mappa mancante */
.map-nudge { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 12px 14px 0; padding: 12px 14px;
    background: #FFF7ED; border: 1px solid #FDBA74; border-radius: 14px; color: #9A3412; }
.map-nudge-ic { font-size: 28px; flex: none; display: flex; }
.map-nudge-txt { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 13px; line-height: 1.45; }
.map-nudge-txt b { font-size: 14px; }
.map-nudge-act { display: flex; gap: 8px; flex: none; }
.map-nudge-go { background: #EA580C; color: #fff !important; text-decoration: none; font-weight: 800; font-size: 13px; padding: 8px 14px; border-radius: 10px; }
.map-nudge-later { background: transparent; border: 1px solid #FDBA74; color: #9A3412; font-weight: 700; font-size: 13px; padding: 8px 12px; border-radius: 10px; cursor: pointer; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .map-nudge { background: #431407; border-color: #9A3412; color: #FED7AA; } }
:root[data-theme="dark"] .map-nudge { background: #431407; border-color: #9A3412; color: #FED7AA; }
/* Topbar web del pannello supervisore: etichetta al posto dell'avatar */
.app-shell.web .web-sup-tag { font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 999px; background: var(--nd-soft); color: var(--theme); white-space: nowrap; }

/* DateField / TimeField: stessa «stecca» del selettore di Trova campo. Icona a sinistra, il calendario/orologio
   nativo resta ma è invisibile e steso su tutto il campo: si apre toccando qualsiasi punto. */
.dfield { position: relative; min-width: 0; }
.dfield .inp { margin: 0; padding-left: 36px !important; width: 100%; min-width: 0; cursor: pointer; }
.dfield input { position: relative; }
.dfield input::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: auto; height: auto; margin: 0; padding: 0; opacity: 0; cursor: pointer; }

/* Fornitore senza logo: iniziali della società al posto della foto */
.sup-logo-ph { display:inline-flex; align-items:center; justify-content:center; background:#B45309; color:#fff; font-weight:900; font-size:13px; cursor:pointer; }
