/* Entrada Analítico + simulação. Reutiliza tokens CAD e o desenho das referências
   21st já incorporadas à cópia; nenhum recurso remoto. Carregar após repaginação.
   Analítico: cabeçalho + apresentação + lista de seleção compartilhada.
   Simulação: root > toolbar + layout(main,summary); editor-fields em editor.
   Os estados, números e textos vêm exclusivamente da implementação funcional. */
@media screen {
  .rv-analysis-hub,.rv-sim-root {
    width:100%;min-width:0;color:var(--ink,#1b2447);
    font-family:var(--font-sans,Inter,sans-serif);font-size:var(--app-font-size,13px);
  }
  .rv-analysis-layout {grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:48px;margin-top:30px}
  .rv-analysis-layout>.rv-welcome {min-height:280px;align-self:start}
  .rv-analysis-layout .rv-welcome h2 {font:600 clamp(30px,3vw,44px)/1.1 var(--font-display);letter-spacing:-.025em;margin:30px 0 18px;color:#fff}
  .rv-analysis-layout .rv-welcome h2 em {font-style:normal;color:#afc9e7}
  .rv-analysis-layout .rv-welcome p {max-width:40ch;margin-bottom:0}
  .rv-analysis-layout .cad-row-desc {font-size:12px!important;line-height:1.6}
  .rv-analysis-layout .cad-rolling-row {min-height:100px!important}

  .rv-sim-toolbar {display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding:19px 21px;margin-bottom:22px;background:var(--card,#fff);border:1px solid var(--line,#e0e4ed);border-radius:var(--r-2,10px)}
  .rv-sim-field,.rv-sim-toolbar>label {display:flex;flex-direction:column;gap:7px;min-width:135px;font-size:11px;font-weight:650;color:var(--ink-2,#43516c)}
  .rv-sim-field :is(input,select),.rv-sim-toolbar>label :is(input,select) {min-width:0;width:100%;min-height:40px;border:1px solid var(--line-strong,#cad2e0);border-radius:var(--r-1,8px);padding:9px 11px;background:var(--field-bg,var(--card,#fff));color:var(--ink,#1b2447);font:400 12px var(--font-sans,Inter,sans-serif)}
  .rv-sim-actions {display:flex;align-items:center;flex-wrap:wrap;gap:9px}
  .rv-sim-toolbar>.rv-sim-actions {margin-left:auto}
  .rv-sim-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border:1px solid var(--line-strong,#cad2e0);border-radius:var(--r-1,8px);background:var(--card,#fff);color:var(--ink,#1b2447);font:650 12px var(--font-sans,Inter,sans-serif);cursor:pointer}
  .rv-sim-button-primary {background:var(--accent,#d76a2b);border-color:var(--accent,#d76a2b);color:var(--accent-on,#fff)}
  .rv-sim-button:hover:not(:disabled) {box-shadow:inset 0 0 0 1px currentColor}
  .rv-sim-button:disabled {opacity:.5;cursor:not-allowed}
  .rv-sim-layout {display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
  .rv-sim-main {min-width:0}
  .rv-sim-summary {position:sticky;top:18px;min-width:0;padding:22px;background:var(--card,#fff);border:1px solid var(--line,#e0e4ed);border-top:3px solid var(--rv-orange,#e8773d);border-radius:var(--r-2,10px)}
  .rv-sim-summary h2,.rv-sim-summary h3 {font:650 23px/1.2 var(--font-display,'Baloo 2',sans-serif);margin:0 0 18px}
  .rv-sim-summary p {font-size:12px;line-height:1.65;color:var(--ink-2,#43516c);margin:12px 0 0}
  .rv-sim-metric {padding:15px 0;border-bottom:1px solid var(--line,#e0e4ed)}
  .rv-sim-metric:last-child {border-bottom:0}
  .rv-sim-metric :is(dt,small) {display:block;font-size:11px;color:var(--ink-3,#687389);line-height:1.5}
  .rv-sim-metric :is(dd,strong) {display:block;margin:7px 0 0;font-size:24px;font-weight:650;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
  .rv-sim-table-scroll {max-width:100%;min-width:0;overflow-x:auto;background:var(--card,#fff);border:1px solid var(--line,#e0e4ed);border-radius:var(--r-2,10px)}
  .rv-sim-table {width:100%;border-collapse:collapse;table-layout:auto;font-size:12px}
  .rv-sim-table th {padding:12px 13px;background:var(--card,#fff);border-bottom:2px solid var(--line-strong,#cad2e0);font-size:10px;font-weight:700;line-height:1.5;text-align:left;color:var(--ink-2,#43516c);vertical-align:bottom}
  .rv-sim-table td {padding:13px;border-bottom:1px solid var(--line,#e0e4ed);vertical-align:middle;line-height:1.5;color:var(--ink,#1b2447)}
  .rv-sim-table .rv-sim-name {width:35%;min-width:180px;white-space:normal;overflow-wrap:anywhere}
  .rv-sim-table .rv-sim-short {width:1%;white-space:nowrap;font-variant-numeric:tabular-nums}
  .rv-sim-table .rv-sim-number {text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
  .rv-sim-table input[type=checkbox] {accent-color:var(--accent,#d76a2b);width:16px;height:16px}
  .rv-sim-table tr[aria-selected=true]>td {background:color-mix(in srgb,var(--card,#fff) 92%,var(--accent,#d76a2b))}
  .rv-sim-editor {margin-top:16px;padding:20px;background:var(--paper,#f4f6fa);border:1px solid var(--line,#e0e4ed);border-radius:var(--r-2,10px)}
  tr.rv-sim-editor>td {padding:20px;background:var(--paper,#f4f6fa);border-left:3px solid var(--accent,#d76a2b)}
  .rv-sim-editor-fields {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:15px;margin:15px 0}
  .rv-sim-editor .rv-sim-field {min-width:0}
  .rv-sim-editor h3 {font-size:15px;margin:0 0 8px}
  .rv-sim-editor p,.rv-sim-empty {font-size:12px;line-height:1.7;color:var(--ink-2,#43516c)}
  .rv-sim-empty {padding:32px 22px;background:var(--card,#fff);border:1px dashed var(--line-strong,#cad2e0);border-radius:var(--r-2,10px)}
  .rv-sim-tag-original,.rv-sim-tag-simulated,.rv-sim-tag-difference {display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--line-strong,#cad2e0);border-radius:var(--r-1,6px);font-size:10px;font-weight:650;line-height:1.4;white-space:nowrap}
  .rv-sim-tag-original {background:var(--paper,#f4f6fa);color:var(--ink-2,#43516c)}
  .rv-sim-tag-simulated {background:color-mix(in srgb,var(--card,#fff) 90%,var(--accent,#d76a2b));color:var(--ink,#1b2447);border-color:var(--accent,#d76a2b)}
  .rv-sim-tag-difference {background:var(--card,#fff);color:var(--ink,#1b2447);border-style:dashed}
  .rv-analysis-hub :focus-visible,.rv-sim-root :focus-visible {outline:3px solid var(--accent,#d76a2b);outline-offset:3px}
  body[data-rv-corners=quadrado] :is(.rv-sim-toolbar,.rv-sim-summary,.rv-sim-table-scroll,.rv-sim-editor,.rv-sim-empty) {border-radius:2px}
}
@media screen and (max-width:1100px) {
  .rv-analysis-layout {grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:30px}
  .rv-sim-layout {grid-template-columns:minmax(0,1fr) 280px;gap:17px}
  .rv-sim-summary {padding:18px}
}
@media screen and (max-width:850px) {
  .rv-analysis-layout {grid-template-columns:minmax(0,1fr);gap:26px}
  .rv-analysis-layout>.rv-welcome {min-height:0;padding:24px}
  .rv-analysis-layout .rv-welcome h2 {margin-top:20px}

  .rv-sim-layout {grid-template-columns:minmax(0,1fr)}
  .rv-sim-summary {position:static}
  .rv-sim-toolbar>.rv-sim-actions {margin-left:0}
}
@media screen and (max-width:600px) {
  .rv-sim-toolbar {padding:16px;gap:13px}
  .rv-sim-toolbar>label {flex:1 1 130px;min-width:0}
  .rv-sim-toolbar>.rv-sim-actions {width:100%}
  .rv-sim-button {min-height:44px}
  .rv-sim-field :is(input,select),.rv-sim-toolbar>label :is(input,select) {min-height:44px;font-size:16px}
}
@media (prefers-reduced-motion:reduce) {
  .rv-analysis-hub *,.rv-sim-root * {scroll-behavior:auto!important}
}
@media screen {
  .rv-sim-notice {margin:18px 0;padding:14px 17px;border:1px solid var(--line-strong);border-left:3px solid var(--accent);border-radius:var(--r-2,10px);background:var(--card);font-size:12px;line-height:1.65;color:var(--ink-2)}
  .rv-sim-notice p {margin:7px 0 0}
  .rv-sim-notice.error {border-left-color:var(--red,#b42318);color:var(--red,#b42318)}
  .rv-sim-period-notes {margin-bottom:22px;border-bottom:1px solid var(--line);padding:0 0 16px;color:var(--ink-2);font-size:12px;line-height:1.7}
  .rv-sim-period-notes>summary {cursor:pointer;font-weight:650;min-height:36px;padding:6px 0}
  .rv-sim-section-head {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:24px 0 14px}
  .rv-sim-section-head>div {min-width:0}
  .rv-sim-section-head h2 {font:650 25px/1.25 var(--font-display);margin:7px 0;color:var(--ink);overflow-wrap:anywhere}
  .rv-sim-section-head h3 {margin:0;line-height:1.5}
  .rv-sim-section-head p {color:var(--ink-3);font-size:12px;margin:6px 0;line-height:1.6}
  .rv-sim-search {flex:1 1 200px}
  .rv-sim-root label.rv-sim-check {display:flex;align-items:center;flex-direction:row;gap:8px;min-width:0;min-height:40px;font-size:12px;line-height:1.5;white-space:normal;font-weight:500}
  .rv-sim-root .rv-sim-check input[type=checkbox] {width:17px;height:17px;min-height:17px;flex:0 0 17px;padding:0;margin:0;accent-color:var(--accent)}
  .rv-sim-therapy {border-top:1px solid var(--line-strong);padding-top:8px;margin-top:22px}
  .rv-sim-therapy>.rv-sim-field {max-width:280px;margin-bottom:15px}
  .rv-sim-therapy>.rv-sim-button {margin-top:10px}
  .rv-sim-days :is(input:not([type=checkbox]),select) {min-height:38px;padding:7px 8px;border:1px solid var(--line-strong);border-radius:var(--r-1,6px);background:var(--card);color:var(--ink);font:400 12px var(--font-sans);width:110px}
  .rv-sim-days input[type=number] {width:80px}
  .rv-sim-days select {width:130px}
  .rv-sim-editor input:disabled {opacity:.55;cursor:not-allowed}
  .rv-sim-table .rv-sim-name>small {display:block;font-size:11px;font-weight:400;color:var(--ink-3);margin-top:4px;line-height:1.45}
  .rv-sim-result-details>.rv-sim-editor {background:var(--card)}
  .rv-sim-editor>summary {cursor:pointer;line-height:1.6;min-height:36px}
  .rv-sim-editor>summary>span {display:block;margin:5px 0 0;font-size:11px;color:var(--ink-3)}
  .rv-sim-breakdown {border-top:1px solid var(--line-strong);margin-top:20px;padding-top:20px}
  .rv-sim-breakdown h4 {margin:18px 0 10px}
  .rv-sim-breakdown ul {font-size:12px;line-height:1.75;padding-left:20px;color:var(--ink-2)}
  .rv-sim-breakdown li {margin-bottom:4px}
}
@media screen and (max-width:600px) {
  .rv-sim-section-head {align-items:flex-start}
  .rv-sim-section-head h2 {font-size:23px}
  .rv-sim-period-notes>summary,.rv-sim-editor>summary {min-height:44px}
  .rv-sim-days :is(input:not([type=checkbox]),select) {min-height:44px;font-size:16px}
}
