:root{--accent:#0F5C6E;--accent-d:#0A4553;--ink:#12212B;--muted:#55656C;--soft:#33454D;--line:#E3EBEC;--line2:#CFDADC;--tint:#EEF4F5;--bg2:#F4F8F8;--mono:"JetBrains Mono",ui-monospace,Consolas,monospace}
*{box-sizing:border-box}
body{margin:0;font-family:Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg2);-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
a:hover{color:var(--accent-d)}
:focus-visible{outline:3px solid rgba(15,92,110,.45);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;min-height:44px;font-weight:700;font-size:17px}
.brand:hover{color:var(--ink)}
.back{display:inline-flex;align-items:center;gap:4px;height:44px;padding:0 8px;color:var(--soft);text-decoration:none;font-weight:600;font-size:15px;border-radius:10px}
.back:hover{background:var(--tint);color:var(--ink)}
main{padding:28px 0 40px}
.title-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px}
.kicker{font-size:14px;font-weight:600;color:var(--muted)}
h1{margin:2px 0 0;font-weight:700;font-size:clamp(30px,3.4vw,40px);line-height:1.08;letter-spacing:-.02em}
.title-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:10px;border:0;background:var(--accent);color:#fff;text-decoration:none;font:600 15px Figtree,sans-serif;cursor:pointer}
.btn:hover{background:var(--accent-d);color:#fff}
.btn-line{background:#fff;color:var(--soft);border:1px solid var(--line2)}
.btn-line:hover{background:var(--tint);color:var(--ink)}
.paper-cta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.paper-hint{font-size:14px;color:var(--muted)}
.btn-paper{color:var(--accent);border-color:#B9D3D8}
.btn-paper:hover{color:var(--accent-d)}
body.marked .paper-cta{display:none}
@media (max-width:980px){body.marked .paper-cta{display:inline-flex;visibility:hidden}}
.btn-text{background:transparent;color:var(--muted)}
.btn-text:hover{background:var(--tint);color:var(--ink)}
.layout{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px;align-items:flex-start}
.items{flex:999 1 600px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:4px 24px}
.grp{margin:18px 0 0;padding-bottom:6px;font-size:13px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line)}
.item{display:flex;flex-wrap:wrap;gap:10px 20px;padding:14px 0;border-bottom:1px solid #EDF2F3;align-items:center}
.item .lbl{flex:1 1 260px;min-width:0}
.item h2{margin:0;font-size:16px;font-weight:700;line-height:1.3}
.item p{margin:2px 0 0;font-size:13px;color:var(--muted);line-height:1.35}
.opts{flex:2 1 360px;min-width:0;display:flex;flex-wrap:wrap;gap:6px}
.opts.yn{flex:0 0 auto}
.opt{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--line2);background:#fff;color:var(--ink);font:500 14px Figtree,sans-serif;cursor:pointer;text-align:left}
.opt b{font:600 13px var(--mono)}
.opts.yn .opt{min-width:72px;justify-content:center}
.opt:hover{border-color:var(--accent)}
.opt[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.opts.yn .opt[data-val="0"][aria-pressed="true"]{background:#E6F1F2;color:var(--accent);border-color:var(--accent)}
.note{margin:14px 0 16px;font-size:13px;line-height:1.45;color:var(--muted)}
.ref{margin:18px 0 0;font-size:13px;color:var(--muted)}
aside{flex:1 1 360px;min-width:0;position:sticky;top:16px;display:flex;flex-direction:column;gap:14px}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 22px;display:flex;flex-direction:column;gap:10px}
.panel h3{margin:0;font-size:15px;font-weight:700}
.meta{font-size:13px;font-weight:600;color:var(--muted)}
.total-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}
.total{font-weight:700;font-size:60px;line-height:.95;letter-spacing:-.03em}
.total.txt{font-size:32px;line-height:1.1}
.band{display:inline-flex;align-items:center;min-height:30px;padding:3px 12px;border-radius:999px;font-weight:600;font-size:14px;background:#EEF2F3;color:var(--soft)}
.rtext{margin:0;font-size:15px;line-height:1.45}
.rextra{margin:0;font-size:13px;color:var(--muted)}
.bands{display:flex;flex-direction:column;gap:4px}
.bandrow{display:flex;gap:10px;align-items:baseline;padding:6px 10px;border-radius:8px;font-size:14px}
.bandrow b{flex:0 0 auto;min-width:64px;font-weight:700;color:var(--soft)}
.bandrow.on{background:#E6F1F2;box-shadow:inset 3px 0 0 var(--accent)}
.hint{font-size:13px;line-height:1.4;color:var(--muted)}
.seg-label{font-size:12px;font-weight:600;color:var(--muted)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line2);background:#fff;color:var(--soft);font:600 13px Figtree,sans-serif;cursor:pointer}
.seg button:hover{border-color:var(--accent)}
.seg button[aria-pressed="true"]{background:#E6F1F2;color:var(--accent);border-color:var(--accent)}
.preview{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:500 12.5px/1.6 var(--mono);color:var(--ink);white-space:pre-wrap;max-height:300px;overflow-y:auto;margin:0}
.mbar{display:none}
footer{border-top:1px solid var(--line);padding:20px 0 36px;font-size:14px;color:var(--muted);background:#fff}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* kit */
.kit-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:8px;margin-top:16px}
.kit-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-height:56px;cursor:pointer}
.kit-item input{width:20px;height:20px;accent-color:var(--accent)}
.kit-item span{display:flex;flex-direction:column}
.kit-item small{color:var(--muted);font-size:13px}
.kit-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px}
@media (max-width:980px){
  aside{position:static}
  .mbar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:5;background:#fff;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .mbar .total{font-size:30px}
  .mbar .band{min-height:26px;font-size:13px}
  .mbar .btn{margin-left:auto}
  body.score{padding-bottom:76px}
  .items{padding:4px 16px}
}

/* ---------- ficha para impressão ---------- */
#ficha{display:none}
@media print{
  @page{size:A4;margin:12mm}
  html,body{background:#fff!important}
  body{padding:0!important}
  .site-header,main,footer,.mbar{display:none!important}
  #ficha{display:block;font-family:Figtree,Arial,sans-serif;color:#12212B;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.fpage{break-after:page;page-break-after:always}
.fpage:last-child{break-after:auto;page-break-after:auto}
.fhead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:8px;border-bottom:2px solid #0F5C6E}
.fbrand{font-weight:700;font-size:9pt;color:#0F5C6E}
.fhead h1{margin:3px 0 0;font-size:18pt;line-height:1.05}
.fhead p{margin:4px 0 0;font-size:8.5pt;color:#55656C}
.fres{display:flex;align-items:center;gap:10px;border:1px solid #CFDADC;border-radius:8px;padding:5px 10px;background:#F4F8F8}
.fres span{display:flex;flex-direction:column;font-size:7.5pt;font-weight:600;color:#55656C;letter-spacing:.03em}
.fres span b{font-size:10pt;color:#12212B;letter-spacing:0}
.fres strong{font-size:20pt;line-height:1}
.ffields{display:grid;grid-template-columns:2.4fr .6fr 1fr 1.2fr;gap:10px;margin:10px 0}
.ffields div{font-size:7.5pt;font-weight:600;color:#55656C;letter-spacing:.03em;border-bottom:1px solid #12212B;padding-bottom:14px}
.ftable{width:100%;border-collapse:collapse;font-size:8.5pt;border:1px solid #CFDADC}
.ftable th{background:#EEF4F5;font-weight:700;text-align:left;padding:4px 6px;font-size:7.5pt}
.ftable td{border-top:1px solid #E3EBEC;padding:4px 6px;vertical-align:top}
.ftable td.fd{width:38%}
.ftable td.fd b{font-size:9pt}
.ftable td.fd small{display:block;font-size:7pt;color:#55656C}
.ftable td.fp{width:48px;text-align:center;font-weight:700;font-size:10pt;vertical-align:middle}
.ftable tr.fg td{background:#F4F8F8;font-weight:700;font-size:7.5pt;color:#0F5C6E;text-transform:uppercase;letter-spacing:.04em}
.ftable tr.ftot td{background:#F4F8F8;font-weight:700;font-size:10pt}
.fo{display:inline-flex;align-items:center;gap:4px;margin:1px 10px 1px 0;font-size:8pt;white-space:nowrap}
.fo i{display:inline-block;width:9px;height:9px;border:1px solid #12212B;border-radius:2px}
.fo.on i{background:#0F5C6E;border-color:#0F5C6E}
.fo.on{font-weight:700}
.fo b{font-weight:600;color:#55656C}
.fbands{margin-top:10px;display:flex;flex-wrap:wrap;gap:4px}
.fbt{width:100%;font-size:7.5pt;font-weight:700;color:#55656C;letter-spacing:.04em;text-transform:uppercase}
.fb{font-size:8pt;padding:3px 8px;border:1px solid #CFDADC;border-radius:4px}
.fb.on{background:#E3F0F1;border-color:#0F5C6E;font-weight:700}
.fconduta{margin:8px 0 0;font-size:9pt}
.fsign{display:grid;grid-template-columns:2fr 1fr 2fr;gap:12px;margin-top:18px}
.fsign div{font-size:7.5pt;font-weight:600;color:#55656C;letter-spacing:.03em;border-bottom:1px solid #12212B;padding-bottom:16px}
.ffoot{display:flex;justify-content:space-between;gap:16px;margin-top:10px;padding-top:5px;border-top:1px solid #E3EBEC;font-size:7pt;color:#55656C}
