.rx{--ok:#2fcf6f;--wr:#fab219;--bd:#ec6a5a}
html[data-theme="light"] .rx{--ok:#0b6e38;--wr:#7a5000;--bd:#b52f20}
.rx-back{color:var(--sky);font-weight:600;font-size:.8125rem}
.rx-hero{position:relative;padding:44px 0 28px;background:radial-gradient(900px 420px at 85% 0%,rgba(0,67,253,.14),transparent 60%),linear-gradient(180deg,var(--navy-deep),var(--navy))}
html[data-theme="light"] .rx-hero{background:radial-gradient(900px 420px at 85% 0%,rgba(0,67,253,.12),transparent 60%),linear-gradient(180deg,#F2F4F8,#E6EAF1)}
.rx-hero h1{font-size:clamp(2.1rem,7vw,3.6rem);margin:12px 0 14px}
.rx-demo{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.mini{min-height:44px;padding:0 16px;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--ink);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .2s}
.mini:hover{border-color:var(--sky)}
.mini:focus-visible{outline:3px solid var(--sky);outline-offset:2px}

.rx-live{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 14px}
.rx-k{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;min-width:0}
.rx-k:last-child{grid-column:1/-1}
.rx-k span{display:block;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rx-k b{display:block;font-family:var(--f-title);font-size:clamp(1.25rem,4.5vw,1.75rem);line-height:1.15;font-variant-numeric:tabular-nums}
.rx-k small{display:block;font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}
.rx-k.hot b{color:var(--bd)}

.rx-falt{margin:0 0 14px;padding:14px 16px;border-radius:18px;border:1px solid rgba(250,178,25,.45);background:linear-gradient(160deg,rgba(250,178,25,.1),rgba(15,22,38,.5));display:grid;gap:10px}
html[data-theme="light"] .rx-falt{background:linear-gradient(160deg,rgba(250,178,25,.16),#fff);border-color:rgba(154,101,0,.45)}
.rx-falt[hidden]{display:none}
.falt-h b{display:block;font-size:.9375rem}
.falt-h span{display:block;font-size:.8125rem;color:var(--muted)}
.falt-c{display:flex;flex-wrap:wrap;gap:8px}
.fchip{min-height:40px;padding:0 14px;border-radius:99px;border:1px solid rgba(250,178,25,.55);background:rgba(250,178,25,.1);color:var(--ink);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .2s}
.fchip:hover{background:rgba(250,178,25,.22)}
.fchip.more{border-style:dashed;background:none;color:var(--muted)}
.fchip:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
html[data-theme="light"] .fchip{background:#fff;border-color:rgba(154,101,0,.5)}

.rx-tabs{position:sticky;top:64px;z-index:20;display:flex;gap:6px;overflow-x:auto;padding:8px 2px;margin:0 0 16px;background:rgba(15,22,38,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);scrollbar-width:none}
html[data-theme="light"] .rx-tabs{background:rgba(244,247,255,.9)}
.rx-tab{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid transparent;background:none;color:var(--muted);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.rx-tab b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);font-family:var(--f-title);font-size:.75rem}
.rx-tab:hover{color:var(--ink)}
.rx-tab[aria-current="step"]{background:var(--blue);color:#fff}
.rx-tab[aria-current="step"] b{border-color:#fff}
.rx-tab:focus-visible{outline:3px solid var(--sky);outline-offset:2px}

.rx-body{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
.rx-in,.rx-out{display:grid;gap:14px;align-content:start;min-width:0}
.rx .card{display:grid;gap:12px;align-content:start;height:auto}
.rx .card h3{font-size:1.25rem}
.rx .sub{font-size:.875rem;color:var(--muted)}
.rx .sub b{color:var(--ink)}
.rx .hint{font-size:.75rem;color:var(--muted)}
.rx-mh{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.rx-g2{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.rx-f{display:grid;gap:4px;min-width:0}
.rx-l{font-size:.8125rem;color:var(--muted)}
.rx-iw{display:flex;align-items:center;gap:8px;background:var(--navy-deep);border:1px solid var(--line);border-radius:10px;padding:0 12px;min-height:48px}
.rx-iw:focus-within{border-color:var(--sky);box-shadow:0 0 0 3px rgba(0,67,253,.18)}
.rx-iw input{flex:1;min-width:0;background:none;border:0;color:var(--ink);font:inherit;font-size:1rem;min-height:44px;outline:0}
.rx-iw em{font-style:normal;font-size:.75rem;color:var(--muted)}
.rx-f small{font-size:.6875rem;color:var(--muted)}
.rx-f.pulse,.rx-yn.pulse,td.pulse,.rx-opt.pulse{animation:pulse 2.2s ease-out 1;border-radius:12px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(250,178,25,.85);background:rgba(250,178,25,.22)}40%{box-shadow:0 0 0 10px rgba(250,178,25,0)}100%{box-shadow:0 0 0 0 rgba(250,178,25,0);background:transparent}}

.tw{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.rx-tbl{width:100%;border-collapse:collapse;min-width:520px;font-size:.8125rem}
.rx-tbl th,.rx-tbl td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right}
.rx-tbl thead th{color:var(--sky);font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;position:sticky;top:0}
.rx-tbl tbody th{text-align:left;color:var(--muted);font-weight:600;white-space:nowrap}
.rx-tbl td input{width:100%;min-width:72px;min-height:44px;background:var(--navy-deep);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:0 8px;font:inherit;font-size:.875rem;text-align:right}
.rx-tbl td input:focus-visible{outline:3px solid var(--sky)}
.rx-tbl.out td,.rx-tbl.out th{text-align:left}
.rx-paste summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--sky);font-weight:600;font-size:.875rem}
.rx-paste textarea{width:100%;min-height:96px;background:var(--navy-deep);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;font-size:.8125rem;margin:8px 0}

.rx-yn{display:grid;gap:6px;padding:8px 0;border-top:1px solid var(--line)}
.rx-seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.rx-seg button{min-height:44px;padding:0 12px;background:none;border:0;color:var(--ink);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}
.rx-seg button+button{border-left:1px solid var(--line)}
.rx-seg button[aria-pressed="true"]{background:var(--blue);color:#fff}
.rx-seg button:focus-visible{outline:3px solid var(--sky);outline-offset:-3px}
.rx-chr{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--navy-deep);margin-bottom:10px}
.rx-chr .rx-iw{background:var(--card)}
.rx-chr .rx-yn{border-top:0;padding:0}

.rx-tiles{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.rx-t{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;min-width:0}
.rx-t span{display:block;font-size:.6875rem;color:var(--muted);line-height:1.25}
.rx-t b{display:block;font-family:var(--f-title);font-size:clamp(1.1rem,4vw,1.5rem);line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rx-t small{display:block;font-size:.6875rem;color:var(--muted)}
.rx-t.ok b{color:var(--ok)}.rx-t.bad b{color:var(--bd)}.rx-t.warn b{color:var(--wr)}
.na{font-size:.75rem;font-weight:600;color:var(--muted);border:1px dashed var(--line);border-radius:99px;padding:2px 9px;font-family:var(--f-body);display:inline-block}

.rx-bar{display:block;height:10px;border-radius:99px;background:rgba(148,163,194,.16);overflow:hidden;min-width:0}
html[data-theme="light"] .rx-bar{background:rgba(27,36,56,.1)}
.rx-bar i{display:block;height:100%;width:calc(var(--w,0)*1%);border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--sky));transition:width .8s cubic-bezier(.2,.8,.2,1)}
.rx-bar.hot i{background:linear-gradient(90deg,#d9402f,#ff8a7a)}
.rx-hb,.rx-fb{display:grid;gap:10px}
.rx-hb li,.rx-fb li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;font-size:.8125rem}
.rx-hb li .rx-bar,.rx-fb li .rx-bar{grid-column:1/-1;order:3}
.rx-hb li b,.rx-fb li b{font-family:var(--f-title);font-size:1rem;font-variant-numeric:tabular-nums}
.rx-fb li em{grid-column:1/-1;order:4;font-style:normal;font-size:.6875rem;color:var(--muted)}
.rx-fb li span:first-child,.rx-hb li span:first-child{font-weight:600}

.rx-gb{display:grid;gap:12px}
.rx-gb li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start}
.rx-gb .n{font-family:var(--f-title);color:var(--sky);font-size:1.25rem}
.rx-gb b{display:block;font-size:.9375rem}
.rx-gb small{display:block;font-size:.75rem;color:var(--muted);margin-bottom:6px}
.rx-gb strong{font-family:var(--f-title);font-size:1.0625rem;text-align:right;color:var(--bd);white-space:nowrap}
.rx-gb strong small{margin:0}
.rx-gb .nr{color:var(--muted);font-family:var(--f-body);font-weight:400;white-space:normal;max-width:90px;display:block}
.rx-gaps{display:grid;gap:6px}
.rx-gaps li{font-size:.8125rem;padding:8px 12px;border:1px dashed rgba(250,178,25,.5);border-radius:10px;background:rgba(250,178,25,.06)}
.rx-warn{font-size:.8125rem;padding:10px 12px;border:1px solid rgba(250,178,25,.55);border-radius:10px;background:rgba(250,178,25,.08)}

.rx-cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;align-items:end;height:190px;padding-top:6px}
.rx-col{display:grid;grid-template-rows:16px 1fr 18px;gap:2px;height:100%;min-width:0;text-align:center}
.rx-col i{align-self:end;width:100%;height:calc(var(--h,0)*1%);border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--sky),var(--blue));transition:height .8s cubic-bezier(.2,.8,.2,1);min-height:2px}
.rx-col.none i{background:none;border:1px dashed var(--line);height:30%;min-height:0}
.rx-col.best i{background:linear-gradient(180deg,#4ad892,#139a5f)}
.rx-col.worst i{background:linear-gradient(180deg,#ff8a7a,#d9402f)}
.rx-cv{font-size:.5625rem;color:var(--muted);overflow:hidden;white-space:nowrap}
.rx-cm{font-size:.625rem;color:var(--muted)}
.rx-leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.6875rem;color:var(--muted);align-items:center}
.rx-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}
.rx-leg .b{background:#139a5f}.rx-leg .w{background:#d9402f}.rx-leg .n{border:1px dashed var(--muted)}

.rx-pill{font-size:.6875rem;font-weight:600;padding:2px 9px;border-radius:99px;border:1px solid var(--line)}
.rx-pill.sim{color:var(--ok);border-color:var(--ok)}.rx-pill.parcial{color:var(--wr);border-color:var(--wr)}.rx-pill.nao{color:var(--bd);border-color:var(--bd)}
.rx-par{display:grid;gap:2px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:.875rem}
.rx-par b{font-size:1rem}
.rx-par span{color:var(--muted)}
.rx-par.ok{border-color:var(--ok)}.rx-par.warn{border-color:var(--wr)}.rx-par.bad{border-color:var(--bd)}
.rx-trio{display:grid;gap:8px}
.rx-trio li{font-size:.875rem;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--navy-deep)}
.rx-trio small{display:block;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sky)}

.rx-sum h3{font-size:clamp(1.25rem,4vw,1.75rem);line-height:1.25}
.rx-sum p{font-size:.9375rem}
.rx-pl{display:grid;gap:8px;counter-reset:p}
.rx-pl li{counter-increment:p;display:grid;grid-template-columns:28px minmax(0,1fr);font-weight:600}
.rx-pl li::before{content:counter(p);font-family:var(--f-title);color:var(--sky);font-size:1.25rem}
.rx-ck{display:grid;gap:8px}
.rx-ck li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start}
.rx-ck i{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);margin-top:2px}
.rx-ck .ok i{background:var(--ok);border-color:var(--ok)}
.rx-ck .parcial i{border-color:var(--wr);background:linear-gradient(90deg,var(--wr) 50%,transparent 50%)}
.rx-ck .falta i{border-color:var(--bd)}
.rx-ck b{font-size:.9375rem}
.rx-ck small{display:block;font-size:.75rem;color:var(--muted)}
.rx-act{display:flex;flex-wrap:wrap;gap:10px}
.rx-opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;margin-bottom:8px;min-height:48px}
.rx-opt:has(input:checked){border-color:var(--sky);background:rgba(0,67,253,.1)}
.rx-opt input{width:20px;height:20px;margin-top:2px;accent-color:var(--blue);flex:none}
.rx-opt small{display:block;font-size:.75rem;color:var(--muted)}
.rx-pr-head{display:none}

.rx-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 48px}
.rx-step{font-size:.75rem;color:var(--muted);text-align:center;flex:1}
.rx-nav .btn:disabled{opacity:.45;cursor:not-allowed}
.rx .foot img{display:block}

@media (min-width:640px){
  .rx-live{grid-template-columns:repeat(5,minmax(0,1fr))}.rx-k:last-child{grid-column:auto}
  .rx-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rx-chr{grid-template-columns:1.2fr .8fr .8fr auto;align-items:end}
  .rx-trio{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1100px){
  .rx-body{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}
  .rx-out{position:sticky;top:130px}
  .rx-chr{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  body[data-sec="devolutiva"] .rx-body{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
}
@media (max-width:420px){.rx-cols{height:170px}.rx-cv{display:none}}
@media (prefers-reduced-motion:reduce){.rx-bar i,.rx-col i{transition:none}.pulse{animation:none!important}}
@media print{
  :root,html[data-theme="dark"],html[data-theme="light"]{--navy-deep:#fff;--navy:#fff;--card:#fff;--ink:#1B2438;--muted:#5F6B82;--line:#dfe5f5;--sky:#0043FD;--ok:#0b6e38;--wr:#7a5000;--bd:#b52f20}
  body{background:#fff;color:#1B2438}
  .top,.rx-hero,.rx-live,.rx-falt,.rx-tabs,.rx-in,.rx-nav,.foot,.toast,.ds-grain,.ds-prog,.ds-thm,.rx-act,.skip{display:none!important}
  .rx-body{display:block}.rx-out{position:static;display:block}.rx-out>*{break-inside:avoid;margin-bottom:10px;box-shadow:none}
  .rx-pr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:10pt;color:#5F6B82}
  .rx-bar,.rx-col i,.rx-bar i{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .rx-bar{background:#eceff7}
}
.rx-tbl{min-width:430px}
.rx-tbl th,.rx-tbl td{padding:4px 5px}
.rx-tbl td input{min-width:54px;padding:0 6px}
.rx-tbl thead th{font-size:.625rem}
/* visualização da impressão na tela, só para conferência (?impressao=1) */
html.prn{--navy-deep:#fff;--navy:#fff;--card:#fff;--ink:#1B2438;--muted:#5F6B82;--line:#dfe5f5;--sky:#0043FD;--ok:#0b6e38;--wr:#7a5000;--bd:#b52f20}
html.prn body{background:#fff;color:#1B2438;width:794px;margin:0 auto}
html.prn .top,html.prn .rx-hero,html.prn .rx-live,html.prn .rx-falt,html.prn .rx-tabs,html.prn .rx-in,html.prn .rx-nav,html.prn .foot,html.prn .toast,html.prn .ds-grain,html.prn .ds-prog,html.prn .ds-thm,html.prn .rx-act,html.prn .skip{display:none!important}
html.prn .rx-body{display:block}html.prn .rx-out{position:static;display:block}html.prn .rx-out>*{margin-bottom:10px;box-shadow:none}
html.prn .rx-pr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:10pt;color:#5F6B82}

/* ===== auditoria: caixas que não deixam o conteúdo vazar ===== */
.rx-f,.rx-yn{grid-template-columns:minmax(0,1fr);min-width:0}
.rx-iw{min-width:0;width:100%}
.rx-iw input{width:100%;min-width:0}
.rx-iw em{flex:none}
.rx-seg{display:grid;width:100%;min-width:0}
.rx-seg button{min-width:0;padding:0 6px;line-height:1.15}
.rx-chr>*{min-width:0}
.rx-g2>*,.rx-tiles>*,.rx-live>*{min-width:0}
.rx-cv{font-size:.6875rem}
.rx-cm{font-size:.6875rem}
.rx-tbl thead th{font-size:.6875rem}
.rx-pill{font-size:.6875rem}
.rx .card,.rx .rx-t,.rx .rx-k{overflow-wrap:anywhere}
@media (min-width:1100px){.rx-chr{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

.rx-pr-foot{display:none}
@media print{.rx-pr-foot{display:block;margin-top:10px;padding-top:8px;border-top:1px solid #dfe5f5;font-size:7.5pt;color:#47567a}}
html.prn .rx-pr-foot{display:block;margin-top:10px;padding-top:8px;border-top:1px solid #dfe5f5;font-size:7.5pt;color:#47567a}
