.qbn-estimator-page{
  --navy:#0A2540; --ink:#12263F; --blue:#0B6BCB; --blue-d:#084E98;
  --green:#06663F; --green-l:#E6F6EF; --green-d:#064E3B;
  --amber:#F59E0B; --amber-l:#FEF3DD; --amber-d:#B45309;
  --red:#E11D48; --red-l:#FCE7EC;
  --slate:#334155; --cloud:#F5F8FC; --cloud2:#EEF3F9; --line:#E2E8F2;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
.qbn-estimator-page *{margin:0;padding:0;box-sizing:border-box}
.qbn-estimator-page{font-family:"Inter",-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);
  background:var(--cloud);line-height:1.55;-webkit-font-smoothing:antialiased;padding:40px 20px}
.qbn-estimator-page .card{max-width:1080px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:12px;box-shadow:0 14px 36px -22px rgba(10,37,64,.35);overflow:hidden}
.qbn-estimator-page .head{padding:28px 34px 22px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff 0%,var(--cloud) 100%)}
.qbn-estimator-page .guardmark{display:inline-flex;font-weight:700;color:var(--green-d);background:var(--green-l);
  padding:5px 12px;border-radius:30px;font-size:12.5px;margin-bottom:10px}
.qbn-estimator-page h1{font-size:26px;font-weight:800;color:var(--navy);letter-spacing:-.01em;line-height:1.2}
.qbn-estimator-page .head p{font-size:14px;color:var(--slate);margin-top:6px;max-width:74ch}
.qbn-estimator-page ..qbn-estimator-page{display:grid;grid-template-columns:1.05fr .95fr}
.qbn-estimator-page .qcol{padding:26px 34px;border-right:1px solid var(--line)}
.qbn-estimator-page .rcol{padding:26px 34px;background:var(--cloud)}
.qbn-estimator-page h2{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--blue);margin:24px 0 10px}
.qbn-estimator-page h2:first-child{margin-top:0}
.qbn-estimator-page .q{margin-bottom:14px}
.qbn-estimator-page .q label.t{display:block;font-size:14px;font-weight:600;color:var(--navy);margin-bottom:6px}
.qbn-estimator-page .q .why{font-size:12px;color:var(--slate);margin-top:5px;max-width:56ch}
.qbn-estimator-page select,
.qbn-estimator-page input[type=number]{font-family:var(--mono);font-size:13px;color:var(--ink);
  border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:#fff;transition:.15s}
.qbn-estimator-page select:focus,
.qbn-estimator-page input:focus{border-color:var(--blue);outline:none}
.qbn-estimator-page input[type=number]{width:92px}
.qbn-estimator-page input[type=checkbox]{width:15px;height:15px;accent-color:var(--blue)}
.qbn-estimator-page .ents{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}
.qbn-estimator-page .ents label{font-size:13.5px;display:flex;gap:8px;align-items:center;padding:4px 0}
.qbn-estimator-page .ents .fc{font-family:var(--mono);font-size:11px;color:var(--slate)}
.qbn-estimator-page .roles .rrow{display:grid;grid-template-columns:1fr 92px;gap:10px;align-items:center;
  padding:7px 0;border-bottom:1px solid #F0F3F8}
.qbn-estimator-page .roles .rrow .n{font-size:13.5px;font-weight:600;color:var(--navy)}
.qbn-estimator-page .roles .rrow .d{font-size:11.5px;color:var(--slate);font-weight:400}
.qbn-estimator-page .follow{border-left:3px solid var(--blue);background:var(--cloud);border-radius:0 8px 8px 0;
  padding:12px 16px;margin:10px 0 16px;display:none}
.qbn-estimator-page .follow.on{display:block}
.qbn-estimator-page .assume{border:1px solid var(--line);border-radius:10px;margin-top:20px}
.qbn-estimator-page .assume summary{list-style:none;cursor:pointer;padding:12px 16px;font-size:13px;
  font-weight:700;color:var(--navy);display:flex;justify-content:space-between}
.qbn-estimator-page .assume summary:hover{background:var(--cloud)}
.qbn-estimator-page .assume .grid2{display:grid;grid-template-columns:1fr 92px;gap:8px 12px;
  padding:6px 16px 16px;align-items:center}
.qbn-estimator-page .assume .grid2 .al{font-size:12.5px}
.qbn-estimator-page .assume .grid2 .al b{color:var(--navy)}
.qbn-estimator-page .assume .grid2 .al .r{display:block;font-size:11px;color:var(--slate)}
.qbn-estimator-page .banner{background:var(--amber-l);border:1px solid #F1DCAF;border-radius:10px;
  padding:12px 16px;font-size:12.5px;margin-top:20px;max-width:100%}
.qbn-estimator-page .banner b{color:var(--navy)}

/* results */
.qbn-estimator-page .big{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.qbn-estimator-page .kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.qbn-estimator-page .kpi .v{font-family:var(--mono);font-size:36px;font-weight:700;color:var(--navy)}
.qbn-estimator-page .kpi .v span{font-size:16px;color:var(--slate);font-weight:600}
.qbn-estimator-page .kpi .l{font-size:12.5px;font-weight:600;color:var(--slate)}
.qbn-estimator-page .phases{margin-top:18px}
.qbn-estimator-page .ph{display:grid;grid-template-columns:120px 1fr 76px 86px;gap:10px;align-items:center;
  padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.qbn-estimator-page .ph.hd{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--slate);border-bottom:2px solid var(--navy)}
.qbn-estimator-page .ph .pn{font-weight:700;color:var(--navy)}
.qbn-estimator-page .ph .bar{height:9px;background:var(--cloud2);border-radius:5px;overflow:hidden}
.qbn-estimator-page .ph .bar i{display:block;height:100%;background:var(--blue)}
.qbn-estimator-page .ph .bar i.crit{background:var(--amber)}
.qbn-estimator-page .ph .hv,
.qbn-estimator-page .ph .wv{font-family:var(--mono);font-size:12.5px;text-align:right}
.qbn-estimator-page .critnote{font-size:12.5px;color:var(--amber-d);font-weight:600;margin-top:10px}
.qbn-estimator-page .critnote.okc{color:var(--green-d)}
.qbn-estimator-page .trace{margin-top:18px;border:1px solid var(--line);border-radius:10px;background:#fff}
.qbn-estimator-page .trace summary{list-style:none;cursor:pointer;padding:12px 16px;font-size:13px;font-weight:700;color:var(--navy)}
.qbn-estimator-page .trace pre{font-family:var(--mono);font-size:11.5px;line-height:1.7;color:var(--ink);
  padding:0 16px 16px;white-space:pre-wrap}
.qbn-estimator-page .foot{padding:16px 34px;border-top:1px solid var(--line);font-size:11.5px;color:var(--slate)}
@media (max-width:860px){.qbn-estimator-page ..qbn-estimator-page{grid-template-columns:1fr}.qbn-estimator-page .qcol{border-right:none;border-bottom:1px solid var(--line)}}
.qbn-estimator-page :focus-visible{outline:2px solid var(--blue);outline-offset:2px}
