/* =========================================================================
   AREA DEL CONSULENTE DEL TEAM (layouts/consulente.blade.php)

   Pagine proprie, senza Bootstrap e senza gli stili del gestionale del
   medico: tutte le classi hanno il prefisso tc-. Tema notte in :root, tema
   giorno con html[data-tema="giorno"] (la scelta del consulente).

   Contrasti controllati (WCAG AA):
   - notte: testo #E2E8F0 su #1E293B 12,9:1; tenue #94A3B8 su #1E293B 5,7:1;
     secondario #7DD3FC su #1E293B 9,4:1; distruttivo #F87171 su #1E293B 5,3:1;
   - giorno: testo #1F2937 su #FFFFFF 14,7:1; tenue #475569 su #FFFFFF 7,6:1;
     secondario #0E7490 su #FFFFFF 5,4:1; distruttivo #B91C1C su #FFFFFF 6,5:1;
   - primario: testo bianco sul gradiente #0E7490 (5,4:1) / #2563EB (5,2:1).
   Pensate prima per il telefono: 16 px di margine, niente scorrimento
   orizzontale; sotto i 768 px la barra mette le voci in una fascia.
   ========================================================================= */

:root{
    --tc-fondo:#0F1929;
    --tc-barra:#15202F;
    --tc-carta:#1E293B;
    --tc-carta-2:#162234;
    --tc-bordo:rgba(148,163,184,.18);
    --tc-bordo-forte:rgba(148,163,184,.32);
    --tc-testo:#E2E8F0;
    --tc-forte:#F8FAFC;
    --tc-tenue:#94A3B8;
    --tc-accento:#22D3EE;
    --tc-accento-fondo:rgba(34,211,238,.10);
    --tc-link:#7DD3FC;
    --tc-sec-bordo:rgba(56,189,248,.4);
    --tc-sec-testo:#7DD3FC;
    --tc-sec-sopra:rgba(56,189,248,.10);
    --tc-dis:#F87171;
    --tc-dis-sopra:rgba(248,113,113,.12);
    --tc-campo:#0F1929;
    --tc-fuoco:#67E8F9;
    --tc-ok-fondo:rgba(16,185,129,.10);
    --tc-ok-bordo:rgba(16,185,129,.45);
    --tc-ok-testo:#6EE7B7;
    --tc-err-fondo:rgba(248,113,113,.10);
    --tc-err-bordo:rgba(248,113,113,.5);
    --tc-err-testo:#FCA5A5;
    --tc-nota-fondo:rgba(34,211,238,.08);
    --tc-nota-bordo:rgba(34,211,238,.35);
    --tc-ombra:0 10px 30px rgba(2,6,23,.35);
    --tc-font:'Inter','Segoe UI',system-ui,-apple-system,Roboto,sans-serif;
    color-scheme:dark;
}
html[data-tema="giorno"]{
    --tc-fondo:#F8FAFC;
    --tc-barra:#FFFFFF;
    --tc-carta:#FFFFFF;
    --tc-carta-2:#E6F4F7;
    --tc-bordo:#C9D3DF;
    --tc-bordo-forte:#AEBBCB;
    --tc-testo:#1F2937;
    --tc-forte:#0F172A;
    --tc-tenue:#475569;
    --tc-accento:#0E7490;
    --tc-accento-fondo:#E6F4F7;
    --tc-link:#0E7490;
    --tc-sec-bordo:rgba(14,116,144,.5);
    --tc-sec-testo:#0E7490;
    --tc-sec-sopra:#E6F4F7;
    --tc-dis:#B91C1C;
    --tc-dis-sopra:#FEF2F2;
    --tc-campo:#FFFFFF;
    --tc-fuoco:#0E7490;
    --tc-ok-fondo:#ECFDF5;
    --tc-ok-bordo:#6EE7B7;
    --tc-ok-testo:#047857;
    --tc-err-fondo:#FEF2F2;
    --tc-err-bordo:#FCA5A5;
    --tc-err-testo:#B91C1C;
    --tc-nota-fondo:#E6F4F7;
    --tc-nota-bordo:#8CC7D4;
    --tc-ombra:0 8px 24px rgba(15,23,42,.08);
    color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body.tc-corpo{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--tc-fondo);color:var(--tc-testo);
    font-family:var(--tc-font);font-size:16px;line-height:1.5;overflow-x:hidden;}
