:root{
  --bg:#0f0a16;
  --bg-soft:#1a1026;
  --panel:#ffffff;
  --panel-alt:#f7f3ea;
  --text:#1f2937;
  --muted:#6b7280;
  --gold-1:#fff6c9;
  --gold-2:#f2cf76;
  --gold-3:#c7952c;
  --gold-4:#8d6518;
  --gold-glow:rgba(233,188,82,.35);
  --danger:#b42318;
  --success:#067647;
  --warning:#b54708;
  --border:rgba(15, 10, 22, .08);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(201,149,44,.18), transparent 28%),
    radial-gradient(circle at top left, rgba(255,246,201,.08), transparent 25%),
    linear-gradient(180deg,#191126 0%, #140d1f 20%, #f6f3ed 20%, #f7f4ef 100%);
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
a{text-decoration:none}
.brand-gold{
  background:linear-gradient(135deg,var(--gold-1) 0%, var(--gold-2) 22%, var(--gold-3) 62%, var(--gold-4) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 0 28px var(--gold-glow);
}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{
  width:min(1120px,100%);
  display:grid;
  grid-template-columns:1.15fr .85fr;
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 26px 80px rgba(0,0,0,.25);
}
.login-left{
  padding:52px;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,246,201,.20), transparent 35%),
    linear-gradient(135deg, #28183d 0%, #1a1026 55%, #0f0a16 100%);
  color:#fff;
}
.login-right{padding:52px}
.layout{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh}
.sidebar{
  background:linear-gradient(180deg,rgba(16,10,23,.97),rgba(24,15,35,.97));
  color:#fff;
  border-right:1px solid rgba(255,255,255,.08);
  padding:20px 16px 24px;
  position:sticky;top:0;height:100vh;overflow:auto;
}
.sidebar-header{
  display:flex;align-items:center;gap:14px;padding:10px 10px 20px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)
}
.sidebar-logo{width:52px;height:52px;border-radius:16px;box-shadow:0 12px 30px rgba(201,149,44,.25)}
.sidebar small{color:rgba(255,255,255,.65)}
.menu-group{margin-top:14px}
.menu-title{
  color:#f5d991;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding:10px 10px 6px
}
.menu-link{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  color:rgba(255,255,255,.9);padding:11px 12px;border-radius:14px;font-weight:600
}
.menu-link:hover,.menu-link.active{background:rgba(233,188,82,.14);color:#fff}
.menu-link .meta{font-size:.76rem;color:rgba(255,255,255,.55)}
.topbar{
  position:sticky;top:0;z-index:20;
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 28px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border)
}
.topbar .who{display:flex;align-items:center;gap:14px}
.topbar .pill{
  padding:8px 12px;border-radius:999px;background:#fff7df;border:1px solid rgba(201,149,44,.25);font-size:.85rem;font-weight:700;color:#7b5a16
}
.main-shell{min-width:0}
.page-shell{padding:28px;max-width:1500px}
.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.section-title h1,.section-title h2,.section-title h3{margin:0}
.small-help{color:var(--muted)}
.lux-card{
  background:rgba(255,255,255,.96);
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:0 12px 40px rgba(15, 10, 22, .08)
}
.metric{
  padding:20px 22px;
  background:
    radial-gradient(circle at top right, rgba(201,149,44,.14), transparent 40%),
    linear-gradient(135deg,#fffef8,#fff8e6 50%,#fff);
  border:1px solid rgba(201,149,44,.16);
  border-radius:22px;
}
.metric h3{margin:8px 0 0;font-size:2rem;font-weight:800}
.metric p{margin:0;color:var(--muted);font-weight:600}
.badge-soft{
  border-radius:999px;padding:8px 12px;background:#fff5d7;color:#8a6516;font-weight:700;border:1px solid rgba(201,149,44,.18)
}
.badge-status{
  padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;gap:6px
}
.status-prenotato{background:#f3e8ff;color:#6d28d9}
.status-in_corso{background:#e0f2fe;color:#075985}
.status-completato{background:#dcfce7;color:#166534}
.status-annullato{background:#fee2e2;color:#991b1b}
.status-no-show{background:#ffedd5;color:#9a3412}
.table thead th{
  font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom-color:#ece5d5
}
.table td,.table th{vertical-align:middle}
.form-control,.form-select,.btn{border-radius:16px}
.form-control,.form-select{padding:.82rem 1rem;border-color:#e7dfcf}
.btn-gold{
  background:linear-gradient(135deg,var(--gold-2),var(--gold-3));border:none;color:#2d1c00;font-weight:800
}
.btn-gold:hover{filter:brightness(1.03);color:#2d1c00}
.btn-outline-dark{border-radius:16px}
.empty-state{padding:24px;text-align:center;color:var(--muted)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.info-box{padding:16px;border-radius:18px;background:#faf8f1;border:1px solid rgba(15,10,22,.06)}
.kpi-bar{height:9px;background:#eee3c8;border-radius:999px;overflow:hidden}
.kpi-bar > span{display:block;height:100%;background:linear-gradient(135deg,var(--gold-2),var(--gold-4))}
.card-list{display:grid;gap:16px}
.card-item{padding:16px;border-radius:20px;background:#fffaf0;border:1px solid rgba(201,149,44,.14)}
.anchor-section{scroll-margin-top:90px}
.note-admin{background:#fff2f2;border-left:4px solid #d92d20;padding:14px 16px;border-radius:12px}
.table-wrap{overflow:auto}
.footer-help{margin-top:14px;color:var(--muted);font-size:.9rem}
@media (max-width: 1100px){
  .layout{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
}
@media (max-width: 860px){
  .login-card{grid-template-columns:1fr}
  .grid-2,.grid-3,.info-list{grid-template-columns:1fr}
  .page-shell{padding:16px}
  .topbar{padding:14px 16px}
}


.priority-high{border-left:4px solid var(--danger)}
.priority-medium{border-left:4px solid var(--warning)}
.priority-low{border-left:4px solid var(--success)}
.timeline-dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--gold-2),var(--gold-4));display:inline-block;margin-right:8px}
.card-item strong{display:block;margin-bottom:4px}

.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.command-card{padding:18px;border-radius:24px;background:linear-gradient(135deg,#fffef8,#fff6dd 55%,#fff);border:1px solid rgba(201,149,44,.22);box-shadow:0 10px 28px rgba(201,149,44,.12)}
.command-card h4{margin:0 0 8px;font-size:1rem;font-weight:800}
.command-card .label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}
.risk-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-weight:800;font-size:.8rem;border:1px solid rgba(15,10,22,.08)}
.risk-pill.alta{background:#fff1ef;color:#b42318}.risk-pill.media{background:#fff7e6;color:#b54708}.risk-pill.bassa{background:#ecfdf3;color:#067647}
.command-list{display:grid;gap:12px}.command-item{padding:14px 16px;border-radius:18px;background:#fffaf0;border:1px solid rgba(201,149,44,.14)}
.kicker{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}
.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--gold-1),var(--gold-3),var(--gold-4));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.mode-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#1a1026;color:#fff;font-weight:800;border:1px solid rgba(255,255,255,.08)}
.mode-badge.critica{background:#7a271a}.mode-badge.alta{background:#8a6516}.mode-badge.media{background:#1f2937}.mode-badge.bassa{background:#14532d}
@media (max-width: 1200px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 860px){.grid-4{grid-template-columns:1fr}}
