.rvlp{--bg:#050b14;--card:#0b1728;--card2:#0f2038;--line:#1d3452;--muted:#91a2bf;--txt:#edf4ff;--blue:#2f8cff;--violet:#7c3aed;--green:#35e279;--red:#ff4d5e;font-family:Inter,system-ui,Arial;color:var(--txt);background:radial-gradient(circle at 15% 0,#132b58 0,#07101f 35%,#030811 100%);padding:18px;border-radius:24px;box-sizing:border-box;max-width:1180px;margin:0 auto}.rvlp *{box-sizing:border-box}.rvlp-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:14px}.brand{display:flex;gap:12px;align-items:center}.brand.no-logo{gap:0}.brand.no-logo h2{font-size:26px}.logo{width:50px;height:50px;border-radius:17px;background:linear-gradient(135deg,var(--blue),var(--violet));display:grid;place-items:center;font-weight:900;box-shadow:0 0 32px #4f46e566}.brand h2{margin:0;font-size:24px;letter-spacing:-.02em}.brand p{margin:3px 0 0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:10px;flex-wrap:wrap}.rvlp button{background:linear-gradient(135deg,#2563eb,#7c3aed);border:1px solid #6850d9;color:white;border-radius:11px;padding:10px 14px;cursor:pointer;font-weight:800;box-shadow:0 10px 24px #0003}.rvlp button.ghost{background:#0a1424;border-color:#263e60;color:#dbe7ff}.rvlp button:hover{filter:brightness(1.15);transform:translateY(-1px)}.rvlp-grid{display:grid;grid-template-columns:minmax(300px,330px) 1fr;gap:14px}.panel{background:linear-gradient(180deg,rgba(15,31,54,.96),rgba(6,16,31,.96));border:1px solid var(--line);border-radius:17px;box-shadow:0 16px 48px #0005,inset 0 1px 0 #ffffff0a}.controls{padding:14px}.controls h3,.panel h3{color:#a778ff;margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.controls label{display:block;color:#c9d4e8;font-size:13px;margin:0 0 12px}.controls input,.controls select{width:100%;margin-top:6px;background:#061120;border:1px solid #223a59;color:var(--txt);border-radius:10px;padding:11px;outline:none}.controls input:focus,.controls select:focus{border-color:#7658ff;box-shadow:0 0 0 3px #7c3aed22}.controls small,.hint{display:block;color:#7f90ad;font-size:11px;margin-top:6px;line-height:1.35}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.main-col{display:grid;gap:14px;min-width:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metrics div{background:linear-gradient(180deg,#0e1d32,#081323);border:1px solid var(--line);border-radius:15px;padding:15px;min-height:88px}.metrics span{display:block;color:var(--muted);font-size:12px}.metrics strong{font-size:22px;margin-top:6px;display:block;line-height:1.25}.chart-panel{padding:14px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.panel-head span{font-size:12px;color:var(--muted);text-align:right}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.result{padding:16px;min-height:158px}.result b{font-size:28px;display:block;margin:8px 0;line-height:1.3;word-break:break-word}.result p{color:#b8c5dc;margin:8px 0;font-size:13px}.real b,.sim b,.best b{color:var(--green)}.history{margin-top:14px;padding:14px;overflow:auto}.history table{width:100%;border-collapse:collapse;min-width:680px}.history th,.history td{padding:11px;border-bottom:1px solid #1d3452;text-align:left;font-size:13px}.history th{color:#94a3b8}.source-box{margin-top:10px;padding:12px;background:#071222;border:1px solid #203756;border-radius:13px;color:#9fb1cd}.source-box b{display:block;color:#dfe8ff;margin-bottom:4px}.source-box span{font-size:12px}@media(max-width:1100px){.rvlp-grid{grid-template-columns:1fr}.metrics,.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.metrics,.cards,.row{grid-template-columns:1fr}.rvlp-topbar{align-items:flex-start;flex-direction:column}.rvlp{padding:12px;border-radius:16px}.brand h2{font-size:20px}}
.rvlp .full-btn{width:100%;margin:8px 0 14px 0;background:linear-gradient(135deg,#4f46e5,#9333ea);border:0;color:#fff;border-radius:12px;padding:13px 16px;font-weight:800;cursor:pointer;box-shadow:0 10px 26px rgba(124,58,237,.25)}
.rvlp .source-box a{color:#60a5fa;text-decoration:none;font-weight:700}
.rvlp .source-box.warn{border-color:#6b4e16;background:linear-gradient(180deg,#151105,#0b0f18)}
.rvlp .source-box.warn b{color:#fbbf24}
.rvlp .advanced{border:1px solid #1f3656;border-radius:13px;padding:10px 12px;margin:2px 0 12px;background:#071222}
.rvlp .advanced summary{cursor:pointer;color:#cbd7ee;font-size:13px;font-weight:800;list-style:none}
.rvlp .advanced summary::-webkit-details-marker{display:none}
.rvlp .advanced summary:after{content:'+';float:right;color:#a778ff}.rvlp .advanced[open] summary:after{content:'−'}
.rvlp button.wide{width:100%;margin:2px 0 12px}
.rvlp input[readonly]{opacity:.88;background:#09172a}
.cards.four{grid-template-columns:repeat(4,1fr)}
.hold b{color:#fbbf24}.best b{font-size:22px}.rvlp .result.best p{line-height:1.5}
@media(max-width:1100px){.cards.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.cards.four{grid-template-columns:1fr}}

/* v11 refinements */
.result{display:flex;flex-direction:column;gap:8px}
.result h3{margin-bottom:2px}.result>p{margin:0!important}
.result .metric-line, .result p[id$="Fees"], .result p[id$="Il"]{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(29,52,82,.7);padding:7px 0;color:#9fb1cd}
.result p span{color:#8ea0bc}.result p b{font-size:13px!important;margin:0!important;color:#dce8ff!important;line-height:1.2!important}
.result #realShare,.result #simShare{display:grid;grid-template-columns:1fr auto;gap:7px 10px;border-bottom:0;color:#9fb1cd}
.result.best #explain{display:grid;grid-template-columns:1fr auto;gap:7px 10px;border-top:1px solid rgba(29,52,82,.7);padding-top:10px}.result.best #explain br{display:none}
.source-grid{display:grid;grid-template-columns:105px 1fr;gap:7px 12px;align-items:center}.source-grid span{color:#8192ad}.source-grid b{color:#e2e8f0;font-weight:700;word-break:break-word}.source-grid .addr{font-size:11px}.source-box span{font-size:12px}
.controls select#holdMode{font-weight:800;color:#fff}

/* v13 UX: charts taller, cards compact and cleaner */
.chart-panel canvas{width:100%!important;display:block}.chart-panel:first-of-type{min-height:360px}.chart-panel:first-of-type canvas{height:330px!important}.chart-panel:nth-of-type(2){min-height:300px}.chart-panel:nth-of-type(2) canvas{height:230px!important}.cards.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}.result{min-height:0;padding:14px;border-radius:16px}.result h3{font-size:12px;margin:0 0 6px}.result>b{font-size:23px!important;line-height:1.18!important;margin:4px 0 8px!important}.result p{font-size:12px!important}.result #realShare,.result #simShare,.result.best #explain,.hold .kv{font-size:12px;gap:5px 8px}.hold .kv{display:grid;grid-template-columns:1fr auto;border-top:1px solid rgba(29,52,82,.7);padding-top:8px;color:#9fb1cd}.hold .kv b{font-size:12px!important;color:#dce8ff!important;margin:0!important}.best #winner{font-size:20px!important}.source-grid{grid-template-columns:92px minmax(0,1fr);font-size:12px}.source-grid .addr{font-size:10.5px;line-height:1.35}.hint{padding:8px 10px;border:1px solid #1f3656;border-radius:10px;background:#071222}.controls h3{margin-top:4px}.panel-head h3{margin-bottom:0}@media(max-width:1250px){.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}.result{min-height:150px}}@media(max-width:700px){.chart-panel:first-of-type canvas{height:230px!important}.chart-panel:nth-of-type(2) canvas{height:210px!important}}


/* v14: fixed chart viewport to stop Chart.js hover/responsive resize loop */
.chart-panel{overflow:hidden;position:relative}
.chart-shell{position:relative;width:100%;overflow:hidden;border-radius:12px}
.price-shell{height:330px;min-height:330px;max-height:330px}
.pnl-shell{height:230px;min-height:230px;max-height:230px}
.chart-shell canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;max-width:100%;max-height:100%}
.chart-performance canvas{pointer-events:none}
@media(max-width:700px){.price-shell{height:230px;min-height:230px;max-height:230px}.pnl-shell{height:210px;min-height:210px;max-height:210px}}

/* v17: clean header and restored price chart hover detail */
.rvlp .logo{display:none}
.rvlp .brand.no-logo p{max-width:540px}
.rvlp .chart-price{min-height:405px}
.rvlp .chart-price .panel-head{margin-bottom:14px}
.rvlp .chart-price canvas{cursor:crosshair}
@media(max-width:700px){.price-shell{height:260px;min-height:260px;max-height:260px}.rvlp .chart-price{min-height:320px}}

.rvlp button:disabled{opacity:.58;cursor:not-allowed;filter:saturate(.6)}
.rvlp-busy .rvlp{cursor:progress}
.rvlp input.field-error,.rvlp select.field-error{border-color:#ff5a8a!important;box-shadow:0 0 0 2px rgba(255,90,138,.15)}
/* v20: avisos úteis em lista compacta */
.warn-list{margin:6px 0 0 0;padding-left:16px;color:#d9e6ff;line-height:1.45}
.warn-list li{margin:3px 0;font-size:12px}


/* v21: sidebar field order + larger Price vs Faixas */
.rvlp-grid{grid-template-columns:minmax(330px,350px) 1fr}
.rvlp .controls .row{align-items:start}
.rvlp .controls select,.rvlp .controls input{min-height:40px}
.rvlp .controls label{min-width:0}
.rvlp .controls .secondary-controls{margin-top:2px}
.rvlp .controls .period-row{grid-template-columns:1fr 1fr;margin-top:-2px}
.rvlp .advanced{margin-top:8px}
.rvlp .chart-price{min-height:485px}
.rvlp .price-shell{height:405px;min-height:405px;max-height:405px}
.rvlp .chart-price .panel-head{margin-bottom:16px}
.rvlp .chart-price h3{font-size:14px}
@media(max-width:950px){.rvlp-grid{grid-template-columns:1fr}.rvlp .price-shell{height:330px;min-height:330px;max-height:330px}.rvlp .chart-price{min-height:400px}}
@media(max-width:700px){.rvlp .controls .period-row{grid-template-columns:1fr}.rvlp .price-shell{height:285px;min-height:285px;max-height:285px}.rvlp .chart-price{min-height:350px}}


/* v22: fix chart flattening and give Price vs Faixas more breathing room */
.rvlp .chart-price{min-height:560px}
.rvlp .price-shell{height:470px;min-height:470px;max-height:470px}
.rvlp .chart-price .panel-head{margin-bottom:18px}
.rvlp .chart-price canvas{image-rendering:auto}
@media(max-width:950px){.rvlp .price-shell{height:380px;min-height:380px;max-height:380px}.rvlp .chart-price{min-height:450px}}
@media(max-width:700px){.rvlp .price-shell{height:310px;min-height:310px;max-height:310px}.rvlp .chart-price{min-height:380px}}

/* v23: chart extension final — same visual structure as reference screenshots */
.rvlp .main-col{gap:16px}
.rvlp .chart-panel{padding:16px 18px 18px;overflow:hidden}
.rvlp .chart-panel .panel-head{margin-bottom:12px;min-height:24px}
.rvlp .chart-panel .panel-head h3{font-size:14px;line-height:1.1;margin:0;color:#a778ff}
.rvlp .chart-panel .panel-head span{font-size:12px;color:#9fb1cd;white-space:nowrap}
.rvlp .chart-price{min-height:auto;height:auto}
.rvlp .price-shell{height:430px;min-height:430px;max-height:430px;width:100%;background:linear-gradient(180deg,rgba(8,20,36,.35),rgba(7,16,31,.12));border-radius:12px}
.rvlp .chart-performance{min-height:auto;height:auto}
.rvlp .pnl-shell{height:310px;min-height:310px;max-height:310px;width:100%;background:linear-gradient(180deg,rgba(8,20,36,.35),rgba(7,16,31,.12));border-radius:12px}
.rvlp .chart-shell canvas{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important}
@media(max-width:950px){.rvlp .price-shell{height:360px;min-height:360px;max-height:360px}.rvlp .pnl-shell{height:280px;min-height:280px;max-height:280px}}
@media(max-width:700px){.rvlp .price-shell{height:300px;min-height:300px;max-height:300px}.rvlp .pnl-shell{height:240px;min-height:240px;max-height:240px}}


/* v25: safe full-width wrapper for visitor mode
   Keeps the app centered and prevents the theme container from squeezing it. */
.rvlp-bleed{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:0 16px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  box-sizing:border-box;
  overflow-x:hidden;
}
.rvlp-bleed .rvlp{
  width:min(1180px, 100%);
  max-width:1180px;
  margin:0 auto;
  transform:none!important;
  box-sizing:border-box;
}
.rvlp-bleed .rvlp-grid{
  width:100%;
  min-width:0;
  grid-template-columns:minmax(330px,350px) minmax(0,1fr);
}
.rvlp-bleed .main-col,
.rvlp-bleed .panel,
.rvlp-bleed .chart-panel,
.rvlp-bleed .chart-shell{
  min-width:0;
}
@media(max-width:980px){
  .rvlp-bleed{padding:0 10px;}
  .rvlp-bleed .rvlp-grid{grid-template-columns:1fr;}
}
@media(max-width:700px){
  .rvlp-bleed{padding:0 8px;}
}
