*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#f5f6f8;color:#111}
body{padding:20px}
.app{width:100%;max-width:820px;margin:0 auto}
.card{background:#fff;border:1px solid #e2e5e9;border-radius:18px;padding:28px;box-shadow:0 8px 30px rgba(17,24,39,.07)}
.hero{padding:24px 28px;margin-bottom:14px;border-top:4px solid #b00020}
.header-brand{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:34px;margin-bottom:26px;padding:0}
.header-brand img{width:150px;height:150px;object-fit:contain;border-radius:10px;background:#fff;padding:0}
.logo-placeholder{width:150px;height:150px}
.header-copy{display:flex;flex-direction:column;align-items:flex-end;text-align:right;min-width:0;width:100%;padding:0;margin:0}
.header-copy .eyebrow{color:#555}
.header-copy h1{margin:7px 0 0;color:#111;font-size:24px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:clip}
.eyebrow{font-size:11px;letter-spacing:.15em;opacity:.7;font-weight:800}
.beneficiary{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-bottom:24px;border-top:1px solid #e7e9ec}
.beneficiary div{display:flex;flex-direction:column;gap:6px;padding:13px 0;border-bottom:1px solid #e7e9ec}
.beneficiary span{color:#69717b;font-size:12px;font-weight:700}
.beneficiary strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere;color:#111}
.progress-wrap{padding:8px 0 2px}
.progress-number{font-size:58px;font-weight:800;letter-spacing:-2.5px;color:#111;margin-bottom:13px}
.bar{height:13px;border-radius:99px;background:#e7e9ec;overflow:hidden;position:relative}
.bar-fill{height:100%;min-width:0;border-radius:99px;background:linear-gradient(90deg,#a80024 0%,#c51f3a 48%,#111 100%);transition:width .8s linear}
.bar.indeterminate:after{content:"";position:absolute;top:0;bottom:0;left:-35%;width:35%;border-radius:99px;background:rgba(255,255,255,.75);filter:blur(2px);animation:progressPulse 1.8s ease-in-out infinite}
@keyframes progressPulse{0%{left:-35%;opacity:.15}45%{opacity:.9}100%{left:100%;opacity:.15}}
.expected{margin-top:22px;padding:14px 16px;border-left:4px solid #b00020;background:#f7f7f8;display:flex;justify-content:space-between;align-items:center;gap:16px}
.expected span{color:#666;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.expected strong{font-size:14px;color:#111}
.is-hidden{display:none!important}
.steps{padding:22px 26px}
.section-title{font-weight:800;font-size:17px;color:#111;margin-bottom:12px}
.step{display:flex;gap:15px;align-items:flex-start;padding:15px 0;position:relative}
.step:not(:last-child):after{content:"";position:absolute;left:18px;top:51px;bottom:-1px;width:1px;background:#d9dde2}
.step-dot{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:0 0 38px;font-weight:800;background:#fff;border:2px solid #b9bec5;color:#555}
.step-copy div{margin-top:3px;font-weight:700;line-height:1.35;color:#171717}
.step-copy em{display:block;font-size:11px;margin-top:4px;font-style:normal;color:#69717b;font-weight:700}
.step.done .step-dot{background:#111;border-color:#111;color:#fff}
.step.active .step-dot{background:#b00020;border-color:#b00020;color:#fff;box-shadow:0 0 0 5px rgba(176,0,32,.10)}
.step.active .step-copy div{color:#111}
.notice{font-size:10px;line-height:1.5;text-align:center;color:#7b8188;padding:16px}
.login-body{display:grid;place-items:center;min-height:100vh;background:#f5f6f8}
.login{width:min(430px,100%)}
label{display:block;font-size:13px;font-weight:700;margin:14px 0;color:#222}
input,select{display:block;width:100%;margin-top:7px;padding:13px 14px;border-radius:10px;border:1px solid #cfd4da;background:#fff;color:#111;font-size:15px;outline:none}
select option{color:#111}
button{width:100%;border:0;border-radius:10px;padding:14px 18px;font-weight:800;cursor:pointer;background:#111;color:#fff;font-size:15px}
.error,.success{padding:12px 14px;border-radius:10px;margin-bottom:14px;background:#fff0f2;color:#8c001b;border:1px solid #f0c4cd}
.success{background:#edf8f1;color:#176b3a;border-color:#c7e7d2}
.admin-head{display:flex;justify-content:space-between;align-items:center;margin:8px 4px 18px}
.admin-head h1{margin:5px 0 0;font-size:28px;color:#111}
.admin-head a,.preview-link a{color:#9a001f}
.form h2,.logo-section h2{font-size:18px;margin-top:28px;color:#111}
.hint{font-size:12px;line-height:1.5;color:#68717b}
.logo-grid{display:grid;grid-template-columns:minmax(240px,420px);gap:14px}
.logo-preview{display:block;width:90px;height:90px;object-fit:contain;margin-top:10px;border-radius:10px;background:#f1f3f5;padding:7px;border:1px solid #e0e3e7}
input[type=file]{padding:10px;font-size:12px}
.manual-box{margin:22px 0;padding:16px;border-radius:12px;background:#f7f8f9;border:1px solid #e1e4e7;color:#222}
.manual-box p{font-size:12px;line-height:1.5;color:#69717b}
.admin-progress{margin:18px 0;padding:16px;border-radius:12px;background:#f7f8f9;border:1px solid #e1e4e7;color:#222}
.preview-link{margin-top:14px}
@media(max-width:560px){
body{padding:10px}.card{border-radius:15px;padding:19px}.hero{padding:19px}.progress-number{font-size:50px}.expected{align-items:flex-start;flex-direction:column;gap:5px}
.header-brand{grid-template-columns:150px minmax(0,1fr);gap:18px}.header-brand img{width:150px;height:150px;border-radius:8px}.logo-placeholder{width:150px;height:150px}.header-copy{text-align:right}.header-copy h1{font-size:17px;white-space:normal}
.beneficiary{grid-template-columns:1fr}.steps{padding:19px}.logo-grid{grid-template-columns:1fr}
.admin-head{align-items:flex-start}.admin-head h1{font-size:23px}
}

.step-status-row{display:flex;align-items:center;gap:9px;margin-top:6px;min-width:0}
.step-status-row em{display:block;font-size:11px;margin:0;font-style:normal;color:#69717b;font-weight:700;white-space:nowrap}
.step-status-row .step-progress-mini{height:5px;flex:1;min-width:70px;max-width:190px;border-radius:99px;background:#e4e7ea;overflow:hidden}
.step-status-row .step-progress-fill{height:100%;border-radius:99px;background:#111;transition:width .8s linear}
.step.active .step-status-row .step-progress-fill{background:#b00020}
.step-progress-value{font-size:11px;color:#222;min-width:42px;text-align:right;white-space:nowrap}

@media(max-width:560px){
.step-status-row{gap:7px}
.step-status-row .step-progress-mini{min-width:45px;max-width:none}
.step-progress-value{font-size:10px;min-width:39px}
}

.header-copy .eyebrow{text-align:right;margin:0;width:100%;display:block}
.header-copy h1{text-align:right;width:100%;display:block;margin-left:0;margin-right:0}

/* V14 — Admin scuro, stile istituzionale */
body:has(.admin){
  background:#0b0d10;
  color:#f4f5f7;
}
.admin.app{max-width:980px}
.admin .admin-head{color:#f4f5f7}
.admin .admin-head h1{color:#fff}
.admin .admin-head a,.admin .preview-link a{color:#ff5a6f}
.admin .card{
  background:#15181d;
  border-color:#292e36;
  box-shadow:0 12px 35px rgba(0,0,0,.28);
}
.admin label{color:#e7e9ed}
.admin input,.admin select{
  background:#0e1115;
  border-color:#353b44;
  color:#f5f6f8;
}
.admin input::placeholder{color:#777f89}
.admin select option{background:#0e1115;color:#f5f6f8}
.admin .form h2,.admin .logo-section h2{color:#fff}
.admin .hint{color:#9aa3ad}
.admin .logo-preview{background:#0e1115;border-color:#343a43}
.admin .manual-box,.admin .admin-progress{
  background:#101318;
  border-color:#2b3038;
  color:#f0f2f5;
}
.admin .manual-box p{color:#9aa3ad}
.admin .success{background:#10271b;color:#83e0a9;border-color:#235c3c}
.admin .error{background:#30131a;color:#ff9baa;border-color:#6a2634}
.admin .save{background:#fff;color:#111}
.admin .preview-link{color:#d9dde2}
.admin .eyebrow{color:#aeb6c0}

/* V17 — animazione delicata di avanzamento */
.progress-fill,
.step-fill {
  position: relative;
  overflow: hidden;
  background-image: linear-gradient(
    110deg,
    rgba(255,255,255,0.00) 0%,
    rgba(255,255,255,0.00) 38%,
    rgba(255,255,255,0.28) 50%,
    rgba(255,255,255,0.00) 62%,
    rgba(255,255,255,0.00) 100%
  );
  background-size: 220% 100%;
  animation: progressShimmer 3.2s ease-in-out infinite;
}

@keyframes progressShimmer {
  0% {
    background-position: 120% 0;
  }
  100% {
    background-position: -120% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .progress-fill,
  .step-fill {
    animation: none;
  }
}


/* V19 — Nota istituzionale sulla disponibilità dei fondi */
.availability-note{max-width:760px;margin:12px auto 0;padding-top:12px;border-top:1px solid #e5e8ec;font-size:11.5px;line-height:1.65;color:#69717b;text-align:left}
.availability-note b{color:#30363d;font-weight:600}
@media(max-width:600px){.availability-note{font-size:11px;line-height:1.6;margin-top:10px;padding-top:10px}}

/* V21 — fase post-regolamento */
.step.post-stage{border-color:#c94b50 !important;background:#fff7f7}
.step.post-stage .step-dot,.step.post-stage .post-dot{background:#a3161b !important;color:#fff !important}
.step.post-stage .post-stage-title{color:#a3161b !important}
.step.post-stage .step-status-row em{color:#a3161b !important}
.post-settlement{margin-top:18px;padding:20px;border:1px solid #e1e4e8;border-radius:16px;background:#fff;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}
.post-settlement.is-visible{opacity:1;transform:translateY(0)}
.post-title{font-size:18px;font-weight:600;color:#171b20}
.post-subtitle{margin-top:4px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#a3161b;font-weight:700}
.post-funds{margin-top:15px;padding:16px 17px;border-radius:12px;background:#f7f8f9;border:1px solid #dfe3e7}
.post-funds span{display:block;font-size:10px;letter-spacing:.14em;font-weight:700;color:#a3161b;margin-bottom:6px}
.post-funds strong{display:block;font-size:14px;color:#20252b}
.post-funds p{margin:7px 0 0;font-size:11.5px;line-height:1.6;color:#69717b}
@media(max-width:600px){.post-settlement{padding:17px}.post-title{font-size:16px}.post-funds strong{font-size:13px}}

/* V22 — post-regolamento: timeline 05/10 10:00 → 06/10 04:00 */
.post-stage .step-progress-fill{transition:width .9s linear;background:#a3161b !important}
.step.post-stage-done{border-color:#a3161b !important;background:#fff5f5}
.step.post-stage-active{border-color:#c94b50 !important;background:#fff9f9}
.step.post-stage-done .step-status-row em{color:#8f1218 !important}
.step.post-stage-active .step-status-row em{color:#a3161b !important}

/* V23 — ogni post-step diventa verde al completamento */
.post-step{
  position:relative;
  transition:border-color .35s ease, background .35s ease, box-shadow .35s ease;
}
.post-step-progress{
  height:4px;
  margin-top:9px;
  border-radius:999px;
  background:#e7eaed;
  overflow:hidden;
}
.post-step-fill{
  height:100%;
  width:0;
  border-radius:999px;
  background:#a3161b;
  transition:width .8s linear, background .35s ease;
}
.post-step-percent{
  display:block;
  margin-top:4px;
  font-size:10px;
  color:#777f88;
  font-variant-numeric:tabular-nums;
}
.post-step-completed{
  border-color:#a9d6b6 !important;
  background:#f5fbf6 !important;
}
.post-step-completed .post-step-num{
  background:#218739 !important;
}
.post-step-completed .post-step-fill{
  background:#218739 !important;
}
.post-step-completed .post-step-percent{
  color:#218739 !important;
  font-weight:700;
}
.post-step-completed strong{
  color:#1f6f32 !important;
}
.post-step-completed span{
  color:#5f7865 !important;
}

/* V24 — scheda post-regolamento allineata alla scheda Data disponibile */
.post-settlement-head{
  position:relative;
  margin-top:16px;
  padding:20px 22px;
  border:1px solid #e1e5e9;
  border-radius:15px;
  background:#f8f9fa;
}
.post-settlement-head .post-badge{
  display:block;
  margin-bottom:7px;
  font-size:10px;
  letter-spacing:.15em;
  font-weight:700;
  color:#69717b;
}
.post-settlement-head h2{
  margin:0 0 8px;
  font-size:17px;
  font-weight:600;
  color:#161a1f;
}
.post-settlement-head p{
  margin:0;
  max-width:820px;
  font-size:11.5px;
  line-height:1.65;
  color:#69717b;
}
.funds-arrival-card{
  position:relative;
  margin-top:14px;
  padding:20px 22px;
  border:1px solid #e1e5e9;
  border-radius:15px;
  background:#f8f9fa;
}
.funds-arrival-card>span{
  display:block;
  margin-bottom:7px;
  font-size:10px;
  letter-spacing:.15em;
  font-weight:700;
  color:#69717b;
}
.funds-arrival-card strong{
  display:block;
  margin:0;
  font-size:15px;
  line-height:1.4;
  color:#161a1f;
}
.funds-arrival-card p{
  margin:8px 0 0;
  font-size:11.5px;
  line-height:1.65;
  color:#69717b;
}
@media(max-width:600px){
  .post-settlement-head,.funds-arrival-card{
    padding:17px 18px;
  }
}

/* V30 — post-regolamento: usa esclusivamente la struttura grafica esistente */
.post-settlement{margin-top:18px;padding:0;border:0;border-radius:0;background:transparent;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}
.post-settlement.is-visible{opacity:1;transform:none}
.post-title{font-size:12px;color:#666;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0}
.post-subtitle{margin:5px 0 0;font-size:18px;line-height:1.25;letter-spacing:0;text-transform:none;color:#111;font-weight:700}
.post-funds{margin-top:16px;padding:14px 16px;border-left:4px solid #b00020;border-radius:0;background:#f7f7f8;border-top:0;border-right:0;border-bottom:0}
.post-funds span{display:block;color:#666;font-size:12px;font-weight:800;letter-spacing:.08em;margin:0 0 6px;text-transform:uppercase}
.post-funds strong{display:block;font-size:14px;color:#111;font-weight:700}
.post-funds p{margin:10px 0 0;padding-top:10px;border-top:1px solid #e5e8ec;font-size:11.5px;line-height:1.65;color:#69717b}
.step.post-stage{background:#fff;border-color:#d9dde2}
.step.post-stage .step-dot{background:#fff !important;border-color:#b9bec5 !important;color:#555 !important;box-shadow:none !important}
.step.post-stage.post-stage-active .step-dot{background:#b00020 !important;border-color:#b00020 !important;color:#fff !important;box-shadow:0 0 0 5px rgba(176,0,32,.10) !important}
.step.post-stage.post-stage-done .step-dot{background:#111 !important;border-color:#111 !important;color:#fff !important}
.step.post-stage .post-stage-title{color:#171717 !important}
.step.post-stage .step-status-row em{color:#69717b !important}
.step.post-stage.post-stage-active .step-status-row em{color:#b00020 !important}
.step.post-stage .step-progress-fill{background:#111 !important}
.step.post-stage.post-stage-active .step-progress-fill{background:#b00020 !important}
@media(max-width:600px){
  .post-subtitle{font-size:16px}
  .post-funds{padding:13px 14px}
}


/* V31 — Data disponibile completata + fase post-regolamento immediatamente sotto */
.expected.settled{
  border-left-color:#3d7f52 !important;
}
.expected.settled > span,
.expected.settled > strong{
  color:#69717b !important;
}
.expected.settled .availability-note{
  color:#7a828b !important;
}
.expected.settled .availability-note b{
  color:#68717a !important;
}
.post-expected{
  margin-top:12px !important;
  display:block !important;
  border-left-color:#b00020 !important;
}
.post-info-top{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.post-info-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.post-info-copy span{
  color:#666 !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.post-info-copy strong{
  color:#111 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.35;
}
.post-waiting{
  flex:0 0 auto;
  color:#b00020 !important;
  font-size:14px !important;
  font-weight:700 !important;
  white-space:nowrap;
}
.post-expected .availability-note{
  max-width:none;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #e5e8ec;
}
@media(max-width:600px){
  .post-info-top{align-items:flex-start;gap:10px}
  .post-info-copy strong{font-size:13px !important}
  .post-waiting{font-size:13px !important}
}

/* V33 — layout definitivo: Data disponibile + Fase post-regolamento subito sotto */
.expected.settled{
  border-left-color:#3d9b57 !important;
  background:#f7f8f8 !important;
}
.expected.settled > span,
.expected.settled > strong{
  color:#7a8188 !important;
}
.expected.settled .availability-note{
  color:#8a9198 !important;
}
.expected.settled .availability-note b{
  color:#737b83 !important;
}

.post-expected{
  margin-top:12px !important;
  padding:14px 16px !important;
  display:block !important;
  border-left:4px solid #b00020 !important;
  background:#f7f7f8 !important;
}
.post-expected.is-hidden{display:none !important}
.post-info-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  width:100%;
}
.post-info-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.post-info-copy span{
  color:#666 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.post-info-copy strong{
  color:#111 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}
.post-waiting{
  flex:0 0 auto;
  color:#b00020 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  white-space:nowrap;
}
.post-expected .availability-note{
  max-width:none;
  margin:12px 0 0 !important;
  padding:12px 0 0 !important;
  border-top:1px solid #e5e8ec;
  font-size:11.5px;
  line-height:1.65;
  color:#69717b;
}
.post-expected .availability-note b{
  color:#161a1f;
  font-weight:800;
}

/* Nella fase post-regolamento lo step precedente è attenuato e la fase corrente è rossa. */
.step.post-stage-done .step-copy > div:first-child{
  color:#858c93 !important;
}
.step.post-stage-done .step-status-row em,
.step.post-stage-done .step-progress-value{
  color:#858c93 !important;
}
.step.post-stage-done .step-progress-fill{
  background:#3d9b57 !important;
}
.step.post-stage-done .step-dot{
  background:#3d9b57 !important;
  border-color:#3d9b57 !important;
  color:#fff !important;
}
.step.post-stage-active .step-copy > div:first-child{
  color:#111 !important;
}
.step.post-stage-active .step-status-row em{
  color:#b00020 !important;
}
.step.post-stage-active .step-progress-fill{
  background:#b00020 !important;
}
.step.post-stage-active .step-dot{
  background:#b00020 !important;
  border-color:#b00020 !important;
  color:#fff !important;
  box-shadow:0 0 0 5px rgba(176,0,32,.10) !important;
}

@media(max-width:560px){
  .post-info-top{gap:10px}
  .post-info-copy span{font-size:10px !important}
  .post-info-copy strong{font-size:13px !important}
  .post-waiting{font-size:13px !important}
}

/* V34 — grafica definitiva delle due schede informative */
.expected{
  margin-top:22px !important;
  padding:18px 20px !important;
  border-left:4px solid #b00020 !important;
  background:#f7f7f8 !important;
  display:grid !important;
  grid-template-columns:minmax(165px,1.15fr) minmax(120px,.72fr) minmax(0,2.6fr) !important;
  align-items:center !important;
  gap:0 !important;
  min-height:92px;
}
.expected > span{
  color:#666 !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}
.expected > strong{
  color:#111 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
}
.expected .availability-note{
  margin:0 !important;
  padding:0 0 0 20px !important;
  border-top:0 !important;
  border-left:1px solid #e1e4e8 !important;
  max-width:none !important;
  font-size:11.5px !important;
  line-height:1.55 !important;
  color:#69717b !important;
}
.expected .availability-note b{
  color:#161a1f !important;
  font-weight:800 !important;
}
.expected.settled{
  border-left-color:#20a35a !important;
  background:#f7f8f8 !important;
}
.expected.settled > span,
.expected.settled > strong{
  color:#6f7780 !important;
}
.expected.settled .availability-note,
.expected.settled .availability-note b{
  color:#808890 !important;
}

.post-expected{
  margin-top:12px !important;
  border-left-color:#c8102e !important;
  background:#f7f7f8 !important;
}
.post-phase,
.post-status,
.post-note{min-width:0}
.post-phase{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:4px !important;
  min-width:0 !important;
}
.post-phase span,.post-phase strong{
  display:block !important;
  width:100% !important;
}
.post-phase span{
  color:#666 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}
.post-phase strong{
  color:#111 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
}
.post-status{
  padding:0 20px !important;
  min-height:56px !important;
  display:flex !important;
  align-items:center !important;
  border-left:1px solid #e1e4e8 !important;
  border-right:1px solid #e1e4e8 !important;
}
.post-waiting{
  color:#c8102e !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
.post-note{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
  padding-left:20px !important;
  border-left:0 !important;
}
.post-note b,
.post-note span{
  display:block !important;
}
.post-note span{
  color:#69717b !important;
}
.post-note span:first-of-type{
  color:#69717b !important;
}

/* I cinque step post-regolamento seguono la stessa gerarchia visiva della grafica approvata. */
.step.post-stage-done .step-copy > div:first-child{
  color:#858c93 !important;
}
.step.post-stage-done .step-status-row em,
.step.post-stage-done .step-progress-value{
  color:#858c93 !important;
}
.step.post-stage-done .step-progress-fill{
  background:#20a35a !important;
}
.step.post-stage-done .step-dot{
  background:#20a35a !important;
  border-color:#20a35a !important;
  color:#fff !important;
  box-shadow:none !important;
}
.step.post-stage-active .step-copy > div:first-child{
  color:#111 !important;
}
.step.post-stage-active .step-status-row em{
  color:#c8102e !important;
}
.step.post-stage-active .step-progress-fill{
  background:#c8102e !important;
}
.step.post-stage-active .step-dot{
  background:#c8102e !important;
  border-color:#c8102e !important;
  color:#fff !important;
  box-shadow:0 0 0 5px rgba(200,16,46,.10) !important;
}
.step.post-stage .step-progress-fill{transition:width .9s linear}

@media(max-width:560px){
  .expected{
    grid-template-columns:1fr !important;
    gap:8px !important;
    align-items:start !important;
  }
  .expected .availability-note{
    padding:10px 0 0 !important;
    border-left:0 !important;
    border-top:1px solid #e1e4e8 !important;
  }
  .post-status{
    padding:8px 0 !important;
    min-height:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:1px solid #e1e4e8 !important;
    border-bottom:0 !important;
  }
  .post-note{padding-left:0 !important}
  .post-waiting{font-size:13px !important}
}


/* V35 — exact approved post-regolamento layout */
.expected.post-expected {
  display: grid !important;
  grid-template-columns: minmax(185px, 1.20fr) minmax(125px, .78fr) minmax(0, 2.55fr) !important;
  align-items: center !important;
  min-height: 108px !important;
  padding: 18px 20px !important;
  border-left: 4px solid #c8102e !important;
  background: #f7f7f8 !important;
  border-radius: 0 0 0 0 !important;
}
.expected.post-expected .post-phase {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.expected.post-expected .post-phase span {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  color: #666 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.expected.post-expected .post-phase strong {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  color: #111 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.expected.post-expected .post-status {
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  padding: 0 20px !important;
  border-left: 1px solid #e1e4e8 !important;
  border-right: 1px solid #e1e4e8 !important;
}
.expected.post-expected .post-waiting {
  display: block !important;
  margin: 0 !important;
  color: #c8102e !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.expected.post-expected .post-note {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
  padding: 0 0 0 20px !important;
  border: 0 !important;
}
.expected.post-expected .post-note b {
  display: block !important;
  margin: 0 !important;
  color: #161a1f !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
}
.expected.post-expected .post-note span {
  display: block !important;
  margin: 0 !important;
  color: #69717b !important;
  font-size: 11.5px !important;
  line-height: 1.55 !important;
}
.expected.settled {
  border-left-color: #20a35a !important;
}
.expected.settled > span,
.expected.settled > strong {
  color: #6f7780 !important;
}
.expected.settled .availability-note,
.expected.settled .availability-note b {
  color: #808890 !important;
}
.step.post-stage-done .step-progress-fill { background: #20a35a !important; }
.step.post-stage-done .step-dot { background: #20a35a !important; border-color: #20a35a !important; }
.step.post-stage-done .step-copy > div:first-child,
.step.post-stage-done .step-status-row em,
.step.post-stage-done .step-progress-value { color: #858c93 !important; }
.step.post-stage-active .step-progress-fill { background: #c8102e !important; }
.step.post-stage-active .step-dot { background: #c8102e !important; border-color: #c8102e !important; color: #fff !important; }
.step.post-stage-active .step-copy > div:first-child { color: #111 !important; }
.step.post-stage-active .step-status-row em { color: #c8102e !important; }
@media (max-width: 560px) {
  .expected.post-expected { grid-template-columns: 1fr !important; gap: 8px !important; min-height: 0 !important; }
  .expected.post-expected .post-status { min-height: 0 !important; padding: 9px 0 !important; border-left: 0 !important; border-right: 0 !important; border-top: 1px solid #e1e4e8 !important; }
  .expected.post-expected .post-note { padding-left: 0 !important; border-top: 1px solid #e1e4e8 !important; padding-top: 10px !important; }
}


/* V36 — post-regolamento: stessa struttura, proporzioni e tipografia della scheda Data disponibile. */
.expected.settled{
  border-left-color:#20a35a !important;
}
.expected.settled > span,
.expected.settled > strong,
.expected.settled .availability-note,
.expected.settled .availability-note b,
.expected.settled .estimated-note{
  color:#858c93 !important;
}
.expected .estimated-note{display:block;margin-top:4px;color:#69717b;font-size:11.5px;line-height:1.45}
.expected.post-expected{
  display:grid !important;
  grid-template-columns:minmax(145px,1.05fr) minmax(120px,.72fr) minmax(0,2.5fr) !important;
  align-items:center !important;
  gap:16px !important;
  min-height:108px !important;
  padding:14px 16px !important;
  margin-top:14px !important;
  border-left:4px solid #c8102e !important;
  border-radius:0 !important;
  background:#f7f7f8 !important;
  box-shadow:none !important;
}
.expected.post-expected .post-phase{display:flex !important;flex-direction:column !important;align-items:flex-start !important;justify-content:center !important;gap:5px !important;min-width:0 !important}
.expected.post-expected .post-phase span{font-size:12px !important;line-height:1.2 !important;font-weight:800 !important;color:#666 !important;letter-spacing:.08em !important;text-transform:uppercase !important}
.expected.post-expected .post-phase strong{font-size:14px !important;line-height:1.35 !important;font-weight:800 !important;color:#111 !important;text-transform:none !important;letter-spacing:0 !important}
.expected.post-expected .post-status{display:flex !important;align-items:center !important;min-height:64px !important;padding:0 16px !important;border-left:1px solid #e1e4e8 !important;border-right:1px solid #e1e4e8 !important}
.expected.post-expected .post-waiting{font-size:14px !important;line-height:1.3 !important;font-weight:800 !important;color:#c8102e !important;white-space:nowrap !important}
.expected.post-expected .post-note{display:flex !important;flex-direction:column !important;gap:3px !important;min-width:0 !important;padding:0 0 0 16px !important;border:0 !important}
.expected.post-expected .post-note b{font-size:12px !important;line-height:1.3 !important;font-weight:800 !important;color:#161a1f !important;letter-spacing:.06em !important}
.expected.post-expected .post-note span{font-size:11.5px !important;line-height:1.5 !important;color:#69717b !important}
.step.post-stage-done .step-copy > div:first-child,.step.post-stage-done .step-status-row em,.step.post-stage-done .step-progress-value{color:#858c93 !important}
.step.post-stage-done .step-progress-fill{background:#20a35a !important}
.step.post-stage-done .step-dot{background:#20a35a !important;border-color:#20a35a !important;color:#fff !important;box-shadow:none !important}
.step.post-stage-active .step-copy > div:first-child{color:#111 !important}
.step.post-stage-active .step-status-row em{color:#c8102e !important}
.step.post-stage-active .step-progress-fill{background:#c8102e !important}
.step.post-stage-active .step-dot{background:#c8102e !important;border-color:#c8102e !important;color:#fff !important;box-shadow:0 0 0 5px rgba(200,16,46,.10) !important}
.post-step-description{font-size:11px !important;line-height:1.45 !important;color:#69717b !important;margin-top:4px !important;font-weight:400 !important}
.post-step-description.is-empty{display:none !important}
.post-admin-section{margin-top:28px;padding-top:20px;border-top:1px solid #2b3038}
.inline-check{display:flex !important;align-items:center;gap:9px;color:#dfe3e8 !important}
.inline-check input{display:inline-block;width:auto;margin:0}
.post-admin-table{margin-top:14px;overflow-x:auto;border:1px solid #2b3038;border-radius:12px}
.post-admin-row{display:grid;grid-template-columns:44px minmax(180px,1.5fr) minmax(180px,1.3fr) 175px 175px;gap:10px;align-items:center;padding:10px;border-top:1px solid #2b3038;min-width:760px}
.post-admin-row:first-child{border-top:0}
.post-admin-head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9aa3ad;font-weight:800;background:#101318}
.post-admin-row input{margin:0}
@media(max-width:560px){
  .expected.post-expected{grid-template-columns:1fr !important;gap:5px !important;min-height:0 !important}
  .expected.post-expected .post-status{min-height:0 !important;padding:8px 0 !important;border-left:0 !important;border-right:0 !important;border-top:1px solid #e1e4e8 !important}
  .expected.post-expected .post-note{padding:9px 0 0 !important;border-top:1px solid #e1e4e8 !important}
  .post-step-description{font-size:10px !important}
}

/* V36.1 — barre verticali arrotondate, come nella scheda di riferimento. */
.expected{position:relative;border-left:0 !important;overflow:hidden}
.expected::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:999px;background:#b00020}
.expected.settled::before{background:#20a35a}
.expected.post-expected::before{background:#c8102e}
.expected.post-expected{border-radius:18px !important}


/* V37 — scheda post-regolamento: stessa misura e stessa tipografia della scheda Data disponibile. */
.expected.post-expected{
  margin-top:22px !important;
  padding:14px 16px !important;
  border-left:0 !important;
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(165px,1.15fr) minmax(120px,.72fr) minmax(0,2.6fr) !important;
  align-items:center !important;
  gap:0 !important;
  min-height:92px !important;
  border-radius:18px !important;
  background:#f7f7f8 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.expected.post-expected::before{content:"" !important;position:absolute !important;left:0 !important;top:0 !important;bottom:0 !important;width:4px !important;border-radius:999px !important;background:#c8102e !important}
.expected.post-expected .post-phase{display:flex !important;flex-direction:column !important;align-items:flex-start !important;justify-content:center !important;gap:4px !important;min-width:0 !important;padding-left:4px !important}
.expected.post-expected .post-phase span{display:block !important;width:100% !important;color:#666 !important;font-size:12px !important;line-height:1.25 !important;font-weight:800 !important;letter-spacing:.08em !important;text-transform:none !important}
.expected.post-expected .post-phase strong{display:block !important;width:100% !important;color:#111 !important;font-size:14px !important;line-height:1.35 !important;font-weight:700 !important;letter-spacing:0 !important;text-transform:none !important}
.expected.post-expected .post-status{display:flex !important;align-items:center !important;min-height:64px !important;padding:0 16px !important;border-left:1px solid #e1e4e8 !important;border-right:1px solid #e1e4e8 !important}
.expected.post-expected .post-waiting{display:block !important;margin:0 !important;color:#c8102e !important;font-size:14px !important;line-height:1.35 !important;font-weight:700 !important;white-space:nowrap !important}
.expected.post-expected .post-note{display:flex !important;flex-direction:column !important;gap:3px !important;min-width:0 !important;padding:0 0 0 20px !important;border:0 !important}
.expected.post-expected .post-note b{display:block !important;margin:0 !important;color:#30363d !important;font-size:11.5px !important;line-height:1.45 !important;font-weight:700 !important;letter-spacing:0 !important;text-transform:none !important}
.expected.post-expected .post-note span{display:block !important;margin:0 !important;color:#69717b !important;font-size:11.5px !important;line-height:1.55 !important;font-weight:400 !important;letter-spacing:0 !important;text-transform:none !important}
.expected.post-expected .post-note b + span{color:#69717b !important;font-weight:400 !important}
.expected .estimated-note{display:block !important;margin-top:4px !important;color:#69717b !important;font-size:11.5px !important;line-height:1.45 !important;font-weight:400 !important;letter-spacing:0 !important;text-transform:none !important}
.expected.settled::before{background:#20a35a !important}
.expected.settled > span,.expected.settled > strong,.expected.settled .availability-note,.expected.settled .availability-note b,.expected.settled .estimated-note{color:#858c93 !important}
@media(max-width:560px){.expected.post-expected{grid-template-columns:1fr !important;gap:8px !important;min-height:0 !important;padding:14px 16px !important}.expected.post-expected .post-status{min-height:0 !important;padding:9px 0 !important;border-left:0 !important;border-right:0 !important;border-top:1px solid #e1e4e8 !important}.expected.post-expected .post-note{padding:9px 0 0 !important;border-top:1px solid #e1e4e8 !important}}

/* V38 — schede informative cliccabili + contesto professionale della percentuale globale */
.progress-context{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:18px;
  margin:-5px 0 11px;
  color:#7a828b;
  font-size:11px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.progress-context i{font-style:normal;color:#b4bac0}
.progress-context strong{color:#4f5760;font-weight:700;overflow:hidden;text-overflow:ellipsis}

.expected.accordion-card{
  position:relative !important;
  cursor:pointer;
  user-select:none;
  outline:none;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.expected.accordion-card:focus-visible{
  box-shadow:0 0 0 3px rgba(176,0,32,.12) !important;
}
.expected.accordion-card:hover{background:#f8f9fa !important}
.expected.accordion-card[aria-expanded="true"]{cursor:pointer}
.accordion-icon{
  position:absolute !important;
  left:12px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:18px !important;
  height:18px !important;
  display:grid !important;
  place-items:center !important;
  color:#69717b !important;
  font-size:17px !important;
  line-height:18px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  z-index:2;
}
.expected.accordion-card > span:not(.accordion-icon){padding-left:22px !important}
.expected.accordion-card .accordion-details{
  transition:opacity .18s ease,max-height .22s ease;
}
.expected.accordion-card[aria-expanded="false"] .accordion-details{
  display:none !important;
}
.expected.accordion-card[aria-expanded="false"]{
  min-height:64px !important;
}
.expected.accordion-card[aria-expanded="false"] .accordion-icon{color:#59616a !important}

/* Data disponibile: conserva esattamente la griglia a 3 colonne */
#availableDate.expected.accordion-card{
  grid-template-columns:minmax(165px,1.15fr) minmax(120px,.72fr) minmax(0,2.6fr) !important;
}
#availableDate.expected.accordion-card > span:not(.accordion-icon){
  grid-column:1;
}
#availableDate.expected.accordion-card > strong{
  grid-column:2;
}
#availableDate.expected.accordion-card > .accordion-details{
  grid-column:3;
}

/* Post-regolamento: stessa identica griglia, cambia soltanto il colore della barra verticale */
#postSettlement.expected.post-expected.accordion-card{
  grid-template-columns:minmax(165px,1.15fr) minmax(120px,.72fr) minmax(0,2.6fr) !important;
  margin-top:14px !important;
  border-left:0 !important;
  border-radius:18px !important;
  background:#f7f7f8 !important;
}
#postSettlement.expected.post-expected.accordion-card::before{
  background:#c8102e !important;
  border-radius:999px !important;
}
#postSettlement.expected.post-expected.accordion-card .post-phase{
  grid-column:1;
  padding-left:22px !important;
}
#postSettlement.expected.post-expected.accordion-card .post-status{
  grid-column:2;
}
#postSettlement.expected.post-expected.accordion-card .post-note{
  grid-column:3;
}
#postSettlement.expected.post-expected.accordion-card[aria-expanded="false"] .post-status,
#postSettlement.expected.post-expected.accordion-card[aria-expanded="false"] .post-note{
  display:none !important;
}
#postSettlement.expected.post-expected.accordion-card[aria-expanded="false"] .post-phase{
  grid-column:1 / span 3;
}

/* Testi della scheda corrente: identici alla tipografia della Data disponibile, senza maiuscolo artificiale */
#postSettlement .post-phase span{
  text-transform:none !important;
  letter-spacing:.08em !important;
  font-weight:800 !important;
}
#postSettlement .post-phase strong{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:700 !important;
}
#postSettlement .post-note b{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:600 !important;
  color:#30363d !important;
}
#postSettlement .post-note span{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
  color:#69717b !important;
}

@media(max-width:560px){
  .progress-context{font-size:10px;gap:5px;white-space:normal;margin:-4px 0 9px}
  #availableDate.expected.accordion-card,
  #postSettlement.expected.post-expected.accordion-card{
    grid-template-columns:1fr !important;
    gap:7px !important;
    min-height:0 !important;
  }
  #availableDate.expected.accordion-card > span:not(.accordion-icon),
  #availableDate.expected.accordion-card > strong,
  #availableDate.expected.accordion-card > .accordion-details,
  #postSettlement.expected.post-expected.accordion-card .post-phase,
  #postSettlement.expected.post-expected.accordion-card .post-status,
  #postSettlement.expected.post-expected.accordion-card .post-note{
    grid-column:1 !important;
  }
  #availableDate.expected.accordion-card > span:not(.accordion-icon){padding-left:22px !important}
  #availableDate.expected.accordion-card > .accordion-details,
  #postSettlement.expected.post-expected.accordion-card .post-note{
    border-top:1px solid #e1e4e8 !important;
    padding-top:9px !important;
    padding-left:0 !important;
  }
  #postSettlement.expected.post-expected.accordion-card .post-phase{padding-left:22px !important}
  #postSettlement.expected.post-expected.accordion-card .post-status{padding:8px 0 !important;border-left:0 !important;border-right:0 !important;border-top:1px solid #e1e4e8 !important}
  #postSettlement.expected.post-expected.accordion-card[aria-expanded="false"] .post-phase{grid-column:1 !important}
}

/* V39 — unified bank-style information cards: identical layout, typography and alignment */
#availableDate.expected.accordion-card,
#postSettlement.expected.post-expected.accordion-card{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(165px,1.15fr) minmax(120px,.72fr) minmax(0,2.6fr) !important;
  align-items:center !important;
  gap:0 !important;
  width:100% !important;
  min-height:92px !important;
  margin-top:14px !important;
  padding:18px 20px 18px 28px !important;
  border:1px solid #e2e5e9 !important;
  border-left:0 !important;
  border-radius:18px !important;
  background:#f7f7f8 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

#availableDate.expected.accordion-card::before,
#postSettlement.expected.post-expected.accordion-card::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:4px !important;
  border-radius:999px !important;
}
#availableDate.expected.accordion-card::before{background:#20a35a !important}
#postSettlement.expected.post-expected.accordion-card::before{background:#c8102e !important}

/* Identica tipografia tra le due schede */
#availableDate.expected.accordion-card > span:not(.accordion-icon),
#postSettlement.expected.post-expected .post-phase span{
  display:block !important;
  margin:0 !important;
  color:#666 !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
#availableDate.expected.accordion-card > strong,
#postSettlement.expected.post-expected .post-phase strong{
  display:block !important;
  margin:0 !important;
  color:#111 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

#availableDate.expected.accordion-card > .accordion-details,
#postSettlement.expected.post-expected .post-note{
  min-width:0 !important;
  margin:0 !important;
  padding:0 0 0 20px !important;
  border:0 !important;
  border-left:1px solid #e1e4e8 !important;
  max-width:none !important;
  box-sizing:border-box !important;
  color:#69717b !important;
  font-size:11.5px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
#availableDate.expected.accordion-card > .accordion-details b,
#postSettlement.expected.post-expected .post-note b{
  color:#30363d !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
#postSettlement.expected.post-expected .post-note span{
  display:block !important;
  margin:0 !important;
  color:#69717b !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

/* Colonna centrale identica alla colonna data: stessa dimensione e allineamento */
#postSettlement.expected.post-expected .post-status{
  display:flex !important;
  align-items:center !important;
  min-height:56px !important;
  padding:0 20px !important;
  border-left:1px solid #e1e4e8 !important;
  border-right:0 !important;
  box-sizing:border-box !important;
}
#postSettlement.expected.post-expected .post-waiting{
  display:block !important;
  margin:0 !important;
  color:#c8102e !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  white-space:nowrap !important;
}

/* Prima scheda chiusa: mostra solo intestazione e data; i dettagli si aprono con + */
#availableDate.expected.accordion-card[aria-expanded="false"]{
  min-height:64px !important;
}
#availableDate.expected.accordion-card[aria-expanded="false"] .accordion-details{
  display:none !important;
}
#availableDate.expected.accordion-card[aria-expanded="false"] .accordion-icon{color:#69717b !important}

/* Seconda scheda: aperta perché è la fase corrente */
#postSettlement.expected.post-expected.accordion-card[aria-expanded="true"] .accordion-details{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
}

/* + / − coerenti e discreti */
#availableDate .accordion-icon,
#postSettlement .accordion-icon{
  position:absolute !important;
  left:11px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:12px !important;
  height:18px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  padding:0 !important;
  color:#69717b !important;
  background:transparent !important;
  border:0 !important;
  font-size:15px !important;
  line-height:18px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  z-index:3 !important;
}
#postSettlement .accordion-icon{color:#c8102e !important}

/* Stato concluso: tutto attenuato ma leggibile */
#availableDate.expected.settled > span:not(.accordion-icon),
#availableDate.expected.settled > strong,
#availableDate.expected.settled .accordion-details,
#availableDate.expected.settled .accordion-details b,
#availableDate.expected.settled .estimated-note{
  color:#858c93 !important;
}
#availableDate.expected.settled .accordion-details b{font-weight:600 !important}

/* Nessuna trasformazione artificiale della frase stimata */
#availableDate .estimated-note{
  display:block !important;
  margin-top:4px !important;
  color:#69717b !important;
  font-size:11.5px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

@media(max-width:560px){
  #availableDate.expected.accordion-card,
  #postSettlement.expected.post-expected.accordion-card{
    grid-template-columns:1fr !important;
    gap:7px !important;
    min-height:0 !important;
    padding:15px 16px 15px 28px !important;
  }
  #availableDate.expected.accordion-card > .accordion-details,
  #postSettlement.expected.post-expected .post-note{
    grid-column:1 !important;
    border-left:0 !important;
    border-top:1px solid #e1e4e8 !important;
    padding:9px 0 0 !important;
  }
  #postSettlement.expected.post-expected .post-status{
    grid-column:1 !important;
    min-height:0 !important;
    padding:8px 0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:1px solid #e1e4e8 !important;
  }
  #availableDate.expected.accordion-card[aria-expanded="false"]{
    min-height:64px !important;
  }
  #availableDate.expected.accordion-card[aria-expanded="false"] .accordion-details{display:none !important}
}

/* V42 — secure mobile access overlay: bank / red-white theme */
body.access-locked{
  margin:0;
  min-height:100vh;
  background:#f4f5f7;
  color:#17191c;
  font-family:inherit;
  overflow:hidden;
}
.access-blur-bg{
  position:fixed;
  inset:-18px;
  padding:52px 22px;
  filter:blur(9px);
  opacity:.72;
  transform:scale(1.04);
  pointer-events:none;
}
.access-skeleton{background:#fff;border:1px solid #e2e5e9;border-radius:24px;box-shadow:0 8px 24px rgba(20,20,20,.07)}
.access-skeleton-top{height:120px;display:flex;align-items:flex-end;justify-content:space-between;padding:24px;margin:0 auto 16px;max-width:700px}
.access-skeleton-top span:first-child{width:180px;height:38px;border-radius:8px;background:#e2e3e5}.access-skeleton-top span:last-child{width:110px;height:16px;border-radius:8px;background:#ececee}
.access-skeleton-progress{height:150px;margin:0 auto 16px;max-width:700px;background:linear-gradient(#fff,#f7f7f8);position:relative}.access-skeleton-progress:after{content:"";position:absolute;left:24px;right:24px;bottom:32px;height:12px;border-radius:999px;background:linear-gradient(90deg,#c8102e 0 52%,#e4e5e7 52%)}
.access-skeleton-card{height:105px;margin:0 auto 16px;max-width:700px;padding:20px;display:grid;grid-template-columns:8px 170px 1fr;gap:20px;align-items:center}.access-skeleton-card i{display:block;width:8px;height:70px;border-radius:8px;background:#2aa568}.access-skeleton-card b{height:20px;border-radius:7px;background:#e2e3e5}.access-skeleton-card em{height:45px;border-radius:7px;background:#ececee}.access-skeleton-card.short{opacity:.9}.access-skeleton-card.short i{background:#c8102e}.access-skeleton-list{height:250px;margin:0 auto;max-width:700px;padding:24px;display:grid;gap:18px}.access-skeleton-list i{display:block;height:28px;border-radius:8px;background:#e5e6e8}
.access-backdrop{position:fixed;inset:0;background:rgba(248,248,249,.68);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.access-modal{position:fixed;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#fff;border:1px solid #e1e2e5;border-top:4px solid #c8102e;border-radius:24px;box-shadow:0 22px 60px rgba(30,30,30,.18);padding:28px 26px 22px;text-align:center;box-sizing:border-box}
.access-lock-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:16px;background:#c8102e;color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(200,16,46,.18)}
.access-lock-icon svg{width:31px;height:31px;display:block}
.access-kicker{font-size:10px;letter-spacing:.12em;font-weight:700;color:#c8102e;margin-bottom:8px}
.access-modal h1{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.02em;color:#17191c}
.access-security-copy{margin:9px auto 14px;max-width:350px;color:#596069;font-size:13px;line-height:1.5}
.access-divider{height:1px;background:#ececee;margin:0 auto 16px;max-width:350px}
.access-code-label{font-size:12px;font-weight:700;color:#34373b;margin-bottom:7px}.access-copy{margin:0 auto 20px;max-width:330px;color:#697078;font-size:13px;line-height:1.5}
.otp-row{display:flex;justify-content:center;gap:10px;margin:0 0 14px}.otp-digit{width:54px;height:60px;border:1px solid #d8dadd;border-radius:14px;background:#fafafa;text-align:center;font-size:25px;font-weight:700;color:#17191c;outline:none;box-sizing:border-box}.otp-digit:focus{border-color:#c8102e;box-shadow:0 0 0 3px rgba(200,16,46,.10);background:#fff}
.access-error{font-size:13px;color:#c8102e;margin:4px 0 12px}.access-button{width:100%;height:48px;border:0;border-radius:14px;background:#c8102e;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s}.access-button:disabled{opacity:.32;cursor:not-allowed}.access-button:not(:disabled):active{transform:scale(.99)}
.access-trust{margin-top:15px;color:#7a8086;font-size:11px;line-height:1.45}.access-trust span{color:#c8102e;font-weight:800;margin-right:4px}
@media (max-width:520px){.access-modal{width:calc(100% - 20px);max-height:calc(100vh - 20px);padding:22px 16px 18px;border-radius:22px}.access-modal h1{font-size:20px}.access-security-copy{font-size:12.5px}.access-copy{font-size:13px;margin-bottom:18px}.otp-row{gap:8px}.otp-digit{width:56px;height:58px;font-size:24px;border-radius:13px}}

/* V48 — AXE PARTNERS banking UI / secure access experience */
:root{
  --bank-red:#ef1020;
  --bank-red-dark:#c90c1a;
  --bank-red-soft:#fff0f1;
  --bank-ink:#16202b;
  --bank-muted:#697482;
  --bank-line:#e6e9ed;
  --bank-surface:#ffffff;
  --bank-bg:#f5f6f8;
}

/* Main banking layout */
body:not(.access-locked):not(.access-success-page){
  background:linear-gradient(180deg,#f5f6f8 0%,#eef0f3 100%);
  color:var(--bank-ink);
  padding:18px;
}
body:not(.access-locked):not(.access-success-page) .app{max-width:900px}
body:not(.access-locked):not(.access-success-page) .card{
  border:1px solid #e3e6ea;
  border-radius:24px;
  box-shadow:0 10px 32px rgba(23,31,42,.065);
}
body:not(.access-locked):not(.access-success-page) .hero{
  border-top:0;
  padding:22px 26px 24px;
  background:rgba(255,255,255,.98);
}
body:not(.access-locked):not(.access-success-page) .header-brand{
  grid-template-columns:82px minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin-bottom:22px;
}
body:not(.access-locked):not(.access-success-page) .header-brand img{
  width:82px;height:82px;border-radius:18px;padding:8px;background:#fff;
}
body:not(.access-locked):not(.access-success-page) .logo-placeholder{width:82px;height:82px}
body:not(.access-locked):not(.access-success-page) .header-copy{
  align-items:flex-start;text-align:left;
}
body:not(.access-locked):not(.access-success-page) .header-copy .eyebrow{
  text-align:left;color:#7a8591;font-size:10px;letter-spacing:.14em;
}
body:not(.access-locked):not(.access-success-page) .header-copy h1{
  text-align:left;font-size:21px;color:var(--bank-ink);margin-top:4px;
}
body:not(.access-locked):not(.access-success-page) .beneficiary{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 22px;
  margin-bottom:20px;
  border-top:1px solid var(--bank-line);
}
body:not(.access-locked):not(.access-success-page) .beneficiary div{padding:11px 0}
body:not(.access-locked):not(.access-success-page) .beneficiary span{font-size:10px;color:#89929d;letter-spacing:.04em}
body:not(.access-locked):not(.access-success-page) .beneficiary strong{font-size:13px;color:var(--bank-ink)}
body:not(.access-locked):not(.access-success-page) .progress-wrap{padding:4px 0 0}
body:not(.access-locked):not(.access-success-page) .progress-number{
  font-size:58px;line-height:1;letter-spacing:-3px;color:#111923;margin-bottom:9px;
}
body:not(.access-locked):not(.access-success-page) .progress-context{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#7b8590;font-size:11px;margin-bottom:10px;
}
body:not(.access-locked):not(.access-success-page) .progress-context strong{color:#3d4650;font-weight:700}
body:not(.access-locked):not(.access-success-page) .progress-context i{font-style:normal;color:#b6bcc3}
body:not(.access-locked):not(.access-success-page) .bar{height:12px;background:#e7e9ed}
body:not(.access-locked):not(.access-success-page) .bar-fill{background:linear-gradient(90deg,#ef1020 0%,#d70d1c 55%,#222b35 100%)}

/* Accordion cards: same geometry, only the status color differs */
body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card,
body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card{
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(170px,1.05fr) minmax(120px,.58fr) minmax(0,2.15fr);
  align-items:center;
  gap:0;
  min-height:116px;
  margin-top:16px;
  padding:18px 22px 18px 34px !important;
  background:#fbfbfc;
  border:1px solid #e1e4e8;
  border-radius:20px;
  overflow:hidden;
  box-shadow:none;
  box-sizing:border-box;
}
body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card:before,
body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card:before{
  content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 999px 999px 0;
}
body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card:before{background:#20a464}
body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card:before{background:var(--bank-red)}
body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > span:not(.accordion-icon),
body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected .post-phase{
  grid-column:1;min-width:0;
}
body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > span:not(.accordion-icon){
  color:#7d858d;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
}
body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > strong{
  grid-column:2;color:#737c85;font-size:13px;font-weight:600;line-height:1.35;padding-left:8px;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-phase{
  display:flex;flex-direction:column;gap:3px;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-phase > span{
  color:#7d858d;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:none;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-phase > strong{
  color:#1b2530;font-size:14px;font-weight:700;line-height:1.3;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-status{
  grid-column:2;display:flex;align-items:center;min-height:56px;padding:0 18px !important;border-left:1px solid #e1e4e8 !important;border-right:0;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting{
  color:var(--bank-red) !important;font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;
}
body:not(.access-locked):not(.access-success-page) #availableDate .accordion-details,
body:not(.access-locked):not(.access-success-page) #postSettlement .post-note{
  grid-column:3;display:flex !important;flex-direction:column;gap:3px;margin:0;padding:0 0 0 20px;border:0;max-width:none;text-align:left;color:#69727d;font-size:11.5px;line-height:1.5;
}
body:not(.access-locked):not(.access-success-page) #availableDate .accordion-details b,
body:not(.access-locked):not(.access-success-page) #postSettlement .post-note b{
  color:#3b444e;font-weight:600;
}
body:not(.access-locked):not(.access-success-page) #availableDate.settled > span:not(.accordion-icon),
body:not(.access-locked):not(.access-success-page) #availableDate.settled > strong,
body:not(.access-locked):not(.access-success-page) #availableDate.settled .accordion-details,
body:not(.access-locked):not(.access-success-page) #availableDate.settled .accordion-details b{
  color:#858d96 !important;
}
body:not(.access-locked):not(.access-success-page) #availableDate .estimated-note{
  margin-top:4px;color:#7a838d;font-size:11px;font-weight:400;text-transform:none;letter-spacing:0;
}
body:not(.access-locked):not(.access-success-page) .accordion-icon{
  position:absolute !important;left:12px !important;top:50% !important;transform:translateY(-50%) !important;width:12px;height:18px;display:grid;place-items:center;color:#7d858d !important;font-size:14px;font-weight:400;z-index:2;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .accordion-icon{color:var(--bank-red) !important}

/* Steps */
body:not(.access-locked):not(.access-success-page) .steps{padding:22px 26px;background:#fff}
body:not(.access-locked):not(.access-success-page) .section-title{font-size:16px;margin-bottom:8px;color:#1a2430}
body:not(.access-locked):not(.access-success-page) .step{padding:15px 0;gap:14px}
body:not(.access-locked):not(.access-success-page) .step-dot{width:38px;height:38px;flex-basis:38px;border:2px solid #c6ccd3;background:#fff;color:#66717d}
body:not(.access-locked):not(.access-success-page) .step.done .step-dot{background:#21a465;border-color:#21a465;color:#fff}
body:not(.access-locked):not(.access-success-page) .step.active .step-dot{background:var(--bank-red);border-color:var(--bank-red);box-shadow:0 0 0 5px rgba(239,16,32,.10)}
body:not(.access-locked):not(.access-success-page) .step-copy > div:first-child{font-size:14px;color:#1a2430}
body:not(.access-locked):not(.access-success-page) .step.done .step-copy > div:first-child{color:#87909a}
body:not(.access-locked):not(.access-success-page) .step-status-row em{font-size:11px;font-weight:500;color:#78828d}
body:not(.access-locked):not(.access-success-page) .step.active .step-status-row em{color:var(--bank-red);font-weight:700}
body:not(.access-locked):not(.access-success-page) .step-status-row .step-progress-fill{background:#c9ced4}
body:not(.access-locked):not(.access-success-page) .step.active .step-status-row .step-progress-fill{background:var(--bank-red)}
body:not(.access-locked):not(.access-success-page) .step.done .step-status-row .step-progress-fill{background:#21a465}
body:not(.access-locked):not(.access-success-page) .step-progress-value{font-size:11px;color:#27313b}
body:not(.access-locked):not(.access-success-page) .step.done .step-progress-value{color:#8a939d}

/* Access gate */
body.access-locked{background:linear-gradient(180deg,#f4f5f8,#eceef2);font-family:Arial,Helvetica,sans-serif}
.access-blur-bg{filter:blur(13px);opacity:.62;transform:scale(1.06)}
.access-backdrop{background:rgba(246,247,249,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.access-modal{
  width:min(440px,calc(100% - 24px));
  border:1px solid #e4e6ea;border-top:0;border-radius:30px;
  padding:30px 28px 25px;box-shadow:0 30px 80px rgba(22,29,38,.18);
  background:rgba(255,255,255,.98);overflow:hidden;
}
.access-modal:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-50px;height:105px;background:linear-gradient(170deg,transparent 35%,rgba(239,16,32,.10) 36%,rgba(239,16,32,.04) 66%,transparent 67%);pointer-events:none}
.access-lock-icon{width:68px;height:68px;margin:0 auto 16px;border-radius:22px;background:#fff0f1;color:var(--bank-red);box-shadow:none;border:1px solid #ffd5d9}
.access-lock-icon svg{width:39px;height:39px}
.access-kicker{font-size:10px;letter-spacing:.14em;color:var(--bank-red);font-weight:800;margin-bottom:8px}
.access-modal h1{font-size:25px;color:#17212c;font-weight:700;letter-spacing:-.03em}
.access-security-copy{font-size:13px;color:#61707e;max-width:360px}
.access-divider{background:#eceef1;margin-bottom:18px}
.access-code-label{font-size:13px;color:#1c2732;font-weight:700;margin-bottom:7px}
.access-copy{font-size:13px;color:#6d7782;max-width:340px}
.otp-row{gap:10px;margin-bottom:17px}
.otp-digit{width:58px;height:64px;border:1px solid #d9dde2;border-radius:17px;background:#fbfcfd;font-size:27px;font-weight:600;color:#17212c}
.otp-digit:focus{border-color:var(--bank-red);box-shadow:0 0 0 4px rgba(239,16,32,.10);background:#fff}
.access-button{height:54px;border-radius:16px;background:linear-gradient(180deg,#f31527,#dc0e1f);box-shadow:0 10px 24px rgba(239,16,32,.18);font-size:15px}
.access-button:disabled{background:#b9bec5;opacity:1;box-shadow:none}
.access-trust{font-size:11px;color:#76808a;margin-top:16px}
.access-trust span{color:#21a465}

/* Authorized animation */
.access-success-page{margin:0;min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(180deg,#f5f6f8 0%,#eceef2 100%);font-family:Arial,Helvetica,sans-serif;color:#17212c;overflow:hidden}
.access-success{width:min(430px,100%);min-height:540px;background:#fff;border:1px solid #e3e6ea;border-radius:30px;box-shadow:0 28px 80px rgba(24,32,42,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px 28px 34px;position:relative;overflow:hidden;animation:successCardIn .45s ease-out both}
.access-success:after{content:"";position:absolute;left:-15%;right:-15%;bottom:-42px;height:120px;background:linear-gradient(170deg,transparent 30%,rgba(239,16,32,.11) 31%,rgba(239,16,32,.035) 68%,transparent 69%)}
.success-brand{position:absolute;top:27px;left:28px;font-size:22px;font-weight:800;letter-spacing:-.06em;color:#1b2530}.success-brand span{display:block;font-size:7px;letter-spacing:.36em;margin-left:3px;margin-top:0;color:#66717d}
.success-icon-wrap{width:112px;height:112px;border-radius:50%;background:#fff1f2;display:grid;place-items:center;margin-bottom:24px;box-shadow:0 0 0 14px rgba(239,16,32,.035),0 0 0 28px rgba(239,16,32,.018);animation:successPulse 1.2s ease-out both}
.success-icon{width:78px;height:78px}
.success-circle{fill:none;stroke:var(--bank-red);stroke-width:2.6;stroke-dasharray:195;stroke-dashoffset:195;animation:drawCircle .55s .12s ease-out forwards}
.success-check{fill:none;stroke:var(--bank-red);stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:drawCheck .45s .55s ease-out forwards}
.success-kicker{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--bank-red);margin-bottom:9px}
.access-success h1{font-size:28px;letter-spacing:-.03em;margin:0 0 9px;color:#17212c}
.access-success p{margin:0;color:#687482;font-size:14px}
.success-session{margin-top:24px;padding:13px 16px;border:1px solid #f0dadd;border-radius:14px;background:#fff7f8;color:#687482;font-size:11.5px;line-height:1.45;z-index:1}.success-session span{color:#21a465;font-weight:800;margin-right:5px}
.success-loading{width:150px;height:3px;background:#eceef1;border-radius:999px;margin-top:22px;overflow:hidden;z-index:1}.success-loading span{display:block;width:38%;height:100%;background:var(--bank-red);border-radius:999px;animation:loadingSlide 1.15s ease-in-out infinite}
.access-success small{margin-top:9px;color:#9aa1a9;font-size:10px;z-index:1}
@keyframes successCardIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes successPulse{0%{transform:scale(.78);opacity:0}60%{transform:scale(1.05);opacity:1}100%{transform:scale(1)}}
@keyframes drawCircle{to{stroke-dashoffset:0}}
@keyframes drawCheck{to{stroke-dashoffset:0}}
@keyframes loadingSlide{0%{transform:translateX(-130%)}100%{transform:translateX(360%)}}
@media(prefers-reduced-motion:reduce){.access-success,.success-icon-wrap,.success-circle,.success-check,.success-loading span{animation:none}.success-circle,.success-check{stroke-dashoffset:0}}

@media(max-width:600px){
  body:not(.access-locked):not(.access-success-page){padding:8px}
  body:not(.access-locked):not(.access-success-page) .hero{padding:18px 16px 20px;border-radius:22px}
  body:not(.access-locked):not(.access-success-page) .header-brand{grid-template-columns:64px minmax(0,1fr);gap:13px;margin-bottom:18px}
  body:not(.access-locked):not(.access-success-page) .header-brand img{width:64px;height:64px;border-radius:15px;padding:6px}
  body:not(.access-locked):not(.access-success-page) .logo-placeholder{width:64px;height:64px}
  body:not(.access-locked):not(.access-success-page) .header-copy h1{font-size:17px}
  body:not(.access-locked):not(.access-success-page) .progress-number{font-size:47px;letter-spacing:-2.4px}
  body:not(.access-locked):not(.access-success-page) .beneficiary{grid-template-columns:1fr}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card{grid-template-columns:minmax(125px,1fr) minmax(78px,.55fr);min-height:0;padding:17px 15px 17px 31px !important;border-radius:20px}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > strong{grid-column:2;padding-left:8px}
  body:not(.access-locked):not(.access-success-page) #availableDate .accordion-details,
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-note{grid-column:1/-1;padding:11px 0 0;border-top:1px solid #e7e9ec;font-size:11px}
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status{grid-column:2;padding:0 8px !important;min-height:45px}
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting{font-size:12px}
  body:not(.access-locked):not(.access-success-page) .steps{padding:18px 15px;border-radius:22px}
  body:not(.access-locked):not(.access-success-page) .step-copy > div:first-child{font-size:13px}
  .access-modal{width:calc(100% - 18px);padding:25px 18px 22px;border-radius:28px}
  .access-modal h1{font-size:23px}
  .otp-digit{width:56px;height:62px}
  .access-success{min-height:500px;border-radius:28px;padding:38px 22px 28px}
  .success-brand{left:22px;top:23px}
}

/* V49 — mobile banking interface based on approved reference */
:root{--bank-red:#ef1020;--bank-ink:#18232f;--bank-muted:#657384;--bank-line:#e8ebef;--bank-soft:#f7f8fa}
.mobile-bank-header,.mobile-practice-label,.bank-summary,.bank-details{display:none}
@media(max-width:600px){
  body:not(.access-locked):not(.access-success-page){
    padding:0 !important;
    background:#f3f4f7 !important;
    color:var(--bank-ink);
    font-family:Arial,Helvetica,sans-serif;
  }
  body:not(.access-locked):not(.access-success-page) .app{max-width:430px;margin:0 auto;padding:12px 12px 28px}
  body:not(.access-locked):not(.access-success-page) .hero{background:#fff;border:1px solid #e7e9ed;border-top:0;border-radius:0 0 24px 24px;box-shadow:0 10px 28px rgba(20,28,38,.06);padding:14px 14px 18px;margin:0 0 12px}
  body:not(.access-locked):not(.access-success-page) .header-brand{display:none}
  .mobile-bank-header{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 13px}
  .mobile-logo{width:112px;height:46px;display:flex;align-items:center}
  .mobile-logo img{width:112px;height:46px;object-fit:contain;object-position:left center;background:transparent;padding:0}
  .mobile-logo .logo-placeholder{width:112px;height:46px}
  .mobile-header-actions{display:flex;align-items:center;gap:9px}
  .header-action-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;position:relative;color:#293643;background:transparent}
  .header-action-icon.user{background:#eef0f3}
  .header-action-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .header-action-icon:not(.user) i{position:absolute;right:4px;top:3px;width:7px;height:7px;background:var(--bank-red);border-radius:50%;border:2px solid #fff}
  .mobile-practice-label{display:block;color:#7a8795;font-size:10px;letter-spacing:.12em;font-weight:800;margin:0 6px 8px}
  .bank-summary{display:grid;grid-template-columns:44px minmax(0,1fr) 36px;align-items:center;gap:11px;padding:10px 10px;border:1px solid #edf0f3;background:#fbfcfd;border-radius:16px}
  .bank-summary-icon{width:44px;height:44px;border:1px solid #e9edf1;border-radius:11px;background:#f4f6f8;display:grid;place-items:center;color:#1e3347}
  .bank-summary-icon svg{width:27px;height:27px;fill:currentColor}
  .bank-summary-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
  .bank-summary-copy span{font-size:11px;color:#6d7b89;line-height:1.2}
  .bank-summary-copy strong{font-size:13px;line-height:1.25;color:#172432;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bank-expand{width:32px;height:32px;border:0;border-radius:9px;background:var(--bank-red);color:#fff;font-size:24px;font-weight:400;line-height:1;display:grid;place-items:center;padding:0;box-shadow:none;cursor:pointer}
  .bank-details{display:block;background:#fbfcfd;border:1px solid #edf0f3;border-top:0;border-radius:0 0 15px 15px;padding:12px 13px 5px;margin:-7px 2px 0}
  .bank-details[hidden]{display:none}
  .bank-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .bank-details-grid>div{padding:9px 0;border-top:1px solid #edf0f3;display:flex;flex-direction:column;gap:3px;min-width:0}
  .bank-details-grid span{font-size:10px;color:#7b8793;font-weight:700}
  .bank-details-grid strong{font-size:12px;line-height:1.3;color:#1b2733;overflow-wrap:anywhere}

  body:not(.access-locked):not(.access-success-page) .progress-wrap{padding:17px 5px 4px}
  body:not(.access-locked):not(.access-success-page) .progress-number{font-size:48px;line-height:1;letter-spacing:-2.5px;margin-bottom:8px;color:#111}
  body:not(.access-locked):not(.access-success-page) .progress-context{font-size:9px;margin:0 0 9px;color:#7a8795;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body:not(.access-locked):not(.access-success-page) .progress-context strong{color:#263443;font-weight:700}
  body:not(.access-locked):not(.access-success-page) .bar{height:10px;border-radius:999px}

  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card{
    display:grid !important;grid-template-columns:18px minmax(105px,.9fr) minmax(78px,.65fr) !important;grid-template-rows:auto auto !important;align-items:center;gap:0 10px !important;padding:14px 12px !important;margin-top:13px !important;min-height:0 !important;border:1px solid #e9ecef !important;border-radius:16px !important;background:#f8f9fa !important;box-shadow:none !important;position:relative !important;overflow:hidden !important}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card::before,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:999px;background:#20a35a}
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card::before{background:var(--bank-red)}
  body:not(.access-locked):not(.access-success-page) .accordion-icon{position:static !important;grid-column:1;grid-row:1;align-self:center;font-size:15px;font-weight:600;color:#697581 !important;width:18px;height:18px;display:grid;place-items:center;background:transparent}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card>span:not(.accordion-icon),
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-phase{grid-column:2;grid-row:1;min-width:0;padding:0 !important;display:flex !important;flex-direction:column;align-items:flex-start;gap:2px}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card>span:not(.accordion-icon),
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected .post-phase span{font-size:10px !important;line-height:1.25 !important;font-weight:800 !important;letter-spacing:.10em !important;text-transform:uppercase !important;color:#677482 !important}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card>strong{grid-column:3 !important;grid-row:1 !important;padding:0 !important;font-size:12px !important;line-height:1.25 !important;font-weight:700 !important;color:#1c2834 !important}
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected .post-phase strong{font-size:13px !important;line-height:1.25 !important;font-weight:700 !important;color:#18232f !important;letter-spacing:0 !important;text-transform:none !important}
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected .post-status{grid-column:3 !important;grid-row:1 !important;border:0 !important;padding:0 !important;min-height:0 !important;display:flex !important;align-items:center !important;justify-content:flex-start !important}
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected .post-waiting{font-size:12px !important;line-height:1.3 !important;font-weight:700 !important;color:var(--bank-red) !important}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card>.accordion-details,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected .post-note{grid-column:2/4 !important;grid-row:2 !important;border-top:1px solid #e6e9ed !important;padding:9px 0 0 !important;margin-top:8px !important;display:flex !important;flex-direction:column !important;gap:3px !important;color:#687582 !important;font-size:10.5px !important;line-height:1.48 !important}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card>.accordion-details b{font-weight:700;color:#26323d}
  body:not(.access-locked):not(.access-success-page) #availableDate .estimated-note{display:block;margin-top:2px;color:#6e7b87;font-weight:400;text-transform:none;letter-spacing:0}
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-note b{font-size:10px !important;font-weight:700 !important;color:#26323d !important;letter-spacing:0 !important;text-transform:none !important}
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-note span{font-size:10.5px !important;font-weight:400 !important;color:#687582 !important;line-height:1.48 !important}

  body:not(.access-locked):not(.access-success-page) .steps{padding:18px 14px 12px !important;border-radius:22px !important;background:#fff;border:1px solid #e7e9ed;box-shadow:0 8px 24px rgba(20,28,38,.05)}
  body:not(.access-locked):not(.access-success-page) .section-title{font-size:17px;margin:0 0 10px;color:#162432}
  body:not(.access-locked):not(.access-success-page) .step{gap:12px;padding:13px 0;min-width:0}
  body:not(.access-locked):not(.access-success-page) .step-dot{width:38px;height:38px;flex:0 0 38px;border:2px solid #d4d9df;color:#526170;background:#fff;font-size:16px}
  body:not(.access-locked):not(.access-success-page) .step.active .step-dot{background:var(--bank-red);border-color:var(--bank-red);box-shadow:0 0 0 5px rgba(239,16,32,.10)}
  body:not(.access-locked):not(.access-success-page) .step.done .step-dot{background:#fff;border-color:#21a465;color:#21a465}
  body:not(.access-locked):not(.access-success-page) .step-copy{min-width:0;flex:1}
  body:not(.access-locked):not(.access-success-page) .step-copy>div:first-child{font-size:13px;line-height:1.28;font-weight:700;color:#162432;margin-top:1px}
  body:not(.access-locked):not(.access-success-page) .step-status-row{gap:7px;margin-top:5px}
  body:not(.access-locked):not(.access-success-page) .step-status-row em{font-size:10px;color:#74808c}
  body:not(.access-locked):not(.access-success-page) .step.active .step-status-row em{color:var(--bank-red)}
  body:not(.access-locked):not(.access-success-page) .step-status-row .step-progress-mini{height:5px;min-width:42px;max-width:none;background:#e6e9ed}
  body:not(.access-locked):not(.access-success-page) .step-status-row .step-progress-fill{background:#d3d8de}
  body:not(.access-locked):not(.access-success-page) .step.active .step-status-row .step-progress-fill{background:var(--bank-red)}
  body:not(.access-locked):not(.access-success-page) .step.done .step-status-row .step-progress-fill{background:#21a465}
  body:not(.access-locked):not(.access-success-page) .step-progress-value{font-size:10px;min-width:38px;color:#26323d}
  body:not(.access-locked):not(.access-success-page) .post-step-description{font-size:9.5px;line-height:1.4;color:#73808d;margin-top:3px}
  body:not(.access-locked):not(.access-success-page) .notice{font-size:9px;padding:14px 4px}
}


/* V50 — fix live phase rendering + reliable banking accordions */
.expected.accordion-card{pointer-events:auto !important;}
.expected.accordion-card[aria-expanded="false"] .accordion-details{display:none !important;}
#postSettlement.expected.post-expected.accordion-card[aria-expanded="false"] .post-status,
#postSettlement.expected.post-expected.accordion-card[aria-expanded="false"] .post-note{display:none !important;}
#postSettlement.expected.post-expected.accordion-card[aria-expanded="true"] .post-status,
#postSettlement.expected.post-expected.accordion-card[aria-expanded="true"] .post-note{display:block;}
@media(max-width:600px){
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card[aria-expanded="true"] .post-status{display:flex !important;}
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card[aria-expanded="true"] .post-note{display:flex !important;}
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card[aria-expanded="false"] .post-status,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card[aria-expanded="false"] .post-note{display:none !important;}
}


/* V51 — user menu / logout and stable accordion defaults */
.user-menu-wrap{position:relative;display:inline-flex;align-items:center}
.user-menu-wrap .header-action-icon.user{border:0;cursor:pointer;padding:0}
.user-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:1000;min-width:176px;padding:7px;background:#fff;border:1px solid #e7e9ed;border-radius:14px;box-shadow:0 14px 32px rgba(20,28,38,.14)}
.user-menu-title{padding:8px 10px 6px;color:#74808c;font-size:10px;font-weight:700;letter-spacing:.04em}
.user-menu-logout{display:flex;align-items:center;justify-content:space-between;padding:10px;border-radius:10px;color:#c8102e;text-decoration:none;font-size:13px;font-weight:700}
.user-menu-logout:hover{background:#fff3f4}
@media(max-width:600px){
  .user-menu-wrap{position:relative}
  .user-menu{right:-4px;top:calc(100% + 7px);min-width:165px}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card[aria-expanded="false"] .accordion-details{display:none !important}
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card[aria-expanded="true"] .post-status,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card[aria-expanded="true"] .post-note{display:flex !important}
}

/* V52 — unified banking accordions, no visible +/- glyphs, reliable logout */
body:not(.access-locked):not(.access-success-page) .accordion-icon{display:none !important}
body:not(.access-locked):not(.access-success-page) .accordion-card{cursor:pointer;-webkit-tap-highlight-color:transparent}

/* The two cards use one common banking-card geometry. */
@media (max-width:600px){
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card{
    display:grid !important;
    width:100% !important;
    box-sizing:border-box !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto auto auto !important;
    align-items:start !important;
    column-gap:18px !important;
    row-gap:0 !important;
    padding:20px 20px 19px 22px !important;
    margin-top:14px !important;
    margin-bottom:22px !important;
    min-height:0 !important;
    border:1px solid #e4e7eb !important;
    border-radius:22px !important;
    background:#f8f9fb !important;
    box-shadow:0 7px 22px rgba(20,28,38,.045) !important;
    overflow:hidden !important;
  }

  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card::before,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card::before{
    left:0 !important;top:10px !important;bottom:10px !important;width:4px !important;border-radius:999px !important;
  }

  /* Green card: title/date on the first row, details below. */
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > span:not(.accordion-icon){
    grid-column:1 !important;grid-row:1 !important;
    padding:0 !important;margin:0 !important;
    font-size:13px !important;line-height:1.25 !important;
    font-weight:800 !important;letter-spacing:.09em !important;
    text-transform:uppercase !important;color:#687580 !important;
  }
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > strong{
    grid-column:2 !important;grid-row:1 !important;
    padding:0 !important;margin:0 !important;
    font-size:14px !important;line-height:1.3 !important;
    font-weight:700 !important;color:#1b2733 !important;text-align:right !important;white-space:nowrap !important;
  }
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > .accordion-details{
    grid-column:1/-1 !important;grid-row:2/4 !important;
    display:flex !important;flex-direction:column !important;gap:7px !important;
    margin-top:15px !important;padding:14px 2px 0 !important;
    border-top:1px solid #e3e6ea !important;
    font-size:12px !important;line-height:1.55 !important;color:#737e89 !important;
  }
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card[aria-expanded="false"] > .accordion-details{display:none !important}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card[aria-expanded="false"]{padding-bottom:18px !important}
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > .accordion-details b{font-weight:700 !important;color:#6e7883 !important}
  body:not(.access-locked):not(.access-success-page) #availableDate .estimated-note{font-size:12px !important;color:#7d8791 !important;margin-top:2px !important}

  /* Red card: same dimensions; status sits directly under the operation title. */
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card{
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto auto !important;
    margin-top:14px !important;
    margin-bottom:28px !important;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-phase{
    grid-column:1 !important;grid-row:1 !important;
    min-width:0 !important;padding:0 !important;margin:0 !important;
    display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:4px !important;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-phase > span{
    font-size:13px !important;line-height:1.25 !important;font-weight:800 !important;
    letter-spacing:.09em !important;text-transform:uppercase !important;color:#687580 !important;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-phase > strong{
    font-size:17px !important;line-height:1.25 !important;font-weight:700 !important;
    letter-spacing:-.01em !important;text-transform:none !important;color:#17222d !important;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-status{
    grid-column:1 !important;grid-row:2 !important;
    min-height:0 !important;padding:8px 0 0 !important;margin:0 !important;
    display:flex !important;align-items:center !important;justify-content:flex-start !important;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-waiting{
    font-size:13px !important;line-height:1.25 !important;font-weight:700 !important;color:var(--bank-red) !important;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-waiting::after{content:'…'}
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-note{
    grid-column:1 !important;grid-row:3 !important;
    display:flex !important;flex-direction:column !important;gap:7px !important;
    margin-top:13px !important;padding:14px 2px 0 !important;
    border-top:1px solid #e3e6ea !important;
    font-size:12px !important;line-height:1.55 !important;color:#737e89 !important;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card[aria-expanded="false"] .post-note,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card[aria-expanded="false"] .post-status{display:none !important}
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card[aria-expanded="false"]{grid-template-rows:auto !important;padding-bottom:18px !important}
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-note b{
    font-size:12px !important;font-weight:700 !important;letter-spacing:0 !important;text-transform:none !important;color:#26323d !important;
  }

  /* Give the progress panel breathing room after the red accordion. */
  body:not(.access-locked):not(.access-success-page) #stepsPanel{margin-top:0 !important}
}

/* Desktop: keep the two cards the same outer width and clean hierarchy. */
body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card,
body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card{
  cursor:pointer;
}

/* Reliable logout target: never let a menu overlay swallow the click. */
.user-menu-logout{position:relative;z-index:1002;pointer-events:auto !important;cursor:pointer}

/* V54 — banking progress hierarchy + chromatic phase bar */
body:not(.access-locked):not(.access-success-page) .progress-context{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:3px !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
body:not(.access-locked):not(.access-success-page) .progress-context-meta{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  color:#7a8795 !important;
  font-size:10px !important;
  line-height:1.25 !important;
  font-weight:500 !important;
}
body:not(.access-locked):not(.access-success-page) .progress-context-meta i{
  font-style:normal !important;
  color:#b8bec5 !important;
}
body:not(.access-locked):not(.access-success-page) .progress-step-name{
  color:#1f2b37 !important;
  font-size:12px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
body:not(.access-locked):not(.access-success-page) #progressBar .bar-fill{
  transition:width .8s ease, background-color .8s ease !important;
}
body:not(.access-locked):not(.access-success-page) #progressBar.phase-color-1 .bar-fill{
  background:#c8102e !important;
}
body:not(.access-locked):not(.access-success-page) #progressBar.phase-color-2 .bar-fill{
  background:#d94f4f !important;
}
body:not(.access-locked):not(.access-success-page) #progressBar.phase-color-3 .bar-fill{
  background:#c58a16 !important;
}
body:not(.access-locked):not(.access-success-page) #progressBar.phase-color-4 .bar-fill{
  background:#278a8a !important;
}
body:not(.access-locked):not(.access-success-page) #progressBar.phase-color-5 .bar-fill{
  background:#249b68 !important;
}


/* V55 — clean banking header + hide visual accordion marker on Data disponibile */
.mobile-header-actions{justify-content:flex-end !important;}
#availableDate .accordion-icon{
  display:none !important;
}
#availableDate.expected.accordion-card > span:not(.accordion-icon){
  padding-left:0 !important;
}

/* V56 — clean accordion copy + subtle thinking-style active status */
@media (max-width:600px){
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > .accordion-details,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-note{
    align-items:flex-start !important;
    text-align:left !important;
    justify-content:flex-start !important;
    width:100% !important;
    box-sizing:border-box !important;
  }

  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > .accordion-details > span,
  body:not(.access-locked):not(.access-success-page) #postSettlement.expected.post-expected.accordion-card .post-note > span{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
  }

  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > .accordion-details b{
    color:#69747f !important;
    font-weight:700 !important;
  }

  body:not(.access-locked):not(.access-success-page) #availableDate .estimated-note{
    margin-top:2px !important;
    color:#7d8791 !important;
    font-weight:400 !important;
  }
}

/* The active status has a restrained moving highlight, similar to a thinking indicator. */
body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting{
  position:relative;
  display:inline-block;
  color:transparent !important;
  background:linear-gradient(100deg,#c8102e 0%,#c8102e 36%,#f49aaa 48%,#ffffff 50%,#f49aaa 52%,#c8102e 64%,#c8102e 100%);
  background-size:240% 100%;
  background-position:120% 0;
  -webkit-background-clip:text;
  background-clip:text;
  animation:statusThinkingSweep 2.2s ease-in-out infinite;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting::after{
  content:'…';
  display:inline-block;
  color:#c8102e;
  -webkit-background-clip:initial;
  background-clip:initial;
  background-image:none;
  animation:statusDots 1.6s ease-in-out infinite;
}
@keyframes statusThinkingSweep{
  0%{background-position:120% 0}
  55%{background-position:0% 0}
  100%{background-position:-80% 0}
}
@keyframes statusDots{
  0%,100%{opacity:.35;transform:translateY(0)}
  50%{opacity:1;transform:translateY(-.5px)}
}
@media (prefers-reduced-motion:reduce){
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting,
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting::after{animation:none !important}
}


/* V57 — final copy cleanup + full "In corso…" sweep animation */
@media (max-width:600px){
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > .accordion-details{
    text-transform:none !important;
    letter-spacing:0 !important;
    font-weight:400 !important;
    color:#737e89 !important;
    text-align:left !important;
    align-items:flex-start !important;
    gap:10px !important;
  }
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > .accordion-details > span{
    text-transform:none !important;
    letter-spacing:0 !important;
    font-weight:400 !important;
    color:#737e89 !important;
    text-align:left !important;
    line-height:1.55 !important;
  }
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card > .accordion-details b{
    text-transform:none !important;
    letter-spacing:0 !important;
    font-weight:700 !important;
    color:#69747f !important;
  }
  body:not(.access-locked):not(.access-success-page) #availableDate .estimated-note{
    margin-top:7px !important;
    padding-top:2px !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    font-weight:400 !important;
    color:#7d8791 !important;
  }

  /* The red status is one single animated text string, including the dots. */
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting.post-status-active{
    position:relative;
    display:inline-block;
    color:transparent !important;
    background:linear-gradient(90deg,
      #c8102e 0%,
      #c8102e 35%,
      #f6a0ad 46%,
      #ffffff 50%,
      #f6a0ad 54%,
      #c8102e 65%,
      #c8102e 100%);
    background-size:240% 100%;
    background-position:120% 0;
    -webkit-background-clip:text;
    background-clip:text;
    animation:statusFullSweep 2.4s ease-in-out infinite;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting.post-status-active::after{
    content:none !important;
    display:none !important;
  }
  @keyframes statusFullSweep{
    0%{background-position:120% 0}
    55%{background-position:0% 0}
    100%{background-position:-120% 0}
  }
  @media (prefers-reduced-motion:reduce){
    body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting.post-status-active{
      animation:none !important;
      color:#c8102e !important;
      background:none !important;
      -webkit-background-clip:initial !important;
      background-clip:initial !important;
    }
  }
}

/* V58 — tighter spacing below the green Data disponibile accordion */
@media (max-width:600px){
  body:not(.access-locked):not(.access-success-page) .hero{
    padding-bottom:10px !important;
  }
  body:not(.access-locked):not(.access-success-page) #availableDate.expected.accordion-card{
    margin-bottom:10px !important;
  }
}


/* V59 — clean post-regolamento status: no visual +/- and sequential animated dots */
body:not(.access-locked):not(.access-success-page) .accordion-icon{
  display:none !important;
}

@media (max-width:600px){
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting.post-status-active{
    position:relative;
    display:inline-flex !important;
    align-items:center;
    gap:0;
    color:#c8102e !important;
    background:none !important;
    -webkit-background-clip:initial !important;
    background-clip:initial !important;
    animation:none !important;
    overflow:hidden;
  }

  /* The whole status receives a soft left-to-right light sweep. */
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting.post-status-active::before{
    content:"";
    position:absolute;
    inset:-2px -8px;
    pointer-events:none;
    background:linear-gradient(100deg,
      transparent 0%,
      transparent 35%,
      rgba(255,255,255,.0) 42%,
      rgba(255,255,255,.9) 50%,
      rgba(255,255,255,.0) 58%,
      transparent 65%,
      transparent 100%);
    transform:translateX(-120%);
    animation:statusLightSweep 2.2s ease-in-out infinite;
    mix-blend-mode:screen;
  }

  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-label{
    position:relative;
    z-index:1;
    display:inline-block;
    color:#c8102e !important;
    background:linear-gradient(100deg,
      #c8102e 0%,
      #c8102e 35%,
      #f5a0ad 47%,
      #ffffff 50%,
      #f5a0ad 53%,
      #c8102e 65%,
      #c8102e 100%);
    background-size:240% 100%;
    background-position:120% 0;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:statusTextSweep 2.2s ease-in-out infinite;
  }

  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:baseline;
    height:auto;
    line-height:1;
    margin-left:3px;
    color:#c8102e !important;
  }

  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i{
    display:block;
    flex:0 0 4px;
    width:4px;
    height:4px;
    margin:0 1px 0;
    border-radius:50%;
    background:#c8102e;
    opacity:0;
    transform:none;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(1){animation:statusDotOne 1.8s steps(1,end) infinite}
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(2){animation:statusDotTwo 1.8s steps(1,end) infinite}
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(3){animation:statusDotThree 1.8s steps(1,end) infinite}

  @keyframes statusTextSweep{
    0%{background-position:120% 0}
    55%{background-position:0% 0}
    100%{background-position:-120% 0}
  }
  @keyframes statusLightSweep{
    0%{transform:translateX(-120%)}
    55%{transform:translateX(120%)}
    100%{transform:translateX(120%)}
  }
  @keyframes statusDotOne{
    0%{opacity:1}
    99%{opacity:1}
    100%{opacity:0}
  }
  @keyframes statusDotTwo{
    0%,32%{opacity:0}
    33%,99%{opacity:1}
    100%{opacity:0}
  }
  @keyframes statusDotThree{
    0%,65%{opacity:0}
    66%,99%{opacity:1}
    100%{opacity:0}
  }

  @media (prefers-reduced-motion:reduce){
    body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting.post-status-active::before,
    body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-label,
    body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i{
      animation:none !important;
    }
    body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-label{
      color:#c8102e !important;
      background:none !important;
      -webkit-text-fill-color:#c8102e !important;
    }
    body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(1){opacity:1}
    body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(2),
    body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(3){opacity:0}
  }
}


/* V62 — true segmented chromatic progress bar + green completed steps */
body:not(.access-locked):not(.access-success-page) #progressBar{
  position:relative;
  overflow:hidden;
}
body:not(.access-locked):not(.access-success-page) #progressBar .bar-fill{
  width:100% !important;
  height:100%;
  transform-origin:left center !important;
  border-radius:999px;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
  transition:transform .8s linear !important;
  will-change:transform;
}

/* Completed procedure steps are green, including their number/check, status and mini bar. */
body:not(.access-locked):not(.access-success-page) .step.done .step-dot{
  background:#249b68 !important;
  border-color:#249b68 !important;
  color:#fff !important;
  box-shadow:none !important;
}
body:not(.access-locked):not(.access-success-page) .step.done .step-copy > div:first-child{
  color:#1f6f4d !important;
}
body:not(.access-locked):not(.access-success-page) .step.done .step-status-row em,
body:not(.access-locked):not(.access-success-page) .step.done .step-progress-value{
  color:#249b68 !important;
}
body:not(.access-locked):not(.access-success-page) .step.done .step-progress-fill{
  background:#249b68 !important;
}


/* V63 — post-regolamento: completamento rigorosamente sequenziale */
body:not(.access-locked):not(.access-success-page) .step.post-stage-waiting .step-dot{
  background:#fff !important;
  border-color:#b9bec5 !important;
  color:#69717b !important;
  box-shadow:none !important;
}
body:not(.access-locked):not(.access-success-page) .step.post-stage-waiting .step-copy > div:first-child,
body:not(.access-locked):not(.access-success-page) .step.post-stage-waiting .step-status-row em,
body:not(.access-locked):not(.access-success-page) .step.post-stage-waiting .step-progress-value{
  color:#69717b !important;
}
body:not(.access-locked):not(.access-success-page) .step.post-stage-waiting .step-progress-fill{
  width:0 !important;
  background:#dfe3e7 !important;
}
body:not(.access-locked):not(.access-success-page) .step.post-stage-active .step-dot{
  background:#c8102e !important;
  border-color:#c8102e !important;
  color:#fff !important;
}
body:not(.access-locked):not(.access-success-page) .step.post-stage-done .step-dot{
  background:#249b68 !important;
  border-color:#249b68 !important;
  color:#fff !important;
}
body:not(.access-locked):not(.access-success-page) .step.post-stage-done .step-progress-fill{
  background:#249b68 !important;
}



/* V64.8 — ripristino puntini animati originali "In corso..." */
body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting.post-status-active{
  position:relative;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:0 !important;
  color:#c8102e !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:initial !important;
  animation:none !important;
  overflow:visible !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-label{
  position:relative;
  z-index:1;
  display:inline-block;
  color:#c8102e !important;
  background:linear-gradient(100deg,
    #c8102e 0%,
    #c8102e 35%,
    #f5a0ad 47%,
    #ffffff 50%,
    #f5a0ad 53%,
    #c8102e 65%,
    #c8102e 100%);
  background-size:240% 100%;
  background-position:120% 0;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:statusTextSweep64 2.2s ease-in-out infinite;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting.post-status-active::before{
  content:"";
  position:absolute;
  inset:-2px -8px;
  pointer-events:none;
  background:linear-gradient(100deg,
    transparent 0%,
    transparent 35%,
    rgba(255,255,255,0) 42%,
    rgba(255,255,255,.9) 50%,
    rgba(255,255,255,0) 58%,
    transparent 65%,
    transparent 100%);
  transform:translateX(-120%);
  animation:statusLightSweep64 2.2s ease-in-out infinite;
  mix-blend-mode:screen;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots{
  position:relative;
  z-index:1;
  display:inline-flex !important;
  align-items:baseline !important;
  height:auto !important;
  line-height:1 !important;
  margin-left:3px !important;
  color:#c8102e !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i{
  display:block !important;
  flex:0 0 4px !important;
  width:4px !important;
  height:4px !important;
  margin:0 1px !important;
  border-radius:50% !important;
  background:#c8102e !important;
  opacity:0;
  transform:none !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(1){animation:statusDotOne64 1.8s steps(1,end) infinite}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(2){animation:statusDotTwo64 1.8s steps(1,end) infinite}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(3){animation:statusDotThree64 1.8s steps(1,end) infinite}
body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting.post-status-active::after{
  content:none !important;
  display:none !important;
}

body:not(.access-locked):not(.access-success-page) #availabilityFinal .availability-final-status{
  position:relative;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinal .availability-status-label{
  position:relative;
  z-index:1;
  display:inline-block;
  color:#c8102e !important;
  background:linear-gradient(100deg,
    #c8102e 0%,
    #c8102e 35%,
    #f5a0ad 47%,
    #ffffff 50%,
    #f5a0ad 53%,
    #c8102e 65%,
    #c8102e 100%);
  background-size:240% 100%;
  background-position:120% 0;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:statusTextSweep64 2.2s ease-in-out infinite;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinal .availability-status-active::before{
  content:"";
  position:absolute;
  inset:-2px -8px;
  pointer-events:none;
  background:linear-gradient(100deg,
    transparent 0%,
    transparent 35%,
    rgba(255,255,255,0) 42%,
    rgba(255,255,255,.9) 50%,
    rgba(255,255,255,0) 58%,
    transparent 65%,
    transparent 100%);
  transform:translateX(-120%);
  animation:statusLightSweep64 2.2s ease-in-out infinite;
  mix-blend-mode:screen;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinal .availability-status-dots{
  position:relative;
  z-index:1;
  display:inline-flex !important;
  align-items:baseline !important;
  height:auto !important;
  line-height:1 !important;
  margin-left:3px !important;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinal .availability-status-dots i{
  display:block !important;
  flex:0 0 4px !important;
  width:4px !important;
  height:4px !important;
  margin:0 1px !important;
  border-radius:50% !important;
  background:#c8102e !important;
  opacity:0;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinal .availability-status-dots i:nth-child(1){animation:statusDotOne64 1.8s steps(1,end) infinite}
body:not(.access-locked):not(.access-success-page) #availabilityFinal .availability-status-dots i:nth-child(2){animation:statusDotTwo64 1.8s steps(1,end) infinite}
body:not(.access-locked):not(.access-success-page) #availabilityFinal .availability-status-dots i:nth-child(3){animation:statusDotThree64 1.8s steps(1,end) infinite}
body:not(.access-locked):not(.access-success-page) #availabilityFinal .availability-final-status:not(.availability-status-active) .availability-status-label{
  background:none !important;
  -webkit-text-fill-color:#20a35a !important;
  color:#20a35a !important;
  animation:none !important;
}

@keyframes statusTextSweep64{
  0%{background-position:120% 0}
  55%{background-position:0% 0}
  100%{background-position:-120% 0}
}
@keyframes statusLightSweep64{
  0%{transform:translateX(-120%)}
  55%{transform:translateX(120%)}
  100%{transform:translateX(120%)}
}
@keyframes statusDotOne64{
  0%{opacity:1}
  99%{opacity:1}
  100%{opacity:0}
}
@keyframes statusDotTwo64{
  0%,32%{opacity:0}
  33%,99%{opacity:1}
  100%{opacity:0}
}
@keyframes statusDotThree64{
  0%,65%{opacity:0}
  66%,99%{opacity:1}
  100%{opacity:0}
}
@media (prefers-reduced-motion:reduce){
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-waiting.post-status-active::before,
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-label,
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i{
    animation:none !important;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-label{
    color:#c8102e !important;
    background:none !important;
    -webkit-background-clip:initial !important;
    background-clip:initial !important;
    -webkit-text-fill-color:#c8102e !important;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(1){opacity:1}
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(2),
  body:not(.access-locked):not(.access-success-page) #postSettlement .post-status-dots i:nth-child(3){opacity:0}
}



/* V64.6 — Disponibilità operativa aggiunta senza alterare la grafica di riferimento allegata. */
/* V64 — fase finale di disponibilità operativa, dopo il completamento del 5° step post-regolamento. */
.availability-final{
  position:relative;
  margin-top:22px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:18px !important;
  background:#f7f7f8 !important;
  overflow:hidden !important;
  box-shadow:none !important;
}
.availability-final::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  border-radius:999px;
  background:#c8102e;
}
.availability-final.is-complete::before{background:#20a35a}
.availability-final-main{
  padding:16px 18px 10px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
}
.availability-final-main span{
  color:#666 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}
.availability-final-main strong{
  color:#111 !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
}
.availability-final-status{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:7px 20px 9px !important;
  border-top:1px solid #e1e4e8 !important;
}
.availability-final-status strong{
  color:#c8102e !important;
  font-size:13px !important;
  font-weight:800 !important;
}
.availability-final.is-complete .availability-final-status strong{color:#20a35a !important}
.availability-final-status span{
  margin-left:auto !important;
  color:#222 !important;
  font-size:12px !important;
  font-weight:800 !important;
}
.availability-final-body{
  padding:13px 20px 17px !important;
  border-top:1px solid #e1e4e8 !important;
}
.availability-final-label{
  color:#666 !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.07em !important;
}
.availability-final-body > strong{
  display:block !important;
  margin-top:4px !important;
  color:#111 !important;
  font-size:15px !important;
  line-height:1.35 !important;
}
.availability-final-copy{
  margin-top:11px !important;
  color:#69717b !important;
  font-size:11.5px !important;
  line-height:1.6 !important;
}
.availability-final-progress{
  height:6px !important;
  margin-top:13px !important;
  border-radius:999px !important;
  background:#e4e7ea !important;
  overflow:hidden !important;
}
.availability-final-progress > div{
  width:0;
  height:100%;
  border-radius:999px;
  background:#c8102e;
  transition:width .9s linear,background .25s ease;
}
.availability-final.is-complete .availability-final-progress > div{background:#20a35a}
.availability-final-note{
  margin-top:10px !important;
  padding-top:10px !important;
  border-top:1px solid #e5e8ec !important;
  color:#69717b !important;
  font-size:10.8px !important;
  line-height:1.55 !important;
}
@media(max-width:560px){
  .availability-final{margin-top:18px !important}
  .availability-final-main{padding:14px 15px 9px 18px !important}
  .availability-final-main strong{font-size:15px !important}
  .availability-final-status{padding:7px 18px 9px !important}
  .availability-final-body{padding:12px 18px 15px !important}
  .availability-final-copy{font-size:11px !important}
}

/* V64.2 — il nuovo step Disponibilità operativa appare solo dopo il 100% del 5° step. */
.availability-step.is-hidden{display:none !important}
.availability-step .step-copy > div:first-child{color:#174a9c !important}
.availability-step .step-status-row em{color:#1769d1 !important;font-weight:800 !important}
.availability-step .step-progress-fill{background:#1769d1 !important}
.availability-step .step-dot{background:#1769d1 !important;border-color:#1769d1 !important;color:#fff !important;box-shadow:0 0 0 5px rgba(23,105,209,.10) !important}
.availability-step.availability-step-complete .step-dot{background:#20a35a !important;border-color:#20a35a !important;box-shadow:none !important}
.availability-step.availability-step-complete .step-copy > div:first-child,
.availability-step.availability-step-complete .step-status-row em,
.availability-step.availability-step-complete .step-progress-value{color:#20a35a !important}
.availability-step.availability-step-complete .step-progress-fill{background:#20a35a !important}


/* V64.9 — accordion disponibilità operativa senza +/- visibile */
#availabilityFinal.accordion-card{cursor:pointer !important;user-select:none !important}
#availabilityFinal.accordion-card[aria-expanded="false"] .availability-final-body{display:none !important}
#availabilityFinal.accordion-card[aria-expanded="true"] .availability-final-body{display:block !important}
#availabilityFinal.accordion-card[aria-expanded="false"] .availability-final-status{border-bottom:0 !important}


/* V64.11 — fase finale: Disponibilità operativa nel progress header + post card completata. */
body:not(.access-locked):not(.access-success-page) #progressContext.availability-mode{
  margin-top:-5px !important;
  margin-bottom:11px !important;
  min-height:18px !important;
}
body:not(.access-locked):not(.access-success-page) #progressContext.availability-mode .progress-context-meta{
  display:none !important;
}
body:not(.access-locked):not(.access-success-page) #progressContext.availability-mode #progressStepName{
  display:block !important;
  color:#69717b !important;
  font-size:11px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  margin:0 !important;
}
body:not(.access-locked):not(.access-success-page) #progressLabel{
  transition:color .25s ease;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed{
  border-left-color:#20a35a !important;
  margin-top:22px !important;
  min-height:92px !important;
  background:#f7f8f8 !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed::before{
  background:#20a35a !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed[aria-expanded="false"]{
  min-height:92px !important;
  height:92px !important;
  padding:14px 16px !important;
  grid-template-columns:minmax(165px,1.15fr) minmax(120px,.72fr) minmax(0,2.6fr) !important;
  overflow:hidden !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed[aria-expanded="false"] .post-note{
  display:none !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed .post-waiting{
  color:#20a35a !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed .post-status{
  border-left-color:#e1e4e8 !important;
  border-right-color:#e1e4e8 !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed .post-status-label{
  color:#20a35a !important;
  -webkit-text-fill-color:#20a35a !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  animation:none !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed .post-status-dots{
  display:none !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed .post-status-active{
  animation:none !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed .post-phase span{
  color:#69717b !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed .post-phase strong{
  color:#111 !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed .post-note{
  color:#69717b !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed[aria-expanded="false"] .post-status{
  min-height:64px !important;
}
body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed[aria-expanded="false"] + #availabilityFinal{
  margin-top:14px !important;
}
@media(max-width:600px){
  body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed[aria-expanded="false"]{
    min-height:92px !important;
    height:92px !important;
    padding:14px 16px !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  body:not(.access-locked):not(.access-success-page) #postSettlement.post-settlement-completed[aria-expanded="false"] .post-status{
    min-height:0 !important;
    padding:9px 0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:1px solid #e1e4e8 !important;
  }
}


/* FIX V64.17 — availability In corso: rosso + sweep lucido */
body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active{
  position:relative;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:0 !important;
  color:#c8102e !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:initial !important;
  animation:none !important;
  overflow:visible !important;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-label{
  position:relative;
  z-index:1;
  display:inline-block;
  color:#c8102e !important;
  background:linear-gradient(100deg,
    #c8102e 0%,
    #c8102e 35%,
    #f5a0ad 47%,
    #ffffff 50%,
    #f5a0ad 53%,
    #c8102e 65%,
    #c8102e 100%);
  background-size:240% 100%;
  background-position:120% 0;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:statusTextSweep64 2.2s ease-in-out infinite;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active::before{
  content:"";
  position:absolute;
  inset:-2px -8px;
  pointer-events:none;
  background:linear-gradient(100deg,
    transparent 0%,
    transparent 35%,
    rgba(255,255,255,0) 42%,
    rgba(255,255,255,.9) 50%,
    rgba(255,255,255,0) 58%,
    transparent 65%,
    transparent 100%);
  transform:translateX(-120%);
  animation:statusLightSweep64 2.2s ease-in-out infinite;
  mix-blend-mode:screen;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-dots{
  position:relative;
  z-index:1;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:4px !important;
  margin-left:4px !important;
  height:1em !important;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-dots i{
  display:block;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#c8102e !important;
  flex:0 0 4px;
  align-self:baseline;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-dots i:nth-child(1){
  animation:statusDotOne64 2.2s linear infinite;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-dots i:nth-child(2){
  animation:statusDotTwo64 2.2s linear infinite;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-dots i:nth-child(3){
  animation:statusDotThree64 2.2s linear infinite;
}
body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.is-complete .availability-status-label{
  color:#249b68 !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:#249b68 !important;
  animation:none !important;
}
@media (prefers-reduced-motion:reduce){
  body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active::before,
  body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-label,
  body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-dots i{
    animation:none !important;
  }
  body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-label{
    color:#c8102e !important;
    background:none !important;
    -webkit-background-clip:initial !important;
    background-clip:initial !important;
    -webkit-text-fill-color:#c8102e !important;
  }
  body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-dots i:nth-child(1){opacity:1}
  body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-dots i:nth-child(2),
  body:not(.access-locked):not(.access-success-page) #availabilityFinalStatus.availability-status-active .availability-status-dots i:nth-child(3){opacity:0}
}


/* V64.44 — ripristino definitivo Date dell'operazione + Swiss banking timeline */
#operationDates{
  display:block !important;
  margin:18px 0 0 !important;
  padding:18px !important;
  background:#fff !important;
  border:1px solid #e4e7eb !important;
  border-radius:26px !important;
  box-shadow:0 12px 28px rgba(20,35,50,.06) !important;
  overflow:hidden !important;
}
#operationDates .operation-dates-head{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:4px 2px 16px !important;
  border-bottom:1px solid #e7eaee !important;
}
#operationDates .operation-dates-bank-icon{
  width:54px !important;height:54px !important;flex:0 0 54px !important;
  display:grid !important;place-items:center !important;
  border-radius:15px !important;
  background:#ef1632 !important;
  box-shadow:0 7px 18px rgba(239,22,50,.18) !important;
}
#operationDates .operation-dates-bank-icon svg{width:31px;height:31px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linejoin:round}
#operationDates .operation-dates-head span{
  display:block !important;color:#6f7c89 !important;font-size:11px !important;
  font-weight:800 !important;letter-spacing:.09em !important;
}
#operationDates .operation-dates-head strong{
  display:block !important;margin-top:2px !important;color:#12263b !important;
  font-size:20px !important;line-height:1.15 !important;font-weight:850 !important;
}
#operationDates .operation-dates-head p{
  margin:5px 0 0 !important;color:#637386 !important;font-size:12px !important;line-height:1.45 !important;
}
#operationDates .operation-timeline{padding-top:14px !important}
#operationDates .operation-date-item{
  position:relative !important;display:grid !important;grid-template-columns:54px minmax(0,1fr) !important;
  gap:10px !important;padding:0 0 16px !important;
}
#operationDates .operation-date-item:not(:last-child)::after{
  content:"" !important;position:absolute !important;left:26px !important;top:48px !important;
  bottom:2px !important;width:2px !important;background:#dfe4e9 !important;
}
#operationDates .operation-date-item.is-active:not(:last-child)::after{
  background:linear-gradient(#ed1532 0 55%,#dfe4e9 55%) !important;
}
#operationDates .operation-date-item.is-complete:not(:last-child)::after{background:#ed1532 !important}
#operationDates .operation-node-column{position:relative;z-index:2;text-align:center}
#operationDates .operation-node{
  width:46px !important;height:46px !important;margin:0 auto !important;
  border-radius:50% !important;display:grid !important;place-items:center !important;
  background:#fff !important;border:2px solid #d9dfe5 !important;color:#526375 !important;
  font-size:15px !important;font-weight:850 !important;box-shadow:0 3px 10px rgba(20,35,50,.05) !important;
}
/* V64.46: rimuove la percentuale visualizzata sotto i cerchi 1/2/3. */
#operationDates .operation-node-percent{display:none !important}
#operationDates .operation-node-percent{
  margin-top:7px !important;color:#69798a !important;font-size:10px !important;
  font-weight:800 !important;white-space:nowrap !important;
}
#operationDates .is-active .operation-node,
#operationDates .is-complete .operation-node{
  background:#ed1532 !important;border-color:#ed1532 !important;color:#fff !important;
}
#operationDates .is-active .operation-node-percent,
#operationDates .is-complete .operation-node-percent{color:#ed1532 !important}
#operationDates .operation-date-card{
  min-width:0 !important;padding:14px !important;border:1px solid #e8ebef !important;
  border-radius:19px !important;background:#fff !important;
}
#operationDates .is-active .operation-date-card{background:linear-gradient(180deg,#fff 0,#fff9fa 100%) !important;border-color:#f1d9dd !important}
#operationDates .is-complete .operation-date-card{background:#fff !important}
#operationDates .operation-icon{
  width:43px !important;height:43px !important;float:left !important;margin:0 11px 5px 0 !important;
  border-radius:50% !important;display:grid !important;place-items:center !important;background:#fff0f2 !important;
}
#operationDates .operation-icon svg{width:23px;height:23px;fill:none;stroke:#d71936;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#operationDates .operation-icon.coins{background:#f0f3f5 !important}
#operationDates .operation-icon.coins svg{stroke:#526579 !important}
#operationDates .operation-main{min-width:0 !important}
#operationDates .operation-title-row{display:flex !important;justify-content:space-between !important;gap:8px !important}
#operationDates .operation-title-row > div{min-width:0 !important}
#operationDates .operation-title-row strong{
  display:block !important;color:#172b3f !important;font-size:15px !important;line-height:1.25 !important;font-weight:850 !important;
}
#operationDates .operation-title-row span{
  display:block !important;margin-top:3px !important;color:#6c7b8b !important;font-size:10.8px !important;line-height:1.4 !important;
}
#operationDates .operation-percent{
  flex:0 0 auto !important;color:#6c7b8b !important;font-size:13px !important;font-weight:850 !important;white-space:nowrap !important;
}
#operationDates .is-active .operation-percent{color:#d71936 !important}
#operationDates .is-complete .operation-percent{color:#249b68 !important}
#operationDates .operation-bar{
  clear:both !important;height:5px !important;margin:12px 0 10px !important;border-radius:99px !important;
  background:#e8ebee !important;overflow:hidden !important;
}
#operationDates .operation-bar i{
  display:block !important;width:0;height:100%;border-radius:99px !important;
  background:#d71936 !important;transition:width .8s linear !important;
}
#operationDates .is-complete .operation-bar i{background:#249b68 !important}
#operationDates .operation-bottom{
  display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:8px !important;align-items:stretch !important;
}
#operationDates .operation-date-box,
#operationDates .operation-status{
  min-width:0 !important;display:flex !important;align-items:center !important;gap:7px !important;
  padding:8px 9px !important;border-radius:13px !important;background:#fff5f6 !important;
}
#operationDates .operation-date-box svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:#d71936;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#operationDates .operation-date-box b{display:block;color:#172b3f !important;font-size:11px !important;line-height:1.2 !important;white-space:nowrap !important}
#operationDates .operation-date-box small{display:block;margin-top:2px;color:#6b7a8a !important;font-size:9.5px !important;white-space:nowrap !important}
#operationDates .operation-status{justify-content:center;min-width:105px !important;background:#f4f6f8 !important;color:#617184 !important;font-size:10px !important;font-weight:800 !important;white-space:nowrap !important}
#operationDates .operation-status.status-active{background:#fff0f2 !important;color:#d71936 !important}
#operationDates .operation-status.status-complete{background:#eef9f3 !important;color:#249b68 !important}
#operationDates .status-symbol{
  width:18px !important;height:18px !important;display:inline-grid !important;place-items:center !important;
  border:2px solid currentColor !important;border-radius:50% !important;font-style:normal !important;font-size:10px !important;
}
#operationDates .status-active .status-symbol{animation:operationSpin44 1.2s linear infinite !important;border-top-color:transparent !important}
@keyframes operationSpin44{to{transform:rotate(360deg)}}
#operationDates .operation-dates-note{
  display:flex !important;gap:10px !important;align-items:flex-start !important;margin-top:2px !important;
  padding:12px !important;border:1px solid #e7eaee !important;border-radius:15px !important;background:#fafbfc !important;
}
#operationDates .operation-dates-note > span{
  width:23px !important;height:23px !important;flex:0 0 23px !important;border-radius:50% !important;
  display:grid !important;place-items:center !important;background:#e5ebf0 !important;color:#193047 !important;font-weight:850 !important;
}
#operationDates .operation-dates-note p{margin:0 !important;color:#68788a !important;font-size:10.5px !important;line-height:1.5 !important}

/* The old post-regolamento/secondary availability accordions remain in the DOM only for compatibility; never render them. */
#postSettlement,#availabilityFinal{display:none !important}

/* V64.44 — exact 22px separation before Avanzamento */
#stepsPanel{margin-top:22px !important}

/* Make the final Avanzamento entry read as Data disponibile when active. */
#availabilityStep .post-step-description{display:none !important}
#availabilityStep .step-progress-value{font-variant-numeric:tabular-nums}
#availabilityStep.active .step-copy > div:first-child,
#availabilityStep.post-stage-active .step-copy > div:first-child,
#availabilityStep .step-status-row em{color:#d71936 !important}
#availabilityStep.availability-step-complete .step-copy > div:first-child,
#availabilityStep.availability-step-complete .step-status-row em,
#availabilityStep.availability-step-complete .step-progress-value{color:#249b68 !important}

@media(max-width:600px){
  #operationDates{margin-top:14px !important;padding:15px !important;border-radius:24px !important}
  #operationDates .operation-dates-head{gap:11px !important;padding-bottom:13px !important}
  #operationDates .operation-dates-bank-icon{width:48px !important;height:48px !important;flex-basis:48px !important;border-radius:14px !important}
  #operationDates .operation-dates-bank-icon svg{width:27px;height:27px}
  #operationDates .operation-dates-head strong{font-size:18px !important}
  #operationDates .operation-dates-head p{font-size:11px !important}
  #operationDates .operation-date-item{grid-template-columns:42px minmax(0,1fr) !important;gap:7px !important;padding-bottom:13px !important}
  #operationDates .operation-date-item:not(:last-child)::after{left:20px !important;top:42px !important}
  #operationDates .operation-node{width:38px !important;height:38px !important;font-size:13px !important}
  #operationDates .operation-node-percent{font-size:9px !important;margin-top:5px !important}
  #operationDates .operation-date-card{padding:11px !important;border-radius:17px !important}
  #operationDates .operation-icon{width:38px !important;height:38px !important;margin-right:9px !important}
  #operationDates .operation-icon svg{width:20px;height:20px}
  #operationDates .operation-title-row strong{font-size:14px !important}
  #operationDates .operation-title-row span{font-size:10px !important}
  #operationDates .operation-percent{font-size:12px !important}
  #operationDates .operation-bottom{grid-template-columns:1fr !important;gap:6px !important}
  #operationDates .operation-status{min-height:34px !important}
  #operationDates .operation-date-box{min-height:42px !important}
  #operationDates .operation-date-box b{font-size:10.5px !important}
  #operationDates .operation-date-box small{font-size:9px !important}
  #operationDates .operation-dates-note{padding:10px !important}
}

/* V64.47 — Step 6 "Data disponibile": stesso linguaggio cromatico dei post-step. */
body:not(.access-locked):not(.access-success-page) .availability-step .step-copy > div:first-child{color:#111 !important}
body:not(.access-locked):not(.access-success-page) .availability-step .step-status-row em{color:#c8102e !important;font-weight:800 !important}
body:not(.access-locked):not(.access-success-page) .availability-step .step-progress-fill{background:#c8102e !important}
body:not(.access-locked):not(.access-success-page) .availability-step .step-dot{background:#c8102e !important;border-color:#c8102e !important;color:#fff !important;box-shadow:0 0 0 5px rgba(200,16,46,.10) !important}
body:not(.access-locked):not(.access-success-page) .availability-step.availability-step-complete .step-dot{background:#20a35a !important;border-color:#20a35a !important;box-shadow:none !important}
body:not(.access-locked):not(.access-success-page) .availability-step.availability-step-complete .step-copy > div:first-child,
body:not(.access-locked):not(.access-success-page) .availability-step.availability-step-complete .step-status-row em,
body:not(.access-locked):not(.access-success-page) .availability-step.availability-step-complete .step-progress-value{color:#20a35a !important}
body:not(.access-locked):not(.access-success-page) .availability-step.availability-step-complete .step-progress-fill{background:#20a35a !important}

/* =========================================================
   V64.49 — Micro-step operativi con barra e percentuale
   ========================================================= */
#operationDates .operation-substeps{
  display:grid;
  gap:7px;
  margin:10px 0 2px;
  padding:8px 9px;
  border:1px solid #edf0f3;
  border-radius:13px;
  background:#fafbfc;
}
#operationDates .operation-substep{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:8px;
  align-items:start;
  min-height:42px;
  padding:5px 6px 7px;
  border-radius:9px;
  transition:background .35s ease,opacity .35s ease,transform .35s ease;
  opacity:.58;
}
#operationDates .operation-substep>span{
  width:22px;height:22px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  border:1px solid #d8dee5;
  background:#fff;
  color:#7b8794;
  font-size:9px;font-weight:800;
  line-height:1;
}
#operationDates .operation-substep b{
  display:block;
  color:#556575;
  font-size:9.5px;
  line-height:1.2;
  font-weight:700;
}
#operationDates .operation-substep small{
  display:block;
  margin-top:2px;
  color:#8a96a3;
  font-size:8.5px;
  line-height:1.25;
}
#operationDates .operation-subbar{
  position:relative;
  height:5px;
  margin:7px 28px 0 0;
  border-radius:999px;
  background:#e6eaee;
  overflow:visible;
}
#operationDates .operation-subbar i{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:#c8102e;
  transition:width .65s linear,background .35s ease;
}
#operationDates .operation-subbar em{
  position:absolute;
  top:50%;
  left:0;
  transform:translate(-50%,-50%);
  min-width:34px;
  padding:1px 3px;
  border-radius:5px;
  background:#fff;
  color:#c8102e;
  font-size:7.5px;
  line-height:1.2;
  font-style:normal;
  font-weight:800;
  white-space:nowrap;
  text-align:center;
  box-shadow:0 1px 3px rgba(24,40,56,.08);
  pointer-events:none;
  transition:left .65s linear,color .35s ease;
}
#operationDates .operation-substep.is-current{
  opacity:1;
  background:#fff3f5;
  transform:translateX(2px);
}
#operationDates .operation-substep.is-current>span{
  border-color:#d71936;
  background:#d71936;
  color:#fff;
  box-shadow:0 0 0 3px rgba(215,25,54,.08);
}
#operationDates .operation-substep.is-current b{color:#c8102e}
#operationDates .operation-substep.is-current small{color:#c8102e;font-weight:700}
#operationDates .operation-substep.is-current .operation-subbar i{background:#d71936}
#operationDates .operation-substep.is-current .operation-subbar em{color:#c8102e}
#operationDates .operation-substep.is-done{opacity:1;background:#f4fbf7}
#operationDates .operation-substep.is-done>span{border-color:#269b67;background:#269b67;color:#fff}
#operationDates .operation-substep.is-done b{color:#237b59}
#operationDates .operation-substep.is-done .operation-subbar i{background:#269b67}
#operationDates .operation-substep.is-done .operation-subbar em{color:#237b59}
#operationDates .operation-substep.is-waiting{opacity:.52}
#operationDates .operation-substep.is-waiting .operation-subbar i{background:#d6dce2}
#operationDates .operation-substep.is-waiting .operation-subbar em{color:#7b8794}
@media (max-width:560px){
  #operationDates .operation-substeps{gap:5px;margin-top:8px;padding:6px}
  #operationDates .operation-substep{grid-template-columns:24px minmax(0,1fr);min-height:44px;padding:5px 5px 7px}
  #operationDates .operation-substep b{font-size:9.5px}
  #operationDates .operation-substep small{font-size:8.3px}
  #operationDates .operation-subbar{height:5px;margin-top:7px;margin-right:29px}
  #operationDates .operation-subbar em{font-size:7.3px;min-width:33px}
}


/* V65 — sezione finale indipendente, con progresso dichiaratamente informativo */
.final-phase-card{padding:clamp(18px,3vw,28px);border:1px solid #dce3ec;background:linear-gradient(145deg,#fff,#f7f9fc);border-radius:22px;margin:18px 0;color:#172338}
.final-phase-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.final-phase-heading h2{margin:5px 0;font-size:clamp(20px,3vw,27px)}.final-phase-heading p{margin:0;color:#687588;font-size:13px}.final-phase-pill{white-space:nowrap;border:1px solid #e4d4a7;background:#fffaf0;color:#7b6023;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700}
.final-phase-message{padding:16px;border:1px solid #dce6f0;background:#f3f7fc;border-radius:16px;margin:16px 0}.final-phase-message strong{display:block;font-size:15px}.final-phase-message p{margin:7px 0;color:#33445a;line-height:1.55}.final-phase-message small{color:#738196;font-size:11px}.final-phase-global{padding:16px;border-radius:16px;background:#101e35;color:#fff;margin:14px 0 18px}.final-phase-global>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.final-phase-global span{font-size:13px;color:#d6deea}.final-phase-global strong{font-size:24px;color:#e4c77b;font-variant-numeric:tabular-nums}.final-phase-track{height:6px;border-radius:99px;background:#e8edf3;overflow:hidden}.final-phase-track i{display:block;height:100%;width:0;background:#c7a95f;border-radius:99px;transition:width .5s ease}.final-phase-global .final-phase-track{background:#34435a}.final-phase-steps{display:grid;gap:12px}.final-phase-step{border:1px solid #e4e9f0;background:#fff;border-radius:15px;padding:13px}.final-phase-step-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.final-phase-number{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;background:#f0f3f8;border-radius:10px;font-size:11px;font-weight:800;color:#40516a}.final-phase-step-copy{min-width:0;flex:1}.final-phase-step-copy strong{display:block;font-size:13px;line-height:1.35}.final-phase-step-copy small{display:block;color:#748095;font-size:11px;line-height:1.4;margin-top:3px}.final-phase-step-percent{font-size:12px;min-width:58px;text-align:right;color:#9a7b31;font-variant-numeric:tabular-nums}.final-phase-foot{font-size:11px;line-height:1.5;color:#6e7b8e;margin-top:16px;padding-top:12px;border-top:1px solid #e6eaf0}@media(max-width:560px){.final-phase-heading{display:block}.final-phase-pill{display:inline-block;margin-top:10px}.final-phase-step{padding:11px}.final-phase-step-copy strong{font-size:12px}.final-phase-step-copy small{font-size:10px}.final-phase-global strong{font-size:21px}}

/* V66 — premium banking timeline: references, reconciliation and animated progress */
.final-phase-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(194,166,99,.36);background:radial-gradient(ellipse at 100% 0%,rgba(214,184,112,.13),transparent 36%),linear-gradient(145deg,#fbfcff 0%,#f2f5fa 100%);box-shadow:0 18px 50px rgba(10,25,49,.10);border-radius:26px}
.final-phase-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#14243d,#c8a85c,#f0dfaa,#14243d);background-size:200% 100%;animation:finalGoldSweep 6s linear infinite;z-index:-1}
.final-phase-heading h2{letter-spacing:-.035em;color:#101d32}.final-phase-pill{border-color:rgba(199,169,95,.45);background:linear-gradient(135deg,#fffdf6,#f5ecd5);box-shadow:0 3px 12px rgba(148,117,48,.08)}
.final-phase-message{position:relative;border:1px solid rgba(109,145,183,.25);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(236,243,251,.95));box-shadow:0 8px 24px rgba(23,48,79,.06);padding:18px 18px 18px 21px}.final-phase-message:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:4px;background:linear-gradient(#d9bd72,#9d8140)}
.final-phase-global{position:relative;overflow:hidden;border:1px solid rgba(226,201,132,.25);background:radial-gradient(ellipse at 95% 0%,rgba(217,188,111,.18),transparent 42%),linear-gradient(135deg,#0a172b,#172b47 72%,#101f36);box-shadow:0 14px 28px rgba(10,23,43,.17);border-radius:20px;padding:19px}.final-phase-global:after{content:"";position:absolute;right:-36px;bottom:-72px;width:170px;height:170px;border:1px solid rgba(223,197,127,.12);border-radius:50%;box-shadow:0 0 0 18px rgba(223,197,127,.025),0 0 0 38px rgba(223,197,127,.02);pointer-events:none}
.final-phase-global strong{font-size:clamp(25px,4vw,34px);letter-spacing:-.04em;text-shadow:0 0 22px rgba(226,199,124,.17)}.final-phase-track{height:8px;border-radius:99px;background:#e5eaf1}.final-phase-track i{position:relative;background:linear-gradient(90deg,#9d8243 0%,#d9bc70 45%,#f5e4a9 68%,#b79850 100%);background-size:220% 100%;box-shadow:0 0 12px rgba(199,169,95,.22);transition:width .65s cubic-bezier(.2,.75,.2,1);animation:finalBarGlow 3s linear infinite}.final-phase-global .final-phase-track{background:rgba(255,255,255,.14)}
.final-phase-steps{gap:10px}.final-phase-step{position:relative;overflow:hidden;border:1px solid #e0e7f0;background:linear-gradient(135deg,#fff 0%,#f9fbfe 100%);border-radius:17px;padding:14px;box-shadow:0 4px 13px rgba(20,39,64,.035);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.final-phase-step:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#dbe2ec;transition:background .25s ease}.final-phase-step.is-active{border-color:rgba(197,165,86,.62);box-shadow:0 8px 22px rgba(151,119,44,.09);transform:translateY(-1px)}.final-phase-step.is-active:before{background:linear-gradient(#e9d18a,#a88a45)}.final-phase-step.is-complete{border-color:rgba(43,143,101,.24);background:linear-gradient(135deg,#fff 0%,#f5fbf7 100%)}.final-phase-step.is-complete:before{background:#299764}.final-phase-step.is-pending{opacity:.83}.final-phase-number{background:linear-gradient(145deg,#edf1f7,#e2e8f0);box-shadow:inset 0 1px 0 #fff}.final-phase-step.is-active .final-phase-number{background:linear-gradient(145deg,#f8edc9,#e4cb83);color:#59451b;box-shadow:0 0 0 4px rgba(215,187,111,.12)}.final-phase-step.is-complete .final-phase-number{background:linear-gradient(145deg,#daf3e5,#bce5ce);color:#176c49}.final-phase-step-copy strong{color:#18273d;letter-spacing:-.01em}.final-phase-step-percent{font-weight:800;color:#9a7b31}.final-phase-step.is-complete .final-phase-step-percent{color:#237b59}.final-phase-step .final-phase-track{height:7px;background:#e9edf3}.final-phase-step.is-active .final-phase-track i{box-shadow:0 0 13px rgba(199,169,95,.34)}.final-phase-foot{background:rgba(255,255,255,.52);border-radius:12px;padding:12px;margin-top:14px}
@keyframes finalGoldSweep{0%{background-position:0% 50%}100%{background-position:200% 50%}}@keyframes finalBarGlow{0%{background-position:0% 50%}100%{background-position:220% 50%}}
@media(max-width:560px){.final-phase-card{border-radius:21px}.final-phase-global{padding:15px}.final-phase-step{border-radius:14px}.final-phase-step.is-active{transform:none}}
@media(prefers-reduced-motion:reduce){.final-phase-card:before,.final-phase-track i{animation:none!important;transition:none!important}.final-phase-step{transition:none!important}}


/* V67 — Swiss finance inspired mobile-first summary (independent, not affiliated with UBS). */
.final-bank-app{max-width:920px;margin:24px auto;padding:clamp(17px,3vw,30px);border-radius:26px;border:1px solid #d8e0ea;background:linear-gradient(155deg,#fff 0%,#f8fafc 65%,#f1f5f9 100%);box-shadow:0 20px 55px rgba(16,35,61,.12);color:#15263d}
.final-bank-topline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:15px;margin-bottom:20px;border-bottom:1px solid #e3e8ef}
.final-bank-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#10223b;color:#f3d78f;font-size:12px;font-weight:900;letter-spacing:.04em;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.final-bank-label{font-size:10px;font-weight:850;letter-spacing:.13em;color:#52647a}
.final-bank-lock{margin-left:auto;font-size:10px;color:#52647a;border:1px solid #dbe3ec;border-radius:99px;padding:7px 10px;background:#fff}
.final-bank-app .final-phase-heading{align-items:center}
.final-bank-app .final-phase-heading h2{font-size:clamp(23px,4vw,32px);font-weight:760;letter-spacing:-.045em}
.final-bank-app .final-phase-global{margin-top:20px}
.final-global-caption{font-size:10px;color:#bdc9d9;margin-top:10px}
.final-bank-app .final-phase-step{padding:15px;border-radius:18px}
.final-step-window{display:block;margin-top:7px;color:#64748b;font-size:10px;font-variant-numeric:tabular-nums;line-height:1.5}
.final-substeps{display:grid;gap:8px;margin:13px 0 0 42px;padding-left:14px;border-left:1px solid #d9e2ec}
.final-substep{border:1px solid #e8edf3;background:#f9fbfd;border-radius:12px;padding:10px 11px;transition:border-color .2s,background .2s}
.final-substep-head{display:flex;align-items:flex-start;gap:9px}
.final-substep-index{flex:0 0 auto;border-radius:7px;padding:4px 5px;background:#e9eef5;color:#516176;font-size:9px;font-weight:800;font-variant-numeric:tabular-nums}
.final-substep-copy{flex:1;min-width:0}
.final-substep-copy strong{display:block;color:#26384e;font-size:11px;line-height:1.4}
.final-substep-copy small{display:block;color:#7a8798;font-size:10px;line-height:1.45;margin-top:2px}
.final-substep-percent{font-size:11px;color:#a08037;font-variant-numeric:tabular-nums}
.final-substep-track{height:4px!important;margin-top:9px;background:#e7edf4!important}
.final-substep-track i{background:linear-gradient(90deg,#8e753d,#d7bb70,#f0dfa7)!important}
.final-substep.is-active{border-color:#d8c27f;background:#fffdf7}
.final-substep.is-complete{border-color:#c8e5d5;background:#f5fbf7}
.final-substep.is-complete .final-substep-percent{color:#27815a}
.final-substep.is-pending{opacity:.85}
.final-admin-steps{display:grid;gap:15px}
.final-admin-step{padding:16px;border:1px solid #dce4ed;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fafc)}
.final-admin-step h4{margin:0 0 12px;color:#1b2b42}
.final-admin-step h5{margin:18px 0 10px;color:#596a80;font-size:12px;letter-spacing:.03em}
.final-admin-substep{display:grid;grid-template-columns:42px minmax(130px,1fr) minmax(150px,1.3fr) minmax(165px,1fr) minmax(165px,1fr);gap:9px;align-items:end;padding:10px 0;border-top:1px solid #e8edf3}
.final-admin-substep>strong{padding:10px 0;color:#8d733c;font-size:12px}
.final-admin-substep label{display:block;min-width:0;font-size:11px;color:#64748b}
.final-admin-substep input{width:100%;min-width:0;margin-top:5px;padding:9px;border:1px solid #d7e0ea;border-radius:9px;background:#fff;color:#1b2b42;font:inherit}
.final-admin-step input[type="datetime-local"]{width:100%;min-width:0}
@media(max-width:760px){
 .final-bank-app{margin:14px 0;padding:15px;border-radius:21px}
 .final-bank-topline{gap:8px}.final-bank-label{font-size:9px;letter-spacing:.08em}.final-bank-lock{font-size:9px}
 .final-bank-app .final-phase-heading{display:flex;align-items:flex-start}
 .final-bank-app .final-phase-pill{margin:0;font-size:9px;padding:6px 8px}
 .final-bank-app .final-phase-step{padding:11px}
 .final-bank-app .final-phase-step-top{gap:8px;align-items:flex-start}
 .final-bank-app .final-phase-number{width:28px;height:28px;flex-basis:28px}
 .final-bank-app .final-phase-step-percent{min-width:52px;font-size:11px}
 .final-substeps{margin-left:12px;padding-left:10px}
 .final-substep{padding:9px}
 .final-substep-copy strong{font-size:10px}
 .final-substep-percent{font-size:10px}
 .final-admin-substep{grid-template-columns:32px minmax(0,1fr);gap:8px}
 .final-admin-substep>strong{grid-row:1 / span 4;align-self:start}
 .final-admin-substep label{grid-column:2}
 .final-admin-step{padding:12px}
}


/* V68 — ripristino palette originale bianco/rosso e indicatore circolare in corso. */
.final-bank-app{background:linear-gradient(155deg,#fff 0%,#fff 72%,#fff7f8 100%);border-color:#e4dfe1;box-shadow:0 16px 42px rgba(70,20,30,.07);color:#24252a}
.final-bank-mark{background:#c8102e;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.final-bank-label{color:#6b6063}
.final-bank-lock{color:#5f5558;border-color:#eadde0;background:#fff}
.final-global-caption{color:#77696d}
.final-phase-global{background:linear-gradient(135deg,#fff 0%,#fff8f9 100%);border-color:#efdde1;color:#252329}
.final-phase-global .final-phase-track{background:#f2e7e9}
.final-phase-global .final-phase-track i{background:linear-gradient(90deg,#a90d27,#d71936,#f06a7d)!important;box-shadow:0 0 12px rgba(200,16,46,.2);animation:finalRedSweep 2.8s linear infinite}
.final-phase-step{border-color:#eadfe1;background:linear-gradient(135deg,#fff 0%,#fff 100%);box-shadow:0 3px 12px rgba(70,20,30,.035)}
.final-phase-step:before{background:#eee3e5}
.final-phase-step.is-active{border-color:rgba(200,16,46,.4);box-shadow:0 7px 19px rgba(200,16,46,.08)}
.final-phase-step.is-active:before{background:linear-gradient(#ef536a,#c8102e)}
.final-phase-step.is-complete{border-color:rgba(43,143,101,.24);background:linear-gradient(135deg,#fff 0%,#f6fbf8 100%)}
.final-phase-step.is-complete:before{background:#299764}
.final-phase-number{background:#fff0f2;color:#c8102e;border:1px solid #f0d3d9;box-shadow:none}
.final-phase-step.is-active .final-phase-number{background:#c8102e;color:#fff;border-color:#c8102e;box-shadow:0 0 0 4px rgba(200,16,46,.1)}
.final-phase-step.is-complete .final-phase-number{background:#e2f5e9;color:#176c49;border-color:#c9ead7}
.final-phase-step-copy strong{color:#262329}
.final-phase-step-percent{color:#c8102e}
.final-phase-step.is-complete .final-phase-step-percent{color:#237b59}
.final-phase-step .final-phase-track{background:#f1e7e9}
.final-phase-step .final-phase-track i{background:linear-gradient(90deg,#c8102e,#e33a55,#f38b9a)!important}
.final-phase-step.is-active .final-phase-track i{box-shadow:0 0 12px rgba(200,16,46,.25)}
.final-phase-foot{background:#fff5f6;border:1px solid #f0dfe2;color:#65575b}
.final-step-window{color:#76686c}
.final-substeps{border-left-color:#ead8dc}
.final-substep{border-color:#eee2e5;background:#fff}
.final-substep-index{background:#fff0f2;color:#c8102e}
.final-substep-copy strong{color:#29252a}
.final-substep-copy small{color:#776b70}
.final-substep-percent{color:#c8102e}
.final-substep-track{background:#f1e7e9!important}
.final-substep-track i{background:linear-gradient(90deg,#c8102e,#e33a55,#f38b9a)!important}
.final-substep.is-active{border-color:#e5a6b1;background:#fff6f7}
.final-substep.is-complete{border-color:#c8e5d5;background:#f5fbf7}
.final-admin-step{border-color:#eadfe1;background:linear-gradient(145deg,#fff,#fff8f9)}
.final-admin-step h4{color:#29252a}
.final-admin-step h5{color:#77666b}
.final-admin-substep{border-top-color:#eee2e5}
.final-admin-substep>strong{color:#c8102e}
.final-admin-substep label{color:#75676b}
.final-admin-substep input{border-color:#e6dadd;color:#29252a}
/* Cerchio rosso pulsante per lo step attualmente in corso, in continuità con la timeline originale. */
.final-phase-step.is-active .final-phase-number{position:relative;isolation:isolate}
.final-phase-step.is-active .final-phase-number:after{content:"";position:absolute;inset:-5px;border:2px solid rgba(200,16,46,.38);border-radius:50%;animation:finalCurrentRing 1.8s ease-out infinite;pointer-events:none}
.final-substep.is-active .final-substep-index{background:#c8102e;color:#fff;box-shadow:0 0 0 3px rgba(200,16,46,.09)}
@keyframes finalCurrentRing{0%{transform:scale(.78);opacity:.9}100%{transform:scale(1.35);opacity:0}}
@keyframes finalRedSweep{0%{background-position:0% 50%}100%{background-position:220% 50%}}
@media(prefers-reduced-motion:reduce){.final-phase-step.is-active .final-phase-number:after{animation:none;opacity:.45}.final-phase-global .final-phase-track i{animation:none}}


/* V69 — riepilogo operativo, coerente con il tema originale bianco/rosso */
#operationDates .operation-summary{margin:18px 0 12px;padding:18px;border:1px solid #e5e8ed;border-radius:18px;background:linear-gradient(145deg,#fff 0%,#fff 70%,#fff7f8 100%);box-shadow:0 8px 24px rgba(20,32,48,.055)}
#operationDates .operation-summary-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
#operationDates .operation-summary-mark{width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#c8102e;display:grid;place-items:center;box-shadow:0 5px 14px rgba(200,16,46,.18)}
#operationDates .operation-summary-mark svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#operationDates .operation-summary-heading{display:flex;flex-direction:column;gap:3px;min-width:0}
#operationDates .operation-summary-heading>span{font-size:9px;letter-spacing:1.2px;font-weight:800;color:#c8102e}
#operationDates .operation-summary-heading>strong{font-size:16px;line-height:1.3;color:#17202b}
#operationDates .operation-summary-heading>p{margin:0;color:#687383;font-size:11px;line-height:1.45}
#operationDates .operation-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#operationDates .operation-summary-stat{min-width:0;padding:13px;border:1px solid #eceef2;border-radius:13px;background:#fff;display:flex;flex-direction:column;gap:6px}
#operationDates .operation-summary-stat>span{font-size:10px;color:#687383;line-height:1.4}
#operationDates .operation-summary-stat>strong{font-size:23px;line-height:1.1;letter-spacing:-.5px;color:#c8102e;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#operationDates .operation-summary-stat:nth-child(2)>strong{font-size:15px;letter-spacing:0;color:#17202b}
#operationDates .operation-summary-stat>small{font-size:11px;color:#687383}
#operationDates .operation-summary-bar{height:6px;background:#f2e7e9;border-radius:99px;overflow:hidden;margin-top:3px}
#operationDates .operation-summary-bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#e34b62,#c8102e);border-radius:99px;transition:width .7s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 8px rgba(200,16,46,.22)}
#operationDates .operation-summary-status{display:flex;align-items:flex-start;gap:10px;margin-top:11px;padding:12px;border-radius:12px;background:#fff5f6;border:1px solid #f5dce0}
#operationDates .operation-summary-status>i{width:9px;height:9px;margin-top:4px;flex:0 0 9px;border-radius:50%;background:#c8102e;box-shadow:0 0 0 4px rgba(200,16,46,.10);animation:operationSummaryPulse 1.8s ease-in-out infinite}
#operationDates .operation-summary-status strong{display:block;font-size:12px;color:#8f1025;margin-bottom:3px}
#operationDates .operation-summary-status p{margin:0!important;font-size:10.5px!important;line-height:1.5!important;color:#687383!important}
@keyframes operationSummaryPulse{0%,100%{box-shadow:0 0 0 3px rgba(200,16,46,.08)}50%{box-shadow:0 0 0 6px rgba(200,16,46,.14)}}
@media(max-width:520px){#operationDates .operation-summary{padding:13px;border-radius:15px}#operationDates .operation-summary-grid{grid-template-columns:1fr 1fr;gap:7px}#operationDates .operation-summary-stat{padding:10px}#operationDates .operation-summary-stat>strong{font-size:20px}#operationDates .operation-summary-heading>strong{font-size:14px}}

/* V70: leggibilità Admin e sotto-step temporali */
.admin, .admin body, body.admin { color:#111827; }
.admin label, .admin .form label, .admin .hint, .admin .final-admin-step h5, .admin .final-admin-substep label { color:#111827 !important; }
.admin input, .admin select, .admin textarea { color:#111827 !important; background:#fff !important; border-color:#b8c2ce !important; }
.admin input::placeholder, .admin textarea::placeholder { color:#5b6470 !important; opacity:1; }
.admin .final-admin-substep { grid-template-columns:36px minmax(120px,1fr) minmax(140px,1.2fr) minmax(160px,1fr) minmax(160px,1fr) minmax(145px,.8fr); }
.admin .final-auto-toggle { display:flex !important; align-items:center; gap:8px; padding:8px; border:1px solid #d7dde5; border-radius:9px; background:#f8fafc; font-size:12px !important; }
.admin .final-auto-toggle input { width:16px !important; height:16px; margin:0 !important; accent-color:#c8102e; }
.admin .final-substep-hint { color:#303844 !important; }
@media(max-width:760px){.admin .final-admin-substep{grid-template-columns:28px minmax(0,1fr)}.admin .final-auto-toggle{grid-column:2}}

/* V77 fallback final summary */

/* V77: fallback robusto per la scheda finale, indipendente dalle vecchie regole del tema. */
.final-bank-app .final-phase-heading{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:14px!important;margin:0 0 18px!important}
.final-bank-app .final-phase-heading h2{display:block!important;margin:5px 0 8px!important;line-height:1.2!important}
.final-bank-app .final-phase-heading p{display:block!important;margin:0!important;line-height:1.5!important}
.final-bank-app .final-phase-global{display:block!important;margin:16px 0 20px!important;padding:16px!important;border:1px solid #efdde1!important;border-radius:17px!important;background:#fff7f8!important;color:#24252a!important}
.final-bank-app .final-phase-global>div:first-child{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;margin:0 0 12px!important}
.final-bank-app .final-phase-global .final-phase-track{display:block!important;width:100%!important;height:8px!important;overflow:hidden!important;border-radius:99px!important;background:#f1e7e9!important}
.final-bank-app .final-phase-global .final-phase-track i{display:block!important;height:100%!important;border-radius:99px!important;background:linear-gradient(90deg,#c8102e,#e33a55,#f38b9a)!important}
.final-bank-app .final-phase-steps{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;width:100%!important}
.final-bank-app article.final-phase-step{display:block!important;position:relative!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;padding:14px!important;margin:0!important;border:1px solid #eadfe1!important;border-radius:17px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 3px 12px rgba(70,20,30,.045)!important;opacity:1!important}
.final-bank-app .final-phase-step-top{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:0 0 11px!important;width:100%!important}
.final-bank-app .final-phase-number{display:grid!important;place-items:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;border-radius:50%!important;background:#fff0f2!important;color:#c8102e!important;font-size:11px!important;font-weight:800!important}
.final-bank-app .final-phase-step-copy{display:block!important;flex:1 1 auto!important;min-width:0!important}
.final-bank-app .final-phase-step-copy strong{display:block!important;font-size:14px!important;line-height:1.35!important;color:#262329!important;overflow-wrap:anywhere!important}
.final-bank-app .final-phase-step-copy small{display:block!important;margin-top:4px!important;font-size:12px!important;line-height:1.45!important;color:#776b70!important;overflow-wrap:anywhere!important}
.final-bank-app .final-phase-step-copy .final-step-window{display:block!important;margin-top:7px!important;font-size:10px!important;line-height:1.45!important;color:#76686c!important;overflow-wrap:anywhere!important}
.final-bank-app .final-phase-step-percent{display:block!important;flex:0 0 auto!important;min-width:60px!important;text-align:right!important;font-size:12px!important;font-weight:800!important;color:#c8102e!important;white-space:nowrap!important}
.final-bank-app .final-phase-step>.final-phase-track{display:block!important;position:relative!important;width:100%!important;height:7px!important;margin:0!important;overflow:hidden!important;border-radius:99px!important;background:#f1e7e9!important}
.final-bank-app .final-phase-step>.final-phase-track i{display:block!important;height:100%!important;border-radius:99px!important;background:linear-gradient(90deg,#c8102e,#e33a55,#f38b9a)!important;transition:width .5s ease!important}
.final-bank-app .final-substeps{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;margin:13px 0 0!important;padding:10px 0 0 12px!important;border-left:2px solid #ead8dc!important}
.final-bank-app .final-substep{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;padding:10px!important;margin:0!important;border:1px solid #eee2e5!important;border-radius:12px!important;background:#fff!important;opacity:1!important}
.final-bank-app .final-substep-head{display:flex!important;align-items:flex-start!important;gap:8px!important;margin:0!important}
.final-bank-app .final-substep-index{display:grid!important;place-items:center!important;flex:0 0 auto!important;min-width:28px!important;padding:5px!important;border-radius:8px!important;background:#fff0f2!important;color:#c8102e!important;font-size:10px!important;font-weight:800!important}
.final-bank-app .final-substep-copy{display:block!important;flex:1 1 auto!important;min-width:0!important}
.final-bank-app .final-substep-copy strong{display:block!important;font-size:12px!important;line-height:1.4!important;color:#29252a!important;overflow-wrap:anywhere!important}
.final-bank-app .final-substep-copy small{display:block!important;margin-top:3px!important;font-size:11px!important;line-height:1.45!important;color:#776b70!important;overflow-wrap:anywhere!important}
.final-bank-app .final-substep-copy .final-step-window{display:block!important;margin-top:5px!important;font-size:10px!important;color:#76686c!important}
.final-bank-app .final-substep-percent{display:block!important;flex:0 0 auto!important;font-size:10px!important;font-weight:800!important;color:#c8102e!important;white-space:nowrap!important}
.final-bank-app .final-substep-track{display:block!important;height:5px!important;margin:9px 0 0!important;overflow:hidden!important;border-radius:99px!important;background:#f1e7e9!important}
.final-bank-app .final-substep-track i{display:block!important;height:100%!important;border-radius:99px!important;background:linear-gradient(90deg,#c8102e,#e33a55,#f38b9a)!important}
.final-bank-app .final-phase-step.is-active{border-color:#e5a6b1!important;background:#fffafb!important}
.final-bank-app .final-phase-step.is-complete{border-color:#c8e5d5!important;background:#f8fcf9!important}
.final-bank-app .final-phase-step.is-pending{opacity:1!important}
@media(max-width:560px){.final-bank-app .final-phase-heading{display:block!important}.final-bank-app .final-phase-pill{display:inline-block!important;margin-top:8px!important}.final-bank-app article.final-phase-step{padding:11px!important}.final-bank-app .final-phase-step-copy strong{font-size:13px!important}.final-bank-app .final-phase-step-percent{min-width:54px!important;font-size:11px!important}.final-bank-app .final-substeps{padding-left:8px!important}.final-bank-app .final-substep{padding:8px!important}}


/* V79 — dashboard informativa bianco/rosso, grafico, anello globale e dettaglio step. */
.final-bank-app .final-bank-topline-v79{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:8px!important;margin-bottom:18px!important;min-height:64px!important}
.final-bank-app .final-user-link{justify-self:start!important;display:inline-flex!important;align-items:center!important;gap:5px!important;color:#c8102e!important;text-decoration:none!important;font-size:12px!important;font-weight:700!important}
.final-bank-app .final-centered-brand{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;color:#172334!important;line-height:1!important}
.final-bank-app .final-brand-symbol{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border:2px solid #c8102e!important;border-radius:50%!important;color:#c8102e!important;font-size:18px!important}
.final-bank-app .final-centered-brand strong{font-size:17px!important;letter-spacing:-.7px!important}
.final-bank-app .final-centered-brand small{font-size:7px!important;letter-spacing:1.7px!important;color:#77808b!important;margin-top:3px!important}
.final-bank-app .final-bank-lock{justify-self:end!important;font-size:9px!important;color:#7c8792!important}
.final-bank-app .v79-amount-card{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:13px!important;align-items:center!important;padding:17px!important;border:1px solid #f3d7dd!important;border-radius:22px!important;background:linear-gradient(135deg,#fff5f6,#fff 72%)!important;box-shadow:0 8px 22px rgba(200,16,46,.07)!important;margin:0 0 13px!important}
.final-bank-app .v79-amount-icon{width:52px!important;height:52px!important;display:grid!important;place-items:center!important;border-radius:17px!important;background:#ffe5e9!important;color:#c8102e!important;font-size:28px!important;font-weight:800!important}
.final-bank-app .v79-amount-copy,.final-bank-app .v79-amount-date{min-width:0!important;display:flex!important;flex-direction:column!important;gap:4px!important}
.final-bank-app .v79-amount-copy>span,.final-bank-app .v79-amount-date>span{font-size:11px!important;color:#6b7784!important}
.final-bank-app .v79-amount-copy>strong{font-size:clamp(20px,5.5vw,30px)!important;line-height:1.1!important;letter-spacing:-.7px!important;color:#172334!important;overflow-wrap:anywhere!important}
.final-bank-app .v79-amount-copy>small,.final-bank-app .v79-amount-date>small{font-size:10px!important;color:#78828e!important;line-height:1.4!important}
.final-bank-app .v79-amount-date{grid-column:1/-1!important;padding-top:12px!important;border-top:1px solid #f0dce0!important}
.final-bank-app .v79-amount-date>strong{font-size:14px!important;color:#172334!important}
.final-bank-app .v79-chart-card,.final-bank-app .v79-global-card{padding:16px!important;border:1px solid #f0e1e4!important;border-radius:22px!important;background:#fff!important;box-shadow:0 6px 18px rgba(30,40,55,.035)!important;margin:0 0 13px!important}
.final-bank-app .v79-section-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
.final-bank-app .v79-section-heading h3,.final-bank-app .v79-global-copy h3{font-size:16px!important;line-height:1.3!important;color:#172334!important;margin:4px 0 0!important}
.final-bank-app .v79-chart-range{font-size:10px!important;color:#c8102e!important;background:#fff0f2!important;border-radius:99px!important;padding:7px 9px!important;white-space:nowrap!important}
.final-bank-app .v79-chart-wrap{width:100%!important;overflow:hidden!important;margin-top:12px!important}
.final-bank-app .v79-chart-wrap svg{display:block!important;width:100%!important;height:auto!important;overflow:visible!important}
.final-bank-app .v79-chart-grid path{stroke:#edf0f3!important;stroke-width:1!important;fill:none!important}
.final-bank-app #v79ChartLabels text{font-size:10px!important;fill:#7b8794!important}
.final-bank-app .v79-chart-caption{font-size:10px!important;line-height:1.45!important;color:#7b8794!important;margin:5px 0 0!important}
.final-bank-app .v79-global-card{display:grid!important;grid-template-columns:140px minmax(0,1fr)!important;gap:15px!important;align-items:center!important;background:linear-gradient(120deg,#fff8f9,#fff 70%)!important}
.final-bank-app .v79-ring-wrap{position:relative!important;width:140px!important;height:140px!important;display:grid!important;place-items:center!important}
.final-bank-app .v79-ring{width:100%!important;height:100%!important;transform:rotate(-90deg)!important;overflow:visible!important}
.final-bank-app .v79-ring-bg{fill:none!important;stroke:#f5e3e7!important;stroke-width:12!important}
.final-bank-app .v79-ring-value{fill:none!important;stroke:#ed1740!important;stroke-width:12!important;stroke-linecap:round!important;transition:stroke-dashoffset .6s ease!important}
.final-bank-app .v79-ring-center{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:4px!important}
.final-bank-app .v79-ring-center strong{font-size:20px!important;letter-spacing:-.6px!important;color:#172334!important;font-variant-numeric:tabular-nums!important}
.final-bank-app .v79-ring-center span{font-size:10px!important;line-height:1.25!important;color:#778391!important}
.final-bank-app .v79-global-copy{min-width:0!important}
.final-bank-app .v79-global-copy p{font-size:11px!important;line-height:1.45!important;color:#6e7986!important;margin:7px 0!important}
.final-bank-app .v79-global-number{font-size:12px!important;font-weight:800!important;color:#c8102e!important;margin-top:10px!important}
.final-bank-app .v79-mini-track{height:6px!important;border-radius:99px!important;background:#f3e6e9!important;overflow:hidden!important;margin-top:5px!important}
.final-bank-app .v79-mini-track i{display:block!important;height:100%!important;width:0;background:linear-gradient(90deg,#ff6b82,#c8102e)!important;border-radius:99px!important;transition:width .5s ease!important}
.final-bank-app .v79-global-copy>small{display:block!important;font-size:9px!important;color:#7a8590!important;margin-top:6px!important;line-height:1.4!important}
.final-bank-app .v79-back-button{display:block!important;width:100%!important;margin:0 0 12px!important;padding:12px 14px!important;border:1px solid #f0d7dd!important;border-radius:14px!important;background:#fff6f7!important;color:#b90f2c!important;font-size:12px!important;font-weight:800!important;text-align:left!important;cursor:pointer!important}
.final-bank-app .v79-back-button[hidden],.final-bank-app .final-substeps[hidden]{display:none!important}
.final-bank-app .final-phase-step{cursor:pointer!important;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease!important}
.final-bank-app .final-phase-step:focus-visible{outline:3px solid rgba(200,16,46,.22)!important;outline-offset:2px!important}
.final-bank-app .final-phase-step.v79-selected{border-color:#ed1740!important;background:#fff8f9!important;box-shadow:0 7px 20px rgba(200,16,46,.08)!important}
.final-bank-app .final-phase-step.v79-selected .final-phase-number{background:#ed1740!important;color:#fff!important}
.final-bank-app .final-substeps[hidden]{display:none!important}
.final-bank-app .final-substeps:not([hidden]){animation:v79Reveal .22s ease-out both!important}
.final-bank-app .final-phase-global{display:none!important}
@keyframes v79Reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:430px){.final-bank-app .v79-global-card{grid-template-columns:112px minmax(0,1fr)!important;gap:11px!important;padding:13px!important}.final-bank-app .v79-ring-wrap{width:112px!important;height:112px!important}.final-bank-app .v79-ring-center strong{font-size:16px!important}.final-bank-app .v79-ring-center span{font-size:9px!important}.final-bank-app .v79-amount-card{padding:13px!important;grid-template-columns:45px minmax(0,1fr)!important;gap:10px!important}.final-bank-app .v79-amount-icon{width:44px!important;height:44px!important;border-radius:14px!important}.final-bank-app .v79-amount-copy>strong{font-size:20px!important}}

/* V80 — dashboard principale ispirata al mockup: importo, anello globale, grafico interattivo e percorso operativo. */
.v80-dashboard{display:block;width:100%;margin:14px 0 18px;color:#172334}
.v80-dashboard .v80-amount-card,.v80-dashboard .v80-global-card,.v80-dashboard .v80-chart-card{box-sizing:border-box;border:1px solid #eee1e4;border-radius:24px;background:#fff;box-shadow:0 7px 22px rgba(29,42,58,.035);margin:0 0 13px;}
.v80-dashboard .v80-amount-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:13px;align-items:center;padding:17px;background:linear-gradient(120deg,#fff5f6,#fff 75%);border-color:#f2dce1;}
.v80-dashboard .v80-amount-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#ffe5e9;color:#c8102e;font-size:28px;font-weight:800}
.v80-dashboard .v80-amount-copy,.v80-dashboard .v80-date-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.v80-dashboard .v80-amount-copy>span,.v80-dashboard .v80-date-copy>span{font-size:12px;color:#737d88}
.v80-dashboard .v80-amount-copy>strong{font-size:clamp(21px,5.6vw,31px);line-height:1.12;letter-spacing:-.7px;color:#101b2b;overflow-wrap:anywhere}
.v80-dashboard .v80-amount-copy>small,.v80-dashboard .v80-date-copy>small{font-size:10px;line-height:1.45;color:#7d8792}
.v80-dashboard .v80-date-copy{grid-column:1/-1;border-top:1px solid #f0dfe3;padding-top:12px}
.v80-dashboard .v80-date-copy>strong{font-size:15px;color:#182436}
.v80-dashboard .v80-global-card{display:grid;grid-template-columns:142px minmax(0,1fr);gap:16px;align-items:center;padding:17px;background:linear-gradient(120deg,#fff8f9,#fff 75%)}
.v80-dashboard .v80-ring-wrap{position:relative;width:142px;height:142px;display:grid;place-items:center}
.v80-dashboard .v80-ring{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.v80-dashboard .v80-ring-bg{fill:none;stroke:#f5e3e7;stroke-width:12}
.v80-dashboard .v80-ring-value{fill:none;stroke:#ed1740;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .65s ease}
.v80-dashboard .v80-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px}
.v80-dashboard .v80-ring-center strong{font-size:20px;letter-spacing:-.5px;color:#172334;font-variant-numeric:tabular-nums}
.v80-dashboard .v80-ring-center span{font-size:10px;line-height:1.25;color:#778391}
.v80-dashboard .v80-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#737d88}
.v80-dashboard .v80-global-copy h3,.v80-dashboard .v80-chart-heading h3{font-size:17px;line-height:1.25;color:#172334;margin:5px 0 8px}
.v80-dashboard .v80-global-copy p{font-size:12px;line-height:1.5;color:#707b87;margin:0 0 9px}
.v80-dashboard #v80GlobalText{display:block;font-size:14px;font-weight:850;color:#c8102e;margin-top:8px}
.v80-dashboard .v80-track{height:7px;border-radius:99px;background:#f2e5e8;overflow:hidden;margin-top:6px}
.v80-dashboard .v80-track i{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#ff6b82,#c8102e);transition:width .55s ease}
.v80-dashboard .v80-global-copy>small{display:block;margin-top:7px;font-size:9px;line-height:1.4;color:#7a8590}
.v80-dashboard .v80-chart-card{padding:17px}
.v80-dashboard .v80-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:9px}
.v80-dashboard .v80-chart-heading h3{margin-bottom:0}
.v80-dashboard .v80-range{flex:none;padding:7px 10px;border-radius:99px;background:#fff0f2;color:#b90f2c;font-size:10px}
.v80-dashboard .v80-chart-wrap{width:100%;margin-top:13px;overflow:hidden}
.v80-dashboard .v80-chart-wrap svg{display:block;width:100%;height:auto;overflow:visible}
.v80-dashboard .v80-grid path{fill:none;stroke:#edf0f3;stroke-width:1}
.v80-dashboard .v80-ylabels text,.v80-dashboard #v80ChartLabels text{font-size:10px;fill:#7b8794}
.v80-dashboard .v80-point{fill:#ed1740;stroke:#fff;stroke-width:2;cursor:pointer;transition:r .15s ease;outline:none}
.v80-dashboard .v80-point:hover,.v80-dashboard .v80-point:focus{r:7;stroke:#c8102e;stroke-width:3}
.v80-dashboard .v80-point.v80-milestone{fill:#168f63;stroke:#fff;stroke-width:2}
.v80-dashboard .v80-tooltip{margin-top:5px;min-height:36px;padding:10px 12px;border:1px solid #e9edf1;border-radius:12px;background:#f8fafc;color:#596675;font-size:11px;line-height:1.45}
.v80-dashboard .v80-chart-note{font-size:10px;line-height:1.45;color:#7b8794;margin:8px 0 0}
/* La barra precedente rappresentava solo la fase disponibilità; il riepilogo globale è ora nella dashboard V80. */
.app .progress-wrap{display:none!important}
@media(max-width:430px){.v80-dashboard .v80-amount-card{grid-template-columns:46px minmax(0,1fr);gap:10px;padding:14px}.v80-dashboard .v80-amount-icon{width:44px;height:44px;border-radius:14px;font-size:24px}.v80-dashboard .v80-amount-copy>strong{font-size:21px}.v80-dashboard .v80-global-card{grid-template-columns:112px minmax(0,1fr);gap:11px;padding:13px}.v80-dashboard .v80-ring-wrap{width:112px;height:112px}.v80-dashboard .v80-ring-center strong{font-size:16px}.v80-dashboard .v80-ring-center span{font-size:9px}.v80-dashboard .v80-global-copy h3{font-size:15px}.v80-dashboard .v80-global-copy p{font-size:11px}.v80-dashboard .v80-chart-card{padding:13px}.v80-dashboard .v80-range{font-size:9px;padding:6px 8px}}

/* V81 — layout aderente al mockup approvato: importo/data, banca, avanzamento, grafico e percorso operativo. */
@media(max-width:600px){
  body:not(.access-locked):not(.access-success-page) .v80-dashboard{display:flex!important;flex-direction:column!important;gap:0!important;margin:10px 0 16px!important}
  .v80-dashboard .v80-amount-card{grid-template-columns:46px minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;align-items:center!important;padding:13px!important}
  .v80-dashboard .v80-amount-copy{grid-column:2!important;grid-row:1!important;min-width:0!important}
  .v80-dashboard .v80-amount-copy>strong{font-size:clamp(19px,5.1vw,25px)!important;letter-spacing:-.55px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .v80-dashboard .v80-date-copy{grid-column:3!important;grid-row:1!important;border-top:0!important;border-left:1px solid #f0dfe3!important;padding:2px 0 2px 10px!important;align-self:stretch!important;justify-content:center!important}
  .v80-dashboard .v80-date-copy>strong{font-size:13px!important;line-height:1.3!important}
  .v80-dashboard .v80-date-copy>small{font-size:10px!important}
  .v80-dashboard .bank-summary{display:grid!important;margin:0 0 13px!important;order:0!important;background:#fbfcfd!important}
  .v80-dashboard .bank-details{display:block!important;margin-top:-13px!important;margin-bottom:13px!important}
  .v80-dashboard .bank-details[hidden]{display:none!important}
  .v80-dashboard .v80-global-card{grid-template-columns:minmax(0,1fr) 112px!important;gap:10px!important;padding:14px!important;order:1!important}
  .v80-dashboard .v80-global-copy{grid-column:1!important;grid-row:1!important;min-width:0!important}
  .v80-dashboard .v80-ring-wrap{grid-column:2!important;grid-row:1!important;width:112px!important;height:112px!important}
  .v80-dashboard .v80-global-copy h3{font-size:16px!important;margin:4px 0 5px!important}
  .v80-dashboard .v80-global-copy .v80-primary-percent{display:block!important;font-size:clamp(34px,9vw,43px)!important;line-height:1!important;letter-spacing:-1.8px!important;color:#101b2b!important;font-weight:850!important;font-variant-numeric:tabular-nums!important;margin:3px 0 6px!important}
  .v80-dashboard .v80-global-copy p{font-size:10px!important;margin:0 0 7px!important}
  .v80-dashboard .v80-global-copy>small{font-size:9px!important}
  .v80-dashboard .v80-ring-center strong{font-size:15px!important}
  .v80-dashboard .v80-ring-center span{font-size:9px!important}
  .v80-dashboard .v80-chart-card{order:2!important;padding:14px!important}
  .v80-dashboard .v80-operational-path,.v80-dashboard #operationDates{order:3!important;margin:0 0 13px!important;width:100%!important;box-sizing:border-box!important}
  .v80-dashboard #operationDates{display:block!important;visibility:visible!important}
  .v80-dashboard #operationDates .operation-dates-head{margin-bottom:14px!important}
  .v80-dashboard #operationDates .operation-date-item{border-radius:20px!important}
  .v80-dashboard #operationDates .operation-date-item .operation-title-row strong{font-size:15px!important}
  .v80-dashboard #operationDates .operation-date-item .operation-percent{font-size:13px!important}
  .v80-dashboard #operationDates .operation-substeps,.v80-dashboard #operationDates .operation-substep-list{border-radius:15px!important}
  .v80-dashboard #operationDates .operation-substep{border-radius:12px!important}
  .v81-legacy-process .final-bank-topline,.v81-legacy-process .v79-amount-card,.v81-legacy-process .v79-chart-card,.v81-legacy-process .v79-global-card,.v81-legacy-process .final-phase-global{display:none!important}
  .v81-legacy-process .final-phase-heading{margin-top:14px!important}
}
@media(min-width:601px){
  .v80-dashboard .v80-amount-card{grid-template-columns:58px minmax(0,1.2fr) minmax(0,1fr)!important}
  .v80-dashboard .v80-date-copy{grid-column:3!important;grid-row:1!important;border-top:0!important;border-left:1px solid #f0dfe3!important;padding:5px 0 5px 16px!important}
  .v80-dashboard .v80-global-card{grid-template-columns:minmax(0,1fr) 142px!important}
  .v80-dashboard .v80-global-copy{grid-column:1!important;grid-row:1!important}
  .v80-dashboard .v80-ring-wrap{grid-column:2!important;grid-row:1!important}
}

/* V82 — correzione mirata del riferimento: importo/calendario affiancati e accordion per ogni fase. */
.v80-dashboard .v80-amount-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.v80-dashboard .v80-date-copy{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;align-items:center!important;gap:8px!important}
.v80-dashboard .v80-date-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#ffe5e9;color:#c8102e}
.v80-dashboard .v80-date-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v80-dashboard .v80-date-text{display:flex;min-width:0;flex-direction:column;gap:4px}
.v80-dashboard .v80-date-text>span{font-size:12px;line-height:1.25;color:#737d88}
.v80-dashboard .v80-date-text>strong{font-size:14px;line-height:1.3;color:#182436;overflow-wrap:normal}
.v80-dashboard .v80-date-text>small{font-size:10px;line-height:1.35;color:#7d8792}
#operationDates .operation-title-row{align-items:center!important;gap:7px!important}
#operationDates .operation-title-row>div{flex:1 1 auto!important;min-width:0!important}
#operationDates .operation-accordion-toggle{flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;padding:0;margin-left:1px;border:0;border-radius:8px;background:transparent;color:#687684;cursor:pointer;touch-action:manipulation}
#operationDates .operation-accordion-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
#operationDates .operation-accordion-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
#operationDates .operation-accordion-toggle:focus-visible{outline:2px solid #c8102e;outline-offset:2px}
#operationDates .operation-substeps[hidden]{display:none!important}
#operationDates .operation-substeps:not([hidden]){display:grid!important;animation:v82AccordionIn .18s ease-out}
@keyframes v82AccordionIn{from{opacity:.3;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
#operationDates .operation-date-card{min-width:0}
#operationDates .operation-main{min-width:0}
@media(max-width:600px){
 .v80-dashboard .v80-amount-card{grid-template-columns:40px minmax(0,1.15fr) minmax(0,1fr)!important;gap:8px!important;padding:13px 11px!important;align-items:center!important}
 .v80-dashboard .v80-amount-icon{grid-column:1!important;grid-row:1!important;width:38px!important;height:42px!important;border-radius:13px!important}
 .v80-dashboard .v80-amount-icon svg{width:29px;height:29px}
 .v80-dashboard .v80-amount-copy{grid-column:2!important;grid-row:1!important;gap:4px!important}
 .v80-dashboard .v80-amount-copy>span{font-size:10px!important;line-height:1.25!important}
 .v80-dashboard .v80-amount-copy>strong{font-size:clamp(16px,4.4vw,21px)!important;line-height:1.15!important;letter-spacing:-.6px!important;white-space:normal!important;overflow-wrap:anywhere!important}
 .v80-dashboard .v80-amount-copy>small{font-size:9px!important;line-height:1.3!important}
 .v80-dashboard .v80-date-copy{grid-column:3!important;grid-row:1!important;grid-template-columns:25px minmax(0,1fr)!important;gap:6px!important;padding:3px 0 3px 8px!important;border-left:1px solid #f0dfe3!important;border-top:0!important;align-self:stretch!important;justify-content:center!important}
 .v80-dashboard .v80-date-icon{width:25px;height:27px;border-radius:8px}
 .v80-dashboard .v80-date-icon svg{width:17px;height:17px}
 .v80-dashboard .v80-date-text>span{font-size:9px!important;line-height:1.2!important}
 .v80-dashboard .v80-date-text>strong{font-size:11px!important;line-height:1.25!important;overflow-wrap:break-word!important}
 .v80-dashboard .v80-date-text>small{font-size:9px!important;line-height:1.25!important}
 #operationDates .operation-date-card{padding:11px!important}
 #operationDates .operation-title-row{gap:5px!important}
 #operationDates .operation-title-row strong{font-size:14px!important}
 #operationDates .operation-title-row span{font-size:10px!important;line-height:1.3!important}
 #operationDates .operation-accordion-toggle{flex-basis:25px;width:25px;height:25px}
 #operationDates .operation-percent{font-size:11px!important;white-space:nowrap}
 #operationDates .operation-substeps{margin-top:9px!important}
}

/* V83: indicatore separato per la percentuale dello step corrente. */
.v80-dashboard .v83-current-step-card{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,34%);gap:16px;align-items:center;margin:0 0 14px;padding:16px 18px;border:1px solid #eee1e4;border-radius:22px;background:linear-gradient(110deg,#fff9fa,#fff 78%);box-shadow:0 7px 22px rgba(29,42,58,.035)}
.v80-dashboard .v83-current-step-copy>span{display:block;color:#7b8794;font-size:10px;font-weight:850;letter-spacing:.13em;margin-bottom:5px}
.v80-dashboard .v83-current-step-copy>strong{display:block;color:#12263b;font-size:17px;line-height:1.25;font-weight:850}
.v80-dashboard .v83-current-step-copy>small{display:block;color:#75808d;font-size:11px;line-height:1.45;margin-top:5px}
.v80-dashboard .v83-current-step-value>strong{display:block;text-align:right;color:#ed1532;font-size:23px;line-height:1.1;font-weight:900;font-variant-numeric:tabular-nums}
.v80-dashboard .v83-current-step-track{height:9px;overflow:hidden;border-radius:99px;background:#f0e5e8;margin-top:9px}
.v80-dashboard .v83-current-step-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff7890,#ed1532);transition:width .35s linear}
#operationDates .operation-info-item .operation-date-card{background:#fff;border-color:#e9edf1}
#operationDates .operation-info-item.is-active .operation-date-card{background:#fff7f8;border-color:#f2cbd2}
#operationDates .operation-info-item.is-complete .operation-node{background:#08a66a!important;border-color:#08a66a!important;color:#fff!important}
#operationDates .operation-info-item.is-active .operation-node{background:#ed1532!important;border-color:#ed1532!important;color:#fff!important}
#operationDates .operation-info-item.is-active .operation-percent{color:#ed1532!important}
#operationDates .operation-info-item.is-complete .operation-percent{color:#079b63!important}
#operationDates .operation-info-item .operation-substeps[hidden]{display:none!important}
#operationDates .operation-info-item .operation-accordion-toggle{cursor:pointer}
@media(max-width:560px){.v80-dashboard .v83-current-step-card{grid-template-columns:minmax(0,1fr) 108px;gap:10px;padding:13px;border-radius:19px}.v80-dashboard .v83-current-step-copy>strong{font-size:14px}.v80-dashboard .v83-current-step-copy>small{font-size:10px}.v80-dashboard .v83-current-step-value>strong{font-size:19px}}


/* V84: il vecchio riepilogo inferiore resta nel DOM solo come sorgente dati per la timeline superiore. */
#finalPhase.v83-legacy-hidden{display:none!important;}

/* V84: fix robusto per il percorso informativo indipendente e i relativi accordion. */
#operationDates .operation-info-item{display:flex!important;visibility:visible!important;opacity:1!important;}
#operationDates .operation-info-item .operation-date-card{min-width:0;width:100%;}
#operationDates .operation-info-item .operation-title-row{display:flex;align-items:center;gap:8px;}
#operationDates .operation-info-item .operation-title-row>div{flex:1;min-width:0;}
#operationDates .operation-info-item .operation-accordion-toggle{display:grid!important;place-items:center;flex:0 0 30px;width:30px;height:30px;position:relative;z-index:2;}
#operationDates .operation-info-item .operation-substeps[hidden]{display:none!important;}
#operationDates .operation-info-item .operation-substeps:not([hidden]){display:grid!important;visibility:visible!important;opacity:1!important;}
#operationDates .operation-info-item .operation-substep{display:grid!important;visibility:visible!important;}


/* V91: tab Admin dedicata, senza rimuovere i controlli e gli step esistenti. */
.admin-tabbar{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 14px;padding:6px;border:1px solid #dce4ed;border-radius:14px;background:#f4f7fb}
.admin-tab{appearance:none;border:1px solid transparent;border-radius:10px;padding:11px 15px;background:transparent;color:#526176;font:inherit;font-weight:700;cursor:pointer}
.admin-tab.is-active{background:#fff;color:#10243e;border-color:#dce4ed;box-shadow:0 2px 7px rgba(20,40,70,.06)}
.admin-tab-panel[hidden]{display:none!important}
.admin-tab-panel{min-width:0}
.concluding-admin-step{margin-bottom:14px}
.concluding-admin-step .inline-check{margin:8px 0 14px}
.concluding-admin-step .final-admin-substep{grid-template-columns:42px minmax(130px,1fr) minmax(150px,1.3fr) minmax(165px,1fr) minmax(165px,1fr)}
@media(max-width:760px){.admin-tabbar{position:static}.admin-tab{flex:1 1 100%;text-align:left}.concluding-admin-step .final-admin-substep{grid-template-columns:32px minmax(0,1fr)}.concluding-admin-step .final-admin-substep label{grid-column:2}}


/* Swiss Finance V96 — visual system for dashboard, operational path and accordion */
:root{--sf-red:#d20b2f;--sf-red-dark:#b90929;--sf-red-soft:#fff0f2;--sf-ink:#101827;--sf-muted:#687386;--sf-line:#e8ebf0;--sf-surface:#f7f8fa;--sf-green:#249b62}
body{background:#f4f5f7!important;color:var(--sf-ink)!important}
.app,.main,.container{max-width:860px}
.card,.v80-dashboard .v80-global-card,.v80-dashboard .v80-chart-card,.operation-dates-card{border:1px solid var(--sf-line)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 8px 26px rgba(18,27,43,.055)!important}
.v80-dashboard{display:flex!important;flex-direction:column!important;gap:16px!important;margin-top:12px!important}
.v80-dashboard .v80-amount-card{position:relative!important;overflow:hidden!important;border:0!important;border-radius:22px!important;background:linear-gradient(130deg,#e7193d 0%,#c9082b 58%,#a90625 100%)!important;color:#fff!important;box-shadow:0 12px 28px rgba(201,8,43,.18)!important;padding:23px!important}
.v80-dashboard .v80-amount-card:after{content:"";position:absolute;right:-48px;top:-78px;width:220px;height:220px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 58px rgba(255,255,255,.025);pointer-events:none}
.v80-amount-copy>span,.v80-amount-copy small,.v80-date-text span,.v80-date-text small{color:rgba(255,255,255,.82)!important}
.v80-amount-copy>strong{color:#fff!important;font-size:clamp(27px,5vw,38px)!important;letter-spacing:-.04em!important;font-weight:800!important}
.v80-amount-icon{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:15px!important}
.v80-date-copy{border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.09)!important;border-radius:15px!important}
.v80-date-text strong{color:#fff!important}
/* The bank card and its expandable beneficiary details are one component. */
.bank-summary.bank-summary-accordion{display:grid!important;grid-template-columns:46px minmax(0,1fr) 42px!important;align-items:center!important;gap:12px!important;margin:0!important;padding:16px!important;border:1px solid var(--sf-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 8px 24px rgba(18,27,43,.05)!important}
.bank-summary-accordion .bank-summary-icon{width:44px!important;height:44px!important;display:grid!important;place-items:center!important;border-radius:14px!important;background:#fff0f2!important;color:var(--sf-red)!important}
.bank-summary-accordion .bank-summary-icon svg{width:25px!important;height:25px!important;fill:none!important;stroke:var(--sf-red)!important;stroke-width:1.7!important}
.bank-summary-accordion .bank-summary-copy span{display:block!important;color:var(--sf-muted)!important;font-size:12px!important;margin-bottom:4px!important}
.bank-summary-accordion .bank-summary-copy strong{display:block!important;color:var(--sf-ink)!important;font-size:15px!important;line-height:1.35!important}
.bank-summary-accordion .bank-expand{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;border:1px solid #f4c7d0!important;border-radius:50%!important;background:var(--sf-red-soft)!important;color:var(--sf-red)!important;font-size:25px!important;font-weight:500!important;cursor:pointer!important;transition:transform .2s,background .2s!important}
.bank-summary-accordion .bank-expand[aria-expanded="true"]{background:var(--sf-red)!important;color:#fff!important;transform:rotate(180deg)!important}
.bank-summary-accordion .bank-details{grid-column:1/-1!important;width:100%!important;margin:2px 0 0!important;padding:14px 2px 2px!important;border-top:1px solid var(--sf-line)!important;background:#fff!important}
.bank-summary-accordion .bank-details[hidden]{display:none!important}
.bank-summary-accordion .bank-details-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.bank-summary-accordion .bank-details-grid>div{min-width:0!important;padding:12px!important;border:1px solid #eef0f3!important;border-radius:13px!important;background:#fafbfc!important}
.bank-summary-accordion .bank-details-grid span{display:block!important;color:var(--sf-muted)!important;font-size:11px!important;margin-bottom:5px!important}
.bank-summary-accordion .bank-details-grid strong{display:block!important;color:var(--sf-ink)!important;font-size:13px!important;line-height:1.45!important;overflow-wrap:anywhere!important}
.v80-global-card{display:grid!important;grid-template-columns:minmax(0,1fr) 130px!important;gap:16px!important;align-items:center!important;padding:20px!important}
.v80-global-copy .v80-eyebrow{font-size:10px!important;letter-spacing:.12em!important;color:var(--sf-muted)!important;font-weight:800!important}
.v80-global-copy h3{font-size:19px!important;letter-spacing:-.025em!important;color:var(--sf-ink)!important;margin:5px 0!important}
.v80-primary-percent{color:var(--sf-red)!important;font-size:32px!important;letter-spacing:-.04em!important}
.v80-track,.v83-current-step-track{height:9px!important;border-radius:99px!important;background:#eceef2!important;overflow:hidden!important}
.v80-track i,.v83-current-step-track i{background:linear-gradient(90deg,var(--sf-red-dark),#f0445e)!important;border-radius:99px!important}
.v80-ring-value{stroke:var(--sf-red)!important}
.v80-ring-bg{stroke:#f0e5e7!important}
.v83-current-step-card{border:1px solid #f0d4d9!important;border-radius:18px!important;background:linear-gradient(120deg,#fff 0%,#fff5f6 100%)!important;padding:16px!important;box-shadow:0 5px 18px rgba(18,27,43,.035)!important}
.v83-current-step-copy>span{color:var(--sf-muted)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.1em!important}
.v83-current-step-copy strong,.v83-current-step-value>strong{color:var(--sf-ink)!important}
.v83-current-step-value>strong{color:var(--sf-red)!important}
.v80-chart-card.v92-history-card{padding:20px!important;border-radius:22px!important;border-color:var(--sf-line)!important;box-shadow:0 8px 26px rgba(18,27,43,.045)!important}
.v92-history-card .v80-chart-heading h3{font-size:21px!important;color:var(--sf-ink)!important}
.v92-view-pill{background:#fff4f5!important;border-color:#f5d4da!important;color:var(--sf-red)!important}
.v92-live-dot{background:var(--sf-red)!important;box-shadow:0 0 0 4px rgba(210,11,47,.1)!important}
.v80-chart-wrap.v92-chart-wrap{background:linear-gradient(180deg,#fff8f9,#fff)!important;border-color:#f5e6e9!important}
.v80-grid path{stroke:#eceef2!important;stroke-dasharray:none!important}
.v80-ylabels text,.v92-chart-wrap #v80ChartLabels text{fill:#7b8492!important}
.v92-chart-wrap #v80ChartLine{stroke:var(--sf-red)!important}
.v92-chart-wrap #v80ChartForecast{stroke:#7b8492!important;stroke-dasharray:5 6!important}
.v92-forecast-guide{stroke:#9aa2ae!important}
.v80-point{stroke:var(--sf-red)!important}
.v80-milestone{fill:var(--sf-red)!important}
.v80-now,.v92-cursor-dot{stroke:var(--sf-red)!important}
.v92-chart-legend i{border-top-color:var(--sf-red)!important}
.v92-chart-legend .v92-legend-forecast{border-top-color:#9aa2ae!important}
.v92-chart-legend .v92-legend-current{border-color:var(--sf-red)!important}
.v80-tooltip.v92-tooltip{background:#fafbfc!important;border-color:var(--sf-line)!important}
.v92-tooltip strong{color:var(--sf-ink)!important}
.operation-dates-card{padding:20px!important;margin-top:0!important}
.operation-dates-head{margin-bottom:18px!important}
.operation-dates-head>div:last-child strong{color:var(--sf-ink)!important}
.operation-date-item{gap:12px!important}
.operation-date-card{border:1px solid var(--sf-line)!important;border-radius:17px!important;background:#fff!important;box-shadow:0 4px 14px rgba(18,27,43,.035)!important}
.operation-node{background:#fff!important;border:2px solid #d8dde5!important;color:#687386!important}
.operation-date-item.is-complete .operation-node,.operation-date-item.done .operation-node{background:var(--sf-green)!important;border-color:var(--sf-green)!important;color:#fff!important}
.operation-date-item.is-active .operation-node,.operation-date-item.active .operation-node{background:var(--sf-red)!important;border-color:var(--sf-red)!important;color:#fff!important;box-shadow:0 0 0 5px rgba(210,11,47,.11)!important}
.operation-percent,.operation-node-percent{color:var(--sf-red)!important}
.operation-bar,.operation-subbar{background:#f0e7e9!important}
.operation-bar i,.operation-subbar i{background:linear-gradient(90deg,var(--sf-red-dark),#f0445e)!important}
.operation-accordion-toggle{border:1px solid #f0c8d0!important;background:#fff4f5!important;color:var(--sf-red)!important;border-radius:50%!important}
.operation-substeps{border-top:1px solid #f1e4e7!important}
@media(max-width:560px){
 body{padding:8px!important}.app{padding:0!important}.v80-dashboard{gap:12px!important}.v80-dashboard .v80-amount-card{padding:19px!important}.v80-global-card{grid-template-columns:minmax(0,1fr) 94px!important;padding:16px!important;gap:8px!important}.v80-ring-wrap{width:94px!important;height:94px!important}.v80-ring{width:94px!important;height:94px!important}.v80-primary-percent{font-size:29px!important}.bank-summary.bank-summary-accordion{grid-template-columns:40px minmax(0,1fr) 36px!important;padding:13px!important;gap:10px!important}.bank-summary-accordion .bank-summary-icon{width:40px!important;height:40px!important}.bank-summary-accordion .bank-expand{width:34px!important;height:34px!important;font-size:22px!important}.bank-summary-accordion .bank-details-grid{grid-template-columns:minmax(0,1fr)!important}.v80-chart-card.v92-history-card,.operation-dates-card{padding:14px!important;border-radius:19px!important}.v92-chart-wrap svg{min-height:220px!important}.v92-chart-legend{gap:9px 12px!important}.v92-chart-legend span{font-size:10px!important}.operation-date-card{padding:12px!important}
}

/* Swiss Finance V97 — refinements from the approved three-screen concept */
:root{--sf-red:#e5092f;--sf-red-dark:#b90025;--sf-red-soft:#fff0f2;--sf-green:#20a765;--sf-green-soft:#e9f8ef;--sf-ink:#111827;--sf-muted:#65748b;--sf-line:#e8ebf0}
.v80-dashboard .v80-amount-card{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:13px!important;align-items:start!important;padding:22px!important;background:linear-gradient(135deg,#f10d36 0%,#d6002b 54%,#b60025 100%)!important;box-shadow:0 12px 28px rgba(218,0,43,.2)!important}
.v80-dashboard .v80-amount-card:before{content:"";position:absolute;right:18px;bottom:18px;width:74px;height:48px;opacity:.9;background-repeat:no-repeat;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 60'%3E%3Cpath d='M4 52 L25 34 L42 40 L60 18 L75 25 L96 4' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='96' cy='4' r='3' fill='white'/%3E%3C/svg%3E");pointer-events:none}
.v80-dashboard .v80-amount-icon,.v80-dashboard .v80-date-icon{display:grid!important;place-items:center!important;color:#fff!important;background:rgba(255,255,255,.15)!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:15px!important}
.v80-dashboard .v80-amount-icon svg,.v80-dashboard .v80-date-icon svg{stroke:#fff!important;fill:none!important}
.v80-dashboard .v80-amount-copy{min-width:0!important;gap:5px!important}
.v80-dashboard .v80-amount-copy>span{font-size:13px!important;font-weight:650!important;letter-spacing:.01em!important;color:rgba(255,255,255,.9)!important}
.v80-dashboard .v80-amount-copy>strong{display:block!important;color:#fff!important;font-size:clamp(25px,5.5vw,36px)!important;line-height:1.13!important;letter-spacing:-.045em!important;overflow-wrap:anywhere!important}
.v80-dashboard .v80-amount-copy>small{display:none!important}
.v80-dashboard .v80-date-copy{grid-column:2!important;display:flex!important;align-items:center!important;gap:10px!important;margin-top:2px!important;padding:0!important;background:transparent!important;border:0!important}
.v80-dashboard .v80-date-icon{width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:10px!important}
.v80-dashboard .v80-date-icon svg{width:21px!important;height:21px!important}
.v80-dashboard .v80-date-text{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important}
.v80-dashboard .v80-date-text span{font-size:11px!important;color:rgba(255,255,255,.8)!important}
.v80-dashboard .v80-date-text strong{font-size:14px!important;color:#fff!important;overflow-wrap:anywhere!important}
.v80-dashboard .v80-date-text small{font-size:11px!important;color:rgba(255,255,255,.82)!important}
/* Keep the bank heading and its expandable details visually inside one card. */
.bank-summary.bank-summary-accordion{margin-bottom:0!important;border-radius:20px 20px 0 0!important;border-bottom:0!important;box-shadow:0 8px 24px rgba(18,27,43,.05)!important}
.bank-summary-accordion .bank-details{margin:0!important;padding:0 16px 16px!important;border:1px solid var(--sf-line)!important;border-top:0!important;border-radius:0 0 20px 20px!important;box-shadow:0 8px 24px rgba(18,27,43,.05)!important}
.bank-summary-accordion:has(+ .bank-details[hidden]){border-radius:20px!important;border-bottom:1px solid var(--sf-line)!important}
.bank-summary-accordion .bank-expand{background:#f7f8fa!important;border:0!important;color:#172033!important;font-size:25px!important;font-weight:500!important}
.bank-summary-accordion .bank-expand[aria-expanded="true"]{background:var(--sf-red)!important;color:#fff!important;transform:none!important}
.bank-summary-accordion .bank-details-grid>div{background:#fff!important;border-color:#edf0f4!important}
.v80-dashboard .v80-global-card{border-radius:20px!important;background:#fff!important}
.v80-dashboard .v80-primary-percent{color:var(--sf-red)!important}
.v80-dashboard .v80-track i,.v80-dashboard .v83-current-step-track i{background:linear-gradient(90deg,#e5092f,#ff405d)!important}
.v80-dashboard .v80-ring-value{stroke:var(--sf-red)!important}
.v80-dashboard .v80-chart-heading{align-items:center!important;gap:12px!important}
.v80-dashboard .v80-chart-heading h3{font-weight:800!important;letter-spacing:-.035em!important}
.v80-dashboard .v92-chart-subtitle{color:#748096!important;font-size:12px!important}
.v80-dashboard .v80-chart-wrap.v92-chart-wrap{border:1px solid #f3e4e7!important;border-radius:18px!important;background:linear-gradient(180deg,#fff7f8 0%,#fff 100%)!important;padding:8px!important}
.v80-dashboard .v92-chart-wrap #v80ChartLine{stroke:#ed1238!important;stroke-width:3.5!important}
.v80-dashboard .v92-chart-wrap #v80ChartArea{fill:url(#v80AreaFill)!important}
.v80-dashboard .v92-chart-wrap #v80ChartForecast{stroke:#ed1238!important;stroke-width:2.5!important;stroke-dasharray:6 6!important;opacity:.82!important}
.v80-dashboard .v92-forecast-guide{stroke:#ef9aa9!important;stroke-dasharray:4 5!important}
.v80-dashboard .v92-now-guide{stroke:#ed1238!important;stroke-dasharray:3 5!important;opacity:.55!important}
.v80-dashboard .v92-cursor-dot{fill:#fff!important;stroke:#ed1238!important;stroke-width:3!important}
.v80-dashboard .v80-point,.v80-dashboard .v80-milestone{fill:#ed1238!important;stroke:#fff!important;stroke-width:2!important}
.v80-dashboard .v92-chart-legend{display:flex!important;flex-wrap:wrap!important;gap:9px 16px!important;padding:12px 3px 4px!important}
.v80-dashboard .v92-chart-legend span{display:inline-flex!important;align-items:center!important;gap:7px!important;color:#65748b!important;font-size:11px!important}
.v80-dashboard .v92-chart-legend .v92-legend-history{border-top-color:#ed1238!important}
.v80-dashboard .v92-chart-legend .v92-legend-forecast{border-top-color:#ed1238!important;border-top-style:dashed!important}
.v80-dashboard .v92-chart-legend .v92-legend-current{border-color:#ed1238!important}
.v80-dashboard .v80-tooltip.v92-tooltip{margin-top:10px!important;border:1px solid #edf0f4!important;border-radius:15px!important;background:#fff!important;box-shadow:0 4px 14px rgba(18,27,43,.035)!important}
.v80-dashboard .v80-chart-note{margin-top:9px!important;color:#7b8492!important;font-size:11px!important;line-height:1.5!important}
/* Status semantics: completed = green, active = Swiss red, pending = neutral. */
.operation-date-item.is-complete .operation-node,.operation-date-item.done .operation-node{background:#20a765!important;border-color:#20a765!important;color:#fff!important}
.operation-date-item.is-complete .operation-percent,.operation-date-item.done .operation-percent{color:#168650!important}
.operation-date-item.is-active .operation-node,.operation-date-item.active .operation-node{background:#e5092f!important;border-color:#e5092f!important;color:#fff!important}
.operation-date-item.is-active .operation-percent,.operation-date-item.active .operation-percent{color:#e5092f!important}
.operation-date-card .status-complete,.operation-substep.is-complete .operation-percent{color:#168650!important}
@media(max-width:560px){.v80-dashboard .v80-amount-card{grid-template-columns:44px minmax(0,1fr)!important;gap:10px!important;padding:17px!important}.v80-dashboard .v80-amount-icon{width:42px!important;height:42px!important}.v80-dashboard .v80-amount-copy>strong{font-size:clamp(22px,6vw,30px)!important}.v80-dashboard .v80-date-copy{grid-column:2!important}.v80-dashboard .v80-date-text strong{font-size:12px!important}.v80-dashboard .v80-chart-card.v92-history-card{padding:14px!important}.v80-dashboard .v80-chart-wrap.v92-chart-wrap{padding:4px!important}.bank-summary-accordion .bank-details-grid{grid-template-columns:minmax(0,1fr)!important}}

/* Swiss Finance V99 — dashboard completo, storico dettagliato e previsione */
:root{--sf-red:#e5092f;--sf-red-dark:#b90728;--sf-green:#20a765;--sf-muted:#718096;--sf-ink:#111827;--sf-line:#e9edf2}
.v80-dashboard{gap:16px!important}
.v80-dashboard .v80-amount-card{background:linear-gradient(135deg,#f20d36 0%,#d8002b 58%,#b80628 100%)!important;color:#fff!important;border-radius:22px!important;box-shadow:0 12px 28px rgba(217,0,43,.19)!important}
.v80-dashboard .v80-amount-copy>span,.v80-dashboard .v80-amount-copy>small,.v80-dashboard .v80-date-text>span,.v80-dashboard .v80-date-text>small{color:rgba(255,255,255,.88)!important}
.v80-dashboard .v80-amount-icon,.v80-dashboard .v80-date-icon{color:#fff!important;stroke:#fff!important}
.v80-dashboard .v80-amount-icon svg,.v80-dashboard .v80-date-icon svg{stroke:#fff!important;fill:none!important}
.v80-dashboard .v80-global-card,.v80-dashboard .v80-chart-card,.sf-event-card,.sf-forecast-card{background:#fff!important;border:1px solid #e9edf2!important;border-radius:22px!important;box-shadow:0 8px 24px rgba(20,30,48,.045)!important}
.v80-dashboard .v80-primary-percent,.v80-dashboard .v83-current-step-value>strong{color:var(--sf-red)!important}
.v80-dashboard .v80-track i,.v80-dashboard .v83-current-step-track i{background:linear-gradient(90deg,#f20d36,#c9002a)!important}
.v80-dashboard .v80-ring-value{stroke:var(--sf-red)!important}
.v80-dashboard .v80-chart-wrap.v92-chart-wrap{background:linear-gradient(180deg,#fff7f8 0%,#fff 78%)!important;border-color:#f4e2e6!important}
.v80-dashboard #v80ChartLine{stroke:#e5092f!important}
.v80-dashboard #v80ChartArea{fill:url(#v99RedArea)!important}
.v80-dashboard #v80ChartForecast{stroke:#e5092f!important;stroke-dasharray:6 7!important}
.v80-dashboard .v80-point{stroke:#e5092f!important;fill:#fff!important}
.v80-dashboard .v80-milestone{fill:#e5092f!important;stroke:#fff!important}
.v80-dashboard .v80-now,.v80-dashboard .v92-now-guide,.v80-dashboard .v92-cursor-dot{stroke:#e5092f!important}
.v80-dashboard .v92-forecast-guide{stroke:#e5092f!important;stroke-dasharray:4 5!important}
.v80-dashboard .v92-live-dot{background:#20a765!important;box-shadow:0 0 0 4px rgba(32,167,101,.12)!important}
.v80-dashboard .v92-chart-legend .v92-legend-history{border-top-color:#e5092f!important}
.v80-dashboard .v92-chart-legend .v92-legend-forecast{border-top-color:#e5092f!important}
.v80-dashboard .v92-chart-legend .v92-legend-current{border-color:#e5092f!important}
.v80-dashboard .v92-tooltip .v80-detail-status{background:#fff0f2!important;color:#b90728!important}
.v80-dashboard .v80-tooltip.v92-tooltip{background:#fff!important;border-color:#edf0f4!important}
.sf-detail-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:0}
.sf-event-card,.sf-forecast-card{min-width:0;padding:20px}
.sf-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.sf-panel-heading h3{margin:5px 0 4px;color:#101827;font-size:20px;letter-spacing:-.025em}
.sf-panel-heading p{margin:0;color:#758196;font-size:12px;line-height:1.45}
.sf-panel-icon,.sf-forecast-clock{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:#fff0f2;color:#e5092f;font-size:22px;font-weight:700}
.sf-event-list{display:grid}
.sf-event-row{position:relative;display:grid;grid-template-columns:48px 14px minmax(0,1fr);align-items:start;gap:10px;padding:12px 0;border-bottom:1px solid #f0f2f5}
.sf-event-row:last-child{border-bottom:0;padding-bottom:0}
.sf-event-row time{padding-top:1px;color:#596579;font-size:12px;font-variant-numeric:tabular-nums}
.sf-event-row>i{position:relative;display:block;width:11px;height:11px;margin-top:4px;border-radius:50%;background:#c6cbd2;box-shadow:0 0 0 3px #f1f3f5}
.sf-event-row>i:after{content:"";position:absolute;left:5px;top:11px;width:1px;height:calc(100% + 23px);background:#d9dee5}
.sf-event-row.is-complete>i{background:#20a765;box-shadow:0 0 0 3px #e6f7ed}
.sf-event-row.is-future>i{background:#c6cbd2}
.sf-event-row.is-future time{color:#8a94a4}
.sf-event-copy{display:grid;gap:4px;min-width:0}
.sf-event-copy strong{font-size:12px;line-height:1.4;color:#172033;font-weight:700}
.sf-event-copy small{font-size:11px;line-height:1.45;color:#7a8596}
.sf-event-state{grid-column:3;color:#8791a0;font-size:10px;line-height:1.35}
.sf-event-row.is-complete .sf-event-state{color:#168650}
.sf-event-empty{padding:15px;border-radius:13px;background:#f8fafc;color:#687588;font-size:12px;line-height:1.5}
.sf-forecast-main{display:grid;gap:5px;padding:4px 0 15px}
.sf-forecast-main strong{font-size:17px;line-height:1.35;color:#111827}
.sf-forecast-main span{font-size:12px;line-height:1.5;color:#718096}
.sf-forecast-track{position:relative;height:5px;margin:10px 8px 14px;border-radius:99px;background:#e7e9ed}
.sf-forecast-track i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:99px;background:#e5092f;transition:width .3s ease}
.sf-forecast-track b{position:absolute;left:0;top:50%;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#e5092f;box-shadow:0 0 0 1px #e5092f;transform:translate(-50%,-50%);transition:left .3s ease}
.sf-forecast-track em{position:absolute;right:0;top:50%;width:12px;height:12px;border-radius:50%;background:#c6cbd2;transform:translate(50%,-50%)}
.sf-forecast-scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}
.sf-forecast-scale>div{display:grid;gap:4px;min-width:0}
.sf-forecast-scale>div:nth-child(2){text-align:center}
.sf-forecast-scale>div:nth-child(3){text-align:right}
.sf-forecast-scale strong{font-size:12px;color:#172033;font-variant-numeric:tabular-nums}
.sf-forecast-scale span{font-size:10px;line-height:1.4;color:#7a8596}
.sf-forecast-notice{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:14px;border-radius:15px;background:linear-gradient(135deg,#fff0f2,#fff7f8);color:#b90728}
.sf-forecast-notice>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e5092f;color:#fff;font-weight:800}
.sf-forecast-notice strong{font-size:12px;line-height:1.4}
.sf-forecast-notice ul{margin:8px 0 0;padding-left:17px;color:#4c5666;font-size:11px;line-height:1.7}
.sf-data-disclaimer{margin:12px 0 0;color:#8992a0;font-size:10px;line-height:1.5}
/* Green completed / red active / grey pending, consistent across the detailed path. */
.operation-date-item.is-complete .operation-node,.operation-date-item.done .operation-node{background:#20a765!important;border-color:#20a765!important;color:#fff!important}
.operation-date-item.is-complete .operation-percent,.operation-date-item.done .operation-percent{color:#168650!important}
.operation-date-item.is-active .operation-node,.operation-date-item.active .operation-node{background:#e5092f!important;border-color:#e5092f!important;color:#fff!important}
.operation-date-item.is-active .operation-percent,.operation-date-item.active .operation-percent{color:#e5092f!important}
.bank-summary .bank-expand{background:#f7f8fa!important;color:#111827!important;border:1px solid #edf0f4!important}
.bank-summary .bank-expand[aria-expanded="true"]{background:#fff0f2!important;color:#e5092f!important;border-color:#ffd3dc!important}
@media(max-width:760px){.sf-detail-panels{grid-template-columns:minmax(0,1fr)}.sf-event-card,.sf-forecast-card{padding:16px}.sf-panel-heading h3{font-size:18px}.sf-event-row{grid-template-columns:44px 12px minmax(0,1fr);gap:8px}.sf-forecast-scale strong{font-size:11px}}
.sf-event-row{grid-template-columns:44px 12px minmax(0,1fr) 42px!important}
.sf-event-percent{grid-column:4;grid-row:1;color:#7b8594;font-size:11px;text-align:right;font-variant-numeric:tabular-nums}
.sf-event-row.is-complete .sf-event-percent{color:#168650}
.sf-event-state{grid-column:3!important;grid-row:2!important}
.sf-event-row.is-future .sf-event-percent{color:#9aa2ad}
@media(max-width:560px){.sf-event-row{grid-template-columns:40px 12px minmax(0,1fr) 38px!important}.sf-event-percent{font-size:10px}}

/* V100 — Swiss private banking visual refinement: calm, precise, premium. */
:root{--sf-red:#d20a2e;--sf-red-deep:#a80725;--sf-green:#168653;--sf-ink:#142033;--sf-muted:#64748b;--sf-line:#e7ebf0;--sf-surface:#f5f7fa;--sf-radius:20px}
html{background:#f4f6f8}
body{color:var(--sf-ink);background:linear-gradient(180deg,#f7f8fa 0%,#eef1f5 100%);-webkit-font-smoothing:antialiased}
.card,.v80-dashboard,.v80-chart-card,.sf-event-card,.sf-forecast-card,.sf-detail-panels,.v80-global-card,.v83-current-step-card{border-color:#e8ecf1!important;box-shadow:0 8px 28px rgba(19,35,56,.055),0 1px 2px rgba(19,35,56,.035)!important}
.mobile-practice-label{color:#142033!important;font-weight:750;letter-spacing:-.035em}
.mobile-bank-header{padding-bottom:14px!important}
.bank-summary{border:1px solid #e8edf2!important;border-radius:18px!important;background:#fff!important;box-shadow:0 5px 18px rgba(18,32,52,.045)!important;padding:15px 16px!important}
.bank-summary-icon{background:#fff0f2!important;color:var(--sf-red)!important;border-radius:13px!important}
.bank-summary-copy span,.bank-details-grid span{color:#68778b!important;letter-spacing:.01em}
.bank-summary-copy strong{color:#172337!important;font-weight:750!important}
.bank-expand{width:40px!important;height:40px!important;border-radius:50%!important;font-size:25px!important;font-weight:500!important;transition:transform .2s ease,background .2s ease!important}
.bank-expand[aria-expanded=true]{transform:rotate(45deg)}
.bank-details{margin-top:0!important;border:1px solid #e8edf2!important;border-top:0!important;border-radius:0 0 18px 18px!important;background:#fff!important;box-shadow:0 8px 18px rgba(18,32,52,.04)!important;padding:5px 17px 16px!important}
.bank-summary:has(.bank-expand[aria-expanded=true]){border-radius:18px 18px 0 0!important;border-bottom-color:#fff!important}
.bank-details-grid>div{padding:12px 0!important;border-bottom:1px solid #edf0f4!important}
.bank-details-grid>div:last-child{border-bottom:0!important}
.v80-amount-card{position:relative;overflow:hidden;border:0!important;border-radius:22px!important;background:linear-gradient(132deg,#ef1839 0%,#d7082d 54%,#a80725 100%)!important;box-shadow:0 12px 26px rgba(190,8,42,.19)!important;color:#fff!important}
.v80-amount-card:after{content:"";position:absolute;right:-48px;top:-90px;width:210px;height:210px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 24px rgba(255,255,255,.035),0 0 0 50px rgba(255,255,255,.025);pointer-events:none}
.v80-amount-icon,.v80-date-icon{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.17)!important;color:#fff!important}
.v80-amount-copy span,.v80-date-text span{color:rgba(255,255,255,.88)!important}
.v80-amount-copy strong{color:#fff!important;letter-spacing:-.045em!important;font-variant-numeric:tabular-nums}
.v80-amount-copy small,.v80-date-text small{color:rgba(255,255,255,.78)!important}
.v80-date-copy{border-top:1px solid rgba(255,255,255,.18)!important}
.v80-global-card{border-radius:20px!important;background:#fff!important}
.v80-eyebrow{color:#7b8797!important;font-size:10px!important;font-weight:800!important;letter-spacing:.12em!important}
.v80-global-copy h3,.sf-panel-heading h3{color:#142033!important;letter-spacing:-.035em!important}
.v80-primary-percent{color:var(--sf-red)!important;font-variant-numeric:tabular-nums}
.v80-track{background:#e8ebef!important;border-radius:99px!important;overflow:hidden}
.v80-track i,.v83-current-step-track i{background:linear-gradient(90deg,#ef1839,#bf0628)!important;border-radius:99px!important}
.v80-ring-value{stroke:var(--sf-red)!important}
.v80-ring-bg{stroke:#edf0f4!important}
.v83-current-step-card{border-radius:17px!important;background:#fff!important}
.v80-chart-card,.sf-event-card,.sf-forecast-card{border-radius:20px!important;background:#fff!important}
.v80-chart-heading{align-items:flex-start!important}
.v80-chart-heading h3{font-weight:780!important;letter-spacing:-.035em!important}
.v92-view-pill{border:1px solid #e7ebf0!important;background:#f8fafc!important;color:#526176!important;border-radius:99px!important}
.v80-grid path{stroke:#e8edf2!important;stroke-dasharray:2 5!important}
.v80-ylabels text{fill:#7b8797!important;font-size:12px!important}
.v80-chart-note,.v92-chart-legend{color:#778497!important}
.v92-legend-history{background:var(--sf-red)!important}
.v92-legend-forecast{border-color:var(--sf-red)!important}
.v92-legend-current{background:var(--sf-green)!important}
.sf-panel-heading{padding-bottom:13px!important;border-bottom:1px solid #edf0f4!important;margin-bottom:5px!important}
.sf-panel-icon,.sf-forecast-clock{background:#fff0f2!important;color:var(--sf-red)!important;border:1px solid #ffe0e5!important;border-radius:14px!important}
.sf-event-row{padding:14px 0!important;border-bottom-color:#edf0f4!important}
.sf-event-row.is-complete>i{background:var(--sf-green)!important;box-shadow:0 0 0 4px #e5f5ec!important}
.sf-event-row.is-complete .sf-event-copy strong{color:#176b47!important}
.sf-event-row:not(.is-complete):not(.is-future)>i{background:var(--sf-red)!important;box-shadow:0 0 0 4px #ffe8ec!important}
.sf-event-row:not(.is-complete):not(.is-future) .sf-event-percent{color:var(--sf-red)!important}
.sf-forecast-track{background:#e7ebf0!important}
.sf-forecast-track i,.sf-forecast-track b{background:var(--sf-red)!important}
.sf-forecast-track b{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--sf-red)!important}
.sf-forecast-notice{background:linear-gradient(135deg,#fff3f4,#fff8f9)!important;border:1px solid #ffe1e6!important;border-radius:16px!important}
.sf-forecast-notice>span{background:var(--sf-red)!important}
.sf-data-disclaimer{padding-top:10px!important;border-top:1px solid #edf0f4!important;color:#7b8797!important}
.operation-date-item.is-complete .operation-node,.operation-date-item.done .operation-node{background:var(--sf-green)!important;border-color:var(--sf-green)!important;box-shadow:0 0 0 4px #e8f6ee!important}
.operation-date-item.is-active .operation-node,.operation-date-item.active .operation-node{background:var(--sf-red)!important;border-color:var(--sf-red)!important;box-shadow:0 0 0 4px #ffeaee!important}
button,a{ -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible{outline:3px solid rgba(210,10,46,.25)!important;outline-offset:3px!important}
@media(max-width:760px){body{background:#f5f7f9}.v80-amount-card{border-radius:19px!important}.v80-amount-copy strong{font-size:clamp(25px,7vw,34px)!important}.v80-chart-card,.sf-event-card,.sf-forecast-card{padding:16px!important}.sf-forecast-notice{padding:12px!important}.bank-summary{padding:13px!important}.bank-details{padding:4px 14px 13px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Swiss Finance V105 — layout CSS definitivo per il mockup approvato.
   Solo presentazione: nessuna modifica a PHP, Admin o database. */
.sf-alpine-hero{
  position:relative!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;
  width:100%!important;min-width:0!important;min-height:230px!important;height:auto!important;
  box-sizing:border-box!important;overflow:hidden!important;isolation:isolate!important;
  margin:0 0 16px!important;padding:22px 22px 24px!important;border-radius:22px!important;
  background-color:#314b61!important;background-image:linear-gradient(90deg,rgba(12,31,47,.62),rgba(12,31,47,.08) 90%)!important;
}
.sf-alpine-hero:before{position:absolute!important;content:""!important;inset:0!important;z-index:-2!important;display:block!important;
  background-image:var(--sf-alpine-image,none)!important;background-position:center 48%!important;background-size:cover!important;background-repeat:no-repeat!important}
.sf-alpine-hero:after{position:absolute!important;content:""!important;inset:0!important;z-index:-1!important;display:block!important;
  background:linear-gradient(90deg,rgba(9,27,43,.70) 0%,rgba(9,27,43,.20) 75%),linear-gradient(0deg,rgba(9,27,43,.38),transparent 72%)!important;pointer-events:none!important}
.sf-alpine-brand,.sf-alpine-copy{position:relative!important;z-index:1!important;min-width:0!important}
.sf-alpine-copy{width:100%!important;max-width:540px!important;margin:24px 0 0!important}
.sf-alpine-copy h1{max-width:100%!important;font-size:clamp(25px,4vw,38px)!important;line-height:1.08!important;overflow-wrap:normal!important;word-break:normal!important}
.sf-alpine-copy p{font-size:15px!important;line-height:1.45!important}

.v80-dashboard{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;width:100%!important;min-width:0!important;margin:0!important}
.v80-dashboard>*{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.v80-dashboard .sf-recognized-card,.v80-dashboard .v80-amount-card{
  display:block!important;position:relative!important;width:100%!important;min-width:0!important;max-width:100%!important;
  box-sizing:border-box!important;overflow:hidden!important;padding:0!important;border:0!important;border-radius:22px!important;
  background:linear-gradient(125deg,#f20d36 0%,#d9002b 58%,#b80728 100%)!important;color:#fff!important;
  box-shadow:0 12px 28px rgba(217,0,43,.18)!important}
.sf-recognized-toggle{
  display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;
  grid-template-areas:"icon amount flag" "date date expand"!important;
  align-items:center!important;justify-items:stretch!important;gap:12px 13px!important;
  width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
  padding:19px 20px!important;margin:0!important;border:0!important;background:transparent!important;color:#fff!important;text-align:left!important}
.sf-recognized-toggle>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.sf-recognized-toggle .v80-amount-icon{grid-area:icon!important;display:grid!important;place-items:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;margin:0!important;border-radius:50%!important;background:rgba(255,255,255,.16)!important;color:#fff!important}
.sf-recognized-toggle .v80-amount-copy{grid-area:amount!important;display:block!important;width:auto!important;min-width:0!important;max-width:100%!important;white-space:normal!important;writing-mode:horizontal-tb!important;overflow:visible!important}
.sf-recognized-toggle .v80-amount-copy>span{display:block!important;margin:0 0 5px!important;font-size:14px!important;line-height:1.3!important;font-weight:650!important;color:rgba(255,255,255,.91)!important;white-space:normal!important;writing-mode:horizontal-tb!important}
.sf-recognized-toggle .v80-amount-copy>strong{display:block!important;width:auto!important;max-width:100%!important;margin:0!important;font-size:clamp(23px,4vw,33px)!important;line-height:1.12!important;letter-spacing:-.025em!important;font-weight:800!important;color:#fff!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;writing-mode:horizontal-tb!important;transform:none!important}
.sf-recognized-toggle .sf-flag-ch{grid-area:flag!important;display:flex!important;align-items:center!important;justify-self:end!important;align-self:start!important;flex-direction:row!important;gap:7px!important;width:auto!important;min-width:max-content!important;max-width:none!important;padding:7px 9px!important;border:1px solid rgba(255,255,255,.32)!important;border-radius:11px!important;background:rgba(255,255,255,.14)!important;color:#fff!important;white-space:nowrap!important;writing-mode:horizontal-tb!important}
.sf-recognized-toggle .v80-date-copy{grid-area:date!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;width:auto!important;min-width:0!important;margin:2px 0 0!important;color:#fff!important;writing-mode:horizontal-tb!important}
.sf-recognized-toggle .v80-date-icon{display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;margin:0!important;border:1px solid rgba(255,255,255,.48)!important;border-radius:10px!important;color:#fff!important}
.sf-recognized-toggle .v80-date-text{display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;white-space:normal!important;writing-mode:horizontal-tb!important}
.sf-recognized-toggle .v80-date-text>span,.sf-recognized-toggle .v80-date-text strong,.sf-recognized-toggle .v80-date-text small{display:block!important;width:auto!important;max-width:100%!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:anywhere!important;color:#fff!important}
.sf-recognized-toggle .v80-date-text>span{font-size:12px!important;color:rgba(255,255,255,.82)!important}
.sf-recognized-toggle .v80-date-text strong{font-size:14px!important;line-height:1.35!important;font-weight:750!important}
.sf-recognized-toggle .v80-date-text small{font-size:11px!important;color:rgba(255,255,255,.78)!important}
.sf-recognized-toggle .sf-card-expand-icon{grid-area:expand!important;justify-self:end!important;align-self:center!important;display:grid!important;place-items:center!important;width:32px!important;height:32px!important;flex:0 0 32px!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:50%!important;color:#fff!important;font-size:22px!important;line-height:1!important}
.sf-recognized-details{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:0 20px 18px!important}
.sf-recognized-details-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 18px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;border-top:1px solid rgba(255,255,255,.3)!important}
.sf-recognized-details-grid>div{min-width:0!important;overflow-wrap:anywhere!important}

.bank-summary{display:grid!important;grid-template-columns:44px minmax(0,1fr) 40px!important;align-items:center!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:0 0 14px!important;padding:15px 16px!important;border-radius:18px!important}
.bank-summary-copy,.bank-summary-copy *{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;writing-mode:horizontal-tb!important}
.bank-details-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 16px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
.sf-detail-panels{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
.sf-detail-panels>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.v80-chart-wrap,.v92-chart-wrap,.sf-event-card,.sf-forecast-card,#operationDates{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important}
.v80-chart-wrap svg,.v92-chart-wrap svg,.v80-chart-wrap canvas,.v92-chart-wrap canvas{display:block!important;width:100%!important;max-width:100%!important;height:auto!important}

@media(max-width:760px){
 .app{width:calc(100% - 28px)!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important}
 .sf-alpine-hero{min-height:205px!important;padding:17px 17px 20px!important;border-radius:19px!important;margin-bottom:14px!important}
 .sf-alpine-copy{margin-top:20px!important}.sf-alpine-copy h1{font-size:clamp(24px,6.2vw,32px)!important;line-height:1.08!important}
 .sf-recognized-toggle{grid-template-columns:40px minmax(0,1fr) auto!important;gap:10px 11px!important;padding:16px!important}
 .sf-recognized-toggle .v80-amount-icon{width:40px!important;height:40px!important;flex-basis:40px!important}
 .sf-recognized-toggle .v80-amount-copy>strong{font-size:clamp(22px,5.7vw,29px)!important;line-height:1.12!important}
 .sf-recognized-toggle .sf-flag-ch{padding:6px 7px!important;font-size:11px!important}
 .sf-recognized-details{padding:0 16px 16px!important}
 .sf-detail-panels{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 .bank-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 12px!important}
 .v80-dashboard{gap:12px!important}.v80-chart-card,.sf-event-card,.sf-forecast-card{padding:14px!important}
}
@media(max-width:420px){
 .app{width:calc(100% - 24px)!important}
 .sf-alpine-hero{min-height:185px!important;padding:15px!important;border-radius:17px!important}
 .sf-alpine-brand strong{font-size:15px!important}.sf-alpine-copy{margin-top:17px!important}.sf-alpine-copy h1{font-size:24px!important;max-width:100%!important}
 .sf-recognized-toggle{grid-template-columns:36px minmax(0,1fr) auto!important;gap:9px 9px!important;padding:13px!important}
 .sf-recognized-toggle .v80-amount-icon{width:36px!important;height:36px!important;flex-basis:36px!important}
 .sf-recognized-toggle .v80-amount-copy>span{font-size:12px!important}
 .sf-recognized-toggle .v80-amount-copy>strong{font-size:clamp(20px,5.6vw,25px)!important;letter-spacing:-.02em!important}
 .sf-recognized-toggle .sf-flag-ch{gap:5px!important;padding:5px 6px!important;font-size:10px!important}
 .sf-recognized-toggle .sf-flag-ch i{width:19px!important;height:19px!important}
 .sf-recognized-toggle .sf-flag-ch i:before{left:4px!important;top:8px!important;width:11px!important;height:3px!important}
 .sf-recognized-toggle .sf-flag-ch i:after{left:8px!important;top:4px!important;width:3px!important;height:11px!important}
 .sf-recognized-toggle .v80-date-text strong{font-size:12px!important}
 .sf-recognized-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 10px!important}
 .sf-recognized-details-grid strong{font-size:12px!important}
 .bank-summary{grid-template-columns:36px minmax(0,1fr) 34px!important;padding:12px!important;gap:9px!important}
 .bank-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 9px!important}
 .sf-event-row{grid-template-columns:38px 10px minmax(0,1fr) 36px!important;gap:7px!important}
}
@media(max-width:340px){
 .sf-recognized-toggle{grid-template-columns:32px minmax(0,1fr)!important;grid-template-areas:"icon amount" "date date" "flag expand"!important}
 .sf-recognized-toggle .v80-amount-icon{width:32px!important;height:32px!important;flex-basis:32px!important}
 .sf-recognized-toggle .sf-flag-ch{justify-self:start!important}
 .sf-recognized-details-grid,.bank-details-grid{grid-template-columns:minmax(0,1fr)!important}
}


/* Swiss Finance V108 — sfondo panoramico visibile e dettagli espansi ordinati */
.sf-alpine-hero {
  position:relative!important;
  isolation:isolate!important;
  background-color:#314b61!important;
  background-image:
    linear-gradient(90deg,rgba(9,27,43,.68) 0%,rgba(9,27,43,.28) 58%,rgba(9,27,43,.10) 100%),
    linear-gradient(0deg,rgba(9,27,43,.42) 0%,transparent 70%),
    var(--sf-alpine-image,linear-gradient(135deg,#27465b,#a9c2d1))!important;
  background-position:center,center,center 48%!important;
  background-size:cover,cover,cover!important;
  background-repeat:no-repeat,no-repeat,no-repeat!important;
}
/* Evita che i pseudo-elementi coprano o nascondano l'immagine caricata dall'Admin. */
.sf-alpine-hero:before,.sf-alpine-hero:after {
  content:none!important;
  display:none!important;
}
/* Dettagli aperti: ogni etichetta ha il proprio valore subito sotto, su tutta la larghezza. */
.sf-recognized-details-grid {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  width:100%!important;
  min-width:0!important;
  border-top:1px solid rgba(255,255,255,.30)!important;
}
.sf-recognized-details-grid>div {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:4px!important;
  min-width:0!important;
  padding:11px 0!important;
  border-bottom:1px solid rgba(255,255,255,.20)!important;
}
.sf-recognized-details-grid>div:last-child {border-bottom:0!important}
.sf-recognized-details-grid span {
  display:block!important;
  margin:0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
.sf-recognized-details-grid strong {
  display:block!important;
  width:100%!important;
  min-width:0!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:750!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
@media(max-width:420px){
  .sf-alpine-hero {background-position:center,center,center 48%!important}
  .sf-recognized-details {padding:0 14px 14px!important}
  .sf-recognized-details-grid>div {padding:10px 0!important}
  .sf-recognized-details-grid strong {font-size:12px!important}
}


/* Swiss Finance V110 — ensure the uploaded Alpine photo is actually painted above the hero background. */
.sf-alpine-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-color: #29465b !important;
  background-image: none !important;
}
.sf-alpine-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: var(--sf-alpine-image, url("uploads/hero/alpine_a18eb51e82ac653a.jpg")) !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
}
.sf-alpine-hero::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(90deg, rgba(8,26,42,.62), rgba(8,26,42,.12) 90%), linear-gradient(0deg, rgba(8,26,42,.35), transparent 72%) !important;
  pointer-events: none !important;
}
.sf-alpine-hero > * {
  position: relative !important;
  z-index: 2 !important;
}


/* Swiss Finance V111 — readability, duplicate bank card removal and collapsible chronology. */
.sf-alpine-hero .sf-alpine-brand,
.sf-alpine-hero .sf-alpine-brand strong,
.sf-alpine-hero .sf-alpine-brand small,
.sf-alpine-hero .sf-alpine-copy,
.sf-alpine-hero .sf-alpine-copy h1,
.sf-alpine-hero .sf-alpine-copy p {
  color:#fff !important;
  text-shadow:0 1px 3px rgba(0,0,0,.72), 0 2px 9px rgba(0,0,0,.38) !important;
}
.sf-demo-notice {
  position:relative!important; z-index:3!important; display:inline-flex!important; align-self:flex-start!important;
  margin:0 0 10px!important; padding:5px 8px!important; border:1px solid rgba(255,255,255,.48)!important;
  border-radius:7px!important; background:rgba(12,28,42,.66)!important; color:#fff!important;
  font-size:9px!important; font-weight:800!important; letter-spacing:.045em!important; line-height:1.35!important;
  text-shadow:0 1px 2px rgba(0,0,0,.6)!important;
}
/* Avoid duplicate bank summary: the same fields remain in the expandable recognized-amount panel. */
.bank-summary, #bankDetails { display:none!important; }
/* The tracker status remains directly after the red amount card and before step progress. */
#v80Dashboard > .v80-global-card { order:2!important; }
#v80Dashboard > .v83-current-step-card { order:3!important; }
#v80Dashboard > .v80-amount-card { order:1!important; }
.sf-event-accordion-toggle {
  display:flex!important; width:100%!important; align-items:center!important; justify-content:space-between!important;
  gap:14px!important; padding:0 0 13px!important; margin:0!important; border:0!important; border-bottom:1px solid #edf0f4!important;
  background:transparent!important; text-align:left!important; color:inherit!important; cursor:pointer!important; font:inherit!important;
}
.sf-event-heading-copy { display:flex!important; flex-direction:column!important; align-items:flex-start!important; min-width:0!important; gap:3px!important; }
.sf-event-heading-title { display:block!important; margin:5px 0 2px!important; color:#142033!important; font-size:20px!important; font-weight:800!important; letter-spacing:-.025em!important; line-height:1.25!important; }
.sf-event-heading-description { display:block!important; color:#758196!important; font-size:12px!important; line-height:1.45!important; }
.sf-event-chevron { flex:0 0 36px!important; width:36px!important; height:36px!important; display:grid!important; place-items:center!important; border-radius:12px!important; background:#fff0f2!important; color:#c8102e!important; font-size:24px!important; line-height:1!important; }
.sf-event-accordion-content { padding-top:12px!important; }
.sf-event-accordion-content[hidden] { display:none!important; }
.sf-event-accordion-toggle:focus-visible { outline:3px solid rgba(200,16,46,.35)!important; outline-offset:4px!important; border-radius:8px!important; }
@media(max-width:560px) {
 .sf-demo-notice { font-size:8px!important; max-width:100%!important; }
 .sf-event-heading-title { font-size:18px!important; }
 .sf-event-chevron { flex-basis:32px!important; width:32px!important; height:32px!important; }
}

/* Swiss Finance V112 — consistent 15px separation between the Alpine hero, red amount card and tracker status. */
.sf-alpine-hero {
  margin-bottom:15px!important;
}
.v80-dashboard {
  display:flex!important;
  flex-direction:column!important;
  gap:15px!important;
  width:100%!important;
  min-width:0!important;
}
.v80-dashboard > .sf-recognized-card,
.v80-dashboard > .v80-global-card,
.v80-dashboard > .v83-current-step-card,
.v80-dashboard > * {
  margin-top:0!important;
  margin-bottom:0!important;
  min-width:0!important;
  width:100%!important;
}

/* Swiss Finance V113 — responsive 15px spacing and expandable operational path. */
.app > * + * { margin-top:15px!important; }
.app > .v80-dashboard { margin-top:15px!important; }
.v80-dashboard { display:flex!important; flex-direction:column!important; gap:15px!important; }
.v80-dashboard > * { margin-top:0!important; margin-bottom:0!important; }
.app .card + .card,
.app .operation-dates-card,
.app .sf-detail-panels,
.app .sf-detail-panels > *,
.app .operation-timeline-content > * + * { margin-top:15px!important; }
#operationDates.operation-dates-card { padding:0!important; overflow:hidden!important; }
#operationDates .operation-dates-head {
  display:flex!important; width:100%!important; align-items:center!important; gap:14px!important;
  padding:18px!important; margin:0!important; border:0!important; background:#fff!important; color:inherit!important;
  text-align:left!important; cursor:pointer!important; font:inherit!important; box-sizing:border-box!important;
}
.operation-dates-bank-icon { flex:0 0 44px!important; width:44px!important; height:44px!important; display:grid!important; place-items:center!important; }
.operation-dates-heading-copy { display:flex!important; flex:1 1 auto!important; min-width:0!important; flex-direction:column!important; gap:4px!important; }
.operation-dates-eyebrow { color:#c8102e!important; font-size:10px!important; font-weight:800!important; letter-spacing:.08em!important; }
.operation-dates-heading-copy strong { color:#142033!important; font-size:18px!important; font-weight:800!important; line-height:1.25!important; }
.operation-dates-description { color:#758196!important; font-size:12px!important; line-height:1.45!important; }
.operation-path-chevron { flex:0 0 34px!important; width:34px!important; height:34px!important; display:grid!important; place-items:center!important; border-radius:11px!important; background:#fff0f2!important; color:#c8102e!important; font-size:23px!important; line-height:1!important; }
.operation-timeline-content { padding:0 18px 18px!important; }
.operation-timeline-content[hidden] { display:none!important; }
#operationDates:not(.is-path-expanded) .operation-timeline > .operation-date-item { display:none!important; }
#operationDates:not(.is-path-expanded) .operation-timeline > .operation-date-item.is-current-path-step { display:grid!important; }
#operationDates:not(.is-path-expanded) .operation-summary,
#operationDates:not(.is-path-expanded) .operation-dates-note { display:none!important; }
#operationDates.is-path-expanded .operation-timeline > .operation-date-item { display:grid!important; }
#operationDates .operation-dates-head:focus-visible { outline:3px solid rgba(200,16,46,.3)!important; outline-offset:-3px!important; }
@media(max-width:600px) {
 .app > * + * { margin-top:15px!important; }
 .v80-dashboard { gap:15px!important; }
 #operationDates .operation-dates-head { padding:15px!important; gap:10px!important; }
 .operation-dates-bank-icon { flex-basis:38px!important; width:38px!important; height:38px!important; }
 .operation-dates-heading-copy strong { font-size:16px!important; }
 .operation-dates-description { font-size:11px!important; }
 .operation-timeline-content { padding:0 12px 14px!important; }
 .operation-timeline-content .operation-date-item { margin-bottom:15px!important; }
}

/* Swiss Finance V114 — rifinitura tipografica e icone del Percorso operativo. */
#operationDates .operation-dates-head {
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) 36px!important;
  align-items:center!important;
  column-gap:14px!important;
  width:100%!important;
}
#operationDates .operation-dates-bank-icon {
  flex:none!important;
  width:56px!important;
  height:56px!important;
  border-radius:17px!important;
  background:#ed1238!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(200,16,46,.15)!important;
}
#operationDates .operation-dates-bank-icon svg {
  display:block!important;
  width:32px!important;
  height:32px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#operationDates .operation-dates-heading-copy { min-width:0!important; }
#operationDates .operation-dates-eyebrow {
  font-size:10px!important;
  font-weight:650!important;
  letter-spacing:.105em!important;
  line-height:1.35!important;
}
#operationDates .operation-dates-heading-copy strong {
  font-size:clamp(17px,2.1vw,22px)!important;
  font-weight:650!important;
  letter-spacing:-.025em!important;
  line-height:1.2!important;
  overflow-wrap:anywhere!important;
}
#operationDates .operation-dates-description {
  font-size:clamp(11px,1.45vw,13px)!important;
  font-weight:400!important;
  line-height:1.5!important;
  letter-spacing:0!important;
}
#operationDates .operation-path-chevron {
  flex:none!important;
  position:relative!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border:1px solid #f4d8de!important;
  border-radius:50%!important;
  background:#fff4f6!important;
  color:#bd1535!important;
  font-size:0!important;
  justify-self:end!important;
  visibility:visible!important;
  opacity:1!important;
}
#operationDates .operation-path-chevron::before {
  content:""!important;
  position:absolute!important;
  left:12px!important;
  top:10px!important;
  width:9px!important;
  height:9px!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  transform:rotate(45deg)!important;
  transition:transform .18s ease!important;
}
#operationDates.is-path-expanded .operation-path-chevron::before {
  transform:rotate(225deg)!important;
  top:14px!important;
}
#operationDates .operation-date-card,
#operationDates .operation-main,
#operationDates .operation-title-row { min-width:0!important; }
#operationDates .operation-date-card strong,
#operationDates .operation-title-row strong { font-weight:600!important; letter-spacing:-.015em!important; }
#operationDates .operation-date-card span,
#operationDates .operation-date-card small,
#operationDates .operation-dates-note { font-weight:400!important; }
@media(max-width:600px) {
  #operationDates .operation-dates-head {
    grid-template-columns:48px minmax(0,1fr) 32px!important;
    column-gap:10px!important;
    padding:15px!important;
  }
  #operationDates .operation-dates-bank-icon { width:48px!important; height:48px!important; border-radius:15px!important; }
  #operationDates .operation-dates-bank-icon svg { width:28px!important; height:28px!important; }
  #operationDates .operation-path-chevron { width:32px!important; height:32px!important; min-width:32px!important; }
  #operationDates .operation-path-chevron::before { left:10px!important; top:9px!important; }
  #operationDates.is-path-expanded .operation-path-chevron::before { top:13px!important; }
}

/* Swiss Finance V115 — icona banca bianca perfettamente centrata e spaziatura uniforme. */
#operationDates .operation-dates-bank-icon {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  justify-self:center!important;
  box-sizing:border-box!important;
  padding:0!important;
  margin:0!important;
  color:#fff!important;
  background:#ed1238!important;
  line-height:0!important;
  text-align:center!important;
}
#operationDates .operation-dates-bank-icon svg {
  display:block!important;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  stroke:#fff!important;
  fill:none!important;
  transform:none!important;
}
/* Keep a true 15px gap between sibling cards on desktop and mobile. */
.app { gap:15px!important; }
.app > * + * { margin-top:0!important; }
.app > .v80-dashboard { margin-top:0!important; }
.v80-dashboard { gap:15px!important; }
.v80-dashboard > * { margin-top:0!important; margin-bottom:0!important; }
.app .card + .card,
.app .operation-dates-card,
.app .sf-detail-panels,
.app .sf-detail-panels > * { margin-top:0!important; }
@media (max-width:600px) {
  .app { gap:15px!important; }
  .app > * + * { margin-top:0!important; }
  .v80-dashboard { gap:15px!important; }
  #operationDates .operation-dates-bank-icon svg { width:28px!important; height:28px!important; flex-basis:28px!important; }
}

/* Swiss Finance V116 — centering and white bank icon; lighter operational description. */
#operationDates .operation-dates-head {
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) 36px!important;
  align-items:center!important;
  justify-items:stretch!important;
  column-gap:14px!important;
}
#operationDates .operation-dates-bank-icon {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  justify-self:center!important;
  flex:0 0 56px!important;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  line-height:0!important;
  overflow:hidden!important;
}
#operationDates .operation-dates-bank-icon svg {
  display:block!important;
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(-1px)!important;
  fill:#fff!important;
  stroke:#fff!important;
  stroke-width:0!important;
  color:#fff!important;
}
#operationDates .operation-dates-bank-icon svg path {
  fill:#fff!important;
  stroke:none!important;
}
#operationDates .operation-dates-description {
  font-weight:400!important;
  color:#758196!important;
  letter-spacing:.01em!important;
  line-height:1.5!important;
}
@media(max-width:600px) {
  #operationDates .operation-dates-head {
    grid-template-columns:48px minmax(0,1fr) 32px!important;
    column-gap:10px!important;
  }
  #operationDates .operation-dates-bank-icon {
    flex-basis:48px!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
  }
  #operationDates .operation-dates-bank-icon svg {
    flex-basis:27px!important;
    width:27px!important;
    height:27px!important;
  }
}
/* Maintain the requested 15px separation between cards on every viewport. */
.v80-dashboard { gap:15px!important; }
.v80-dashboard > * { margin-top:0!important; margin-bottom:0!important; }
.app > * + * { margin-top:15px!important; }
@media(max-width:600px) {
  .v80-dashboard { gap:15px!important; }
  .app > * + * { margin-top:15px!important; }
}


/* Swiss Finance V117 — definitive bank icon centering, white glyph, light subtitle. */
#operationDates button.operation-dates-head {
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr) 44px!important;
  align-items:center!important;
  justify-items:stretch!important;
  column-gap:18px!important;
}
#operationDates button.operation-dates-head > .operation-dates-bank-icon {
  grid-column:1!important;
  align-self:center!important;
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:92px!important;
  height:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  flex:none!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#operationDates button.operation-dates-head > .operation-dates-bank-icon > svg {
  display:block!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  flex:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  fill:#fff!important;
  stroke:#fff!important;
  stroke-width:0!important;
}
#operationDates button.operation-dates-head > .operation-dates-bank-icon > svg path {
  fill:#fff!important;
  stroke:none!important;
}
#operationDates .operation-dates-description {
  font-weight:400!important;
  text-shadow:none!important;
}
@media(max-width:600px) {
  #operationDates button.operation-dates-head {
    grid-template-columns:92px minmax(0,1fr) 36px!important;
    column-gap:12px!important;
  }
  #operationDates button.operation-dates-head > .operation-dates-bank-icon {
    width:92px!important;height:92px!important;min-width:92px!important;max-width:92px!important;
  }
  #operationDates button.operation-dates-head > .operation-dates-bank-icon > svg {
    width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;
  }
}
/* Preserve the 15px minimum separation between dashboard cards. */
.v80-dashboard {gap:15px!important;}
.v80-dashboard > * {margin-top:0!important;margin-bottom:0!important;}


/* Swiss Finance V118 — live tracker console; browser-derived telemetry only. */
.sf-terminal-card{min-width:0;overflow:hidden;border:1px solid #dbe3ed!important;border-radius:22px!important;background:linear-gradient(145deg,#fff 0%,#f7f9fc 100%)!important;box-shadow:0 14px 38px rgba(14,32,58,.07)!important;padding:clamp(15px,2.4vw,23px)!important;color:#172338!important}
.sf-terminal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:17px}
.sf-terminal-heading{min-width:0}.sf-terminal-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;color:#8a97aa;margin-bottom:7px}.sf-terminal-heading h3{margin:0;color:#172338;font-size:clamp(19px,2.2vw,24px);letter-spacing:-.035em}.sf-terminal-heading p{margin:6px 0 0;color:#748197;font-size:12px;line-height:1.5}
.sf-terminal-status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #dce6f0;background:#f5f8fb;color:#516176;border-radius:999px;padding:8px 10px;font-size:9px;font-weight:800;letter-spacing:.08em}
.sf-terminal-live-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#159a72;box-shadow:0 0 0 4px rgba(21,154,114,.11);animation:sfTerminalPulse 2s ease-in-out infinite}
.sf-terminal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:13px}.sf-terminal-metrics>div{min-width:0;border:1px solid #e5eaf1;background:#fff;border-radius:13px;padding:11px 12px}.sf-terminal-metrics span{display:block;font-size:10px;color:#8793a5;margin-bottom:6px}.sf-terminal-metrics strong{display:block;overflow-wrap:anywhere;font-size:13px;line-height:1.35;color:#172338;font-variant-numeric:tabular-nums}
.sf-terminal-window{overflow:hidden;border:1px solid #1c2a3c;border-radius:15px;background:#0b1220;color:#d7e2f0;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.sf-terminal-windowbar{display:flex;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid rgba(177,196,220,.13);background:#111c2c;color:#8193aa;font:10px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace}.sf-terminal-lights{display:flex;gap:5px}.sf-terminal-lights i{display:block;width:7px;height:7px;border-radius:50%;background:#64748b}.sf-terminal-lights i:first-child{background:#e47777}.sf-terminal-lights i:nth-child(2){background:#e8bd64}.sf-terminal-lights i:nth-child(3){background:#4fbb91}.sf-terminal-windowbar>span:last-child{margin-left:auto;color:#79d5b1;font-weight:800;letter-spacing:.08em}
.sf-terminal-output{display:flex;flex-direction:column;gap:8px;max-height:210px;overflow:auto;padding:14px 14px 10px;scrollbar-width:thin;scrollbar-color:#34445a #0b1220}.sf-terminal-line{display:grid;grid-template-columns:62px 10px minmax(0,1fr);gap:8px;align-items:start;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;animation:sfTerminalIn .24s ease-out}.sf-terminal-line time{color:#6f829c;font-variant-numeric:tabular-nums}.sf-terminal-prompt{color:#72d6b0;font-weight:800}.sf-terminal-line>span:last-child{overflow-wrap:anywhere;color:#c5d2e3}.sf-terminal-progress>span:last-child{color:#8ed8bb}.sf-terminal-event>span:last-child{color:#a9c7ff}.sf-terminal-notice>span:last-child{color:#f3d18b}.sf-terminal-cursor-row{display:flex;align-items:center;gap:8px;padding:0 14px 14px;color:#71d4ae;font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.sf-terminal-cursor-row>i{width:6px;height:13px;background:#71d4ae;animation:sfTerminalBlink 1.1s steps(2,start) infinite}.sf-terminal-cursor-label{color:#667c98;letter-spacing:.07em;font-size:9px}.sf-terminal-disclaimer{margin:13px 1px 0!important;color:#7c889a!important;font-size:10px!important;line-height:1.6!important}.sf-terminal-disclaimer strong{color:#526176}
@keyframes sfTerminalPulse{0%,100%{opacity:1;box-shadow:0 0 0 4px rgba(21,154,114,.10)}50%{opacity:.62;box-shadow:0 0 0 6px rgba(21,154,114,.04)}}@keyframes sfTerminalIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes sfTerminalBlink{to{visibility:hidden}}
@media(max-width:560px){.sf-terminal-head{display:block}.sf-terminal-status{margin-top:12px}.sf-terminal-metrics{gap:6px}.sf-terminal-metrics>div{padding:9px 8px}.sf-terminal-metrics span{font-size:9px}.sf-terminal-metrics strong{font-size:11px}.sf-terminal-output{padding:12px 10px 8px;max-height:190px}.sf-terminal-line{grid-template-columns:54px 8px minmax(0,1fr);gap:6px;font-size:10px}.sf-terminal-windowbar{font-size:9px}.sf-terminal-cursor-row{padding:0 10px 12px}.sf-terminal-cursor-label{font-size:8px}}
@media(prefers-reduced-motion:reduce){.sf-terminal-live-dot,.sf-terminal-line,.sf-terminal-cursor-row>i{animation:none!important;transition:none!important}}


/* Swiss Finance V119 — ensure live console remains visible and readable on phones. */
#sfLiveConsole.sf-terminal-card {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
@media (max-width:760px) {
  #v80Dashboard #sfLiveConsole {
    grid-column:1 / -1 !important;
    align-self:stretch !important;
    margin:0 !important;
    padding:14px !important;
    border-radius:17px !important;
  }
  #sfLiveConsole .sf-terminal-head {
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
    margin-bottom:13px !important;
  }
  #sfLiveConsole .sf-terminal-heading,
  #sfLiveConsole .sf-terminal-status {
    max-width:100% !important;
    min-width:0 !important;
  }
  #sfLiveConsole .sf-terminal-heading h3 {
    font-size:20px !important;
    line-height:1.25 !important;
  }
  #sfLiveConsole .sf-terminal-heading p {
    font-size:12px !important;
    overflow-wrap:anywhere !important;
  }
  #sfLiveConsole .sf-terminal-status {
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    margin-top:0 !important;
  }
  #sfLiveConsole .sf-terminal-metrics {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  #sfLiveConsole .sf-terminal-metrics > div {
    min-width:0 !important;
    padding:9px 7px !important;
    border-radius:10px !important;
  }
  #sfLiveConsole .sf-terminal-metrics span {
    font-size:9px !important;
    line-height:1.3 !important;
    overflow-wrap:anywhere !important;
  }
  #sfLiveConsole .sf-terminal-metrics strong {
    font-size:11px !important;
    line-height:1.35 !important;
    overflow-wrap:anywhere !important;
  }
  #sfLiveConsole .sf-terminal-window {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  #sfLiveConsole .sf-terminal-windowbar {
    min-width:0 !important;
    gap:7px !important;
    padding:9px 10px !important;
    font-size:9px !important;
  }
  #sfLiveConsole .sf-terminal-windowbar > span:nth-child(2) {
    overflow-wrap:anywhere !important;
  }
  #sfLiveConsole .sf-terminal-output {
    max-height:210px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    padding:11px 9px 8px !important;
  }
  #sfLiveConsole .sf-terminal-line {
    grid-template-columns:48px 7px minmax(0,1fr) !important;
    gap:5px !important;
    font-size:10px !important;
    line-height:1.5 !important;
  }
  #sfLiveConsole .sf-terminal-line time {
    font-size:9px !important;
  }
  #sfLiveConsole .sf-terminal-line > span:last-child {
    min-width:0 !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }
  #sfLiveConsole .sf-terminal-cursor-row {
    flex-wrap:wrap !important;
    gap:7px !important;
    padding:0 9px 11px !important;
  }
  #sfLiveConsole .sf-terminal-disclaimer {
    font-size:10px !important;
    overflow-wrap:anywhere !important;
  }
}
@media (max-width:360px) {
  #sfLiveConsole .sf-terminal-metrics {
    grid-template-columns:minmax(0,1fr) !important;
  }
  #sfLiveConsole .sf-terminal-metrics > div {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px !important;
  }
  #sfLiveConsole .sf-terminal-metrics span {
    margin:0 !important;
  }
  #sfLiveConsole .sf-terminal-line {
    grid-template-columns:43px 6px minmax(0,1fr) !important;
    gap:4px !important;
    font-size:9px !important;
  }
}

/* VERA V120 operational log states */
#sfLiveConsole .sf-terminal-check .sf-terminal-prompt { color:#8fd9bd !important; }
#sfLiveConsole .sf-terminal-notice .sf-terminal-prompt { color:#e7bf75 !important; }
#sfLiveConsole .sf-terminal-status { letter-spacing:.06em; }

/* VERA live session V121: completed checks are visibly green. */
#sfLiveConsole .sf-terminal-check .sf-terminal-prompt,
#sfLiveConsole .sf-terminal-check > span:last-child { color:#36c98f !important; }
#sfLiveConsole .sf-terminal-check { color:#d9f8e8 !important; }
#sfLiveConsole .sf-terminal-notice .sf-terminal-prompt { color:#e7bf75 !important; }

/* Swiss Finance app navigation — legacy tracker preserved, new multi-page shell */
.sf-tracker-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 15px;padding:9px;background:#fff;border:1px solid #eceef1;border-radius:17px;box-shadow:0 4px 16px rgba(20,25,35,.035)}
.sf-tracker-nav a{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:11px;text-decoration:none;color:#616873;font-size:12px;font-weight:800}
.sf-tracker-nav a.current,.sf-tracker-nav a:hover{background:#fff0f2;color:#c8102e}
@media(max-width:560px){.sf-tracker-nav{gap:4px;padding:6px;margin-bottom:15px}.sf-tracker-nav a{flex:1 1 calc(50% - 4px);justify-content:center;padding:10px 6px;font-size:11px}}

/* Swiss Finance V123 — iconografia e navigazione persistente del tracker. */
.sf-tracker-nav i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:17px}
.sf-tracker-nav a{min-height:42px}
.sf-tracker-nav a.current{background:#c8102e;color:#fff}
@media(max-width:560px){.sf-tracker-nav{display:flex;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.sf-tracker-nav::-webkit-scrollbar{display:none}.sf-tracker-nav a{flex:0 0 auto;white-space:nowrap}}


/* ==========================================================
   SWISS FINANCE V124 — UI refinement layer
   Preserves existing V123 styles and adds consistent
   navigation, cards, icons and mobile-safe spacing.
   ========================================================== */
:root{
  --sf-red:#c8102e;
  --sf-red-dark:#a90d27;
  --sf-red-soft:#fff0f2;
  --sf-ink:#20232a;
  --sf-muted:#747b86;
  --sf-line:#e7e9ed;
  --sf-surface:#ffffff;
  --sf-page:#f2f3f6;
  --sf-gap:15px;
}
html{scroll-padding-bottom:100px}
body{color:var(--sf-ink)}
button,a,[role="button"]{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,[role="button"]:focus-visible{
  outline:3px solid rgba(200,16,46,.32);outline-offset:3px
}
img,svg{max-width:100%}
.card,.panel,.operation-card,.operation-item,.summary-card,.profile-card,.exchange-card,
.tracker-card,.step-card,.activity-card,.console-card{
  border-radius:26px;
}
.card,.panel,.operation-card,.operation-item,.summary-card,.profile-card,.exchange-card,
.tracker-card,.step-card,.activity-card{
  margin-bottom:var(--sf-gap);
}
.fa,.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,
i[class*="fa-"]{
  line-height:1;vertical-align:middle
}
.icon,.nav-icon,.feature-icon,.card-icon,.step-icon,
i[class*="fa-"]{
  flex-shrink:0
}
.bottom-nav,.mobile-bottom-nav,.app-bottom-nav,.sf-bottom-nav{
  position:fixed!important;left:0!important;right:0!important;bottom:0!important;
  z-index:1000!important;background:rgba(255,255,255,.97)!important;
  border-top:1px solid #e4e6eb!important;
  padding:10px max(10px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom))!important;
  box-shadow:0 -8px 24px rgba(20,25,35,.06)!important;
  backdrop-filter:blur(16px)
}
.bottom-nav a,.mobile-bottom-nav a,.app-bottom-nav a,.sf-bottom-nav a{
  min-height:54px;display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:5px;text-decoration:none;font-weight:700
}
.bottom-nav i,.mobile-bottom-nav i,.app-bottom-nav i,.sf-bottom-nav i{
  font-size:23px!important
}
.bottom-nav span,.mobile-bottom-nav span,.app-bottom-nav span,.sf-bottom-nav span{
  font-size:12px;line-height:1.2
}
body:has(.bottom-nav),body:has(.mobile-bottom-nav),body:has(.app-bottom-nav),body:has(.sf-bottom-nav){
  padding-bottom:calc(100px + env(safe-area-inset-bottom))
}
.sf-red-card,.settlement-card,.settlement-hero,.operation-hero-card{
  background:linear-gradient(135deg,#ef123d 0%,#c8102e 58%,#a90d27 100%)!important;
  color:#fff!important;border:0!important;border-radius:28px!important;
  box-shadow:0 14px 30px rgba(200,16,46,.17)
}
.sf-red-card :is(h1,h2,h3,h4,p,span,strong,small,label,dt,dd),
.settlement-card :is(h1,h2,h3,h4,p,span,strong,small,label,dt,dd),
.settlement-hero :is(h1,h2,h3,h4,p,span,strong,small,label,dt,dd),
.operation-hero-card :is(h1,h2,h3,h4,p,span,strong,small,label,dt,dd){
  color:inherit
}
.sf-red-card .fa,.settlement-card .fa,.settlement-hero .fa,.operation-hero-card .fa,
.sf-red-card i[class*="fa-"],.settlement-card i[class*="fa-"]{
  font-size:1.25em
}
.sf-details-grid,.operation-parties,.settlement-details{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sf-gap)
}
.sf-details-grid .detail-label,.operation-parties .detail-label,.settlement-details .detail-label{
  display:block;font-size:.78rem;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:var(--sf-muted);margin-bottom:6px
}
.sf-details-grid .detail-value,.operation-parties .detail-value,.settlement-details .detail-value{
  display:block;font-size:1rem;font-weight:500;overflow-wrap:anywhere
}
.sf-details-grid .detail-value strong,.operation-parties .detail-value strong,
.settlement-details .detail-value strong{font-weight:800}
.sf-icon-lg{font-size:26px!important;min-width:28px;text-align:center}
.sf-card-action{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.sf-card-action:active{transform:scale(.99)}
.sf-card-action:focus-visible{outline:3px solid rgba(200,16,46,.32);outline-offset:3px}
.sf-status-complete{color:#16865b}
.sf-status-running{color:var(--sf-red)}
.sf-status-planned{color:#6b7280}
.sf-progress{height:9px;border-radius:999px;background:#e9ebef;overflow:hidden}
.sf-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c8102e,#ef5671)}
.console-card,.console-panel{
  background:#080b10!important;color:#e8edf5!important;border-radius:26px!important;
  border:1px solid #202631!important
}
.console-card :is(h1,h2,h3,h4,p,span,strong,small,code),
.console-panel :is(h1,h2,h3,h4,p,span,strong,small,code){color:inherit}
.console-card .is-complete,.console-panel .is-complete{color:#45d69a!important}
.console-card .is-running,.console-panel .is-running{color:#ff5b7b!important}
@media(max-width:640px){
  body{padding-left:15px!important;padding-right:15px!important}
  .card,.panel,.operation-card,.operation-item,.summary-card,.profile-card,.exchange-card,
  .tracker-card,.step-card,.activity-card{padding:20px!important;border-radius:25px!important}
  .sf-details-grid,.operation-parties,.settlement-details{grid-template-columns:minmax(0,1fr)}
  .bottom-nav,.mobile-bottom-nav,.app-bottom-nav,.sf-bottom-nav{
    display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:2px!important
  }
  .bottom-nav a,.mobile-bottom-nav a,.app-bottom-nav a,.sf-bottom-nav a{
    min-width:0;padding:4px 1px!important
  }
  .bottom-nav i,.mobile-bottom-nav i,.app-bottom-nav i,.sf-bottom-nav i{font-size:24px!important}
  .bottom-nav span,.mobile-bottom-nav span,.app-bottom-nav span,.sf-bottom-nav span{
    font-size:10px!important;white-space:nowrap
  }
}
@media(min-width:641px){
  .sf-details-grid,.operation-parties,.settlement-details{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* V125 — activity accordions, operational details and consistent mobile shell */
:root{--sf-gap:15px}
@media(max-width:850px){
  .sf-mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:1px!important}
  .sf-mobile-nav a{min-width:0!important;overflow:hidden}
  .sf-mobile-nav a span{width:30px!important;height:30px!important;font-size:22px!important}
  .sf-mobile-nav a{font-size:10px!important}
}
.sf-monitor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:999px;background:#13845b;color:#fff!important;
  text-decoration:none!important;font-size:12px;font-weight:800;white-space:nowrap;
  box-shadow:0 6px 16px rgba(19,132,91,.18);position:relative;z-index:2
}
.sf-monitor-button i{font-size:15px}
.sf-monitor-button:hover{background:#0d704c}
.sf-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:15px}
.sf-party-grid section{min-width:0;padding:14px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(255,255,255,.07)}
.sf-party-grid strong{display:block;font-size:16px;margin:8px 0;overflow-wrap:anywhere}
.sf-party-grid small{display:block;line-height:1.5;overflow-wrap:anywhere}
.sf-profile-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:20px 0}
.sf-profile-detail-grid>div{padding:15px;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:rgba(255,255,255,.08);min-width:0}
.sf-profile-detail-grid span{display:block;font-size:11px;letter-spacing:.08em;font-weight:800;color:rgba(255,255,255,.76);margin-bottom:7px}
.sf-profile-detail-grid strong{display:block;color:#fff;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.sf-activity-accordion{border:1px solid #e8e9ed;border-radius:20px;overflow:hidden;margin:15px 0;background:#fff}
.sf-activity-toggle{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto 24px;align-items:center;gap:13px;padding:16px;border:0;background:#fff;text-align:left;cursor:pointer;font:inherit;color:var(--sf-ink)}
.sf-activity-icon{width:44px;height:44px;border-radius:14px;background:#fff0f2;color:#c8102e;display:grid;place-items:center;font-size:21px}
.sf-activity-copy{min-width:0;display:grid;gap:4px}
.sf-activity-copy strong{font-size:15px}
.sf-activity-copy small{font-size:12px;color:#747b86;line-height:1.45}
.sf-activity-date{font-size:12px;font-weight:800;text-align:right}
.sf-activity-chevron{color:#c8102e;transition:transform .2s}
.sf-activity-toggle[aria-expanded="true"] .sf-activity-chevron{transform:rotate(180deg)}
.sf-activity-details{padding:0 16px 17px;border-top:1px solid #f0f1f3}
.sf-activity-interval{padding:16px 0;border-bottom:1px solid #eceef1}
.sf-activity-interval:last-child{border-bottom:0}
.sf-activity-interval-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.sf-activity-interval-head strong{font-size:14px;line-height:1.45}
.sf-activity-interval-head span{color:#c8102e;font-weight:800;white-space:nowrap}
.sf-activity-interval>small{display:block;color:#747b86;margin:6px 0 12px;line-height:1.45}
.sf-activity-dates{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#747b86;font-size:11px;margin-top:8px}
.sf-operation-global-progress{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:15px;background:#fff0f2;border:1px solid #f4d8de}
.sf-global-progress-copy h3{margin:8px 0;font-size:20px}
.sf-global-progress-copy>strong{display:block;font-size:34px;letter-spacing:-.04em;color:#c8102e}
.sf-global-progress-copy p{color:#747b86;margin:5px 0 12px}
.sf-global-ring{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#c8102e calc(var(--progress)*1%),#e9dfe2 0);position:relative}
.sf-global-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}
.sf-global-ring>span{position:relative;text-align:center;font-weight:900;font-size:17px}
.sf-global-ring small{display:block;font-size:10px;font-weight:600;color:#747b86;margin-top:3px}
.sf-terminal-cursor{display:inline-block;color:#5cdda3;margin-left:7px;animation:sfCursorBlink 1s steps(2,start) infinite}
@keyframes sfCursorBlink{to{visibility:hidden}}
.sf-console-page{min-height:calc(100vh - 180px);background:#080b10!important;border-radius:24px;padding:22px!important;box-shadow:0 14px 35px rgba(8,11,16,.15)}
.sf-console-page .sf-console-actions{display:none!important}
.sf-console-page .sf-console-view{background:transparent!important}
.sf-console-page .sf-console-row{border-color:#202631!important}
.sf-console-page .sf-console-row .sf-console-track{background:#1d2630!important}
.sf-console-page .sf-console-row.done .sf-console-track i{background:#45d69a!important}
.sf-console-page .sf-console-row.running .sf-console-track i{background:#ff4568!important}
.sf-console-page .sf-console-row.pending .sf-console-track i{background:#626b78!important}
.sf-console-page .sf-console-row.done .sf-console-pct{color:#45d69a!important}
.sf-console-page .sf-console-row.running .sf-console-pct{color:#ff5b7b!important}
@media(max-width:640px){
  .sf-party-grid,.sf-profile-detail-grid{grid-template-columns:minmax(0,1fr)}
  .sf-activity-toggle{grid-template-columns:40px minmax(0,1fr) 22px;gap:10px;padding:13px}
  .sf-activity-date{grid-column:2;grid-row:2;text-align:left;font-size:11px}
  .sf-activity-chevron{grid-column:3;grid-row:1}
  .sf-operation-global-progress{grid-template-columns:minmax(0,1fr) 90px;padding:16px!important}
  .sf-global-ring{width:88px;height:88px}
  .sf-global-ring:before{inset:7px}
  .sf-global-ring>span{font-size:13px}
  .sf-console-page{padding:15px!important;border-radius:20px;min-height:calc(100vh - 180px)}
}

/* V126 — progress from configured intervals and activity history */
.sf-monitor-button{display:inline-flex!important;align-items:center;gap:7px;padding:6px 9px!important;border-radius:999px!important;background:#fff!important;color:#c8102e!important;border:1px solid rgba(200,16,46,.14)!important;font-size:10px!important;font-weight:800!important;white-space:nowrap;cursor:default!important;text-decoration:none!important;box-shadow:none!important;margin:0!important;position:relative;z-index:1}
.sf-monitor-led{font-size:8px!important;color:#c8102e!important;animation:sfMonitorBlink 1.3s ease-in-out infinite}
@keyframes sfMonitorBlink{0%,100%{opacity:1}50%{opacity:.22}}
.sf-activity-chart-wrap{height:270px;position:relative;margin-top:18px}
.sf-global-progress-copy>strong{display:block;color:var(--sf-red);font-size:clamp(32px,5vw,48px);letter-spacing:-.05em;margin-top:16px}
.sf-global-ring{flex:0 0 148px;width:148px;height:148px;border:10px solid var(--sf-red);border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:900}
.sf-global-ring small{display:block;color:var(--sf-muted);font-size:11px;text-align:center;margin-top:4px}
.sf-console-page .sf-terminal-cursor{display:inline-block;margin-left:7px;color:#52e39a;animation:sfCursorBlink .9s steps(2,start) infinite}
@keyframes sfCursorBlink{to{visibility:hidden}}
@media(max-width:560px){.sf-activity-chart-wrap{height:235px}.sf-monitor-button{font-size:9px!important;padding:5px 7px!important}.sf-global-ring{flex-basis:118px;width:118px;height:118px;border-width:8px;font-size:17px}}

/* V127: same tracker data source across Operazioni, Console and Attività */
.sf-operations-grid{display:grid;gap:15px}
.sf-operation-card{margin:0!important}
.sf-operation-toggle{width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) auto 18px;align-items:center;gap:14px;text-align:left}
.sf-operation-main{min-width:0}
.sf-operation-track{display:block;height:7px;background:#e9ebef;border-radius:99px;overflow:hidden;margin-top:10px}
.sf-operation-track i{display:block;height:100%;background:linear-gradient(90deg,#c8102e,#ed6c85);border-radius:inherit}
.sf-operation-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.sf-operation-detail-grid>div{background:#f6f7f9;border-radius:16px;padding:13px;min-width:0}
.sf-operation-detail-grid small{display:block;color:#7b828c;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.sf-operation-detail-grid strong{display:block;overflow-wrap:anywhere}
.sf-console-view[hidden],.sf-operation-details[hidden]{display:none!important}
.sf-console-page .sf-console-row.running .sf-console-pct{color:#ff6382}
.sf-console-page .sf-console-row.done .sf-console-pct{color:#45d69a}
.sf-activity-chart-wrap{height:300px;position:relative}
@media(max-width:640px){.sf-operation-toggle{grid-template-columns:44px minmax(0,1fr) auto 14px;gap:10px}.sf-operation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-activity-chart-wrap{height:270px}}

/* V128 — refinements requested for the user-facing pages */
#fxAmount[readonly]{background:#f1f2f4!important;color:#343943!important;border-color:#e2e4e8!important;cursor:default;box-shadow:none}
#fxAmount[readonly]:focus{outline:none;box-shadow:none}
.sf-activity-chart-wrap{min-height:360px;height:calc(100vh - 290px);max-height:680px}
.sf-activity-history-card{width:100%;min-height:calc(100vh - 190px)}
.sf-activity-accordion{margin:0!important}
.sf-activity-history-card + .sf-card{margin-top:0}
.sf-grid:has(.sf-activity-history-card){row-gap:15px}
.sf-grid:has(.sf-activity-history-card)>.sf-card{grid-column:1/-1!important;width:100%;min-width:0}
.sf-grid:has(.sf-activity-history-card)>.sf-card:nth-child(2){min-height:calc(100vh - 190px)}
.sf-activity-toggle{grid-template-columns:44px minmax(0,1fr) auto 24px}
@media(max-width:640px){
 .sf-activity-chart-wrap{height:46vh;min-height:260px;max-height:none}
 .sf-activity-history-card{min-height:unset}
 .sf-grid:has(.sf-activity-history-card)>.sf-card:nth-child(2){min-height:calc(100vh - 210px)}
 .sf-activity-toggle{grid-template-columns:38px minmax(0,1fr);gap:10px}
 .sf-activity-date{grid-column:2;justify-self:start}
 .sf-activity-chevron{display:none}
}


/* V130.1 — correzioni responsive della pagina Attività e icone desktop/mobile */
.sf-activity-detail-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:none!important;
  gap:15px!important;
  align-items:stretch!important;
}
.sf-activity-detail-grid>.sf-card,
.sf-activity-history-card{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.sf-activity-history-card{padding:clamp(18px,2.8vw,30px)!important}
.sf-activity-chart-wrap{
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  height:clamp(280px,45vh,470px)!important;
  margin:18px 0 12px!important;
  overflow:hidden!important;
}
.sf-activity-chart-wrap canvas{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;touch-action:pan-y!important}
.sf-chart-event-detail{width:100%!important;max-width:none!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;margin-top:15px!important;padding:clamp(14px,2vw,20px)!important}
.sf-chart-event-detail>strong,.sf-chart-event-detail p,.sf-chart-event-meta{min-width:0!important;overflow-wrap:anywhere!important}
.sf-chart-event-meta{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px 18px!important}
.sf-activity-accordion{width:100%!important;max-width:none!important;min-width:0!important;margin:0 0 12px!important;box-sizing:border-box!important}
.sf-activity-toggle{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.sf-activity-copy{overflow-wrap:anywhere!important}
.sf-activity-date{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
.sf-activity-details,.sf-activity-details .sf-operation-detail-grid{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.sf-activity-details .sf-operation-detail-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.sf-activity-details .sf-operation-detail-grid>div{min-width:0!important;overflow-wrap:anywhere!important}
/* La sezione temporale legacy non deve comparire come scheda separata sotto lo storico. */
.sf-forecast-card{display:none!important}
.sf-detail-panels{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:none!important}
/* Font Awesome: icone più leggibili, senza cambiare la geometria della navigazione. */
.sf-nav a .sf-ico i{font-size:23px!important;line-height:1!important}
.sf-mobile-nav a i{font-size:25px!important;line-height:1!important}
.sf-list-icon i,.sf-activity-icon i,.sf-operation-icon i{font-size:20px!important}
.sf-user-menu-wrap{z-index:1010}
.sf-user-menu{z-index:1020}
@media(max-width:850px){
  .sf-activity-history-card{padding:17px!important}
  .sf-activity-chart-wrap{height:310px!important;min-height:270px!important}
  .sf-activity-details .sf-operation-detail-grid{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:600px){
  .sf-activity-detail-grid{grid-template-columns:minmax(0,1fr)!important;gap:15px!important}
  .sf-activity-detail-grid>.sf-card,.sf-activity-history-card{grid-column:1/-1!important;width:100%!important;min-width:0!important}
  .sf-activity-chart-wrap{height:290px!important;min-height:250px!important}
  .sf-activity-toggle{grid-template-columns:40px minmax(0,1fr) 16px!important;gap:10px!important;padding:12px!important}
  .sf-activity-icon{width:38px!important;height:38px!important;font-size:17px!important}
  .sf-activity-date{grid-column:2!important;grid-row:2!important;text-align:left!important;font-size:12px!important}
  .sf-activity-chevron{grid-column:3!important;grid-row:1!important}
  .sf-activity-details{padding:0 12px 13px!important}
  .sf-activity-details .sf-operation-detail-grid{grid-template-columns:minmax(0,1fr)!important}
  .sf-chart-event-detail{padding:14px!important}
  .sf-chart-event-meta{flex-direction:column!important;gap:7px!important}
}
@media(prefers-reduced-motion:reduce){.sf-activity-toggle,.sf-activity-chevron{transition:none!important}}

/* V131 — financial app polish: tracker, operations, activity graph and console */
.sf-list-icon{width:50px!important;height:50px!important;flex:0 0 50px!important;border-radius:16px!important;background:linear-gradient(145deg,#fff5f6,#f7f8fa)!important;border:1px solid #f0e2e5!important;color:#b80f2c!important;box-shadow:0 5px 14px rgba(26,32,44,.045)!important}
.sf-list-icon i{font-size:21px!important;line-height:1!important}
.sf-list-row .sf-list-copy strong{font-size:16px!important;line-height:1.35!important;letter-spacing:-.015em}
.sf-list-row .sf-list-copy small{font-size:14px!important;line-height:1.5!important;overflow-wrap:anywhere}
.sf-home-mini-progress{height:8px!important;border:1px solid #f0e5e8!important;background:#f4edf0!important;margin-top:12px!important}
.sf-home-mini-progress i{background:linear-gradient(90deg,#b70e2b 0%,#e73559 55%,#f49a70 100%)!important}
.sf-list-row{gap:14px!important;padding:18px 0!important}
.sf-operation-global-progress{align-items:center!important}
.sf-global-ring{border:0!important;flex:0 0 148px;width:148px;height:148px;border-radius:50%;padding:10px;background:conic-gradient(from -90deg,#c8102e 0%,#e63e62 42%,#f2a16f calc(var(--progress)*1%),#e9e1e4 calc(var(--progress)*1%) 100%)!important;box-shadow:0 7px 22px rgba(200,16,46,.12)!important;position:relative!important;isolation:isolate}
.sf-global-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff;z-index:-1}
.sf-global-ring>span{display:grid;place-content:center;position:relative;width:100%;height:100%;text-align:center;font-size:20px;line-height:1.25;color:#252a32}
.sf-global-ring small{font-size:11px!important;color:#747b86!important}
.sf-operation-availability-toggle{cursor:default!important}
.sf-operation-availability .sf-operation-chevron{color:#c8102e!important}
.sf-operation-availability .sf-operation-icon.running{animation:sfAvailabilityPulse 1.6s ease-in-out infinite}
@keyframes sfAvailabilityPulse{0%,100%{box-shadow:0 0 0 0 rgba(200,16,46,.05)}50%{box-shadow:0 0 0 7px rgba(200,16,46,.09)}}
.sf-activity-chart-wrap{height:clamp(300px,42vh,430px)!important;overflow:visible!important;padding:8px 4px 0!important;box-sizing:border-box!important}
.sf-activity-chart-wrap canvas{width:100%!important;height:100%!important;max-width:100%!important;touch-action:pan-y!important}
.sf-chart-event-detail{background:linear-gradient(145deg,#fff 0%,#fff8f9 100%)!important;border:1px solid #f0d2d9!important;border-left:4px solid #c8102e!important;border-radius:20px!important;box-shadow:0 9px 28px rgba(36,24,29,.06)!important;color:#252a32!important;padding:20px!important;margin-top:18px!important}
.sf-chart-event-kicker{display:flex!important;align-items:center;gap:8px;color:#b90f2c!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase}
.sf-chart-event-detail>strong{display:block;color:#20242b!important;font-size:clamp(17px,2.2vw,21px)!important;line-height:1.35!important;margin:3px 0!important}
.sf-chart-event-meta{display:flex!important;gap:9px!important;flex-wrap:wrap!important;color:#626a75!important;font-size:12px!important}
.sf-chart-event-meta span{display:inline-flex;gap:6px;align-items:center;padding:8px 10px;background:#fff!important;border:1px solid #f0e1e5!important;border-radius:11px!important}
.sf-chart-event-meta i{color:#c8102e!important}
.sf-chart-event-detail p{font-size:14px!important;line-height:1.6!important;color:#626a75!important;margin:2px 0 0!important}
.sf-activity-history-card{overflow:visible!important}
.sf-global-ring{overflow:hidden}
.sf-console-row{overflow:hidden}
.sf-console-row.sf-console-sequence-visible{animation:sfConsoleRise .28s cubic-bezier(.2,.75,.25,1) both}
.sf-console-row.sf-console-sequence-fade{animation:sfConsoleFade .26s ease both}
.sf-console-row .sf-console-track i{will-change:width}
@keyframes sfConsoleRise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes sfConsoleFade{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}
.sf-console-current-summary{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;padding:17px!important;background:linear-gradient(145deg,#0d141c,#101923)!important;border-color:#303a47!important}
.sf-console-current-summary span{font-size:10px!important;letter-spacing:.09em!important}
.sf-console-current-summary strong{font-size:clamp(17px,2.4vw,21px)!important;margin:2px 0!important;line-height:1.3!important;overflow-wrap:anywhere}
.sf-console-current-summary small#sfLastDoneMeta{font-size:11px!important;letter-spacing:0!important;line-height:1.5!important;overflow-wrap:anywhere}
.sf-console-view-title{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important}
.sf-console-view-title>span{display:flex;align-items:center;gap:8px;min-width:0;line-height:1.35}
.sf-console-view-title small{font-size:10px!important;line-height:1.4!important;text-align:right}
.sf-console-row.running .sf-console-track i{background:linear-gradient(90deg,#c8102e,#f04d6c,#f2a16f)!important}
.sf-console-row.running .sf-console-pct{color:#ff6681!important}
.sf-user-menu-wrap{position:relative!important;z-index:30!important}
.sf-user-menu{position:absolute!important;right:0!important;top:calc(100% + 9px)!important;min-width:190px!important;padding:7px!important;background:#fff!important;border:1px solid #e8e9ed!important;border-radius:16px!important;box-shadow:0 16px 40px rgba(22,28,38,.16)!important;z-index:100!important}
.sf-user-menu[hidden]{display:none!important}
.sf-user-menu a{display:flex!important;align-items:center!important;gap:10px!important;padding:12px 13px!important;border-radius:11px!important;color:#272b33!important;text-decoration:none!important;font-size:14px!important;font-weight:750!important;line-height:1.3!important}
.sf-user-menu a:hover{background:#fff1f3!important;color:#b70e2b!important}
.sf-user-menu a i{width:19px!important;text-align:center!important;color:#c8102e!important}
.sf-user-menu a.sf-user-logout{border-top:1px solid #f0e8ea!important;margin-top:4px!important;border-radius:0 0 11px 11px!important;color:#b70e2b!important}
@media(max-width:640px){
 .sf-list-icon{width:44px!important;height:44px!important;flex-basis:44px!important;border-radius:14px!important}
 .sf-list-icon i{font-size:19px!important}
 .sf-list-row .sf-list-copy strong{font-size:15px!important}
 .sf-list-row .sf-list-copy small{font-size:13px!important}
 .sf-global-ring{flex-basis:108px!important;width:108px!important;height:108px!important;padding:7px!important}
 .sf-global-ring:before{inset:7px!important}
 .sf-global-ring>span{font-size:15px!important}
 .sf-activity-chart-wrap{height:clamp(280px,38vh,340px)!important;padding:8px 0 0!important}
 .sf-chart-event-detail{padding:15px!important;border-radius:17px!important}
 .sf-chart-event-meta{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 .sf-console-view-title{grid-template-columns:minmax(0,1fr)!important}
 .sf-console-view-title small{text-align:left!important}
 .sf-console-current-summary{padding:14px!important}
}

/* V132: console sequence compacts naturally; hidden states must never reserve space */
.sf-console-page{min-height:0!important;height:auto!important;display:block!important}
.sf-console-page [hidden],.sf-console-page .sf-console-row[hidden],.sf-console-page .sf-console-view[hidden]{display:none!important}
.sf-console-sequence{min-height:0!important;height:auto!important;display:block!important;overflow:hidden}
.sf-console-sequence .sf-console-row{transition:opacity .24s ease,transform .24s ease;will-change:opacity,transform}
.sf-console-sequence .sf-console-row.sf-console-sequence-queued{opacity:.43;filter:saturate(.35)}
.sf-console-sequence .sf-console-row.sf-console-sequence-active{opacity:1;filter:none}
.sf-console-sequence .sf-console-row.sf-console-sequence-fade{animation:sfConsoleFadeUp .25s ease both}
@keyframes sfConsoleFadeUp{to{opacity:0;transform:translateY(-18px);max-height:0;padding-top:0;padding-bottom:0;margin:0;border-width:0}}
.sf-console-current{min-height:0!important;height:auto!important}
.sf-console-live-log{margin:16px 0 8px;padding:13px 14px;border:1px solid #273544;border-radius:13px;background:linear-gradient(145deg,#090e14,#111923);color:#aab8c8;font-size:11px;line-height:1.65;overflow-wrap:anywhere}
.sf-console-live-command{color:#61e6a1;font-weight:800}
.sf-console-live-result{margin-top:5px;color:#aab8c8}
.sf-console-live-cursor{display:flex;align-items:center;gap:8px;margin-top:9px;color:#56dfa0}
.sf-console-live-cursor>span{font-weight:900}
.sf-console-live-cursor>i{display:inline-block;width:7px;height:13px;background:#56dfa0;animation:sfTerminalBlink .85s steps(2,end) infinite}
.sf-console-live-cursor small{font-size:9px;letter-spacing:.08em;color:#8493a5}
@keyframes sfTerminalBlink{to{opacity:0}}
/* FX values: two balanced cards, no horizontal overflow on narrow screens */
.sf-fx-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px;width:100%;box-sizing:border-box}
.sf-fx-pair>div{min-width:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.16);overflow-wrap:anywhere}
.sf-fx-pair small{display:block;max-width:100%;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.sf-fx-pair strong{display:block;max-width:100%;margin-top:6px;font-size:clamp(14px,3.6vw,20px);line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere;word-break:normal}
@media(max-width:420px){.sf-fx-pair{gap:8px}.sf-fx-pair>div{padding:10px}.sf-fx-pair strong{font-size:14px}}

/* V132: console sequence compacts naturally; hidden states must never reserve space */
.sf-console-page{min-height:0!important;height:auto!important;display:block!important}
.sf-console-page [hidden],.sf-console-page .sf-console-row[hidden],.sf-console-page .sf-console-view[hidden]{display:none!important}
.sf-console-sequence{min-height:0!important;height:auto!important;display:block!important;overflow:hidden}
.sf-console-sequence .sf-console-row{transition:opacity .24s ease,transform .24s ease;will-change:opacity,transform}
.sf-console-sequence .sf-console-row.sf-console-sequence-queued{opacity:.43;filter:saturate(.35)}
.sf-console-sequence .sf-console-row.sf-console-sequence-active{opacity:1;filter:none}
.sf-console-sequence .sf-console-row.sf-console-sequence-fade{animation:sfConsoleFadeUp .25s ease both}
@keyframes sfConsoleFadeUp{to{opacity:0;transform:translateY(-18px);max-height:0;padding-top:0;padding-bottom:0;margin:0;border-width:0}}
.sf-console-current{min-height:0!important;height:auto!important}
.sf-console-live-log{margin:16px 0 8px;padding:13px 14px;border:1px solid #273544;border-radius:13px;background:linear-gradient(145deg,#090e14,#111923);color:#aab8c8;font-size:11px;line-height:1.65;overflow-wrap:anywhere}
.sf-console-live-command{color:#61e6a1;font-weight:800}
.sf-console-live-result{margin-top:5px;color:#aab8c8}
.sf-console-live-cursor{display:flex;align-items:center;gap:8px;margin-top:9px;color:#56dfa0}
.sf-console-live-cursor>span{font-weight:900}
.sf-console-live-cursor>i{display:inline-block;width:7px;height:13px;background:#56dfa0;animation:sfTerminalBlink .85s steps(2,end) infinite}
.sf-console-live-cursor small{font-size:9px;letter-spacing:.08em;color:#8493a5}
@keyframes sfTerminalBlink{to{opacity:0}}
/* FX values: two balanced cards, no horizontal overflow on narrow screens */
.sf-fx-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px;width:100%;box-sizing:border-box}
.sf-fx-pair>div{min-width:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.16);overflow-wrap:anywhere}
.sf-fx-pair small{display:block;max-width:100%;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.sf-fx-pair strong{display:block;max-width:100%;margin-top:6px;font-size:clamp(14px,3.6vw,20px);line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere;word-break:normal}
@media(max-width:420px){.sf-fx-pair{gap:8px}.sf-fx-pair>div{padding:10px}.sf-fx-pair strong{font-size:14px}}

/* V132: console sequence compacts naturally; hidden states must never reserve space */
.sf-console-page{min-height:0!important;height:auto!important;display:block!important}
.sf-console-page [hidden],.sf-console-page .sf-console-row[hidden],.sf-console-page .sf-console-view[hidden]{display:none!important}
.sf-console-sequence{min-height:0!important;height:auto!important;display:block!important;overflow:hidden}
.sf-console-sequence .sf-console-row{transition:opacity .24s ease,transform .24s ease;will-change:opacity,transform}
.sf-console-sequence .sf-console-row.sf-console-sequence-queued{opacity:.43;filter:saturate(.35)}
.sf-console-sequence .sf-console-row.sf-console-sequence-active{opacity:1;filter:none}
.sf-console-sequence .sf-console-row.sf-console-sequence-fade{animation:sfConsoleFadeUp .25s ease both}
@keyframes sfConsoleFadeUp{to{opacity:0;transform:translateY(-18px);max-height:0;padding-top:0;padding-bottom:0;margin:0;border-width:0}}
.sf-console-current{min-height:0!important;height:auto!important}
.sf-console-live-log{margin:16px 0 8px;padding:13px 14px;border:1px solid #273544;border-radius:13px;background:linear-gradient(145deg,#090e14,#111923);color:#aab8c8;font-size:11px;line-height:1.65;overflow-wrap:anywhere}
.sf-console-live-command{color:#61e6a1;font-weight:800}.sf-console-live-result{margin-top:5px;color:#aab8c8}
.sf-console-live-cursor{display:flex;align-items:center;gap:8px;margin-top:9px;color:#56dfa0}.sf-console-live-cursor>span{font-weight:900}.sf-console-live-cursor>i{display:inline-block;width:7px;height:13px;background:#56dfa0;animation:sfTerminalBlink .85s steps(2,end) infinite}.sf-console-live-cursor small{font-size:9px;letter-spacing:.08em;color:#8493a5}
@keyframes sfTerminalBlink{to{opacity:0}}
/* FX values: two balanced cards, no horizontal overflow on narrow screens */
.sf-fx-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px;width:100%;box-sizing:border-box}
.sf-fx-pair>div{min-width:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.16);overflow-wrap:anywhere}
.sf-fx-pair small{display:block;max-width:100%;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.sf-fx-pair strong{display:block;max-width:100%;margin-top:6px;font-size:clamp(14px,3.6vw,20px);line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere;word-break:normal}
@media(max-width:420px){.sf-fx-pair{gap:8px}.sf-fx-pair>div{padding:10px}.sf-fx-pair strong{font-size:14px}}


/* Swiss Finance V133 — currency pair labels and balanced cards */
.sf-fx-pair{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:10px!important}
.sf-fx-pair>div{min-width:0!important;min-height:104px;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;padding:12px 8px!important;overflow:hidden!important}
.sf-fx-pair small{font-size:10px!important;line-height:1.3!important;letter-spacing:.025em!important;text-align:center!important;overflow-wrap:anywhere!important}
.sf-fx-pair strong{font-size:clamp(13px,3.2vw,17px)!important;line-height:1.25!important;letter-spacing:-.025em!important;text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;font-variant-numeric:tabular-nums}
@media(max-width:420px){.sf-fx-pair{gap:8px!important}.sf-fx-pair>div{min-height:96px;padding:10px 6px!important}.sf-fx-pair small{font-size:9px!important}.sf-fx-pair strong{font-size:13px!important}}


/* Swiss Finance V134 — live console first, compact and non-scrollable, completed phases collapse away. */
#v80Dashboard #sfLiveConsole{position:sticky!important;top:6px!important;z-index:80!important;margin:0 0 14px!important;box-shadow:0 12px 34px rgba(14,32,58,.15)!important;backdrop-filter:blur(14px)}
#sfLiveConsole .sf-terminal-output{max-height:none!important;height:auto!important;overflow:hidden!important;min-height:0!important;gap:4px!important;padding:8px 12px!important}
#sfLiveConsole .sf-terminal-line{font-size:10px!important;line-height:1.35!important;grid-template-columns:54px 8px minmax(0,1fr)!important;gap:5px!important}
#sfLiveConsole .sf-terminal-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
#sfLiveConsole .sf-terminal-metrics>div{padding:8px 9px!important}
#sfLiveConsole .sf-terminal-metrics span{font-size:9px!important;margin-bottom:4px!important}
#sfLiveConsole .sf-terminal-metrics strong{font-size:11px!important;line-height:1.3!important}
#sfLiveConsole .sf-terminal-cursor-row{padding:0 12px 9px!important}
#operationDates .operation-date-item.sf-completed-fading{opacity:0!important;transform:translateY(-18px) scale(.985)!important;max-height:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;overflow:hidden!important;transition:opacity .42s ease,transform .42s ease,max-height .42s ease,padding .42s ease,margin .42s ease!important}
#operationDates .operation-date-item.sf-completed-hidden{display:none!important}
@media(max-width:560px){
 #v80Dashboard #sfLiveConsole{top:2px!important;padding:11px!important;border-radius:15px!important;margin-bottom:10px!important}
 #sfLiveConsole .sf-terminal-heading h3{font-size:17px!important}
 #sfLiveConsole .sf-terminal-heading p{font-size:10px!important;margin-top:3px!important}
 #sfLiveConsole .sf-terminal-head{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;margin-bottom:8px!important}
 #sfLiveConsole .sf-terminal-status{font-size:8px!important;padding:6px 7px!important;margin:0!important}
 #sfLiveConsole .sf-terminal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-bottom:8px!important;gap:5px!important}
 #sfLiveConsole .sf-terminal-metrics>div{padding:6px 7px!important}
 #sfLiveConsole .sf-terminal-metrics span{font-size:8px!important}
 #sfLiveConsole .sf-terminal-metrics strong{font-size:10px!important;max-height:2.6em;overflow:hidden}
 #sfLiveConsole .sf-terminal-output{padding:7px 8px!important}
 #sfLiveConsole .sf-terminal-line{font-size:9px!important;grid-template-columns:47px 7px minmax(0,1fr)!important;gap:4px!important}
 #sfLiveConsole .sf-terminal-windowbar{padding:7px 9px!important}
 #sfLiveConsole .sf-terminal-cursor-row{padding:0 8px 8px!important}
}
@media(prefers-reduced-motion:reduce){#operationDates .operation-date-item.sf-completed-fading{transition:none!important}}

/* Swiss Finance V135 — collapse every completed phase except the active one and reinforce terminal indicators. */
#operationDates .operation-date-item.sf-completed-fading{display:block!important;pointer-events:none!important;opacity:0!important;transform:translateY(-22px) scale(.97)!important;max-height:0!important;min-height:0!important;height:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;border-width:0!important;overflow:hidden!important;transition:opacity .5s ease,transform .5s ease,max-height .5s ease,height .5s ease,padding .5s ease,margin .5s ease,border-width .5s ease!important}
#operationDates .operation-date-item.sf-completed-hidden{display:none!important}
#sfLiveConsole .sf-terminal-lights i:first-child{background:#ff5f57!important;box-shadow:0 0 7px rgba(255,95,87,.38)}
#sfLiveConsole .sf-terminal-lights i:nth-child(2){background:#febc2e!important;box-shadow:0 0 7px rgba(254,188,46,.3)}
#sfLiveConsole .sf-terminal-lights i:nth-child(3){background:#28c840!important;box-shadow:0 0 7px rgba(40,200,64,.35)}
#sfLiveConsole .sf-terminal-live-dot{background:#28c840!important;box-shadow:0 0 0 4px rgba(40,200,64,.14),0 0 10px rgba(40,200,64,.42)!important;animation:sfV135Pulse 1.8s ease-in-out infinite}
@keyframes sfV135Pulse{0%,100%{opacity:1}50%{opacity:.55}}
#sfLiveConsole .sf-terminal-status{display:inline-flex!important;align-items:center!important;gap:7px!important}
@media(prefers-reduced-motion:reduce){#operationDates .operation-date-item.sf-completed-fading,#sfLiveConsole .sf-terminal-live-dot{transition:none!important;animation:none!important}}

/* V136: visible terminal chrome, command stream and sequential removal of every completed console row. */
.sf-console-window-lights{display:inline-flex;gap:5px;vertical-align:middle;margin-right:9px}
.sf-console-window-lights i{display:block;width:8px;height:8px;border-radius:50%}
.sf-console-window-lights i:nth-child(1){background:#ff5f57;box-shadow:0 0 7px #ff5f5744}
.sf-console-window-lights i:nth-child(2){background:#febc2e;box-shadow:0 0 7px #febc2e44}
.sf-console-window-lights i:nth-child(3){background:#28c840;box-shadow:0 0 8px #28c84066;animation:sfConsoleGreenPulse 1.8s ease-in-out infinite}
@keyframes sfConsoleGreenPulse{50%{opacity:.48;box-shadow:0 0 2px #28c84022}}
.sf-console-sequence-fade{opacity:0!important;transform:translateY(-12px) scale(.985)!important;max-height:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;border-width:0!important;overflow:hidden!important;transition:opacity .38s ease,transform .38s ease,max-height .38s ease,padding .38s ease,margin .38s ease!important}
.sf-console-row[hidden]{display:none!important}
.sf-console-terminal-lines{display:flex;flex-direction:column;gap:4px;margin-top:9px;max-height:180px;overflow:hidden;font-size:10px;line-height:1.5;color:#aab8c8}
.sf-console-terminal-line{overflow-wrap:anywhere;animation:sfConsoleLineIn .18s ease-out}
.sf-console-terminal-line.command{color:#61e6a1}
.sf-console-terminal-line.result{color:#c4d3e2}
.sf-console-terminal-line.error{color:#ff7185}
@keyframes sfConsoleLineIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* V137: restore the configured Admin logo at the upper-left of the main page header. */
.sf-topbar-left{display:flex;align-items:center;gap:18px;min-width:0;flex:1}.sf-topbar-brand{display:flex;align-items:center;gap:9px;flex:0 0 auto;max-width:220px;color:var(--sf-ink);text-decoration:none;font-size:13px;font-weight:850;letter-spacing:-.02em}.sf-topbar-brand img{display:block;width:42px;height:42px;object-fit:contain;border-radius:11px}.sf-topbar-brand .sf-brand-mark{width:42px;height:42px;flex:0 0 42px;border-radius:13px}.sf-topbar-brand>span:last-child{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-topbar-heading{min-width:0}.sf-topbar-heading h1{margin-top:4px}@media(max-width:560px){.sf-topbar{align-items:center;gap:8px}.sf-topbar-left{gap:10px}.sf-topbar-brand{gap:0;max-width:44px}.sf-topbar-brand img,.sf-topbar-brand .sf-brand-mark{width:38px;height:38px;flex-basis:38px}.sf-topbar-brand>span:last-child{display:none}.sf-topbar-heading .sf-crumb{font-size:10px}.sf-topbar-heading h1{font-size:19px;line-height:1.15}.sf-profile{padding:6px 8px;gap:6px}.sf-profile-label{display:none}}

/* V138: fondo bianco uniforme e logo istituzionale più leggibile */
html, body { background:#ffffff !important; }
body, .login-body { background:#ffffff !important; }
.sf-main, .sf-content, .app, main { background-color:#ffffff; }
.sf-topbar-brand img { width:54px !important; height:54px !important; object-fit:contain !important; background:#fff !important; padding:2px !important; border-radius:8px !important; }
@media(max-width:560px){
  .sf-topbar-brand { max-width:58px !important; }
  .sf-topbar-brand img, .sf-topbar-brand .sf-brand-mark { width:52px !important; height:52px !important; flex-basis:52px !important; }
  .mobile-logo { width:144px !important; height:56px !important; }
  .mobile-logo img { width:144px !important; height:56px !important; object-fit:contain !important; object-position:left center !important; background:#fff !important; padding:2px !important; }
  .mobile-logo .logo-placeholder { width:144px !important; height:56px !important; }
}


/* SWISS FINANCE V139 — console terminale compatta, ispirata a Gloomberb.
   Tutte le regole sono limitate alla schermata .sf-console-page. */
.sf-console-page{
  background:#080b10!important;color:#dce4ee!important;min-height:calc(100vh - 32px)!important;
  border:1px solid #26313d!important;border-radius:8px!important;padding:22px!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important;
  font-size:12px!important;line-height:1.45!important;letter-spacing:0!important;
  box-shadow:0 14px 36px rgba(7,15,25,.10)!important;overflow-wrap:anywhere
}
.sf-console-page *:not(.fa-solid):not(.fa-regular):not(.fa-brands){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important;letter-spacing:0!important}
.sf-console-page .sf-console-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;padding:0 0 15px!important;margin:0 0 13px!important;border-bottom:1px solid #293542!important}
.sf-console-page .sf-console-title{display:flex!important;align-items:center!important;gap:9px!important;font-size:15px!important;line-height:1.4!important;font-weight:750!important;color:#f0f4f8!important}
.sf-console-page .sf-console-meta{font-size:11px!important;line-height:1.55!important;color:#91a1b4!important}
.sf-console-page .sf-console-live{font-size:10px!important;white-space:nowrap!important;color:#55d99a!important;font-weight:700!important}
.sf-console-page .sf-console-live .fa-circle{font-size:7px!important;margin-right:5px!important}
.sf-console-page .sf-console-window-lights{display:inline-flex!important;gap:5px!important;margin-right:2px!important}
.sf-console-page .sf-console-window-lights i{display:block!important;width:8px!important;height:8px!important;border-radius:50%!important;background:#ff6058!important}
.sf-console-page .sf-console-window-lights i:nth-child(2){background:#ffbd2e!important}.sf-console-page .sf-console-window-lights i:nth-child(3){background:#28c840!important}
.sf-console-page .sf-console-row{grid-template-columns:8px minmax(0,1fr) auto!important;gap:11px!important;padding:11px 0!important;border-bottom:1px solid #1d2833!important;align-items:start!important}
.sf-console-page .sf-console-name{font-size:12px!important;line-height:1.5!important;font-weight:700!important;color:#e4ebf3!important}
.sf-console-page .sf-console-row .sf-console-meta{font-size:10px!important;line-height:1.6!important;margin-top:3px!important;color:#8798ac!important}
.sf-console-page .sf-console-pct{font-size:11px!important;font-weight:700!important;color:#55d99a!important;font-variant-numeric:tabular-nums!important}
.sf-console-page .sf-console-row.running .sf-console-pct{color:#ff6577!important}
.sf-console-page .sf-console-bullet{width:7px!important;height:7px!important;margin-top:5px!important;background:#55d99a!important}
.sf-console-page .sf-console-row.running .sf-console-bullet{background:#ff5268!important}
.sf-console-page .sf-console-row.pending .sf-console-bullet{background:#748397!important}
.sf-console-page .sf-console-track{height:3px!important;margin-top:7px!important;background:#222e3a!important;border-radius:1px!important}
.sf-console-page .sf-console-track i{border-radius:1px!important;background:#4edb99!important}
.sf-console-page .sf-console-row.running .sf-console-track i{background:#ff5268!important}
.sf-console-page .sf-console-view-title{font-size:11px!important;padding:3px 0 10px!important;margin-bottom:9px!important;border-color:#293542!important}
.sf-console-page .sf-console-view-title small{font-size:10px!important;color:#8595a8!important}
.sf-console-page .sf-console-current-summary{background:#0d131b!important;border:1px solid #293542!important;border-radius:5px!important;padding:12px!important;margin:12px 0!important}
.sf-console-page .sf-console-current-summary span,.sf-console-page .sf-console-current-summary small{font-size:10px!important;color:#91a1b4!important}
.sf-console-page .sf-console-current-summary strong{font-size:13px!important;line-height:1.5!important;color:#e7edf4!important}
.sf-console-page .sf-console-live-log{margin-top:14px!important;border:1px solid #293542!important;border-radius:5px!important;background:#05080c!important;padding:12px!important}
.sf-console-page .sf-console-live-command{font-size:12px!important;line-height:1.6!important;color:#f1f5f9!important;overflow-wrap:anywhere}
.sf-console-page .sf-console-live-result{font-size:11px!important;line-height:1.65!important;color:#9daec0!important;margin-top:5px!important;overflow-wrap:anywhere}
.sf-console-page .sf-console-live-cursor{display:flex!important;align-items:center!important;gap:8px!important;border-top:1px solid #1b2732!important;padding-top:9px!important;margin-top:10px!important;color:#55d99a!important;font-size:11px!important}
.sf-console-page .sf-console-live-cursor i{display:inline-block!important;width:7px!important;height:13px!important;background:#55d99a!important;animation:sfV139Blink 1s steps(2,end) infinite!important}
.sf-console-page .sf-console-live-cursor small{font-size:9px!important;color:#8293a6!important}
.sf-console-page .sf-console-terminal-lines{display:grid!important;gap:4px!important;margin-top:12px!important;max-height:190px!important;overflow:auto!important;border-top:1px solid #1b2732!important;padding-top:10px!important}
.sf-console-page .sf-console-terminal-line{display:block!important;font-size:10px!important;line-height:1.55!important;color:#a7b4c3!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important}
.sf-console-page .sf-console-terminal-line.command{color:#d5e0ec!important}.sf-console-page .sf-console-terminal-line.result{color:#61dca0!important}.sf-console-page .sf-console-terminal-line.error{color:#ff6a7d!important}
.sf-console-page .sf-console-terminal-line:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#64768a;margin:0 8px 1px 1px}
.sf-console-page .sf-console-terminal-line.command:before{background:#6da9ff}.sf-console-page .sf-console-terminal-line.result:before{background:#55d99a}.sf-console-page .sf-console-terminal-line.error:before{background:#ff5268}
.sf-console-page .sf-console-switch-note{font-size:10px!important;line-height:1.6!important;color:#8495a8!important;padding:11px 0!important}
.sf-console-page .sf-console-refresh{background:#111923!important;border:1px solid #344253!important;border-radius:5px!important;color:#dce5ef!important;font-family:inherit!important;font-size:11px!important;padding:9px 12px!important}
.sf-console-page .sf-terminal-market{margin:14px 0 16px!important;padding:12px!important;background:#0c1219!important;border:1px solid #2a3542!important;border-radius:5px!important;color:#e2eaf2!important}
.sf-console-page .sf-terminal-market-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding-bottom:10px!important;margin-bottom:10px!important;border-bottom:1px solid #26323e!important;font-size:11px!important;font-weight:750!important;color:#e6edf5!important}
.sf-console-page .sf-terminal-market-source{font-size:9px!important;color:#8495a8!important;font-weight:500!important;text-align:right!important}
.sf-console-page .sf-terminal-market-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.sf-console-page .sf-terminal-market-grid>div{min-width:0!important}
.sf-console-page .sf-terminal-market-grid small{display:block!important;font-size:9px!important;line-height:1.5!important;color:#8293a7!important;margin-bottom:5px!important}
.sf-console-page .sf-terminal-market-grid strong{display:block!important;font-size:12px!important;line-height:1.5!important;font-weight:700!important;color:#dfe7f0!important;overflow-wrap:anywhere!important;font-variant-numeric:tabular-nums!important}
.sf-console-page #sfFxChange.positive{color:#55d99a!important}.sf-console-page #sfFxChange.negative{color:#ff6277!important}.sf-console-page #sfFxChange.neutral{color:#9aa9ba!important}
@keyframes sfV139Blink{50%{opacity:0}}
@media(max-width:850px){.sf-console-page{min-height:calc(100vh - 18px)!important;padding:15px 11px!important;border-radius:5px!important;font-size:11px!important}.sf-console-page .sf-console-head{gap:9px!important}.sf-console-page .sf-console-title{font-size:13px!important}.sf-console-page .sf-console-meta{font-size:10px!important}.sf-console-page .sf-console-row{gap:7px!important;padding:9px 0!important}.sf-console-page .sf-console-name{font-size:11px!important}.sf-console-page .sf-console-pct{font-size:10px!important}.sf-console-page .sf-terminal-market{padding:10px!important}.sf-console-page .sf-terminal-market-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 10px!important}.sf-console-page .sf-terminal-market-grid strong{font-size:11px!important}.sf-console-page .sf-console-live{font-size:9px!important}}
@media(max-width:420px){.sf-console-page .sf-console-head{display:block!important}.sf-console-page .sf-console-live{display:inline-block!important;margin-top:9px!important}.sf-console-page .sf-terminal-market-head{align-items:flex-start!important}.sf-console-page .sf-terminal-market-source{max-width:48%!important}.sf-console-page .sf-console-row{grid-template-columns:6px minmax(0,1fr) auto!important}}
/* V140: accesso al terminale mercati, confinato alla pagina cambio. */
.sf-market-terminal-link{display:inline-flex!important;align-items:center!important;gap:9px!important;max-width:100%!important;margin-top:12px!important;background:#101923!important;border:1px solid #344253!important;color:#eef3f8!important;border-radius:7px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:11px!important;letter-spacing:.01em!important}
.sf-market-terminal-link:hover{background:#202c39!important;border-color:#71849a!important;color:#fff!important}
@media(max-width:560px){.sf-market-terminal-link{display:flex!important;width:100%!important;justify-content:center!important;font-size:10px!important;padding:12px 9px!important}}

/* V147 — console: stato disponibilità operativa in attesa, neutro e ben leggibile */
.sf-console-page .sf-console-bank-pending{box-sizing:border-box;margin:14px 0 16px;padding:15px 16px;background:#f3f4f6!important;color:#252a31!important;border:1px solid #dfe3e8!important;border-radius:12px!important;box-shadow:none!important}
.sf-console-page .sf-console-bank-pending-head{display:flex;align-items:center;gap:11px;min-width:0}
.sf-console-page .sf-console-bank-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:#e2e5e9;color:#656d78;font-size:19px}
.sf-console-page .sf-console-bank-title{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.sf-console-page .sf-console-bank-title strong{font-size:13px;line-height:1.35;letter-spacing:.04em;color:#343a43}
.sf-console-page .sf-console-bank-title small{font-size:10px;line-height:1.45;letter-spacing:.045em;color:#747c87}
.sf-console-page .sf-console-bank-percent{flex:0 0 auto;color:#777f89;font-size:17px;white-space:nowrap}
.sf-console-page .sf-console-bank-track{height:7px;overflow:hidden;margin:13px 0;background:#e0e3e8;border-radius:99px}
.sf-console-page .sf-console-bank-track i{display:block;height:100%;background:#aeb4bd;border-radius:99px}
.sf-console-page .sf-console-bank-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.sf-console-page .sf-console-bank-meta span{display:flex;min-width:0;flex-direction:column;gap:5px;padding:10px 11px;background:#e9ebef;border-radius:9px}
.sf-console-page .sf-console-bank-meta small{font-size:9px;letter-spacing:.08em;color:#777f89}
.sf-console-page .sf-console-bank-meta strong{font-size:12px;line-height:1.45;color:#343a43;overflow-wrap:anywhere}
.sf-console-page .sf-console-bank-pending p{margin:11px 0 0;color:#737b86;font-size:11px;line-height:1.55}
@media(max-width:520px){.sf-console-page .sf-console-bank-pending{padding:13px;margin:14px 0 16px}.sf-console-page .sf-console-bank-icon{flex-basis:38px;width:38px;height:38px}.sf-console-page .sf-console-bank-title strong{font-size:12px}.sf-console-page .sf-console-bank-title small{font-size:9px}.sf-console-page .sf-console-bank-percent{font-size:15px}.sf-console-page .sf-console-bank-meta{grid-template-columns:minmax(0,1fr)}}


/* V159 — transizione Console alla fine di Assegnazione data disponibile. */
.sf-console-page .sf-console-bank-pending.is-availability-confirmed .sf-console-bank-icon{background:#e8f7ee!important;color:#198754!important}
.sf-console-page .sf-console-bank-pending.is-availability-confirmed .sf-console-bank-title small{color:#198754!important}
.sf-console-page .sf-console-bank-pending.is-availability-confirmed .sf-console-bank-percent{color:#f08a24!important}
.sf-console-page .sf-console-bank-pending.is-availability-confirmed .sf-console-bank-track i{background:linear-gradient(90deg,#f59e0b,#f97316)!important}
.sf-console-page .sf-console-bank-pending.is-availability-confirmed .sf-console-bank-meta span:first-child strong{color:#198754!important}
.sf-console-page .sf-availability-in-progress .sf-operation-icon.running{color:#198754!important}
.sf-console-page .sf-availability-in-progress .sf-operation-progress i{background:linear-gradient(90deg,#f59e0b,#f97316)!important}
.sf-console-page .sf-availability-in-progress .sf-operation-percent{color:#f08a24!important}
.sf-console-page .sf-availability-in-progress .sf-console-dots{display:inline-block;vertical-align:middle;margin-left:4px}
.sf-console-page .sf-availability-in-progress .sf-console-dots:after{content:'...';letter-spacing:2px;animation:sfAvailabilityDots 1.2s steps(4,end) infinite}
@keyframes sfAvailabilityDots{0%{content:''}25%{content:'.'}50%{content:'..'}75%,100%{content:'...'}}
