/* Sirius Lab — intake strategico / opportunity room */
.slab-page {
  max-width: 1120px;
  margin: 0 auto;
  padding: 1.25rem 1rem 3.5rem;
}

/* Hero intake */
.slab-hero--intake {
  position: relative;
  margin-bottom: 2rem;
  padding: 2rem 1.75rem 1.75rem;
  border-radius: 18px;
  background: linear-gradient(145deg, #f8fafc 0%, #eef2ff 42%, #f0f9ff 100%);
  border: 1px solid rgba(99, 102, 241, 0.12);
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}
.slab-hero--intake::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -8%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.08) 0%, transparent 70%);
  pointer-events: none;
}
.slab-hero__inner { position: relative; max-width: 720px; }
.slab-kicker {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #4338ca;
  margin-bottom: 0.65rem;
}
.slab-title {
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #0f172a;
  margin-bottom: 0.75rem;
  font-size: clamp(1.65rem, 4vw, 2.15rem);
  line-height: 1.15;
}
.slab-subtitle {
  color: #475569;
  line-height: 1.65;
  font-size: 1.02rem;
  max-width: 38rem;
  margin-bottom: 1.25rem;
}
.slab-benefits {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
}
.slab-benefits li {
  font-size: 0.84rem;
  color: #334155;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.slab-benefits .bi-check2-circle { color: #2563eb; flex-shrink: 0; }

/* Come funziona */
.slab-how { margin-bottom: 2rem; }
.slab-how__title {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 1rem;
}
.slab-how__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media (max-width: 768px) {
  .slab-how__grid { grid-template-columns: 1fr; }
}
.slab-how__step {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.1rem 1.15rem;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}
.slab-how__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 8px;
  background: linear-gradient(135deg, #1e3a8a, #4338ca);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  margin-bottom: 0.55rem;
}
.slab-how__step strong {
  display: block;
  font-size: 0.92rem;
  color: #0f172a;
  margin-bottom: 0.35rem;
}
.slab-how__step p {
  font-size: 0.8rem;
  color: #64748b;
  margin: 0;
  line-height: 1.5;
}

/* Main layout */
.slab-main { margin-bottom: 2.5rem; }
.slab-form-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.75rem 1.65rem;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.07);
  height: 100%;
}
.slab-form-card__title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 0.45rem;
}
.slab-form-card__guide {
  font-size: 0.88rem;
  color: #64748b;
  line-height: 1.55;
  margin-bottom: 1.1rem;
}
.slab-textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 1.1rem 1.15rem;
  font-size: 0.94rem;
  line-height: 1.6;
  resize: vertical;
  min-height: 260px;
  background: #fafbfc;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}
.slab-textarea:focus {
  outline: none;
  border-color: #4338ca;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(67, 56, 202, 0.12);
}
.slab-privacy {
  font-size: 0.78rem;
  color: #64748b;
  margin: 1rem 0 1.15rem;
  line-height: 1.55;
}
.slab-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.slab-btn-primary {
  background: linear-gradient(135deg, #1e3a8a 0%, #4338ca 100%);
  border: none;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 8px 24px rgba(67, 56, 202, 0.25);
}
.slab-btn-primary:hover {
  background: linear-gradient(135deg, #1e40af 0%, #4f46e5 100%);
  box-shadow: 0 10px 28px rgba(67, 56, 202, 0.32);
}
.slab-microcopy {
  font-size: 0.76rem;
  color: #94a3b8;
  margin: 0.85rem 0 0;
}

/* Side cards */
.slab-side-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.15rem 1.2rem;
  margin-bottom: 0.85rem;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
}
.slab-side-card--receive {
  border-color: rgba(67, 56, 202, 0.15);
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}
.slab-side-card--gate {
  background: #f8fafc;
  border-color: #e2e8f0;
}
.slab-side-card--not-chat {
  background: transparent;
  border-style: dashed;
  box-shadow: none;
}
.slab-side-card__title {
  font-size: 0.95rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 0.75rem;
}
.slab-receive-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.slab-receive-list li {
  font-size: 0.84rem;
  color: #334155;
  padding: 0.35rem 0 0.35rem 1.35rem;
  position: relative;
  line-height: 1.45;
}
.slab-receive-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4338ca;
}

/* Opportunità recenti */
.slab-opportunities { margin-top: 0.5rem; }
.slab-opportunities__title {
  font-size: 1rem;
  font-weight: 800;
  color: #0f172a;
}
.slab-opportunities__hint {
  font-size: 0.72rem;
  color: #94a3b8;
}
.slab-opp-card {
  display: block;
  height: 100%;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1rem 1.05rem;
  transition: border-color 0.2s, box-shadow 0.2s;
  text-decoration: none;
  color: inherit;
}
.slab-opp-card--link:hover {
  border-color: #93c5fd;
  box-shadow: 0 8px 24px rgba(37, 99, 235, 0.1);
  color: inherit;
}
.slab-opp-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}
.slab-opp-card__head strong {
  font-size: 0.88rem;
  color: #0f172a;
  line-height: 1.3;
}
.slab-opp-card__score {
  font-size: 0.68rem;
  font-weight: 800;
  color: #1e3a8a;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 0.15rem 0.45rem;
  white-space: nowrap;
}
.slab-opp-card__score--pending {
  color: #64748b;
  background: #f1f5f9;
  border-color: #e2e8f0;
}
.slab-opp-card__mods {
  font-size: 0.74rem;
  color: #64748b;
  margin: 0 0 0.5rem;
  line-height: 1.45;
}
.slab-opp-card__badge {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 700;
  color: #854d0e;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 6px;
  padding: 0.12rem 0.4rem;
  margin-bottom: 0.35rem;
}
.slab-opp-card__meta {
  display: block;
  font-size: 0.65rem;
  color: #94a3b8;
  margin-top: 0.25rem;
}

.slab-footer-note {
  text-align: center;
  font-size: 0.72rem;
  color: #94a3b8;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #f1f5f9;
}

