/* public/css/admin-sito.css — sezioni dell'admin che parlano col sito
   istituzionale (lezioni individuali, corsi in diretta, fatturazione).
   Stessa palette di admin.html (variabili --bordeaux, --gold, --gray-*). */

/* ── Sotto-schede ── */
.ls-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid var(--gray-200);margin:0 0 20px}
.ls-tab{background:transparent;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:10px 14px;font:600 13px/1.2 inherit;font-family:inherit;color:var(--gray-600);cursor:pointer;min-height:44px}
.ls-tab[aria-selected="true"]{color:var(--bordeaux);border-bottom-color:var(--bordeaux)}
.ls-tab:focus-visible,.ls-btn:focus-visible,.ls-chip:focus-visible,.ls-cal-slot:focus-visible,.ls-cal-daybtn:focus-visible{outline:2px solid var(--bordeaux);outline-offset:2px}
.ls-pane[hidden]{display:none}

/* ── Card / testo ── */
.ls-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:18px 20px;margin-bottom:18px}
.ls-card h3{font-size:15px;font-weight:600;color:var(--gray-900);margin:0 0 10px}
.ls-help{color:var(--gray-600);font-size:13px;line-height:1.55;margin:0 0 14px}
.ls-muted{color:var(--gray-600);font-size:12.5px}
.ls-strong{color:var(--gray-900);font-weight:600}
.ls-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.ls-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.ls-field label,.ls-label{font-size:12.5px;font-weight:600;color:var(--gray-700)}
.ls-input{padding:8px 10px;font-size:14px;border:1px solid var(--gray-200);border-radius:8px;background:#fff;color:var(--gray-900);font-family:inherit;min-height:40px}
.ls-input:focus{border-color:var(--bordeaux);outline:none}
.ls-input[aria-invalid="true"]{border-color:var(--red)}
.ls-check{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--gray-900);min-height:40px;cursor:pointer}
.ls-check input{width:17px;height:17px;accent-color:var(--bordeaux)}
.ls-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;align-items:center}
.ls-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Bottoni piccoli coerenti con .btn del pannello */
.ls-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-900);font-size:12.5px;font-weight:600;cursor:pointer;min-height:40px;font-family:inherit}
.ls-btn:hover:not(:disabled){border-color:var(--bordeaux);color:var(--bordeaux)}
.ls-btn:disabled{opacity:.55;cursor:not-allowed}
.ls-btn--danger{color:#B91C1C;border-color:#F3B4B4}
.ls-btn--danger:hover:not(:disabled){background:#FEE2E2;color:#991B1B;border-color:#B91C1C}
.ls-btn--primary{background:var(--bordeaux);color:#fff;border-color:var(--bordeaux)}
.ls-btn--primary:hover:not(:disabled){background:var(--bordeaux2);color:#fff}

/* Avvisi */
.ls-msg{border-left:4px solid var(--gray-400);background:var(--gray-50);color:var(--gray-900);padding:10px 14px;font-size:13.5px;margin:12px 0;line-height:1.5;border-radius:0 8px 8px 0}
.ls-msg--ok{border-left-color:#15803D;background:#DCFCE7;color:#14532D}
.ls-msg--warn{border-left-color:#B45309;background:#FEF3C7;color:#78350F}
.ls-msg--error{border-left-color:#B91C1C;background:#FEE2E2;color:#7F1D1D}
.ls-msg--info{border-left-color:var(--bordeaux);background:rgba(107,39,55,.07);color:var(--gray-900)}

/* Chip periodi rapidi */
.ls-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none}
.ls-chip{border:1px solid var(--gray-400);background:#fff;color:var(--gray-900);border-radius:999px;padding:8px 14px;font:600 12.5px inherit;font-family:inherit;cursor:pointer;min-height:40px}
.ls-chip[aria-pressed="true"]{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}

/* Tabelle dentro le card (i th globali del pannello sono chiari: qui piu' scuri) */
.ls-table-wrap{overflow-x:auto}
.ls-table{width:100%;border-collapse:collapse;font-size:13.5px}
.ls-table th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--gray-200);font-weight:700;color:var(--gray-700);font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:transparent;white-space:nowrap}
.ls-table td{padding:9px 10px;border-top:1px solid var(--gray-200);vertical-align:top;color:var(--gray-900);border-bottom:0}
.ls-table tr:hover td{background:transparent}
.ls-sep td{background:var(--gray-50);color:var(--gray-700);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;border-top:2px solid var(--gray-200)}
.ls-detail td{background:var(--cream)}
.ls-dl{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:8px 16px;font-size:13.5px;margin:0}
.ls-dl dt{font-weight:600;color:var(--gray-700)}
.ls-dl dd{margin:0;color:var(--gray-900)}
.ls-files{list-style:none;padding:0;margin:0}
.ls-files li{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:6px 0;border-top:1px solid var(--gray-200);font-size:13px}
.ls-files li:first-child{border-top:0}
.ls-files a{color:var(--bordeaux);text-decoration:underline}
.ls-pager{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.ls-next{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.ls-next li{border:1px solid var(--gray-200);border-top:3px solid var(--bordeaux);border-radius:0 0 8px 8px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:13.5px;color:var(--gray-900)}
.ls-next li strong{color:var(--bordeaux)}
.ls-next .ls-btn{align-self:flex-start;margin-top:6px}

/* Badge stato (colori con contrasto ≥ 4.5:1) */
.ls-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;white-space:nowrap}
.ls-badge--confirmed,.ls-badge--issued,.ls-badge--open{background:#DCFCE7;color:#14532D}
.ls-badge--cancelled,.ls-badge--skipped,.ls-badge--superseded{background:var(--gray-100);color:var(--gray-700)}
.ls-badge--done{background:rgba(107,39,55,.1);color:var(--bordeaux)}
.ls-badge--closed,.ls-badge--error{background:#FEE2E2;color:#7F1D1D}
.ls-badge--pending,.ls-badge--needs_review{background:#FEF3C7;color:#78350F}
.ls-badge--awaiting_payment{background:#DBEAFE;color:#1E3A8A}

/* Giorni (orari della settimana) */
.ls-day{padding:12px 0;border-top:1px solid var(--gray-200)}
.ls-day:first-of-type{border-top:0}
.ls-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.ls-day-head strong{color:var(--gray-900);font-size:14px}
.ls-window{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:8px 0}
.ls-days-check{display:flex;flex-wrap:wrap;gap:2px 8px}
.ls-days-check .ls-check{min-height:34px;font-size:13px}

/* ── Calendario cliccabile ── */
.ls-cal-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 12px}
.ls-cal-nav strong{color:var(--gray-900);font-size:14.5px;text-align:center;flex:1;min-width:180px}
.ls-cal-legend{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0 0 12px;padding:0;font-size:12.5px;color:var(--gray-700)}
.ls-cal-legend li{display:flex;align-items:center;gap:6px}
.ls-cal-key{width:14px;height:14px;border-radius:3px;flex-shrink:0}
.ls-cal-key--free{background:#fff;border:1px solid var(--gray-600)}
.ls-cal-key--closed{background:#FEE2E2;border:1px solid #B91C1C}
.ls-cal-key--booked{background:#DCFCE7;border:1px solid #15803D}
.ls-cal-key--hold{background:#FEF3C7;border:1px solid #B45309}
.ls-cal-wrap{overflow-x:auto;padding-bottom:4px}
.ls-cal{display:flex;flex-direction:column;gap:6px;min-width:660px}
.ls-cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ls-cal-head{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;font-size:12.5px;font-weight:700;color:var(--gray-900);padding:4px 2px 6px;border-bottom:2px solid var(--gray-200);line-height:1.25}
.ls-cal-head--today{border-bottom-color:var(--gold)}
.ls-cal-daybtn{background:none;border:0;padding:4px 2px;color:var(--bordeaux);font:600 11px inherit;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.ls-cal-daybtn:hover:not(:disabled){color:#7F1D1D}
.ls-cal-daybtn:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}
.ls-cal-cell{display:flex;min-height:0}
.ls-cal-slot{flex:1;min-width:0;min-height:44px;border-radius:6px;font:600 13px inherit;font-family:inherit;line-height:1.2;padding:4px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer}
.ls-cal-slot small{font-weight:600;font-size:9.5px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ls-cal-slot--free{background:#fff;border:1px solid var(--gray-600);color:var(--gray-900)}
.ls-cal-slot--free:hover:not(:disabled){background:#FEE2E2;border-color:#B91C1C;color:#7F1D1D}
.ls-cal-slot--closed{background:#FEE2E2;border:1px solid #DC2626;color:#7F1D1D}
.ls-cal-slot--closed:hover:not(:disabled){background:#fff;border-color:var(--gray-600);color:var(--gray-900)}
.ls-cal-slot--booked{background:#DCFCE7;border:1px solid #15803D;color:#14532D;cursor:not-allowed}
.ls-cal-slot--hold{background:#FEF3C7;border:1px solid #B45309;color:#78350F;cursor:not-allowed}
.ls-cal-slot--out{background:transparent;border:1px dashed var(--gray-400);color:var(--gray-600);cursor:not-allowed;font-weight:500}
.ls-cal-slot:disabled{cursor:not-allowed}
.ls-cal-allday{cursor:default;font-size:11.5px;text-align:center;padding:6px 4px;height:auto}
.ls-cal-allday small{white-space:normal;overflow:visible;text-overflow:clip;font-weight:500;line-height:1.3;font-size:10px}
.ls-cal-empty,.ls-cal-spacer{flex:1;min-height:44px;border:1px dashed var(--gray-200);border-radius:6px}
.ls-cal-spacer{border:0;min-height:0}

/* Dialog nativo */
.ls-dialog{border:0;border-top:4px solid var(--bordeaux);border-radius:12px;padding:24px;max-width:520px;width:calc(100% - 32px);box-shadow:0 20px 60px rgba(0,0,0,.25);color:var(--gray-900)}
.ls-dialog::backdrop{background:rgba(17,24,39,.55)}
.ls-dialog h3{font-size:16px;margin:0 0 12px;color:var(--gray-900)}

/* Corsi in diretta: elenco */
.ls-list{border:1px solid var(--gray-200);border-radius:12px;background:#fff;overflow:hidden}
.ls-list-row{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid var(--gray-200);flex-wrap:wrap;align-items:center}
.ls-list-row:first-child{border-top:0}
.ls-list-main{min-width:240px;flex:1}
.ls-list-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:600;color:var(--gray-900)}
.ls-list-sub{font-size:12.5px;color:var(--gray-600);margin-top:2px}
.ls-fieldset{border:1px solid var(--gray-200);border-radius:12px;background:#fff;padding:18px 20px;margin:0 0 18px}
.ls-fieldset legend{font-weight:700;color:var(--bordeaux);font-size:14px;padding:0 6px}
.ls-session-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ls-session-n{width:26px;text-align:right;color:var(--gray-600);font-size:12.5px}
.ls-wd{padding:8px 14px;border-radius:8px;cursor:pointer;border:1px solid var(--bordeaux);font-weight:600;background:#fff;color:var(--bordeaux);font-family:inherit;font-size:13px;min-height:40px}
.ls-wd[aria-pressed="true"]{background:var(--bordeaux);color:#fff}

@media (max-width:720px){.ls-dl{grid-template-columns:1fr}.ls-dl dt{margin-top:6px}}
@media (prefers-reduced-motion:reduce){.ls-tab,.ls-btn{transition:none}}
