:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#152235;background:#f3f6f8;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:#146278}.topbar{height:74px;background:#111d2d;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));border-bottom:3px solid #37c9bf}.brand{font-size:1.2rem;letter-spacing:-.045em;font-weight:700;display:flex;align-items:center;gap:5px}.brand strong{color:#5bd6cd}.brandmark{display:inline-flex;align-items:center;justify-content:center;border:2px solid #5bd6cd;color:#5bd6cd;border-radius:7px;width:28px;height:28px;margin-right:9px;font-size:17px;letter-spacing:0}.brandmark span{height:8px;width:3px;background:#5bd6cd;margin-left:2px}.beta{font-size:.83rem;letter-spacing:.02em;color:#c9d6df}main{max-width:1240px;margin:auto;padding:0 24px}.intro{padding:50px 0 37px;max-width:740px}.eyebrow{font-size:.76rem;letter-spacing:.17em;font-weight:800;color:#277f83}.intro h1{font-size:clamp(2.35rem,5vw,4.3rem);letter-spacing:-.065em;line-height:1.04;margin:14px 0 16px;color:#101e2c}.intro p{font-size:1.14rem;line-height:1.58;color:#526273;margin:0}.workspace{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(330px,1fr);gap:20px;align-items:start}.inputs{display:grid;gap:18px}.panel{background:white;border:1px solid #dce5ea;border-radius:16px;box-shadow:0 10px 35px rgba(19,43,58,.045);padding:26px}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.panelhead>div{display:flex;align-items:center;gap:11px}.step{color:#2a8b8b;font-size:.8rem;font-weight:800}.panel h2,.below h2,.sources h2{font-size:1.28rem;letter-spacing:-.03em;margin:0}.helper{color:#677586;line-height:1.5;font-size:.87rem;margin:0 0 19px}.helper:last-child{margin:17px 0 0}.quiet{border:1px solid #a2ccca;background:#eefaf9;color:#176f71;border-radius:9px;padding:9px 12px;font-weight:700;font-size:.83rem}.quiet:hover{background:#d6f2ef}.group{border:1px solid #dbe6e9;border-radius:12px;background:#fafcfd;padding:16px;margin-top:12px}.group-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.group-title strong{font-size:.9rem}.remove{border:0;background:transparent;color:#a54741;font-size:.8rem;font-weight:700}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:flex;flex-direction:column;gap:7px;color:#3e5162;font-weight:650;font-size:.83rem;line-height:1.3}input{min-width:0;width:100%;height:44px;border:1px solid #cbd8de;border-radius:8px;background:white;color:#102235;padding:9px 11px;outline:none}input:focus{border-color:#168f91;box-shadow:0 0 0 3px #c9eeeb}input:invalid{border-color:#b54740}.results{position:sticky;top:20px;background:#132638;color:white;border-color:#132638;padding:26px}.resultstop{display:flex;justify-content:space-between;align-items:center;gap:8px}.results .eyebrow{color:#68d8d1}.verdict{font-size:.75rem;font-weight:800;border-radius:999px;padding:7px 10px;white-space:nowrap}.verdict.good{background:#21584f;color:#99f2d9}.verdict.bad{background:#593b37;color:#ffb1a8}.verdict.neutral{background:#395363;color:#d4e4ed}.summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:24px 0;border-bottom:1px solid #355064}.metric{background:#1d3548;border-radius:10px;padding:16px 14px}.metric strong{display:block;font-size:1.65rem;letter-spacing:-.05em;line-height:1.15}.metric span{color:#b4c8d2;font-size:.79rem;line-height:1.4}.results h2{margin:24px 0 12px;font-size:1rem;color:#e8f3f6}.checks{display:grid;gap:8px}.check{border:1px solid #3d5564;border-radius:10px;padding:11px 12px;display:flex;gap:10px;line-height:1.35;font-size:.83rem}.check i{font-style:normal;font-weight:900}.check.pass i{color:#78e4c1}.check.fail{border-color:#a36a64;background:#412f35}.check.fail i{color:#ffb0a6}.check small{display:block;color:#bad0d8;font-size:.76rem;margin-top:3px}.errors{color:#ffaea5;font-size:.83rem;line-height:1.4}.print{width:100%;margin-top:22px;border:0;background:#58d4c9;color:#0a2833;border-radius:9px;padding:13px;font-weight:800}.print:hover{background:#8ce9dc}.footnote{color:#a8bfca;font-size:.76rem;line-height:1.48;margin:18px 0 0}.below{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:70px 0 45px;padding:36px 0;border-top:1px solid #d6e0e5;border-bottom:1px solid #d6e0e5}.below h2{font-size:1.9rem;margin:12px 0}.below p,.sources p{line-height:1.6;color:#556678}.formula{display:grid;gap:9px}.formula div{padding:15px 19px;background:#e6eeef;border-radius:9px;display:flex;justify-content:space-between;gap:10px}.formula span{font-size:.84rem;color:#527079;font-weight:700}.formula strong{font-size:.85rem;text-align:right}.sources{max-width:850px;margin:0 0 70px}.sources p{font-size:.9rem}footer{background:#111d2d;color:#a4b9c7;display:flex;justify-content:space-between;align-items:center;padding:26px max(24px,calc((100vw - 1240px)/2));font-size:.78rem}.brand.small{font-size:1rem;color:white}@media(max-width:900px){.workspace{grid-template-columns:1fr}.results{position:static}.intro{padding-top:37px}.below{gap:25px}}@media(max-width:580px){main{padding:0 14px}.topbar,footer{padding-left:14px;padding-right:14px}.beta{font-size:.69rem}.panel{padding:18px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.below{grid-template-columns:1fr;margin-top:42px}.formula div{display:block}.formula strong{display:block;text-align:left;margin-top:3px}.intro h1{font-size:2.35rem}}@media print{body{background:white}.topbar,.intro,.inputs,.below,.sources,footer,.print{display:none!important}main{padding:0}.workspace{display:block}.results{color:#111;background:#fff;border:0;box-shadow:none;padding:0}.results .eyebrow,.results h2,.metric span,.check small,.footnote{color:#333}.metric{background:#eee}.check,.check.fail{background:white;border-color:#bbb}.verdict.good,.verdict.bad{color:#111;background:#ddd}.results:before{content:'CamPlan Check — quote estimate';display:block;font-size:24px;font-weight:800;margin-bottom:20px}}
.print-assumptions{display:none}@media print{.print-assumptions{display:block;color:#222;margin-top:20px;border-top:1px solid #bbb}.print-assumptions p{font-size:13px;line-height:1.5}}
.pilot{display:grid;grid-template-columns:1.5fr .8fr;gap:38px;background:#dff2f0;border:1px solid #b9dfda;border-radius:16px;padding:36px;margin:0 0 50px}.pilot h2{font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.045em;line-height:1.13;margin:12px 0}.pilot p{line-height:1.55;color:#37515a;margin:0}.pilot-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.pilot-actions a{display:inline-flex;align-items:center;justify-content:center;padding:12px 15px;border-radius:9px;font-weight:750;font-size:.85rem;text-decoration:none}.pilot-primary{background:#123849;color:#fff}.pilot-primary:hover{background:#1f5968}.pilot-secondary{border:1px solid #709fa3;color:#174b59;background:#f2fbfa}.pilot-secondary:hover{background:white}.pilot-side{border-left:1px solid #a4cfca;padding-left:26px;color:#21424e}.pilot-side strong{font-size:.93rem}.pilot-side ol{padding-left:21px;line-height:1.5;color:#48646b;font-size:.88rem}.pilot-side li+li{margin-top:10px}@media(max-width:700px){.pilot{grid-template-columns:1fr;padding:24px;gap:21px}.pilot-side{border-left:0;border-top:1px solid #a4cfca;padding:19px 0 0}}@media print{.pilot{display:none!important}}
select{font:inherit;min-width:0;width:100%;height:44px;border:1px solid #cbd8de;border-radius:8px;background:#fff;color:#102235;padding:9px 11px}select:focus{outline:3px solid #c9eeeb;border-color:#168f91}.tool-suite{margin:70px 0 45px}.suite-head{max-width:760px;margin-bottom:23px}.suite-head h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.045em;margin:10px 0}.suite-head p{color:#526273;line-height:1.55;margin:0}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.utility{padding:25px}.utility-title{margin-bottom:10px}.utility-title h3{font-size:1.35rem;letter-spacing:-.03em;margin:7px 0 0}.utility-result{margin-top:20px;border-top:1px solid #dbe6e9;padding-top:15px;color:#385461}.utility-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.utility-metric{background:#edf5f6;padding:12px;border-radius:9px;min-width:0}.utility-metric.alert{background:#fff0ec;color:#912e25}.utility-metric span{display:block;font-size:.76rem;line-height:1.35}.utility-metric strong{display:block;font-size:1.1rem;margin-top:4px}.utility-result p,.caution{font-size:.8rem;line-height:1.5;color:#667987;margin:13px 0 0}.caution{color:#895848}@media(max-width:900px){.tool-grid{grid-template-columns:1fr}}@media(max-width:580px){.tool-suite{margin:45px 0}.utility{padding:18px}.utility .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.tool-suite{display:none!important}}
.tool-nav{display:flex;flex-wrap:wrap;gap:9px;padding-top:24px}.tool-nav a{font-size:.875rem;text-decoration:none;border:1px solid #cbdde2;padding:9px 12px;border-radius:8px;background:white}.tool-nav a:hover{background:#dff2f0}.intro.compact{padding:30px 0;max-width:900px}.intro.compact h1{font-size:clamp(2rem,4vw,3rem)}.topbar a.brand{text-decoration:none;color:#fff}footer a{color:#8de5dd}.sources{margin-top:30px}label{font-size:.875rem}@media print{.tool-nav{display:none!important}}
.breadcrumbs{margin-top:25px;font-size:.875rem;color:#536b78}.faq{max-width:850px;margin:40px 0 65px}.faq h2{font-size:1.5rem}.faq details{border-top:1px solid #cbdde2;padding:17px 0}.faq summary{font-weight:700;cursor:pointer;line-height:1.45}.faq p{color:#526273;line-height:1.6}footer{flex-wrap:wrap;gap:14px}