/* Legacy shell (analyzing, result, gate) */
.slab-shell { max-width: 1120px; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.slab-hero { margin-bottom: 2rem; }
.slab-hero--compact { margin-bottom: 1.5rem; }
.slab-tagline { display: none; }
.slab-console { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 1.5rem; box-shadow: 0 8px 32px rgba(15,23,42,.06); }
.slab-label { font-weight: 700; font-size: 0.9rem; margin-bottom: 0.5rem; display: block; }
.slab-credits-note { font-size: 0.78rem; color: #94a3b8; margin-top: 1rem; margin-bottom: 0; }

/* Analyzing */
.slab-micro { color: #4338ca; font-weight: 600; min-height: 1.5rem; animation: slab-pulse 2s ease-in-out infinite; }
@keyframes slab-pulse { 0%,100%{opacity:1} 50%{opacity:.65} }
.slab-steps-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 1.25rem; }
.slab-steps { list-style: none; padding: 0; margin: 0; }
.slab-step { display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0; color: #94a3b8; transition: color .3s; }
.slab-step.is-active { color: #0f172a; font-weight: 600; }
.slab-step.is-done { color: #16a34a; }
.slab-step__num {
  width: 1.6rem; height: 1.6rem; border-radius: 50%; background: #f1f5f9;
  display: flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 800;
}
.slab-step.is-active .slab-step__num { background: #4338ca; color: #fff; }
.slab-step.is-done .slab-step__num { background: #dcfce7; color: #16a34a; }
.slab-progress { height: 4px; background: #e2e8f0; border-radius: 2px; margin-top: 1rem; overflow: hidden; }
.slab-progress__bar { height: 100%; width: 0; background: linear-gradient(90deg, #4338ca, #6366f1); transition: width .4s ease; }
.slab-spec-card {
  background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 0.65rem 0.75rem;
  font-size: 0.72rem; transition: border-color .3s, box-shadow .3s;
}
.slab-spec-card strong { display: block; font-size: 0.78rem; color: #0f172a; margin-bottom: 0.2rem; }
.slab-spec-card.is-active { border-color: #93c5fd; box-shadow: 0 0 0 2px rgba(67,56,202,.12); }

/* Result — Opportunity Card */
.slab-result-hero { text-align: center; margin-bottom: 1.75rem; }
.slab-banner {
  display: inline-block; padding: 0.65rem 1.25rem; border-radius: 10px;
  background: linear-gradient(135deg, #eff6ff, #e0e7ff); color: #1e3a8a;
  font-weight: 700; margin: 1rem 0; font-size: 0.95rem;
}
.slab-opp-score { margin-top: 1.25rem; }
.slab-opp-score__val { display: block; font-size: 3rem; font-weight: 900; color: #1e3a8a; line-height: 1; }
.slab-opp-score__lbl { font-size: 0.78rem; color: #64748b; text-transform: uppercase; letter-spacing: .1em; }

.slab-opp-layout { margin-bottom: 2rem; }
.slab-opp-card-main {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
}
.slab-opp-card-main__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  border-bottom: 1px solid #e2e8f0;
}
.slab-opp-card-main__header h2 {
  font-size: 1.1rem;
  font-weight: 800;
  margin: 0;
  color: #0f172a;
}
.slab-opp-card-main__score {
  text-align: center;
  min-width: 88px;
}
.slab-opp-card-main__score strong {
  display: block;
  font-size: 2rem;
  font-weight: 900;
  color: #4338ca;
  line-height: 1;
}
.slab-opp-card-main__score span {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
}
.slab-opp-section {
  padding: 1.15rem 1.5rem;
  border-bottom: 1px solid #f1f5f9;
}
.slab-opp-section:last-child { border-bottom: none; }
.slab-opp-section h3 {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #4338ca;
  margin: 0 0 0.55rem;
}
.slab-opp-section p, .slab-opp-section li {
  font-size: 0.88rem;
  color: #334155;
  line-height: 1.55;
}
.slab-opp-section ul, .slab-opp-section ol {
  margin: 0;
  padding-left: 1.15rem;
}
.slab-opp-section--risks {
  background: #fffbeb;
}
.slab-opp-section--human {
  background: #f0fdf4;
}
.slab-opp-human-meter {
  height: 6px;
  background: #e2e8f0;
  border-radius: 3px;
  overflow: hidden;
  max-width: 200px;
  margin-top: 0.35rem;
}
.slab-opp-human-meter span {
  display: block;
  height: 100%;
  background: #16a34a;
  border-radius: 3px;
}

.slab-kpis { margin-bottom: 2rem; }
.slab-kpi { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 0.75rem; text-align: center; }
.slab-kpi__bar { height: 4px; background: #e2e8f0; border-radius: 2px; margin-bottom: 0.5rem; overflow: hidden; }
.slab-kpi__bar span { display: block; height: 100%; background: #4338ca; border-radius: 2px; }
.slab-kpi strong { font-size: 1.25rem; color: #0f172a; }
.slab-kpi small { display: block; font-size: 0.65rem; color: #64748b; line-height: 1.3; }
.slab-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 1.25rem; height: 100%; }
.slab-card h3 { font-size: 0.85rem; font-weight: 800; color: #4338ca; margin: 1rem 0 0.35rem; }
.slab-card h3:first-child { margin-top: 0; }
.slab-modules { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.35rem 0 0; }
.slab-module-chip {
  padding: 0.3rem 0.65rem; border-radius: 999px; background: #eff6ff;
  border: 1px solid #bfdbfe; font-size: 0.72rem; font-weight: 700; color: #1e3a8a;
}
.slab-cta-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 1.25rem; height: 100%; }
.slab-cta-card--primary { border-color: #93c5fd; background: linear-gradient(180deg, #fff, #eff6ff); }
.slab-cta-card h3 { font-size: 1rem; font-weight: 800; }
.slab-cta-card p { font-size: 0.85rem; color: #64748b; min-height: 3.5rem; }
.slab-disclaimer { font-size: 0.75rem; color: #94a3b8; text-align: center; max-width: 40rem; margin: 1.5rem auto 0; }

/* Scope gate pages */
.slab-gate-card { border-left: 4px solid #4338ca; }
.slab-gate-card--unsafe_illegal { border-left-color: #dc2626; }
.slab-gate-card--out_of_scope { border-left-color: #f59e0b; }
.slab-gate-card--too_generic { border-left-color: #6366f1; }
.slab-gate-box {
  background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 1rem 1.1rem;
}
.slab-gate-banner--limited {
  text-align: left; background: #fffbeb; border: 1px solid #fcd34d; border-radius: 10px;
  padding: 0.85rem 1rem; margin-bottom: 1rem; color: #78350f;
}

/* —— Result page v2: scheda decisionale —— */
.slab-result-page .slab-section-title {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 1rem;
}

.slab-verdict {
  border-radius: 18px;
  padding: 1.75rem 1.65rem;
  margin-bottom: 1.25rem;
  border: 1px solid #e2e8f0;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.07);
}
.slab-verdict--promising {
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 55%, #f0fdf4 100%);
  border-color: rgba(67, 56, 202, 0.15);
}
.slab-verdict--validate {
  background: linear-gradient(135deg, #fffbeb 0%, #f8fafc 100%);
  border-color: #fde68a;
}
.slab-verdict--compliance {
  background: linear-gradient(135deg, #fff7ed 0%, #fef2f2 40%, #f8fafc 100%);
  border-color: #fdba74;
}
.slab-verdict--blocked {
  background: linear-gradient(135deg, #fef2f2 0%, #f8fafc 100%);
  border-color: #fecaca;
}
.slab-verdict__grid {
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 1.5rem;
  align-items: start;
}
@media (max-width: 900px) {
  .slab-verdict__grid { grid-template-columns: 1fr; }
  .slab-verdict__score-wrap { order: -1; }
}
.slab-verdict__badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.25rem 0.55rem;
  border-radius: 6px;
  background: rgba(67, 56, 202, 0.12);
  color: #3730a3;
  margin-bottom: 0.5rem;
}
.slab-verdict--validate .slab-verdict__badge { background: #fef3c7; color: #92400e; }
.slab-verdict--compliance .slab-verdict__badge { background: #ffedd5; color: #9a3412; }
.slab-verdict--blocked .slab-verdict__badge { background: #fee2e2; color: #991b1b; }
.slab-verdict__title {
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 0.35rem;
  letter-spacing: -0.02em;
}
.slab-verdict__verdict {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1e3a8a;
  margin-bottom: 0.5rem;
}
.slab-verdict__text {
  font-size: 0.92rem;
  color: #475569;
  line-height: 1.6;
  max-width: 36rem;
  margin-bottom: 1.1rem;
}
.slab-verdict__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
}
.slab-verdict__note {
  font-size: 0.72rem;
  color: #94a3b8;
  margin: 0;
}
.slab-verdict__score-wrap { text-align: center; }
.slab-verdict__outcome {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: #4338ca;
  background: #fff;
  border: 1px solid #c7d2fe;
  border-radius: 999px;
  padding: 0.2rem 0.65rem;
}

.slab-gauge { position: relative; width: 140px; margin: 0 auto; }
.slab-gauge__svg { width: 100%; height: auto; display: block; }
.slab-gauge__track { stroke: #e2e8f0; }
.slab-gauge__fill {
  stroke: url(#slabGaugeGrad);
  stroke: #4338ca;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.6s ease;
}
.slab-gauge__val {
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  text-align: center;
  line-height: 1;
}
.slab-gauge__val strong { font-size: 2rem; font-weight: 900; color: #1e3a8a; }
.slab-gauge__val span { font-size: 0.85rem; color: #94a3b8; font-weight: 600; }
.slab-gauge__label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #64748b;
  margin: 0.25rem 0 0;
}
.slab-gauge__tier {
  font-size: 0.88rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
}

.slab-trust-box {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-left: 4px solid #4338ca;
  border-radius: 12px;
  padding: 1.15rem 1.25rem;
  margin-bottom: 2rem;
}
.slab-trust-box__title {
  font-size: 0.95rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 0.45rem;
}
.slab-trust-box p { font-size: 0.86rem; color: #475569; line-height: 1.6; }

.slab-blocked-reasons {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 12px;
  padding: 1rem 1.15rem;
  margin-bottom: 2rem;
  font-size: 0.86rem;
  color: #7f1d1d;
}

.slab-why { margin-bottom: 2.25rem; }
.slab-why-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1rem 1.05rem;
  height: 100%;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}
.slab-why-card strong {
  display: block;
  font-size: 0.82rem;
  color: #4338ca;
  margin-bottom: 0.35rem;
}
.slab-why-card p {
  font-size: 0.82rem;
  color: #475569;
  margin: 0;
  line-height: 1.5;
}

.slab-score-panel {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.35rem 1.4rem;
  margin-bottom: 2.25rem;
}
.slab-score-panel__big {
  font-size: 2.75rem;
  font-weight: 900;
  color: #1e3a8a;
  line-height: 1;
  margin: 0;
}
.slab-score-panel__big span { font-size: 1.1rem; color: #94a3b8; font-weight: 600; }
.slab-score-panel__tier { font-size: 0.88rem; color: #64748b; margin: 0.35rem 0 0; }
.slab-dim-bar { margin-bottom: 0.65rem; }
.slab-dim-bar__head {
  display: flex;
  justify-content: space-between;
  font-size: 0.78rem;
  color: #475569;
  margin-bottom: 0.25rem;
}
.slab-dim-bar__head strong { color: #0f172a; }
.slab-dim-bar__track {
  height: 6px;
  background: #f1f5f9;
  border-radius: 3px;
  overflow: hidden;
}
.slab-dim-bar__track span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #4338ca, #6366f1);
  border-radius: 3px;
}
.slab-accordion .accordion-button {
  font-size: 0.82rem;
  font-weight: 700;
  color: #4338ca;
  background: #f8fafc;
}
.slab-accordion .accordion-button:not(.collapsed) {
  background: #eef2ff;
  color: #3730a3;
}

.slab-identikit {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.35rem 1.4rem;
  margin-bottom: 2.25rem;
}
.slab-identikit__grid { display: grid; gap: 0.65rem; }
.slab-identikit__row {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 0.75rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.86rem;
}
.slab-identikit__row:last-child { border-bottom: none; }
.slab-identikit__row span { color: #64748b; }
.slab-identikit__row strong { color: #0f172a; font-weight: 600; }
@media (max-width: 576px) {
  .slab-identikit__row { grid-template-columns: 1fr; gap: 0.15rem; }
}

.slab-paths { margin-bottom: 2.25rem; }
.slab-path-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1rem 1.05rem;
  height: 100%;
}
.slab-path-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}
.slab-path-card__head strong { font-size: 0.9rem; color: #0f172a; }
.slab-path-card p { font-size: 0.8rem; color: #64748b; margin: 0; line-height: 1.5; }
.slab-path-badge {
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  white-space: nowrap;
}
.slab-path-badge--consigliato { background: #dcfce7; color: #166534; }
.slab-path-badge--possibile { background: #dbeafe; color: #1e40af; }
.slab-path-badge--da-validare { background: #fef3c7; color: #92400e; }
.slab-path-badge--strategico { background: #ede9fe; color: #5b21b6; }
.slab-path-badge--non-consigliato { background: #fee2e2; color: #991b1b; }

.slab-timeline-section { margin-bottom: 2.25rem; }
.slab-timeline {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 2px solid #e2e8f0;
  margin-left: 0.85rem;
}
.slab-timeline__step {
  position: relative;
  padding: 0 0 1.1rem 1.35rem;
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}
.slab-timeline__step:last-child { padding-bottom: 0; }
.slab-timeline__dot {
  position: absolute;
  left: -0.85rem;
  top: 0;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #4338ca;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px #e0e7ff;
}
.slab-timeline__text {
  font-size: 0.86rem;
  color: #334155;
  line-height: 1.45;
  padding-top: 0.15rem;
}

.slab-modules-section { margin-bottom: 2.25rem; }
.slab-module-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1rem;
  height: 100%;
  border-top: 3px solid #4338ca;
}
.slab-module-card strong {
  display: block;
  font-size: 0.88rem;
  color: #0f172a;
  margin-bottom: 0.35rem;
}
.slab-module-card p {
  font-size: 0.78rem;
  color: #64748b;
  margin: 0;
  line-height: 1.45;
}

.slab-governance-panel {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.35rem 1.4rem;
  margin-bottom: 2.25rem;
}
.slab-gov-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 0.65rem 0.75rem;
  font-size: 0.8rem;
}
.slab-gov-row strong { display: block; color: #0f172a; font-size: 0.78rem; }
.slab-gov-row span { color: #64748b; font-size: 0.74rem; }
.slab-gov-badge {
  font-size: 0.62rem;
  font-weight: 800;
  padding: 0.15rem 0.4rem;
  border-radius: 5px;
  white-space: nowrap;
}
.slab-gov-badge--low { background: #dcfce7; color: #166534; }
.slab-gov-badge--medium { background: #fef3c7; color: #92400e; }
.slab-gov-badge--high { background: #fee2e2; color: #991b1b; }
.slab-gov-badge--da-verificare { background: #e0e7ff; color: #3730a3; }
.slab-gov-risks {
  font-size: 0.8rem;
  color: #78350f;
  padding-left: 1.1rem;
}

.slab-deep-dive {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.35rem 1.4rem;
  margin-bottom: 2.25rem;
}
.slab-deep-dive__list {
  margin: 0;
  padding-left: 1.15rem;
  columns: 2;
  column-gap: 2rem;
  font-size: 0.84rem;
  color: #475569;
  line-height: 1.65;
}
@media (max-width: 768px) { .slab-deep-dive__list { columns: 1; } }

.slab-cta-final { margin-bottom: 1.5rem; }
.slab-cta-card__tag {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: #4338ca;
  color: #fff;
  border-radius: 5px;
  padding: 0.15rem 0.45rem;
  margin-bottom: 0.5rem;
}
.slab-cta-card--primary {
  border-color: #4338ca;
  background: linear-gradient(180deg, #fff 0%, #eef2ff 100%);
  box-shadow: 0 12px 32px rgba(67, 56, 202, 0.12);
}

.slab-result-footer {
  text-align: center;
  font-size: 0.78rem;
  color: #94a3b8;
  line-height: 1.55;
  max-width: 40rem;
  margin: 0 auto;
  padding-top: 1rem;
  border-top: 1px solid #f1f5f9;
}

/* Riformulazione index */
.slab-reformulate-banner {
  margin-bottom: 1.5rem;
  padding: 1rem 1.15rem;
  border-radius: 14px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #78350f;
}

/* Scope gate — azioni utente */
.slab-gate-page { max-width: 880px; }
.slab-gate-ref {
  font-size: 0.84rem;
  color: #64748b;
  margin: 0.35rem 0 0;
}
.slab-gate-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.35rem 1.4rem;
  margin-bottom: 1.75rem;
}
.slab-gate-card--unsafe_illegal { border-left: 4px solid #dc2626; }
.slab-gate-card--out_of_scope { border-left: 4px solid #d97706; }
.slab-gate-card--too_generic { border-left: 4px solid #2563eb; }
.slab-gate-card__lead {
  color: #334155;
  line-height: 1.65;
  margin-bottom: 1rem;
}
.slab-gate-suggest {
  font-size: 0.84rem;
  color: #64748b;
  margin: 1rem 0 0;
  padding-top: 0.85rem;
  border-top: 1px dashed #e2e8f0;
}

.slab-gate-actions {
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 1.5rem 1.4rem 1.35rem;
}
.slab-gate-actions__title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 1rem;
}
.slab-gate-actions__copy {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.65;
  margin-bottom: 1.35rem;
}
.slab-gate-actions__copy p { margin-bottom: 0.75rem; }
.slab-gate-actions__grid {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .slab-gate-actions__grid { grid-template-columns: repeat(3, 1fr); }
}
.slab-gate-action {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.1rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.slab-gate-action--primary { border-color: #c7d2fe; box-shadow: 0 8px 24px rgba(67, 56, 202, 0.08); }
.slab-gate-action__num {
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eef2ff;
  color: #4338ca;
  font-size: 0.72rem;
  font-weight: 800;
  margin-bottom: 0.55rem;
}
.slab-gate-action h3 {
  font-size: 0.92rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 0.45rem;
}
.slab-gate-action p {
  font-size: 0.78rem;
  color: #64748b;
  line-height: 1.55;
  flex: 1;
  margin-bottom: 0.85rem;
}
.slab-gate-action__link {
  font-size: 0.84rem;
  font-weight: 600;
  color: #64748b;
  text-decoration: none;
  margin-top: auto;
}
.slab-gate-action__link:hover { color: #4338ca; }

.slab-gate-audit {
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}
.slab-gate-audit__badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #4338ca;
  background: #eef2ff;
  border-radius: 999px;
  padding: 0.25rem 0.65rem;
  margin-bottom: 0.65rem;
}
.slab-gate-audit__note {
  font-size: 0.78rem;
  color: #64748b;
  line-height: 1.6;
}

/* Richiesta collegata a Sirius Lab */
.slab-richiesta-page .sv-page { background: #f8fafc; }
.slab-richiesta-hero {
  max-width: 720px;
  margin: 0 auto 1.75rem;
  padding: 1.5rem 1.4rem;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff 0%, #eef2ff 55%, #f0f9ff 100%);
  border: 1px solid rgba(99, 102, 241, 0.15);
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.06);
}
.slab-richiesta-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}
.slab-richiesta-hero__ref {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #4338ca;
  background: #fff;
  border: 1px solid #c7d2fe;
  border-radius: 999px;
  padding: 0.2rem 0.65rem;
}
.slab-richiesta-hero__module {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  padding: 0.25rem 0;
}
.slab-richiesta-hero__title {
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 0.5rem;
}
.slab-richiesta-hero__subtitle {
  color: #475569;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.slab-richiesta-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}
.slab-richiesta-chip {
  font-size: 0.74rem;
  color: #334155;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 0.2rem 0.6rem;
}
.slab-richiesta-hero__note {
  font-size: 0.8rem;
  color: #64748b;
  margin: 0;
  line-height: 1.55;
}
.slab-richiesta-page .sv-reqgrid--lab {
  max-width: 640px;
  margin: 0 auto;
  grid-template-columns: 1fr;
}
.slab-richiesta-page .sv-form-card--lab {
  border-color: #c7d2fe;
  box-shadow: 0 16px 40px rgba(67, 56, 202, 0.1);
}

/* Richiesta Sirius Lab — layout app (base.html) */
.slab-richiesta-app {
  max-width: 920px;
  padding-bottom: 2.5rem;
}
.slab-richiesta-back {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #64748b;
  text-decoration: none;
  margin-bottom: 1rem;
}
.slab-richiesta-back:hover { color: #4338ca; }
.slab-richiesta-app__hero {
  margin-bottom: 1.5rem;
}
.slab-richiesta-app .slab-richiesta-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}
.slab-richiesta-form__lead {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.6;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #e2e8f0;
}
.slab-input,
.slab-richiesta-form .form-select,
.slab-richiesta-form .form-control {
  border-radius: 10px;
  border-color: #cbd5e1;
  font-size: 0.92rem;
}
.slab-input:focus,
.slab-richiesta-form .form-select:focus,
.slab-richiesta-form .form-control:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}
.slab-request-feedback {
  margin-top: 0.75rem;
  font-size: 0.84rem;
  color: #64748b;
}
.slab-request-feedback.is-err {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 10px;
  padding: 0.55rem 0.75rem;
}
.slab-request-success {
  display: none;
  text-align: center;
  padding: 2rem 1rem;
}
.slab-request-success.is-visible { display: block; }
.slab-request-success__icon {
  font-size: 2.5rem;
  color: #16a34a;
  display: block;
  margin-bottom: 0.75rem;
}

/* Conclusione executive — pagina risultato */
.slab-executive {
  margin: 0 0 2.25rem;
  padding: 1.5rem 1.4rem;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff 0%, #f8fafc 45%, #eef2ff 100%);
  border: 1px solid rgba(99, 102, 241, 0.14);
  box-shadow: 0 10px 32px rgba(15, 23, 42, 0.05);
}
.slab-executive__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 0.85rem;
}
.slab-executive__badge {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #4338ca;
  background: #eef2ff;
  border-radius: 999px;
  padding: 0.22rem 0.65rem;
}
.slab-executive__badge--muted {
  color: #64748b;
  background: #f1f5f9;
}
.slab-executive__text {
  font-size: 1.02rem;
  line-height: 1.75;
  color: #1e293b;
  margin: 0 0 0.75rem;
}
.slab-executive__note {
  font-size: 0.76rem;
  color: #94a3b8;
  margin: 0;
  line-height: 1.5;
}

/* —— Ingresso a due percorsi (entry home) —— */
.slab-page--entry { max-width: 1080px; }

.slab-entry-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.slab-entry-nav--top { margin-bottom: 1.5rem; }
.slab-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.82rem;
  color: #64748b;
}
.slab-breadcrumb li:not(:last-child)::after {
  content: "›";
  margin-left: 0.35rem;
  color: #94a3b8;
}
.slab-breadcrumb a { color: #2563eb; text-decoration: none; }
.slab-breadcrumb a:hover { text-decoration: underline; }
.slab-back-link {
  font-size: 0.82rem;
  font-weight: 600;
  color: #475569;
  text-decoration: none;
}
.slab-back-link:hover { color: #1e40af; }

.slab-path-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.1);
  color: #1d4ed8;
  margin-bottom: 1rem;
}
.slab-path-badge--startup {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(124, 58, 237, 0.12));
  color: #5b21b6;
}

.slab-hero--entry {
  margin-bottom: 2rem;
  padding: 2.25rem 1.75rem;
  border-radius: 18px;
  background: linear-gradient(145deg, #f8fafc 0%, #eef2ff 50%, #f0f9ff 100%);
  border: 1px solid rgba(99, 102, 241, 0.14);
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
}
.slab-hero--startup {
  margin-bottom: 2rem;
  padding: 2rem 1.75rem;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 40%, #f5f3ff 100%);
  border: 1px solid rgba(124, 58, 237, 0.14);
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
}

.slab-entry-section-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 1.25rem;
  letter-spacing: -0.02em;
}

.slab-entry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}
@media (max-width: 768px) {
  .slab-entry-grid { grid-template-columns: 1fr; }
}

.slab-entry-grid--five {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.slab-entry-card--repo {
  border-color: rgba(6, 182, 212, 0.22);
  background: linear-gradient(180deg, #fff 0%, rgba(236, 254, 255, 0.5) 100%);
}
.slab-entry-card--repo:hover,
.slab-entry-card--repo:focus-visible {
  border-color: rgba(6, 182, 212, 0.45);
  box-shadow: 0 16px 40px rgba(6, 182, 212, 0.12);
}
.slab-entry-card--repo .slab-entry-card__icon {
  background: rgba(6, 182, 212, 0.12);
  color: #0891b2;
}
.slab-entry-card__code-preview {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.72rem;
  line-height: 1.45;
  padding: 0.5rem 0.65rem;
  margin-bottom: 0.85rem;
  border-radius: 8px;
  background: #0f172a;
  color: #94a3b8;
}
.slab-entry-card__tree-line { display: block; }
.slab-entry-card__tree-line--indent { padding-left: 1rem; color: #22d3ee; }
.slab-entry-card--disabled {
  opacity: 0.72;
  cursor: not-allowed;
  pointer-events: none;
  border-style: dashed;
}
.slab-hero--repo {
  background: linear-gradient(135deg, #0b1224 0%, #1e3a5f 100%);
  color: #e2e8f0;
}

/* —— Repo workspace (light, alto contrasto) —— */
.slab-page--repo-workspace {
  max-width: 920px;
  color: #1e293b;
}

.rpw-hero {
  background: linear-gradient(145deg, #f8fafc 0%, #eef2ff 55%, #f0f9ff 100%);
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.5rem 1.35rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.rpw-hero__top {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.rpw-pill {
  display: inline-flex;
  align-items: center;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  background: #4338ca;
  color: #fff;
}

.rpw-pill--muted {
  background: #e2e8f0;
  color: #334155;
  text-transform: none;
  font-weight: 600;
  letter-spacing: 0;
}

.rpw-pill--success {
  background: #dcfce7;
  color: #166534;
  border: 1px solid #86efac;
  text-transform: none;
  font-weight: 700;
  letter-spacing: 0;
}

.rpw-hero--compact {
  padding: 1.25rem 1.35rem;
  margin-bottom: 1rem;
}

.rpw-demo-ready { margin-bottom: 1.5rem; }

.rpw-demo-ready__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.35rem 1.5rem;
  border-radius: 16px;
  background: linear-gradient(135deg, #ecfdf5 0%, #eff6ff 48%, #f8fafc 100%);
  border: 1px solid #86efac;
  box-shadow: 0 8px 28px rgba(22, 163, 74, 0.08);
}

.rpw-demo-ready__badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #15803d;
  background: #dcfce7;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  margin-bottom: 0.5rem;
}

.rpw-demo-ready__title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #14532d;
  margin: 0 0 0.35rem;
}

.rpw-demo-ready__lead {
  font-size: 0.92rem;
  color: #475569;
  margin: 0;
  max-width: 36rem;
}

.rpw-demo-ready__pending { color: #1e40af; margin-top: 0.65rem; }

.rpw-demo-ready__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.rpw-details-fold {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  margin-bottom: 1.25rem;
  overflow: hidden;
}

.rpw-details-fold > summary {
  cursor: pointer;
  padding: 0.85rem 1.1rem;
  font-weight: 700;
  font-size: 0.9rem;
  color: #475569;
  list-style: none;
  background: #f8fafc;
  user-select: none;
}

.rpw-details-fold > summary::-webkit-details-marker { display: none; }

.rpw-details-fold > summary::before {
  content: "";
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  margin-right: 0.5rem;
  border-right: 2px solid #94a3b8;
  border-bottom: 2px solid #94a3b8;
  transform: rotate(-45deg);
  vertical-align: middle;
}

.rpw-details-fold[open] > summary::before { transform: rotate(45deg); }

.rpw-details-fold__body {
  padding: 1rem 1.1rem 1.15rem;
  border-top: 1px solid #e2e8f0;
}

.slab-page--repo-mvp-detail {
  max-width: 920px;
  margin: 0 auto;
  padding-bottom: 2rem;
}

.rpw-hero__title {
  font-size: clamp(1.45rem, 3.5vw, 1.85rem);
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 0.5rem;
  letter-spacing: -0.02em;
}

.rpw-hero__lead {
  color: #475569;
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0 0 1rem;
  max-width: 40rem;
}

.rpw-hero__stats {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem 1.5rem;
}

.rpw-stat__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748b;
  margin-bottom: 0.15rem;
}

.rpw-stat__value {
  font-size: 1.35rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.1;
}

.rpw-stat__value small {
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
}

.rpw-stat__value--sm {
  font-size: 0.88rem;
  font-weight: 700;
  text-transform: capitalize;
}

.rpw-hero__link {
  margin-left: auto;
  font-size: 0.85rem;
  font-weight: 600;
  color: #4338ca;
  text-decoration: none;
}

.rpw-hero__link:hover {
  color: #3730a3;
  text-decoration: underline;
}

.rpw-alert {
  padding: 0.65rem 1rem;
  border-radius: 10px;
  font-size: 0.88rem;
  margin-bottom: 0.75rem;
  color: #1e293b;
}

.rpw-alert--warn {
  background: #fef3c7;
  border: 1px solid #fcd34d;
  color: #92400e;
}

.rpw-alert--info {
  background: #e0f2fe;
  border: 1px solid #7dd3fc;
  color: #0c4a6e;
}

.rpw-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 1.25rem;
  padding: 0.35rem;
  background: #f1f5f9;
  border-radius: 999px;
  width: fit-content;
  max-width: 100%;
}

.rpw-steps__item {
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  color: #475569;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.rpw-steps__item:hover {
  background: #e2e8f0;
  color: #0f172a;
}

.rpw-steps__item--active {
  background: #fff;
  color: #4338ca;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
}

.rpw-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.35rem 1.25rem;
  margin-bottom: 1rem;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.rpw-card--intake {
  border-color: #c7d2fe;
  box-shadow: 0 8px 28px rgba(67, 56, 202, 0.08);
}

.rpw-card--mvp {
  border-left: 4px solid #0891b2;
}

.rpw-card__title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 0.35rem;
}

.rpw-card__hint {
  font-size: 0.85rem;
  color: #64748b;
  margin: 0;
  line-height: 1.5;
}

.rpw-grid {
  display: grid;
  gap: 0.85rem 1.25rem;
}

.rpw-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}

.rpw-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

.rpw-grid--dense {
  gap: 0.65rem 1rem;
}

@media (max-width: 767px) {
  .rpw-grid--2,
  .rpw-grid--3 {
    grid-template-columns: 1fr;
  }
}

.rpw-kv--wide {
  grid-column: 1 / -1;
}

.rpw-kv__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
  margin-bottom: 0.2rem;
}

.rpw-kv__value {
  display: block;
  font-size: 0.92rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.45;
}

.rpw-risks {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #f1f5f9;
}

.rpw-risks__list {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
  color: #334155;
  font-size: 0.88rem;
}

.rpw-risks__list li {
  margin-bottom: 0.25rem;
}

.rpw-note {
  margin: 1rem 0 0;
  padding: 0.65rem 0.85rem;
  background: #f8fafc;
  border-radius: 8px;
  font-size: 0.85rem;
  color: #334155;
  line-height: 1.5;
}

.rpw-gap-col {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 0.85rem 1rem;
}

.rpw-gap-col__title {
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #4338ca;
  margin: 0 0 0.5rem;
}

.rpw-gap-col ul {
  margin: 0;
  padding-left: 1rem;
  font-size: 0.86rem;
  color: #334155;
  line-height: 1.45;
}

.rpw-gap-col li {
  margin-bottom: 0.3rem;
}

.rpw-empty {
  color: #94a3b8;
  list-style: none;
  margin-left: -1rem;
}

.rpw-intake-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.rpw-progress {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.rpw-progress__ring {
  --pct: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: conic-gradient(#4338ca calc(var(--pct) * 1%), #e2e8f0 0);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.rpw-progress__ring::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #fff;
}

.rpw-progress__ring span {
  position: relative;
  font-size: 0.7rem;
  font-weight: 800;
  color: #0f172a;
}

.rpw-progress__text {
  font-size: 0.82rem;
  font-weight: 600;
  color: #475569;
}

.rpw-field {
  margin-bottom: 1.1rem;
}

.rpw-field__label {
  display: block;
  font-size: 0.88rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.35rem;
  line-height: 1.4;
}

.rpw-field__input {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 0.75rem 0.9rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #0f172a;
  background: #fafbfc;
  resize: vertical;
  min-height: 4.5rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.rpw-field__input::placeholder {
  color: #94a3b8;
}

.rpw-field__input:focus {
  outline: none;
  border-color: #4338ca;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(67, 56, 202, 0.12);
}

.rpw-tag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.12rem 0.45rem;
  border-radius: 4px;
  background: #e0e7ff;
  color: #3730a3;
  margin-left: 0.35rem;
  vertical-align: middle;
}

.rpw-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  padding-top: 0.5rem;
}

.rpw-form-actions__note {
  font-size: 0.78rem;
  color: #64748b;
  margin: 0;
}

.rpw-status {
  display: flex;
  gap: 0.85rem;
  padding: 1rem;
  border-radius: 10px;
  font-size: 0.9rem;
}

.rpw-status > i {
  font-size: 1.35rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.rpw-status strong {
  display: block;
  color: #0f172a;
  margin-bottom: 0.25rem;
}

.rpw-status p {
  margin: 0;
  color: #475569;
  font-size: 0.86rem;
  line-height: 1.5;
}

.rpw-status--pending { background: #f8fafc; border: 1px solid #e2e8f0; }
.rpw-status--pending > i { color: #64748b; }
.rpw-status--ready { background: #fffbeb; border: 1px solid #fcd34d; }
.rpw-status--ready > i { color: #d97706; }
.rpw-status--review { background: #eff6ff; border: 1px solid #93c5fd; }
.rpw-status--review > i { color: #2563eb; }
.rpw-status--ok { background: #ecfdf5; border: 1px solid #6ee7b7; }
.rpw-status--ok > i { color: #059669; }
.rpw-status--warn { background: #fff7ed; border: 1px solid #fdba74; }
.rpw-status--warn > i { color: #ea580c; }
.rpw-status--muted { background: #f1f5f9; border: 1px solid #cbd5e1; }
.rpw-status--muted > i { color: #64748b; }

.rpw-checklist {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
  font-size: 0.84rem;
  color: #334155;
}

.rpw-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  padding: 0.2rem 0;
}

.rpw-checklist li.is-done {
  color: #059669;
}

.rpw-checklist .bi-check-circle-fill {
  color: #059669;
}

.rpw-checklist .bi-circle {
  color: #94a3b8;
}

.rpw-footer {
  text-align: center;
  font-size: 0.78rem;
  color: #94a3b8;
  margin-top: 1.5rem;
  padding-bottom: 1rem;
}

.slab-page--repo-workspace .ri-card {
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid rgba(37, 99, 235, 0.12);
  border-radius: 12px;
  padding: 1.25rem;
}
.slab-repo-gaps h3 { font-size: 0.95rem; font-weight: 700; }

.slab-repo-mvp {
  border-left: 3px solid #0891b2;
}
.slab-repo-mvp-checklist {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
}
.slab-repo-mvp-checklist li {
  padding: 0.25rem 0;
}
.slab-repo-mvp-checklist li.is-missing {
  color: #64748b;
}
.slab-repo-mvp-state h3 {
  font-weight: 700;
}

.slab-entry-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 420px;
  padding: 1.5rem 1.35rem 1.35rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(37, 99, 235, 0.16);
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.slab-entry-card:hover,
.slab-entry-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(37, 99, 235, 0.12);
  border-color: rgba(37, 99, 235, 0.35);
  outline: none;
}
.slab-entry-card--startup {
  border-color: rgba(124, 58, 237, 0.18);
  background: linear-gradient(180deg, #fff 0%, rgba(245, 243, 255, 0.45) 100%);
}
.slab-entry-card--startup:hover,
.slab-entry-card--startup:focus-visible {
  border-color: rgba(124, 58, 237, 0.35);
  box-shadow: 0 16px 40px rgba(124, 58, 237, 0.1);
}
.slab-entry-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  margin-bottom: 1rem;
  background: rgba(37, 99, 235, 0.1);
  color: #2563eb;
}
.slab-entry-card--startup .slab-entry-card__icon {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(124, 58, 237, 0.15));
  color: #6d28d9;
}
.slab-entry-card__title {
  font-size: 1.2rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 0.65rem;
}
.slab-entry-card__lead {
  font-size: 0.92rem;
  color: #475569;
  line-height: 1.55;
  margin-bottom: 1rem;
}
.slab-entry-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 auto;
  font-size: 0.84rem;
  color: #334155;
}
.slab-entry-card__list li {
  padding: 0.35rem 0 0.35rem 1.1rem;
  position: relative;
}
.slab-entry-card__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #2563eb;
  font-weight: 700;
}
.slab-entry-card--startup .slab-entry-card__list li::before { color: #7c3aed; }
.slab-entry-card__cta {
  margin-top: 1.25rem;
  align-self: flex-start;
  pointer-events: none;
}

.slab-entry-help__quote {
  margin: 0;
  padding: 1.15rem 1.25rem;
  border-left: 4px solid rgba(37, 99, 235, 0.35);
  background: #f8fafc;
  border-radius: 0 12px 12px 0;
  color: #334155;
  font-size: 0.95rem;
  line-height: 1.65;
}
.slab-entry-help__quote p { margin-bottom: 0.65rem; }

.slab-startup-steps { margin-bottom: 2rem; }
.slab-startup-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 768px) {
  .slab-startup-steps__grid { grid-template-columns: 1fr; }
}
.slab-startup-step {
  padding: 1.15rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.35);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}
.slab-startup-step__num {
  display: inline-flex;
  width: 1.75rem;
  height: 1.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(124, 58, 237, 0.12);
  color: #6d28d9;
  font-size: 0.82rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
}
.slab-startup-step__title {
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.35rem;
}
.slab-startup-step p { font-size: 0.86rem; color: #475569; margin: 0; line-height: 1.55; }

.slab-startup-build { margin-bottom: 1.5rem; }
.slab-startup-build__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.5rem 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.88rem;
  color: #334155;
}
.slab-startup-build__list li {
  padding: 0.45rem 0.65rem;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.25);
}

/* Cosa costruiremo insieme — deliverables */
.slab-startup-deliverables {
  position: relative;
  margin-bottom: 2rem;
  padding: 1.75rem 1.5rem 1.5rem;
  border-radius: 20px;
  background: linear-gradient(155deg, #ffffff 0%, #f8fafc 38%, #f5f3ff 100%);
  border: 1px solid rgba(124, 58, 237, 0.12);
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}
.slab-startup-deliverables::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -6%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 58, 237, 0.07) 0%, transparent 68%);
  pointer-events: none;
}
.slab-startup-deliverables__header {
  position: relative;
  max-width: 42rem;
  margin-bottom: 1.5rem;
}
.slab-startup-deliverables__kicker {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7c3aed;
  margin-bottom: 0.35rem;
}
.slab-startup-deliverables__title {
  font-size: clamp(1.25rem, 2.5vw, 1.55rem);
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.025em;
  margin-bottom: 0.5rem;
}
.slab-startup-deliverables__lead {
  font-size: 0.94rem;
  color: #475569;
  line-height: 1.6;
  margin: 0;
}
.slab-startup-deliverables__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 991.98px) {
  .slab-startup-deliverables__grid { grid-template-columns: 1fr; }
}
.slab-startup-deliverable-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 1.15rem 1.15rem 1rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.slab-startup-deliverable-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}
.slab-startup-deliverable-card--project {
  border-top: 3px solid #2563eb;
}
.slab-startup-deliverable-card--project:hover { border-color: rgba(37, 99, 235, 0.28); }
.slab-startup-deliverable-card--pitch {
  border-top: 3px solid #7c3aed;
}
.slab-startup-deliverable-card--pitch:hover { border-color: rgba(124, 58, 237, 0.28); }
.slab-startup-deliverable-card--svi {
  border-top: 3px solid #0891b2;
}
.slab-startup-deliverable-card--svi:hover { border-color: rgba(8, 145, 178, 0.28); }
.slab-startup-deliverable-card__head {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.slab-startup-deliverable-card__icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.1), rgba(124, 58, 237, 0.12));
  color: #5b21b6;
}
.slab-startup-deliverable-card--svi .slab-startup-deliverable-card__icon {
  background: linear-gradient(135deg, rgba(8, 145, 178, 0.12), rgba(37, 99, 235, 0.1));
  color: #0e7490;
}
.slab-startup-deliverable-card__phase {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0 0 0.2rem;
}
.slab-startup-deliverable-card__title {
  font-size: 1rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 0.35rem;
  letter-spacing: -0.02em;
}
.slab-startup-deliverable-card__sub {
  font-size: 0.8rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
}
.slab-startup-deliverable-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.slab-startup-deliverable-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: #334155;
  line-height: 1.45;
  padding: 0.4rem 0.55rem;
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.9);
}
.slab-startup-deliverable-card__list li i {
  flex-shrink: 0;
  margin-top: 0.1rem;
  color: #7c3aed;
  font-size: 0.9rem;
}
.slab-startup-deliverable-card--project .slab-startup-deliverable-card__list li i { color: #2563eb; }
.slab-startup-deliverable-card--svi .slab-startup-deliverable-card__list li i { color: #0891b2; }
.slab-startup-deliverable-card__tag {
  margin: 0.85rem 0 0;
  padding: 0.45rem 0.65rem;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #5b21b6;
  background: linear-gradient(90deg, rgba(124, 58, 237, 0.08), rgba(37, 99, 235, 0.06));
}
.slab-startup-deliverable-card--svi .slab-startup-deliverable-card__tag {
  color: #0e7490;
  background: linear-gradient(90deg, rgba(8, 145, 178, 0.1), rgba(37, 99, 235, 0.05));
}
.slab-startup-deliverables__foot {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin-top: 1.15rem;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  font-size: 0.82rem;
  color: #475569;
  line-height: 1.5;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(15, 23, 42, 0.06);
}
.slab-startup-deliverables__foot i {
  flex-shrink: 0;
  margin-top: 0.1rem;
  color: #059669;
  font-size: 1rem;
}

/* CTA Proposta MVP */
.slab-startup-mvp-cta__inner {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 1.5rem 1.35rem;
  background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 48%, #5b21b6 100%);
  color: #e2e8f0;
  box-shadow: 0 16px 48px rgba(30, 58, 138, 0.22);
}
.slab-startup-mvp-cta__glow {
  position: absolute;
  top: -30%;
  right: -10%;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.slab-startup-mvp-cta__content { position: relative; max-width: 44rem; }
.slab-startup-mvp-cta__kicker {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #93c5fd;
  margin-bottom: 0.35rem;
}
.slab-startup-mvp-cta__title {
  font-size: clamp(1.15rem, 2.4vw, 1.45rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 0.5rem;
  color: #fff;
}
.slab-startup-mvp-cta__lead {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #cbd5e1;
  margin-bottom: 0;
}
.slab-startup-mvp-cta__note { color: #94a3b8 !important; }
.slab-startup-mvp-cta__info { color: #bfdbfe !important; }
.slab-startup-mvp-checklist__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0;
  font-size: 0.88rem;
}

.slab-startup-notice {
  padding: 0.85rem 1rem;
  border-radius: 10px;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.25);
  color: #92400e;
  font-size: 0.88rem;
  margin-bottom: 1.5rem;
}
.slab-startup-form { margin-top: 0.5rem; }
.slab-startup-saved { margin-bottom: 1.25rem; }

/* Startup workspace (fase 2) */
.slab-page--startup-workspace .slab-hero--compact {
  padding: 1.5rem 1.25rem;
  margin-bottom: 1.25rem;
}
.slab-startup-ws-progress {
  margin-bottom: 1.75rem;
  padding: 1.25rem 1.35rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(124, 58, 237, 0.12);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}
.slab-startup-ws-progress__list {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}
@media (max-width: 768px) {
  .slab-startup-ws-progress__list { grid-template-columns: 1fr; }
}
.slab-startup-ws-progress__item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.82rem;
  color: #64748b;
}
.slab-startup-ws-progress__item--active { color: #5b21b6; font-weight: 600; }
.slab-startup-ws-progress__item--done { color: #047857; }
.slab-startup-ws-progress__item--future { opacity: 0.65; }
.slab-startup-ws-progress__num {
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  background: #f1f5f9;
  color: #475569;
}
.slab-startup-ws-progress__item--active .slab-startup-ws-progress__num {
  background: linear-gradient(135deg, #7c3aed, #6366f1);
  color: #fff;
}
.slab-startup-ws-progress__item--done .slab-startup-ws-progress__num {
  background: #d1fae5;
  color: #047857;
}
.slab-startup-ws-progress__bar {
  height: 6px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}
.slab-startup-ws-progress__fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #7c3aed, #6366f1);
  transition: width 0.35s ease;
}
.slab-startup-ws-intake { margin-bottom: 1.25rem; }
.slab-startup-ws-meta dt { margin-bottom: 0.15rem; }
.slab-startup-ws-idea-preview {
  padding: 1rem 1.1rem;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  white-space: pre-wrap;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #334155;
}
.slab-startup-ws-edit summary { cursor: pointer; }
.slab-startup-ws-build { margin-bottom: 1.25rem; }
.slab-startup-ws-block .slab-textarea { min-height: 6rem; }
.slab-startup-ws-next { margin-bottom: 1.5rem; }

.slab-startup-assist-wrap { flex-shrink: 0; }
.slab-startup-assist-btn {
  font-weight: 600;
  border-radius: 999px;
  padding: 0.45rem 1.1rem;
  border-color: rgba(124, 58, 237, 0.35);
  color: #5b21b6;
}
.slab-startup-assist-btn:hover:not(:disabled),
.slab-startup-assist-btn:focus-visible {
  background: #f5f3ff;
  border-color: #7c3aed;
  color: #5b21b6;
}
.slab-startup-assist-btn:disabled { opacity: 0.85; }
.slab-startup-assist-hint {
  padding: 0.75rem 1rem;
  border-radius: 10px;
  background: #faf5ff;
  border: 1px solid rgba(124, 58, 237, 0.12);
}
.slab-startup-assist-alert { font-size: 0.9rem; }

/* Pitch Room (fase 3) */
.slab-page--startup-pitch .slab-pitch-generate-btn {
  font-weight: 600;
  border-radius: 999px;
}
.slab-pitch-disclaimer { font-size: 0.9rem; }
.slab-pitch-slide {
  padding: 1rem 1.1rem;
  margin-bottom: 1rem;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #fafafa;
}
.slab-pitch-slide__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.65rem;
}
.slab-pitch-slide__num {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7c3aed;
}
.slab-textarea--compact { min-height: 5rem; }
.slab-pitch-recap dt { font-size: 0.75rem; }
.slab-pitch-recap dd { font-size: 0.85rem; color: #334155; }

/* Pitch Room — hero Sirius Detector */
.slab-hero--pitch-room {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(96, 165, 250, 0.22);
  background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 52%, #312e81 100%);
  color: #fff;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.22);
}
.slab-hero--pitch-room .slab-kicker { color: rgba(147, 197, 253, 0.92); }
.slab-hero--pitch-room .slab-title { color: #fff; }
.slab-hero--pitch-room .slab-subtitle { color: rgba(226, 232, 240, 0.92); max-width: 42rem; }
.slab-pitch-brand-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.slab-pitch-brand-bg__star {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(147,197,253,0.35) 45%, transparent 70%);
}
.slab-pitch-brand-bg__star--a { width: 3px; height: 3px; top: 18%; left: 72%; box-shadow: 0 0 12px rgba(147,197,253,0.8); }
.slab-pitch-brand-bg__star--b { width: 2px; height: 2px; top: 32%; left: 84%; opacity: 0.7; }
.slab-pitch-brand-bg__star--c { width: 4px; height: 4px; top: 55%; left: 78%; box-shadow: 0 0 18px rgba(96,165,250,0.9); }
.slab-pitch-brand-bg__ring {
  position: absolute;
  top: -20%;
  right: -8%;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  border: 1px solid rgba(96, 165, 250, 0.18);
  box-shadow: inset 0 0 0 1px rgba(124, 58, 237, 0.12), 0 0 60px rgba(37, 99, 235, 0.15);
}
.slab-pitch-brand-bg__ring::before,
.slab-pitch-brand-bg__ring::after {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  border: 1px solid rgba(147, 197, 253, 0.12);
}
.slab-pitch-brand-bg__ring::after { inset: 36%; border-color: rgba(167, 139, 250, 0.16); }
.slab-pitch-brand-mark {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
  padding: 0.35rem 0.75rem 0.35rem 0.4rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(147, 197, 253, 0.25);
  backdrop-filter: blur(8px);
}
.slab-pitch-brand-mark__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #0f172a, #2563eb);
  border: 1px solid rgba(96, 165, 250, 0.35);
  box-shadow: 0 4px 16px rgba(37, 99, 235, 0.35);
  color: #bfdbfe;
  font-size: 0.95rem;
}
.slab-pitch-brand-mark__text {
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(226, 232, 240, 0.95);
}
.slab-pitch-brand-mark__text strong { color: #fff; font-weight: 800; }
.slab-pitch-svi-sync {
  border-color: rgba(37, 99, 235, 0.15);
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

/* Pitch Room UX workspace (tab, drawer, sticky) */
.slab-pitch-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.slab-pitch-status-pill,
.slab-pitch-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0;
  border-radius: 0;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  background: transparent;
  border: none;
  box-shadow: none;
  color: rgba(226, 232, 240, 0.88);
  cursor: default;
  pointer-events: none;
}
.slab-pitch-status-pill--done,
.slab-pitch-status-chip--done {
  background: transparent;
  border: none;
  color: #a7f3d0;
}
.slab-pitch-status-pill--active,
.slab-pitch-status-chip--active {
  background: transparent;
  border: none;
  color: #fde68a;
}
.slab-pitch-status-chip i {
  font-size: 0.85em;
  opacity: 0.9;
}
.slab-pitch-admin-viewbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.9rem;
  border-radius: 12px;
  border: 1px dashed #94a3b8;
  background: #f8fafc;
  color: #334155;
}
.slab-pitch-admin-viewbar__label {
  font-size: 0.85rem;
  font-weight: 600;
}
.slab-pitch-admin-viewbar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.slab-pitch-top-cards { margin-top: 0.25rem; }
.slab-pitch-tip-card,
.slab-pitch-ai-card {
  padding: 1rem 1.15rem;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.slab-pitch-tip-card__title,
.slab-pitch-ai-card__title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.65rem;
}
.slab-pitch-tip-card__list {
  padding-left: 1.1rem;
  color: #475569;
  font-size: 0.84rem;
  line-height: 1.55;
}
.slab-pitch-tabs {
  border-bottom-color: #e2e8f0;
  gap: 0.15rem;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.slab-pitch-tabs .nav-link {
  border: none;
  border-bottom: 2px solid transparent;
  color: #64748b;
  font-size: 0.84rem;
  font-weight: 600;
  padding: 0.55rem 0.85rem;
  white-space: nowrap;
  border-radius: 8px 8px 0 0;
}
.slab-pitch-tabs .nav-link:hover { color: #1e3a8a; background: #f8fafc; }
.slab-pitch-tabs .nav-link.active {
  color: #1d4ed8;
  background: #fff;
  border-bottom-color: #2563eb;
}

/* —— Pitch guided path (pitch6) —— */
.slab-pitch-assistant {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0 0 1.25rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid #dbeafe;
  border-radius: 16px;
  background: linear-gradient(145deg, #f8fbff 0%, #eef5ff 100%);
}
.slab-pitch-assistant__head {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}
.slab-pitch-assistant__icon {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #2563eb;
  color: #fff;
  flex-shrink: 0;
}
.slab-pitch-assistant__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 0.2rem;
}
.slab-pitch-assistant__lead {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.45;
}
.slab-pitch-assistant__tips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.slab-pitch-assistant__tip {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #bfdbfe;
  color: #1e3a8a;
  font-size: 0.78rem;
  line-height: 1.3;
}
.slab-pitch-assistant__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}
.slab-pitch-disclaimer--compact {
  padding: 0.7rem 0.95rem;
  margin-bottom: 1.1rem;
}
.slab-pitch-stepper {
  margin: 0 0 1.15rem;
}
.slab-pitch-stepper__list {
  list-style: none;
  margin: 0;
  padding: 0.35rem;
  display: flex;
  gap: 0.35rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
}
.slab-pitch-stepper__item {
  flex: 1 0 auto;
  min-width: 8.5rem;
}
.slab-pitch-stepper__btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid transparent;
  background: transparent;
  border-radius: 10px;
  padding: 0.55rem 0.65rem;
  text-align: left;
  color: #64748b;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.slab-pitch-stepper__btn:hover {
  background: #fff;
  color: #1e3a8a;
}
.slab-pitch-stepper__mark {
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 0.75rem;
  font-weight: 700;
  background: #e2e8f0;
  color: #475569;
  flex-shrink: 0;
}
.slab-pitch-stepper__label {
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.25;
}
.slab-pitch-stepper__item.is-current .slab-pitch-stepper__btn {
  background: #fff;
  border-color: #93c5fd;
  color: #1d4ed8;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.08);
}
.slab-pitch-stepper__item.is-current .slab-pitch-stepper__mark {
  background: #2563eb;
  color: #fff;
}
.slab-pitch-stepper__item.is-complete:not(.is-current) .slab-pitch-stepper__mark {
  background: #16a34a;
  color: #fff;
}
.slab-pitch-stepper__item--final .slab-pitch-stepper__btn {
  border-style: dashed;
}
.slab-pitch-stepper__item--final.is-current .slab-pitch-stepper__btn {
  border-style: solid;
  background: linear-gradient(145deg, #eff6ff, #fff);
}
.slab-pitch-step-card__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.slab-pitch-step-card__kicker {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #2563eb;
}
.slab-pitch-step-card__goal {
  font-size: 0.9rem;
  color: #475569;
  line-height: 1.45;
  max-width: 40rem;
}
.slab-pitch-quality {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 650;
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
}
.slab-pitch-quality[data-quality="empty"] {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}
.slab-pitch-quality[data-quality="draft"] {
  background: #fffbeb;
  border-color: #fde68a;
  color: #92400e;
}
.slab-pitch-quality[data-quality="ready"] {
  background: #ecfdf5;
  border-color: #a7f3d0;
  color: #065f46;
}
.slab-pitch-step-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}
.slab-pitch-step-actions .btn-primary {
  order: 3;
}
.slab-pitch-context-accordion > summary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
}
.slab-pitch-context-accordion__title {
  font-weight: 700;
  color: #0f172a;
}
.slab-pitch-context-accordion__sub {
  font-size: 0.8rem;
  font-weight: 500;
  color: #64748b;
  line-height: 1.4;
}
.slab-pitch-download-finale {
  border: 1px solid #93c5fd;
  background: linear-gradient(180deg, #f8fbff 0%, #fff 55%);
}

.slab-page--pitch-focus .slab-pitch-mandatory {
  margin-top: 0.5rem;
}
.slab-pitch-focus-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  align-items: baseline;
  margin: 0 0 1.1rem;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  border: 1px solid #fbbf24;
  background: #fffbeb;
  color: #78350f;
  font-size: 0.9rem;
  line-height: 1.45;
}
.slab-pitch-focus-banner--done {
  border-color: #86efac;
  background: #ecfdf5;
  color: #065f46;
}
.slab-pitch-locked-note {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 14px;
  border: 1px dashed #cbd5e1;
  background: #f8fafc;
  color: #475569;
}
.slab-pitch-locked-note i {
  color: #64748b;
  margin-top: 0.15rem;
}
.slab-pitch-gate-hint {
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem;
  border-radius: 10px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e3a8a;
  font-size: 0.84rem;
}
.slab-pitch-stepper__item.is-locked .slab-pitch-stepper__btn {
  opacity: 0.55;
  cursor: not-allowed;
}
.slab-pitch-stepper__item.is-locked .slab-pitch-stepper__mark {
  background: #e2e8f0;
  color: #94a3b8;
}

@media (max-width: 767.98px) {
  .slab-pitch-assistant__actions .btn {
    width: 100%;
  }
  .slab-pitch-step-actions .btn {
    width: 100%;
  }
  .slab-pitch-stepper__item {
    min-width: 9.5rem;
  }
  .slab-pitch-step-card__head {
    flex-direction: column;
  }
}
.slab-pitch-tab-content { padding-bottom: 1.5rem; }
.slab-pitch-accordion,
.slab-pitch-pack-section,
.slab-pitch-slide-details {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  margin-bottom: 0.5rem;
  overflow: hidden;
}
.slab-pitch-accordion > summary,
.slab-pitch-pack-section > summary,
.slab-pitch-slide-details > summary {
  cursor: pointer;
  padding: 0.75rem 1rem;
  font-weight: 600;
  font-size: 0.88rem;
  color: #0f172a;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.slab-pitch-accordion > summary::-webkit-details-marker,
.slab-pitch-pack-section > summary::-webkit-details-marker,
.slab-pitch-slide-details > summary::-webkit-details-marker { display: none; }
.slab-pitch-accordion > summary::before,
.slab-pitch-pack-section > summary::before,
.slab-pitch-slide-details > summary::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid #64748b;
  border-bottom: 2px solid #64748b;
  transform: rotate(-45deg);
  transition: transform 0.15s ease;
  flex-shrink: 0;
}
.slab-pitch-accordion[open] > summary::before,
.slab-pitch-pack-section[open] > summary::before,
.slab-pitch-slide-details[open] > summary::before {
  transform: rotate(45deg);
}
.slab-pitch-pack-section > div,
.slab-pitch-slide-details > .slab-pitch-slide {
  padding: 0 1rem 1rem;
  border-top: 1px solid #f1f5f9;
}
.slab-pitch-pack-accordions { margin-top: 0.5rem; }
.slab-pitch-slides-accordion .slab-pitch-slide {
  margin-bottom: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  padding-top: 0.75rem;
}
.slab-pitch-slide-summary {
  flex: 1;
  min-width: 0;
}
.slab-pitch-slide-summary__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.slab-pitch-slide-details[open] {
  border-color: rgba(37, 99, 235, 0.35);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.08);
}
.slab-pitch-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030;
  padding: 0.55rem 1rem calc(0.55rem + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid #e2e8f0;
  backdrop-filter: blur(10px);
  box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.06);
}
.slab-pitch-sticky__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
}
.slab-pitch-sticky__status {
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
}
.slab-pitch-sticky__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.slab-pitch-saved-banner { border-radius: 12px; }
.slab-pitch-ai-modal-actions .btn { text-align: left; justify-content: flex-start; }

/* Overlay spaziale Sirius AI */
.slab-pitch-ai-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: radial-gradient(ellipse 120% 80% at 50% 20%, rgba(30, 58, 138, 0.55) 0%, rgba(15, 23, 42, 0.92) 45%, #020617 100%);
  backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.32s ease, visibility 0.32s ease;
}
.slab-pitch-ai-overlay.is-active {
  display: flex !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.slab-pitch-ai-overlay--success .slab-pitch-ai-overlay__core {
  background: linear-gradient(145deg, #047857, #10b981);
  box-shadow: 0 0 40px rgba(16, 185, 129, 0.55);
}
.slab-pitch-ai-overlay__cosmos {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.slab-pitch-ai-overlay__star {
  position: absolute;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 12px rgba(147, 197, 253, 0.9);
  animation: slab-pitch-star-pulse 2.4s ease-in-out infinite;
}
.slab-pitch-ai-overlay__star--a { width: 3px; height: 3px; top: 18%; left: 22%; }
.slab-pitch-ai-overlay__star--b { width: 2px; height: 2px; top: 32%; right: 18%; animation-delay: 0.6s; }
.slab-pitch-ai-overlay__star--c { width: 4px; height: 4px; bottom: 28%; left: 14%; animation-delay: 1.1s; }
.slab-pitch-ai-overlay__star--d { width: 2px; height: 2px; top: 12%; right: 32%; animation-delay: 1.8s; }
.slab-pitch-ai-overlay__ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(96, 165, 250, 0.12);
}
.slab-pitch-ai-overlay__ring--outer {
  width: min(520px, 90vw);
  height: min(520px, 90vw);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: slab-pitch-ring-spin 24s linear infinite;
}
.slab-pitch-ai-overlay__ring--inner {
  width: min(360px, 70vw);
  height: min(360px, 70vw);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-color: rgba(167, 139, 250, 0.14);
  animation: slab-pitch-ring-spin 18s linear infinite reverse;
}
.slab-pitch-ai-overlay__panel {
  position: relative;
  z-index: 1;
  width: min(420px, 100%);
  padding: 2rem 1.75rem 1.5rem;
  border-radius: 20px;
  text-align: center;
  color: #e2e8f0;
  background: linear-gradient(160deg, rgba(15, 23, 42, 0.88) 0%, rgba(30, 41, 59, 0.75) 100%);
  border: 1px solid rgba(96, 165, 250, 0.28);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.slab-pitch-ai-overlay__orbit {
  position: relative;
  width: 5.5rem;
  height: 5.5rem;
  margin: 0 auto 1.25rem;
}
.slab-pitch-ai-overlay__core {
  position: absolute;
  inset: 1.1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  color: #bfdbfe;
  background: linear-gradient(145deg, #1e3a8a, #4338ca);
  border: 1px solid rgba(147, 197, 253, 0.4);
  box-shadow: 0 0 32px rgba(59, 130, 246, 0.45);
  animation: slab-pitch-core-pulse 1.8s ease-in-out infinite;
}
.slab-pitch-ai-overlay__satellite {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px dashed rgba(147, 197, 253, 0.35);
  animation: slab-pitch-orbit-spin 3s linear infinite;
}
.slab-pitch-ai-overlay__satellite::after {
  content: "";
  position: absolute;
  top: -4px;
  left: 50%;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  border-radius: 50%;
  background: #93c5fd;
  box-shadow: 0 0 14px #60a5fa;
}
.slab-pitch-ai-overlay__kicker {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(147, 197, 253, 0.9);
  margin-bottom: 0.5rem;
}
.slab-pitch-ai-overlay__title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.5rem;
  line-height: 1.35;
}
.slab-pitch-ai-overlay__sub {
  font-size: 0.9rem;
  color: rgba(226, 232, 240, 0.88);
  margin-bottom: 1rem;
  line-height: 1.5;
}
.slab-pitch-ai-overlay__steps {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  text-align: left;
  font-size: 0.8rem;
  color: rgba(203, 213, 225, 0.95);
}
.slab-pitch-ai-overlay__steps li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.35rem 0;
}
.slab-pitch-ai-overlay__steps li::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-top: 0.45rem;
  border-radius: 50%;
  background: #64748b;
  flex-shrink: 0;
}
.slab-pitch-ai-overlay__steps li.is-active::before {
  background: #60a5fa;
  box-shadow: 0 0 8px #3b82f6;
  animation: slab-pitch-star-pulse 1.2s ease-in-out infinite;
}
.slab-pitch-ai-overlay__steps li.is-done::before {
  background: #34d399;
  box-shadow: none;
}
.slab-pitch-ai-overlay__progress {
  height: 4px;
  border-radius: 999px;
  background: rgba(51, 65, 85, 0.8);
  overflow: hidden;
  margin-bottom: 0.85rem;
}
.slab-pitch-ai-overlay__progress-fill {
  height: 100%;
  width: 35%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563eb, #7c3aed, #38bdf8);
  background-size: 200% 100%;
  animation: slab-pitch-progress-flow 1.6s ease-in-out infinite;
}
.slab-pitch-ai-overlay__hint {
  font-size: 0.72rem;
  color: rgba(148, 163, 184, 0.9);
  margin: 0;
}
@keyframes slab-pitch-orbit-spin {
  to { transform: rotate(360deg); }
}
@keyframes slab-pitch-ring-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes slab-pitch-core-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 32px rgba(59, 130, 246, 0.45); }
  50% { transform: scale(1.04); box-shadow: 0 0 48px rgba(96, 165, 250, 0.65); }
}
@keyframes slab-pitch-star-pulse {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}
@keyframes slab-pitch-progress-flow {
  0% { background-position: 0% 50%; width: 28%; }
  50% { background-position: 100% 50%; width: 72%; }
  100% { background-position: 0% 50%; width: 28%; }
}
body.slab-pitch-overlay-open { overflow: hidden; }

.slab-pitch-prosegui {
  position: fixed;
  right: 1rem;
  bottom: calc(4.25rem + env(safe-area-inset-bottom, 0px));
  z-index: 1045;
  max-width: min(360px, calc(100vw - 2rem));
  animation: slab-pitch-prosegui-in 0.35s ease;
}
.slab-pitch-prosegui:not([hidden]) { display: block; }
.slab-pitch-prosegui__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
  border-radius: 14px;
  background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);
  border: 1px solid rgba(96, 165, 250, 0.35);
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.28);
  color: #e2e8f0;
}
.slab-pitch-prosegui__msg {
  font-size: 0.82rem;
  font-weight: 600;
  flex: 1 1 100%;
}
.slab-pitch-prosegui__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  width: 100%;
  justify-content: flex-end;
}
.slab-pitch-prosegui__btn { font-weight: 600; border-radius: 999px; }
.slab-pitch-prosegui__dismiss { color: #94a3b8 !important; text-decoration: none; }
.slab-pitch-field-updated {
  animation: slab-pitch-field-flash 1.8s ease;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.35);
  border-radius: 12px;
}
@keyframes slab-pitch-prosegui-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes slab-pitch-field-flash {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0); }
  35% { box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.45); }
}

@media (max-width: 575.98px) {
  .slab-pitch-sticky__inner { justify-content: center; }
  .slab-pitch-sticky__status { width: 100%; text-align: center; }
}

/* Pacchetto materiale startup */
.slab-materials-panel {
  border-color: rgba(37, 99, 235, 0.18);
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}
.slab-materials-summary--ready {
  align-items: flex-start;
  gap: 1rem;
}
.slab-materials-summary__copy {
  flex: 1;
  min-width: 12rem;
}
.slab-materials-summary__split {
  color: #475569;
}
.slab-materials-hero-cta .btn-outline-light:hover {
  color: #1e3a8a;
  background: #fff;
}
.slab-materials-zip-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border-radius: 14px;
  border: 1px solid rgba(37, 99, 235, 0.28);
  background: linear-gradient(135deg, #eff6ff 0%, #e0e7ff 100%);
}
.slab-materials-pay-note {
  max-width: 42rem;
}
.slab-materials-next-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}
@media (max-width: 900px) {
  .slab-materials-next-grid { grid-template-columns: 1fr; }
}
.slab-materials-next-card {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  padding: 1.05rem 1rem 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-height: 100%;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.slab-materials-next-card__badge {
  align-self: flex-start;
  background: #f1f5f9;
  color: #475569;
  font-weight: 600;
}
.slab-materials-next-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
}
.slab-materials-next-card__desc {
  font-size: 0.86rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
  flex: 1;
}
.slab-materials-next-card__line {
  font-size: 0.88rem;
  color: #1e3a8a;
  margin: 0 0 0.35rem;
}
.slab-materials-tools .slab-materials-item {
  margin-bottom: 0.5rem;
}

.slab-materials-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e2e8f0;
}
.slab-materials-summary--compact {
  padding: 0;
  border: none;
  background: transparent;
}
.slab-materials-summary__stat { display: flex; flex-direction: column; min-width: 5rem; }
.slab-materials-summary__num {
  font-size: 1.35rem;
  font-weight: 800;
  color: #1e3a8a;
  line-height: 1.1;
}
.slab-materials-summary__label { font-size: 0.72rem; color: #64748b; text-transform: uppercase; letter-spacing: 0.06em; }
.slab-materials-summary__progress {
  flex: 1;
  min-width: 120px;
  height: 8px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}
.slab-materials-summary__fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  transition: width 0.35s ease;
}
.slab-materials-phase__title {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.85rem;
}
.slab-materials-phase__num {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  font-weight: 800;
  background: linear-gradient(135deg, #1e3a8a, #4338ca);
  color: #fff;
}
.slab-materials-list { display: flex; flex-direction: column; gap: 0.5rem; }
.slab-materials-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.slab-materials-item--ready { border-color: rgba(34, 197, 94, 0.35); background: #f0fdf4; }
.slab-materials-item--locked { border-color: rgba(245, 158, 11, 0.35); background: #fffbeb; }
.slab-materials-item--pending { opacity: 0.92; }
.slab-materials-item--compact {
  align-items: center;
  padding: 0.55rem 0.75rem;
  background: #fff;
  border-color: #eef2f7;
}
.slab-materials-item--compact.slab-materials-item--ready { background: #fff; }
.slab-materials-list--compact { gap: 0.35rem; }
.slab-materials-item__check { font-size: 1.15rem; line-height: 1; flex-shrink: 0; margin-top: 0.1rem; }
.slab-materials-item--compact .slab-materials-item__check { font-size: 1rem; margin-top: 0; }
.slab-materials-item__check .bi-check-circle-fill { color: #16a34a; }
.slab-materials-item__body { flex: 1; min-width: 0; }
.slab-materials-item__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.2rem;
}
.slab-materials-item__label { font-size: 0.9rem; font-weight: 600; color: #0f172a; }
.slab-materials-item--compact .slab-materials-item__label { font-size: 0.84rem; font-weight: 500; }
.slab-materials-item__format {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}
.slab-materials-item__desc { line-height: 1.45; }
.slab-materials-item__hint { color: #64748b; }
.slab-materials-item__action { flex-shrink: 0; align-self: center; }
.slab-materials-dl-btn { font-weight: 600; border-radius: 999px; min-width: 6.5rem; }
.slab-materials-future-paywall,
.slab-materials-future-note { border-left: 3px solid #7c3aed; }

/* Barra azioni Pitch Room / materials */
.slab-pitch-action-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.55rem;
  padding: 0.65rem 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(37, 99, 235, 0.14);
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.slab-pitch-action-bar--materials { align-items: center; }
.slab-pitch-action-wrap { display: inline-flex; }
.slab-pitch-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.5rem 0.95rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
  cursor: pointer;
  background: transparent;
}
.slab-pitch-action i { font-size: 0.95rem; line-height: 1; }
.slab-pitch-action:hover { text-decoration: none; transform: translateY(-1px); }
.slab-pitch-action:active { transform: translateY(0); }
.slab-pitch-action:disabled,
.slab-pitch-action[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.slab-pitch-action--ghost {
  color: #475569;
  border-color: #e2e8f0;
  background: #fff;
}
.slab-pitch-action--ghost:hover {
  color: #1e3a8a;
  border-color: #bfdbfe;
  background: #eff6ff;
}
.slab-pitch-action--primary {
  color: #fff;
  border-color: #1d4ed8;
  background: linear-gradient(135deg, #2563eb 0%, #4338ca 100%);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.28);
}
.slab-pitch-action--primary:hover {
  color: #fff;
  border-color: #1e40af;
  background: linear-gradient(135deg, #1d4ed8 0%, #3730a3 100%);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.32);
}
.slab-pitch-action--secondary {
  color: #1e40af;
  border-color: rgba(37, 99, 235, 0.35);
  background: #fff;
}
.slab-pitch-action--secondary:hover {
  color: #1e3a8a;
  border-color: #93c5fd;
  background: #eff6ff;
}
.slab-btn-primary-soft {
  font-weight: 600;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, 0.35);
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
  color: #1d4ed8;
}
.slab-btn-primary-soft:hover {
  background: linear-gradient(180deg, #dbeafe 0%, #bfdbfe 100%);
  color: #1e3a8a;
  border-color: #93c5fd;
}
.slab-btn-ghost-primary {
  font-weight: 600;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #475569;
}
.slab-btn-ghost-primary:hover {
  border-color: #bfdbfe;
  background: #f8fafc;
  color: #1e3a8a;
}
.slab-materials-dl-btn--pdf { border-color: rgba(220, 38, 38, 0.25); color: #b91c1c; background: #fef2f2; }
.slab-materials-dl-btn--pdf:hover { background: #fee2e2; color: #991b1b; }
.slab-materials-dl-btn--word { border-color: rgba(37, 99, 235, 0.25); color: #1d4ed8; background: #eff6ff; }
.slab-materials-dl-btn--word:hover { background: #dbeafe; }
.slab-materials-dl-btn--pptx { border-color: rgba(234, 88, 12, 0.25); color: #c2410c; background: #fff7ed; }
.slab-materials-dl-btn--pptx:hover { background: #ffedd5; }
.slab-materials-dl-btn--png { border-color: rgba(124, 58, 237, 0.25); color: #6d28d9; background: #f5f3ff; }
.slab-materials-dl-btn--png:hover { background: #ede9fe; }
.slab-materials-badge-complete {
  background: linear-gradient(135deg, #059669, #10b981) !important;
  color: #fff !important;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.slab-page--startup-materials {
  max-width: 1080px;
}
.slab-page--startup-materials .slab-materials-hero {
  position: relative;
  overflow: hidden;
  padding: 2rem 1.75rem;
  border-radius: 18px;
  margin-bottom: 1.5rem;
}
.slab-page--startup-materials .slab-materials-hero .slab-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 100%;
}
.slab-page--startup-materials .slab-materials-hero .slab-title {
  line-height: 1.25;
  word-break: break-word;
}
.slab-page--startup-materials .slab-materials-hero .slab-subtitle {
  line-height: 1.55;
}
.slab-materials-summary--hero {
  padding: 1.1rem 1.25rem;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  border: 1px solid rgba(37, 99, 235, 0.14);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

@media (max-width: 575.98px) {
  .slab-page--startup-materials .slab-materials-hero {
    padding: 1.35rem 1.1rem;
  }
  .slab-page--startup-materials .slab-materials-hero .slab-title {
    font-size: 1.25rem;
  }
  .slab-page--startup-materials .slab-pitch-brand-bg__ring {
    width: 220px;
    height: 220px;
    top: -10%;
    right: -18%;
  }
}

@media (max-width: 575.98px) {
  .slab-pitch-action-bar { padding: 0.55rem; gap: 0.45rem; }
  .slab-pitch-action { padding: 0.45rem 0.75rem; font-size: 0.78rem; }
  .slab-pitch-action span:not(.spinner-border) { max-width: 9rem; overflow: hidden; text-overflow: ellipsis; }
}

/* —— Risultato sintetico (semplificazione UX) —— */
.slab-result-simple { max-width: 920px; margin: 0 auto; padding-bottom: 3rem; }

.slab-simple-hero {
  border-radius: 18px;
  padding: 1.75rem 1.5rem;
  margin-bottom: 1.75rem;
  background: linear-gradient(145deg, #f8fafc 0%, #eef2ff 48%, #f0f9ff 100%);
  border: 1px solid rgba(99, 102, 241, 0.14);
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
}
.slab-simple-hero--blocked {
  background: linear-gradient(145deg, #fef2f2 0%, #fff7ed 100%);
  border-color: rgba(220, 38, 38, 0.15);
}
.slab-simple-hero__badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  margin-bottom: 0.75rem;
}
.slab-simple-hero--validate .slab-simple-hero__badge { background: #fef9c3; color: #854d0e; }
.slab-simple-hero--compliance .slab-simple-hero__badge { background: #ffedd5; color: #9a3412; }
.slab-simple-hero--blocked .slab-simple-hero__badge { background: #fee2e2; color: #991b1b; }
.slab-simple-hero__title {
  font-size: clamp(1.45rem, 4vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #0f172a;
  margin-bottom: 0.65rem;
  line-height: 1.2;
}
.slab-simple-hero__lead {
  font-size: 1.05rem;
  color: #475569;
  line-height: 1.6;
  max-width: 42rem;
  margin-bottom: 1.25rem;
}
.slab-simple-score {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: flex-start;
  padding: 1rem 1.15rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  margin-bottom: 1rem;
}
.slab-simple-score__val {
  font-size: 2.5rem;
  font-weight: 900;
  color: #1e3a8a;
  line-height: 1;
}
.slab-simple-score__val span { font-size: 1rem; color: #64748b; font-weight: 600; }
.slab-simple-score__meta strong { display: block; font-size: 1rem; color: #0f172a; }
.slab-simple-score__note { font-size: 0.78rem; color: #64748b; margin: 0.25rem 0 0.65rem; }
.slab-simple-score__dims {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin: 0;
  font-size: 0.82rem;
}
.slab-simple-score__dims div { display: flex; gap: 0.35rem; align-items: baseline; }
.slab-simple-score__dims dt { color: #64748b; margin: 0; font-weight: 600; }
.slab-simple-score__dims dd { margin: 0; color: #0f172a; font-weight: 700; text-transform: capitalize; }

.slab-simple-strength-risk {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 640px) { .slab-simple-strength-risk { grid-template-columns: 1fr; } }
.slab-simple-strength-risk__item {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 0.85rem 1rem;
}
.slab-simple-strength-risk__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
  margin-bottom: 0.35rem;
}
.slab-simple-strength-risk__item p { margin: 0; font-size: 0.9rem; color: #334155; line-height: 1.5; }

.slab-simple-cta-primary { margin-bottom: 0.75rem; }
.slab-simple-cta-main { min-width: min(100%, 320px); padding: 0.75rem 1.5rem; font-weight: 700; }
.slab-simple-cta-sublabel { font-size: 0.88rem; color: #475569; margin: 0.65rem 0 0.25rem; max-width: 36rem; }
.slab-simple-cta-micro { font-size: 0.78rem; color: #64748b; margin: 0; }
.slab-simple-cta-secondary { margin-bottom: 1rem; }
.slab-simple-full-report a { font-weight: 600; color: #1e3a8a; text-decoration: none; }
.slab-simple-full-report a:hover { text-decoration: underline; }

.slab-simple-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.1rem 1.15rem;
  height: 100%;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}
.slab-simple-card__title {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #4338ca;
  margin-bottom: 0.5rem;
}
.slab-simple-card p, .slab-simple-card li { font-size: 0.9rem; color: #334155; line-height: 1.55; }

.slab-simple-steps { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.slab-simple-steps li {
  display: flex;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid #e2e8f0;
}
.slab-simple-steps li:last-child { border-bottom: none; }
.slab-simple-steps__num {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #1e3a8a, #4338ca);
  color: #fff;
  font-weight: 800;
  font-size: 0.85rem;
}
.slab-simple-steps strong { display: block; color: #0f172a; margin-bottom: 0.2rem; }
.slab-simple-steps p { margin: 0; font-size: 0.88rem; color: #64748b; }

.slab-simple-guided-block {
  background: linear-gradient(135deg, #eff6ff, #f8fafc);
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  padding: 1.25rem 1.35rem;
}
.slab-simple-teasers {
  background: #f8fafc;
  border-radius: 12px;
  padding: 1rem 1.15rem;
  margin-bottom: 1.75rem;
  font-size: 0.9rem;
}
.slab-simple-path {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.25rem;
}
.slab-simple-path--recommended {
  border-color: #86efac;
  background: linear-gradient(180deg, #fff, #f0fdf4);
}
.slab-simple-path__tag {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: #dcfce7;
  color: #166534;
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  margin-bottom: 0.5rem;
}
.slab-simple-path h3 { font-size: 1rem; font-weight: 800; color: #0f172a; }
.slab-simple-path p { font-size: 0.88rem; color: #64748b; min-height: 3rem; }
.slab-simple-other summary { cursor: pointer; color: #475569; }
.slab-simple-footer { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #e2e8f0; }

/* —— Result v2 — percorso semplificato, un solo CTA —— */
.slab-result-v2 {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 0.5rem 3rem;
}
.slab-r2-section-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 0.65rem;
  letter-spacing: -0.02em;
}
.slab-r2-hero {
  background: linear-gradient(165deg, #eff6ff 0%, #f8fafc 42%, #fff 100%);
  border: 1px solid #bfdbfe;
  border-radius: 20px;
  padding: 1.75rem 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 12px 40px rgba(30, 58, 138, 0.06);
}
.slab-r2-hero--blocked {
  background: linear-gradient(165deg, #fef2f2 0%, #fff 100%);
  border-color: #fecaca;
}
.slab-r2-hero--compliance {
  background: linear-gradient(165deg, #fff7ed 0%, #fff 100%);
  border-color: #fed7aa;
}
.slab-r2-hero__grid {
  display: grid;
  grid-template-columns: 1fr minmax(200px, 240px);
  gap: 1.75rem 2rem;
  align-items: start;
}
.slab-r2-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  margin-bottom: 0.75rem;
}
.slab-r2-hero__badge {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  background: #dbeafe;
  color: #1e40af;
}
.slab-r2-hero--validate .slab-r2-hero__badge { background: #fef9c3; color: #854d0e; }
.slab-r2-hero--compliance .slab-r2-hero__badge { background: #ffedd5; color: #9a3412; }
.slab-r2-hero--blocked .slab-r2-hero__badge { background: #fee2e2; color: #991b1b; }
.slab-r2-hero__ref {
  font-size: 0.78rem;
  color: #64748b;
  font-family: ui-monospace, monospace;
}
.slab-r2-hero__title {
  font-size: clamp(1.45rem, 3.2vw, 2rem);
  font-weight: 800;
  color: #0f172a;
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin-bottom: 0.65rem;
}
.slab-r2-hero__lead {
  font-size: 0.98rem;
  color: #475569;
  line-height: 1.6;
  max-width: 38rem;
  margin-bottom: 1.25rem;
}
.slab-r2-insight {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 1.35rem;
}
.slab-r2-insight__item {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 0.85rem 1rem;
}
.slab-r2-insight__item--ok { border-color: #bbf7d0; background: #f0fdf4; }
.slab-r2-insight__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
  margin-bottom: 0.3rem;
}
.slab-r2-insight__item p { margin: 0; font-size: 0.88rem; color: #334155; line-height: 1.5; }
.slab-r2-cta-zone { margin-top: 0.25rem; }
.slab-r2-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}
.slab-r2-cta-main {
  min-width: min(100%, 340px);
  padding: 0.8rem 1.6rem;
  font-weight: 700;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(37, 99, 235, 0.22);
}
.slab-r2-cta-sublabel {
  font-size: 0.9rem;
  color: #334155;
  margin: 0.75rem 0 0.25rem;
  max-width: 36rem;
  font-weight: 600;
}
.slab-r2-cta-micro { font-size: 0.78rem; color: #64748b; margin: 0; }
.slab-r2-score-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.25rem 1rem;
  text-align: center;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}
.slab-r2-score-card__ring {
  --score: 70;
  width: 6.5rem;
  height: 6.5rem;
  margin: 0 auto 0.65rem;
  border-radius: 50%;
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding-top: 1.85rem;
  background:
    radial-gradient(circle at center, #fff 58%, transparent 59%),
    conic-gradient(
      #2563eb 0%,
      #3b82f6 calc(var(--score) * 1%),
      #e2e8f0 calc(var(--score) * 1%),
      #e2e8f0 100%
    );
  box-shadow: 0 4px 16px rgba(37, 99, 235, 0.15);
}
.slab-r2-score-card__val {
  font-size: 1.75rem;
  font-weight: 900;
  color: #1e3a8a;
  line-height: 1;
}
.slab-r2-score-card__max { font-size: 0.85rem; font-weight: 700; color: #94a3b8; }
.slab-r2-score-card__label {
  font-size: 0.82rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.75rem;
}
.slab-r2-score-card__dims {
  display: grid;
  gap: 0.35rem;
  text-align: left;
  font-size: 0.78rem;
  margin: 0 0 0.65rem;
}
.slab-r2-score-card__dims div { display: flex; justify-content: space-between; gap: 0.5rem; }
.slab-r2-score-card__dims dt { color: #64748b; margin: 0; font-weight: 600; }
.slab-r2-score-card__dims dd { margin: 0; color: #0f172a; font-weight: 700; text-transform: capitalize; }
.slab-r2-score-card__note { font-size: 0.72rem; color: #94a3b8; margin: 0; }
.slab-r2-journey {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 1.5rem 1.35rem;
  margin-bottom: 2rem;
}
.slab-r2-journey__lead {
  font-size: 0.9rem;
  color: #64748b;
  margin: 0 0 1.25rem;
  max-width: 42rem;
}
.slab-r2-journey__track {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0;
}
.slab-r2-journey__step {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
  align-items: start;
  padding: 1rem 0;
  border-bottom: 1px solid #f1f5f9;
  position: relative;
}
.slab-r2-journey__step:last-child { border-bottom: none; padding-bottom: 0; }
.slab-r2-journey__num {
  width: 2.1rem;
  height: 2.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #f1f5f9;
  color: #64748b;
  font-weight: 800;
  font-size: 0.85rem;
  flex-shrink: 0;
}
.slab-r2-journey__step--current .slab-r2-journey__num {
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color: #fff;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}
.slab-r2-journey__body strong {
  display: block;
  font-size: 0.95rem;
  color: #0f172a;
  margin-bottom: 0.2rem;
}
.slab-r2-journey__body p {
  margin: 0;
  font-size: 0.86rem;
  color: #64748b;
  line-height: 1.5;
}
.slab-r2-journey__now {
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #2563eb;
  background: #dbeafe;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  white-space: nowrap;
  align-self: center;
}
.slab-r2-brief { margin-bottom: 2rem; }
.slab-r2-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.1rem 1.15rem;
  height: 100%;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}
.slab-r2-card__title {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #2563eb;
  margin-bottom: 0.5rem;
}
.slab-r2-card p, .slab-r2-card li { font-size: 0.9rem; color: #334155; line-height: 1.55; }
.slab-r2-why { margin-bottom: 2rem; }
.slab-r2-why-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1rem;
  height: 100%;
}
.slab-r2-why-card strong {
  display: block;
  font-size: 0.82rem;
  color: #1e3a8a;
  margin-bottom: 0.35rem;
}
.slab-r2-why-card p { margin: 0; font-size: 0.86rem; color: #64748b; line-height: 1.5; }
.slab-r2-alt { margin-bottom: 2rem; }
.slab-r2-alt__lead { font-size: 0.88rem; margin-bottom: 1rem; }
.slab-r2-alt-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.25rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.slab-r2-alt-card__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: #2563eb;
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}
.slab-r2-alt-card h3 { font-size: 1rem; font-weight: 800; color: #0f172a; margin-bottom: 0.4rem; }
.slab-r2-alt-card p { font-size: 0.88rem; color: #64748b; flex: 1; margin-bottom: 1rem; }
.slab-r2-other summary { cursor: pointer; color: #475569; font-weight: 600; }
.slab-r2-teasers {
  background: #f8fafc;
  border-radius: 12px;
  padding: 1rem 1.15rem;
  margin-bottom: 1.75rem;
  font-size: 0.9rem;
}
.slab-r2-footer {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e2e8f0;
}
.slab-r2-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
@media (max-width: 768px) {
  .slab-r2-hero__grid { grid-template-columns: 1fr; }
  .slab-r2-score-card { order: -1; }
  .slab-r2-insight { grid-template-columns: 1fr; }
  .slab-r2-journey__step { grid-template-columns: auto 1fr; }
  .slab-r2-journey__now { grid-column: 2; justify-self: start; margin-top: -0.25rem; }
  .slab-r2-cta-main,
  .slab-r2-cta-secondary { width: 100%; }
  .slab-r2-footer-actions .btn { width: 100%; }
}

.slab-full-report-head { border-bottom: 1px solid #e2e8f0; padding-bottom: 1rem; }
.slab-full-toc .btn-light { font-size: 0.78rem; }

/* Report completo — scheda tecnica professionale */
.slab-result-full--pro {
  --sfp-bg: #f6f8fa;
  --sfp-canvas: #ffffff;
  --sfp-border: #d0d7de;
  --sfp-text: #24292f;
  --sfp-muted: #57606a;
  --sfp-link: #0969da;
  --sfp-accent: #1f6feb;
  max-width: 980px;
  margin: 0 auto;
  padding-bottom: 2.5rem;
  color: var(--sfp-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}

.slab-full-pro__header {
  background: var(--sfp-canvas);
  border: 1px solid var(--sfp-border);
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
}

.slab-full-pro__back {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  color: var(--sfp-link);
  text-decoration: none;
  margin-bottom: 1rem;
}
.slab-full-pro__back:hover { text-decoration: underline; }

.slab-full-pro__header-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.slab-full-pro__kicker {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sfp-muted);
  margin-bottom: 0.25rem;
}

.slab-full-pro__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 0.35rem;
  color: var(--sfp-text);
}

.slab-full-pro__lead {
  font-size: 0.875rem;
  color: var(--sfp-muted);
  margin: 0;
  max-width: 42rem;
  line-height: 1.55;
}

.slab-full-pro__header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.slab-full-pro__toc {
  background: var(--sfp-canvas);
  border: 1px solid var(--sfp-border);
  border-radius: 8px;
  padding: 0.85rem 1rem;
  margin-bottom: 1.25rem;
}

.slab-full-pro__toc-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sfp-muted);
  margin-bottom: 0.5rem;
}

.slab-full-pro__toc-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.slab-full-pro__toc-pill {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--sfp-link);
  text-decoration: none;
  padding: 0.25rem 0.65rem;
  border: 1px solid var(--sfp-border);
  border-radius: 2em;
  background: var(--sfp-bg);
}
.slab-full-pro__toc-pill:hover {
  background: #ddf4ff;
  border-color: #54aeff;
}

.slab-full-pro__section {
  margin-bottom: 1.25rem;
  scroll-margin-top: 1rem;
}

.slab-full-pro__section-head { margin-bottom: 0.75rem; }

.slab-full-pro__section-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  color: var(--sfp-text);
}

.slab-full-pro__section-lead {
  font-size: 0.8125rem;
  color: var(--sfp-muted);
  margin: 0.25rem 0 0;
}

.slab-full-pro__panel {
  background: var(--sfp-canvas);
  border: 1px solid var(--sfp-border);
  border-radius: 8px;
  padding: 1.15rem 1.25rem;
}

.slab-full-pro__panel--score { padding: 1.35rem 1.4rem; }
.slab-full-pro__panel--conclusion { border-color: #54aeff; background: #f6f8fa; }

.slab-full-pro__score-big {
  font-size: 2.75rem;
  font-weight: 700;
  color: var(--sfp-accent);
  line-height: 1;
  margin: 0;
}
.slab-full-pro__score-big span {
  font-size: 1rem;
  color: var(--sfp-muted);
  font-weight: 600;
}

.slab-full-pro__score-tier {
  font-size: 0.875rem;
  color: var(--sfp-muted);
  margin: 0.35rem 0 0.5rem;
}

.slab-full-pro__dim { margin-bottom: 0.65rem; }
.slab-full-pro__dim-head {
  display: flex;
  justify-content: space-between;
  font-size: 0.8125rem;
  color: var(--sfp-muted);
  margin-bottom: 0.25rem;
}
.slab-full-pro__dim-head strong { color: var(--sfp-text); }
.slab-full-pro__dim-track {
  height: 6px;
  background: #eaeef2;
  border-radius: 3px;
  overflow: hidden;
}
.slab-full-pro__dim-track span {
  display: block;
  height: 100%;
  background: var(--sfp-accent);
  border-radius: 3px;
}

.slab-full-pro__details summary {
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--sfp-link);
}
.slab-full-pro__details-body { margin-top: 0.75rem; }

.slab-full-pro__kpi {
  border: 1px solid var(--sfp-border);
  border-radius: 6px;
  padding: 0.65rem;
  text-align: center;
  background: var(--sfp-bg);
  height: 100%;
}
.slab-full-pro__kpi-bar {
  height: 4px;
  background: #eaeef2;
  border-radius: 2px;
  margin-bottom: 0.4rem;
  overflow: hidden;
}
.slab-full-pro__kpi-bar span {
  display: block;
  height: 100%;
  background: var(--sfp-accent);
}
.slab-full-pro__kpi strong {
  display: block;
  font-size: 1.1rem;
  color: var(--sfp-text);
}
.slab-full-pro__kpi small {
  display: block;
  font-size: 0.68rem;
  color: var(--sfp-muted);
  line-height: 1.3;
}

.slab-full-pro__callout {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  background: #ddf4ff;
  border: 1px solid #54aeff;
  border-radius: 8px;
  padding: 1rem 1.15rem;
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
}
.slab-full-pro__callout > i {
  font-size: 1.25rem;
  color: var(--sfp-link);
  margin-top: 0.1rem;
}
.slab-full-pro__callout p {
  margin: 0.25rem 0 0;
  color: var(--sfp-muted);
  line-height: 1.5;
}

.slab-full-pro__alert {
  border-radius: 8px;
  padding: 0.85rem 1rem;
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
}
.slab-full-pro__alert--warn {
  background: #fff8c5;
  border: 1px solid #d4a72c;
  color: #9a6700;
}
.slab-full-pro__alert--info {
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #78350f;
}

.slab-full-pro__card {
  background: var(--sfp-canvas);
  border: 1px solid var(--sfp-border);
  border-radius: 8px;
  padding: 1rem 1.05rem;
  height: 100%;
}
.slab-full-pro__card strong {
  display: block;
  font-size: 0.875rem;
  color: var(--sfp-text);
  margin-bottom: 0.35rem;
}
.slab-full-pro__card p {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--sfp-muted);
  line-height: 1.5;
}

.slab-full-pro__kv {
  margin: 0;
  display: grid;
  gap: 0;
}
.slab-full-pro__kv > div {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 0.75rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid #eaeef2;
  font-size: 0.875rem;
}
.slab-full-pro__kv > div:last-child { border-bottom: none; }
.slab-full-pro__kv dt {
  margin: 0;
  color: var(--sfp-muted);
  font-weight: 500;
}
.slab-full-pro__kv dd {
  margin: 0;
  color: var(--sfp-text);
  font-weight: 600;
}

.slab-full-pro__path {
  background: var(--sfp-canvas);
  border: 1px solid var(--sfp-border);
  border-radius: 8px;
  padding: 1rem 1.1rem;
  height: 100%;
}
.slab-full-pro__path-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.slab-full-pro__path p {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--sfp-muted);
  line-height: 1.5;
}

.slab-full-pro__badge {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
  border-radius: 2em;
  border: 1px solid var(--sfp-border);
  background: var(--sfp-bg);
  color: var(--sfp-muted);
  white-space: nowrap;
}
.slab-full-pro__badge--feasible,
.slab-full-pro__badge--ok,
.slab-full-pro__badge--low { background: #dafbe1; border-color: #4ac26b; color: #1a7f37; }
.slab-full-pro__badge--medium,
.slab-full-pro__badge--conditional { background: #fff8c5; border-color: #d4a72c; color: #9a6700; }
.slab-full-pro__badge--high,
.slab-full-pro__badge--blocked { background: #ffebe9; border-color: #ff8182; color: #cf222e; }

.slab-full-pro__timeline {
  list-style: none;
  padding: 0;
  margin: 0;
  background: var(--sfp-canvas);
  border: 1px solid var(--sfp-border);
  border-radius: 8px;
}
.slab-full-pro__timeline li {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #eaeef2;
  font-size: 0.875rem;
  color: var(--sfp-text);
}
.slab-full-pro__timeline li:last-child { border-bottom: none; }
.slab-full-pro__timeline-num {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eaeef2;
  font-size: 0.75rem;
  font-weight: 700;
}

.slab-full-pro__gov-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--sfp-border);
  border-radius: 6px;
  background: var(--sfp-bg);
  font-size: 0.8125rem;
  height: 100%;
}
.slab-full-pro__gov-row strong {
  display: block;
  color: var(--sfp-text);
}
.slab-full-pro__gov-row span { color: var(--sfp-muted); }

.slab-full-pro__risks,
.slab-full-pro__list {
  padding-left: 1.25rem;
  font-size: 0.875rem;
  color: var(--sfp-muted);
}
.slab-full-pro__risks li,
.slab-full-pro__list li { margin-bottom: 0.35rem; }

.slab-full-pro__ai-badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
  border-radius: 2em;
  background: #ddf4ff;
  border: 1px solid #54aeff;
  color: var(--sfp-link);
}
.slab-full-pro__ai-badge--muted {
  background: var(--sfp-bg);
  border-color: var(--sfp-border);
  color: var(--sfp-muted);
}

.slab-full-pro__conclusion-text {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--sfp-text);
  margin-bottom: 0.75rem;
}
.slab-full-pro__conclusion-note {
  font-size: 0.75rem;
  color: var(--sfp-muted);
}

.slab-full-pro__footer {
  text-align: center;
  font-size: 0.75rem;
  color: var(--sfp-muted);
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--sfp-border);
}

@media (max-width: 768px) {
  .slab-full-pro__kv > div { grid-template-columns: 1fr; gap: 0.15rem; }
  .slab-full-pro__header-actions { width: 100%; }
  .slab-full-pro__header-actions .btn { flex: 1; }
}

@media print {
  .slab-full-toc, .slab-full-report-head .btn,
  .slab-full-pro__toc, .slab-full-pro__header-actions { display: none !important; }
}

/* Solution Proposal */
.sp-page { max-width: 960px; margin: 0 auto; padding: 1.25rem 1rem 3rem; }
.sp-kicker { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: #4338ca; margin-bottom: 0.4rem; }
.sp-hero { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 1.75rem; margin-bottom: 1.5rem; }
.sp-hero--compact { padding: 1.25rem; }
.sp-hero__title { font-size: clamp(1.5rem, 3.5vw, 2rem); font-weight: 800; color: #0f172a; line-height: 1.2; margin-bottom: 0.5rem; }
.sp-hero__lead { color: #475569; max-width: 40rem; margin-bottom: 1rem; }
.sp-hero__meta { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; margin-bottom: 0.75rem; }
.sp-badge { font-size: 0.72rem; font-weight: 700; background: #eef2ff; color: #3730a3; padding: 0.2rem 0.55rem; border-radius: 999px; }
.sp-meta-line { font-size: 0.88rem; color: #64748b; }
.sp-notice { font-size: 0.82rem; color: #92400e; background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px; padding: 0.5rem 0.75rem; margin-bottom: 1rem; }
.sp-hero__micro { font-size: 0.82rem; color: #64748b; margin-top: 0.5rem; margin-bottom: 0; }
.sp-page--simple { max-width: 720px; }
.sp-hero__summary { color: #334155; font-size: 0.95rem; line-height: 1.55; max-width: 38rem; margin-bottom: 1rem; }
.sp-hero__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 0.35rem; margin-top: 0.5rem; }
.sp-hero__actions--primary { margin-top: 1rem; }
.sp-hero__cost { font-size: 0.85rem; font-weight: 600; color: #6366f1; margin: 0.25rem 0 0; }
.sp-commercial--simple { margin-bottom: 1rem; }
.sp-paths--compact .sp-path { padding: 1rem; }
.sp-details { margin-bottom: 1.25rem; border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; }
.sp-details__summary { cursor: pointer; font-weight: 700; padding: 0.85rem 1rem; color: #475569; list-style: none; }
.sp-details__summary::-webkit-details-marker { display: none; }
.sp-details__body { padding: 0 1rem 1rem; border-top: 1px solid #f1f5f9; }
.sp-btn-primary { min-width: 14rem; }
.sp-funnel { margin-bottom: 1.25rem; overflow-x: auto; }
.sp-funnel__list { display: flex; gap: 0.35rem; list-style: none; padding: 0; margin: 0; }
.sp-funnel__item { font-size: 0.72rem; font-weight: 600; color: #94a3b8; padding: 0.35rem 0.6rem; border-radius: 999px; background: #f1f5f9; white-space: nowrap; }
.sp-funnel__item--done { color: #166534; background: #dcfce7; }
.sp-funnel__item--current { color: #1e3a8a; background: #dbeafe; font-weight: 800; }
.sp-section { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 1.25rem; margin-bottom: 1rem; }
.sp-section--warn { background: #fffbeb; border-color: #fde68a; }
.sp-section__title { font-size: 1.05rem; font-weight: 800; color: #0f172a; margin-bottom: 0.65rem; }
.sp-section__text { color: #334155; line-height: 1.6; margin: 0; }
.sp-section__hint { font-size: 0.85rem; color: #64748b; margin-bottom: 0.75rem; }
.sp-workflow { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sp-workflow li { flex: 1 1 140px; display: flex; gap: 0.5rem; font-size: 0.85rem; padding: 0.5rem; background: #f8fafc; border-radius: 8px; }
.sp-workflow__dot { width: 8px; height: 8px; border-radius: 50%; background: #6366f1; margin-top: 0.35rem; }
.sp-workflow__sub { display: block; font-size: 0.75rem; color: #64748b; }
.sp-modules { list-style: none; padding: 0; margin: 0; }
.sp-modules li { display: grid; grid-template-columns: 1fr 2fr auto; gap: 0.5rem; padding: 0.55rem 0; border-bottom: 1px solid #f1f5f9; font-size: 0.88rem; }
.sp-buckets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; }
@media (max-width: 768px) { .sp-buckets, .sp-paths { grid-template-columns: 1fr; } .sp-modules li { grid-template-columns: 1fr; } }
.sp-bucket h3 { font-size: 0.82rem; font-weight: 800; color: #475569; }
.sp-bucket ul { margin: 0; padding-left: 1.1rem; font-size: 0.84rem; }
.sp-bucket-detail { display: block; font-size: 0.75rem; color: #64748b; margin-top: 0.15rem; }
.sp-badge--phase { background: #dbeafe; color: #1e40af; }
.sp-badge--warn { background: #fef3c7; color: #92400e; }
.sp-section--phase2 { border: 1px solid #bfdbfe; background: #f8fafc; border-radius: 14px; }
.srs-phase2-form .form-label { font-weight: 700; font-size: 0.85rem; color: #334155; }
.sp-integrations { list-style: none; padding: 0; margin: 0; }
.sp-integrations li { padding: 0.5rem 0; border-bottom: 1px solid #f1f5f9; font-size: 0.88rem; }
.sp-int-cat { font-size: 0.72rem; font-weight: 700; color: #6366f1; margin-right: 0.5rem; }
.sp-verify { list-style: none; padding: 0; margin: 0; }
.sp-readiness__line { font-weight: 600; margin-bottom: 0.75rem; }
.sp-readiness__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem; font-size: 0.85rem; }
.sp-paths { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.sp-path { border: 1px solid #e2e8f0; border-radius: 12px; padding: 1rem; }
.sp-path--rec { border-color: #86efac; background: #f0fdf4; }
.sp-path__badge { font-size: 0.65rem; font-weight: 800; background: #dcfce7; color: #166534; padding: 0.15rem 0.45rem; border-radius: 6px; }
.sp-path h3 { font-size: 0.95rem; font-weight: 800; }
.sp-path__cost { font-weight: 700; }
.sp-footer { display: flex; flex-wrap: wrap; gap: 1rem; padding-top: 1.5rem; font-size: 0.85rem; }
.sp-back { display: inline-block; margin-bottom: 1rem; color: #64748b; }
.sp-confirm-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 1.5rem; }
.sp-confirm-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.25rem; }

/* Solution request status — /solution/request/… */
.srs-page { max-width: 960px; }
.srs-status-badge {
  font-size: 0.78rem;
  font-weight: 800;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  letter-spacing: 0.02em;
}
.srs-status-badge--success { background: #dcfce7; color: #166534; }
.srs-status-badge--info { background: #dbeafe; color: #1e40af; }
.srs-status-badge--warning { background: #fef3c7; color: #92400e; }
.srs-status-badge--muted { background: #f1f5f9; color: #475569; }
.srs-timeline__steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
}
.srs-timeline__step {
  text-align: center;
  padding: 0.85rem 0.5rem;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  font-size: 0.78rem;
}
.srs-timeline__step strong { display: block; font-size: 0.82rem; color: #0f172a; margin-bottom: 0.2rem; }
.srs-timeline__sub { display: block; color: #64748b; font-size: 0.72rem; line-height: 1.35; }
.srs-timeline__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  background: #e2e8f0;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
  margin-bottom: 0.35rem;
}
.srs-timeline__step--done {
  background: #f0fdf4;
  border-color: #bbf7d0;
}
.srs-timeline__step--done .srs-timeline__icon { background: #22c55e; color: #fff; }
.srs-timeline__step--current {
  background: linear-gradient(180deg, #eff6ff 0%, #fff 100%);
  border: 2px solid #3b82f6;
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.12);
}
.srs-timeline__step--current .srs-timeline__icon { background: #2563eb; color: #fff; }
.srs-admin-msg { border-left: 4px solid #6366f1; }
.srs-pilot {
  border: 2px solid #818cf8;
  background: linear-gradient(135deg, #eef2ff 0%, #fff 55%);
  box-shadow: 0 8px 24px rgba(99, 102, 241, 0.1);
}
.srs-pilot__badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #4338ca;
  background: #e0e7ff;
  padding: 0.2rem 0.55rem;
  border-radius: 6px;
  margin-bottom: 0.65rem;
}
.srs-pilot__badge--warn { color: #92400e; background: #fef3c7; }
.srs-pilot__badge--muted { color: #475569; background: #f1f5f9; }
.srs-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.75rem 1rem;
  margin: 1rem 0;
}
.srs-meta-grid dt {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 0.15rem;
}
.srs-meta-grid dd { margin: 0; font-size: 0.88rem; color: #0f172a; font-weight: 600; }
.srs-code {
  font-size: 0.78rem;
  background: #f1f5f9;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  color: #334155;
}
.srs-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.25rem;
}
.srs-form-panel {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1rem 1.1rem;
  margin-top: 1rem;
}
.srs-form-panel__title {
  font-size: 0.88rem;
  font-weight: 800;
  color: #334155;
  margin-bottom: 0.75rem;
}
.srs-preview { border-left: 4px solid #2563eb; }
.srs-delivered { border-left: 4px solid #16a34a; background: linear-gradient(135deg, #f0fdf4 0%, #fff 60%); border-radius: 12px; padding: 1.25rem 1.5rem !important; }
.srs-delivered__badge { display: inline-block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #15803d; background: #dcfce7; padding: .25rem .65rem; border-radius: 999px; margin-bottom: .75rem; }
.srs-delivered__hero .sp-section__title { color: #14532d; }
.srs-legal {
  font-size: 0.75rem;
  color: #94a3b8;
  text-align: center;
  margin-top: 1.5rem;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .srs-timeline__steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .srs-timeline__steps { grid-template-columns: 1fr; }
  .srs-actions .btn-lg { width: 100%; }
}

.slab-copy-link { margin-top: 0.25rem; }
.slab-copy-link__label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 0.35rem;
}
.slab-copy-link__row {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
}
.slab-copy-link__input {
  flex: 1;
  font-size: 0.78rem;
  font-family: ui-monospace, monospace;
}
.slab-copy-link__btn { white-space: nowrap; }

/* MVP — guida funzione e marketing partner */
.slab-kicker--guide { color: #1e40af; }
.slab-kicker--partner { color: #065f46; }
.slab-mvp-guide__steps {
  margin: 0;
  padding-left: 1.2rem;
}
.slab-mvp-guide__steps li { margin-bottom: 0.45rem; }
.slab-mvp-guide__steps li span { display: block; color: #64748b; margin-top: 0.1rem; }
.slab-mvp-partner {
  background: linear-gradient(180deg, #ecfdf5 0%, #fff 45%);
  border-color: #a7f3d0;
}
.slab-mvp-partner__quote {
  border-left: 3px solid #059669;
  padding-left: 0.85rem;
  margin: 0;
  color: #065f46;
  font-style: italic;
}
.slab-mvp-partner__assets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.75rem;
}
.slab-mvp-partner__asset {
  background: #fff;
  border: 1px solid #d1fae5;
  border-radius: 12px;
  padding: 0.85rem 1rem;
}
.slab-mvp-partner__asset-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.45rem;
}
.slab-mvp-partner__badge {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: #ecfdf5;
  color: #065f46;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
}
@media (max-width: 576px) {
  .slab-copy-link__row { flex-direction: column; }
}

/* —— Startup Room commerciale (pitch finale) —— */
.slab-page--startup-room {
  background:
    radial-gradient(ellipse 90% 50% at 50% -10%, rgba(99, 102, 241, 0.07) 0%, transparent 55%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 220px);
  padding-bottom: 1.5rem;
}
.slab-page--startup-room .slab-path-badge--startup-room {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.04), rgba(124, 58, 237, 0.1));
  border: 1px solid rgba(124, 58, 237, 0.18);
  color: #4c1d95;
  box-shadow: 0 2px 12px rgba(124, 58, 237, 0.08);
}
.slab-page--startup-room .slab-pitch-room-hero {
  border-radius: 22px;
  margin-bottom: 1.5rem;
  padding: 2rem 1.5rem 2.25rem;
}
.slab-page--startup-room .slab-pitch-room-hero--compact {
  padding: 1.65rem 1.5rem 1.75rem;
  margin-bottom: 1.25rem;
}
.slab-page--startup-room .slab-pitch-room-hero--compact .slab-subtitle {
  font-size: 0.98rem;
  max-width: 34rem;
  line-height: 1.55;
}
.slab-page--startup-room .slab-pitch-room-hero .slab-title {
  font-size: clamp(1.55rem, 3.8vw, 2.15rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.025em;
  max-width: 20ch;
}
.slab-pitch-room-hero__glow {
  position: absolute;
  width: 280px;
  height: 280px;
  left: -60px;
  bottom: -80px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 58, 237, 0.22) 0%, transparent 68%);
  filter: blur(2px);
}
.slab-pitch-room-hero__grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.5rem 2rem;
  align-items: center;
}
.slab-pitch-room-hero__main { min-width: 0; }
.slab-pitch-room-hero__score { flex-shrink: 0; }
.slab-pitch-room-score-ring {
  --score-pct: 75;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at center, rgba(15, 23, 42, 0.55) 58%, transparent 59%),
    conic-gradient(
      #60a5fa 0%,
      #a78bfa calc(var(--score-pct) * 1%),
      rgba(255, 255, 255, 0.12) calc(var(--score-pct) * 1%),
      rgba(255, 255, 255, 0.12) 100%
    );
  box-shadow:
    0 0 0 1px rgba(147, 197, 253, 0.25),
    0 12px 32px rgba(15, 23, 42, 0.28);
}
.slab-pitch-room-score-ring__inner {
  display: flex;
  align-items: baseline;
  line-height: 1;
}
.slab-pitch-room-score-ring__num {
  font-size: 1.85rem;
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.03em;
}
.slab-pitch-room-score-ring__max {
  font-size: 0.9rem;
  font-weight: 700;
  color: rgba(191, 219, 254, 0.75);
  margin-left: 0.1rem;
}
.slab-pitch-room-score-ring__label {
  margin-top: 0.2rem;
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(191, 219, 254, 0.85);
  text-align: center;
  max-width: 5.5rem;
  line-height: 1.25;
}
.slab-pitch-room-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1.15rem;
}
.slab-pitch-room-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.76rem;
  font-weight: 600;
  padding: 0.32rem 0.68rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(226, 232, 240, 0.88);
  border: 1px solid rgba(148, 163, 184, 0.22);
  backdrop-filter: blur(6px);
}
.slab-pitch-room-badge--done {
  background: rgba(34, 197, 94, 0.14);
  border-color: rgba(74, 222, 128, 0.32);
  color: #bbf7d0;
}
.slab-pitch-room-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
}
.slab-pitch-room-cta--mv {
  background: linear-gradient(180deg, #fff 0%, #eef2ff 100%) !important;
  color: #312e81 !important;
  border: none !important;
  font-weight: 700;
  box-shadow: 0 4px 18px rgba(255, 255, 255, 0.18);
}
.slab-pitch-room-cta--mv:hover {
  background: #fff !important;
  color: #1e1b4b !important;
  transform: translateY(-1px);
}
.slab-pitch-room-cta--mvp,
.slab-pitch-room-cta--secondary {
  font-weight: 600;
  border-color: rgba(255, 255, 255, 0.35) !important;
}
.slab-pitch-room-cta--mvp:hover,
.slab-pitch-room-cta--secondary:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
}
.slab-pitch-room-section__kicker {
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #7c3aed;
  margin-bottom: 0.25rem;
}
.slab-pitch-room-section__head { max-width: 36rem; }
.slab-pitch-room-cta--link {
  color: rgba(191, 219, 254, 0.95) !important;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
}
.slab-pitch-room-card {
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  padding: 1.25rem 1.35rem;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.05);
}
.slab-pitch-room-card__title {
  font-size: 1.2rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 0.35rem;
  letter-spacing: -0.02em;
}
.slab-pitch-room-card__lead {
  font-size: 0.92rem;
  color: #64748b;
  max-width: 42rem;
}
.slab-pitch-room-readiness__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.slab-pitch-room-readiness__score {
  text-align: right;
  line-height: 1;
}
.slab-pitch-room-readiness__num {
  font-size: 2.5rem;
  font-weight: 900;
  color: #1d4ed8;
}
.slab-pitch-room-readiness__max {
  font-size: 1.1rem;
  font-weight: 700;
  color: #94a3b8;
}
.slab-pitch-room-readiness__indicators {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.65rem;
}
.slab-pitch-room-readiness__ind {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.65rem 0.75rem;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.slab-pitch-room-readiness__ind-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}
.slab-pitch-room-readiness__ind-state {
  font-size: 0.88rem;
  font-weight: 700;
  color: #0f172a;
}
.slab-pitch-room-readiness__ind--alto .slab-pitch-room-readiness__ind-state { color: #15803d; }
.slab-pitch-room-readiness__ind--medio .slab-pitch-room-readiness__ind-state { color: #1d4ed8; }
.slab-pitch-room-readiness__ind--da_validare .slab-pitch-room-readiness__ind-state { color: #b45309; }
.slab-pitch-room-readiness__ind--critico .slab-pitch-room-readiness__ind-state { color: #b91c1c; }
.slab-pitch-room-created__col {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1rem;
}
.slab-pitch-room-created__title {
  font-size: 0.95rem;
  font-weight: 800;
  color: #1e3a8a;
  margin-bottom: 0.75rem;
}
.slab-pitch-room-created__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid #e2e8f0;
  font-size: 0.85rem;
}
.slab-pitch-room-created__item:last-child { border-bottom: none; }
.slab-pitch-room-created__status {
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}
.slab-pitch-room-created__item--ready .slab-pitch-room-created__status { color: #15803d; }
.slab-pitch-room-created__item--pending .slab-pitch-room-created__status { color: #b45309; }
.slab-pitch-room-created__item--unavailable .slab-pitch-room-created__status { color: #94a3b8; }
.slab-pitch-room-next-card {
  position: relative;
  background: #fff;
  border: 1px solid #e8edf5;
  border-radius: 18px;
  padding: 1.35rem 1.25rem 1.2rem;
  display: flex;
  flex-direction: column;
  box-shadow: 0 6px 24px rgba(15, 23, 42, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.slab-pitch-room-next-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.08);
  border-color: #cbd5e1;
}
.slab-pitch-room-next-card--featured {
  border-color: rgba(124, 58, 237, 0.35);
  background: linear-gradient(165deg, #faf5ff 0%, #ffffff 48%, #f5f3ff 100%);
  box-shadow:
    0 10px 40px rgba(124, 58, 237, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.slab-pitch-room-next-card--featured:hover {
  border-color: rgba(124, 58, 237, 0.5);
  box-shadow: 0 16px 44px rgba(124, 58, 237, 0.18);
}
.slab-pitch-room-next-card--mvp {
  border-color: rgba(37, 99, 235, 0.22);
}
.slab-pitch-room-next-card__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75rem;
  background: linear-gradient(145deg, #eff6ff, #e0e7ff);
  color: #1d4ed8;
  font-size: 1.05rem;
  border: 1px solid rgba(37, 99, 235, 0.12);
}
.slab-pitch-room-next-card--featured .slab-pitch-room-next-card__icon {
  background: linear-gradient(145deg, #ede9fe, #ddd6fe);
  color: #6d28d9;
  border-color: rgba(124, 58, 237, 0.2);
}
.slab-pitch-room-next-card--mvp .slab-pitch-room-next-card__icon {
  background: linear-gradient(145deg, #dbeafe, #bfdbfe);
  color: #1e40af;
}
.slab-pitch-room-next-card__badge {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #7c3aed, #6d28d9);
  color: #fff;
  box-shadow: 0 2px 10px rgba(124, 58, 237, 0.35);
}
.slab-pitch-room-next-card__badge--priority {
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  box-shadow: 0 2px 10px rgba(37, 99, 235, 0.35);
}
.slab-pitch-room-next-card__title {
  font-size: 1.08rem;
  font-weight: 800;
  color: #0f172a;
  padding-right: 4.5rem;
  margin-bottom: 0.45rem;
  letter-spacing: -0.015em;
}
.slab-pitch-room-next-card__text {
  font-size: 0.87rem;
  color: #64748b;
  margin-bottom: 0.7rem;
  line-height: 1.5;
}
.slab-pitch-room-next-card__includes {
  color: #475569;
  margin-bottom: 1rem;
  flex: 1;
}
.slab-pitch-room-next-card__includes li {
  margin-bottom: 0.25rem;
  font-size: 0.82rem;
}
.slab-pitch-room-next-card__includes .bi-check2 { color: #22c55e; }
.slab-pitch-room-next-card__foot { margin-top: auto; }
.slab-pitch-room-next-card__cta {
  border-radius: 12px;
  font-weight: 700;
  padding: 0.55rem 1rem;
}
.slab-pitch-room-next-card--featured .slab-pitch-room-next-card__cta.btn-primary {
  background: linear-gradient(135deg, #7c3aed, #6d28d9);
  border: none;
}
.slab-pitch-room-next-card--featured .slab-pitch-room-next-card__cta.btn-primary:hover {
  background: linear-gradient(135deg, #6d28d9, #5b21b6);
}
.slab-pitch-room-next-card__price {
  display: block;
  text-align: center;
  font-size: 0.76rem;
  color: #64748b;
  margin-top: 0.55rem;
  font-weight: 600;
}
.slab-pitch-room-operating {
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 55%, #312e81 100%);
  border: none;
  color: #e2e8f0;
}
.slab-pitch-room-operating .slab-pitch-room-card__title,
.slab-pitch-room-operating .slab-pitch-room-card__lead { color: #e2e8f0; }
.slab-pitch-room-operating__features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.25rem 0.5rem;
  color: #cbd5e1;
}
.slab-pitch-room-operating__cta {
  border-color: rgba(167, 139, 250, 0.6);
  color: #e9d5ff;
}
.slab-pitch-room-operating__cta:hover {
  background: rgba(167, 139, 250, 0.15);
  color: #fff;
}
.slab-pitch-room-materials__group-title {
  font-size: 0.88rem;
  font-weight: 800;
  color: #334155;
  margin-bottom: 0.5rem;
}
.slab-pitch-room-advanced {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
  overflow: hidden;
}
.slab-pitch-room-advanced > summary {
  cursor: pointer;
  padding: 0.85rem 1.1rem;
  font-weight: 700;
  font-size: 0.9rem;
  color: #475569;
  list-style: none;
}
.slab-pitch-room-advanced > summary::-webkit-details-marker { display: none; }
.slab-pitch-room-advanced__body {
  padding: 0 1.1rem 1.1rem;
  border-top: 1px solid #e2e8f0;
  background: #fff;
}
.slab-page--startup-room .slab-pitch-tab-content { padding-bottom: 1.5rem; }
.slab-pitch-room-monetization {
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1rem 1.15rem;
}
.slab-pitch-room-monetization__summary {
  font-size: 0.9rem;
  color: #475569;
  max-width: 46rem;
}
.slab-pitch-room-monetization__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.55rem;
}
.slab-pitch-room-monetization__tier {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 0.55rem 0.65rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.slab-pitch-room-monetization__tier-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #64748b;
}
.slab-pitch-room-monetization__tier-price {
  font-size: 0.95rem;
  color: #1e3a8a;
}
.slab-pitch-room-monetization__tier-note {
  font-size: 0.72rem;
  color: #94a3b8;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .slab-pitch-room-hero__ctas .btn-lg {
    width: 100%;
    justify-content: center;
  }
  .slab-pitch-room-next-card__title { padding-right: 0; padding-top: 1.5rem; }
  .slab-pitch-room-next-card__badge {
    top: 0.65rem;
    left: 0.85rem;
    right: auto;
  }
}

/* FAQ principianti — Startup Room */
.slab-startup-faq__accordion .accordion-item {
  border-color: #e2e8f0;
}
.slab-startup-faq__accordion .accordion-button {
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.85rem 1rem;
  background: #f8fafc;
}
.slab-startup-faq__accordion .accordion-button:not(.collapsed) {
  color: #1e3a8a;
  background: #eff6ff;
  box-shadow: none;
}
.slab-startup-faq__accordion .accordion-body {
  color: #475569;
  line-height: 1.55;
}
.slab-materials-item__status-badge {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Startup Room — accordion secondari + materiali compatti */
.slab-room-accordions {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-top: 0.25rem;
}
.slab-room-accordion {
  background: #fff;
  border: 1px solid #e8edf5;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.slab-room-accordion:hover {
  border-color: #cbd5e1;
}
.slab-room-accordion > summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 0.92rem;
  color: #334155;
  padding: 0.9rem 1.15rem;
  list-style: none;
  background: linear-gradient(180deg, #fafbfc 0%, #f8fafc 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  user-select: none;
}
.slab-room-accordion > summary::after {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid #94a3b8;
  border-bottom: 2px solid #94a3b8;
  transform: rotate(45deg);
  transition: transform 0.2s ease, border-color 0.2s ease;
  flex-shrink: 0;
  margin-right: 0.15rem;
}
.slab-room-accordion[open] > summary::after {
  transform: rotate(-135deg);
  border-color: #6366f1;
  margin-top: 0.2rem;
}
.slab-room-accordion__label {
  display: inline-flex;
  align-items: center;
  color: #1e293b;
}
.slab-room-accordion__label .bi {
  color: #6366f1;
  font-size: 1rem;
}
.slab-room-accordion > summary::-webkit-details-marker { display: none; }
.slab-room-accordion[open] {
  border-color: rgba(99, 102, 241, 0.25);
  box-shadow: 0 8px 28px rgba(99, 102, 241, 0.08);
}
.slab-room-accordion[open] > summary {
  border-bottom: 1px solid #e8edf5;
  color: #312e81;
  background: linear-gradient(180deg, #f5f3ff 0%, #faf5ff 100%);
}
.slab-room-accordion__body {
  padding: 0.9rem 1.15rem 1.15rem;
  background: #fff;
}
.slab-room-accordion__body .slab-pitch-room-card,
.slab-room-accordion__body .slab-pitch-svi-sync,
.slab-room-accordion__body .slab-pitch-room-operating {
  border: none;
  box-shadow: none;
  padding: 0;
  margin-bottom: 0 !important;
}
.slab-pitch-room-materials--compact {
  padding: 1.2rem 1.3rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
}
.slab-pitch-room-materials__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem 1.25rem;
  margin-bottom: 1.1rem;
}
.slab-pitch-room-materials__head-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
}
.slab-pitch-room-materials__ring {
  --mat-pct: 70;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at center, #fff 56%, transparent 57%),
    conic-gradient(
      #2563eb 0%,
      #7c3aed calc(var(--mat-pct) * 1%),
      #e2e8f0 calc(var(--mat-pct) * 1%),
      #e2e8f0 100%
    );
  box-shadow: 0 4px 16px rgba(37, 99, 235, 0.12);
}
.slab-pitch-room-materials__ring-num {
  font-size: 0.72rem;
  font-weight: 800;
  color: #1e3a8a;
  letter-spacing: -0.02em;
}
.slab-pitch-room-materials__highlights {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.slab-pitch-room-materials__highlight {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.75rem;
  border-radius: 12px;
  background: linear-gradient(180deg, #fafbfc 0%, #f8fafc 100%);
  border: 1px solid #e8edf5;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.slab-pitch-room-materials__highlight:hover {
  border-color: #cbd5e1;
  background: #fff;
}
.slab-pitch-room-materials__highlight--ready .slab-pitch-room-materials__highlight-check { color: #16a34a; }
.slab-pitch-room-materials__highlight--locked .slab-pitch-room-materials__highlight-check { color: #d97706; }
.slab-pitch-room-materials__highlight-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: #2563eb;
  font-size: 0.95rem;
  flex-shrink: 0;
}
.slab-pitch-room-materials__highlight-label {
  font-weight: 700;
  font-size: 0.88rem;
  color: #0f172a;
}
.slab-pitch-room-materials__format {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  border: 1px solid #e2e8f0;
}
.slab-materials-dl-btn {
  border-radius: 999px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  padding: 0.2rem 0.55rem !important;
  border-color: #cbd5e1 !important;
  color: #475569 !important;
  background: #fff !important;
}
.slab-materials-dl-btn:hover {
  border-color: #93c5fd !important;
  color: #1d4ed8 !important;
  background: #eff6ff !important;
}
.slab-pitch-room-materials__all > summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 0.86rem;
  color: #4338ca;
  padding: 0.45rem 0;
  list-style: none;
  display: inline-flex;
  align-items: center;
}
.slab-pitch-room-materials__all > summary:hover { color: #312e81; }
.slab-pitch-room-materials__all > summary::-webkit-details-marker { display: none; }
.slab-startup-faq--compact .accordion-button {
  padding: 0.7rem 0.85rem;
  font-size: 0.85rem;
}
.slab-page--startup-room .slab-pitch-sticky {
  border-top: 2px solid transparent;
  border-image: linear-gradient(90deg, #2563eb, #7c3aed, #2563eb) 1;
  background: rgba(255, 255, 255, 0.97);
}
@media (max-width: 900px) {
  .slab-pitch-room-hero__grid {
    grid-template-columns: 1fr;
  }
  .slab-pitch-room-hero__score {
    order: -1;
    display: flex;
    justify-content: flex-start;
  }
  .slab-pitch-room-score-ring {
    width: 6.5rem;
    height: 6.5rem;
  }
  .slab-pitch-room-materials__head-meta {
    align-items: flex-start;
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media (max-width: 768px) {
  .slab-pitch-room-hero__ctas .btn-lg {
    width: 100%;
    justify-content: center;
  }
  .slab-pitch-room-next-card__title { padding-right: 0; padding-top: 1.65rem; }
  .slab-pitch-room-next-card__badge {
    top: 0.65rem;
    left: 0.85rem;
    right: auto;
  }
  .slab-pitch-room-next-card__icon { margin-top: 0.25rem; }
}

/* Solution page utente semplificata */
.sp-page--user-home { max-width: 820px; }
.sp-demo-embed {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1rem 1.15rem 1.15rem;
  margin-bottom: 1.25rem;
}
.sp-demo-embed__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.sp-demo-embed__head h2 { font-size: 1.05rem; font-weight: 700; margin: 0 0 0.2rem; }
.sp-demo-embed__head p { font-size: 0.85rem; color: #64748b; margin: 0; max-width: 28rem; }
.sp-demo-embed__frame-wrap {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #cbd5e1;
  background: #0f172a;
  min-height: 420px;
}
.sp-demo-embed__frame { width: 100%; height: min(68vh, 520px); border: 0; display: block; }
.sp-demo-launch { margin-bottom: 1.25rem; }
.sp-demo-launch__card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%);
  border: 1px solid #bfdbfe;
  border-radius: 16px;
  padding: 1.25rem 1.35rem;
}
.sp-demo-launch__copy h2 { font-size: 1.15rem; font-weight: 700; margin: 0 0 0.35rem; color: #1e3a8a; }
.sp-demo-launch__copy p { font-size: 0.9rem; color: #475569; margin: 0; max-width: 32rem; }
.sp-section--modifica { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 14px; padding: 1.25rem; margin-bottom: 1rem; }

/* Solution — card in evidenza «Richiedi una modifica» */
.sp-modifica-feature {
  position: relative;
  overflow: hidden;
  margin: 1.35rem 0 1.5rem;
  border-radius: 18px;
  border: 2px solid rgba(245, 158, 11, 0.45);
  background: linear-gradient(135deg, #fffbeb 0%, #fff7ed 38%, #ffffff 100%);
  box-shadow:
    0 0 0 1px rgba(251, 191, 36, 0.12),
    0 14px 40px rgba(180, 83, 9, 0.1);
}
.sp-modifica-feature__glow {
  position: absolute;
  top: -40%;
  right: -15%;
  width: 45%;
  height: 160%;
  background: radial-gradient(circle, rgba(251, 191, 36, 0.22) 0%, transparent 68%);
  pointer-events: none;
}
.sp-modifica-feature__inner {
  position: relative;
  padding: 1.35rem 1.45rem 1.4rem;
}
.sp-modifica-feature__head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
  margin-bottom: 1.15rem;
}
.sp-modifica-feature__icon {
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  color: #b45309;
  background: linear-gradient(145deg, #fef3c7 0%, #fde68a 100%);
  border: 1px solid rgba(245, 158, 11, 0.35);
  box-shadow: 0 6px 18px rgba(245, 158, 11, 0.18);
}
.sp-modifica-feature__kicker {
  margin: 0 0 0.2rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b45309;
}
.sp-modifica-feature__title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.15rem, 2.8vw, 1.45rem);
  font-weight: 800;
  color: #78350f;
  letter-spacing: -0.02em;
}
.sp-modifica-feature__lead {
  font-size: 0.88rem;
  color: #92400e;
  line-height: 1.5;
  max-width: 40rem;
}
.sp-modifica-feature__form {
  padding-top: 0.15rem;
  border-top: 1px dashed rgba(245, 158, 11, 0.35);
}
.sp-modifica-feature__form .form-label {
  font-weight: 600;
  color: #78350f;
}
.sp-modifica-feature__form .form-control {
  border-color: rgba(245, 158, 11, 0.35);
}
.sp-modifica-feature__form .form-control:focus {
  border-color: #f59e0b;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18);
}
.sp-modifica-feature__submit {
  font-weight: 700;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  background: linear-gradient(135deg, #ea580c 0%, #d97706 100%);
  border: none;
  box-shadow: 0 6px 20px rgba(234, 88, 12, 0.28);
}
.sp-modifica-feature__submit:hover {
  background: linear-gradient(135deg, #c2410c 0%, #b45309 100%);
  box-shadow: 0 8px 24px rgba(234, 88, 12, 0.35);
}
.sp-modifica-feature__pending {
  margin: 0;
  border-color: rgba(59, 130, 246, 0.25);
  background: rgba(239, 246, 255, 0.85);
}
@media (max-width: 560px) {
  .sp-modifica-feature__head { grid-template-columns: 1fr; }
  .sp-modifica-feature__icon { width: 2.5rem; height: 2.5rem; font-size: 1.1rem; }
}
.sp-details--minimal { margin-top: 1rem; }
.sp-workflow--compact { font-size: 0.85rem; padding-left: 1.1rem; }
.sp-badge--phase { background: #dcfce7; color: #166534; }
.sp-badge--warn { background: #fef3c7; color: #92400e; }

/* Pagina solution — focus demo (niente navigazione laterale) */
body:has(.sp-page--demo-focus) #sirius-shell-nav,
body:has(.sp-page--demo-focus) .sirius-mobile-bar { display: none !important; }
body:has(.sp-page--demo-focus) .app-content { margin-left: 0 !important; max-width: 100%; }
.sp-page--demo-focus { max-width: 960px; margin: 0 auto; padding-bottom: 2rem; }
.sp-details--technical .sp-details__body { padding-top: 0.5rem; }
.sp-tech__heading { font-size: 0.92rem; font-weight: 700; color: #334155; margin: 1rem 0 0.35rem; }
.sp-tech-signals li { margin-bottom: 0.2rem; }
.sp-priority-options { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; }
@media (max-width: 560px) { .sp-priority-options { grid-template-columns: 1fr; } }
.sp-priority-option { margin: 0; cursor: pointer; }
.sp-priority-option input { position: absolute; opacity: 0; pointer-events: none; }
.sp-priority-option__box {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.75rem 0.85rem;
  border: 2px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  height: 100%;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.sp-priority-option input:checked + .sp-priority-option__box {
  border-color: #4f46e5;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}
.sp-priority-option__box strong { font-size: 0.9rem; color: #1e293b; }
.sp-priority-option__box .text-muted { font-size: 0.78rem; }

/* Fase 2 scelta percorso */
.sp-page--phase2-choose { max-width: 720px; margin: 0 auto; padding: 1.25rem 1rem 3rem; }
.sp-phase2-choose__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.5rem 0; }
@media (max-width: 700px) { .sp-phase2-choose__grid { grid-template-columns: 1fr; } }
.sp-phase2-card { cursor: pointer; margin: 0; }
.sp-phase2-card input { position: absolute; opacity: 0; pointer-events: none; }
.sp-phase2-card__inner {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  height: 100%;
  padding: 1.15rem;
  border: 2px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.sp-phase2-card input:checked + .sp-phase2-card__inner {
  border-color: #4f46e5;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
}
.sp-phase2-card__icon { font-size: 1.5rem; color: #4f46e5; }
.sp-phase2-card__price { font-weight: 700; color: #4f46e5; font-size: 0.9rem; }
.sp-phase2-card p { font-size: 0.85rem; color: #475569; margin: 0; }
.sp-phase2-card__hint { font-size: 0.78rem; color: #94a3b8; margin-top: auto; }
.sp-phase2-choose__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }

/* Solution → Startup bridge banner */
.sp-startup-bridge-banner {
  margin: 1.5rem 0 0;
  padding: 1.35rem 1.5rem;
  border-radius: 14px;
  background: linear-gradient(135deg, #eff6ff 0%, #f5f3ff 55%, #eef2ff 100%);
  border: 1px solid rgba(99, 102, 241, 0.25);
  box-shadow: 0 8px 28px rgba(30, 64, 175, 0.08);
}
.sp-startup-bridge-banner__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: center;
  justify-content: space-between;
}
.sp-startup-bridge-banner__kicker {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #4f46e5;
  font-weight: 700;
  margin: 0 0 0.35rem;
}
.sp-startup-bridge-banner__title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 0.35rem;
}
.sp-startup-bridge-banner__text {
  font-size: 0.9rem;
  color: #475569;
  max-width: 42rem;
}

/* Solution hub — home progetto (Sirius Detector style) */
.sp-hub { max-width: 880px; }
.sp-hub-hero {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  margin-bottom: 1.35rem;
  background: linear-gradient(135deg, #0f1425 0%, #1e3a5f 42%, #1e40af 100%);
  color: #fff;
  box-shadow: 0 18px 48px rgba(15, 20, 37, 0.22);
}
.sp-hub-hero__glow {
  position: absolute;
  inset: -40% -20% auto auto;
  width: 55%;
  height: 140%;
  background: radial-gradient(circle, rgba(0, 198, 255, 0.18) 0%, transparent 68%);
  pointer-events: none;
}
.sp-hub-hero__inner { position: relative; padding: 1.65rem 1.75rem 1.5rem; }
.sp-hub-hero__brand {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sp-hub-hero__brand-mark { font-weight: 800; color: #7dd3fc; }
.sp-hub-hero__brand-sub { color: rgba(255, 255, 255, 0.55); font-weight: 600; }
.sp-hub-hero__kicker {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(191, 219, 254, 0.85);
  margin: 0 0 0.35rem;
}
.sp-hub-hero__title {
  font-size: clamp(1.55rem, 3.8vw, 2.15rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 0.55rem;
  letter-spacing: -0.02em;
}
.sp-hub-hero__lead {
  margin: 0;
  max-width: 38rem;
  color: rgba(226, 232, 240, 0.92);
  line-height: 1.55;
  font-size: 0.95rem;
}
.sp-hub-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1rem;
}
.sp-hub-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.28rem 0.6rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #e2e8f0;
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.sp-hub-badge--ok { background: rgba(16, 185, 129, 0.2); color: #a7f3d0; border-color: rgba(16, 185, 129, 0.35); }
.sp-hub-badge--warn { background: rgba(245, 158, 11, 0.2); color: #fde68a; border-color: rgba(245, 158, 11, 0.35); }
.sp-hub-badge--muted { opacity: 0.85; }

.sp-hub-actions {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-bottom: 1.25rem;
}
.sp-hub-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.85rem;
  align-items: center;
  padding: 1rem 1.1rem;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.sp-hub-card:hover {
  border-color: #93c5fd;
  box-shadow: 0 8px 24px rgba(30, 58, 138, 0.08);
  transform: translateY(-1px);
  color: inherit;
}
.sp-hub-card--primary {
  border-color: #3b82f6;
  background: linear-gradient(135deg, #eff6ff 0%, #fff 55%);
}
.sp-hub-card--primary .sp-hub-card__title { color: #1e3a8a; }
.sp-hub-card--soft { background: #f8fafc; }
.sp-hub-card__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 1.15rem;
}
.sp-hub-card__icon--indigo { background: #e0e7ff; color: #4338ca; }
.sp-hub-card__icon--slate { background: #f1f5f9; color: #475569; }
.sp-hub-card__body { min-width: 0; }
.sp-hub-card__title { display: block; font-size: 0.95rem; font-weight: 800; color: #0f172a; margin-bottom: 0.15rem; }
.sp-hub-card__desc { display: block; font-size: 0.82rem; color: #64748b; line-height: 1.45; }
.sp-hub-card__arrow { color: #94a3b8; font-size: 1rem; }
.sp-hub-status { padding: 0 0.15rem; }

/* Project Delivery Hub */
.pdh-hub { max-width: 920px; }
.pdh-breadcrumb { margin-bottom: 0.5rem; }
.pdh-section-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 0.35rem;
}
.pdh-section-lead {
  font-size: 0.88rem;
  color: #64748b;
  margin: 0 0 1rem;
}
.pdh-journey {
  margin-bottom: 1.75rem;
  padding: 1.25rem 1.35rem;
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.pdh-journey__track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.pdh-journey__step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid transparent;
}
.pdh-journey__step--current {
  background: #eff6ff;
  border-color: #93c5fd;
}
.pdh-journey__step--done {
  background: #f0fdf4;
  border-color: #bbf7d0;
}
.pdh-journey__dot {
  width: 0.65rem;
  height: 0.65rem;
  margin-top: 0.35rem;
  border-radius: 50%;
  background: #94a3b8;
}
.pdh-journey__step--current .pdh-journey__dot { background: #2563eb; box-shadow: 0 0 0 4px rgba(37,99,235,0.15); }
.pdh-journey__step--done .pdh-journey__dot { background: #16a34a; }
.pdh-journey__copy strong { display: block; font-size: 0.88rem; color: #0f172a; }
.pdh-journey__copy span { display: block; font-size: 0.78rem; color: #64748b; margin-top: 0.15rem; }
.pdh-mvp-sheet-wrap { margin-bottom: 1.75rem; }
.pdh-mvp-sheet-wrap .pr-mvp-sheet { margin-bottom: 0; }
.pdh-mvp-cta {
  margin-bottom: 2rem;
  background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
  border-radius: 1rem;
  color: #e2e8f0;
}
.pdh-mvp-cta__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem 1.5rem;
}
.pdh-mvp-cta__kicker {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #7dd3fc;
  margin: 0 0 0.25rem;
}
.pdh-mvp-cta__title { font-size: 1.15rem; font-weight: 800; color: #fff; margin: 0 0 0.35rem; }
.pdh-mvp-cta__text { font-size: 0.88rem; color: rgba(226,232,240,0.85); }
.sp-hub-card__icon--amber { background: #fef3c7; color: #b45309; }

@media (min-width: 720px) {
  .sp-hub-actions { gap: 0.75rem; }
}

/* Startup Room hero v2 + sticky emphasis */
.slab-pitch-room-hero--v2 .slab-pitch-room-hero__ctas--primary {
  gap: 0.65rem;
}
.slab-pitch-room-cta--save {
  font-weight: 700;
  box-shadow: 0 4px 18px rgba(255, 255, 255, 0.25);
}
.slab-pitch-sticky__actions--emphasis .slab-pitch-sticky-save {
  font-weight: 700;
  padding-left: 1rem;
  padding-right: 1rem;
  box-shadow: 0 2px 10px rgba(37, 99, 235, 0.35);
}
.slab-pitch-sticky__actions--emphasis .slab-pitch-sticky-download {
  font-weight: 600;
  border-width: 2px;
}

/* —— Startup Room v3 — dashboard da demo —— */
.slab-page--startup-room-v3 {
  background:
    radial-gradient(ellipse 80% 45% at 12% -8%, rgba(16, 185, 129, 0.09) 0%, transparent 55%),
    radial-gradient(ellipse 70% 40% at 92% 4%, rgba(99, 102, 241, 0.08) 0%, transparent 52%),
    linear-gradient(180deg, #f0fdf4 0%, #f8fafc 120px, #ffffff 280px);
}
.slab-path-badge--startup-room-v3 {
  background: linear-gradient(135deg, rgba(6, 78, 59, 0.06), rgba(99, 102, 241, 0.1));
  border: 1px solid rgba(16, 185, 129, 0.28);
  color: #065f46;
  font-weight: 700;
}
.slab-room-demo-origin {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1rem;
  margin-bottom: 1.15rem;
  padding: 0.85rem 1.1rem;
  border-radius: 14px;
  background: linear-gradient(135deg, #0f172a 0%, #134e4a 55%, #1e3a5f 100%);
  color: #ecfdf5;
  border: 1px solid rgba(52, 211, 153, 0.28);
  box-shadow: 0 10px 32px rgba(15, 23, 42, 0.14);
}
.slab-room-demo-origin__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(16, 185, 129, 0.18);
  color: #6ee7b7;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.slab-room-demo-origin__copy {
  flex: 1;
  min-width: 12rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  font-size: 0.84rem;
  line-height: 1.45;
  color: rgba(209, 250, 229, 0.92);
}
.slab-room-demo-origin__copy strong {
  font-size: 0.92rem;
  color: #fff;
}
.slab-room-demo-origin__back {
  border-color: rgba(167, 243, 208, 0.45) !important;
  color: #d1fae5 !important;
  font-weight: 600;
  white-space: nowrap;
}
.slab-room-demo-origin__back:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}
.slab-page--startup-room-v3 .slab-pitch-room-hero--v3 {
  border: 1px solid rgba(52, 211, 153, 0.22);
  background: linear-gradient(135deg, #020617 0%, #0f172a 28%, #134e4a 72%, #1e1b4b 100%);
  box-shadow:
    0 0 0 1px rgba(16, 185, 129, 0.08),
    0 22px 56px rgba(2, 6, 23, 0.28);
}
.slab-page--startup-room-v3 .slab-pitch-room-hero--v3 .slab-pitch-brand-mark__icon {
  background: linear-gradient(145deg, rgba(16, 185, 129, 0.25), rgba(99, 102, 241, 0.2));
  border-color: rgba(52, 211, 153, 0.35);
  color: #6ee7b7;
}
.slab-page--startup-room-v3 .slab-pitch-room-hero--v3 .slab-title {
  max-width: none;
  background: linear-gradient(90deg, #fff 0%, #a7f3d0 55%, #c4b5fd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.slab-page--startup-room-v3 .slab-pitch-room-score-ring {
  background:
    radial-gradient(circle at center, rgba(2, 6, 23, 0.72) 58%, transparent 59%),
    conic-gradient(
      #34d399 0%,
      #60a5fa calc(var(--score-pct) * 1%),
      rgba(255, 255, 255, 0.1) calc(var(--score-pct) * 1%),
      rgba(255, 255, 255, 0.1) 100%
    );
  box-shadow:
    0 0 0 1px rgba(52, 211, 153, 0.3),
    0 14px 36px rgba(2, 6, 23, 0.35);
}
.slab-page--startup-room-v3 .slab-pitch-room-cta--save {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 6px 22px rgba(16, 185, 129, 0.35);
}
.slab-page--startup-room-v3 .slab-pitch-room-cta--save:hover {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  transform: translateY(-1px);
}
.slab-page--startup-room-v3 .slab-pitch-room-cta--download {
  border-color: rgba(167, 243, 208, 0.5) !important;
  color: #d1fae5 !important;
  font-weight: 700;
}
.slab-pitch-saved-banner--v3 {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: 1.15rem;
  padding: 0.95rem 1.15rem;
  border-radius: 14px;
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  border: 1px solid rgba(16, 185, 129, 0.35);
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.12);
}
.slab-pitch-saved-banner--v3 .slab-pitch-saved-banner__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #10b981;
  color: #fff;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.slab-pitch-saved-banner--v3 .slab-pitch-saved-banner__copy {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  font-size: 0.86rem;
  color: #065f46;
  line-height: 1.45;
}
.slab-pitch-saved-banner--v3 .slab-pitch-saved-banner__copy strong {
  font-size: 0.95rem;
  color: #064e3b;
}
.slab-page--startup-room-v3 .slab-pitch-room-section__kicker {
  color: #059669;
}
.slab-page--startup-room-v3 .slab-pitch-room-next-card {
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  background: #fff;
  padding: 1.15rem 1.2rem 1.2rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.slab-page--startup-room-v3 .slab-pitch-room-next-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  border-color: #a7f3d0;
}
.slab-page--startup-room-v3 .slab-pitch-room-next-card--featured {
  border: 2px solid rgba(16, 185, 129, 0.45);
  background: linear-gradient(160deg, #ecfdf5 0%, #fff 45%);
  box-shadow: 0 12px 36px rgba(16, 185, 129, 0.12);
}
.slab-page--startup-room-v3 .slab-pitch-room-next-card--mvp {
  border-color: rgba(99, 102, 241, 0.35);
  background: linear-gradient(160deg, #eef2ff 0%, #fff 50%);
}
.slab-page--startup-room-v3 .slab-pitch-room-next-card__icon {
  background: linear-gradient(145deg, #d1fae5, #a7f3d0);
  color: #047857;
}
.slab-page--startup-room-v3 .slab-pitch-room-next-card--mvp .slab-pitch-room-next-card__icon {
  background: linear-gradient(145deg, #e0e7ff, #c7d2fe);
  color: #4338ca;
}
.slab-page--startup-room-v3 .slab-pitch-room-materials--compact {
  border-left: 4px solid #10b981;
  background: linear-gradient(135deg, #fff 0%, #f0fdf4 100%);
}
.slab-page--startup-room-v3 .slab-pitch-room-materials__highlight {
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid #e2e8f0;
}
.slab-page--startup-room-v3 .slab-room-accordion {
  border-radius: 14px;
  border-color: #e2e8f0;
}
.slab-page--startup-room-v3 .slab-room-accordion > summary {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}
.slab-page--startup-room-v3 .slab-room-accordion[open] > summary {
  background: linear-gradient(180deg, #ecfdf5 0%, #f0fdf4 100%);
  color: #065f46;
  border-bottom-color: rgba(16, 185, 129, 0.2);
}
.slab-page--startup-room-v3 .slab-room-accordion__label .bi {
  color: #059669;
}
.slab-page--startup-room-v3 .slab-pitch-sticky {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(16, 185, 129, 0.2);
  box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.06);
}
@media (max-width: 768px) {
  .slab-room-demo-origin { flex-direction: column; align-items: flex-start; }
  .slab-room-demo-origin__back { width: 100%; }
}

/* —— Startup Room: Operating upsell + MVP demo panel —— */
.slab-room-growth-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.35rem;
}
.slab-operating-upsell {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(99, 102, 241, 0.22);
  background: linear-gradient(145deg, #ffffff 0%, #f5f3ff 42%, #eef2ff 100%);
  box-shadow: 0 12px 40px rgba(79, 70, 229, 0.1);
}
.slab-operating-upsell__glow {
  position: absolute;
  top: -35%;
  left: -8%;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.16) 0%, transparent 68%);
  pointer-events: none;
}
.slab-operating-upsell__inner {
  position: relative;
  padding: 1.35rem 1.4rem 1.3rem;
}
.slab-operating-upsell__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem 1.15rem;
  align-items: start;
  margin-bottom: 1.1rem;
}
.slab-operating-upsell__badge {
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 1.25rem;
  color: #4f46e5;
  background: linear-gradient(145deg, #e0e7ff, #c7d2fe);
  border: 1px solid rgba(99, 102, 241, 0.25);
  box-shadow: 0 6px 18px rgba(99, 102, 241, 0.15);
}
.slab-operating-upsell__kicker {
  margin: 0 0 0.2rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6366f1;
}
.slab-operating-upsell__title {
  margin: 0 0 0.3rem;
  font-size: clamp(1.1rem, 2.5vw, 1.4rem);
  font-weight: 800;
  color: #1e1b4b;
  letter-spacing: -0.02em;
}
.slab-operating-upsell__lead {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.5;
  max-width: 36rem;
}
.slab-operating-upsell__price {
  text-align: right;
  padding: 0.55rem 0.75rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(99, 102, 241, 0.2);
  min-width: 8.5rem;
}
.slab-operating-upsell__price-label {
  display: block;
  font-size: 1rem;
  font-weight: 800;
  color: #4338ca;
  line-height: 1.2;
}
.slab-operating-upsell__price-note {
  display: block;
  font-size: 0.68rem;
  color: #64748b;
  margin-top: 0.1rem;
}
.slab-operating-upsell__features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.55rem;
  margin-bottom: 1.1rem;
}
.slab-operating-upsell__feature {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.65rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(226, 232, 240, 0.95);
  font-size: 0.8rem;
  font-weight: 600;
  color: #334155;
}
.slab-operating-upsell__feature-icon {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: #eef2ff;
  color: #4f46e5;
  font-size: 0.85rem;
}
.slab-operating-upsell__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  padding-top: 0.85rem;
  border-top: 1px dashed rgba(99, 102, 241, 0.22);
}
.slab-operating-upsell__cta {
  font-weight: 700;
  padding-left: 1.15rem;
  padding-right: 1.15rem;
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
  border: none;
  box-shadow: 0 6px 20px rgba(79, 70, 229, 0.28);
}
.slab-operating-upsell__cta:hover {
  background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
}
.slab-operating-upsell__foot-note {
  font-size: 0.78rem;
  color: #64748b;
}

.slab-mvp-panel {
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(16, 185, 129, 0.28);
  box-shadow: 0 14px 42px rgba(5, 150, 105, 0.12);
}
.slab-mvp-panel__inner {
  display: grid;
  grid-template-columns: minmax(10rem, 13rem) 1fr;
  min-height: 12rem;
  background: linear-gradient(135deg, #ecfdf5 0%, #ffffff 38%, #f0fdf4 100%);
}
.slab-mvp-panel__visual {
  position: relative;
  display: flex;
  flex-direction: column;
  background: linear-gradient(160deg, #064e3b 0%, #047857 55%, #0f766e 100%);
  padding: 0.85rem 0.85rem 1rem;
}
.slab-mvp-panel__browser {
  display: flex;
  gap: 0.3rem;
  margin-bottom: 0.65rem;
}
.slab-mvp-panel__browser-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
}
.slab-mvp-panel__browser-dot:first-child { background: #fca5a5; }
.slab-mvp-panel__browser-dot:nth-child(2) { background: #fde68a; }
.slab-mvp-panel__browser-dot:nth-child(3) { background: #86efac; }
.slab-mvp-panel__preview {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.28);
  border: 1px solid rgba(167, 243, 208, 0.25);
  color: #a7f3d0;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.slab-mvp-panel__preview .bi {
  font-size: 2.2rem;
  color: #6ee7b7;
  filter: drop-shadow(0 4px 12px rgba(16, 185, 129, 0.35));
}
.slab-mvp-panel__body {
  padding: 1.25rem 1.35rem 1.2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.slab-mvp-panel__body--full {
  grid-column: 1 / -1;
}
.slab-mvp-panel__kicker {
  margin: 0 0 0.3rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #059669;
}
.slab-mvp-panel__kicker--live { color: #047857; }
.slab-mvp-panel__title {
  margin: 0 0 0.4rem;
  font-size: clamp(1.1rem, 2.4vw, 1.42rem);
  font-weight: 800;
  color: #064e3b;
  letter-spacing: -0.02em;
}
.slab-mvp-panel__lead {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: #334155;
  max-width: 38rem;
}
.slab-mvp-panel__lead strong { color: #065f46; }
.slab-mvp-panel__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
  margin-top: 1rem;
}
.slab-mvp-panel__btn {
  font-weight: 700;
}
.slab-mvp-panel__btn--primary {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  border: none;
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.28);
}
.slab-mvp-panel__btn--primary:hover {
  background: linear-gradient(135deg, #059669 0%, #047857 100%);
}
.slab-mvp-panel__link {
  color: #047857 !important;
  font-weight: 600;
  text-decoration: none;
}
.slab-mvp-panel__note {
  margin-top: 0.65rem !important;
  color: #64748b !important;
}

@media (max-width: 768px) {
  .slab-operating-upsell__head {
    grid-template-columns: auto 1fr;
  }
  .slab-operating-upsell__price {
    grid-column: 1 / -1;
    text-align: left;
    width: 100%;
  }
  .slab-mvp-panel__inner {
    grid-template-columns: 1fr;
  }
  .slab-mvp-panel__visual {
    min-height: 7.5rem;
  }
}

/* Solution request — pagina attesa demo (demo_wait_mode) */
.srs-page--wait {
  max-width: 640px;
  margin: 0 auto;
  padding-top: 0.5rem;
}
.srs-wait {
  padding: 0.5rem 0 2rem;
}
.srs-wait__card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(165deg, #0f172a 0%, #1e3a8a 48%, #1d4ed8 100%);
  color: #f8fafc;
  border-radius: 20px;
  padding: 2rem 1.75rem 1.75rem;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.srs-wait__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(96, 165, 250, 0.22) 0%, transparent 42%),
    radial-gradient(circle at 88% 8%, rgba(129, 140, 248, 0.18) 0%, transparent 38%);
  pointer-events: none;
}
.srs-wait__card > * { position: relative; z-index: 1; }
.srs-wait__visual {
  position: relative;
  width: 4.5rem;
  height: 4.5rem;
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.srs-wait__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(147, 197, 253, 0.35);
  animation: srs-wait-pulse 2.4s ease-in-out infinite;
}
.srs-wait__icon {
  font-size: 1.85rem;
  color: #bfdbfe;
  animation: srs-wait-tilt 2.8s ease-in-out infinite;
}
@keyframes srs-wait-pulse {
  0%, 100% { transform: scale(1); opacity: 0.55; }
  50% { transform: scale(1.08); opacity: 1; }
}
@keyframes srs-wait-tilt {
  0%, 100% { transform: rotate(-8deg); }
  50% { transform: rotate(8deg); }
}
.srs-wait__kicker {
  text-align: center;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #93c5fd;
  margin-bottom: 0.35rem;
}
.srs-wait__title {
  text-align: center;
  font-size: clamp(1.75rem, 5vw, 2.35rem);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 0.65rem;
  letter-spacing: -0.02em;
}
.srs-wait__status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #dbeafe;
  margin-bottom: 1.25rem;
}
.srs-wait__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.5);
  animation: srs-wait-blink 1.6s ease-in-out infinite;
}
@keyframes srs-wait-blink {
  0%, 100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.45); }
  50% { box-shadow: 0 0 0 8px rgba(74, 222, 128, 0); }
}
.srs-wait__disclaimer {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  padding: 0.85rem 1rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #e2e8f0;
  margin-bottom: 1rem;
}
.srs-wait__notes {
  list-style: none;
  padding: 0;
  margin: 0 0 1.35rem;
  display: grid;
  gap: 0.55rem;
}
.srs-wait__notes li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.78rem;
  line-height: 1.45;
  color: #cbd5e1;
}
.srs-wait__notes li i {
  color: #93c5fd;
  margin-top: 0.1rem;
  flex-shrink: 0;
}
.srs-wait__email {
  background: #fff;
  color: #0f172a;
  border-radius: 14px;
  padding: 1.15rem 1.1rem;
  margin-bottom: 1rem;
}
.srs-wait__email-title {
  font-size: 1rem;
  font-weight: 800;
  margin: 0 0 0.25rem;
  color: #0f172a;
}
.srs-wait__email-lead {
  font-size: 0.78rem;
  color: #64748b;
  margin-bottom: 0.85rem;
}
.srs-wait__email-form {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
@media (min-width: 520px) {
  .srs-wait__email-form {
    flex-direction: row;
    align-items: stretch;
  }
  .srs-wait__email-input { flex: 1; }
  .srs-wait__email-btn { white-space: nowrap; }
}
.srs-wait__email-input {
  border-radius: 10px;
  border-color: #cbd5e1;
  font-size: 0.875rem;
}
.srs-wait__email-btn {
  border-radius: 10px;
  font-weight: 700;
  background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
  border: none;
  padding: 0.55rem 1rem;
}
.srs-wait__email-saved {
  margin-top: 0.65rem;
  font-size: 0.75rem;
  color: #166534;
}
.srs-wait__footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.25rem;
  padding-top: 0.25rem;
}
.srs-wait__link {
  font-size: 0.78rem;
  font-weight: 600;
  color: #dbeafe;
  text-decoration: none;
}
.srs-wait__link:hover { color: #fff; text-decoration: underline; }
.srs-wait__link--muted { color: #94a3b8; font-weight: 500; }
.srs-wait__legal {
  text-align: center;
  font-size: 0.68rem;
  color: #94a3b8;
  margin: 1rem 0 0;
}

/* Solution request — pagina demo consegnata (demo_ready_mode) */
.srs-page--demo {
  max-width: 680px;
  margin: 0 auto;
  padding-top: 0.5rem;
}
.srs-demo {
  padding: 0.5rem 0 2rem;
}
.srs-demo__card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(165deg, #0f172a 0%, #14532d 38%, #1d4ed8 100%);
  color: #f8fafc;
  border-radius: 20px;
  padding: 2rem 1.75rem 1.75rem;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.srs-demo__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(74, 222, 128, 0.2) 0%, transparent 40%),
    radial-gradient(circle at 85% 10%, rgba(96, 165, 250, 0.18) 0%, transparent 38%);
  pointer-events: none;
}
.srs-demo__card > * { position: relative; z-index: 1; }
.srs-demo__visual {
  position: relative;
  width: 4.5rem;
  height: 4.5rem;
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.srs-demo__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(134, 239, 172, 0.45);
  animation: srs-wait-pulse 2.4s ease-in-out infinite;
}
.srs-demo__icon {
  font-size: 1.85rem;
  color: #86efac;
}
.srs-demo__kicker {
  text-align: center;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #86efac;
  margin-bottom: 0.35rem;
}
.srs-demo__title {
  text-align: center;
  font-size: clamp(1.75rem, 5vw, 2.35rem);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 0.65rem;
  letter-spacing: -0.02em;
}
.srs-demo__status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #d1fae5;
  margin-bottom: 1rem;
}
.srs-demo__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.5);
  animation: srs-wait-blink 1.6s ease-in-out infinite;
}
.srs-demo__lead {
  text-align: center;
  font-size: 0.85rem;
  line-height: 1.55;
  color: #e2e8f0;
  margin-bottom: 1.35rem;
}
.srs-demo__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem;
  margin-bottom: 1.5rem;
}
.srs-demo__cta {
  border-radius: 12px;
  font-weight: 700;
  background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%);
  border: none;
  padding: 0.65rem 1.35rem;
}
.srs-demo__cta-secondary {
  border-radius: 12px;
  color: #e2e8f0;
  border-color: rgba(255, 255, 255, 0.35);
}
.srs-demo__modifica {
  background: #fff;
  color: #0f172a;
  border-radius: 14px;
  padding: 1.15rem 1.1rem 1.25rem;
  margin-bottom: 1rem;
}
.srs-demo__modifica-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: start;
  margin-bottom: 1rem;
}
.srs-demo__modifica-head > i {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 1.15rem;
}
.srs-demo__modifica-title {
  font-size: 1rem;
  font-weight: 800;
  margin: 0 0 0.2rem;
}
.srs-demo__modifica-lead {
  font-size: 0.78rem;
  color: #64748b;
}
.srs-demo__modifica .sp-modifica-feature__form { margin-top: 0; }
.srs-demo__modifica .sp-modifica-feature__submit {
  background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
  border: none;
}
.srs-demo__footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.25rem;
  padding-top: 0.25rem;
}
.srs-demo__link {
  font-size: 0.78rem;
  font-weight: 600;
  color: #dbeafe;
  text-decoration: none;
}
.srs-demo__link:hover { color: #fff; text-decoration: underline; }
.srs-demo__link--muted { color: #94a3b8; font-weight: 500; }
.srs-demo__legal {
  text-align: center;
  font-size: 0.68rem;
  color: #94a3b8;
  margin: 1rem 0 0;
}

/* Richiesta realizzazione MVP post-demo (repo mvp-proposal) */
.rpw-mvp-realization { margin-bottom: 2rem; }

.rpw-mvp-realization__promo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.5rem 1.75rem;
  margin-bottom: 1.5rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #0f766e 0%, #047857 45%, #065f46 100%);
  color: #ecfdf5;
  box-shadow: 0 12px 32px rgba(6, 95, 70, 0.25);
}

.rpw-mvp-realization__kicker {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #a7f3d0;
  margin-bottom: 0.35rem;
}

.rpw-mvp-realization__title {
  font-size: 1.35rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #fff;
}

.rpw-mvp-realization__lead {
  font-size: 0.92rem;
  color: #d1fae5;
  max-width: 38rem;
}

.rpw-mvp-realization__promo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.rpw-card--mvp-explainer {
  border-color: #e2e8f0;
  background: #f8fafc;
}

.rpw-card--mvp-request {
  border: 2px solid #0d9488;
  background: #fff;
}

.rpw-mvp-realization__form textarea {
  font-size: 0.9rem;
  resize: vertical;
  min-height: 8rem;
}

/* Project Room v1 — hub utente unificato */
.slab-page--project-room {
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 3rem;
}

.pr-hero {
  position: relative;
  margin-bottom: 1.75rem;
  padding: 2rem 1.75rem;
  border-radius: 1.25rem;
  background: linear-gradient(145deg, #0f172a 0%, #1e3a5f 55%, #1e40af 100%);
  color: #f8fafc;
  overflow: hidden;
}
.pr-hero__glow {
  position: absolute;
  inset: -40% 30% auto -20%;
  height: 120%;
  background: radial-gradient(circle, rgba(96, 165, 250, 0.35) 0%, transparent 65%);
  pointer-events: none;
}
.pr-hero__inner { position: relative; }
.pr-hero__kicker {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #93c5fd;
  margin-bottom: 0.35rem;
}
.pr-hero__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  margin-bottom: 0.65rem;
}
.pr-hero__lead {
  font-size: 0.95rem;
  color: rgba(226, 232, 240, 0.92);
  max-width: 42rem;
  margin-bottom: 1rem;
}
.pr-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.pr-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #e2e8f0;
}
.pr-badge--phase { background: rgba(59, 130, 246, 0.35); color: #dbeafe; }
.pr-badge--muted { background: rgba(15, 23, 42, 0.45); color: #94a3b8; font-weight: 500; }


.pr-hero__meta {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: rgba(191, 219, 254, 0.92);
}
.pr-hero__meta-sep {
  margin: 0 0.35rem;
  opacity: 0.7;
}

/* Project Room wait UX overrides */
.slab-page--project-room .pr-hero__badges,
.slab-page--project-room .pr-badge {
  display: none !important;
}
.slab-page--project-room .pr-next {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem 0 1.25rem;
  margin-bottom: 1.15rem;
  border: none !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.slab-page--project-room .pr-next__title {
  font-size: 1.2rem;
  font-weight: 800;
}
.slab-page--project-room .pr-timeline__steps {
  display: none !important;
}
.pr-roadmap {
  list-style: none;
  display: flex;
  align-items: flex-start;
  margin: 0;
  padding: 0.35rem 0 0;
  pointer-events: none;
  user-select: none;
  cursor: default;
}
.pr-roadmap__step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  text-align: center;
}
.pr-roadmap__track {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 1.35rem;
  margin-bottom: 0.5rem;
}
.pr-roadmap__node {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 1.1rem;
  height: 1.1rem;
}
.pr-roadmap__dot {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: #cbd5e1;
  border: 2px solid #e2e8f0;
}
.pr-roadmap__rail {
  position: absolute;
  left: calc(50% + 0.5rem);
  right: calc(-50% + 0.5rem);
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
  background: #e2e8f0;
  z-index: 1;
}
.pr-roadmap__label {
  display: block;
  padding: 0 0.15rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #94a3b8;
  background: none;
  border: none;
}
.pr-roadmap__step.is-done .pr-roadmap__dot {
  background: #10b981;
  border-color: #6ee7b7;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.16);
}
.pr-roadmap__step.is-done .pr-roadmap__label { color: #047857; font-weight: 700; }
.pr-roadmap__step.is-done .pr-roadmap__rail { background: linear-gradient(90deg, #6ee7b7, #a7f3d0); }
.pr-roadmap__step.is-current .pr-roadmap__dot {
  background: #06b6d4;
  border-color: #67e8f9;
  box-shadow: 0 0 0 4px rgba(34, 211, 238, 0.25), 0 0 14px rgba(6, 182, 212, 0.45);
}
.pr-roadmap__step.is-current .pr-roadmap__label { color: #0e7490; font-weight: 800; }
.pr-roadmap__step.is-current .pr-roadmap__rail { background: linear-gradient(90deg, #67e8f9, #e2e8f0); }
.pr-roadmap__step.is-blocked { opacity: 0.55; }

.pr-demo-spotlight {
  position: relative;
  margin: 0 0 1.75rem;
  padding: 1.5rem 1.4rem 1.45rem 1.45rem;
  border-radius: 16px;
  background: linear-gradient(165deg, #eff6ff 0%, #dbeafe 45%, #e0f2fe 100%);
  border: 1px solid #93c5fd;
  box-shadow: 0 18px 40px -22px rgba(37, 99, 235, 0.4);
  overflow: hidden;
}
.pr-demo-spotlight::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #1e3a8a, #2563eb);
}
.pr-demo-spotlight__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.55rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1d4ed8;
}
.pr-demo-spotlight__pulse {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #2563eb;
  box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.5);
  animation: prDemoPulse 1.6s ease-out infinite;
}
@keyframes prDemoPulse {
  0% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.5); }
  70% { box-shadow: 0 0 0 10px rgba(37, 99, 235, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0); }
}
.pr-demo-spotlight__title {
  margin: 0 0 0.65rem;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #0f172a;
}
.pr-demo-spotlight__lead {
  margin: 0 0 0.75rem;
  max-width: 40rem;
  font-size: 1.05rem;
  line-height: 1.55;
  color: #1e293b;
}
.pr-demo-spotlight__name {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e40af;
}
.pr-demo-spotlight__hint {
  margin: 0;
  font-size: 0.88rem;
  color: #64748b;
}
@media (prefers-reduced-motion: reduce) {
  .pr-demo-spotlight__pulse { animation: none; }
}
.slab-page--project-room .sla-platform-banner { margin-top: 0.35rem; }
.slab-page--project-room .sla-explore { margin-bottom: 2rem; }
.slab-page--project-room .pr-panel__status {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.pr-section-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.85rem;
}

.pr-next {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.75rem;
  border-radius: 1rem;
  border: 1px solid #bfdbfe;
  background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%);
}
.pr-next__kicker {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #2563eb;
  margin-bottom: 0.2rem;
}
.pr-next__title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.25rem;
}
.pr-next__hint {
  font-size: 0.88rem;
  color: #475569;
  margin: 0;
}
.pr-next__wait {
  font-size: 0.9rem;
  font-weight: 600;
  color: #b45309;
}

.pr-timeline {
  margin-bottom: 1.75rem;
}
.pr-timeline__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.pr-timeline__step {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: #94a3b8;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: #f1f5f9;
}
.pr-timeline__step--current {
  background: #dbeafe;
  color: #1d4ed8;
}
.pr-timeline__step--done {
  background: #dcfce7;
  color: #15803d;
}
.pr-timeline__step--blocked {
  opacity: 0.55;
}
.pr-timeline__dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: currentColor;
}

.pr-panel {
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.5rem;
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.pr-panel--demo { border-color: #93c5fd; background: #f8fafc; }
.pr-panel--mvp { border-color: #5eead4; background: #f0fdfa; }
.pr-panel__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.pr-panel__head .pr-section-title { margin-bottom: 0; }
.pr-panel__status {
  font-size: 0.78rem;
  font-weight: 600;
  color: #64748b;
}
.pr-panel__status--ok { color: #15803d; }
.pr-panel__status--warn { color: #b45309; }
.pr-panel__hint {
  font-size: 0.9rem;
  color: #475569;
  margin-bottom: 1rem;
}
.pr-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.pr-panel__pending {
  font-size: 0.9rem;
  font-weight: 600;
  color: #b45309;
  margin-bottom: 0.75rem;
}
.pr-panel__pending--ok { color: #047857; }
.pr-panel__note { margin-top: 0.75rem; }
.pr-panel__commercial {
  font-size: 0.9rem;
  color: #334155;
  margin: 0 0 0.75rem;
}

.pr-mvp-sheet {
  margin-bottom: 1.75rem;
  padding: 1.35rem 1.5rem;
  border-radius: 1rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  scroll-margin-top: 5rem;
}
.pr-mvp-sheet__subtitle {
  font-size: 0.9rem;
  color: #475569;
  margin: 0.35rem 0 0;
}
.pr-mvp-sheet__block { margin-top: 1.1rem; }
.pr-mvp-sheet__label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #0f766e;
  margin: 0 0 0.45rem;
}
.pr-mvp-sheet__text { font-size: 0.9rem; color: #334155; margin: 0; line-height: 1.55; }
.pr-mvp-sheet__steps {
  margin: 0;
  padding-left: 1.15rem;
  font-size: 0.88rem;
  color: #334155;
}
.pr-mvp-sheet__steps li { margin-bottom: 0.55rem; }
.pr-mvp-sheet__steps strong { display: block; color: #0f172a; }
.pr-mvp-sheet__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1.1rem;
}
@media (max-width: 768px) { .pr-mvp-sheet__grid { grid-template-columns: 1fr; } }
.pr-mvp-sheet__list {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.85rem;
  color: #334155;
}
.pr-mvp-sheet__list--muted { color: #64748b; }
.pr-mvp-sheet__compare { margin: 0; }
.pr-mvp-sheet__compare-row {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 0.5rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.85rem;
}
.pr-mvp-sheet__compare-row dt { font-weight: 700; color: #0f172a; margin: 0; }
.pr-mvp-sheet__compare-row dd { margin: 0; color: #475569; }
.pr-mvp-sheet__modules {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.85rem;
}
.pr-mvp-sheet__modules li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.5rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid #f1f5f9;
}
.pr-mvp-sheet__tag {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 0.12rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
}
.pr-mvp-sheet__tag--real { background: #dcfce7; color: #15803d; }
.pr-mvp-sheet__tag--simulated { background: #ede9fe; color: #6d28d9; }
.pr-mvp-sheet__tag--future { background: #f1f5f9; color: #475569; }
.pr-mvp-sheet__mod-note { color: #64748b; font-size: 0.8rem; }
.pr-mvp-sheet__disclaimer {
  margin: 1rem 0 0;
  font-size: 0.78rem;
  color: #64748b;
}

.pr-link-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pr-link-list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e2e8f0;
  text-decoration: none;
  color: #0f172a;
  font-weight: 600;
  font-size: 0.9rem;
}
.pr-link-list__item:hover { color: #2563eb; }
.pr-link-list__item--primary { color: #1d4ed8; }
.pr-link-list__item--warn { color: #b45309; }
.pr-link-list__item--muted { color: #64748b; font-weight: 500; }

.pr-legacy { margin-bottom: 2rem; }
.pr-legacy__lead {
  font-size: 0.88rem;
  color: #64748b;
  margin: -0.35rem 0 1rem;
}
.pr-legacy__grid {
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .pr-legacy__grid { grid-template-columns: repeat(2, 1fr); }
}
.pr-legacy-card {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  border-radius: 0.85rem;
  border: 1px solid #e2e8f0;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.pr-legacy-card:hover {
  border-color: #93c5fd;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.08);
}
.pr-legacy-card--primary {
  border-color: #3b82f6;
  background: linear-gradient(135deg, #eff6ff 0%, #fff 100%);
}
.pr-legacy-card__icon {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.65rem;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 1.1rem;
}
.pr-legacy-card__body { flex: 1; min-width: 0; }
.pr-legacy-card__title {
  display: block;
  font-size: 0.92rem;
  margin-bottom: 0.2rem;
}
.pr-legacy-card__desc {
  display: block;
  font-size: 0.8rem;
  font-weight: 400;
  color: #64748b;
}
.pr-legacy-card__arrow {
  flex-shrink: 0;
  color: #94a3b8;
  margin-top: 0.15rem;
}

.pr-hero__actions {
  margin-top: 1.15rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.45rem;
}
.pr-hero__call {
  font-weight: 700;
  border: 0;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
}
.pr-hero__call-note {
  margin: 0;
  font-size: 0.84rem;
  color: rgba(226, 232, 240, 0.9);
  max-width: 34rem;
}
.pr-footer {
  text-align: center;
  padding: 1.25rem 0 0.5rem;
}
.pr-footer__workshop {
  display: inline-flex;
  align-items: center;
  font-size: 0.88rem;
  font-weight: 600;
  color: #2563eb;
  text-decoration: none;
  margin-bottom: 0.75rem;
}
.pr-footer__workshop:hover { text-decoration: underline; }
.pr-footer__workshop-btn {
  font-weight: 700;
  margin-bottom: 0.75rem;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22);
}
.pr-footer__legal {
  font-size: 0.68rem;
  color: #94a3b8;
  margin: 0;
}

.pr-back-strip {
  margin-bottom: 1rem;
}
.pr-back-strip__link {
  display: inline-flex;
  align-items: center;
  font-size: 0.85rem;
  font-weight: 600;
  color: #2563eb;
  text-decoration: none;
  padding: 0.4rem 0.75rem;
  border-radius: 0.5rem;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
}
.pr-back-strip__link:hover {
  background: #dbeafe;
  color: #1d4ed8;
}

/* --- Approach Marketplace (hub unificato) --- */
.slab-page--approach-marketplace {
  --amp-accent: #6366f1;
  --amp-surface: #0f172a;
  max-width: 1100px;
  margin: 0 auto;
  padding: 1rem 1.25rem 3rem;
}
.amp-hero {
  position: relative;
  border-radius: 1.25rem;
  padding: 2rem 1.5rem;
  margin-bottom: 1.5rem;
  overflow: hidden;
  background: linear-gradient(145deg, #0f172a 0%, #1e1b4b 55%, #312e81 100%);
  color: #f8fafc;
}
.amp-hero__kicker {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a5b4fc;
  margin-bottom: 0.35rem;
}
.amp-hero__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.amp-hero__lead {
  color: #cbd5e1;
  max-width: 42rem;
  margin-bottom: 1rem;
}
.amp-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.amp-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
}
.amp-badge--ok { background: rgba(34,197,94,0.15); border-color: rgba(34,197,94,0.35); }
.amp-badge--warn { background: rgba(245,158,11,0.15); border-color: rgba(245,158,11,0.35); }
.amp-badge--phase { color: #e2e8f0; }

.amp-next {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: 1rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.amp-next__kicker { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; color: #64748b; margin: 0; }
.amp-next__title { font-size: 1.15rem; margin: 0.15rem 0; }
.amp-next__hint { color: #64748b; margin: 0; font-size: 0.9rem; }
.amp-next__wait { color: #b45309; font-weight: 600; }

.amp-section-title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.85rem;
  color: #0f172a;
}
.amp-timeline { margin-bottom: 1.75rem; }
.amp-timeline__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.amp-timeline__step {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  color: #64748b;
}
.amp-timeline__step--done { color: #15803d; }
.amp-timeline__step--current { color: #4338ca; font-weight: 600; }
.amp-timeline__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: currentColor;
}

.amp-growth-stack {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
.amp-growth__panel--wait .srs-wait { margin: 0; }
.amp-growth__panel--demo .srs-demo--embedded .srs-demo__card {
  background: #0f172a;
  color: #f1f5f9;
  border-radius: 1rem;
  padding: 1.5rem;
}
.amp-growth__phase2,
.amp-growth__mvp {
  padding: 1.25rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid #e2e8f0;
}
.amp-upsell-card {
  padding: 1.5rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #1e1b4b, #4338ca);
  color: #fff;
}
.amp-upsell-card__kicker { font-size: 0.75rem; opacity: 0.9; }
.amp-upsell-card__title { font-size: 1.35rem; margin: 0.35rem 0; }
.amp-upsell-card__lead { opacity: 0.92; margin-bottom: 1rem; }
.amp-upsell-card__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.amp-service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.85rem;
}
.amp-service-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  border-radius: 0.85rem;
  border: 1px solid #e2e8f0;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.amp-service-card:hover {
  border-color: #a5b4fc;
  box-shadow: 0 4px 14px rgba(99,102,241,0.12);
}
.amp-service-card--featured { border-color: #818cf8; background: #f5f3ff; }
.amp-service-card--warn { border-color: #fcd34d; background: #fffbeb; }
.amp-service-card--success { border-color: #86efac; background: #f0fdf4; }
.amp-service-card__icon {
  font-size: 1.25rem;
  color: var(--amp-accent);
  flex-shrink: 0;
}
.amp-service-card__title { display: block; font-size: 0.95rem; }
.amp-service-card__desc { display: block; font-size: 0.78rem; color: #64748b; margin-top: 0.15rem; }
.amp-service-card__arrow { margin-left: auto; color: #94a3b8; }

.amp-accordion { margin-bottom: 1.5rem; }
.amp-legacy-list { list-style: none; padding: 0; margin: 0; }
.amp-legacy-link {
  display: flex;
  align-items: flex-start;
  padding: 0.65rem 0;
  border-bottom: 1px solid #f1f5f9;
  text-decoration: none;
  color: inherit;
}
.amp-footer { margin-top: 2rem; text-align: center; }


/* —— Pitch Room: next steps + download semplificati (pitch10) —— */
.slab-pitch-room-hero--next-only .slab-pitch-room-hero__badges,
.slab-pitch-room-hero--next-only .slab-pitch-room-hero__ctas { display: none !important; }
.slab-pitch-room-next-card--simple {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.1rem 1.15rem;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.slab-pitch-room-next-card--simple .slab-pitch-room-next-card__text {
  flex: 1;
  font-size: 0.88rem;
  color: #64748b;
  margin-bottom: 0.35rem;
}
.slab-operating-upsell--coming-soon .slab-operating-upsell__head--simple {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1rem;
  align-items: flex-start;
}
.slab-operating-upsell__soon-pill {
  margin-left: auto;
  align-self: flex-start;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6366f1;
  background: #eef2ff;
  border: 1px solid #c7d2fe;
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
}
.slab-operating-upsell--coming-soon .slab-operating-upsell__cta {
  background: transparent;
  color: #4338ca;
  border: 1px solid #a5b4fc;
  box-shadow: none;
}
.slab-operating-upsell--coming-soon .slab-operating-upsell__cta:hover {
  background: #eef2ff;
  color: #3730a3;
}
.slab-download-simple {
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.35rem;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #f8fafc 0%, #fff 48%);
}
.slab-download-simple__hero {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.slab-download-simple__kicker {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6366f1;
}
.slab-download-simple__title {
  margin: 0 0 0.35rem;
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f172a;
}
.slab-download-simple__lead {
  font-size: 0.9rem;
  color: #64748b;
  max-width: 34rem;
}
.slab-download-simple__ring {
  --mat-pct: 0;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, #fff 58%, transparent 59%),
    conic-gradient(#6366f1 calc(var(--mat-pct) * 1%), #e2e8f0 0);
  flex-shrink: 0;
}
.slab-download-simple__ring-num {
  font-size: 1.1rem;
  font-weight: 800;
  color: #312e81;
  line-height: 1;
}
.slab-download-simple__ring-label {
  display: block;
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  text-align: center;
}
.slab-download-simple__cta { margin-bottom: 1rem; }
.slab-download-simple__list { border-top: 1px solid #e2e8f0; }
.slab-download-simple__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid #f1f5f9;
}
.slab-download-simple__item-label { flex: 1; font-weight: 600; color: #1e293b; }
.slab-download-simple__item-actions { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.slab-download-next__link {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #fff;
  text-decoration: none;
  color: inherit;
  height: 100%;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.slab-download-next__link:hover {
  border-color: #a5b4fc;
  box-shadow: 0 4px 14px rgba(99,102,241,0.1);
}
.slab-download-next__link strong { font-size: 0.95rem; color: #0f172a; }
.slab-download-next__link span { font-size: 0.8rem; color: #64748b; }
.slab-download-next__link--muted { opacity: 0.65; cursor: default; }
.slab-download-next__link--active {
  border-color: #6366f1;
  box-shadow: 0 4px 14px rgba(99, 102, 241, 0.12);
}
.slab-download-next__link--soon {
  opacity: 0.42;
  cursor: not-allowed;
  filter: grayscale(0.25);
  pointer-events: none;
}
.slab-download-next__link--soon:hover {
  border-color: #e2e8f0;
  box-shadow: none;
}
.slab-pitch-svi-sync--soon {
  opacity: 0.55;
  filter: grayscale(0.2);
}
.slab-page--pitch-user-view .slab-pitch-download-finale {
  display: none;
}

/* —— Project Room: feedback + modifiche loop —— */
.pr-loop {
  position: relative;
  margin: 0 0 1.75rem;
  padding: 1.5rem 1.35rem 1.6rem;
  border-radius: 1.25rem;
  overflow: hidden;
  color: #f8fafc;
  background:
    radial-gradient(90% 80% at 100% 0%, rgba(164, 53, 240, 0.35), transparent 55%),
    linear-gradient(145deg, #1c1d1f 0%, #2a1848 48%, #1e293b 100%);
  border: 1px solid rgba(196, 181, 253, 0.25);
  scroll-margin-top: 5rem;
}
.pr-loop__glow {
  position: absolute; inset: auto -20% -40% 40%;
  height: 60%; pointer-events: none;
  background: radial-gradient(circle, rgba(164,53,240,.25), transparent 70%);
}
.pr-loop__head {
  position: relative;
  display: flex; flex-wrap: wrap; gap: 1rem;
  align-items: flex-start; justify-content: space-between;
  margin-bottom: 1.15rem;
}
.pr-loop__kicker {
  margin: 0 0 .35rem; font-size: .72rem; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase; color: #c4b5fd;
}
.pr-loop__title {
  margin: 0 0 .4rem; font-size: clamp(1.35rem, 2.6vw, 1.75rem);
  letter-spacing: -.02em; font-weight: 700;
}
.pr-loop__lead {
  margin: 0; max-width: 36rem; color: rgba(248,250,252,.78);
  font-size: .95rem; line-height: 1.5;
}
.pr-loop__open {
  border-color: rgba(248,250,252,.35) !important;
  color: #fff !important;
}
.pr-loop__open:hover { background: rgba(255,255,255,.1) !important; }

.pr-loop__steps {
  position: relative;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem; list-style: none; margin: 0 0 1.15rem; padding: 0;
}
.pr-loop__step {
  display: flex; align-items: center; gap: .55rem;
  padding: .55rem .7rem; border-radius: .75rem;
  background: rgba(15,23,42,.35); border: 1px solid rgba(148,163,184,.2);
  font-size: .82rem; color: rgba(248,250,252,.55);
}
.pr-loop__step--done { color: #bbf7d0; border-color: rgba(74,222,128,.35); }
.pr-loop__step--current {
  color: #fff; border-color: rgba(196,181,253,.55);
  background: rgba(164,53,240,.22);
}
.pr-loop__step--wait { color: #fde68a; }
.pr-loop__step-idx {
  width: 1.4rem; height: 1.4rem; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .72rem; font-weight: 800; background: rgba(255,255,255,.12);
}
.pr-loop__step--done .pr-loop__step-idx { background: #15803d; color: #fff; }
.pr-loop__step--current .pr-loop__step-idx { background: #a435f0; color: #fff; }

.pr-loop__card {
  position: relative;
  background: #fff; color: #1c1d1f;
  border-radius: 1rem; padding: 1.2rem 1.15rem 1.25rem;
  margin-top: .85rem;
  box-shadow: 0 12px 40px rgba(0,0,0,.18);
}
.pr-loop__card--focus { border: 2px solid #c4b5fd; }
.pr-loop__card--done { background: #f8fafc; border: 1px solid #e2e8f0; }
.pr-loop__card-head { margin-bottom: .9rem; }
.pr-loop__card-head--row {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem;
}
.pr-loop__badge {
  display: inline-block; font-size: .68rem; font-weight: 800;
  letter-spacing: .06em; text-transform: uppercase;
  padding: .2rem .5rem; border-radius: 999px;
  background: #f3e8ff; color: #6b21a8; margin-bottom: .45rem;
}
.pr-loop__badge--ok { background: #dcfce7; color: #166534; }
.pr-loop__card-title {
  margin: 0; font-size: 1.15rem; font-weight: 700; letter-spacing: -.01em;
}
.pr-loop__card-hint {
  margin: .35rem 0 0; font-size: .9rem; color: #64748b; line-height: 1.45;
}
.pr-loop__cta { border-radius: .75rem; font-weight: 700; }

.pr-stars { border: 0; margin: 0 0 1rem; padding: 0; }
.pr-stars__legend {
  font-size: .72rem; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; color: #64748b; margin-bottom: .5rem;
}
.pr-stars__row { display: flex; flex-wrap: wrap; gap: .45rem; }
.pr-stars__opt { cursor: pointer; margin: 0; }
.pr-stars__opt input { position: absolute; opacity: 0; pointer-events: none; }
.pr-stars__face {
  display: flex; flex-direction: column; align-items: center; gap: .15rem;
  min-width: 3.1rem; padding: .55rem .4rem;
  border-radius: .75rem; border: 1px solid #e2e8f0; background: #f8fafc;
  color: #94a3b8; transition: .15s ease;
}
.pr-stars__opt.is-on .pr-stars__face { color: #a435f0; border-color: #ddd6fe; background: #faf5ff; }
.pr-stars__opt.is-active .pr-stars__face {
  color: #fff; background: #a435f0; border-color: #a435f0;
  box-shadow: 0 6px 16px rgba(164,53,240,.35);
}
.pr-stars__n { font-size: .72rem; font-weight: 700; }
.pr-stars__caption { margin: .55rem 0 0; font-size: .85rem; color: #475569; }

.pr-fb-form__textarea {
  border-radius: .75rem; border-color: #cbd5e1; min-height: 7rem;
}
.pr-fb-form__textarea:focus {
  border-color: #a435f0; box-shadow: 0 0 0 .2rem rgba(164,53,240,.15);
}

.pr-loop__rating { color: #a435f0; letter-spacing: .05em; }
.pr-loop__rating-label {
  display: inline-block; margin-left: .4rem;
  font-size: .9rem; font-weight: 600; color: #475569;
}
.pr-loop__time { font-size: .78rem; color: #94a3b8; }
.pr-loop__quote {
  margin: 0; padding: .85rem 1rem;
  border-left: 3px solid #a435f0; background: #fff;
  border-radius: 0 .65rem .65rem 0;
  color: #334155; font-size: .95rem; line-height: 1.5;
}

.pr-loop__pending {
  display: flex; gap: .85rem; align-items: flex-start;
  padding: 1rem; border-radius: .85rem;
  background: #fffbeb; border: 1px solid #fde68a; color: #92400e;
}
.pr-loop__pending > i { font-size: 1.35rem; margin-top: .1rem; }
.pr-loop__pending-excerpt {
  margin: .55rem 0 0; font-size: .88rem; color: #78350f; font-style: italic;
}

.pr-loop__paywall {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1.1rem; border-radius: .9rem;
  background: linear-gradient(135deg, #faf5ff, #f8fafc);
  border: 1px solid #e9d5ff;
}
.pr-loop__paywall-icon {
  width: 2.75rem; height: 2.75rem; border-radius: .85rem;
  display: flex; align-items: center; justify-content: center;
  background: #a435f0; color: #fff; font-size: 1.25rem; flex-shrink: 0;
}
.pr-loop__paywall-body h4 {
  margin: 0 0 .35rem; font-size: 1.05rem; font-weight: 700;
}
.pr-loop__paywall-body p { margin: 0 0 .5rem; color: #475569; font-size: .92rem; }
.pr-loop__paywall-meta { font-size: .85rem !important; color: #64748b !important; }
.pr-loop__paywall-actions {
  display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem;
}

.pr-loop__tier {
  display: flex; align-items: center; gap: .45rem;
  margin: 0 0 1rem; padding: .55rem .75rem;
  border-radius: .65rem; font-size: .88rem; font-weight: 600;
}
.pr-loop__tier--free { background: #ecfdf5; color: #047857; }
.pr-loop__tier--paid { background: #fff7ed; color: #c2410c; }
.pr-loop__tier--sub { background: #f5f3ff; color: #5b21b6; }

@media (max-width: 720px) {
  .pr-loop__steps { grid-template-columns: 1fr; }
  .pr-loop { padding: 1.2rem 1rem 1.35rem; }
}

/* Orchestration handoff — voce utente */
.orch-user-voice__card {
  padding: .85rem 1rem; border-radius: .75rem;
  background: #f8fafc; border: 1px solid #e2e8f0;
}
.orch-user-voice__card--mod { background: #fffbeb; border-color: #fde68a; }
.orch-user-voice__meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  margin-bottom: .45rem;
}
.orch-user-voice__stars { color: #a435f0; letter-spacing: .04em; }
.orch-user-voice__quote {
  margin: 0; padding: 0; border: 0;
  font-size: .92rem; color: #334155; line-height: 1.5;
}

/* Percorso — illuminazione step completati / corrente */
.pr-timeline__steps { gap: .45rem; }
.pr-timeline__step {
  transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.pr-timeline__step--done {
  background: linear-gradient(135deg, #dcfce7, #bbf7d0);
  color: #14532d;
  box-shadow: 0 0 0 1px rgba(22, 163, 74, .35), 0 6px 18px rgba(22, 163, 74, .18);
}
.pr-timeline__step--done .pr-timeline__dot {
  width: 1.05rem; height: 1.05rem;
  display: inline-flex; align-items: center; justify-content: center;
  background: #16a34a; color: #fff; font-size: .65rem;
}
.pr-timeline__step--current {
  background: linear-gradient(135deg, #ede9fe, #ddd6fe);
  color: #5b21b6;
  box-shadow: 0 0 0 1px rgba(164, 53, 240, .45), 0 8px 22px rgba(164, 53, 240, .22);
  transform: translateY(-1px);
}
.pr-timeline__step--current .pr-timeline__dot {
  width: .7rem; height: .7rem;
  box-shadow: 0 0 0 4px rgba(164, 53, 240, .25);
  background: #a435f0;
  animation: prPulse 1.6s ease-in-out infinite;
}
@keyframes prPulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(164, 53, 240, .2); }
  50% { box-shadow: 0 0 0 6px rgba(164, 53, 240, .12); }
}

/* Tendine chiuse (scheda MVP + call) */
.pr-disclosure {
  margin-bottom: 1.25rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
}
.pr-disclosure--call { margin-top: .5rem; }
.pr-disclosure__summary {
  list-style: none;
  cursor: pointer;
  display: flex; align-items: center; gap: .85rem;
  padding: 1rem 1.15rem;
  user-select: none;
}
.pr-disclosure__summary::-webkit-details-marker { display: none; }
.pr-disclosure__icon {
  width: 2.4rem; height: 2.4rem; border-radius: .75rem;
  display: inline-flex; align-items: center; justify-content: center;
  background: #f1f5f9; color: #475569; flex-shrink: 0; font-size: 1.1rem;
}
.pr-disclosure--call .pr-disclosure__icon { background: #ede9fe; color: #6d28d9; }
.pr-disclosure__text {
  flex: 1; display: flex; flex-direction: column; gap: .15rem; min-width: 0;
}
.pr-disclosure__text strong {
  font-size: .98rem; color: #0f172a; font-weight: 700;
}
.pr-disclosure__sub {
  font-size: .82rem; color: #64748b; line-height: 1.35;
}
.pr-disclosure__chev {
  color: #94a3b8; transition: transform .2s ease;
}
.pr-disclosure[open] .pr-disclosure__chev { transform: rotate(180deg); }
.pr-disclosure__body {
  padding: 0 1.15rem 1.15rem;
  border-top: 1px solid #f1f5f9;
}
.pr-mvp-sheet--nested {
  margin: 0; padding: 1rem 0 0; border: 0; border-radius: 0; background: transparent;
}
.pr-footer--nested {
  margin: 0; padding-top: 1rem;
  display: flex; flex-direction: column; gap: .65rem; align-items: flex-start;
}

/* Banner richiesta MVP — venditore */
.pr-mvp-offer {
  position: relative;
  margin: 0 0 1.75rem;
  border-radius: 1.35rem;
  overflow: hidden;
  color: #0f172a;
  background:
    radial-gradient(80% 90% at 0% 0%, rgba(251, 191, 36, .22), transparent 50%),
    linear-gradient(135deg, #0f172a 0%, #1e1b4b 42%, #312e81 100%);
  border: 1px solid rgba(251, 191, 36, .35);
  scroll-margin-top: 5rem;
}
.pr-mvp-offer__rail {
  position: absolute; inset: 0 auto 0 0; width: 5px;
  background: linear-gradient(180deg, #fbbf24, #a435f0);
}
.pr-mvp-offer__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.35fr .9fr;
  gap: 1.5rem;
  padding: 1.6rem 1.5rem 1.6rem 1.7rem;
  color: #f8fafc;
}
.pr-mvp-offer__kicker {
  margin: 0 0 .45rem;
  font-size: .72rem; font-weight: 800; letter-spacing: .14em;
  text-transform: uppercase; color: #fcd34d;
}
.pr-mvp-offer__title {
  margin: 0 0 .55rem;
  font-size: clamp(1.35rem, 2.8vw, 1.85rem);
  font-weight: 800; letter-spacing: -.02em; line-height: 1.2;
}
.pr-mvp-offer__lead {
  margin: 0 0 1.1rem;
  color: rgba(248,250,252,.82);
  font-size: .95rem; line-height: 1.55; max-width: 38rem;
}
.pr-mvp-offer__bullets {
  list-style: none; margin: 0 0 1rem; padding: 0;
  display: flex; flex-direction: column; gap: .7rem;
}
.pr-mvp-offer__bullets li {
  display: flex; gap: .7rem; align-items: flex-start;
}
.pr-mvp-offer__bullet-icon {
  width: 2rem; height: 2rem; border-radius: .6rem;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(251, 191, 36, .18); color: #fbbf24; flex-shrink: 0;
}
.pr-mvp-offer__bullets strong {
  display: block; font-size: .92rem; margin-bottom: .1rem;
}
.pr-mvp-offer__bullet-body {
  display: block; font-size: .84rem; color: rgba(248,250,252,.7); line-height: 1.4;
}
.pr-mvp-offer__proof {
  margin: 0; font-size: .82rem; color: rgba(253, 230, 138, .9);
}

.pr-mvp-offer__card {
  background: #fff; color: #0f172a;
  border-radius: 1.1rem; padding: 1.2rem 1.15rem 1.15rem;
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
}
.pr-mvp-offer__card-kicker {
  margin: 0 0 .25rem; font-size: .68rem; font-weight: 800;
  letter-spacing: .1em; text-transform: uppercase; color: #a435f0;
}
.pr-mvp-offer__card-title {
  margin: 0 0 .35rem; font-size: 1.15rem; font-weight: 800;
}
.pr-mvp-offer__card-hint {
  margin: 0 0 1rem; font-size: .86rem; color: #64748b; line-height: 1.45;
}
.pr-mvp-offer__cta {
  background: linear-gradient(135deg, #a435f0, #7c3aed) !important;
  border: 0 !important; color: #fff !important;
  font-weight: 800; border-radius: .85rem;
  box-shadow: 0 10px 24px rgba(164, 53, 240, .4);
}
.pr-mvp-offer__cta:hover {
  filter: brightness(1.06);
  color: #fff !important;
}
.pr-mvp-offer__fine {
  margin: .65rem 0 0; font-size: .75rem; color: #94a3b8; text-align: center; line-height: 1.4;
}
.pr-mvp-offer__ask {
  margin: .55rem 0 0; font-size: .82rem; color: #64748b; text-align: center; line-height: 1.45;
}
.pr-mvp-offer__ask-link {
  color: #0d9488;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .15em;
}
.pr-mvp-offer__ask-link:hover {
  color: #0f766e;
}
.pr-mvp-offer__done {
  display: flex; gap: .85rem; align-items: flex-start;
  padding: 1.15rem; border-radius: 1rem;
  background: rgba(220, 252, 231, .95); color: #14532d;
}
.pr-mvp-offer__done > i { font-size: 1.5rem; color: #16a34a; }
.pr-mvp-offer__done--paid {
  background: rgba(219, 234, 254, .98); color: #1e3a8a;
}
.pr-mvp-offer__done--paid > i { color: #2563eb; }
.pr-mvp-offer__focus-tag {
  margin-top: .35rem; font-size: .82rem; color: #166534;
}
.pr-mvp-offer--waiting .pr-mvp-offer__done {
  background: rgba(254, 243, 199, .95); color: #92400e;
}
.pr-mvp-offer--waiting .pr-mvp-offer__done > i { color: #d97706; }
.pr-mvp-offer--attention {
  box-shadow: 0 0 0 2px rgba(251, 191, 36, .55), 0 16px 40px rgba(251, 191, 36, .22);
  animation: prGlowPulse 2.2s ease-in-out infinite;
}
.pr-mvp-offer__card--commercial {
  background: linear-gradient(160deg, #fff 0%, #eff6ff 100%);
  border: 1px solid #93c5fd;
}
.pr-mvp-offer__card--commercial .pr-mvp-offer__card-title {
  font-size: 2rem; font-weight: 800; color: #1d4ed8; letter-spacing: -.03em;
}

/* Card sotto preventivo — altra idea / GitHub → pagamento */
.pr-mvp-next {
  position: relative;
  margin: -0.35rem 0 1.75rem;
  border-radius: 1.25rem;
  overflow: hidden;
  border: 1px solid #93c5fd;
  background:
    radial-gradient(70% 80% at 100% 0%, rgba(59, 130, 246, .14), transparent 55%),
    linear-gradient(145deg, #f8fbff 0%, #eff6ff 48%, #e0e7ff 100%);
  box-shadow: 0 10px 32px rgba(37, 99, 235, .1);
  scroll-margin-top: 5rem;
}
.pr-mvp-next__glow {
  position: absolute; inset: -30% 40% auto -10%;
  height: 90%;
  background: radial-gradient(circle, rgba(147, 197, 253, .45), transparent 70%);
  pointer-events: none;
}
.pr-mvp-next__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.35fr .9fr;
  gap: 1.35rem;
  padding: 1.4rem 1.4rem 1.4rem 1.55rem;
}
.pr-mvp-next__kicker {
  margin: 0 0 .4rem;
  font-size: .7rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: #1d4ed8;
}
.pr-mvp-next__title {
  margin: 0 0 .45rem;
  font-size: clamp(1.15rem, 2.4vw, 1.45rem);
  font-weight: 800; color: #0f172a; letter-spacing: -.02em; line-height: 1.25;
}
.pr-mvp-next__lead {
  margin: 0 0 1rem;
  font-size: .92rem; line-height: 1.55; color: #475569; max-width: 36rem;
}
.pr-mvp-next__paths {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
}
.pr-mvp-next--subscribed {
  border-color: #86efac;
  background:
    radial-gradient(70% 80% at 100% 0%, rgba(34, 197, 94, .12), transparent 55%),
    linear-gradient(145deg, #f7fef9 0%, #ecfdf5 48%, #e0f2fe 100%);
  box-shadow: 0 10px 32px rgba(22, 163, 74, .08);
}
.pr-mvp-next--subscribed .pr-mvp-next__kicker { color: #15803d; }
.pr-mvp-next--subscribed .pr-mvp-next__paths {
  grid-template-columns: 1fr 1fr 1fr;
}
.pr-mvp-next--subscribed .pr-mvp-next__path { border-color: #bbf7d0; }
.pr-mvp-next--subscribed .pr-mvp-next__path-icon {
  background: linear-gradient(135deg, #166534, #16a34a);
}
.pr-mvp-next--subscribed .pr-mvp-next__card { border-color: #86efac; }
.pr-mvp-next--subscribed .pr-mvp-next__card-kicker { color: #15803d; }
.pr-mvp-next--subscribed .pr-mvp-next__cta {
  background: linear-gradient(135deg, #15803d, #16a34a) !important;
  box-shadow: 0 10px 22px rgba(22, 163, 74, .3);
}
.pr-mvp-next__path {
  display: flex; gap: .65rem; align-items: flex-start;
  padding: .75rem .8rem;
  border-radius: .85rem;
  background: rgba(255, 255, 255, .85);
  border: 1px solid #bfdbfe;
}
.pr-mvp-next__path-icon {
  width: 2.1rem; height: 2.1rem; border-radius: .65rem;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #1e3a8a, #2563eb);
  color: #fff; flex-shrink: 0; font-size: 1rem;
}
.pr-mvp-next__path strong {
  display: block; font-size: .88rem; color: #0f172a; margin-bottom: .1rem;
}
.pr-mvp-next__path-body {
  display: block; font-size: .78rem; color: #64748b; line-height: 1.35;
}
.pr-mvp-next__card {
  background: #fff;
  border: 1px solid #93c5fd;
  border-radius: 1rem;
  padding: 1.15rem 1.1rem;
  box-shadow: 0 12px 28px rgba(37, 99, 235, .12);
}
.pr-mvp-next__card-kicker {
  margin: 0 0 .2rem;
  font-size: .68rem; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: #2563eb;
}
.pr-mvp-next__card-title {
  margin: 0 0 .35rem; font-size: 1.1rem; font-weight: 800; color: #0f172a;
}
.pr-mvp-next__card-hint {
  margin: 0 0 1rem; font-size: .84rem; color: #64748b; line-height: 1.45;
}
.pr-mvp-next__cta {
  background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
  border: 0 !important; color: #fff !important;
  font-weight: 800; border-radius: .85rem;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .35);
}
.pr-mvp-next__cta:hover {
  filter: brightness(1.05);
  color: #fff !important;
}
.pr-mvp-next__fine {
  margin: .6rem 0 0; font-size: .74rem; color: #94a3b8; text-align: center; line-height: 1.4;
}
@media (max-width: 900px) {
  .pr-mvp-next__inner { grid-template-columns: 1fr; padding: 1.2rem 1.1rem; }
  .pr-mvp-next__paths,
  .pr-mvp-next--subscribed .pr-mvp-next__paths { grid-template-columns: 1fr; }
}

/* Tendine più distinte + glow sezioni da completare */
.pr-disclosure {
  border: 1.5px solid #cbd5e1;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
  transition: border-color .2s, box-shadow .2s;
}
.pr-disclosure:hover {
  border-color: #93c5fd;
  box-shadow: 0 6px 20px rgba(37, 99, 235, .1);
}
.pr-disclosure__summary {
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}
.pr-disclosure[open] {
  border-color: #93c5fd;
  box-shadow: 0 8px 24px rgba(37, 99, 235, .12);
}
.pr-disclosure[open] .pr-disclosure__summary {
  background: #eff6ff;
}
.pr-disclosure--call {
  border-color: #c4b5fd;
}
.pr-disclosure--call:hover,
.pr-disclosure--call[open] {
  border-color: #a78bfa;
  box-shadow: 0 8px 24px rgba(109, 40, 217, .12);
}

/* Consulenza rapida a pagamento — Project Room */
.pr-fast-call {
  position: relative;
  margin: 0.35rem 0 1.75rem;
  border-radius: 1.35rem;
  overflow: hidden;
  background:
    radial-gradient(70% 80% at 100% 0%, rgba(251, 146, 60, .2), transparent 55%),
    linear-gradient(145deg, #0c1220 0%, #1a2332 48%, #1e293b 100%);
  border: 1px solid rgba(251, 191, 36, .4);
  box-shadow: 0 14px 36px rgba(15, 23, 42, .18);
  scroll-margin-top: 5rem;
}
.pr-fast-call__rail {
  position: absolute; inset: 0 auto 0 0; width: 5px;
  background: linear-gradient(180deg, #fbbf24, #f97316 55%, #ea580c);
}
.pr-fast-call__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.4fr .95fr;
  gap: 1.4rem;
  padding: 1.55rem 1.45rem 1.55rem 1.65rem;
  color: #f8fafc;
}
.pr-fast-call__kicker {
  margin: 0 0 .5rem;
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .72rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: #fcd34d;
}
.pr-fast-call__title {
  margin: 0 0 .55rem;
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  font-weight: 800; letter-spacing: -.02em; line-height: 1.15;
  color: #fff;
}
.pr-fast-call__lead {
  margin: 0 0 1rem;
  color: rgba(248, 250, 252, .84);
  font-size: .95rem; line-height: 1.55; max-width: 40rem;
}
.pr-fast-call__bullets {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: .45rem;
}
.pr-fast-call__bullets li {
  display: flex; align-items: flex-start; gap: .55rem;
  font-size: .88rem; color: rgba(248, 250, 252, .9); line-height: 1.4;
}
.pr-fast-call__bullets i {
  margin-top: .12rem; color: #fbbf24; flex-shrink: 0;
}
.pr-fast-call__aside {
  align-self: stretch;
  display: flex; flex-direction: column; justify-content: center;
  padding: 1.15rem 1.2rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
  backdrop-filter: blur(6px);
}
.pr-fast-call__aside-kicker {
  margin: 0 0 .25rem;
  font-size: .7rem; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: #fdba74;
}
.pr-fast-call__aside-title {
  margin: 0 0 .45rem;
  font-size: 1.1rem; font-weight: 800; color: #fff; line-height: 1.25;
}
.pr-fast-call__aside-hint {
  margin: 0 0 1rem;
  font-size: .82rem; color: rgba(248, 250, 252, .75); line-height: 1.45;
}
.pr-fast-call__cta {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%;
  font-weight: 800;
  border: 0;
  color: #0f172a !important;
  background: linear-gradient(135deg, #fbbf24, #f59e0b 55%, #ea580c);
  box-shadow: 0 10px 24px rgba(234, 88, 12, .35);
  transition: transform .15s ease, filter .15s ease;
}
.pr-fast-call__cta:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
  color: #0f172a !important;
}
.pr-fast-call__fine {
  margin: .75rem 0 0;
  font-size: .72rem; color: rgba(248, 250, 252, .55); line-height: 1.4; text-align: center;
}
@media (max-width: 900px) {
  .pr-fast-call__inner { grid-template-columns: 1fr; padding: 1.25rem 1.1rem 1.25rem 1.25rem; }
}

.pr-panel--attention {
  border-color: #93c5fd !important;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, .2), 0 12px 28px rgba(37, 99, 235, .14);
  animation: prGlowPulse 2.4s ease-in-out infinite;
}
.pr-panel--pending {
  border-style: dashed;
  opacity: .92;
}
.pr-loop.pr-loop--attention {
  box-shadow: 0 0 0 2px rgba(164, 53, 240, .35), 0 14px 36px rgba(164, 53, 240, .18);
  animation: prGlowPulse 2.2s ease-in-out infinite;
}
@keyframes prGlowPulse {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.04); }
}

@media (max-width: 900px) {
  .pr-mvp-offer__inner { grid-template-columns: 1fr; padding: 1.25rem 1.1rem; }
}
