
:root{--ink:#151c35;--muted:#566580;--blue:#004aac;--bg:#f4f7fd;--line:#dfe6f1;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.62 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
a{color:var(--blue);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
button,input{font:inherit}
button{cursor:pointer;border-radius:10px;border:1px solid var(--blue);background:var(--blue);color:#fff;font-weight:650;padding:11px 17px;min-height:44px;transition:filter .2s}
button:hover:not(:disabled){filter:brightness(1.14)}
button:disabled{opacity:.42;cursor:not-allowed}
button.secondary{background:#fff;color:var(--blue)}
:focus-visible{outline:3px solid #e39d25;outline-offset:3px}
.wrapper{width:min(1120px,calc(100% - 36px));margin-inline:auto}
.site-header{background:#070e35;padding:13px 0}
.site-header img{display:block;width:166px;height:auto;max-width:100%}
main{padding:22px 0 54px}
.crumbs{font-size:.88rem;color:var(--muted)}
.crumbs a{font-weight:600}
.hero{padding:30px 0 12px;max-width:940px}
.eyebrow{display:inline-flex;background:#dfeaff;color:#043c94;border-radius:100px;padding:4px 12px;font-size:.83rem;font-weight:800;letter-spacing:.025em}
h1{font-size:clamp(2rem,4.5vw,3.15rem);line-height:1.1;letter-spacing:-.035em;margin:17px 0 15px;color:#13214b}
h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.24;letter-spacing:-.025em;margin:0 0 12px}
h3{font-size:1.07rem;margin:0 0 7px}
.hero p{color:#475670;max-width:810px;font-size:1.08rem}
.hero-badges{display:flex;gap:9px;flex-wrap:wrap;font-size:.86rem;color:#37506e;font-weight:600}
.hero-badges span{border:1px solid #d1dced;background:#fff;border-radius:50px;padding:4px 12px}
.panel{background:#fff;border:1px solid var(--line);box-shadow:0 12px 34px rgba(22,43,94,.035);border-radius:19px;padding:clamp(17px,3.4vw,33px);margin:22px 0}
.section-desc,.muted,.fine{color:var(--muted)}
.fine{font-size:.9rem}
.topline{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.instructions{margin-top:8px;font-size:.95rem}
.cutoffs{display:flex;align-items:flex-end;gap:13px;flex-wrap:wrap;margin:20px 0}
.field{display:flex;flex-direction:column;gap:5px;font-weight:650;font-size:.91rem}
.field small{font-weight:400;color:var(--muted)}
.field input{max-width:130px}
input{background:#fff;border:1px solid #adbbd0;border-radius:9px;padding:10px 12px;min-height:43px;color:var(--ink);max-width:100%;width:100%}
input:focus{border-color:var(--blue)}
.input-scroll,.result-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:12px;scrollbar-color:#7f9bc7 #eef2fa}
.data-table{border-collapse:collapse;width:100%;font-size:.94rem}
.data-table th{background:#eef3fc;color:#213352;font-weight:800;text-align:left;white-space:nowrap}
.data-table td,.data-table th{padding:11px 12px;border-bottom:1px solid #e7edf5;vertical-align:middle}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table input[name=sku]{min-width:210px}
.data-table input[name=quantity]{min-width:125px}
.data-table input[name=cost]{min-width:130px}
.icon-btn{padding:9px 12px;min-height:42px;font-size:.83rem;background:#fff;color:#a22a3c;border-color:#f2bbc3}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0 3px}
.actions button{flex-shrink:0}
.actions .primary{box-shadow:0 5px 16px rgba(0,74,172,.19)}
.alert{border:1px solid #ecabb2;background:#fff0f1;color:#96223b;border-radius:11px;padding:13px 15px;margin-top:18px;font-weight:600}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:18px 0}
.stat{background:#f1f6ff;border:1px solid #e0e9f9;border-radius:13px;padding:15px;min-width:0}
.stat small{display:block;color:#415472;font-size:.85rem}
.stat strong{display:block;color:#123b78;font-size:clamp(1.06rem,2.5vw,1.5rem);overflow-wrap:anywhere}
.class-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:16px 0 22px}
.class-card{display:flex;flex-direction:column;border-radius:14px;padding:16px;border:1px solid #dfe7f3;gap:6px}
.class-card strong{font-size:1.05rem}
.class-card b{font-size:1.28rem;overflow-wrap:anywhere}
.class-card span{font-size:.86rem;color:#40506d}
.class-a{background:#e8f2ff}.class-b{background:#f3efff}.class-c{background:#fff7e9}
.meter-row{display:grid;grid-template-columns:135px minmax(0,1fr);align-items:center;gap:10px;margin:9px 0}
.meter-row span{font-weight:650;font-size:.9rem}
.meter{height:12px;background:#e8edf5;border-radius:30px;overflow:hidden}
.meter-fill{height:100%;border-radius:30px;min-width:0}
.fill-a{background:#175ec1}.fill-b{background:#8164cb}.fill-c{background:#cf9131}
.result-scroll table{min-width:800px}
.result-scroll td,.result-scroll th{padding:11px 9px}
.result-scroll td:nth-child(n+2):nth-child(-n+6){font-variant-numeric:tabular-nums;white-space:nowrap}
.class-label{font-weight:800}
.dormant-row{background:#fafafa;color:#69768d}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.info-grid article{padding:17px;border-radius:12px;background:#f5f8ff;border:1px solid #e3eaf5}
.info-grid p{margin:0;font-size:.94rem}
.step-list{padding-left:22px}
.step-list li{padding-left:5px;margin:8px 0}
.example-note{border-left:4px solid #004aac;background:#f4f8ff;padding:12px 15px;border-radius:0 9px 9px 0}
.cta{background:linear-gradient(115deg,#132f72,#004aac);color:#fff}
.cta h2,.cta p{color:#fff}
.cta a{display:inline-flex;border-radius:10px;background:#fff;color:#004aac;padding:10px 17px;text-decoration:none;font-weight:750}
.cta small{display:block;color:#d6e7ff;margin-top:13px;max-width:780px}
.footer-nav{margin:20px 0}
[hidden]{display:none!important}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.class-summary,.info-grid{grid-template-columns:1fr}.hero{padding-top:22px}}
@media(max-width:390px){.wrapper{width:calc(100% - 22px)}.site-header{padding:11px 0}.panel{padding:15px}.actions button{width:100%}.cutoffs{gap:10px}.meter-row{grid-template-columns:112px 1fr}.stats{gap:7px}.stat{padding:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button{transition:none}}
@media print{
  body{background:#fff;font-size:11pt}
  .site-header,.crumbs,.hero-badges,#abc-form,.actions,.cta,.footer-nav,footer,.info-panel{display:none!important}
  .wrapper{width:100%}
  .panel{box-shadow:none;border:0;margin:10px 0;padding:8px}
  #abc-output{display:block!important}
  .result-scroll{overflow:visible}
  .result-scroll table{min-width:0;font-size:9pt}
  .result-scroll td,.result-scroll th{white-space:normal!important;padding:5px!important}
  .class-summary{grid-template-columns:repeat(3,1fr)}
  .class-card{padding:7px}
  .meter-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
