/* Bibancalia — area riservata: simulatore a passi e area personale.
   Stessa logica dell'app, nuova pelle "Istituto": testata ink, carta,
   lime come unico accento, numerazione monospaziata, angoli squadrati.
   Tutto è vincolato a .vel-wizard / .vel-cabinet: la landing non cambia. */

html:has(.vel-cabinet),
html .vel-wizard,
html .vel-cabinet {
  --fv-ink: #0b3b2e;
  --fv-paper: #f6f0e4;
  --fv-lime: #e8d5ae;
  --fv-white: #fffdf8;
  --fv-line: rgba(11, 59, 46, .16);
  --fv-line-strong: rgba(11, 59, 46, .38);
  --fv-muted: rgba(11, 59, 46, .6);
  --fv-cream: rgba(246, 240, 228, .66);
  --fv-shadow: 8px 8px 0 var(--fv-lime);
  --fv-mono: "JetBrains Mono", "SFMono-Regular", ui-monospace, Menlo, monospace;
}

html .vel-wizard {
  background: var(--fv-paper) !important;
  color: var(--fv-ink) !important;
}

/* =====================================================================
   SIMULATORE — testata scura con avanzamento lime
   ===================================================================== */

html .vel-wizard .vel-wizard__header {
  --color-surface: #0b3b2e;
  --color-ground: #0b3b2e;
  --color-fg: #f6f0e4;
  --color-muted: rgba(246, 240, 228, .64);
  --color-faint: rgba(246, 240, 228, .42);
  --color-line: rgba(246, 240, 228, .16);
  --color-track: rgba(246, 240, 228, .22);
  --color-accent: #e8d5ae;
  --color-accent-ink: #0b3b2e;
  --color-accent-deep: #e8d5ae;
  background: var(--fv-ink) !important;
  border-bottom: 1px solid var(--fv-ink) !important;
  color: var(--fv-paper) !important;
}

html .vel-wizard .vel-wizard__disclaimer {
  color: rgba(246, 240, 228, .55) !important;
  font-family: var(--fv-mono);
  font-size: .62rem !important;
  letter-spacing: .04em;
  line-height: 1.5;
  max-width: 62ch;
}

html .vel-wizard .vel-wizard__header .vel-track {
  padding-block: .55rem .75rem;
}

html .vel-wizard .vel-track__rail {
  background: rgba(246, 240, 228, .2) !important;
  height: 1px;
}

html .vel-wizard .vel-track__fill {
  background: var(--fv-lime) !important;
  background-image: none !important;
  height: 2px;
}

html .vel-wizard .vel-track__fill::after {
  display: none;
}

html .vel-wizard .vel-track__badge {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
  border-radius: 2px !important;
  box-shadow: 0 0 0 4px rgba(232, 213, 174, .18) !important;
  font-family: var(--fv-mono);
  font-size: .66rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  width: 2.15rem !important;
  height: 1.45rem !important;
  border: 1px solid var(--fv-lime);
}

html .vel-wizard .vel-wizard__brand {
  border-top: 1px solid rgba(246, 240, 228, .14);
  max-width: 72rem;
  height: 4.25rem !important;
  padding-inline: 1.5rem !important;
}

html .vel-wizard .vel-wizard__brand .vel-logo::before,
html .vel-cabinet__header .vel-logo::before {
  background-color: var(--fv-paper) !important;
  border-radius: 4px;
}

html .vel-wizard .vel-wizard__brand .vel-logo__word,
html .vel-cabinet__header .vel-logo__word {
  color: var(--fv-paper) !important;
  text-transform: lowercase;
  letter-spacing: -.02em;
}