.tc-corpo a{color:var(--tc-link);}
.tc-corpo :focus-visible{outline:3px solid var(--tc-fuoco);outline-offset:2px;}
.tc-corpo [hidden]{display:none !important;}
.tc-sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.tc-salta{position:absolute;left:16px;top:-60px;z-index:50;padding:10px 14px;border-radius:10px;background:var(--tc-carta);color:var(--tc-forte);font-weight:700;}
.tc-salta:focus{top:10px;}

/* ---------------- Barra in alto ---------------- */
.tc-barra{position:sticky;top:0;z-index:30;background:var(--tc-barra);border-bottom:1px solid var(--tc-bordo);}
.tc-barra-dentro{max-width:1100px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px;}
.tc-logo{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:var(--tc-forte);}
.tc-logo img{height:26px;width:auto;display:block;}
.tc-logo .e-giorno{display:none;}
html[data-tema="giorno"] .tc-logo .e-notte{display:none;}
html[data-tema="giorno"] .tc-logo .e-giorno{display:block;}
.tc-logo-team{font-size:.82rem;font-weight:700;color:var(--tc-tenue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    padding-left:10px;border-left:1px solid var(--tc-bordo);}
.tc-nav{margin-left:auto;display:flex;align-items:center;gap:4px;}
.tc-nav form{margin:0;display:flex;}
.tc-nav-voce{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border-radius:10px;
    border:0;background:transparent;color:var(--tc-tenue);font:600 .9rem/1.2 var(--tc-font);text-decoration:none;cursor:pointer;}
.tc-corpo a.tc-nav-voce{color:var(--tc-tenue);}
.tc-nav-voce:hover,.tc-corpo a.tc-nav-voce:hover{background:var(--tc-accento-fondo);color:var(--tc-forte);}
.tc-nav-voce.e-attiva,.tc-corpo a.tc-nav-voce.e-attiva{background:var(--tc-accento-fondo);color:var(--tc-accento);}
.tc-nav-icona{position:relative;display:inline-flex;font-size:1.05rem;}
.tc-nav-icona.e-con-pallino{margin-right:8px;}
.tc-pallino{position:absolute;top:-8px;right:-12px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;
    background:#DC2626;color:#FFFFFF;font-size:.7rem;font-weight:800;line-height:19px;text-align:center;}
.tc-tema{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid var(--tc-bordo);background:transparent;color:var(--tc-tenue);
    display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;}
.tc-tema:hover{color:var(--tc-forte);border-color:var(--tc-sec-bordo);}
.tc-tema .e-giorno{display:none;}
html[data-tema="giorno"] .tc-tema .e-notte{display:none;}
html[data-tema="giorno"] .tc-tema .e-giorno{display:inline;}
.tc-barra-tema{margin:0;display:flex;}

/* ---------------- Pagina ---------------- */
.tc-pagina{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:22px 16px 48px;}
.tc-pagina.e-stretta{max-width:460px;padding-top:40px;}
.tc-titolo{margin:0 0 6px;font-size:1.5rem;line-height:1.25;font-weight:800;color:var(--tc-forte);}
.tc-sotto{margin:0 0 20px;color:var(--tc-tenue);font-size:.95rem;}
.tc-testata{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.tc-indietro{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;font-weight:600;font-size:.92rem;text-decoration:none;}

.tc-esito,.tc-errore,.tc-nota{margin:0 0 16px;padding:12px 14px;border-radius:12px;font-size:.93rem;border:1px solid;display:flex;gap:10px;align-items:flex-start;}
.tc-esito{background:var(--tc-ok-fondo);border-color:var(--tc-ok-bordo);color:var(--tc-ok-testo);}
.tc-errore{background:var(--tc-err-fondo);border-color:var(--tc-err-bordo);color:var(--tc-err-testo);}
.tc-nota{background:var(--tc-nota-fondo);border-color:var(--tc-nota-bordo);color:var(--tc-testo);}
.tc-esito i,.tc-errore i,.tc-nota i{margin-top:3px;flex-shrink:0;}
.tc-nota i{color:var(--tc-accento);}

.tc-sezione{margin:0 0 26px;}
.tc-sezione-titolo{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:1.05rem;font-weight:800;color:var(--tc-forte);}
.tc-conta{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 8px;border-radius:999px;
    background:var(--tc-accento-fondo);color:var(--tc-accento);font-size:.8rem;font-weight:800;}

.tc-carta{background:var(--tc-carta);border:1px solid var(--tc-bordo);border-radius:16px;padding:18px;box-shadow:var(--tc-ombra);margin-bottom:16px;}
.tc-carta > h2{margin:0 0 12px;font-size:1.02rem;font-weight:800;color:var(--tc-forte);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.tc-carta > h2 i{color:var(--tc-accento);}
.tc-piu{margin:12px 0 0;font-size:.93rem;font-weight:600;}
.tc-vuoto{margin:0;padding:18px;border:1px dashed var(--tc-bordo-forte);border-radius:14px;color:var(--tc-tenue);text-align:center;}

/* ---------------- Righe degli appuntamenti ---------------- */
.tc-elenco{display:flex;flex-direction:column;gap:12px;}
.tc-app{background:var(--tc-carta);border:1px solid var(--tc-bordo);border-radius:16px;padding:14px 16px;box-shadow:var(--tc-ombra);}
.tc-app-riga{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:14px;align-items:center;}
.tc-quando{display:flex;flex-direction:column;gap:2px;}
.tc-quando b{font-size:.92rem;color:var(--tc-forte);text-transform:capitalize;}
.tc-quando span{font-size:1.2rem;font-weight:800;color:var(--tc-accento);}
.tc-chi{min-width:0;}
.tc-chi-nome{display:block;font-weight:700;color:var(--tc-forte);overflow-wrap:anywhere;}
.tc-chi-dati{display:block;font-size:.88rem;color:var(--tc-tenue);overflow-wrap:anywhere;}
.tc-chi-dati + .tc-chi-dati{margin-top:2px;}
.tc-azioni{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;}
.tc-azioni form{margin:0;display:inline-flex;}
.tc-app .tc-attesa{margin:0;font-size:.88rem;color:var(--tc-tenue);max-width:280px;}

.tc-stato{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap;vertical-align:middle;}
.tc-stato.e-richiesto{background:rgba(245,158,11,.16);color:#FBBF24;}
.tc-stato.e-proposto{background:rgba(34,211,238,.14);color:#67E8F9;}
.tc-stato.e-confermato{background:rgba(16,185,129,.16);color:#34D399;}
.tc-stato.e-annullato{background:rgba(248,113,113,.14);color:#FCA5A5;}
.tc-stato.e-svolto{background:rgba(148,163,184,.16);color:#CBD5E1;}
html[data-tema="giorno"] .tc-stato.e-richiesto{background:#FDF1DC;color:#92400E;}
html[data-tema="giorno"] .tc-stato.e-proposto{background:#E6F4F7;color:#155E75;}
html[data-tema="giorno"] .tc-stato.e-confermato{background:#D1FAE5;color:#065F46;}
html[data-tema="giorno"] .tc-stato.e-annullato{background:#FEE2E2;color:#991B1B;}
html[data-tema="giorno"] .tc-stato.e-svolto{background:#E2E8F0;color:#334155;}

/* ---------------- Pulsanti di casa ---------------- */
.tc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:12px;
    border:1px solid transparent;font:700 .95rem/1.2 var(--tc-font);text-decoration:none;cursor:pointer;text-align:center;}
.tc-corpo a.tc-btn{text-decoration:none;}
.tc-btn.e-primario,.tc-corpo a.tc-btn.e-primario{background:linear-gradient(135deg,#0E7490,#2563EB);color:#FFFFFF;box-shadow:0 6px 16px rgba(14,116,144,.28);}
.tc-btn.e-primario:hover{filter:brightness(1.08);}
.tc-btn.e-secondario,.tc-corpo a.tc-btn.e-secondario{background:transparent;border-color:var(--tc-sec-bordo);color:var(--tc-sec-testo);}
.tc-btn.e-secondario:hover{background:var(--tc-sec-sopra);}
.tc-btn.e-distruttivo,.tc-corpo a.tc-btn.e-distruttivo{background:transparent;border-color:var(--tc-dis);color:var(--tc-dis);}
.tc-btn.e-distruttivo:hover{background:var(--tc-dis-sopra);}
.tc-btn.e-piccolo{min-height:38px;padding:7px 13px;font-size:.87rem;border-radius:10px;}
.tc-btn.e-largo{width:100%;}
.tc-btn:disabled,.tc-btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;filter:none;}

/* ---------------- Pannelli di conferma nella pagina ---------------- */
.tc-pannello{margin-top:12px;padding:14px;border-radius:12px;background:var(--tc-carta-2);border:1px solid var(--tc-bordo);}
.tc-pannello p{margin:0 0 10px;font-size:.93rem;}
.tc-pannello-azioni{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}

/* ---------------- Campi ---------------- */
.tc-campi{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;}
.tc-campo{display:flex;flex-direction:column;gap:6px;min-width:0;}
.tc-campo.e-largo{grid-column:1 / -1;}
.tc-campo label,.tc-etichetta{font-size:.82rem;font-weight:700;color:var(--tc-forte);}
.tc-campo input,.tc-campo select,.tc-campo textarea,.tc-orari input,.tc-link-riga input{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;
    border:1px solid var(--tc-bordo-forte);background:var(--tc-campo);color:var(--tc-forte);font:400 1rem/1.4 var(--tc-font);}
.tc-campo textarea{min-height:96px;resize:vertical;}
.tc-campo input:focus,.tc-campo select:focus,.tc-campo textarea:focus,.tc-orari input:focus,.tc-link-riga input:focus{outline:2px solid var(--tc-fuoco);outline-offset:1px;border-color:transparent;}
.tc-aiuto{font-size:.82rem;color:var(--tc-tenue);}
.tc-scelte{display:flex;gap:16px;flex-wrap:wrap;}
.tc-scelte label{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;color:var(--tc-testo);min-height:44px;cursor:pointer;}
.tc-scelte input{width:20px;height:20px;min-height:0;accent-color:#0E7490;}
.tc-spunta{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.95rem;cursor:pointer;}
.tc-spunta input{width:20px;height:20px;accent-color:#0E7490;}
.tc-dato-fisso{padding:10px 12px;border-radius:10px;background:var(--tc-carta-2);border:1px solid var(--tc-bordo);color:var(--tc-testo);overflow-wrap:anywhere;}

/* Orari settimanali: sette righe, due fasce */
.tc-orari{display:flex;flex-direction:column;gap:8px;}
.tc-orari-riga{display:grid;grid-template-columns:110px repeat(2,minmax(0,1fr));gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--tc-bordo);}
.tc-orari-riga:last-child{border-bottom:0;}
.tc-orari-giorno{font-weight:700;color:var(--tc-forte);}
.tc-fascia{display:flex;align-items:center;gap:6px;min-width:0;}
.tc-fascia span{color:var(--tc-tenue);font-size:.85rem;flex-shrink:0;}
.tc-orari input{min-width:0;padding:8px;}
.tc-orari-testa{display:grid;grid-template-columns:110px repeat(2,minmax(0,1fr));gap:10px;font-size:.78rem;font-weight:700;color:var(--tc-tenue);text-transform:uppercase;letter-spacing:.04em;}

/* ---------------- Dati dell'appuntamento ---------------- */
.tc-dati{display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px 16px;margin:0;}
.tc-dati dt{font-size:.85rem;font-weight:700;color:var(--tc-tenue);}
.tc-dati dd{margin:0;color:var(--tc-testo);overflow-wrap:anywhere;white-space:pre-line;}
.tc-griglia{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start;}

/* Videochiamata in tre passi */
.tc-passi{margin:0 0 14px;padding-left:22px;display:flex;flex-direction:column;gap:8px;font-size:.93rem;}
.tc-passi b{color:var(--tc-forte);}
.tc-passi code{font-size:.85em;padding:1px 6px;border-radius:6px;background:var(--tc-carta-2);color:var(--tc-forte);}
.tc-link-riga{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.tc-link-riga input{flex:1 1 240px;}

/* ---------------- Agenda ---------------- */
.tc-giorno{margin:0 0 18px;}
.tc-giorno-titolo{margin:0 0 8px;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--tc-tenue);}
.tc-giorno-titolo.e-oggi{color:var(--tc-accento);}
.tc-schede{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;}

/* ---------------- Accesso ---------------- */
.tc-accesso .tc-carta{padding:24px 20px;}
.tc-accesso .tc-titolo{font-size:1.35rem;}
.tc-accesso form{display:flex;flex-direction:column;gap:14px;}
.tc-modulo-password{margin-top:22px;}
.tc-modulo-password .tc-aiuto{margin:12px 0 14px;}
.tc-separa{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--tc-bordo);}

/* ---------------- Piede ---------------- */
.tc-piede{border-top:1px solid var(--tc-bordo);padding:16px;text-align:center;font-size:.85rem;color:var(--tc-tenue);}
.tc-piede a{font-weight:600;}

/* Avviso fisso sotto il campo della chat (finestra public/js/chat-telefono.js) */
#chatTelefono .tc-chat-avviso{margin:6px 0 0 4px;font-size:11.5px;line-height:1.35;color:#94A3B8;}
html[data-tema="giorno"] #chatTelefono .tc-chat-avviso{color:#475569;}

/* ---------------- Telefono ---------------- */
@media (max-width: 767.98px){
    .tc-barra-dentro{flex-wrap:wrap;padding:8px 16px 0;gap:8px;}
    .tc-logo{flex:1;}
    .tc-logo-team{font-size:.78rem;}
    .tc-nav{order:3;width:100%;margin:0 -4px;justify-content:space-between;gap:0;border-top:1px solid var(--tc-bordo);}
    .tc-nav form{flex:1;}
    .tc-nav-voce{flex:1;flex-direction:column;gap:3px;min-width:0;padding:8px 2px;font-size:.72rem;border-radius:8px;}
    .tc-nav form .tc-nav-voce{width:100%;}
    .tc-nav-voce > span:last-child{white-space:nowrap;}
    .tc-pallino{right:-14px;}
    .tc-nav-icona.e-con-pallino{margin-right:0;}
    .tc-pagina{padding:18px 16px 40px;}
    .tc-titolo{font-size:1.3rem;}
    .tc-app-riga{grid-template-columns:1fr;gap:10px;}
    .tc-quando{flex-direction:row;align-items:baseline;gap:10px;}
    .tc-azioni{justify-content:flex-start;}
    .tc-azioni > *,.tc-azioni form,.tc-azioni .tc-btn{flex:1 1 auto;}
    .tc-azioni > .tc-stato{flex:0 0 auto;}
    .tc-azioni > .tc-attesa{flex:1 1 100%;max-width:none;}
    .tc-campi{grid-template-columns:1fr;}
    .tc-dati{grid-template-columns:1fr;gap:2px;}
    .tc-dati dd{margin-bottom:10px;}
    .tc-griglia{grid-template-columns:1fr;}
    .tc-orari-testa{display:none;}
    .tc-orari-riga{grid-template-columns:1fr;gap:6px;}
    .tc-carta{padding:16px;}
}

/* ---------------- Telefono: verifica del 27/09 (foto a 390 e 360 px) ----------------
   Solo misure e disposizione: colori e sul computer tutto come prima. */
@media (max-width: 767.98px){
    /* Testata: a 360 px "Team · Broker assicurativo" finiva coi puntini.
       Logo un po' piu' piccolo e la figura, se serve, su due righe. */
    .tc-logo{min-height:44px;gap:8px;}
    .tc-logo img{height:22px;}
    .tc-logo-team{white-space:normal;line-height:1.25;padding-left:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
    .tc-nav-voce{font-size:.75rem;}
    /* Pulsanti piccoli: 44 px anche qui (erano 38). */
    .tc-btn.e-piccolo{min-height:44px;font-size:.9rem;}
    /* Pulsanti dei riquadri (Rispondi, Cambia o annulla, Proponi...):
       uno sotto l'altro a tutta larghezza invece che di tre larghezze. */
    .tc-pannello-azioni{flex-direction:column;align-items:stretch;}
    .tc-pannello-azioni > form,
    .tc-pannello-azioni .tc-btn{width:100%;}
    /* Azione principale di un modulo o di una scheda a tutta larghezza
       (Salva il profilo, Cambia la password, Manda il link, Segna come svolto,
       Crea la stanza). */
    .tc-corpo form > .tc-btn,
    .tc-corpo form > section > .tc-btn,
    .tc-carta > .tc-btn,
    .tc-carta > form > .tc-btn,
    .tc-link-riga .tc-btn{width:100%;}
    .tc-link-riga input{flex-basis:100%;}
    /* Collegamenti di testo: area di tocco da 44 px. */
    .tc-indietro{min-height:44px;margin-bottom:4px;}
    .tc-piu a{display:inline-flex;align-items:center;min-height:44px;}
    .tc-piu{margin-top:4px;}
    /* Piede: il numero di WhatsApp non si spezza a meta'. */
    .tc-piede a{white-space:nowrap;}
    /* Finestra dei messaggi (chat-telefono.js): campo a 16 px (sotto,
       l'iPhone ingrandisce la pagina al tocco), X da 44 px, "Conversazioni"
       risponde al tocco su 44 px senza cambiare aspetto. */
    body.tc-corpo #chatTelefono .ct-campo{font-size:16px;}
    body.tc-corpo #chatTelefono .chat-tel-chiudi{width:44px;height:44px;margin-right:-4px;}
    body.tc-corpo #chatTelefono .chat-tel-testa{gap:6px;}
    body.tc-corpo #chatTelefono .chat-tel-indietro{position:relative;}
    body.tc-corpo #chatTelefono .chat-tel-indietro::after{content:"";position:absolute;left:-4px;right:-4px;top:-9px;bottom:-9px;}
    body.tc-corpo #chatTelefono .tc-chat-avviso{font-size:12px;}
}
