/* ============================================================
   ELÉVA — Staff design system (tema professionale condiviso)
   Caricato DOPO gli stili inline di ogni pagina per sovrascriverli.
   Colori ELÉVA: cream, marrone, copper, salvia.
   ============================================================ */
:root {
  --st-bg:#f5f0e8;
  --st-surface:#ffffff;
  --st-ink:#2c1709;
  --st-ink-soft:#5a4634;
  --st-muted:#8a7358;
  --st-accent:#a8703a;
  --st-accent-soft:rgba(168,112,58,.10);
  --st-green:#5b7a4e;
  --st-border:#ece3d5;
  --st-border-strong:#e0d3bf;
  --st-shadow:0 1px 3px rgba(59,31,14,.04), 0 12px 34px rgba(59,31,14,.05);
  --st-shadow-sm:0 1px 2px rgba(59,31,14,.05);
}

body { background:var(--st-bg); color:var(--st-ink); }

/* ── SIDEBAR (chiara) ── */
.sidebar {
  background:var(--st-surface) !important;
  border-right:1px solid var(--st-border);
  box-shadow:none;
  padding:26px 16px 20px !important;
}
.sidebar-brand { color:var(--st-ink) !important; letter-spacing:.2em; }
.sidebar-brand-tag { color:var(--st-accent) !important; }
.sidebar-cta {
  background:var(--st-accent) !important;
  border-radius:12px !important;
  box-shadow:0 2px 10px rgba(168,112,58,.22) !important;
  font-weight:600;
}
.sidebar-cta:hover { background:#95602f !important; }
.sidebar-cta.alt {
  background:var(--st-surface) !important;
  color:var(--st-ink-soft) !important;
  border:1px solid var(--st-border-strong) !important;
}
.sidebar-cta.alt:hover { background:var(--st-bg) !important; color:var(--st-ink) !important; }
.sidebar-nav-item {
  color:var(--st-ink-soft) !important;
  border-radius:12px !important;
  padding:11px 12px !important;
  gap:12px !important;
  font-weight:500;
}
.sidebar-nav-item:hover { background:var(--st-bg) !important; color:var(--st-ink) !important; }
.sidebar-nav-item.active { background:var(--st-accent-soft) !important; color:var(--st-accent) !important; }
.sidebar-nav-item svg { width:19px; height:19px; flex-shrink:0; stroke-width:1.8; }
.sidebar-divider { background:var(--st-border) !important; }
.sidebar-piani-btn {
  background:var(--st-surface) !important;
  color:var(--st-ink-soft) !important;
  border:1px solid var(--st-border-strong) !important;
  border-radius:12px !important;
}
.sidebar-piani-btn:hover { background:var(--st-bg) !important; color:var(--st-ink) !important; }
.sidebar-piani-btn.active-page, .sidebar-piani-btn.active {
  background:var(--st-accent-soft) !important;
  color:var(--st-accent) !important;
  border-color:rgba(168,112,58,.30) !important;
}
.sidebar-cta svg, .sidebar-piani-btn svg { width:16px; height:16px; flex-shrink:0; }
.sidebar-cta, .sidebar-piani-btn { display:flex; align-items:center; justify-content:center; gap:8px; }
.sidebar-logout { color:var(--st-muted) !important; border-radius:12px !important; }
.sidebar-logout:hover { color:var(--st-ink) !important; background:var(--st-bg) !important; }
.sidebar-logout svg { width:18px; height:18px; stroke-width:1.8; }

/* ── AREA PRINCIPALE ── */
.main { padding:40px 44px !important; }
.page-title { color:var(--st-ink) !important; }
.page-sub { color:var(--st-muted) !important; margin-bottom:30px !important; }

/* ── CARD ── */
.card {
  background:var(--st-surface) !important;
  border:1px solid var(--st-border) !important;
  border-radius:20px !important;
  padding:30px 34px !important;
  box-shadow:var(--st-shadow) !important;
  margin-bottom:22px !important;
}
.card-title { color:var(--st-ink) !important; }

/* ── ETICHETTE / SEZIONI ── */
.field-label, .form-label {
  font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--st-muted);
}

/* ── SELECT / INPUT ── */
.client-select, .login-input, input[type=text], input[type=email], input[type=password], input[type=number], select, textarea {
  border:1px solid var(--st-border-strong) !important;
  border-radius:12px !important;
  background:var(--st-surface) !important;
}
.client-select:focus, .login-input:focus, input:focus, select:focus, textarea:focus { border-color:var(--st-accent) !important; }
.select-arrow { color:var(--st-muted) !important; }

/* ── TIPO PIANO (card selezione) ── */
.tipo-btn {
  border:1px solid var(--st-border) !important;
  border-radius:16px !important;
  box-shadow:var(--st-shadow-sm) !important;
}
.tipo-btn:hover { border-color:var(--st-accent) !important; background:var(--st-accent-soft) !important; }
.tipo-btn.active {
  border-color:var(--st-accent) !important;
  background:var(--st-accent-soft) !important;
  box-shadow:0 4px 16px rgba(168,112,58,.14) !important;
}
.tipo-label { color:var(--st-ink) !important; }