html .vel-wizard .vel-wizard-secure {
  border: 1px solid rgba(246, 240, 228, .24);
  border-radius: 2px;
  color: var(--fv-paper) !important;
  font-family: var(--fv-mono);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .35rem .6rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

html .vel-wizard .vel-wizard-secure::before {
  content: "";
  width: .4rem;
  height: .4rem;
  background: var(--fv-lime);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(232, 213, 174, .18);
}

html .vel-wizard .vel-wizard-secure svg {
  display: none;
}

/* corpo ------------------------------------------------------------- */

html .vel-wizard .vel-content {
  max-width: 46rem !important;
  padding: 2.6rem 1.5rem 3rem !important;
}

html .vel-wizard .vel-content .vel-label {
  color: var(--fv-muted) !important;
  font-family: var(--fv-mono);
  font-size: .64rem !important;
  font-weight: 600;
  letter-spacing: .14em !important;
  text-transform: uppercase;
}

html .vel-wizard .vel-content h1,
html .vel-wizard .vel-content .vel-amount__title,
html .vel-wizard .vel-content .vel-identity__title,
html .vel-wizard .vel-content .vel-duration__heading {
  font-family: var(--ui-display, inherit);
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  line-height: .96 !important;
  text-transform: uppercase;
  color: var(--fv-ink) !important;
}

html .vel-wizard .vel-content h1 {
  font-size: clamp(2rem, 4.6vw, 2.9rem) !important;
}

html .vel-wizard .vel-amount__heading-row {
  align-items: flex-end;
  gap: 1.5rem;
}

html .vel-wizard .vel-amount__promise {
  flex: 0 0 auto;
  max-inline-size: 11rem;
  background: var(--fv-lime) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 2px !important;
  color: var(--fv-ink) !important;
  box-shadow: 3px 3px 0 var(--fv-ink);
  font-family: var(--fv-mono);
  font-size: .6rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: .55rem .7rem !important;
  transform: none;
}

html .vel-wizard .vel-amount__promise svg {
  color: var(--fv-ink) !important;
}

html .vel-wizard .vel-amount__promise-text {
  white-space: normal !important;
  line-height: 1.3 !important;
  display: block;
}

html .vel-wizard .vel-amount__promise-text span {
  display: block;
}

/* importo ------------------------------------------------------------ */

html .vel-wizard .vel-amount-mobile__box {
  background: var(--fv-white) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 6px !important;
  box-shadow: var(--fv-shadow) !important;
  padding: 1.1rem 1.1rem 1.1rem 1.35rem !important;
  display: flex;
  align-items: center;
  gap: .75rem;
}

html body .vel-wizard .vel-content .vel-amount-mobile__input {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--fv-ink) !important;
  font-family: var(--ui-display, inherit);
  font-size: clamp(2.4rem, 6vw, 3.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.05em !important;
  line-height: 1;
  padding: 0 !important;
  outline: none !important;
}

html .vel-wizard .vel-amount-mobile__unit,
html .vel-wizard .vel-amount__currency {
  background: var(--fv-ink) !important;
  border-radius: 2px !important;
  color: var(--fv-lime) !important;
  font-family: var(--fv-mono);
  font-size: 1.4rem !important;
  font-weight: 600;
  line-height: 1;
  padding: .55rem .6rem !important;
  flex: none;
}

html .vel-wizard .vel-amount-mobile__limits {
  margin-top: .8rem !important;
  color: var(--fv-muted) !important;
  font-family: var(--fv-mono);
  font-size: .6rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

html .vel-wizard .vel-amount-mobile__limits b {
  color: var(--fv-ink) !important;
  font-size: .74rem;
  letter-spacing: 0;
}

html .vel-wizard .vel-range {
  accent-color: var(--fv-ink);
  background: linear-gradient(to right, var(--fv-ink) 0 var(--vel-fill), rgba(11, 59, 46, .16) var(--vel-fill)) !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  height: 2px;
}

html .vel-wizard .vel-range::-webkit-slider-runnable-track {
  background: transparent;
  height: 2px;
  border-radius: 0;
}

html .vel-wizard .vel-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  background: var(--fv-ink);
  border: 3px solid var(--fv-lime);
  border-radius: 2px;
  box-shadow: 0 0 0 1px var(--fv-ink);
  width: 1.35rem;
  height: 1.35rem;
  margin-top: -.63rem;
}

html .vel-wizard .vel-range::-moz-range-track {
  background: rgba(11, 59, 46, .14);
  height: 2px;
}

html .vel-wizard .vel-range::-moz-range-progress {
  background: var(--fv-ink);
  height: 2px;
}

html .vel-wizard .vel-range::-moz-range-thumb {
  background: var(--fv-ink);
  border: 3px solid var(--fv-lime);
  border-radius: 2px;
  width: 1.35rem;
  height: 1.35rem;
}

html .vel-wizard .vel-amount-mobile__rate {
  --color-accent: #e8d5ae;
  background: var(--fv-ink) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 6px !important;
  color: var(--fv-paper) !important;
  padding: 1rem 1.1rem !important;
  box-shadow: none !important;
}

html .vel-wizard .vel-amount-mobile__rate-icon {
  background: var(--fv-lime) !important;
  border-radius: 2px !important;
  color: var(--fv-ink) !important;
  font-family: var(--fv-mono);
  font-weight: 700;
}

html .vel-wizard .vel-amount-mobile__rate p {
  color: rgba(246, 240, 228, .78) !important;
  font-size: .82rem !important;
  line-height: 1.5;
}

html .vel-wizard .vel-amount-mobile__rate a {
  color: var(--fv-lime) !important;
  font-family: var(--fv-mono);
  font-size: .64rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid rgba(232, 213, 174, .45);
  padding-bottom: .1rem;
}

html .vel-wizard .vel-amount-mobile__rate a:hover {
  border-bottom-color: var(--fv-lime);
}

/* durata -------------------------------------------------------------- */

html .vel-wizard .vel-duration__selector,
html .vel-wizard .vel-duration__summary-wrap,
html .vel-wizard .vel-select,
html .vel-wizard .vel-purpose,
html .vel-wizard .vel-duration__summary,
html .vel-wizard .vel-analysis-panel,
html .vel-wizard .vel-result-card {
  background: var(--fv-white) !important;
  border: 1px solid var(--fv-line) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

html .vel-wizard .vel-duration__selector,
html .vel-wizard .vel-duration__summary-wrap {
  max-inline-size: 100% !important;
  width: 100% !important;
}

html .vel-wizard .vel-duration__selector {
  padding: .35rem .4rem .55rem !important;
}

html .vel-wizard .vel-duration__summary {
  background: var(--fv-ink) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 6px !important;
  color: var(--fv-paper) !important;
  gap: 1px !important;
  overflow: hidden;
}

html .vel-wizard .vel-duration__summary > div {
  background: var(--fv-ink) !important;
  padding: 1rem 1.15rem !important;
  text-align: left;
}

html .vel-wizard .vel-duration__summary > div + div {
  border-inline-start: 1px solid rgba(246, 240, 228, .18) !important;
  border-block: 0 !important;
}

html .vel-wizard .vel-duration__summary dd {
  color: var(--fv-lime) !important;
  font-family: var(--ui-display, inherit);
  font-weight: 700 !important;
  letter-spacing: -.03em;
}

html .vel-wizard .vel-duration__summary dd span {
  color: rgba(246, 240, 228, .6) !important;
  font-family: var(--fv-mono);
  font-weight: 400 !important;
}

html .vel-wizard .vel-duration { align-items: stretch !important; text-align: left !important; }
html .vel-wizard .vel-duration__heading { align-items: flex-start !important; text-align: left !important; }

html .vel-wizard .vel-content h1,
html .vel-wizard .vel-content .vel-label,
html .vel-wizard .vel-duration__value,
html .vel-wizard .vel-duration__footnote {
  text-align: left !important;
}

html .vel-wizard .vel-duration__summary dt {
  color: rgba(246, 240, 228, .6) !important;
  font-family: var(--fv-mono);
  font-size: .58rem !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

html .vel-wizard .vel-duration__value,
html .vel-wizard .vel-result-amount {
  color: var(--fv-ink) !important;
  font-family: var(--ui-display, inherit);
  font-weight: 800;
  letter-spacing: -.04em;
}

html .vel-wizard .vel-duration__value .vel-num {
  color: var(--fv-ink) !important;
  font-family: var(--ui-display, inherit) !important;
  font-weight: 800 !important;
  letter-spacing: -.05em;
}

html .vel-wizard .vel-duration__value span:last-child {
  color: var(--fv-muted) !important;
  font-family: var(--fv-mono);
  font-size: .68rem !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

html .vel-wizard .vel-duration__limits {
  padding-inline: .15rem;
}

html .vel-wizard .vel-duration__footnote,
html .vel-wizard .vel-duration__limits,
html .vel-wizard .vel-identity__privacy {
  color: var(--fv-muted) !important;
  font-family: var(--fv-mono);
  font-size: .62rem;
  letter-spacing: .03em;
}

/* campi */

html .vel-wizard .vel-content input:not([type="range"]):not([type="radio"]):not([type="checkbox"]):not(.vel-amount-mobile__input),
html .vel-wizard .vel-content select,
html .vel-wizard .vel-content textarea {
  background: var(--fv-white) !important;
  border: 1px solid var(--fv-line-strong) !important;
  border-radius: 4px !important;
  color: var(--fv-ink) !important;
  font-family: var(--ui-body, inherit);
  box-shadow: none !important;
}

html .vel-wizard .vel-content input:focus-visible:not(.vel-amount-mobile__input),
html .vel-wizard .vel-content select:focus-visible,
html .vel-wizard .vel-content textarea:focus-visible {
  border-color: var(--fv-ink) !important;
  outline: 2px solid var(--fv-lime) !important;
  outline-offset: 0 !important;
}

html .vel-wizard .vel-select > button,
html .vel-wizard .vel-select button[aria-haspopup] {
  background: var(--fv-white) !important;
  border: 1px solid var(--fv-line-strong) !important;
  border-radius: 4px !important;
  color: var(--fv-ink) !important;
}

html .vel-wizard .vel-gender {
  background: var(--fv-white) !important;
  border: 1px solid var(--fv-line) !important;
  border-radius: 4px !important;
  color: var(--fv-ink) !important;
}

html .vel-wizard .vel-gender--on {
  background: var(--fv-lime) !important;
  border-color: var(--fv-ink) !important;
  color: var(--fv-ink) !important;
}

html .vel-wizard .vel-select__item.is-checked,
html .vel-wizard .is-checked {
  border-color: var(--fv-ink) !important;
  background: rgba(232, 213, 174, .18) !important;
}

/* CTA del piede ------------------------------------------------------- */

html .vel-wizard .vel-wizard__footer {
  background: var(--fv-paper) !important;
  border-top: 1px solid var(--fv-ink) !important;
  padding: 0 !important;
}

html .vel-wizard .vel-wizard__actions {
  max-width: 46rem !important;
  padding: 1rem 1.5rem !important;
}

html .vel-wizard .vel-wizard__actions button,
html .vel-wizard .vel-wizard__actions a {
  border-radius: 4px !important;
  font-family: var(--ui-body, inherit);
  font-weight: 700 !important;
  letter-spacing: -.01em;
}

html .vel-wizard .vel-wizard__actions .bg-accent {
  background: var(--fv-ink) !important;
  color: var(--fv-paper) !important;
  border: 1px solid var(--fv-ink) !important;
  box-shadow: 4px 4px 0 var(--fv-lime);
}

html .vel-wizard .vel-wizard__actions .bg-accent:hover {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
  box-shadow: 4px 4px 0 var(--fv-ink);
}

html .vel-wizard .vel-wizard__actions .border-line-strong {
  background: transparent !important;
  border: 1px solid var(--fv-ink) !important;
  color: var(--fv-ink) !important;
}

html .vel-wizard .vel-wizard__actions .border-line-strong:hover {
  background: var(--fv-ink) !important;
  color: var(--fv-paper) !important;
}

html .vel-wizard .vel-wizard__actions button:disabled {
  background: #e8dfcc !important;
  border: 1px solid rgba(11, 59, 46, .18) !important;
  box-shadow: none !important;
  color: rgba(11, 59, 46, .42) !important;
  opacity: 1 !important;
  cursor: not-allowed;
}

html .vel-wizard .vel-identity__privacy {
  border-inline-start: 3px solid var(--fv-lime);
  padding-inline-start: .75rem;
  line-height: 1.55;
}

/* =====================================================================
   AREA PERSONALE — testata ink, indice numerato, carta
   ===================================================================== */

html .vel-cabinet {
  background: var(--fv-paper) !important;
  color: var(--fv-ink) !important;
}

html .vel-cabinet__header {
  --color-surface: #0b3b2e;
  --color-ground: #0b3b2e;
  --color-fg: #f6f0e4;
  --color-muted: rgba(246, 240, 228, .64);
  --color-faint: rgba(246, 240, 228, .42);
  --color-line: rgba(246, 240, 228, .16);
  --color-line-strong: rgba(246, 240, 228, .3);
  --color-track: rgba(246, 240, 228, .22);
  --color-accent: #e8d5ae;
  --color-accent-ink: #0b3b2e;
  --color-accent-deep: #e8d5ae;
  --color-success: #e8d5ae;
  background: var(--fv-ink) !important;
  border-block-end: 1px solid var(--fv-ink) !important;
  color: var(--fv-paper) !important;
}

html .vel-cabinet__header .vel-cabinet__bar {
  padding-inline: 1.15rem !important;
}

html .vel-cabinet__header .vel-cabinet__home {
  border-radius: 4px;
}

html .vel-cabinet__header .vel-cabinet__home:hover {
  background: rgba(246, 240, 228, .08) !important;
}

html .vel-cabinet__header .vel-cabinet__track {
  background: transparent !important;
  padding: .5rem 1.1rem .7rem !important;
  border-top: 1px solid rgba(246, 240, 228, .1);
  margin-top: .2rem;
}

html .vel-cabinet__header .vel-track__lead {
  color: var(--fv-paper) !important;
  font-family: var(--fv-mono) !important;
  font-size: .62rem !important;
  font-weight: 600 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}

html .vel-cabinet__header .vel-track__count {
  color: var(--fv-lime) !important;
  font-family: var(--fv-mono) !important;
  font-size: .64rem !important;
  letter-spacing: .06em;
}

html .vel-cabinet__header .vel-track__row::before {
  background: rgba(246, 240, 228, .18) !important;
  height: 1px;
}

html .vel-cabinet__header .vel-track__row::after {
  background: var(--fv-lime) !important;
  background-image: none !important;
  height: 1px;
}

html .vel-cabinet__header .vel-step__mark {
  border-radius: 2px !important;
  width: 1.7rem !important;
  height: 1.7rem !important;
}

html .vel-cabinet__header .vel-step--done .vel-step__mark {
  background: var(--fv-lime) !important;
  border-color: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
}

html .vel-cabinet__header .vel-step--current .vel-step__mark {
  background: transparent !important;
  border: 1px solid var(--fv-lime) !important;
  color: var(--fv-lime) !important;
  box-shadow: 0 0 0 4px rgba(232, 213, 174, .16) !important;
}

html .vel-cabinet__header .vel-step--upcoming .vel-step__mark {
  background: transparent !important;
  border: 1px solid rgba(246, 240, 228, .3) !important;
  color: rgba(246, 240, 228, .5) !important;
}

html .vel-cabinet__header .vel-step__label {
  color: rgba(246, 240, 228, .62) !important;
  font-family: var(--fv-mono) !important;
  font-size: .56rem !important;
  font-weight: 500 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}

html .vel-cabinet__header .vel-step--current .vel-step__label {
  color: var(--fv-lime) !important;
}

html .vel-cabinet__header .vel-step--done .vel-step__label {
  color: var(--fv-paper) !important;
}

html .vel-cabinet__header .vel-step:hover .vel-step__label {
  color: var(--fv-lime) !important;
}

html .vel-cabinet__header .vel-cabinet__user-name {
  color: var(--fv-paper) !important;
  font-weight: 600;
}

html .vel-cabinet__header .vel-cabinet__user-mail {
  color: rgba(246, 240, 228, .52) !important;
  font-family: var(--fv-mono);
  font-size: .58rem !important;
  letter-spacing: .02em;
}

html .vel-cabinet__header .vel-avatar {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
  border-radius: 2px !important;
  font-family: var(--fv-mono);
  font-weight: 700;
  letter-spacing: .04em;
}

html .vel-cabinet__header .vel-cabinet__user:hover .vel-avatar {
  background: var(--fv-paper) !important;
}

html .vel-cabinet__header .vel-cabinet__bell {
  border: 1px solid rgba(246, 240, 228, .24);
  border-radius: 2px;
  color: var(--fv-paper) !important;
}

html .vel-cabinet__header .vel-cabinet__bell:hover {
  background: var(--fv-lime);
  border-color: var(--fv-lime);
  color: var(--fv-ink) !important;
}

html .vel-cabinet__header .vel-cabinet__badge {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
  border-radius: 2px !important;
  font-family: var(--fv-mono);
  font-weight: 700;
}

/* indice laterale ----------------------------------------------------- */

html .vel-cabinet__body {
  background: var(--fv-paper) !important;
}

html .vel-cabinet__body .vel-cabinet-nav {
  background: var(--fv-paper) !important;
  border-inline-end: 1px solid rgba(11, 59, 46, .14);
  padding-block-start: 1.15rem !important;
}

html .vel-cabinet__body .vel-cabinet-nav::before {
  content: "Area personale";
  display: block;
  font-family: var(--ui-display, inherit);
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: -.02em;
  text-transform: uppercase;
  line-height: 1.05;
  padding: 0 .55rem .85rem;
  margin-bottom: .9rem;
  margin-inline: .55rem;
  border-bottom: 1px solid var(--fv-ink);
}

html .vel-cabinet__body .vel-cabinet-nav__list {
  counter-reset: fvnav;
  padding: 0 .55rem !important;
}

html .vel-cabinet__body .vel-cabinet-nav__cell {
  counter-increment: fvnav;
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

html .vel-cabinet__body .vel-cabinet-nav__link {
  background: transparent !important;
  color: var(--fv-ink) !important;
  border-radius: 4px !important;
  font-family: var(--ui-body, inherit);
  font-size: .9rem !important;
  font-weight: 600;
  letter-spacing: -.01em;
  padding: .62rem .6rem !important;
  border: 1px solid transparent;
  transition: background .15s, color .15s, border-color .15s;
}

html .vel-cabinet__body .vel-cabinet-nav__label {
  display: flex;
  align-items: center;
  gap: .45rem;
}

html .vel-cabinet__body .vel-cabinet-nav__label::before {
  content: counter(fvnav, decimal-leading-zero);
  font-family: var(--fv-mono);
  font-size: .55rem;
  font-weight: 500;
  color: rgba(11, 59, 46, .45);
  letter-spacing: .04em;
}

html .vel-cabinet__body .vel-cabinet-nav__link:hover {
  background: rgba(232, 213, 174, .4) !important;
  border-color: var(--fv-ink);
}

html .vel-cabinet__body .vel-cabinet-nav__link--active {
  background: var(--fv-ink) !important;
  border-color: var(--fv-ink) !important;
  color: var(--fv-paper) !important;
}

html .vel-cabinet__body .vel-cabinet-nav__link--active .vel-cabinet-nav__label::before {
  color: var(--fv-lime);
}

html .vel-cabinet__body .vel-cabinet-nav__link--active .vel-cabinet-nav__icon-wrap {
  color: var(--fv-lime);
}

html .vel-cabinet__body .vel-cabinet-nav__link--cta {
  background: transparent !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 4px !important;
  color: var(--fv-ink) !important;
  margin-top: .35rem;
}

html .vel-cabinet__body .vel-cabinet-nav__link--cta:hover {
  background: var(--fv-lime) !important;
}

/* area principale ----------------------------------------------------- */

html .vel-cabinet__main {
  background: var(--fv-paper) !important;
  max-inline-size: 60rem !important;
}

html .vel-cabinet__main .vel-cabinet__page {
  animation: fv-page .4s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes fv-page {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

html .vel-cabinet__main .vel-cabinet__page h2:not(.sr-only) {
  letter-spacing: -.025em;
}

html .vel-cabinet__main .vel-profile__heading,
html .vel-cabinet__main .vel-docs-page__heading {
  font-family: var(--ui-display, inherit);
  font-size: 1.7rem !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  line-height: 1 !important;
  text-transform: uppercase;
  border-inline-start: 6px solid var(--fv-lime);
  padding-inline-start: .85rem;
  margin-block: .15rem 1rem !important;
}

html .vel-cabinet__main .vel-profile__heading::after,
html .vel-cabinet__main .vel-docs-page__heading::after {
  content: "Area riservata";
  display: block;
  font-family: var(--fv-mono);
  font-size: .55rem;
  font-weight: 500;
  letter-spacing: .16em;
  color: var(--fv-muted);
  margin-top: .35rem;
}

/* documento: opzioni e pulsanti -------------------------------------- */

html .vel-cabinet .vel-docs-page__panel,
html .vel-cabinet .vel-docup,
html .vel-cabinet .vel-contract-card,
html .vel-cabinet .vel-doc-card {
  border-radius: 4px !important;
}

html .vel-cabinet .vel-docup {
  border-color: var(--fv-ink) !important;
}

html .vel-cabinet .vel-docup__badge {
  border-radius: 2px !important;
  font-family: var(--fv-mono);
  font-size: .56rem !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}

html .vel-cabinet .vel-docup__badge--idle,
html .vel-cabinet .vel-docup__badge--verified {
  background: var(--fv-lime) !important;
  border-color: var(--fv-ink) !important;
  color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-docup__badge--checking {
  background: var(--fv-paper) !important;
  border-color: rgba(11, 59, 46, .42) !important;
  color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-docup__done {
  background: var(--fv-white) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 3px !important;
  color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-docup__done-note {
  color: rgba(11, 59, 46, .75) !important;
  font-size: .8rem !important;
}
html .vel-cabinet .vel-docup__done svg {
  color: var(--fv-ink) !important;
}

html .vel-cabinet .vel-dockind__row {
  border: 1px solid var(--fv-line) !important;
  border-radius: 3px !important;
  background: var(--fv-white) !important;
  transition: border-color .15s, background .15s;
}

html .vel-cabinet .vel-dockind__row:hover {
  border-color: var(--fv-ink) !important;
  background: rgba(232, 213, 174, .12) !important;
}

html .vel-cabinet .vel-dockind__row:has(input:checked),
html .vel-cabinet .vel-dockind__row.is-checked,
html .vel-cabinet .vel-dockind__row--on {
  border-color: var(--fv-ink) !important;
  background: rgba(232, 213, 174, .2) !important;
}

html .vel-cabinet .vel-dockind__mark {
  border-radius: 2px !important;
  background: var(--fv-paper) !important;
}

html .vel-cabinet .vel-dockind__name {
  font-weight: 600;
  letter-spacing: -.01em;
}

html .vel-cabinet .vel-dockind__legend {
  font-family: var(--fv-mono);
  font-size: .58rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--fv-muted) !important;
}

html .vel-cabinet .vel-dockind__row input[type="radio"] + * {
  border-radius: 2px !important;
}

html .vel-cabinet .vel-cactions__btn {
  border-radius: 3px !important;
  font-family: var(--ui-body, inherit);
  font-weight: 700 !important;
  letter-spacing: -.01em;
}

html .vel-cabinet .vel-cactions__btn--iban {
  background: var(--fv-ink) !important;
  border-color: var(--fv-ink) !important;
  color: var(--fv-paper) !important;
}

html .vel-cabinet .vel-cactions__btn--iban:hover {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
}

html .vel-cabinet .vel-cactions__btn:disabled {
  background: #e8dfcc !important;
  border: 1px solid rgba(11, 59, 46, .18) !important;
  color: rgba(11, 59, 46, .45) !important;
  opacity: 1 !important;
  box-shadow: none !important;
  cursor: not-allowed;
}

html .vel-cabinet .vel-cactions__state {
  background: rgba(232, 213, 174, .55) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 3px !important;
  color: var(--fv-ink) !important;
  font-family: var(--fv-mono);
  font-size: .56rem !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .35rem .55rem !important;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  width: fit-content;
}
html .vel-cabinet .vel-cactions__hint {
  color: var(--fv-muted) !important;
  font-size: .78rem !important;
}
html .vel-cabinet .vel-cactions__btn--sign:not(:disabled) {
  background: var(--fv-ink) !important;
  border-color: var(--fv-ink) !important;
  color: var(--fv-paper) !important;
}

html .vel-cabinet .vel-security__verify-wrap {
  border-radius: 3px !important;
}
html .vel-cabinet .vel-security__verify--pending {
  background: var(--fv-paper) !important;
  border: 1px dashed rgba(11, 59, 46, .38) !important;
}
html .vel-cabinet .vel-security__badge-pending,
html .vel-cabinet .vel-security__badge-ok {
  background: var(--fv-lime) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 2px !important;
  color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-security__badge-pending svg,
html .vel-cabinet .vel-security__badge-ok svg {
  color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-security__verify-btn {
  border-radius: 3px !important;
}
html .vel-cabinet .vel-contract-card__tile {
  border-radius: 3px !important;
}

html .vel-cabinet .vel-contract-card__pdf {
  border-radius: 3px !important;
}

html .vel-cabinet .vel-meter__fill {
  background: var(--fv-lime) !important;
}

/* chat: angoli squadrati --------------------------------------------- */

html .vel-cabinet .vel-bubble__body {
  border-radius: 4px !important;
}

html .vel-cabinet .vel-chat {
  border-radius: 4px !important;
}

/* scheda cliente ------------------------------------------------------ */

html .vel-cabinet .vel-brow {
  background: var(--fv-white) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  padding: .5rem .3rem !important;
}

html .vel-cabinet .vel-brow__col {
  border-radius: 0 !important;
}

html .vel-cabinet .vel-brow__col--who {
  padding-inline: .7rem !important;
}

html .vel-cabinet .vel-brow__col--iban {
  border-inline-start: 1px solid var(--fv-line) !important;
  padding-inline: .9rem !important;
}

html .vel-cabinet .vel-brow__ava {
  background: var(--fv-ink) !important;
  border-radius: 2px !important;
  color: var(--fv-lime) !important;
  font-family: var(--fv-mono);
  font-weight: 700;
}

html .vel-cabinet .vel-brow__lbl {
  color: var(--fv-muted) !important;
  font-family: var(--fv-mono);
  font-size: .55rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}

html .vel-cabinet .vel-brow__val {
  font-weight: 600;
  letter-spacing: -.01em;
}

html .vel-cabinet .vel-brow__mono {
  font-family: var(--fv-mono);
}

/* saldo --------------------------------------------------------------- */

html .vel-cabinet .vel-payout {
  --color-surface: #0b3b2e;
  --color-fg: #f6f0e4;
  --color-muted: rgba(246, 240, 228, .6);
  --color-faint: rgba(246, 240, 228, .45);
  --color-line: rgba(246, 240, 228, .18);
  --color-line-strong: rgba(246, 240, 228, .4);
  --color-accent: #e8d5ae;
  --color-accent-ink: #0b3b2e;
  --color-accent-deep: #e8d5ae;
  --color-success: #e8d5ae;
  background: var(--fv-ink) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 8px !important;
  box-shadow: 10px 10px 0 var(--fv-lime) !important;
  padding: 1.45rem 1.5rem 1.5rem !important;
  gap: .7rem !important;
}

html .vel-cabinet .vel-payout__balance-label {
  color: var(--fv-lime) !important;
  font-family: var(--fv-mono) !important;
  font-size: .64rem !important;
  letter-spacing: .14em !important;
}

html .vel-cabinet .vel-payout__bstatus {
  border-radius: 2px !important;
  font-family: var(--fv-mono);
  font-size: .58rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

html .vel-cabinet .vel-payout__bstatus--ready {
  background: rgba(232, 213, 174, .12) !important;
  border-color: rgba(232, 213, 174, .5) !important;
  color: var(--fv-lime) !important;
}

html .vel-cabinet .vel-payout__bstatus--loading,
html .vel-cabinet .vel-payout__bstatus--hold,
html .vel-cabinet .vel-payout__bstatus--cert,
html .vel-cabinet .vel-payout__bstatus--wait,
html .vel-cabinet .vel-payout__bstatus--idle {
  background: rgba(246, 240, 228, .08) !important;
  border-color: rgba(246, 240, 228, .28) !important;
  color: var(--fv-paper) !important;
}

html .vel-cabinet .vel-payout__bstatus--rejected {
  background: rgba(255, 120, 100, .12) !important;
  border-color: rgba(255, 120, 100, .5) !important;
  color: #ff9c86 !important;
}

html .vel-cabinet .vel-payout__amount-label {
  color: rgba(246, 240, 228, .58) !important;
  font-family: var(--fv-mono);
  font-size: .6rem !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

html .vel-cabinet .vel-payout__approved {
  border: 1px solid rgba(232, 213, 174, .45) !important;
  border-radius: 2px !important;
  background: rgba(232, 213, 174, .12) !important;
  color: var(--fv-lime) !important;
  font-family: var(--fv-mono);
  font-size: .56rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: .22rem .45rem !important;
}

html .vel-cabinet .vel-payout__tan-chip {
  border: 1px solid rgba(246, 240, 228, .28) !important;
  border-radius: 2px !important;
  background: transparent !important;
  color: var(--fv-paper) !important;
  font-family: var(--fv-mono);
  font-size: .56rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: .2rem .45rem !important;
}

html .vel-cabinet .vel-payout__amount-row {
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

html .vel-cabinet .vel-payout__amount {
  color: var(--fv-lime) !important;
  font-family: var(--ui-display, inherit) !important;
  font-size: clamp(2.6rem, 5vw, 3.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.05em !important;
  line-height: 1 !important;
}

html body .vel-cabinet .vel-payout .vel-payout__prestito {
  background: transparent !important;
  border: 1px solid rgba(246, 240, 228, .4) !important;
  border-radius: 2px !important;
  color: var(--fv-paper) !important;
  font-family: var(--fv-mono);
  font-size: .6rem !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}

html body .vel-cabinet .vel-payout .vel-payout__prestito:hover {
  background: var(--fv-paper) !important;
  border-color: var(--fv-paper) !important;
  color: var(--fv-ink) !important;
}

html body .vel-cabinet .vel-payout .vel-payout__withdraw {
  background: var(--fv-lime) !important;
  border: 1px solid var(--fv-lime) !important;
  border-radius: 4px !important;
  color: var(--fv-ink) !important;
  box-shadow: none !important;
  font-family: var(--ui-body, inherit);
  font-weight: 700 !important;
  font-size: .95rem !important;
  letter-spacing: -.01em;
  margin-top: .35rem;
}

html body .vel-cabinet .vel-payout .vel-payout__withdraw:hover {
  background: var(--fv-paper) !important;
  border-color: var(--fv-paper) !important;
  color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-payout .vel-payout__withdraw--dim {
  background: rgba(246, 240, 228, .1) !important;
  border-color: rgba(246, 240, 228, .42) !important;
  color: var(--fv-paper) !important;
  opacity: 1 !important;
}

html .vel-cabinet .vel-payout__withdraw--pulse {
  animation: none !important;
}

html .vel-cabinet .vel-payout__withdraw-go {
  margin-left: auto;
  font-family: var(--fv-mono);
}

/* riquadro scelta metodo di accredito -------------------------------- */

html .vel-cabinet .vel-ppanel {
  background: var(--fv-white) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 6px !important;
  box-shadow: 8px 8px 0 var(--fv-lime) !important;
}

html .vel-cabinet .vel-ppanel__title {
  letter-spacing: -.02em;
}

html .vel-cabinet .vel-methods__face {
  border-radius: 3px !important;
  border: 1px solid rgba(11, 59, 46, .16) !important;
  background: var(--fv-paper) !important;
}
html .vel-cabinet .vel-methods__item:hover .vel-methods__face {
  border-color: rgba(11, 59, 46, .42) !important;
}
html .vel-cabinet .vel-methods__item input:checked + .vel-methods__face {
  background: rgba(232, 213, 174, .22) !important;
  border-color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-methods__dot {
  border-radius: 2px !important;
}
html .vel-cabinet .vel-methods__sign {
  border-radius: 2px !important;
}

html .vel-cabinet .vel-ppanel__x {
  border-radius: 3px !important;
  border: 1px solid rgba(11, 59, 46, .16) !important;
}
html .vel-cabinet .vel-ppanel__x:hover {
  background: var(--fv-lime) !important;
  border-color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-ppanel__lead {
  color: var(--fv-muted) !important;
}
html .vel-cabinet .vel-ppanel__amount {
  background: var(--fv-paper) !important;
  border: 1px solid rgba(11, 59, 46, .16) !important;
  border-radius: 3px !important;
}
html .vel-cabinet .vel-ppanel__sum {
  letter-spacing: -.03em !important;
  color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-ppanel__max,
html .vel-cabinet .vel-ppanel__amount .vel-label {
  font-family: var(--fv-mono) !important;
  font-size: .55rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}
html .vel-cabinet .vel-ppanel__amount .text-accent-deep,
html .vel-cabinet .vel-ppanel__amount .vel-ppanel__pct {
  color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-ppanel__cta {
  border-radius: 3px !important;
  border: 1px solid var(--fv-ink) !important;
  background: var(--fv-ink) !important;
  color: var(--fv-paper) !important;
  font-weight: 650 !important;
}
html .vel-cabinet .vel-ppanel__cta:hover:not(:disabled) {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-ppanel__cta:disabled {
  background: #e8dfcc !important;
  border-color: rgba(11, 59, 46, .18) !important;
  color: rgba(11, 59, 46, .45) !important;
  opacity: 1 !important;
}
html .vel-cabinet .vel-ppanel__cta--pulse {
  animation: none !important;
}


/* passaggi ------------------------------------------------------------ */

html .vel-cabinet .vel-steps {
  background: var(--fv-white) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  overflow: hidden;
}

html .vel-cabinet .vel-steps__toggle {
  background: transparent !important;
  border-bottom: 1px solid rgba(11, 59, 46, .12);
  font-family: var(--fv-mono);
  font-size: .66rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--fv-ink) !important;
  padding: .85rem 1rem !important;
}

html .vel-cabinet .vel-steps__toggle-label {
  flex: 1;
}

html .vel-cabinet .vel-steps__body {
  padding: .5rem 1rem .75rem !important;
}

html .vel-cabinet .vel-step-row__hit {
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(11, 59, 46, .08);
  padding-block: .45rem !important;
}

html .vel-cabinet .vel-step-row:last-child .vel-step-row__hit {
  border-bottom: 0;
}

html .vel-cabinet .vel-step-row__hit--open:hover {
  background: rgba(232, 213, 174, .18) !important;
}

html .vel-cabinet .vel-step-row__mark {
  border-radius: 2px !important;
  border-color: rgba(11, 59, 46, .3) !important;
  color: rgba(11, 59, 46, .45) !important;
}

html .vel-cabinet .vel-step-row--done .vel-step-row__mark {
  background: var(--fv-ink) !important;
  border-color: var(--fv-ink) !important;
  color: var(--fv-lime) !important;
}

html .vel-cabinet .vel-step-row--current .vel-step-row__mark {
  background: var(--fv-lime) !important;
  border: 1px solid var(--fv-ink) !important;
  color: var(--fv-ink) !important;
  box-shadow: 0 0 0 4px rgba(232, 213, 174, .3) !important;
}

html .vel-cabinet .vel-step-row__label {
  font-weight: 600;
  letter-spacing: -.01em;
}

html .vel-cabinet .vel-step-row__meta {
  font-family: var(--fv-mono);
  font-size: .6rem;
}

/* pannelli e schede generiche ---------------------------------------- */

html .vel-cabinet__main .rounded-panel,
html .vel-cabinet__main .rounded-card,
html .vel-cabinet__main .rounded-xl,
html .vel-cabinet__main .rounded-2xl {
  border-radius: 6px !important;
}

html .vel-cabinet__main .border-line {
  border-color: var(--fv-line) !important;
}

html .vel-cabinet__main [class*="bg-surface"] {
  background-color: var(--fv-white) !important;
}

html .vel-cabinet__main .vel-label {
  color: var(--fv-muted) !important;
  font-family: var(--fv-mono);
  font-size: .62rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}

html .vel-cabinet__main .vel-stage .bg-accent {
  background: var(--fv-ink) !important;
  color: var(--fv-paper) !important;
  border-radius: 4px !important;
}

html .vel-cabinet__main .vel-stage .bg-accent:hover {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
}

/* tabella / documenti ------------------------------------------------ */

html .vel-cabinet .vel-docslot__pick,
html .vel-cabinet .vel-docs__slot {
  border-radius: 3px !important;
}

html .vel-cabinet .vel-docslot__pick {
  background: var(--fv-white) !important;
  border: 1px solid rgba(11, 59, 46, .16) !important;
  box-shadow: none !important;
}
html .vel-cabinet .vel-docslot__pick:hover {
  border-color: var(--fv-ink) !important;
}
html .vel-cabinet .vel-docslot__pick > span {
  background: var(--fv-paper) !important;
  border: 1px solid var(--fv-ink) !important;
  border-radius: 3px !important;
  font-weight: 600;
}
html .vel-cabinet .vel-docslot__pick:hover > span {
  background: var(--fv-lime) !important;
}
html .vel-cabinet .vel-docslot__pick--pulse {
  animation: none !important;
}

html .vel-cabinet button[class*="bg-accent"]:disabled {
  background: #e8dfcc !important;
  border-color: rgba(11, 59, 46, .18) !important;
  color: rgba(11, 59, 46, .45) !important;
  opacity: 1 !important;
  box-shadow: none !important;
  cursor: not-allowed;
}

html .vel-cabinet .vel-csign__panel {
  box-shadow: 8px 8px 0 var(--fv-lime) !important;
}

/* messaggi / chat ---------------------------------------------------- */

html .vel-cabinet .vel-bubble--own .vel-bubble__body {
  background: var(--fv-ink) !important;
  color: var(--fv-paper) !important;
  border-radius: 6px 6px 2px 6px !important;
}

html .vel-cabinet .vel-bubble--other .vel-bubble__body {
  background: var(--fv-white) !important;
  border: 1px solid var(--fv-line) !important;
  border-radius: 6px 6px 6px 2px !important;
}

html .vel-cabinet .vel-composer__area {
  border-radius: 4px !important;
}

html .vel-cabinet .vel-composer__send {
  background: var(--fv-ink) !important;
  color: var(--fv-lime) !important;
  border-radius: 4px !important;
}

html .vel-cabinet .vel-composer__send:hover {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
}

/* accesso / registrazione -------------------------------------------- */

html dialog.vel-reg {
  border-radius: 4px !important;
  border: 1px solid #0b3b2e !important;
  box-shadow: 8px 8px 0 #e8d5ae, 0 30px 80px -40px rgba(11, 59, 46, .5) !important;
}
html dialog.vel-reg button {
  border-radius: 3px !important;
}

/* finestre modali dentro l'area personale ---------------------------- */

html:has(.vel-cabinet) dialog:not(.vel-reg) {
  border-radius: 4px !important;
  border: 1px solid var(--fv-ink) !important;
  box-shadow: 8px 8px 0 var(--fv-lime), 0 30px 80px -40px rgba(11, 59, 46, .5) !important;
}

html:has(.vel-cabinet) .vel-l5w__title {
  letter-spacing: -.02em;
  text-transform: uppercase;
  font-weight: 800;
}
html:has(.vel-cabinet) .vel-l5w__cta {
  border-radius: 3px !important;
  background: var(--fv-ink) !important;
  border-color: var(--fv-ink) !important;
  color: var(--fv-paper) !important;
}
html:has(.vel-cabinet) .vel-l5w__cta:hover {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
}
html:has(.vel-cabinet) .vel-l5w__close {
  border-radius: 3px !important;
}
html:has(.vel-cabinet) dialog:not(.vel-reg) button:disabled {
  background: #e8dfcc !important;
  border-color: rgba(11, 59, 46, .18) !important;
  color: rgba(11, 59, 46, .45) !important;
  opacity: 1 !important;
  box-shadow: none !important;
  cursor: not-allowed;
}

html:has(.vel-cabinet) .vel-ciban__title,
html:has(.vel-cabinet) .vel-pdf-dlg__title {
  letter-spacing: -.02em;
}
html:has(.vel-cabinet) .vel-ciban__lead {
  color: var(--fv-muted) !important;
}
html:has(.vel-cabinet) .vel-ciban__close,
html:has(.vel-cabinet) .vel-pdf-dlg__close {
  border-radius: 3px !important;
}
html:has(.vel-cabinet) .vel-ciban__close:hover,
html:has(.vel-cabinet) .vel-pdf-dlg__close:hover {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
}
html:has(.vel-cabinet) .vel-pdf-dlg__foot button {
  border-radius: 3px !important;
}
html:has(.vel-cabinet) .vel-ciban__step {
  border-radius: 3px !important;
  border: 1px solid rgba(11, 59, 46, .16) !important;
  font-family: var(--fv-mono);
  font-size: .58rem !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}
html:has(.vel-cabinet) .vel-ciban__step.vel-ciban__step--on {
  background: var(--fv-ink) !important;
  border-color: var(--fv-ink) !important;
  color: var(--fv-paper) !important;
}
html:has(.vel-cabinet) .vel-ciban__step-num {
  border-radius: 2px !important;
}
html:has(.vel-cabinet) .vel-ciban__step--on .vel-ciban__step-num {
  background: var(--fv-lime) !important;
  color: var(--fv-ink) !important;
}

html:has(.vel-cabinet) dialog:not(.vel-reg)::backdrop {
  background: rgba(11, 59, 46, .55);
  backdrop-filter: blur(2px);
}

/* =====================================================================
   MOBILE — testata compatta, indice in basso, carta a tutta larghezza
   ===================================================================== */

@media (width <= 47.999rem) {
  html .vel-wizard .vel-duration__summary > div + div {
    border-inline-start: 0 !important;
    border-block-start: 1px solid rgba(246, 240, 228, .18) !important;
    border-block-end: 0 !important;
  }
  html .vel-wizard .vel-duration__summary > div {
    padding-block: .9rem !important;
  }

  html .vel-wizard .vel-content {
    padding: 1.6rem 1.1rem 2.5rem !important;
  }

  html .vel-wizard .vel-wizard__disclaimer {
    font-size: .56rem !important;
    padding-inline: 1.1rem !important;
  }

  html .vel-wizard .vel-wizard__brand {
    padding-inline: 1.1rem !important;
    height: 3.6rem !important;
  }

  html .vel-wizard .vel-amount__heading-row {
    flex-direction: column;
    align-items: flex-start;
    gap: .9rem;
  }

  html .vel-wizard .vel-amount__promise {
    transform: none;
    max-inline-size: min(100%, 15rem);
  }

  html .vel-wizard .vel-amount-mobile__box {
    box-shadow: 5px 5px 0 var(--fv-lime) !important;
  }

  html .vel-wizard .vel-wizard__actions {
    padding: .85rem 1.1rem calc(.85rem + env(safe-area-inset-bottom)) !important;
  }

  html .vel-cabinet__header .vel-cabinet__bar {
    padding-inline: .8rem !important;
  }

  html .vel-cabinet__header .vel-cabinet__track {
    padding: .4rem .8rem .55rem !important;
  }

  html .vel-cabinet__header .vel-step__label {
    display: none;
  }

  html .vel-cabinet__body .vel-cabinet-nav {
    background: rgba(246, 240, 228, .96) !important;
    border-top: 1px solid var(--fv-ink);
    border-inline-end: 0;
    backdrop-filter: blur(10px);
  }

  html .vel-cabinet__body .vel-cabinet-nav::before {
    display: none;
  }

  html .vel-cabinet__body .vel-cabinet-nav__list {
    padding: .3rem !important;
  }

  html .vel-cabinet__body .vel-cabinet-nav__cell {
    border-bottom: 0 !important;
  }

  html .vel-cabinet__body .vel-cabinet-nav__link {
    padding: .4rem .3rem !important;
    font-size: .68rem !important;
  }

  html .vel-cabinet__body .vel-cabinet-nav__label {
    gap: 0;
  }

  html .vel-cabinet__body .vel-cabinet-nav__label::before {
    display: none;
  }

  html .vel-cabinet__body .vel-cabinet-nav__link--active {
    background: var(--fv-lime) !important;
    border-color: var(--fv-ink) !important;
    color: var(--fv-ink) !important;
  }

  html .vel-cabinet__body .vel-cabinet-nav__link--active .vel-cabinet-nav__icon-wrap {
    color: var(--fv-ink);
  }

  html .vel-cabinet__body .vel-cabinet-nav__link--cta {
    margin-top: 0;
  }

  html .vel-cabinet__main {
    padding: .9rem .9rem 1.5rem !important;
  }

  html .vel-cabinet .vel-payout {
    box-shadow: 6px 6px 0 var(--fv-lime) !important;
    padding: 1.15rem 1.1rem 1.2rem !important;
  }

  html .vel-cabinet .vel-payout__amount {
    font-size: 2.5rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html .vel-cabinet__main .vel-cabinet__page {
    animation: none;
  }
}
