/* Gestionale prenotazioni — stile coerente col sito MPT */
:root{
  --beige:#F5EDD6; --panna:#FAFAF5; --bianco:#fff;
  --rosa:#f78da7; --rosa-scuro:#c07882; --rosa-chiaro:#eedde3;
  --rosso:#c05a4a; --rosso-scuro:#9e4035;
  --testo:#2d1a1a; --testo-soft:#6B4F4F;
  --verde:#3c8a5f; --verde-bg:#e7f3ec;
  --ambra:#b5791f; --ambra-bg:#fbf1dc;
  --raggio:12px; --ombra:0 6px 22px rgba(80,40,40,.10);
}
*{box-sizing:border-box}
body{margin:0;background:var(--panna);color:var(--testo);
  font-family:'Lato',-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;color:var(--rosso-scuro);line-height:1.15;margin:.2em 0 .4em}
h1{font-size:2rem}h2{font-size:1.5rem}
a{color:var(--rosso)}
.wrap{max-width:920px;margin:0 auto;padding:20px 16px 48px}
.wrap.stretta{max-width:600px}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:6px 0 18px;border-bottom:2px solid var(--rosa-chiaro);margin-bottom:22px}
.brand{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--rosso-scuro);font-weight:600;line-height:1}
.brand span{display:block;font-family:'Lato',sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--testo-soft);margin-top:3px}
.card{background:var(--bianco);border:1px solid var(--rosa-chiaro);border-radius:var(--raggio);box-shadow:var(--ombra);padding:22px;margin:0 0 20px}
.pie{text-align:center;color:var(--testo-soft);font-size:.85rem;padding-top:18px;border-top:1px solid var(--rosa-chiaro);margin-top:24px}

/* Form */
label{display:block;font-weight:700;margin:14px 0 5px;font-size:.95rem}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=number],input[type=password],select,textarea{
  width:100%;padding:11px 12px;border:1px solid #d9c9c9;border-radius:9px;font-size:1rem;background:#fff;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--rosa);border-color:var(--rosa)}
.row{display:flex;gap:14px;flex-wrap:wrap}.row>div{flex:1;min-width:180px}
.check{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-weight:400;background:var(--panna);border:1px solid var(--rosa-chiaro);border-radius:9px;padding:12px}
.check input{margin-top:3px;width:18px;height:18px;flex:none}
.check.opz{border-style:dashed}
.hint{color:var(--testo-soft);font-size:.85rem;margin:2px 0 0}
.btn{display:inline-block;background:var(--rosso);color:#fff;border:0;border-radius:999px;padding:12px 26px;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;transition:.15s}
.btn:hover{background:var(--rosso-scuro)}
.btn.small{padding:7px 16px;font-size:.9rem}
.btn.ghost{background:#fff;color:var(--rosso);border:1.5px solid var(--rosso)}
.btn.grigio{background:#8a7777}
.btn[disabled]{background:#cbbcbc;cursor:not-allowed}

/* Messaggi */
.msg{border-radius:10px;padding:12px 14px;margin:0 0 16px;font-size:.95rem;border:1px solid}
.msg.ok{background:var(--verde-bg);border-color:#bfe0cd;color:#245e3f}
.msg.err{background:#fbe9e6;border-color:#f0c5bd;color:#8a2f22}
.msg.info{background:var(--ambra-bg);border-color:#ecd9ad;color:#7a5312}

/* Tabelle / liste sessioni */
.sessione{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--rosa-chiaro);border-radius:10px;padding:12px 14px;margin:10px 0;background:#fff;flex-wrap:wrap}
.sessione .quando{font-weight:700}
.sessione .orario{font-weight:700;white-space:nowrap;color:var(--testo)}
.sessione .dove{color:var(--testo-soft);font-size:.9rem}
.badge{display:inline-block;font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:999px}
.badge.liberi{background:var(--verde-bg);color:#245e3f}
.badge.pieno{background:#fbe9e6;color:#8a2f22}
.badge.pochi{background:var(--ambra-bg);color:#7a5312}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #eadddd}
th{color:var(--rosso-scuro)}
.kpi{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 18px}
.kpi .box{flex:1;min-width:130px;background:var(--rosa-chiaro);border-radius:10px;padding:12px 14px;text-align:center}
.kpi .box b{display:block;font-size:1.6rem;font-family:'Cormorant Garamond',serif;color:var(--rosso-scuro)}
.kpi .box span{font-size:.8rem;color:var(--testo-soft)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tabs a{padding:8px 16px;border-radius:999px;text-decoration:none;background:#fff;border:1px solid var(--rosa-chiaro);color:var(--testo-soft);font-weight:700;font-size:.9rem}
.tabs a.on{background:var(--rosso);color:#fff;border-color:var(--rosso)}
.mini{font-size:.82rem;color:var(--testo-soft)}
code.link{word-break:break-all;background:var(--panna);padding:2px 6px;border-radius:6px;font-size:.82rem}

/* Badge sede (ben visibile per evitare prenotazioni nella sede sbagliata) */
.sede-badge{display:inline-block;color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px;margin-right:6px}
.sede-nimis{background:#c96a1e}       /* Nimis = arancio */
.sede-movimente{background:#2a7f7f}   /* Martignacco = verde acqua */
.tua-sede{display:inline-block;font-size:.72rem;font-weight:700;color:#245e3f;background:var(--verde-bg);border:1px solid #bfe0cd;border-radius:999px;padding:2px 8px;margin-right:6px}
/* Lezione nella sede preferita della cliente: evidenziata */
.sessione.mia-sede{border-color:#bfe0cd;background:#f3fbf6;border-left:4px solid #2a7f7f}
