:root{
  --bg:#f4f6f9; --card:#ffffff; --ink:#1c2430; --muted:#5b6774; --line:#dde3ea;
  --brand:#0b5fa5; --brand-2:#0e7bd1; --accent:#0d9488; --warn:#b45309; --bad:#b91c1c; --ok:#15803d;
  --z-press:#d9e8ff; --z-vrp1:#fff2cc; --z-vrp2:#fbd5d5; --z-vrp3:#e2f0d9; --z-vrp4:#ead1f7; --z-grav:#e6e0f8;
  --radius:12px; --shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.1);
  font-size:15px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif;line-height:1.45}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5rem}
h1{font-size:1.6rem} h2{font-size:1.3rem;color:var(--brand)} h3{font-size:1.05rem} h4{font-size:.95rem;color:var(--muted)}
p{margin:.35rem 0 .6rem}
a{color:var(--brand-2)}
small,.muted{color:var(--muted)}
code{background:#eef2f7;padding:.05em .35em;border-radius:4px;font-size:.9em}

.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.25rem;background:linear-gradient(90deg,#083b6b,#0b5fa5);color:#fff;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.7rem}
.drop{font-size:1.8rem}
.brand-title{font-weight:700}
.brand-sub{font-size:.8rem;opacity:.85}
.topbar-actions{display:flex;gap:.4rem;flex-wrap:wrap}

.steps{display:flex;gap:.35rem;padding:.6rem 1.25rem;background:#fff;border-bottom:1px solid var(--line);overflow-x:auto;position:sticky;top:0;z-index:5}
.steps button{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.4rem .8rem;cursor:pointer;font:inherit;font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:.4rem;white-space:nowrap}
.steps button .n{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:#eef2f7;font-weight:700;font-size:.75rem}
.steps button.active{background:var(--brand);border-color:var(--brand);color:#fff}
.steps button.active .n{background:#fff;color:var(--brand)}
.steps button.done .n{background:var(--ok);color:#fff}

.container{max-width:1280px;margin:0 auto;padding:1.2rem 1.25rem 3rem}
.footer{max-width:1280px;margin:0 auto;padding:1rem 1.25rem 2rem;color:var(--muted);font-size:.8rem}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.2rem;margin-bottom:1rem}
.card.tight{padding:.8rem 1rem}
.grid{display:grid;gap:1rem}
.grid.c2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.grid.c3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:end}
.field{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.field label{font-size:.8rem;color:var(--muted)}
.field input,.field select,.tbl input,.tbl select,textarea{font:inherit;padding:.4rem .5rem;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:0;color:var(--ink)}
.field input:focus,.tbl input:focus,.tbl select:focus{outline:2px solid #bfdbfe;border-color:var(--brand-2)}
.field .unit{font-size:.75rem;color:var(--muted)}
.field.w-sm{width:120px}.field.w-md{width:180px}.field.w-lg{width:260px}
.inline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}

.btn{font:inherit;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:.45rem .9rem;border-radius:8px;cursor:pointer}
.btn:hover{background:var(--brand-2)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.ghost.danger{border-color:#fecaca;color:#fecaca}
.btn.sec{background:#fff;color:var(--brand);border-color:var(--brand)}
.btn.sec:hover{background:#eef5fc}
.btn.sm{padding:.25rem .55rem;font-size:.8rem;border-radius:6px}
.btn.icon{padding:.2rem .45rem;font-size:.8rem;line-height:1}
.btn:disabled{opacity:.5;cursor:not-allowed}

.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.tbl{border-collapse:collapse;width:100%;font-size:.82rem}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:.3rem .4rem;text-align:right;white-space:nowrap;vertical-align:middle}
.tbl th{background:#f1f5f9;color:#334155;font-weight:600;position:sticky;top:0;text-align:center;font-size:.75rem}
.tbl td:first-child,.tbl th:first-child{text-align:left}
.tbl td.l{text-align:left}
.tbl td.c{text-align:center}
.tbl input{width:78px;text-align:right;padding:.2rem .3rem;font-size:.82rem}
.tbl input.w-lg{width:150px;text-align:left}
.tbl select{padding:.2rem .3rem;font-size:.82rem}
.tbl tr.z-Pressurizador td{background:var(--z-press)}
.tbl tr.z-VRP1 td{background:#fff2cc}
.tbl tr.z-VRP2 td{background:#fbd5d5}
.tbl tr.z-VRP3 td{background:#e2f0d9}
.tbl tr.z-VRP4 td{background:#ead1f7}
.tbl tr.z-VRP5 td{background:#d1f0f7}
.tbl tr.z-VRP6 td{background:#fde2c8}
.tbl tr.z-VRP7 td{background:#e5e7c8}
.tbl tr.z-VRP8 td{background:#f7d1e6}
.tbl tr.z-VRP9 td{background:#d7d9f7}
.tbl tr.z-VRP10 td{background:#c8f0e2}
.tbl tr.z-VRP11 td{background:#f0e8c8}
.tbl tr.z-VRP12 td{background:#e0d5c8}
.tbl tr.z-Gravidade td{background:var(--z-grav)}
.tbl td.calc{font-weight:600}
.tbl td.bad{background:#fecaca!important;color:#7f1d1d}
.tbl td.warn{background:#fde68a!important;color:#78350f}
.tbl td.ok{color:var(--ok);font-weight:700}
.tbl tfoot td{font-weight:700;background:#f8fafc}
.tbl .sub{font-size:.7rem;color:var(--muted);display:block}

.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:.5rem 0}
.kpi .k{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem}
.kpi .k .v{font-size:1.25rem;font-weight:700;color:var(--brand)}
.kpi .k .l{font-size:.75rem;color:var(--muted)}
.kpi .k.bad .v{color:var(--bad)} .kpi .k.ok .v{color:var(--ok)} .kpi .k.warn .v{color:var(--warn)}

.tag{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#e2e8f0;color:#334155}
.tag.ok{background:#dcfce7;color:#166534}.tag.bad{background:#fee2e2;color:#991b1b}.tag.warn{background:#fef3c7;color:#92400e}.tag.info{background:#dbeafe;color:#1e3a8a}

details.help{border:1px dashed #b6c5d6;border-radius:10px;padding:.5rem .8rem;margin:.6rem 0;background:#f8fbff}
details.help summary{cursor:pointer;font-weight:600;color:var(--brand)}
details.help .body{padding-top:.4rem;font-size:.9rem}
.formula{background:#eef2f7;border-left:3px solid var(--brand);padding:.4rem .7rem;margin:.4rem 0;font-family:"Cambria Math",Georgia,serif;font-size:.95rem;overflow-x:auto}
.formula b{font-weight:700}
.note{border-left:3px solid var(--accent);background:#ecfeff;padding:.4rem .7rem;border-radius:0 8px 8px 0;margin:.5rem 0;font-size:.88rem}
.note.warn{border-color:var(--warn);background:#fffbeb}
.note.bad{border-color:var(--bad);background:#fef2f2}
.callout{padding:.6rem .8rem;border-radius:8px;background:#f1f5f9;font-size:.9rem}

.lesson-list{list-style:none;padding:0;margin:0}
.lesson-list li{display:flex;align-items:center;gap:.6rem;padding:.4rem .2rem;border-bottom:1px solid var(--line)}
.lesson-list li:last-child{border-bottom:none}
.lesson-list .num{font-size:.75rem;color:var(--muted);width:4.5rem}
.lesson-list a{flex:1}
.lesson-list input{transform:scale(1.15)}
.progress{height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden}
.progress > div{height:100%;background:var(--ok)}

svg.draw{width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:10px}
svg text{font-family:system-ui,Segoe UI,Arial,sans-serif}
.legend{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.78rem;margin-top:.4rem}
.legend span::before{content:"";display:inline-block;width:.9rem;height:.9rem;border-radius:3px;margin-right:.3rem;vertical-align:-2px;background:var(--c)}

.step-nav{display:flex;justify-content:space-between;margin-top:1rem}
.rti-table td{font-size:.8rem}
.pump-card{border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;background:#fff;cursor:pointer}
.pump-card.sel{border-color:var(--brand);box-shadow:0 0 0 2px #bfdbfe}
.pump-card .m{font-weight:700}
.pump-card .s{font-size:.78rem;color:var(--muted)}

.report h2{border-bottom:2px solid var(--brand);padding-bottom:.2rem;margin-top:1.4rem}
.report .tbl{font-size:.78rem}
.report .cover{text-align:center;padding:2rem 0}
.report .cover h1{font-size:1.8rem}

@media print{
  .topbar,.steps,.footer,.step-nav,.no-print{display:none!important}
  body{background:#fff}
  .container{max-width:none;padding:0}
  .card{box-shadow:none;border:none;padding:0;margin:0 0 .8rem;break-inside:avoid}
  .report h2{break-after:avoid}
  .tbl-wrap{overflow:visible;border:none}
  .tbl{font-size:.7rem}
  .tbl th{position:static}
  svg.draw{border:none;max-height:95vh}
  .page-break{break-before:page}
  a{color:inherit;text-decoration:none}
}
@media (max-width:700px){
  .container{padding:.8rem}
  .card{padding:.8rem}
  .field.w-sm,.field.w-md,.field.w-lg{width:100%}
}