/* ── BOTTONI ── */
.btn-primary {
  background:var(--st-accent) !important; border-radius:12px !important;
  box-shadow:0 2px 10px rgba(168,112,58,.22) !important;
}
.btn-primary:hover { background:#95602f !important; }
.btn-success { background:var(--st-green) !important; border-radius:12px !important; box-shadow:0 2px 10px rgba(91,122,78,.22) !important; }
.btn-success:hover { background:#4c6841 !important; }
.btn-secondary { border:1px solid var(--st-border-strong) !important; border-radius:12px !important; }
.btn-secondary:hover { border-color:var(--st-accent) !important; color:var(--st-accent) !important; }

/* ── ZONA UPLOAD ── */
.upload-zone { border:1.5px dashed var(--st-border-strong) !important; border-radius:16px !important; background:var(--st-bg) !important; }
.upload-zone:hover, .upload-zone.drag { border-color:var(--st-accent) !important; background:var(--st-accent-soft) !important; }

/* ── PIANI SALVATI / RIGHE ── */
.saved-item, .team-member-row {
  border:1px solid var(--st-border) !important;
  border-radius:14px !important;
  box-shadow:var(--st-shadow-sm) !important;
}
.saved-badge { border-radius:999px !important; }

/* ── METHOD TABS ── */
.method-tabs { border:1px solid var(--st-border-strong) !important; border-radius:12px !important; }

/* ============================================================
   ICONE INLINE — dimensioni contenute nei titoli e nei bottoni.
   (evita icone SVG giganti dentro le pagine)
   ============================================================ */
.main-title svg, .main-head svg, .nc-title svg, .login-brand-tag svg,
.page-title svg, .sec-title svg, .card-title svg {
  width:0.85em !important; height:0.85em !important; flex-shrink:0; vertical-align:-0.08em;
}
button svg { width:16px; height:16px; flex-shrink:0; }
.eleva-theme-toggle svg { width:19px !important; height:19px !important; }

/* ============================================================
   DARK MODE — scurisce SOLO la barra laterale (toni ELÉVA di prima).
   Il contenuto principale resta chiaro.
   ============================================================ */
:root[data-theme="dark"] .sidebar {
  background:radial-gradient(160% 140% at 50% -10%, #3b1f0e, #160b04) !important;
  border-right:1px solid rgba(212,184,152,.10) !important;
}
:root[data-theme="dark"] .sidebar-brand { color:#e8d4bb !important; }
:root[data-theme="dark"] .sidebar-brand-tag { color:rgba(212,184,152,.55) !important; }
:root[data-theme="dark"] .sidebar-nav-item { color:rgba(220,195,165,.70) !important; }
:root[data-theme="dark"] .sidebar-nav-item:hover { background:rgba(212,184,152,.08) !important; color:#e8d4bb !important; }
:root[data-theme="dark"] .sidebar-nav-item.active { background:rgba(201,138,74,.22) !important; color:#e8d4bb !important; }
:root[data-theme="dark"] .sidebar-cta { background:#a8703a !important; color:#fff !important; }
:root[data-theme="dark"] .sidebar-cta.alt,
:root[data-theme="dark"] .sidebar-piani-btn {
  background:rgba(212,184,152,.06) !important; color:#e8d4bb !important;
  border:1px solid rgba(212,184,152,.28) !important;
}
:root[data-theme="dark"] .sidebar-cta.alt:hover,
:root[data-theme="dark"] .sidebar-piani-btn:hover { background:rgba(212,184,152,.12) !important; color:#fff !important; }
:root[data-theme="dark"] .sidebar-piani-btn.active-page,
:root[data-theme="dark"] .sidebar-piani-btn.active { background:rgba(201,138,74,.28) !important; color:#fff !important; }
:root[data-theme="dark"] .sidebar-logout { color:rgba(220,195,165,.55) !important; }
:root[data-theme="dark"] .sidebar-logout:hover { color:#e8d4bb !important; background:rgba(212,184,152,.06) !important; }
:root[data-theme="dark"] .sidebar-divider { background:rgba(255,255,255,.10) !important; }

/* ── TOGGLE TEMA (in alto a destra) ── */
.eleva-theme-toggle {
  position:fixed; top:18px; right:22px; z-index:9999;
  width:40px; height:40px; border-radius:12px;
  border:1px solid var(--st-border-strong); background:var(--st-surface); color:var(--st-ink);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  box-shadow:var(--st-shadow-sm); transition:all .2s;
}
.eleva-theme-toggle:hover { color:var(--st-accent); border-color:var(--st-accent); transform:translateY(-1px); }
.eleva-theme-toggle svg { width:19px; height:19px; }

/* ── BADGE CANDIDATURE (pallino rosso con contatore) ── */
.cand-badge-count {
  margin-left:auto; min-width:20px; height:20px; padding:0 6px;
  border-radius:999px; background:#d64545; color:#fff;
  font-size:11px; font-weight:700; line-height:1;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 1px 5px rgba(214,69,69,.45);
  animation:candPulse 2s ease-in-out infinite;
}
@keyframes candPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }
