:root{
  --dverc-ink:#0f172a;
  --dverc-muted:#475569;
  --dverc-navy:#083141;
  --dverc-green:#2e7d32;
  --dverc-red:#b91c1c;
}

#dverc-root.dverc-app{
  width:auto;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:0 14px;
  box-sizing:border-box;
  overflow-x:hidden;
}

.dverc-shell{
  max-width:1200px;
  margin:0 auto;
  padding:22px 18px 30px;
  border:2px solid rgba(8,49,65,.18);
  border-radius:22px;
  box-shadow:0 22px 70px rgba(2,6,23,.10);
  background:#fff;
  color:var(--dverc-ink);
}

.dverc-hero{
  border:1px solid rgba(46,125,50,.22);
  border-radius:18px;
  padding:22px;
  background:linear-gradient(135deg,#fff 0%,#f6fbf8 55%,#eef8f0 100%);
}
.dverc-title{margin:0 0 8px;font-size:clamp(1.35rem,3.4vw,2rem);font-weight:950;color:var(--dverc-navy);}
.dverc-sub{margin:0;color:var(--dverc-muted);font-weight:600;line-height:1.55;}

.dverc-card{
  margin-top:16px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:18px;
  background:#fff;
}
.dverc-card-band{
  display:inline-block;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:999px;
  margin:0 0 12px;
}
.dverc-card-band--er{color:#7f1d1d;background:rgba(185,28,28,.14);border:1px solid rgba(185,28,28,.2);}
.dverc-card-band--cash{color:#92400e;background:rgba(245,158,11,.16);border:1px solid rgba(217,119,6,.22);}
.dverc-card-band--projection{color:#0c4a6e;background:rgba(14,165,233,.12);border:1px solid rgba(2,132,199,.22);}

.dverc-card--er-assumptions{
  border:2px solid rgba(185,28,28,.28);
  background:linear-gradient(165deg,#fff5f5 0%,#fff 52%,#fff 100%);
  box-shadow:0 6px 22px rgba(185,28,28,.07);
}
.dverc-card--cash-assumptions{
  border:2px solid rgba(217,119,6,.3);
  background:linear-gradient(165deg,#fffbeb 0%,#fff 50%,#fff 100%);
  box-shadow:0 6px 22px rgba(245,158,11,.09);
}
.dverc-card--projection-assumptions{
  border:2px solid rgba(2,132,199,.28);
  background:linear-gradient(165deg,#f0f9ff 0%,#fff 52%,#fff 100%);
  box-shadow:0 6px 22px rgba(14,165,233,.08);
}

.dverc-h3{margin:0 0 10px;font-size:1.15rem;font-weight:900;color:var(--dverc-navy);}
.dverc-card-lead{margin:-4px 0 14px;color:var(--dverc-muted);font-weight:650;font-size:.92rem;line-height:1.55;}
.dverc-card--er-assumptions .dverc-card-lead,
.dverc-card--cash-assumptions .dverc-card-lead,
.dverc-card--projection-assumptions .dverc-card-lead{margin-top:0;}

.dverc-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.dverc-field{display:grid;gap:6px;}
.dverc-label{font-size:.92rem;font-weight:800;color:var(--dverc-navy);}
.dverc-field-hint{margin:0;font-size:.82rem;font-weight:650;color:#64748b;line-height:1.45;}
.dverc-input{
  width:100%;
  padding:12px;
  border:2px solid rgba(8,49,65,.2);
  border-radius:12px;
  box-sizing:border-box;
  font-size:1rem;
}
.dverc-input:focus{outline:none;border-color:rgba(46,125,50,.55);box-shadow:0 0 0 5px rgba(46,125,50,.14);}

.dverc-mini-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.dverc-mini{
  border:1px solid rgba(8,49,65,.14);
  border-radius:14px;
  padding:12px;
  background:linear-gradient(135deg, rgba(241,245,249,.92), rgba(232,245,233,.78));
}
.dverc-mini-label{font-size:.86rem;font-weight:800;color:var(--dverc-muted);}
.dverc-mini-value{margin-top:6px;font-size:1.1rem;font-weight:950;color:var(--dverc-navy);}
.dverc-best-down{border-color:rgba(46,125,50,.35);}
.dverc-best-er{border-color:rgba(185,28,28,.35);}
.dverc-note{margin:14px 0 0;color:var(--dverc-muted);font-weight:600;line-height:1.55;}

/* Headline comparison: two paths side by side */
.dverc-card--headline .dverc-h3{margin-bottom:6px;}
.dverc-card--headline .dverc-card-lead{margin-bottom:8px;}
.dverc-compare-lead{margin:0 0 18px;color:var(--dverc-muted);font-weight:650;line-height:1.55;font-size:.92rem;}
.dverc-compare-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:stretch;
}
.dverc-compare-col{
  border-radius:18px;
  padding:20px 18px 18px;
  box-sizing:border-box;
  border:2px solid rgba(8,49,65,.12);
  background:linear-gradient(165deg, rgba(255,255,255,.98) 0%, rgba(241,245,249,.88) 100%);
  box-shadow:0 10px 28px rgba(8,49,65,.06);
}
.dverc-compare-col--down{
  border-color:rgba(46,125,50,.42);
  background:linear-gradient(165deg, #f0fdf4 0%, #fff 55%, #ecfdf5 100%);
}
.dverc-compare-col--er{
  border-color:rgba(185,28,28,.38);
  background:linear-gradient(165deg, #fef2f2 0%, #fff 55%, #fff5f5 100%);
}
.dverc-compare-col__ribbon{
  display:inline-block;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#145214;
  background:rgba(46,125,50,.14);
  padding:6px 12px;
  border-radius:999px;
  margin-bottom:10px;
}
.dverc-compare-col__ribbon--er{color:#7f1d1d;background:rgba(185,28,28,.12);}
.dverc-compare-col__title{
  margin:0 0 8px;
  font-size:clamp(1.15rem,2.8vw,1.45rem);
  font-weight:950;
  color:var(--dverc-navy);
  line-height:1.2;
}
.dverc-compare-col__blurb{
  margin:0 0 18px;
  font-size:.9rem;
  color:var(--dverc-muted);
  font-weight:600;
  line-height:1.5;
}
.dverc-hstat{
  padding-bottom:16px;
  margin-bottom:16px;
  border-bottom:1px solid rgba(8,49,65,.1);
}
.dverc-hstat:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.dverc-hstat__label{font-size:.95rem;font-weight:900;color:var(--dverc-navy);}
.dverc-hstat__hint{font-size:.8rem;font-weight:650;color:var(--dverc-muted);margin-top:4px;line-height:1.4;}
.dverc-hstat__value{
  margin-top:10px;
  font-size:clamp(1.35rem,4.2vw,2.05rem);
  font-weight:950;
  color:var(--dverc-navy);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
  line-height:1.15;
}

.dverc-spent-mode-callout{
  margin-top:18px;
  padding:16px 18px;
  border-radius:16px;
  border:2px solid rgba(8,49,65,.14);
  background:linear-gradient(165deg,#f8fafc 0%,#fff 55%);
  box-shadow:0 6px 20px rgba(8,49,65,.06);
}
.dverc-spent-mode-callout__title{
  margin:0 0 12px;
  font-size:1rem;
  font-weight:950;
  color:var(--dverc-navy);
  line-height:1.3;
}
.dverc-spent-mode-callout__p{
  margin:0 0 10px;
  font-size:.88rem;
  font-weight:650;
  color:#334155;
  line-height:1.55;
}
.dverc-spent-mode-callout__p:last-of-type{margin-bottom:0;}
.dverc-spent-mode-callout__caveat{
  margin:12px 0 0;
  padding-top:12px;
  border-top:1px solid rgba(8,49,65,.1);
  font-size:.82rem;
  font-weight:750;
  color:var(--dverc-muted);
  line-height:1.45;
}

.dverc-compare-costs{
  margin-top:22px;
  padding:18px;
  border-radius:16px;
  border:1px solid rgba(8,49,65,.12);
  background:rgba(248,250,252,.95);
}
.dverc-compare-costs__title{margin:0 0 6px;font-size:1.05rem;font-weight:950;color:var(--dverc-navy);}
.dverc-compare-costs__sub{margin:0 0 14px;font-size:.86rem;font-weight:650;color:var(--dverc-muted);line-height:1.5;}
.dverc-compare-costs__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.dverc-cost-tile{
  border-radius:14px;
  padding:14px;
  background:#fff;
  border:1px solid rgba(8,49,65,.1);
}
.dverc-cost-tile--diff{font-weight:800;}
.dverc-cost-tile--save{border-color:rgba(46,125,50,.28);background:linear-gradient(135deg,#fff,#f0fdf4);}
.dverc-cost-tile--more{border-color:rgba(185,28,28,.22);background:linear-gradient(135deg,#fff,#fff7ed);}
.dverc-cost-tile__label{font-size:.9rem;font-weight:950;color:var(--dverc-navy);}
.dverc-cost-tile__hint{font-size:.78rem;font-weight:650;color:#64748b;line-height:1.4;margin-top:4px;}
.dverc-cost-tile__value{margin-top:8px;font-size:clamp(1.05rem,2.5vw,1.25rem);font-weight:950;color:var(--dverc-navy);font-variant-numeric:tabular-nums;}
.dverc-cost-tile__note{margin-top:8px;font-size:.82rem;font-weight:650;color:#64748b;line-height:1.45;}

.dverc-compare-vs{
  margin-top:20px;
  display:grid;
  gap:14px;
}
.dverc-compare-vs__inner{
  padding:0;
  border-radius:20px;
  border:2px solid rgba(8,49,65,.12);
  background:linear-gradient(165deg,#fff 0%,#f1f5f9 48%,#eef2f7 100%);
  box-shadow:0 14px 40px rgba(8,49,65,.08);
  overflow:hidden;
}

/* Who is ahead: visual scoreboard */
.dverc-vs-layout{padding:22px 18px 20px;}
.dverc-vs-head{text-align:center;margin-bottom:22px;}
.dverc-vs-head__title{
  margin:0 0 10px;
  font-size:clamp(1.15rem,3.2vw,1.4rem);
  font-weight:950;
  color:var(--dverc-navy);
  letter-spacing:-.02em;
}
.dverc-vs-head__intro{
  margin:0 auto;
  max-width:40rem;
  font-size:.88rem;
  font-weight:650;
  color:var(--dverc-muted);
  line-height:1.55;
}

.dverc-vs-scores{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:stretch;
  max-width:52rem;
  margin:0 auto;
}
.dverc-vs-score{
  border-radius:16px;
  padding:16px 14px 18px;
  border:2px solid rgba(8,49,65,.1);
  background:#fff;
  box-shadow:0 4px 16px rgba(2,6,23,.04);
  display:flex;
  flex-direction:column;
  min-width:0;
}
.dverc-vs-score--down{
  border-color:rgba(46,125,50,.35);
  background:linear-gradient(180deg,#f0fdf4 0%,#fff 42%);
}
.dverc-vs-score--er{
  border-color:rgba(185,28,28,.32);
  background:linear-gradient(180deg,#fff5f5 0%,#fff 42%);
}
.dverc-vs-score__ribbon{
  align-self:flex-start;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#145214;
  background:rgba(46,125,50,.16);
  padding:5px 10px;
  border-radius:999px;
  margin-bottom:10px;
}
.dverc-vs-score__ribbon--er{color:#7f1d1d;background:rgba(185,28,28,.14);}
.dverc-vs-score__label{font-size:.82rem;font-weight:900;color:var(--dverc-navy);text-transform:uppercase;letter-spacing:.04em;}
.dverc-vs-score__hint{
  margin-top:6px;
  font-size:.78rem;
  font-weight:650;
  color:#64748b;
  line-height:1.45;
  flex:1;
}
.dverc-vs-score__fig{
  margin-top:14px;
  font-size:clamp(1.2rem,3.8vw,1.75rem);
  font-weight:950;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.03em;
  line-height:1.1;
  color:var(--dverc-navy);
}
.dverc-vs-gapstrip{
  margin:22px auto 0;
  max-width:52rem;
  border-radius:16px;
  padding:18px 20px;
  box-sizing:border-box;
}
.dverc-vs-gapstrip--pos{
  background:linear-gradient(135deg,rgba(46,125,50,.12) 0%,rgba(232,245,233,.95) 45%,#fff 100%);
  border:2px solid rgba(46,125,50,.38);
  box-shadow:0 6px 24px rgba(46,125,50,.12);
}
.dverc-vs-gapstrip--neg{
  background:linear-gradient(135deg,rgba(185,28,28,.08) 0%,rgba(254,242,242,.95) 45%,#fff 100%);
  border:2px solid rgba(185,28,28,.32);
  box-shadow:0 6px 24px rgba(185,28,28,.08);
}
.dverc-vs-gapstrip--tie{
  background:linear-gradient(135deg,#f8fafc,#fff);
  border:2px dashed rgba(8,49,65,.2);
}
.dverc-vs-gapstrip__row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}
.dverc-vs-gapstrip__body{text-align:center;width:100%;}
.dverc-vs-gapstrip__kicker{
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--dverc-muted);
  margin-bottom:6px;
}
.dverc-vs-gapstrip__amount{
  font-size:clamp(1.65rem,5.5vw,2.5rem);
  font-weight:950;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.03em;
  line-height:1.05;
}
.dverc-vs-gapstrip--pos .dverc-vs-gapstrip__amount{color:#145214;}
.dverc-vs-gapstrip--neg .dverc-vs-gapstrip__amount{color:#7f1d1d;}
.dverc-vs-gapstrip--tie .dverc-vs-gapstrip__amount{color:var(--dverc-navy);}

.dverc-vs-verdict{
  margin:18px auto 0;
  max-width:44rem;
  padding:14px 16px;
  border-radius:12px;
  border-left:4px solid rgba(8,49,65,.2);
  background:rgba(255,255,255,.72);
}
.dverc-vs-verdict p{
  margin:0;
  font-size:.88rem;
  font-weight:650;
  color:#334155;
  line-height:1.55;
}

@media (max-width:640px){
  .dverc-vs-scores{
    grid-template-columns:1fr;
    gap:12px;
  }
}
.dverc-compare-vs__ltv{
  font-size:.88rem;
  color:var(--dverc-muted);
  font-weight:650;
  line-height:1.5;
  text-align:center;
  padding:0 8px;
}

@media (max-width:900px){
  .dverc-compare-columns{grid-template-columns:1fr;}
  .dverc-compare-costs__grid{grid-template-columns:1fr;}
}

.dverc-chart-wrap{height:340px;}
.dverc-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:14px;margin-top:12px;}
.dverc-table{width:100%;min-width:1080px;border-collapse:collapse;font-size:.92rem;}
.dverc-table th,.dverc-table td{border:1px solid #e2e8f0;padding:10px;}
.dverc-table th{background:#f1f5f9;color:var(--dverc-navy);font-weight:900;}
.dverc-th-cell{vertical-align:bottom;min-width:7.5rem;}
.dverc-th-main{display:block;font-weight:900;font-size:.88rem;line-height:1.25;color:var(--dverc-navy);}
.dverc-th-sub{display:block;margin-top:6px;font-size:.72rem;font-weight:650;color:#64748b;line-height:1.35;text-transform:none;letter-spacing:0;}
.dverc-num{text-align:right;font-variant-numeric:tabular-nums;}
.dverc-positive{color:#145214;font-weight:900;}
.dverc-negative{color:#7f1d1d;font-weight:900;}

.dverc-export{
  margin-top:20px;padding:20px;border-radius:16px;border:2px solid rgba(46,125,50,.30);
  background:linear-gradient(135deg,#fff 0%,#e8f5e9 100%);text-align:center;
}
.dverc-export-title{margin:0 0 8px;color:var(--dverc-navy);font-size:clamp(1.1rem,3vw,1.45rem);font-weight:950;}
.dverc-export-sub{margin:0 0 14px;color:var(--dverc-muted);font-weight:600;}
.dverc-export-btn{
  width:100%;max-width:420px;padding:17px 18px;border:none;border-radius:14px;cursor:pointer;
  color:#fff;font-size:1.05rem;font-weight:950;letter-spacing:.02em;
  background:linear-gradient(180deg,#43a047 0%,#2e7d32 55%,#1b5e20 100%);
  box-shadow:0 6px 0 #145214,0 16px 34px rgba(46,125,50,.40);
}

.dverc-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:999999;padding:20px;box-sizing:border-box;}
.dverc-modal{width:100%;max-width:560px;background:#fff;border:3px solid var(--dverc-navy);border-radius:20px;overflow:hidden;}
.dverc-modal-header{padding:22px;background:linear-gradient(135deg,var(--dverc-navy),#0a4a5f);display:flex;align-items:center;justify-content:space-between;}
.dverc-modal-header h3{margin:0;color:#fff;font-size:clamp(1.15rem,4vw,1.45rem);font-weight:950;}
.dverc-modal-close{width:38px;height:38px;border:none;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;font-size:28px;cursor:pointer;}
.dverc-modal-body{padding:22px;}
.dverc-modal-lead{margin:0 0 14px;color:#1e293b;font-weight:550;line-height:1.6;}
.dverc-modal-label{display:block;margin:10px 0 7px;font-weight:900;color:#0f172a;font-size:.95rem;}
.dverc-modal-input{width:100%;padding:12px;border:2px solid rgba(8,49,65,.28);border-radius:12px;box-sizing:border-box;}
.dverc-modal-error{margin-top:10px;color:var(--dverc-red);font-weight:700;font-size:.92rem;}
.dverc-modal-trust{margin-top:14px;background:#e8f5e9;border:1px solid rgba(46,125,50,.25);padding:14px;border-radius:14px;color:#145214;font-weight:650;font-size:.92rem;}
.dverc-modal-footer{padding:18px 22px;background:#f1f8f4;border-top:2px solid rgba(46,125,50,.20);display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;}
.dverc-modal-submit{flex:1 1 auto;min-width:min(100%,240px);min-height:54px;border-radius:14px;border:2px solid #145214;background:linear-gradient(180deg,#43a047 0%,#2e7d32 55%,#1b5e20 100%);color:#fff;font-weight:950;cursor:pointer;}
.dverc-modal-secondary{border:2px solid rgba(8,49,65,.25);background:#fff;color:var(--dverc-navy);border-radius:14px;padding:14px 18px;font-weight:850;cursor:pointer;min-height:54px;}
.dverc-modal-success{margin:0;padding:14px 10px;color:var(--dverc-green);font-weight:950;font-size:1.05rem;text-align:center;}

@media (max-width:720px){
  .dverc-chart-wrap{height:280px;}
}

@media print{
  #dverc-root.dverc-app{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;}
  .dverc-shell{max-width:100%;padding:0;}
  .dverc-export,.dverc-modal-overlay{display:none!important;}
}

