@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-ff2310f5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-875ccdd4.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-52306abf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-001175b1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-98bbbccb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-f6b33328.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-44e03052.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-0638449e.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-971fb274.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-44745446.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-013b2f2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-geist-sans:"Geist";--font-geist-mono:"Geist Mono";--bg:#06101d;--panel:#0d1c30;--panel-2:#10233a;--cyan:#22d3ee;--cyan-light:#9decf5;--text:#f5f7fa;--muted:#9cafc3;--line:#1d3850;--green:#49e77d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:var(--bg);font-family:var(--font-geist-sans), Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;margin:0}a{color:inherit;text-decoration:none}.shell{width:min(1480px,100% - 72px);margin-inline:auto}.hero{background:radial-gradient(circle at 76% 24%,#22d3ee17,#0000 32%),linear-gradient(#1f456226 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#1f456226 1px,#0000 1px) 0 0/48px 48px,linear-gradient(145deg,#050d18,#07111f 55%,#06101d);min-height:100vh;position:relative;overflow:hidden}.hero:after{content:"";opacity:.25;transform-origin:bottom;background-color:#0000;background-image:linear-gradient(#22d3ee47 1px,#0000 1px),linear-gradient(90deg,#22d3ee47 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:48%;position:absolute;inset:auto -5% -22%;transform:perspective(500px)rotateX(65deg)}.nav{z-index:5;grid-template-columns:1fr auto 1fr;align-items:center;gap:36px;min-height:92px;display:grid;position:relative}.brand{align-items:center;width:max-content;display:inline-flex}.brand-logo-image{object-fit:contain;filter:drop-shadow(0 0 12px #22d3ee21);width:245px;height:auto;display:block}.brand-mark-image{object-fit:contain;filter:drop-shadow(0 0 10px #22d3ee33);width:48px;height:auto;display:block}.nav-links{color:#c1ccda;gap:42px;font-size:15px;display:flex}.nav-links a{border-bottom:1px solid #0000;padding:12px 0;transition:all .18s}.nav-links a:hover,.nav-links a:focus-visible{color:#fff;border-color:var(--cyan)}.nav-actions{justify-self:end;align-items:center;gap:14px;display:flex}.admin-login{color:#b8c8d7;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #0000;align-items:center;min-height:44px;padding:0 4px;font-size:13px;font-weight:700;display:inline-flex}.admin-login:hover,.admin-login:focus-visible{color:#fff;border-color:var(--cyan);outline:none}.btn{border:1px solid var(--cyan);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:54px;padding:0 28px;font-family:inherit;font-weight:700;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex}.btn:hover,.btn:focus-visible{transform:translateY(-2px)}.btn:focus-visible,.nav-links a:focus-visible{outline:2px solid var(--cyan-light);outline-offset:4px}.btn-small{justify-self:end;min-height:46px;padding:0 22px;font-size:14px}.btn-outline{color:var(--cyan-light);background:#07111f8c}.btn-outline:hover{background:#22d3ee14}.btn-primary{color:#05111d;background:linear-gradient(135deg,#37e7f8,#13bee5);min-width:220px;box-shadow:0 0 32px #22d3ee2b}.btn-primary:hover{box-shadow:0 0 40px #22d3ee4d}.btn:disabled{cursor:wait;opacity:.72;transform:none}.access-dialog{width:min(720px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text);background:#081523;border:1px solid #9decf594;border-radius:20px;margin:auto;padding:0;overflow:auto;box-shadow:0 36px 120px #000000b3,0 0 55px #22d3ee17}.access-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#02080fd6}.dialog-panel{background:radial-gradient(circle at 100% 0,#22d3ee1f,#0000 34%),linear-gradient(#1f45621f 1px,#0000 1px) 0 0/36px 36px,linear-gradient(90deg,#1f45621f 1px,#0000 1px) 0 0/36px 36px;padding:46px;position:relative}.dialog-panel h2{letter-spacing:-.04em;max-width:560px;margin:0;font-size:clamp(34px,5vw,50px);line-height:1.08}.dialog-close{width:40px;height:40px;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:#050f1bbd;border-radius:50%;place-items:center;font:300 26px/1 inherit;display:grid;position:absolute;top:18px;right:18px}.dialog-close:hover,.dialog-close:focus-visible{color:#fff;border-color:var(--cyan);outline:none}.form-intro{color:var(--muted);margin:18px 0 0;line-height:1.6}.access-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px;display:grid}.access-form label{color:#dbe7ef;gap:8px;font-size:13px;font-weight:650;display:grid}.access-form label>span{color:var(--muted);font-size:11px;font-weight:500}.access-form input,.access-form textarea{color:#fff;resize:vertical;background:#040d18cc;border:1px solid #29465d;border-radius:9px;outline:none;width:100%;padding:14px 15px;font:500 15px/1.4 inherit}.access-form input::placeholder,.access-form textarea::placeholder{color:#6e8496}.access-form input:focus,.access-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #22d3ee1a}.form-wide,.form-submit,.form-note,.form-error{grid-column:1/-1}.form-submit{width:100%;margin-top:2px}.form-note{color:#71889b;text-align:center;margin:-7px 0 0;font-size:11px}.form-error{color:#ffb4b4;margin:0;font-size:13px;line-height:1.5}.form-error a{color:var(--cyan-light);text-decoration:underline}.form-honeypot{position:absolute!important;left:-9999px!important}.access-form select{color:#fff;cursor:pointer;background:#040d18cc;border:1px solid #29465d;border-radius:9px;outline:none;width:100%;padding:14px 15px;font:500 15px/1.4 inherit}.access-form select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #22d3ee1a}.access-form select:invalid{color:#6e8496}.access-form select option{color:#fff;background:#0d1c30}.access-form input[type=file]{cursor:pointer;padding:10px 12px}.access-form input[type=file]::file-selector-button{color:var(--cyan-light);cursor:pointer;background:#081828;border:1px solid #38627a;border-radius:7px;margin-right:12px;padding:8px 14px;font:650 13px/1 inherit}.access-form [aria-invalid=true]{border-color:#ff8f8f;box-shadow:0 0 0 3px #ff8f8f1a}.label-line{display:block}.label-line>span{color:var(--muted);margin-left:6px;font-size:11px;font-weight:500}.field-error{color:#ffb4b4;font-size:12px;font-style:normal;font-weight:500;line-height:1.4}.field-count{color:#71889b;font-size:11px;font-weight:500}.join-page{background:linear-gradient(145deg,#050d18,#07111f 55%,#06101d);flex-direction:column;min-height:100vh;display:flex}.join-page:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 76% 12%,#22d3ee17,#0000 34%),linear-gradient(#1f456226 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#1f456226 1px,#0000 1px) 0 0/48px 48px;position:fixed;inset:0}.join-page>*{z-index:1;position:relative}.join-content{flex:1;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:64px;padding:56px 0 96px;display:grid}.join-intro h1{font-size:clamp(38px,4vw,58px)}.join-card{background:#081523e0;border:1px solid #9decf552;border-radius:20px;padding:40px;box-shadow:0 30px 90px #00000073,0 0 50px #22d3ee0f}.join-card .access-form{margin-top:0}.join-card .form-success{min-height:360px}.footer-inner>div{text-align:center}.footer-link{color:var(--cyan-light);border-bottom:1px solid #0000;margin-top:10px;font-size:13px;font-weight:650;display:inline-block}.footer-link:hover,.footer-link:focus-visible{border-color:var(--cyan);outline:none}@media (width<=1180px){.join-content{grid-template-columns:1fr;gap:40px}}@media (width<=720px){.join-content{padding:32px 0 64px}.join-card{border-radius:16px;padding:26px 18px}.access-form input,.access-form select,.access-form textarea{font-size:16px}}.form-success{place-content:center;justify-items:start;min-height:430px;display:grid}.form-success>span{width:54px;height:54px;color:var(--green);border:1px solid var(--green);border-radius:50%;place-items:center;margin-bottom:28px;font-size:23px;display:grid}.form-success>p:not(.eyebrow){max-width:540px;color:var(--muted);margin:20px 0 28px;line-height:1.65}.hero-content{z-index:2;grid-template-columns:minmax(410px,.92fr) minmax(650px,1.48fr);align-items:center;gap:56px;min-height:calc(100vh - 92px);padding:58px 0 84px;display:grid;position:relative}.eyebrow{color:var(--cyan-light);letter-spacing:.2em;text-transform:uppercase;margin:0 0 22px;font-size:12px;font-weight:750}h1{letter-spacing:-.045em;max-width:650px;margin:0;font-size:clamp(52px,4.1vw,70px);line-height:1.07}.lede{max-width:590px;color:var(--muted);margin:30px 0 0;font-size:clamp(17px,1.3vw,20px);line-height:1.7}.actions{gap:16px;margin-top:30px;display:flex}.trust{color:#afc1d2;align-items:center;gap:14px;max-width:520px;margin-top:32px;font-size:15px;line-height:1.5;display:flex}.trust span{width:38px;height:42px;color:var(--cyan-light);border:1px solid var(--cyan);clip-path:polygon(50% 0,95% 18%,86% 75%,50% 100%,14% 75%,5% 18%);flex:0 0 38px;place-items:center;display:grid}.product{background:#07111ff0;border:1px solid #9decf594;border-radius:16px;grid-template-columns:110px 1fr;min-height:620px;display:grid;position:relative;overflow:hidden;box-shadow:0 34px 90px #0000006b,0 0 45px #22d3ee0f}.product-side{border-right:1px solid var(--line);background:#040d18b8;flex-direction:column;gap:8px;padding:22px 10px 86px;display:flex}.product-side .brand-mark-image{width:50px;margin:0 auto 20px}.product-side>span{color:#90a5b8;border-radius:7px;align-items:center;min-height:42px;padding:0 9px;font-size:12px;display:flex}.product-side .active{color:#fff;box-shadow:inset 2px 0 var(--cyan);background:#0d5077b8}.product-side .settings{margin-top:auto}.product-main{padding:26px 28px 94px}.product-head{justify-content:space-between;gap:22px;display:flex}.product-head h2{letter-spacing:-.03em;margin:0;font-size:clamp(21px,2vw,28px)}.complete{align-items:center;gap:10px;margin-top:17px;font-size:13px;display:flex}.complete>b{width:29px;height:29px;color:var(--green);border:1px solid var(--green);border-radius:50%;place-items:center;display:grid}.complete>span{gap:3px;display:grid}.complete small{color:var(--muted)}.ring{border:4px solid var(--cyan);border-left-color:#31536c;border-radius:50%;flex:0 0 68px;place-items:center;width:68px;height:68px;font-size:13px;display:grid}.output-grid{grid-template-columns:repeat(4,1fr);gap:11px;margin-top:24px;display:grid}.output{text-align:center;background:linear-gradient(145deg,#10233afa,#0a192adb);border:1px solid #315068;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:128px;padding:14px 8px;transition:all .18s;display:flex;position:relative}.output:hover{border-color:var(--cyan);transform:translateY(-2px)}.output i{color:#e3edf5;font-size:30px;font-style:normal}.output>b{width:18px;height:18px;color:var(--green);border:1px solid var(--green);border-radius:50%;place-items:center;font-size:10px;display:grid;position:absolute;top:8px;right:8px}.output strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.output small{color:var(--muted);font-size:10px}.riser{background-color:#040f1b94;background-image:linear-gradient(#22d3ee09 1px,#0000 1px),linear-gradient(90deg,#22d3ee09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #315068;border-radius:9px;height:250px;margin-top:14px;position:relative;overflow:hidden}.utility{justify-items:center;font-size:10px;display:grid;position:absolute;top:10px;left:50%;transform:translate(-50%)}.utility small{color:var(--muted);font-size:8px}.utility b{border:1px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;margin-top:7px;display:grid}.utility b:after{content:"";background:#fff;width:1px;height:28px;position:absolute;top:58px}.bus{background:var(--cyan);height:2px;position:absolute;top:104px;left:8%;right:8%}.branches{grid-template-columns:repeat(6,1fr);display:grid;position:absolute;top:100px;left:8%;right:8%}.branch{justify-items:center;padding-top:21px;font-size:9px;display:grid;position:relative}.branch i{background:var(--cyan);width:1px;height:20px;position:absolute;top:0}.branch i:before{content:"";background:var(--cyan);border-radius:50%;width:6px;height:6px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.branch small{color:var(--muted);font-size:8px}.branch b{width:20px;height:29px;color:var(--cyan-light);border:1px solid #dce8f1;place-items:center;margin-top:15px;font-weight:400;display:grid;position:relative}.branch b:before{content:"";background:#dce8f1;width:1px;height:18px;position:absolute;bottom:28px;left:50%}.workflow{border-top:1px solid var(--line);background:#050f1bf5;align-items:center;gap:13px;min-height:72px;padding:12px 20px;font-size:11px;display:flex;position:absolute;bottom:0;left:110px;right:0}.workflow span{color:#d4dfe8;white-space:nowrap}.workflow span:first-letter{color:var(--cyan)}.workflow>b{color:#829bad;font-size:16px;font-weight:400}.workflow button{min-height:42px;color:var(--cyan-light);border:1px solid var(--cyan);background:0 0;border-radius:8px;margin-left:auto;padding:0 14px}.section{background:#07111f;border-top:1px solid #1d3850a6;padding:130px 0;position:relative}.section-heading{max-width:760px}.section-heading h2,.contractor-card h2,.access-card h2{letter-spacing:-.04em;margin:0;font-size:clamp(40px,4vw,64px);line-height:1.08}.section-heading>p:last-child,.access-card>div>p:last-child{color:var(--muted);margin:25px 0 0;font-size:18px;line-height:1.7}.outputs-section{background:radial-gradient(circle at 18% 42%,#22d3ee12,#0000 30%),#07111f}.capability-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(2,1fr);gap:1px;margin-top:74px;display:grid}.capability{background:#091727fa;grid-template-columns:54px 1fr;gap:28px;min-height:230px;padding:36px;transition:background .18s;display:grid}.capability:hover{background:var(--panel)}.capability>span{color:var(--cyan);letter-spacing:.12em;font:700 12px/1 monospace}.capability h3{margin:0;font-size:25px}.capability p{color:var(--muted);margin:17px 0 0;line-height:1.65}.process-section{background-color:#050e19;background-image:linear-gradient(#1f45621a 1px,#0000 1px),linear-gradient(90deg,#1f45621a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:56px 56px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.process-layout{grid-template-columns:.86fr 1.14fr;align-items:start;gap:100px;display:grid}.section-heading--sticky{position:sticky;top:70px}.steps{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.steps li{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr;gap:28px;min-height:250px;padding:38px 0;display:grid}.steps li>span{color:var(--cyan);font:700 12px/1 monospace}.step-label{letter-spacing:.18em;text-transform:uppercase;font-weight:750;color:var(--cyan-light)!important;margin:0 0 12px!important;font-size:11px!important}.steps h3{margin:0;font-size:30px;line-height:1.2}.steps p{max-width:600px;color:var(--muted);margin:18px 0 0;line-height:1.7}.contractor-section{background:#07111f}.contractor-card{background:radial-gradient(circle at 85% 0,#22d3ee21,#0000 35%),linear-gradient(145deg,#0d1c30f5,#07111ff5);border:1px solid #9decf56b;border-radius:20px;padding:70px}.contractor-card>div:first-child{max-width:820px}.audience-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px;display:grid}.audience-grid article{border:1px solid var(--line);background:#050f1b8c;border-radius:14px;padding:30px}.audience-grid article>span{color:var(--cyan);font-size:27px}.audience-grid h3{margin:24px 0 0;font-size:20px}.audience-grid p{color:var(--muted);margin:14px 0 0;line-height:1.65}.about-section{background:#050e19;overflow:hidden}.about-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:100px;display:grid}.about-number{border:1px solid var(--line);background:#0a192a99;place-content:center;min-height:390px;display:grid;position:relative}.about-number:before{content:"";background-color:#0000;background-image:linear-gradient(#22d3ee14 1px,#0000 1px),linear-gradient(90deg,#22d3ee14 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.about-number .brand-mark-image{width:88px;margin:0 auto 20px;position:relative}.about-number span{color:var(--muted);letter-spacing:.35em;font-size:18px;position:relative}.about-number strong{color:var(--cyan);letter-spacing:-.09em;font-size:150px;line-height:.9;position:relative}.principles{flex-wrap:wrap;gap:10px;margin-top:34px;display:flex}.principles span{color:var(--cyan-light);border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:12px}.early-access{background:linear-gradient(145deg,#07111f,#0a1b2d)}.access-card{border:1px solid var(--cyan);border-radius:20px;justify-content:space-between;align-items:center;gap:60px;min-height:360px;padding:70px;display:flex;box-shadow:0 0 70px #22d3ee14}.access-card>div{max-width:850px}.access-card .btn{flex:none}.footer{border-top:1px solid var(--line);background:#040b13;padding:50px 0}.footer-inner{grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;display:grid}.footer .brand-logo-image{width:210px}.footer p{color:var(--muted);text-align:center;margin:0;font-size:13px}.footer-inner>span{color:#71889b;text-align:right;font-size:12px}.admin-gate,.admin-app{color:#eaf3f8;background:radial-gradient(circle at 82% 10%,#22d3ee17,#0000 28%),linear-gradient(#1f456217 1px,#0000 1px) 0 0/42px 42px,linear-gradient(90deg,#1f456217 1px,#0000 1px) 0 0/42px 42px,#06101d;min-height:100dvh}.admin-gate{place-items:center;padding:32px;display:grid}.admin-gate-card{background:#07121ff0;border:1px solid #9decf57a;border-radius:20px;width:min(720px,100%);padding:58px;box-shadow:0 30px 100px #00000080}.admin-gate-card>img{width:250px;height:auto;margin-bottom:56px}.admin-gate-card h1{max-width:600px;font-size:clamp(40px,7vw,64px)}.admin-gate-card>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.7}.admin-gate-card strong{color:#fff}.admin-gate-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.admin-topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#040c16f5;border-bottom:1px solid #1b344a;grid-template-columns:250px 1fr auto;align-items:center;gap:28px;min-height:76px;padding:0 28px;display:grid;position:sticky;top:0}.admin-brand{width:max-content;display:inline-flex}.admin-brand img{width:194px;height:auto;display:block}.admin-project-title{border-left:1px solid #1b344a;gap:4px;padding-left:28px;display:grid}.admin-project-title span{color:#71889b;letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:750}.admin-project-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.admin-account{grid-template-rows:auto auto;grid-auto-flow:column;place-items:center end;column-gap:10px;display:grid}.admin-account span{color:#eaf3f8;grid-column:1;font-size:13px;font-weight:750}.admin-account small{color:#71889b;grid-column:1;font-size:10px}.admin-account a{white-space:nowrap;color:#a9bdcc;border:1px solid #28455c;border-radius:8px;grid-row:1/span 2;padding:9px 12px;font-size:11px;font-weight:700}.admin-account a:hover{color:#fff;border-color:var(--cyan)}.admin-shell{grid-template-columns:250px minmax(0,1fr);min-height:calc(100dvh - 76px);display:grid}.admin-sidebar{background:#040d18c7;border-right:1px solid #1b344a;flex-direction:column;height:calc(100dvh - 76px);padding:22px 16px;display:flex;position:sticky;top:76px}.new-project{color:#06101d;cursor:pointer;background:linear-gradient(135deg,#36e6f7,#13bee5);border:0;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 16px;font:750 13px/1 inherit;display:flex}.new-project span{font-size:18px;font-weight:400}.project-list-heading{color:#879cac;letter-spacing:.15em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:30px 8px 12px;font-size:10px;font-weight:800;display:flex}.project-list-heading small{color:var(--cyan-light);border:1px solid #26465e;border-radius:999px;padding:3px 7px;font-size:9px}.saved-projects{gap:7px;display:grid;overflow-y:auto}.saved-projects>p{color:#627b8e;margin:12px 8px;font-size:12px;line-height:1.6}.saved-projects button{color:#a8bbc9;text-align:left;min-width:0;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:auto 1fr;gap:5px 9px;padding:13px;display:grid}.saved-projects button:hover,.saved-projects button.active{color:#fff;background:#0e2339c7;border-color:#27465e}.saved-projects button>span{color:var(--cyan-light);border:1px solid #28516b;border-radius:4px;grid-row:1/span 2;align-self:start;padding:4px 6px;font:750 8px/1 monospace}.saved-projects button strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.saved-projects button small{color:#71889b;font-size:9px}.sidebar-status{border-top:1px solid #1b344a;grid-template-columns:8px 1fr;gap:11px;margin-top:auto;padding:16px 10px 3px;display:grid}.status-dot{background:var(--green);border-radius:50%;width:7px;height:7px;margin-top:4px;box-shadow:0 0 12px #49e77d8c}.sidebar-status div{gap:4px;display:grid}.sidebar-status strong{font-size:11px}.sidebar-status small{color:#71889b;font-size:9px;line-height:1.4}.admin-workspace{width:min(1420px,100%);min-width:0;margin:0 auto;padding:38px 42px 70px}.workspace-head{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.workspace-head .eyebrow{margin-bottom:12px}.workspace-head h1{max-width:800px;margin:0;font-size:clamp(32px,4vw,48px)}.workspace-head>div:first-child>p:last-child{color:#8499aa;margin:11px 0 0;font-size:13px}.workspace-actions{flex:none;gap:9px;display:flex}.workspace-actions button,.text-export{cursor:pointer;border-radius:8px;min-height:42px;padding:0 15px;font:750 11px/1 inherit}.export-button,.text-export{color:#bad0de;background:#091b2db8;border:1px solid #294a62}.export-button:hover,.text-export:hover{color:#fff;border-color:var(--cyan)}.save-button{color:#06101d;border:1px solid var(--cyan);background:var(--cyan)}.save-button:disabled{opacity:.65;cursor:wait}.delete-button{color:#ffb5b5;background:#5e171d57;border:1px solid #ff696975}.delete-button:hover{color:#fff;border-color:#ff7474}.delete-button:disabled{opacity:.42;cursor:not-allowed}.workspace-tabs{scrollbar-width:thin;scrollbar-color:#2a4a61 transparent;border-bottom:1px solid #1d3850;gap:6px;margin-top:34px;display:flex;overflow-x:auto}.workspace-tabs::-webkit-scrollbar{height:6px}.workspace-tabs::-webkit-scrollbar-track{background:0 0}.workspace-tabs::-webkit-scrollbar-thumb{background:#2a4a61;border-radius:99px}.workspace-tabs button{color:#8297a8;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;min-height:48px;padding:0 18px;font:700 12px/1 inherit}.workspace-tabs button:hover{color:#fff}.workspace-tabs button.active{color:var(--cyan-light);border-color:var(--cyan)}.capacity-banner{background:#0b1d2fd6;border:1px solid #26516c;border-radius:10px;grid-template-columns:34px 1fr auto;align-items:center;gap:14px;min-height:70px;margin:22px 0;padding:14px 18px;display:grid}.capacity-banner>span{border:1px solid;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.capacity-banner div{gap:5px;display:grid}.capacity-banner strong{font-size:13px}.capacity-banner small{color:#8197a8;font-size:11px}.capacity-banner>b{font-size:22px}.status-capacity{color:#66eb8e;background:#13412b42;border-color:#49e77d59}.status-review{color:#f3cf6a;background:#51411238;border-color:#f3cf6a59}.status-invalid{color:#ffb37a;background:#5c2d0e4d;border-color:#ff965073}.status-over{color:#ff9696;background:#5b191e40;border-color:#ff6e6e61}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.admin-panel,.calculation-sheet,.drawing-sheet,.material-sheet{background:#081828e0;border:1px solid #213d53;border-radius:12px;box-shadow:0 18px 60px #00000024}.admin-panel{padding:26px}.panel-heading{border-bottom:1px solid #1d3850;grid-template-columns:38px 1fr;gap:13px;min-height:64px;display:grid}.panel-heading>span{color:var(--cyan);letter-spacing:.12em;padding-top:4px;font:750 10px/1 monospace}.panel-heading h2{margin:0;font-size:18px;line-height:1.3}.panel-heading h2 .help-tip{vertical-align:middle;margin-left:8px}.panel-heading p{color:#7f95a6;margin:7px 0 18px;font-size:11px;line-height:1.5}.help-tip{z-index:20;width:19px;height:19px;color:var(--cyan-light);cursor:help;background:#071827;border:1px solid #35677d;border-radius:50%;flex:none;padding:0;font:800 10px/1 inherit;position:relative}.help-tip:hover,.help-tip:focus-visible{color:#06101d;border-color:var(--cyan);background:var(--cyan);outline:none}.help-tip:after{content:attr(data-help);z-index:40;visibility:hidden;color:#d8e7ee;opacity:0;text-align:left;white-space:pre-line;pointer-events:none;background:#061522;border:1px solid #35627a;border-radius:8px;width:min(340px,72vw);padding:12px 13px;font:600 11px/1.55 Inter,ui-sans-serif,system-ui,sans-serif;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px);box-shadow:0 16px 44px #00000080}.help-tip:hover:after,.help-tip:focus:after,.help-tip:focus-visible:after{visibility:visible;opacity:1;transform:translate(-50%)}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:22px;display:grid}.field-grid label{color:#b8cad7;gap:7px;min-width:0;font-size:11px;font-weight:700;display:grid}.field-grid input,.field-grid select,.field-grid textarea{color:#fff;background:#061522;border:1px solid #2a4a61;border-radius:7px;outline:none;width:100%;min-width:0;padding:12px 13px;font:600 13px/1.4 inherit}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #22d3ee17}.field-grid textarea{resize:vertical}.field-grid label>span{color:#627b8e;font-size:9px;font-weight:500}.field-wide{grid-column:1/-1}.calculation-layout{gap:18px;display:grid}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-grid article{background:#081828e0;border:1px solid #213d53;border-radius:10px;flex-direction:column;min-height:135px;padding:20px;display:flex}.metric-grid span{color:#7f95a6;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:750}.metric-grid strong{letter-spacing:-.03em;margin-top:auto;font-size:26px}.metric-grid small{color:#627b8e;margin-top:6px;font-size:9px}.calculation-sheet,.material-sheet{padding:28px}.sheet-title{border-bottom:2px solid #2b566f;grid-template-columns:58px 1fr;gap:18px;padding-bottom:20px;display:grid}.sheet-title>span{min-height:48px;color:var(--cyan-light);border:1px solid var(--cyan);place-items:center;font:800 12px/1 monospace;display:grid}.sheet-title>div{gap:5px;display:grid}.sheet-title strong{font-size:18px}.sheet-title small{color:#71889b;font-size:10px}.calculation-sheet table,.material-sheet table{border-collapse:collapse;width:100%;margin-top:22px;font-size:12px}.calculation-sheet th,.calculation-sheet td,.material-sheet th,.material-sheet td{border-bottom:1px solid #1d3850;padding:14px 12px}.calculation-sheet th{color:#9eb2c1;text-align:left;font-weight:600}.calculation-sheet td{color:#fff;text-align:right;font-family:var(--font-geist-mono), monospace}.calculation-sheet .total-row{color:var(--cyan-light);background:#22d3ee09}.calculation-sheet>p{color:#6f8799;margin:20px 0 0;font-size:10px;line-height:1.6}.text-export{width:max-content}.drawing-sheet{min-height:620px;padding:24px;overflow:hidden}.drawing-sheet>header{border-bottom:2px solid #2b566f;justify-content:space-between;align-items:end;gap:20px;padding-bottom:18px;display:flex}.drawing-sheet>header>div{align-items:center;gap:15px;display:flex}.drawing-sheet>header span{width:48px;height:48px;color:var(--cyan-light);border:1px solid var(--cyan);place-items:center;font:800 12px/1 monospace;display:grid}.drawing-sheet>header strong{font-size:18px}.drawing-sheet>header small{color:#71889b;font-size:10px}.one-line{background-color:#0000;background-image:linear-gradient(#22d3ee09 1px,#0000 1px),linear-gradient(90deg,#22d3ee09 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;align-items:center;min-height:490px;padding:28px 18px;display:flex}.diagram-node{text-align:center;background:#081828;border:1px solid #d8e6ef;justify-items:center;gap:4px;min-width:170px;padding:11px 14px;display:grid}.diagram-node span{color:var(--cyan-light);letter-spacing:.1em;font:750 8px/1 monospace}.diagram-node strong{font-size:11px}.diagram-node small{color:#7890a2;font-size:8px}.diagram-line.vertical{background:#d8e6ef;width:1px;height:28px}.diagram-bus{border-top:2px solid var(--cyan);width:min(88%,980px);height:26px;position:relative}.diagram-bus span{color:#7990a1;background:#081828;padding:0 5px;font:700 7px/1 monospace;position:absolute;top:-18px;left:8px}.diagram-branches{grid-template-columns:repeat(4,minmax(110px,1fr));gap:34px 18px;width:min(88%,980px);display:grid}.diagram-branch{justify-items:center;padding-top:22px;display:grid;position:relative}.diagram-branch>i{background:var(--cyan);width:1px;height:48px;position:absolute;top:-26px}.diagram-branch>i:before{content:"";background:var(--cyan);border-radius:50%;width:7px;height:7px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.charger-node{width:100%;min-width:0}.one-line>p{color:#7d93a3;margin-top:25px;font-size:10px}.drawing-sheet>footer{color:#ffb2b2;border-top:1px solid #2b566f;justify-content:space-between;align-items:center;gap:18px;padding-top:15px;font-size:9px;display:flex}.drawing-sheet>footer span{color:#71889b}.material-sheet th{color:#71889b;text-align:left;letter-spacing:.1em;text-transform:uppercase;font-size:9px}.material-sheet td{color:#aec0cd;line-height:1.5}.material-sheet td:nth-child(2){color:#fff;font-family:var(--font-geist-mono), monospace}.material-note{background:#5c481329;border-left:2px solid #f0c968;margin-top:24px;padding:18px}.material-note strong{color:#f0d588;font-size:12px}.material-note p{color:#8ea2b1;margin:8px 0 0;font-size:10px;line-height:1.65}.material-override-input{width:100%;max-width:140px;font-size:11px;font-family:var(--font-geist-mono), monospace;color:#fff;background:#ffffff0f;border:1px solid #2c4a63;border-radius:4px;margin-bottom:4px;padding:4px 6px;display:block}.material-override-input:focus{outline:1px solid #6ea8fe}.material-override-input::placeholder{color:#5c7285}.intake-stack,.design-layout,.quote-layout{gap:18px;display:grid}.address-field{position:relative}.address-autocomplete{display:block;position:relative}.address-autocomplete .address-search-status{top:50%;transform:translateY(-50%)}.charger-spec-upload{gap:6px;display:grid}.charger-spec-upload small{color:#8197a8;font-size:12px}.address-search-status{pointer-events:none;position:absolute;top:35px;right:12px;color:#7394a8!important;font-size:9px!important}.address-suggestions{z-index:12;background:#071725;border:1px solid #2d536d;border-radius:0 0 8px 8px;display:grid;position:absolute;top:calc(100% - 1px);left:0;right:0;overflow:hidden;box-shadow:0 18px 46px #00000073}.address-suggestions button{color:#c8d8e2;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #1e3a4f;gap:3px;padding:12px 13px;font:600 11px/1.4 inherit;display:grid}.address-suggestions button strong{color:inherit;font-size:11px}.address-suggestions button small{color:#688195;font-size:8px}.address-suggestions button:last-child{border-bottom:0}.address-suggestions button:hover,.address-suggestions button:focus-visible{color:#fff;background:#22d3ee1a;outline:none}.spec-source{color:var(--cyan-light);margin-top:17px;font-size:10px;font-weight:700;display:inline-flex}.technical-warning{background:#5c481329;border-left:2px solid #f0c968;margin-top:20px;padding:16px}.technical-warning strong{color:#f0d588;font-size:11px}.technical-warning p{color:#8ea2b1;margin:7px 0 0;font-size:9px;line-height:1.6}.check-field{background:#061522;border:1px solid #2a4a61;border-radius:7px;align-self:end;align-items:center;min-height:44px;padding:11px 12px;grid-template-columns:18px 1fr!important}.check-field input{height:16px;accent-color:var(--cyan);width:16px!important;padding:0!important}.evidence-panel{padding-bottom:18px}.ai-reader-status{background:#5c481321;border:1px solid #f0c96847;border-radius:8px;grid-template-columns:9px auto 1fr;align-items:center;gap:9px;margin-top:18px;padding:12px 14px;display:grid}.ai-reader-status>span{background:#f0c968;border-radius:50%;width:8px;height:8px}.ai-reader-status strong{color:#f2d989;font-size:10px}.ai-reader-status small{color:#8096a5;font-size:9px}.ai-reader-status.is-ready{background:#13412b2e;border-color:#49e77d47}.ai-reader-status.is-ready>span{background:var(--green)}.ai-reader-status.is-ready strong{color:#7aee9c}.upload-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.upload-control{cursor:pointer;background:#051421a6;border:1px dashed #31566e;border-radius:9px;flex-direction:column;gap:6px;min-height:142px;padding:17px;display:flex;position:relative}.upload-control:hover,.upload-control:focus-within{border-color:var(--cyan);background:#22d3ee0b}.upload-control.is-dragging{border-color:var(--cyan);background:#22d3ee1f;box-shadow:inset 0 0 0 2px #22d3ee1f}.upload-control>span{color:#d4e3eb;font-size:11px;font-weight:750}.upload-control>small{color:#71889b;font-size:9px;line-height:1.45}.upload-control input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.upload-control>b{width:max-content;color:var(--cyan-light);border:1px solid #2d526a;border-radius:6px;margin-top:auto;padding:8px 10px;font-size:9px}.evidence-list{gap:8px;margin-top:18px;display:grid}.evidence-list article{background:#05121eb8;border:1px solid #1e3a4f;border-radius:8px;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.3fr) auto;align-items:center;gap:16px;padding:13px 14px;display:grid}.evidence-list article>div:first-child{gap:4px;min-width:0;display:grid}.evidence-list article>div:first-child span{color:var(--cyan);letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:800}.evidence-list article>div:first-child strong{color:#dbe8ef;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.evidence-list article small{color:#6f8799;font-size:8px}.evidence-result p{color:#a8bdca;margin:0;font-size:10px;line-height:1.45}.evidence-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.evidence-actions a,.evidence-actions button{color:#bcd0dc;cursor:pointer;background:#081b2b;border:1px solid #2a4a61;border-radius:6px;align-items:center;min-height:32px;padding:0 9px;font:700 8px/1 inherit;display:inline-flex}.evidence-actions a:hover,.evidence-actions button:hover{color:#fff;border-color:var(--cyan)}.evidence-actions button:disabled{opacity:.55;cursor:wait}.design-upload-row{background:#081828e0;border:1px solid #213d53;border-radius:10px;grid-template-columns:minmax(260px,420px) 1fr;align-items:center;gap:18px;padding:14px;display:grid}.design-upload-row .upload-control{min-height:110px}.design-upload-row>span{color:#7f95a6;font-size:10px;line-height:1.5}.design-upload-row>span strong{color:#fff}.planner-panel{background:#081828e6;border:1px solid #213d53;border-radius:12px;padding:24px}.planner-heading{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.planner-heading .eyebrow{margin-bottom:8px}.planner-heading h2{align-items:center;gap:9px;margin:0;font-size:23px;display:flex}.planner-heading p:not(.eyebrow){color:#7f95a6;max-width:690px;margin:8px 0 0;font-size:10px;line-height:1.55}.planner-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.planner-actions a,.planner-actions button{color:#b9cdd8;cursor:pointer;background:#071827;border:1px solid #2a4a61;border-radius:7px;align-items:center;min-height:36px;padding:0 11px;font:700 9px/1 inherit;display:inline-flex}.planner-actions a:hover,.planner-actions button:hover{color:#fff;border-color:var(--cyan)}.planner-mode-tabs{border-bottom:1px solid #1f4055;align-items:center;gap:7px;margin-top:20px;display:flex}.planner-mode-tabs button{color:#8299a9;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;min-height:38px;padding:0 12px;font:750 9px/1 inherit}.planner-mode-tabs button.active{color:var(--cyan-light);border-color:var(--cyan)}.planner-mode-tabs strong{color:#f2d47c;margin-left:auto;font:750 10px/1 monospace}.planner-tools{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.planner-tools button{color:#8198a9;cursor:pointer;background:#061522;border:1px solid #28485f;border-radius:7px;align-items:center;gap:8px;min-height:40px;padding:0 12px;font:700 9px/1 inherit;display:inline-flex}.planner-tools button b{min-width:21px;height:21px;color:var(--cyan-light);border:1px solid #2e5d77;border-radius:4px;place-items:center;font-size:8px;display:grid}.planner-tools button.active{color:#fff;border-color:var(--cyan);background:#22d3ee17}.satellite-map,.map-empty-state{background:#061421;border:1px solid #2d526a;border-radius:9px;min-height:590px;margin-top:14px;overflow:hidden}.satellite-map{z-index:1;cursor:crosshair;position:relative}.satellite-map .leaflet-control-attribution{color:#425968;background:#ffffffd1;font-size:8px}.map-empty-state{text-align:center;background-color:#061421;background-image:linear-gradient(#22d3ee0b 1px,#0000 1px),linear-gradient(90deg,#22d3ee0b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-content:center;justify-items:center;gap:9px;padding:40px;display:grid}.map-empty-state strong{color:#d9e8ef;font-size:15px}.map-empty-state span{color:#71899a;max-width:520px;font-size:10px;line-height:1.6}.map-plan-icon-shell{background:0 0;border:0}.map-plan-icon{color:#fff;background:#071827f0;border:1px solid #e3edf2;border-radius:5px;align-items:center;gap:6px;width:max-content;min-width:76px;padding:6px 8px;display:flex;box-shadow:0 7px 18px #0000006b}.map-plan-icon b{color:#071522;background:var(--cyan);border-radius:3px;place-items:center;min-width:23px;height:21px;font:800 8px/1 monospace;display:grid}.map-plan-icon span{text-overflow:ellipsis;white-space:nowrap;max-width:112px;font:750 8px/1.2 monospace;overflow:hidden}.map-plan-icon.marker-service b{background:#f2cc68}.map-plan-icon.marker-panel b{background:#a7b9ff}.map-plan-icon.marker-trench{border-radius:50%;width:30px;min-width:30px;height:30px;padding:4px}.map-plan-icon.marker-trench b{background:#f2cc68;border-radius:50%;min-width:20px;height:20px}.map-plan-icon.marker-trench span{display:none}.map-plan-icon.marker-note b{background:#f5a6d7}.site-board{touch-action:none;cursor:crosshair;background-color:#061421;background-image:linear-gradient(#22d3ee0e 1px,#0000 1px),linear-gradient(90deg,#22d3ee0e 1px,#0000 1px);background-position:50%;background-size:28px 28px;border:1px solid #2d526a;border-radius:9px;min-height:590px;margin-top:14px;position:relative;overflow:hidden}.site-board.has-background{background-position:50%;background-repeat:no-repeat;background-size:cover}.site-board>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.site-board polyline{fill:none;stroke:#f2cc68;stroke-width:.55px;stroke-dasharray:2 1.2;vector-effect:non-scaling-stroke}.site-north,.site-address{z-index:2;color:#a9becb;pointer-events:none;background:#040f1ad4;border:1px solid #2b4d63;border-radius:5px;padding:6px 8px;font:800 9px/1 monospace;position:absolute}.site-north{color:var(--cyan-light);top:14px;right:14px}.site-address{text-overflow:ellipsis;white-space:nowrap;bottom:14px;left:14px;right:62px;overflow:hidden}.plan-marker{z-index:3;color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;background:#071827f0;border:1px solid #e3edf2;border-radius:5px;justify-items:center;gap:5px;min-width:76px;padding:8px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 7px 18px #00000059}.plan-marker:active{cursor:grabbing}.plan-marker b{color:#071522;background:var(--cyan);border-radius:3px;place-items:center;min-width:25px;height:23px;font:800 8px/1 monospace;display:grid}.plan-marker span{max-width:120px;font:750 8px/1.25 monospace}.marker-service b{background:#f2cc68}.marker-panel b{background:#a7b9ff}.marker-trench{border-radius:50%;min-width:32px;padding:5px}.marker-trench b{background:#f2cc68;border-radius:50%;min-width:20px;height:20px}.marker-trench span{display:none}.marker-note b{background:#f5a6d7}.planner-note{color:#687f90;margin:13px 0 0;font-size:9px;line-height:1.55}.management-node{border-color:#f0d588}.management-node span{color:#f0d588}.quote-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.quote-preview{color:#0b1822;background:#fff;border-radius:10px;grid-column:1/-1;width:min(900px,100%);margin:0 auto;padding:40px;box-shadow:0 20px 70px #0000004d}.quote-preview header{color:#fff;border-bottom:3px solid var(--cyan,#22d3ee);background:#06101d;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;gap:20px;margin:-40px -40px 0;padding:24px 40px 22px;display:flex}.quote-preview header img{width:230px;height:auto}.quote-preview header div{justify-items:end;gap:5px;display:grid}.quote-preview header span{color:#a9bccf;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800}.quote-parties span{color:#587181;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800}.quote-preview header strong{color:#fff;font-size:14px}.quote-parties{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:32px;padding:26px 0;display:grid}.quote-parties>div{gap:5px;display:grid}.quote-parties strong{margin-top:3px;font-size:16px}.quote-parties small{color:#587181;font-size:10px;line-height:1.4}.quote-preview table{border-collapse:collapse;width:100%;font-size:11px}.quote-preview th,.quote-preview td{text-align:left;border-bottom:1px solid #dce4e8;padding:13px 10px}.quote-preview th{color:#587181;letter-spacing:.11em;text-transform:uppercase;font-size:8px}.quote-preview th:nth-child(n+2),.quote-preview td:nth-child(n+2){text-align:right}.quote-totals{gap:10px;width:min(390px,100%);margin:24px 0 0 auto;display:grid}.quote-totals span,.quote-totals strong{justify-content:space-between;gap:25px;font-size:11px;display:flex}.quote-totals strong{border-top:2px solid #0e2b3d;padding-top:12px;font-size:16px}.quote-preview>p{color:#587181;margin:28px 0 18px;font-size:9px;line-height:1.55}.quote-preview .save-button{cursor:pointer;border-radius:7px;min-height:44px;padding:0 18px;font:800 10px/1 inherit}.project-summary{gap:18px;display:grid}.summary-hero{background:radial-gradient(circle at 92% 8%,#22d3ee1c,#0000 32%),#081828e6;border:1px solid #26485f;border-radius:12px;justify-content:space-between;align-items:flex-end;gap:30px;padding:26px 28px;display:flex}.summary-hero h2{margin:0;font-size:27px}.summary-hero p:last-child{color:#7f95a6;margin:7px 0 0;font-size:11px}.summary-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.summary-actions button{cursor:pointer;border-radius:8px;min-height:42px;padding:0 15px;font:750 10px/1 inherit}.summary-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.summary-metrics article{background:#081828e0;border:1px solid #213d53;border-radius:10px;flex-direction:column;min-height:126px;padding:18px;display:flex}.summary-metrics span,.summary-card header span{color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:800}.summary-metrics strong{margin-top:auto;font-size:22px}.summary-metrics small{color:#71889b;margin-top:6px;font-size:9px;line-height:1.45}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.summary-card{background:#081828e0;border:1px solid #213d53;border-radius:12px;padding:22px}.summary-card header{border-bottom:1px solid #1d3850;justify-content:space-between;align-items:flex-end;gap:18px;padding-bottom:16px;display:flex}.summary-card header h3{margin:5px 0 0;font-size:16px}.summary-card header button{color:#b8ceda;cursor:pointer;background:#071827;border:1px solid #2a4a61;border-radius:6px;flex:none;min-height:32px;padding:0 10px;font:700 8px/1 inherit}.summary-card header button:hover{color:#fff;border-color:var(--cyan)}.summary-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:17px 0 0;display:grid}.summary-card dl div{background:#04101c8a;border:1px solid #1b374c;border-radius:7px;gap:5px;min-width:0;padding:12px;display:grid}.summary-card dt{color:#71889b;text-transform:uppercase;font-size:8px;font-weight:700}.summary-card dd{overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:750}.summary-drawing{min-height:300px}.summary-one-line{background-color:#0000;background-image:linear-gradient(#22d3ee09 1px,#0000 1px),linear-gradient(90deg,#22d3ee09 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;align-items:center;min-height:218px;padding:24px 14px;display:flex}.summary-one-line>b{text-align:center;background:#081828;border:1px solid #c8dae4;min-width:250px;padding:11px 16px;font-size:10px}.summary-one-line>i{background:var(--cyan);width:1px;height:22px}.summary-one-line>div{grid-template-columns:repeat(6,minmax(74px,1fr));gap:9px;width:100%;display:grid}.summary-one-line>div>span{color:var(--cyan-light);background:#081828;border:1px solid #38627a;justify-items:center;gap:4px;padding:9px 5px;font:750 8px/1 monospace;display:grid}.summary-one-line small{color:#8196a6;font:650 7px/1.2 inherit}@media (width<=1180px){.shell{width:min(960px,100% - 48px)}.nav{grid-template-columns:1fr auto}.nav-links{display:none}.hero-content{grid-template-columns:1fr;gap:60px;padding-top:82px}.hero-copy{max-width:760px}.process-layout,.about-grid{grid-template-columns:1fr;gap:70px}.section-heading--sticky{position:static}.audience-grid{grid-template-columns:1fr}.access-card{flex-direction:column;align-items:flex-start}.admin-topbar{grid-template-columns:210px 1fr auto}.admin-shell{grid-template-columns:210px minmax(0,1fr)}.admin-workspace{padding-inline:26px}.admin-grid{grid-template-columns:1fr}.workspace-head{flex-direction:column;align-items:flex-start}.metric-grid,.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-layout{grid-template-columns:1fr}.quote-preview{grid-column:auto}.summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.shell{width:min(100% - 32px,620px)}.nav{min-height:78px}.brand-logo-image{width:168px}.nav-actions{gap:9px}.admin-login{font-size:9px}.btn-small{min-height:40px;padding:0 12px;font-size:10px}.hero-content{min-height:auto;padding:72px 0 64px}h1{font-size:clamp(42px,12vw,58px)}.lede{font-size:16px}.actions{flex-direction:column}.actions .btn{width:100%}.product{grid-template-columns:1fr;min-height:590px}.product-side{display:none}.product-main{padding:22px 15px 84px}.product-head h2{font-size:19px}.ring{flex-basis:56px;width:56px;height:56px;font-size:11px}.output-grid{grid-template-columns:repeat(2,1fr)}.output:nth-child(n+3){display:none}.workflow{padding:12px 14px;left:0;overflow-x:auto}.workflow button{display:none}.section{padding:90px 0}.section-heading h2,.contractor-card h2,.access-card h2{font-size:39px}.capability-grid{grid-template-columns:1fr;margin-top:50px}.capability{grid-template-columns:38px 1fr;gap:12px;min-height:200px;padding:28px 22px}.steps li{grid-template-columns:40px 1fr;gap:10px;min-height:230px}.steps h3{font-size:25px}.contractor-card,.access-card{padding:38px 24px}.audience-grid{margin-top:45px}.about-number{min-height:280px}.about-number strong{font-size:110px}.footer-inner{text-align:center;grid-template-columns:1fr;justify-items:center}.footer-inner>span{text-align:center}.dialog-panel{padding:38px 22px 28px}.access-form{grid-template-columns:1fr;gap:15px}.form-wide,.form-submit,.form-note,.form-error{grid-column:auto}.dialog-close{top:12px;right:12px}.admin-gate{padding:16px}.admin-gate-card{padding:34px 24px}.admin-gate-card>img{width:190px;margin-bottom:42px}.admin-gate-actions{flex-direction:column}.admin-topbar{grid-template-columns:1fr auto;min-height:70px;padding:10px 16px;position:relative}.admin-brand img{width:160px}.admin-project-title,.admin-account span,.admin-account small{display:none}.admin-account{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-account a{align-items:center;min-height:40px;display:inline-flex}.admin-account{max-width:100%}.admin-shell{display:block}.admin-sidebar{border-bottom:1px solid #1b344a;border-right:0;grid-template-columns:1fr auto;gap:10px;width:100%;height:auto;padding:14px 16px;display:grid;position:static}.project-list-heading,.saved-projects,.sidebar-status{display:none}.new-project{grid-column:1}.admin-workspace{padding:28px 16px 54px}.workspace-head h1{font-size:34px}.workspace-actions{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.workspace-actions button{padding:0 8px;font-size:9px}.workspace-tabs{margin-top:25px}.capacity-banner{grid-template-columns:30px 1fr}.capacity-banner>b{display:none}.capacity-banner small{line-height:1.45}.admin-panel{padding:21px 18px}.field-grid,.metric-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.drawing-sheet,.material-sheet,.calculation-sheet{padding:18px 14px}.drawing-sheet>header{flex-direction:column;align-items:flex-start}.drawing-sheet>header small{line-height:1.5}.diagram-branches{grid-template-columns:repeat(2,minmax(100px,1fr))}.drawing-sheet>footer{flex-direction:column;align-items:flex-start}.material-sheet{overflow-x:auto}.material-sheet table{min-width:680px}.sheet-title{grid-template-columns:48px 1fr}.upload-grid,.evidence-list article{grid-template-columns:1fr}.ai-reader-status{grid-template-columns:9px 1fr}.ai-reader-status small{grid-column:2}.evidence-actions{justify-content:flex-start}.design-upload-row{grid-template-columns:1fr}.planner-heading{flex-direction:column;align-items:flex-start}.planner-actions{justify-content:flex-start}.planner-mode-tabs{flex-wrap:wrap;align-items:flex-start}.planner-mode-tabs strong{border-top:1px solid #1f4055;width:100%;margin:0;padding:10px 12px}.satellite-map,.map-empty-state,.site-board{min-height:480px}.quote-preview{padding:24px 17px}.quote-preview header{flex-direction:column;align-items:flex-start;margin:-24px -17px 0;padding:20px 17px}.quote-preview header img{width:190px}.quote-preview header div{justify-items:start}.quote-parties{grid-template-columns:1fr;gap:22px}.summary-hero{flex-direction:column;align-items:flex-start}.summary-actions{justify-content:flex-start;width:100%}.summary-actions button{flex:180px}.summary-metrics,.summary-grid,.summary-card dl{grid-template-columns:1fr}.summary-one-line>div{grid-template-columns:repeat(2,minmax(74px,1fr))}}.review-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:18px;display:grid}.review-fields{gap:14px;min-width:0;display:grid}.review-bulk{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:20px 22px;display:flex}.review-bulk h2{margin:0;font-size:15px}.review-bulk p{color:#7f95a6;max-width:520px;margin:6px 0 0;font-size:10px;line-height:1.5}.review-bulk>button{color:#06101d;background:var(--cyan);letter-spacing:.03em;cursor:pointer;border:none;border-radius:8px;min-height:38px;padding:0 14px;font:800 10px/1 inherit}.review-group{padding:18px 22px}.review-rows{gap:10px;margin-top:14px;display:grid}.review-row{background:#05121eb8;border:1px solid #1e3a4f;border-radius:9px;gap:8px;padding:12px 14px;display:grid}.review-row.status-confirmed,.review-row.status-overridden{background:#0f2d1a59;border-color:#49e77d59}.review-row.has-flags{border-color:#f3cf6a66}.review-row-empty{color:#61798c;border:1px dashed #2a4a61;border-radius:9px;justify-content:space-between;padding:12px 14px;font-size:10px;display:flex}.review-row-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-row-label{color:#dbe8ef;font-size:12px;font-weight:700}.review-chip{color:#b8cad7;text-transform:uppercase;letter-spacing:.05em;border:1px solid #2a4a61;border-radius:999px;padding:3px 8px;font:750 8px/1.6 inherit}.review-chip-suggested{color:#cdd8e0}.review-chip-confirmed,.review-chip-overridden,.review-chip-tier-high{color:#7cf1a2;border-color:#49e77d66}.review-chip-tier-medium{color:#f3cf6a;border-color:#f3cf6a66}.review-chip-tier-low,.review-chip-tier-unknown{color:#ff9696;border-color:#ff6e6e66}.review-chip-source{cursor:pointer;color:var(--cyan-light);background:#071827;border-color:#35677d;font:750 8px/1.6 inherit}.review-chip-source:hover{color:#fff;border-color:var(--cyan)}.review-row-flags{flex-wrap:wrap;gap:6px;display:flex}.review-flag{color:#f3cf6a;background:#5141124d;border-radius:6px;padding:3px 8px;font:750 9px/1.6 inherit}.review-flag-unreadable{color:#ff9696;background:#5b191e47}.review-row-value{gap:4px;display:grid}.review-row-value>b{color:#fff;font-size:15px}.review-row-value>small{color:#7f95a6;font-size:9px;line-height:1.4}.review-row-actions{gap:7px;margin-top:2px;display:flex}.review-row-actions button,.review-edit-row button{color:#bcd0dc;cursor:pointer;background:#081b2b;border:1px solid #2a4a61;border-radius:6px;min-height:30px;padding:0 11px;font:700 9px/1 inherit}.review-row-actions button:first-child{color:#06101d;border-color:var(--cyan);background:var(--cyan)}.review-row-actions button:hover,.review-edit-row button:hover{border-color:var(--cyan)}.review-edit-row{flex-wrap:wrap;gap:7px;display:flex}.review-edit-row input,.review-edit-row select{color:#fff;background:#061522;border:1px solid #2a4a61;border-radius:6px;flex:140px;min-width:0;padding:8px 10px;font:600 12px/1.3 inherit}.review-candidates{gap:7px;display:grid}.review-candidate{text-align:left;color:#fff;cursor:pointer;background:#071827;border:1px solid #2a4a61;border-radius:7px;gap:3px;padding:10px 12px;display:grid}.review-candidate:hover{border-color:var(--cyan)}.review-candidate strong{font-size:14px}.review-candidate small{color:#7f95a6;font-size:9px}.review-candidate small:hover{color:var(--cyan-light);text-decoration:underline}.review-candidate-type{color:#7f95a6;cursor:pointer;background:0 0;border:none;justify-self:start;padding:6px 0;font:700 9px/1 inherit;text-decoration:underline}.review-gate-checklist{padding:22px 26px}.review-gate-checklist ul{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.review-gate-checklist li{color:#ffb3b3;background:#5b191e2e;border:1px solid #ff96964d;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 13px;font-size:11px;font-weight:700;display:flex}.review-gate-checklist li button{color:#06101d;background:var(--cyan);cursor:pointer;border:none;border-radius:6px;min-height:30px;padding:0 11px;font:750 9px/1 inherit}.review-circuits table{border-collapse:collapse;width:100%;margin-top:12px;font-size:11px}.review-circuits th{color:#7f95a6;text-align:left;text-transform:uppercase;border-bottom:1px solid #1d3850;padding:8px 10px;font-size:9px}.review-circuits td{color:#d8e7ee;border-bottom:1px solid #16283b;padding:6px 10px}.review-circuits td input{color:#fff;background:#061522;border:1px solid #2a4a61;border-radius:5px;width:100%;padding:6px 8px;font:600 11px/1.3 inherit}.review-circuit-candidates{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:12px;display:grid}.review-circuit-candidate{background:#05121eb8;border:1px solid #2a4a61;border-radius:9px;padding:14px}.review-circuit-candidate header{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-circuit-candidate header button{color:#06101d;background:var(--cyan);cursor:pointer;border:none;border-radius:6px;min-height:30px;padding:0 11px;font:750 9px/1 inherit}.review-circuit-actions{align-items:center;gap:14px;margin-top:12px;display:flex}.review-circuit-actions button{color:#bcd0dc;cursor:pointer;background:#081b2b;border:1px solid #2a4a61;border-radius:7px;min-height:34px;padding:0 12px;font:700 9px/1 inherit}.review-row-empty-note{color:#61798c;font-size:10px}.review-retake-list{color:#d8e7ee;margin:12px 0 0;padding-left:18px;font-size:11px;line-height:1.7}.review-retake>button{color:#06101d;background:var(--cyan);cursor:pointer;border:none;border-radius:7px;min-height:34px;margin-top:12px;padding:0 12px;font:750 9px/1 inherit}.review-photo-viewer{color:#7f95a6;background:#081828e0;border:1px solid #213d53;border-radius:12px;gap:10px;padding:18px;font-size:10px;display:grid;position:sticky;top:18px}.review-photo-viewer-head{flex-direction:column;gap:2px;display:flex}.review-photo-viewer-head strong{color:#fff;word-break:break-word;font-size:12px}.review-photo-viewer-head span{color:#7f95a6;text-transform:uppercase;letter-spacing:.06em;font-size:8px}.review-photo-viewer img{border:1px solid #1e3a4f;border-radius:8px;width:100%}.review-photo-pdf-link{color:var(--cyan-light);background:#071827;border:1px solid #35677d;border-radius:7px;padding:10px 12px;display:inline-flex}.review-photo-evidence{gap:4px;display:grid}.review-photo-evidence>span{color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.review-photo-evidence ul{gap:3px;margin:0;padding-left:16px;display:grid}@media (width<=980px){.review-layout{grid-template-columns:1fr}.review-photo-viewer{position:static}}.assessment-home-body{gap:20px;max-width:640px;margin:0 auto;padding:32px 20px 80px;display:grid}.assessment-list{gap:10px;display:grid}.assessment-list-row{text-align:left;color:#eaf3f8;cursor:pointer;background:#0a162699;border:1px solid #1b344a;border-radius:12px;gap:4px;padding:16px 18px;display:grid}.assessment-list-row:hover,.assessment-list-row:focus-visible{border-color:var(--cyan);outline:none}.assessment-list-title{font-size:15px;font-weight:700}.assessment-list-meta{color:var(--muted);text-transform:capitalize;font-size:12px}.assessment-wizard{color:#eaf3f8;background:#06101d;flex-direction:column;min-height:100dvh;display:flex}.assessment-wizard-header{top:env(safe-area-inset-top,0px);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040c16f7;border-bottom:1px solid #1b344a;align-items:center;gap:14px;padding:14px 16px;display:flex;position:sticky}.assessment-exit{color:#a9bdcc;background:0 0;border:1px solid #28455c;border-radius:8px;min-height:40px;padding:0 10px;font-size:13px;font-weight:700}.assessment-progress{flex:1;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex}.assessment-score-chip{color:var(--cyan-light);background:#22d3ee1f;border-radius:999px;padding:4px 10px;font-size:12px}.assessment-wizard-body{flex:1;width:100%;max-width:560px;margin:0 auto;padding:20px 18px 100px}.assessment-message{color:var(--cyan-light);margin-bottom:14px;font-size:13px}.assessment-section{gap:22px;display:grid}.assessment-field{gap:8px;font-size:13px;font-weight:650;display:grid}.assessment-field>span em{color:#ff9f9f;font-style:normal}.assessment-hint{color:var(--muted);margin-top:-4px;font-size:12px;font-weight:500}.assessment-field input[type=text],.assessment-field input[type=number],.assessment-field select,.assessment-field textarea{color:#fff;background:#0a162699;border:1px solid #28455c;border-radius:10px;min-height:52px;padding:12px 14px;font-size:16px}.assessment-field textarea{resize:vertical;min-height:100px}.assessment-field input:focus,.assessment-field select:focus,.assessment-field textarea:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #22d3ee1f}.assessment-yesno{gap:10px;display:flex}.assessment-yesno button{color:#a9bdcc;background:#0a162699;border:1px solid #28455c;border-radius:10px;flex:1;min-height:52px;font-size:15px;font-weight:700}.assessment-yesno button.is-selected{border-color:var(--cyan);color:#fff;background:#22d3ee24}.assessment-photo-field{gap:10px;display:grid}.assessment-photo-add{min-height:48px}.assessment-photo-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.assessment-photo-list li{background:#0a162680;border:1px solid #1b344a;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.assessment-photo-list button{color:#ff9f9f;background:#ff94941f;border:none;border-radius:6px;min-width:28px;min-height:28px;font-size:16px;line-height:1}.assessment-repeatable{gap:16px;display:grid}.assessment-repeatable-entry{background:#0a162666;border:1px solid #1b344a;border-radius:12px;gap:14px;padding:14px;display:grid}.assessment-repeatable-head{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.assessment-repeatable-remove{color:#ff9f9f;background:0 0;border:none;font-size:12px;font-weight:700}.assessment-wizard-footer{bottom:env(safe-area-inset-bottom,0px);padding:14px 18px calc(14px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040c16f7;border-top:1px solid #1b344a;gap:12px;display:flex;position:sticky}.assessment-wizard-footer .btn{flex:1;min-height:52px}.assessment-review{gap:18px;display:grid}.assessment-score-summary{font-size:15px}.assessment-flagged{background:#ff94940f;border:1px solid #ff949466;border-radius:10px;padding:14px;font-size:13px}.assessment-flagged ul{margin:8px 0 0;padding-left:18px}.assessment-flagged-none{color:var(--cyan-light);font-size:13px}.assessment-review-section{border-top:1px solid #1b344a;padding-top:12px}.assessment-review-section h3{margin-bottom:8px;font-size:14px}.assessment-review-section p{color:var(--muted);margin:4px 0;font-size:13px}.assessment-review-missing{color:#ff9f9f!important}.assessment-note{color:var(--muted);font-size:11px}.assessment-loading{text-align:center;color:var(--muted);padding:60px 20px}@media print{body{background:#fff!important}.admin-topbar,.admin-sidebar,.workspace-head,.workspace-tabs,.capacity-banner,.text-export{display:none!important}.admin-shell{min-height:0;display:block}.admin-workspace{color:#0a1620;width:100%;padding:0}.admin-panel,.calculation-sheet,.drawing-sheet,.material-sheet,.metric-grid article{color:#0a1620;box-shadow:none;background:#fff;border-color:#456}.calculation-sheet th,.material-sheet td,.calculation-sheet>p,.material-note p{color:#2d4556}.calculation-sheet td,.material-sheet td:nth-child(2){color:#0a1620}.one-line{background:#fff}.diagram-node{color:#0a1620;background:#fff;border-color:#0a1620}.diagram-bus span{color:#2d4556;background:#fff}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.input-warnings{gap:10px;margin:-8px 0 22px;display:grid}.input-warning{border:1px solid;border-radius:8px;justify-items:start;gap:6px;padding:13px 16px;display:grid}.input-warning strong{font-size:13px}.input-warning p{color:#c4d1dc;margin:0;font-size:12px;line-height:1.5}.input-warning button{color:#06101d;background:var(--cyan);cursor:pointer;border:none;border-radius:6px;min-height:30px;padding:0 11px;font-weight:700}.warning-error{color:#ffb37a;background:#5c2d0e4d;border-color:#ff965073}.warning-caution{color:#f3cf6a;background:#51411238;border-color:#f3cf6a59}@media print{.input-warnings{display:none!important}}.review-chip.has-tip{cursor:help;background:0 0;position:relative}.review-chip.has-tip:after{content:attr(data-help);z-index:40;visibility:hidden;opacity:0;color:#d8e7ee;text-align:left;text-transform:none;letter-spacing:0;white-space:pre-line;pointer-events:none;background:#061522;border:1px solid #35627a;border-radius:8px;width:min(320px,72vw);padding:12px 13px;font:600 11px/1.55 Inter,ui-sans-serif,system-ui,sans-serif;transition:opacity .15s,visibility .15s;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 44px #00000080}.review-chip.has-tip:hover:after,.review-chip.has-tip:focus:after,.review-chip.has-tip:focus-visible:after{visibility:visible;opacity:1}@media (width<=720px){.review-chip.has-tip:after{width:auto;max-height:60vh;position:fixed;inset:auto 14px 14px;overflow-y:auto}}.label-with-help{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.routing-after-planner{margin-top:22px}.analysis-table{gap:8px;margin-top:18px;display:grid}.analysis-row{border:1px solid #ffffff1f;border-radius:8px;grid-template-columns:minmax(130px,1fr) minmax(0,1fr) minmax(0,1.4fr);align-items:baseline;gap:12px;padding:10px 14px;display:grid}.analysis-row span{color:#9fb3c4;font-size:12px}.analysis-row strong{overflow-wrap:anywhere;font-size:14px}.analysis-row small{color:#8197a8;font-size:11px}.analysis-row.is-blank{border-style:dashed}.analysis-row.is-blank strong{color:#f3cf6a;font-weight:600}.analysis-next{justify-content:flex-end;display:flex}@media (width<=720px){.analysis-row{grid-template-columns:1fr;gap:3px}.help-tip:after{width:auto;max-height:60vh;position:fixed;inset:auto 14px 14px;overflow-y:auto;transform:translateY(4px)}.help-tip:hover:after,.help-tip:focus:after,.help-tip:focus-visible:after{transform:translateY(0)}}.provisional-tag{letter-spacing:.06em;text-transform:uppercase;color:#06101d;background:#f3cf6a;border-radius:99px;width:fit-content;margin:0 0 12px;padding:4px 10px;font-size:11px;font-weight:800}.calculation-layout.is-provisional .metric-grid article{border-style:dashed}.review-gate-checklist li button{cursor:pointer}.custom-charger{background:#51411229;border:1px solid #f3cf6a73;border-radius:10px;gap:12px;padding:16px 18px;display:grid}.custom-charger-head{align-items:center;gap:10px;display:flex}.custom-charger p{color:#c4d1dc;margin:0;font-size:12px;line-height:1.5}.required-badge{letter-spacing:.06em;text-transform:uppercase;color:#06101d;background:#f3cf6a;border-radius:99px;padding:2px 8px;font-size:10px;font-weight:800}.custom-charger-status{color:var(--cyan)}.custom-charger-source{color:#9fb3c4;font-size:12px}.custom-charger-warnings{color:#f3cf6a;background:#51411238;border:1px solid #f3cf6a59;border-radius:8px;margin:0;padding:10px 14px 10px 28px;font-size:12px;line-height:1.5}.custom-charger-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.custom-charger-grid .field-wide{grid-column:1/-1}.custom-charger-grid .is-gap{border-color:#ff9696;box-shadow:0 0 0 1px #ff969666}.custom-charger-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.custom-charger-actions .primary{color:#06101d;background:var(--cyan);cursor:pointer;border:none;border-radius:8px;min-height:36px;padding:0 16px;font-weight:800}.custom-charger-actions .primary:disabled{opacity:.45;cursor:not-allowed}.custom-charger-actions small{color:#ff9696}.custom-charger-save{color:#66eb8e;background:#13412b42;border:1px solid #49e77d59;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12px;display:flex}.custom-charger-save button{color:#06101d;background:var(--cyan);cursor:pointer;border:none;border-radius:6px;min-height:30px;padding:0 12px;font-weight:700}.link-button{color:var(--cyan);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;text-decoration:underline}.port-note{color:#c4d1dc;border:1px solid #ffffff24;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:12px;line-height:1.5}.port-note.is-warning{color:#f3cf6a;background:#51411238;border-color:#f3cf6a59}@media (width<=720px){.custom-charger-grid{grid-template-columns:1fr}}.custom-charger-suggest{color:#c4d1dc;background:#143c5a40;border:1px solid #66d4ff59;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.custom-charger-suggest button{color:#06101d;background:var(--cyan);cursor:pointer;border:none;border-radius:6px;min-height:30px;padding:0 12px;font-weight:700}.custom-charger-notes{color:#8197a8;font-size:12px}.custom-charger-notes summary{cursor:pointer}.custom-charger-notes ul{gap:6px;margin:8px 0 0;padding-left:18px;line-height:1.5;display:grid}.guided-camera-card{background:#143c5a40;border:1px solid #66d4ff59;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:18px 0;padding:14px 16px;display:flex}.guided-camera-card div{gap:4px;max-width:520px;display:grid}.guided-camera-card span{color:#9fb3c4;font-size:12px;line-height:1.5}.clarity-warning{color:#f3cf6a;background:#51411238;border:1px solid #f3cf6a59;border-radius:8px;grid-column:1/-1;margin:8px 0 0;padding:8px 12px;font-size:12px;line-height:1.5}.clarity-warnings{color:#f3cf6a;background:#51411238;border:1px solid #f3cf6a59;border-radius:8px;margin:8px 0 0;padding:8px 12px 8px 26px;font-size:12px;line-height:1.5}.assessment-photo-buttons{flex-wrap:wrap;gap:10px;display:flex}.capture-overlay{z-index:1000;color:#e6f0f6;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);background:#050b12;flex-direction:column;display:flex;position:fixed;inset:0}.capture-top{align-items:center;gap:10px;padding:10px 12px 6px;display:flex}.capture-close{color:#e6f0f6;cursor:pointer;background:#ffffff1a;border:none;border-radius:10px;min-height:40px;padding:0 14px;font-weight:700}.capture-steps{scrollbar-width:none;flex:1;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.capture-steps::-webkit-scrollbar{display:none}.capture-steps button{white-space:nowrap;color:#9fb3c4;cursor:pointer;background:#ffffff0f;border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;min-height:40px;padding:0 12px;font-size:12px;display:flex}.capture-steps span{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid}.capture-steps .is-current button{color:#06101d;background:var(--cyan)}.capture-steps .is-done button{color:#66eb8e}.capture-instruction{gap:4px;margin:4px 14px 10px;font-size:15px;line-height:1.45;display:grid}.capture-instruction strong{color:var(--cyan);font-size:13px}.capture-stage{background:#000;border-radius:14px;flex:1;place-items:center;min-height:0;margin:0 12px;display:grid;position:relative;overflow:hidden}.capture-stage video,.capture-preview{object-fit:cover;width:100%;height:100%}.capture-stage video.is-hidden{display:none}.capture-preview{object-fit:contain}.capture-guide{pointer-events:none;border:3px solid #f3cf6ae6;border-radius:12px;transition:border-color .2s,box-shadow .2s;position:absolute;inset:14% 8%}.capture-guide.is-close{inset:28% 10%}.capture-guide.is-ready{border-color:#49e77d;box-shadow:0 0 0 4px #49e77d40}.capture-overlay-text{text-align:center;color:#c4d1dc;padding:20px;font-size:15px;line-height:1.5}.capture-status{text-align:center;border-radius:12px;margin:10px 14px 0;padding:12px 14px;font-size:16px;font-weight:700;line-height:1.4}.capture-status.is-wait{color:#f3cf6a;background:#5141124d}.capture-status.is-ready{color:#66eb8e;background:#13412b59}.capture-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:12px 14px 16px;display:flex}.capture-shutter{color:#06101d;background:var(--cyan);cursor:pointer;border:none;border-radius:14px;flex:180px;min-height:56px;font-size:17px;font-weight:800}.capture-shutter:disabled{color:#6f8391;cursor:not-allowed;background:#13222e}.capture-secondary{color:#e6f0f6;cursor:pointer;background:#ffffff1a;border:none;border-radius:12px;min-height:48px;padding:0 16px;font-weight:700}.capture-done{color:#06101d;cursor:pointer;background:#66eb8e;border:none;border-radius:12px;min-height:48px;padding:0 16px;font-weight:800}.capture-auto{color:#9fb3c4;align-items:center;gap:8px;font-size:13px;display:flex}.capture-debug{color:#8197a8;text-align:center;margin:6px 14px 0;font:11px/1.4 ui-monospace,monospace}.capture-info{text-align:center;color:#8197a8;margin:4px 14px 0;font-size:12px}.capture-error{color:#ff9696;background:#5b191e4d;border:1px solid #ff6e6e73;border-radius:10px;margin:8px 14px 0;padding:10px 14px;font-size:13px;line-height:1.5}.feedback-fab{z-index:900;writing-mode:vertical-rl;color:#06101d;background:var(--cyan);letter-spacing:.04em;cursor:pointer;border:none;border-radius:0 12px 12px 0;min-width:44px;padding:14px 0;font-weight:800;position:fixed;top:42%;right:0;transform:rotate(180deg);box-shadow:0 8px 28px #00000073}.feedback-backdrop{z-index:950;background:#02080eb8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.feedback-dialog{width:min(520px,100%);max-height:100%;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;overflow-y:auto}.feedback-dialog header{justify-content:space-between;align-items:center;gap:12px;display:flex}.feedback-dialog h2{margin:0;font-size:20px}.feedback-dialog>p{color:var(--muted);margin:8px 0 14px;font-size:13px;line-height:1.5}.feedback-close{min-height:36px;color:var(--text);cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;padding:0 14px;font-weight:700}.feedback-form{gap:14px;display:grid}.feedback-kind{border:none;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.feedback-kind legend{width:100%;color:var(--muted);margin-bottom:6px;font-size:12px}.feedback-kind label{border:1px solid var(--line);cursor:pointer;border-radius:10px;flex:140px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:700;display:flex}.feedback-kind label.is-selected{color:#06101d;background:var(--cyan);border-color:var(--cyan)}.feedback-kind input{accent-color:#06101d}.feedback-field{color:var(--muted);gap:6px;font-size:13px;display:grid}.feedback-field textarea,.feedback-field input{width:100%;color:var(--text);border:1px solid var(--line);font:inherit;background:#08141f;border-radius:8px;padding:10px 12px}.feedback-field textarea{resize:vertical;min-height:120px}.feedback-optional{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.feedback-error{color:#ff9696;font-size:12px}.feedback-failure{color:#ff9696;background:#5b191e4d;border:1px solid #ff6e6e73;border-radius:10px;margin:0;padding:10px 14px;font-size:13px;line-height:1.5}.feedback-submit{color:#06101d;background:var(--cyan);cursor:pointer;border:none;border-radius:10px;min-height:48px;font-size:16px;font-weight:800}.feedback-submit:disabled{opacity:.55;cursor:wait}.feedback-honey{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.feedback-sent{background:#13412b4d;border:1px solid #49e77d66;border-radius:12px;gap:10px;padding:18px;display:grid}.feedback-sent p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.feedback-secondary{width:fit-content;min-height:40px;color:var(--text);cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;padding:0 16px;font-weight:700}@media (width<=560px){.feedback-optional{grid-template-columns:1fr}}@media print{.feedback-fab,.feedback-backdrop{display:none!important}}.admin-alert{color:#ffd0d0;z-index:800;background:#6e1c22eb;border-bottom:2px solid #ff7a7a;justify-content:space-between;align-items:flex-start;gap:14px;margin:0;padding:12px 18px;font-size:14px;font-weight:650;line-height:1.5;display:flex;position:sticky;top:0}.admin-alert button{color:#1b0b0d;cursor:pointer;background:#ffd0d0;border:none;border-radius:8px;flex:none;min-height:34px;padding:0 14px;font-weight:800}.mobile-status{color:#9fb3c4;background:#ffffff0a;margin:0;padding:8px 18px;font-size:13px;line-height:1.4;display:none}.project-list-error{color:#ffb3b3;background:#5b191e4d;border:1px solid #ff6e6e73;border-radius:8px;margin:8px 0;padding:10px 12px;font-size:12px;line-height:1.5}.project-list-error p{margin:0 0 8px}.project-list-error button{color:#1b0b0d;cursor:pointer;background:#ffd0d0;border:none;border-radius:6px;min-height:30px;padding:0 12px;font-weight:800}.footer-link+.footer-link{margin-left:18px}@media (width<=720px){.mobile-status{display:block}}@media print{.admin-alert,.mobile-status{display:none!important}}.assessment-savestate{color:#8197a8;min-height:18px;margin:0 0 6px;font-size:12px}.assessment-savestate.is-pending,.assessment-savestate.is-saving{color:#f3cf6a}.assessment-savestate.is-saved{color:#66eb8e}.assessment-savestate.is-failed{color:#ff9696;font-weight:800}.assessment-photo-progress{color:var(--cyan);margin:0 0 6px;font-size:13px;font-weight:700}.assessment-flagged li{gap:4px;margin-bottom:12px;display:grid}.assessment-flag-why{opacity:.85;font-size:13px;line-height:1.45}.assessment-flagged li .btn{justify-self:start}.assessment-review-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.assessment-review-edit{min-height:36px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:8px;flex:none;padding:0 12px;font-weight:700}.assessment-submitted{gap:14px;padding:8px 0 24px;display:grid}.assessment-submitted h2{margin:0}.assessment-submitted-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.assessment-alert{color:#ffd0d0;z-index:5;background:#6e1c22f2;border:1px solid #ff7a7a;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 12px;padding:10px 14px;font-size:14px;font-weight:650;line-height:1.45;display:flex;position:sticky;top:0}.assessment-alert button{color:#1b0b0d;cursor:pointer;background:#ffd0d0;border:none;border-radius:8px;flex:none;min-height:34px;padding:0 14px;font-weight:800}.assessment-load-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.admin-notice{color:#f3cf6a;background:#5141128c;border-bottom:1px solid #f3cf6a80;justify-content:space-between;align-items:flex-start;gap:14px;margin:0;padding:10px 18px;font-size:13px;line-height:1.5;display:flex}.admin-notice button{color:#1b150a;cursor:pointer;background:#f3cf6a;border:none;border-radius:8px;flex:none;min-height:30px;padding:0 12px;font-weight:800}@media print{.admin-notice{display:none!important}}.subpanel-list{gap:12px;margin:14px 0;display:grid}.subpanel-card{border:1px solid var(--line,#1f3a4d);background:#ffffff08;border-radius:10px;padding:14px}.subpanel-card textarea{width:100%}.subpanel-remove{color:#ffb3b3;cursor:pointer;background:0 0;border:1px solid #ff6e6e73;border-radius:8px;min-height:36px;margin-top:10px;padding:0 14px;font-weight:700}.subpanel-empty{color:#8197a8;margin:0;font-size:13px}.subpanel-verdict{background:#13412b40;border:1px solid #49e77d66;border-radius:10px;gap:6px;margin-top:16px;padding:14px 16px;display:grid}.subpanel-verdict.is-flag{background:#51411240;border-color:#f3cf6a80}.subpanel-verdict small{color:#9fb3c4;font-size:12px;line-height:1.5}.subpanel-flag{color:#f3cf6a;margin:4px 0 0;font-size:12px;line-height:1.5}.summary-panels{border:1px solid #ffffff1f;border-radius:12px;gap:6px;padding:14px 18px;display:grid}.summary-panels span{letter-spacing:.1em;text-transform:uppercase;color:#8197a8;font-size:11px;font-weight:800}.summary-panels p{margin:0;font-size:13px;line-height:1.5}.summary-panels p.is-flag{color:#f3cf6a;font-weight:700}.projects-home-body{gap:16px;width:min(980px,100%);margin:0 auto;padding:24px 18px 60px;display:grid}.projects-home-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.projects-new{align-items:center;min-height:44px;padding:0 18px;text-decoration:none;display:inline-flex}.projects-filter{min-height:44px;color:inherit;border:1px solid var(--line,#1f3a4d);font:inherit;background:#08141f;border-radius:10px;flex:240px;padding:0 14px}.projects-list{gap:10px;display:grid}.projects-row{border:1px solid var(--line,#1f3a4d);background:#ffffff08;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.projects-row-main{flex:280px;gap:4px;min-width:0;display:grid}.projects-row-main strong{font-size:17px}.projects-row-main span{color:#c4d1dc;font-size:14px}.projects-row-main small{color:#8197a8;font-size:12px}.projects-row-actions{align-items:center;gap:10px;display:flex}.projects-row-actions a{align-items:center;min-height:40px;padding:0 16px;text-decoration:none;display:inline-flex}.projects-delete{color:#ffb3b3;cursor:pointer;background:0 0;border:1px solid #ff6e6e73;border-radius:8px;min-height:40px;padding:0 16px;font-weight:700}.projects-delete:disabled{opacity:.5;cursor:wait}.projects-note{color:#8197a8;margin:0;font-size:12px}.subpanel-new{grid-column:1/-1;align-items:flex-start;gap:10px;font-size:13px;display:flex}.subpanel-new input{margin-top:3px}.subpanel-new small{color:#8197a8;margin-top:2px;font-size:12px;display:block}.subpanel-flows{color:#c4d1dc!important}.diagram-node.feeder-node,.diagram-node.subpanel-node{border-color:var(--cyan)}.diagram-node.feeder-node{text-align:center;max-width:360px}.summary-one-line>b small{color:#8197a8;margin-top:2px;font-size:10px;font-weight:500;display:block}.quote-subpanel-gap{color:#7a4b00;background:#fff4d6;border:1px solid #e0b34a;border-radius:8px;margin:12px 0;padding:10px 14px;font-size:13px;font-weight:700;line-height:1.5}.route-totals{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0;display:grid}.route-totals>div{border:1px solid var(--line,#1f3a4d);background:#ffffff08;border-radius:10px;gap:3px;padding:12px 14px;display:grid}.route-totals span{letter-spacing:.08em;text-transform:uppercase;color:#8197a8;font-size:11px;font-weight:800}.route-totals strong{font-size:22px}.route-totals small{color:#8197a8;font-size:11px}.route-totals .is-assumed{background:#51411238;border-color:#f3cf6a8c}.route-empty-note{color:#c4d1dc;margin:0 0 12px;font-size:13px}.route-warnings{color:#f3cf6a;background:#51411238;border:1px solid #f3cf6a59;border-radius:10px;gap:4px;margin:0 0 14px;padding:10px 14px 10px 30px;font-size:12px;line-height:1.5;display:grid}.route-run{border:1px solid var(--line,#1f3a4d);border-radius:12px;gap:12px;margin-top:12px;padding:14px;display:grid}.route-run.is-empty p{color:#c4d1dc;margin:0;font-size:13px}.route-segment{background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;gap:8px;padding:12px;display:grid}.route-segment-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.route-segment-head span{color:#8197a8;flex:200px;font-size:12px}.route-assumed{color:#f3cf6a;font-size:12px}.route-notice{color:#f3cf6a;background:#51411240;border:1px solid #f3cf6a73;border-radius:10px;margin:0;padding:10px 14px;font-size:13px}.route-notice button{min-height:32px;color:inherit;cursor:pointer;background:0 0;border:1px solid #f3cf6a;border-radius:8px;margin-left:8px;padding:0 12px;font-weight:700}.route-run-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.route-remove{color:#ffb3b3;cursor:pointer;background:0 0;border:1px solid #ff6e6e73;border-radius:8px;min-height:36px;padding:0 14px;font-weight:700}.route-feeder{margin-top:18px}.route-feeder h3,.route-preview h3{margin:0 0 6px;font-size:16px}.route-feeder p,.route-preview p{color:#9fb3c4;margin:0 0 8px;font-size:13px}.route-chargers{margin-top:16px}.route-chargers summary{cursor:pointer;font-weight:700}.route-table-scroll{max-height:280px;margin-top:8px;overflow:auto}.route-chargers table,.route-preview table{border-collapse:collapse;width:100%;font-size:13px}.route-chargers th,.route-chargers td,.route-preview td{text-align:left;border-bottom:1px solid #ffffff14;padding:8px 10px}.route-chargers tr.is-current td{background:#66d4ff1a}.route-chargers button{border:1px solid var(--line,#1f3a4d);min-height:30px;color:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 12px}.route-preview{margin-top:20px}.route-preview table{margin-bottom:14px}.route-preview caption{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:#8197a8;padding:6px 0;font-size:11px;font-weight:800}.route-qty{white-space:nowrap;font-weight:700}.route-qty em{color:#f3cf6a;font-style:normal;font-weight:600}@media (width<=720px){.route-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}.route-derived.is-updating,.route-preview.is-updating{opacity:.75;transition:opacity .15s}.route-preview{content-visibility:auto;contain-intrinsic-size:auto 600px}.route-material-head td{color:#c4d1dc;background:#66d4ff12;padding:12px 10px;font-size:12px;line-height:1.5}.route-material-head ul{color:#f3cf6a;margin:6px 0 0;padding-left:18px}.route-material-group td{letter-spacing:.08em;text-transform:uppercase;color:#8197a8;padding:8px 10px;font-size:11px;font-weight:800}.route-override{gap:2px;margin-bottom:6px;display:grid}.route-override small{color:#8197a8;font-size:10px}.route-assumed-flag{color:#f3cf6a;font-style:normal;font-weight:600}.routing-sheet figure{margin:18px 0 0}.routing-sheet svg{color:#d8e6ef;width:100%;height:auto;font-family:Helvetica,Arial,sans-serif;display:block}.routing-sheet figcaption{color:#71889b;margin-top:6px;font-size:11px}.quote-custom,.quote-discount,.quote-tax-lines,.quote-install{gap:8px;display:grid}.quote-custom-row{grid-template-columns:minmax(0,2fr) 70px 110px auto auto;align-items:center;gap:8px;display:grid}.quote-discount .quote-custom-row{grid-template-columns:minmax(0,2fr) 110px 100px}.quote-check{align-items:center;gap:8px;font-weight:600;display:flex}.quote-check input{width:auto}.quote-tax-lines{border:1px solid #ffffff2e;border-radius:10px;padding:12px}.quote-tax-note{font-size:13px;line-height:1.5}@media (width<=640px){.quote-custom-row,.quote-discount .quote-custom-row{grid-template-columns:1fr 1fr}.quote-custom-row input:first-child{grid-column:1/-1}}.planner-hint{opacity:.9;margin:6px 0;font-size:13px;line-height:1.5}.planner-placed{flex-wrap:wrap;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.planner-placed li{border:1px solid #fff3;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:13px;display:flex}.planner-placed input{border:1px solid var(--cyan);width:170px;min-height:32px;color:inherit;font:inherit;background:#ffffff0f;border-radius:6px;padding:0 8px}.planner-placed button{min-height:32px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;padding:0 8px}.planner-upload{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;font-size:13px;display:flex}.planner-upload-error{color:#ff9b9b;font-weight:700}.freehand-board{color:var(--cyan);cursor:crosshair;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:5% 5%}.freehand-board svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}
