:root{--ink:#1a1917;--paper:#f6f4ef;--line:#dedbd3;--muted:#6f6c65;--orange:#f36c30;--tint:#fff0e7;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}
button{border:1px solid transparent;border-radius:10px;padding:14px 20px;background:var(--orange);color:#21170f;font-weight:750;cursor:pointer}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:not-allowed}
.secondary{background:white;border-color:var(--line)}.quiet{background:transparent;padding:8px 10px;font-size:13px}.danger{color:#9b3525}.muted{color:var(--muted)}[hidden]{display:none!important}
header{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:22px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:var(--ink);color:white}
.customer-nav{display:flex;align-items:center;flex-wrap:wrap;gap:16px;font-size:13px}.customer-nav a{color:#d8d4cc;text-decoration:none;padding:8px 0}.customer-nav a[aria-current=page]{color:white}.customer-nav a:hover{text-decoration:underline}.customer-nav .badge{margin-left:5px}
.brand{color:white;text-decoration:none;font-weight:900;letter-spacing:.08em;font-size:18px}.brand span{color:var(--orange)}.badge{font-size:10px;border:1px solid #666157;border-radius:5px;padding:5px 8px;letter-spacing:.12em}.account{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px}.account .quiet{color:white}
main{max-width:1180px;margin:auto;padding:50px 24px}.intro{max-width:760px}.eyebrow{font-weight:800;font-size:11px;letter-spacing:.18em;color:var(--muted)}
h1{font-size:clamp(36px,5.5vw,66px);letter-spacing:-.045em;line-height:1.07;margin:15px 0 22px}h1 em{font-style:normal;color:#bc481e}.intro>p:last-child{font-size:18px;line-height:1.6;color:var(--muted);max-width:620px}h2{font-size:25px;letter-spacing:-.03em;margin:8px 0 18px}h3{font-size:20px}p{line-height:1.6}
.steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:35px 0 28px;border-block:1px solid var(--line)}.steps li{padding:18px 12px;font-size:13px;font-weight:700}.steps b{color:#bd481e;margin-right:10px}
.notice{padding:14px 18px;border:1px solid var(--line);border-radius:10px;background:white;font-size:14px;line-height:1.6}.notice.error{border-color:#c76953;background:#fff2ed}
.upload-feedback{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow-wrap:anywhere}.upload-feedback-heading{display:flex;align-items:center;gap:10px}.upload-feedback p{margin:8px 0 0}.upload-feedback progress{display:block;width:100%;height:14px;margin-top:12px;accent-color:var(--orange)}.upload-feedback[data-state=complete]{border-color:#8ab79a;background:#f0f8f2}.upload-feedback[data-state=complete] strong{color:#24623b}.upload-feedback[data-state=complete] progress{accent-color:#317d4b}.upload-feedback[data-state=error]{border-color:#c76953;background:#fff2ed}.upload-feedback .spinner{width:18px;height:18px}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px;margin-top:24px}.workspace-actions{text-align:right}.card{border:1px solid var(--line);background:white;border-radius:18px;padding:28px;min-width:0}
fieldset{border:0;padding:0;margin:0;min-width:0}label{display:block;font-size:14px;font-weight:700;margin:18px 0 8px}label .muted{font-size:12px;font-weight:400}
input:not([type=checkbox]):not([type=file]),select,textarea{width:100%;border:1px solid #c9c5bc;background:#fff;border-radius:8px;padding:12px;color:var(--ink);margin-top:7px}textarea{resize:vertical;line-height:1.6}
.upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--paper);border:1px dashed #aaa59b;border-radius:12px;min-height:190px;text-align:center;overflow:hidden;margin:0 0 24px;padding:20px;cursor:pointer}.upload-zone span:last-of-type{font-size:12px;font-weight:400;color:var(--muted)}.upload-zone strong{overflow-wrap:anywhere}.upload-zone:focus-within{outline:3px solid #f6b08d;outline-offset:2px}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-icon{font-size:28px;color:#bc481e}
.check{display:flex;gap:11px;align-items:flex-start;font-weight:400;font-size:12px;line-height:1.6;margin:22px 0}.check input{margin-top:4px;accent-color:var(--orange)}#start{width:100%}.small{font-size:12px;line-height:1.6}
.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.section-heading h2{overflow-wrap:anywhere}.history h2{font-size:19px}.history-row{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--paper);margin:10px 0;padding:13px;color:var(--ink)}.history-row strong,.history-row span{display:block;overflow-wrap:anywhere}.history-row span{font-size:11px;color:var(--muted);margin-top:6px;font-weight:400}.aside-note{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;line-height:1.6;font-size:13px}.aside-note p{color:var(--muted)}
#job-panel{margin-top:24px;scroll-margin-top:24px}.processing{display:flex;align-items:center;gap:12px;background:var(--paper);padding:16px;border-radius:10px;margin:20px 0;font-size:14px;line-height:1.6}.spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--orange);border-radius:50%;animation:spin .9s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}
.sheet-search{max-width:560px}.sheet-list{max-height:460px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:6px 14px;margin-top:16px}.sheet-choice{display:flex;gap:12px;border-bottom:1px solid #eee;padding:12px 0;line-height:1.5;font-size:12px;align-items:center}.sheet-choice:last-child{border-bottom:0}.sheet-choice label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;margin:0;font-size:12px;line-height:1.6;font-weight:400;flex:1;min-width:0}.sheet-choice label span{overflow-wrap:anywhere}.sheet-choice input{accent-color:var(--orange);margin-top:4px;flex-shrink:0}.sheet-choice b{white-space:nowrap}
.source-button{color:#a8421f;display:block;background:none;border:0;padding:5px 0;text-align:left;text-decoration:underline;font-size:12px;line-height:1.5}.questions:not(:empty){background:#fff5ec;border-left:3px solid var(--orange);padding:12px 18px;margin:22px 0;line-height:1.7;font-size:13px}.questions ul{padding-left:18px}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.measure-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}.measure-heading h3{margin:0}.measure-heading .actions{margin:0;flex-shrink:0}.measure-heading .small{max-width:560px;margin-bottom:0}
.save-state{font-size:12px;color:var(--muted);padding:11px 14px;border-radius:8px;background:var(--paper);margin:16px 0}.save-state.unsaved{background:var(--tint);color:#99401c}
.measurement-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.measure-canvas{border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0;background:white;position:relative;min-height:320px}.measure-canvas>.processing{margin:20px}.measure-canvas>#retry-viewer{margin:0 20px 20px}#measure-frame{display:block;border:0;width:100%;height:82vh;height:82dvh;min-height:700px;background:#f8fafc}.measure-canvas:fullscreen{border:0;border-radius:0;background:white;min-width:100vw;min-height:100vh}.measure-canvas:fullscreen #measure-frame{height:100vh;height:100dvh;min-height:0}
.interpretation-card{padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:12px;max-height:90vh;overflow:auto}.interpretation-card h3{font-size:19px;margin-top:0}.interpretation-card>button{width:100%;font-size:13px;padding:12px}.interpretation-card #interpret-summary{font-size:13px;line-height:1.7}.specification{border-top:1px solid var(--line);padding:15px 0}.specification h4{font-size:12px;margin:0 0 7px}.spec-value{font-size:14px;font-weight:700;margin:0;overflow-wrap:anywhere}.specification p{white-space:pre-wrap}.specification .small{margin:8px 0}.interpretation-card #exclusions{font-size:12px;line-height:1.7}.interpretation-card #exclusions ul{padding-left:18px}
details{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:12px}summary{cursor:pointer;color:var(--muted)}
footer{max-width:1180px;margin:auto;padding:20px 24px 40px;font-size:12px;color:var(--muted)}footer a{color:inherit}#signin-panel{max-width:580px;margin-top:24px}#signin-form label{max-width:450px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f6b08d;outline-offset:3px}
body.measuring main{max-width:1820px;padding-top:20px}body.measuring .intro,body.measuring .steps{display:none}body.measuring #job-panel{padding:22px}body.measuring header{padding-inline:24px}
@media(max-width:1439px){.measurement-layout{grid-template-columns:1fr}.interpretation-card{max-height:none}.interpretation-card>button{width:auto}#specifications{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media(max-width:1000px){.measure-heading{align-items:flex-start;flex-direction:column}.measure-heading .actions{width:100%}.measure-heading .actions button{flex:1}.measure-heading .small{max-width:none}}
@media(max-width:760px){header{padding:18px;gap:10px;flex-wrap:wrap}.brand{font-size:15px}.account{font-size:10px}.account #account{max-width:140px;overflow-wrap:anywhere}main{padding:30px 18px}.workspace-grid{grid-template-columns:1fr}.card{padding:20px}.steps{grid-template-columns:repeat(2,1fr)}.steps li{padding:12px 5px}.section-heading h2{font-size:21px}h1{font-size:43px}body.measuring main{padding-inline:10px}body.measuring #job-panel{padding:14px}.measure-heading .actions{gap:7px}.measure-heading .actions button{font-size:12px;padding:12px 8px}#measure-frame{min-height:760px}.sheet-choice label{flex-wrap:wrap;gap:6px}.sheet-choice label span{flex-basis:100%;padding-left:23px}#specifications{grid-template-columns:1fr}.interpretation-card{padding:16px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
.findings-panel{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.findings-panel h3{margin:6px 0}.findings-panel progress{width:100%;height:12px;accent-color:var(--orange)}.sheet-result{margin-top:24px;border:1px solid var(--line);border-radius:12px;padding:20px;overflow-wrap:anywhere}.sheet-result h4{margin:0 0 8px;font-size:18px}.findings-table-wrap{overflow-x:auto}.findings-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.5;table-layout:fixed}.findings-table caption{text-align:left;font-size:12px;color:var(--muted);padding:12px 0}.findings-table th{background:var(--paper);text-align:left;padding:12px}.findings-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.findings-table th:first-child{width:50%}.findings-table th:nth-child(2){width:20%}.findings-table td:nth-child(2){text-align:right;font-weight:700}.findings-table p{margin:7px 0}.basis-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em}.measurement-layout.full-width{grid-template-columns:1fr}#findings-copy-text{font-size:12px}.findings-panel .actions{margin-bottom:18px}
@media(max-width:600px){.sheet-result{padding:14px}.findings-table,.findings-table tbody,.findings-table tr,.findings-table td{display:block;width:100%}.findings-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.findings-table caption{display:block}.findings-table tr{padding:12px 0;border-bottom:1px solid var(--line)}.findings-table td{padding:5px 0;border:0;font-size:14px}.findings-table td:nth-child(2){text-align:left}.findings-table td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:5px}.findings-table .small,.findings-table .source-button{font-size:13px}.findings-panel .section-heading{flex-wrap:wrap}}
@media print{header,.intro,.steps,#notice,#signin-panel,.workspace-grid,footer,#delete-job,.actions,#usage-panel,#busy,#check-progress,.workspace-actions,.measure-heading,#save-state{display:none!important}main{padding:0;max-width:none}.card{border:0;padding:0}#job-panel{margin:0}.measurement-layout{display:block}#measure-frame{height:800px}.interpretation-card{max-height:none;overflow:visible}.questions,.specification{break-inside:avoid}}
