@import "https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--forest:#0d3328;--forest-deep:#08251e;--cream:#f4f1e9;--paper:#fffdf8;--ink:#16231f;--muted:#68736e;--orange:#e8621b;--amber:#f3b443;--line:#d9ddd5}*{box-sizing:border-box}html{background:var(--cream);min-height:100%}body{color:var(--ink);background:radial-gradient(circle at 85% 5%,#e8621b1a,#0000 22rem),linear-gradient(135deg,#f8f5ed 0%,#eee9de 100%);margin:0;font-family:DM Sans,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,1080px);min-height:100vh;padding:max(18px,env(safe-area-inset-top)) clamp(18px,4vw,48px) max(20px,env(safe-area-inset-bottom));margin:0 auto}.masthead{border-bottom:1px solid #0d332829;align-items:center;gap:12px;padding-bottom:22px;display:flex}.brand-mark{width:46px;height:46px;color:var(--cream);background:var(--forest);clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%);place-items:center;display:grid}.brand-mark span{letter-spacing:-1px;font:700 22px/1 Archivo Narrow,sans-serif}.eyebrow,.kicker{color:var(--orange);letter-spacing:.14em;margin:0;font:700 11px/1.2 Archivo Narrow,sans-serif}.masthead h1{text-transform:uppercase;letter-spacing:.02em;margin:2px 0 0;font:700 24px/1 Archivo Narrow,sans-serif}.read-only{color:var(--forest);letter-spacing:.12em;border:1px solid;margin-left:auto;padding:7px 9px;font:700 10px/1 Archivo Narrow,sans-serif}.install-card{color:var(--cream);background:var(--forest);grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin:18px 0 0;padding:15px 44px 15px 15px;display:grid;position:relative;box-shadow:0 10px 28px #08251e26}.install-card strong{text-transform:uppercase;font:700 18px/1.1 Archivo Narrow,sans-serif;display:block}.install-card p{color:#d8e1dc;margin:4px 0 0;font-size:12px}.install-icon{border:1px solid #ffffff59;place-items:center;width:34px;height:34px;font-size:23px;display:grid}.dismiss{color:#fff;background:0 0;border:0;font-size:22px;position:absolute;top:6px;right:8px}.install-button{color:var(--forest-deep);background:var(--amber);border:0;padding:10px 13px;font-weight:800}.hero{grid-template-columns:1fr .95fr;align-items:center;gap:clamp(28px,7vw,86px);padding:clamp(45px,8vw,88px) 0 42px;display:grid}.kicker{color:var(--forest);align-items:center;gap:8px;display:flex}.kicker span{background:var(--orange);width:25px;height:3px}.hero-copy h2{text-transform:uppercase;letter-spacing:-.035em;margin:12px 0 20px;font:700 clamp(54px,8vw,92px)/.82 Archivo Narrow,sans-serif}.hero-copy h2 em{color:var(--orange);font-style:normal}.hero-copy>p:last-child{max-width:500px;color:var(--muted);margin:0;line-height:1.6}.scanner-panel{background:var(--paper);border:1px solid #0d332826;padding:clamp(22px,4vw,34px);position:relative;box-shadow:0 24px 70px #322d2321}.scanner-panel:before{content:"";background:var(--orange);width:58px;height:7px;position:absolute;top:-7px;left:28px}.camera-button{width:100%;min-height:76px;color:var(--cream);background:var(--forest);text-transform:uppercase;letter-spacing:.035em;border:0;justify-content:center;align-items:center;gap:14px;font:700 20px/1 Archivo Narrow,sans-serif;display:flex}.camera-glyph{border:2px solid;width:29px;height:21px;position:relative}.camera-glyph:before{content:"";border:2px solid;border-radius:50%;position:absolute;inset:4px 8px}.camera-glyph:after{content:"";border:2px solid;border-bottom:0;width:9px;height:4px;position:absolute;top:-6px;left:4px}.divider{color:#8b938e;letter-spacing:.12em;align-items:center;gap:10px;margin:22px 0;font:700 10px/1 Archivo Narrow,sans-serif;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}label{text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font:700 13px/1 Archivo Narrow,sans-serif;display:block}.input-row{grid-template-columns:1fr 54px;display:grid}.input-row input{width:100%;min-width:0;height:54px;color:var(--ink);border:1px solid var(--line);background:#f8f6f0;border-right:0;border-radius:0;padding:0 14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px}.input-row input:focus{outline:2px solid var(--orange);outline-offset:-2px}.input-row button{color:#fff;background:var(--orange);border:0;font-size:25px}.fixture-link{width:100%;color:var(--forest);text-underline-offset:3px;background:0 0;border:0;margin-top:16px;font-size:12px;text-decoration:underline}.fixture-link span{font-family:ui-monospace,monospace}.camera-stage{background:var(--forest-deep);min-height:340px;position:relative;overflow:hidden}.camera-stage video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.camera-stage>p{color:#fff;text-align:center;text-shadow:0 1px 4px #000;margin:0;font-size:12px;position:absolute;bottom:58px;left:0;right:0}.camera-stage>button{position:absolute;bottom:14px;left:18px;right:18px}.scan-frame{position:absolute;inset:16% 12% 28%}.scan-frame span{border-color:var(--amber);border-style:solid;width:42px;height:42px;position:absolute}.scan-frame span:first-child{border-width:4px 0 0 4px;top:0;left:0}.scan-frame span:nth-child(2){border-width:4px 4px 0 0;top:0;right:0}.scan-frame span:nth-child(3){border-width:0 4px 4px 0;bottom:0;right:0}.scan-frame span:nth-child(4){border-width:0 0 4px 4px;bottom:0;left:0}.state-card{background:var(--paper);border-left:5px solid var(--orange);align-items:center;gap:16px;max-width:650px;margin:0 auto 32px;padding:20px;display:flex;box-shadow:0 12px 35px #322d231a}.state-card h3,.state-card p{margin:0}.state-card h3{text-transform:uppercase;font:700 22px/1.1 Archivo Narrow,sans-serif}.state-card p{color:var(--muted);margin-top:4px;font-size:13px}.state-symbol,.loader{color:#fff;background:var(--orange);flex:0 0 34px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.loader{border:4px solid #dce5e0;border-top-color:var(--forest);background:0 0;border-radius:50%;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result{background:var(--paper);border-top:7px solid var(--forest);margin:0 0 45px;padding:clamp(22px,5vw,48px);animation:.45s both rise;box-shadow:0 24px 70px #322d2321}@keyframes rise{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.result-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:20px;padding-bottom:25px;display:flex}.result-heading h2{text-transform:uppercase;margin:7px 0 5px;font:700 clamp(30px,5vw,48px)/1 Archivo Narrow,sans-serif}.result-heading h2 span{color:var(--orange)}.result-heading code{color:var(--muted);font-size:12px}.match-badge{color:var(--forest);letter-spacing:.1em;background:#dcece4;padding:9px 11px;font:700 11px/1 Archivo Narrow,sans-serif}.measurement-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid}.measurement-grid article{border-right:1px solid var(--line);flex-direction:column;min-height:132px;padding:22px 16px;display:flex}.measurement-grid article:last-child{border-right:0}.measurement-grid span,.price-grid span,.stock-row span{color:var(--muted);font-size:12px}.measurement-grid strong{margin:auto 0 8px;font:700 31px/1 Archivo Narrow,sans-serif}.measurement-grid small{font-size:14px}.measurement-grid i,.price-grid small,.stock-row small{color:#718078;letter-spacing:.1em;font:700 9px/1 Archivo Narrow,sans-serif}.price-grid{grid-template-columns:1fr 1fr;margin:27px 0;display:grid}.price-grid article{flex-direction:column;padding:24px;display:flex}.odoo-price{background:#f0eee7}.suggested-price{color:#fff;background:var(--forest)}.suggested-price span{color:#b9c9c1}.price-grid strong{margin:7px 0;font:700 45px/1 Archivo Narrow,sans-serif}.suggested-price small{color:#d8e4de}.stock-row{border:1px solid var(--line);grid-template-columns:1fr 1fr 2fr;display:grid}.stock-row div{border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:18px;display:flex}.stock-row div:last-child{border-right:0}.stock-row strong{text-transform:uppercase;font:700 25px/1.2 Archivo Narrow,sans-serif}.warnings{border-left:5px solid var(--amber);background:#fff5df;margin-top:27px;padding:22px}.warnings h3{text-transform:uppercase;margin:0 0 12px;font:700 22px/1 Archivo Narrow,sans-serif}.warnings p{color:#554a35;margin:8px 0;font-size:13px}.warnings b{min-width:126px;color:var(--ink);display:inline-block}.warning-reference{border:1px solid var(--line);margin:12px 0 24px;padding:13px 16px;font-size:12px}.warning-reference summary{cursor:pointer;text-transform:uppercase;font-weight:700}.warning-reference p{color:var(--muted)}.secondary-button{color:#fff;background:#08251edb;border:1px solid #ffffff59;padding:11px 16px;font-weight:700}.secondary-button.full{background:var(--forest);width:100%;min-height:50px}footer{color:var(--muted);border-top:1px solid #0d332829;align-items:center;gap:15px;padding:20px 0 0;font-size:11px;display:flex}footer span{color:var(--forest);font:700 18px/1 Archivo Narrow,sans-serif}footer p{margin:0}@media (max-width:760px){.app-shell{padding-inline:15px}.hero{grid-template-columns:1fr;gap:30px;padding-top:38px}.hero-copy h2{font-size:61px}.install-card{grid-template-columns:auto 1fr}.install-button{grid-column:1/-1;width:100%}.measurement-grid{grid-template-columns:1fr 1fr}.measurement-grid article{border-bottom:1px solid var(--line);min-height:110px}.measurement-grid article:nth-child(2n){border-right:0}.measurement-grid article:last-child{grid-column:1/-1}.price-grid{grid-template-columns:1fr}.stock-row{grid-template-columns:1fr 1fr}.stock-row div:nth-child(2){border-right:0}.stock-row div:last-child{border-top:1px solid var(--line);grid-column:1/-1}.result-heading{display:block}.match-badge{margin-top:15px;display:inline-block}.warnings b{margin-bottom:2px;display:block}}@media (max-width:390px){.hero-copy h2{font-size:52px}.read-only{font-size:8px}.masthead h1{font-size:21px}.scanner-panel{padding:20px 16px}.result{padding:22px 16px}.measurement-grid strong{font-size:26px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}.install-card{top:max(8px,env(safe-area-inset-top));z-index:20;position:sticky;box-shadow:0 10px 28px #08251e33}.install-sheet-backdrop{z-index:100;background:#08251e94;align-items:end;padding:18px;display:grid;position:fixed;inset:0}.install-sheet{width:min(100%,520px);color:var(--ink);background:var(--paper);border-top:7px solid var(--orange);margin:0 auto;padding:26px;box-shadow:0 22px 70px #00000047}.install-sheet h2{text-transform:uppercase;margin:8px 0 18px;font:700 30px/1 Archivo Narrow,sans-serif}.install-sheet ol{counter-reset:install;margin:0 0 22px;padding:0;list-style:none}.install-sheet li{counter-increment:install;background:#f2efe7;margin:0 0 12px;padding:13px 12px 13px 48px;line-height:1.4;position:relative}.install-sheet li:before{content:counter(install);color:#fff;background:var(--orange);place-items:center;width:25px;height:25px;font-weight:800;display:grid;position:absolute;top:12px;left:12px}.install-sheet li span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}@media (max-width:760px){.hero{gap:26px;padding-top:30px}.hero-copy h2{font-size:clamp(48px,14vw,61px)}.install-card{grid-template-columns:auto 1fr;padding:14px 38px 14px 12px}.install-button{grid-column:1/-1;width:100%;min-height:48px;font-size:16px}.install-sheet-backdrop{padding:0}.install-sheet{padding:24px 18px max(24px,env(safe-area-inset-bottom))}}.camera-stage .qr-scanner-region-highlight{box-shadow:0 0 0 9999px #08251e52;border:3px solid var(--amber)!important}.camera-stage .qr-scanner-overlay svg{stroke:var(--orange)!important}.camera-status{padding:0 12px;font-weight:700;bottom:76px!important}.camera-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid;position:absolute;bottom:12px;left:12px;right:12px}.camera-actions .secondary-button{position:static}.photo-button{color:var(--forest-deep);background:var(--amber);border:0;padding:11px 10px;font-weight:800}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}
