html{background:#e7ebef}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #1769d2}:root{color:#172033;background:#e7ebef;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh}header{color:#fff;background:#111827;justify-content:space-between;align-items:center;height:62px;padding:0 24px;display:flex}.brand{align-items:center;gap:10px;width:260px;display:flex}.brand>span{color:#172033;background:#f4c430;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.brand b,.brand small{display:block}.brand small{color:#9ca3af;font-size:10px}.project{background:#202b3c;border:1px solid #344154;border-radius:8px;padding:8px 12px;font-size:12px}.project i{background:#3ddc97;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}nav{text-align:right;color:#cbd5e1;width:260px;font-size:12px}nav em{background:#344154;border-radius:50%;place-items:center;width:32px;height:32px;font-style:normal;display:inline-grid}.title{background:#fff;border-bottom:1px solid #d9dee5;justify-content:space-between;align-items:center;height:80px;padding:12px 25px;display:flex}.title label,.heading label{letter-spacing:.12em;color:#6b7280;font-size:9px;font-weight:800}.title h1{margin:2px 0;font-size:21px}.title p{color:#6b7280;margin:0;font-size:11px}.actions{gap:8px;display:flex}.actions button{background:#fff;border:1px solid #ccd2da;border-radius:7px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:700;display:flex}.actions .blue{color:#fff;background:#1769d2;border-color:#1769d2}.upload-input{display:none}main{grid-template-columns:265px minmax(500px,1fr) 305px;height:calc(100vh - 142px);display:grid}aside{background:#fff;overflow:auto}.catalog{border-right:1px solid #d8dde4}.estimate{border-left:1px solid #d8dde4}.heading{border-bottom:1px solid #e7eaee;justify-content:space-between;align-items:center;height:67px;padding:14px 16px;display:flex}.heading h2{margin:2px 0;font-size:16px}.heading>button{background:#fff;border:1px solid #d3d8df;border-radius:7px;width:31px;height:31px}.search{border:1px solid #d4dae2;border-radius:7px;align-items:center;gap:7px;margin:12px;padding:8px;display:flex}.search input{border:0;outline:0;width:100%;font-size:11px}.hint{color:#285b9d;background:#edf5ff;border-radius:6px;margin:0 12px 10px;padding:9px;font-size:10px}.list{padding:0 8px}.list>button{text-align:left;background:#fff;border:0;border-radius:7px;grid-template-columns:32px 1fr 20px;align-items:center;gap:8px;width:100%;padding:8px;display:grid}.list>button.active{background:#eaf2ff;box-shadow:inset 3px 0 #1769d2}.list button>span{color:#fff;border-radius:6px;place-items:center;width:29px;height:29px;font-size:8px;font-weight:800;display:grid}.list b,.list small{display:block}.list b{font-size:11px}.list small{color:#7b8494;margin-top:3px;font-size:9px}.list strong{font-size:11px}.viewer{grid-template-rows:46px 1fr 36px;min-width:0;display:grid}.toolbar,footer{color:#697386;background:#fff;justify-content:space-between;align-items:center;padding:0 13px;font-size:10px;display:flex}.stagewrap{place-items:center;padding:18px;display:grid;overflow:auto}.stage{aspect-ratio:1000/650;cursor:crosshair;background:#fff;width:min(100%,980px);position:relative;box-shadow:0 4px 22px #4d566329}.stage svg{width:100%;height:100%;display:block}.marker{color:#fff;border:2px solid #fff;border-radius:50%;width:22px;height:22px;font-size:8px;font-weight:800;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 5px #1118}.marker.sel{outline-offset:2px;outline:3px solid #172033}footer button{color:#b42318;background:#fff;border:0;align-items:center;gap:5px;font-size:10px;display:flex}.lines{padding:7px 15px}.lines>div{border-bottom:1px solid #edf0f3;justify-content:space-between;padding:9px 0;display:flex}.lines b,.lines small{display:block}.lines b,.lines strong{font-size:10px}.lines small{color:#7b8494;margin-top:3px;font-size:9px}.totals{border-top:1px solid #dfe3e8;padding:13px 15px}.totals p{justify-content:space-between;font-size:10px;display:flex}.totals input{text-align:right;border:1px solid #d4dae1;border-radius:4px;width:40px;padding:3px}.totals .total{border-top:1px solid #cfd5dc;align-items:center;padding-top:12px}.total b{color:#1769d2;font-size:19px}.note{color:#73580d;background:#fff6dd;border-radius:6px;margin:0 15px;padding:9px;font-size:9px}.editor{border-top:1px solid #dfe3e8;margin-top:14px;padding:13px 15px}.editor h3{margin:0 0 10px;font-size:12px}.editor label{color:#687385;gap:4px;margin-bottom:8px;font-size:9px;display:grid}.editor input{border:1px solid #d4dae1;border-radius:5px;width:100%;padding:6px}.editor>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}@media (width<=950px){main{grid-template-columns:220px 1fr}.estimate{display:none}nav{width:auto}}@media (width<=680px){header{padding:0 12px}.project,nav{display:none}.title{align-items:flex-start;gap:12px;height:auto}.actions{flex-direction:column}main{flex-direction:column;height:auto;display:flex}.catalog{max-height:360px}.viewer{height:570px}.estimate{display:block}}.viewer{position:relative}.viewer.has-pdf{grid-template-rows:46px 1fr 36px;grid-template-columns:112px minmax(0,1fr)}.toolbar{grid-column:1/-1}.toolbar span{align-items:center;gap:7px;display:flex}.toolbar button{color:#39475a;background:#fff;border:1px solid #d8dde4;border-radius:6px;place-items:center;width:27px;height:27px;display:grid}.toolbar button:disabled{opacity:.35}.thumbs{background:#dfe4ea;border-right:1px solid #c9d0da;grid-area:2/1;padding:10px;overflow:auto}.thumb{background:#fff;border:2px solid #0000;border-radius:5px;width:100%;margin-bottom:9px;padding:3px;position:relative;box-shadow:0 1px 4px #4d566329}.thumb.current{border-color:#1769d2}.thumb canvas{width:100%;height:auto;display:block}.thumb span{color:#fff;background:#172033;border-radius:10px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:9px;display:grid;position:absolute;bottom:4px;right:4px}.has-pdf .stagewrap{grid-area:2/2;place-items:start center}.pdf-stage{aspect-ratio:auto;min-width:420px}.pdf-stage canvas{width:100%;height:auto;display:block}.viewer.has-pdf footer{grid-column:1/-1}@media (width<=680px){.viewer.has-pdf{grid-template-columns:78px minmax(0,1fr)}.thumbs{padding:6px}.pdf-stage{min-width:300px}}.thumb{color:#697386;place-items:center;min-height:112px;display:grid}.list small,.lines small{color:#596476}nav{justify-content:flex-end;align-items:center;gap:16px;display:flex}nav button{color:#e5e7eb;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;display:flex}nav button:hover,nav button:focus-visible{color:#fff}.projects-head label{letter-spacing:.12em;color:#6b7280;font-size:9px;font-weight:800}.modal-backdrop{z-index:20;background:#11182799;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.projects-modal{background:#fff;border-radius:14px;width:min(620px,100%);max-height:min(720px,90vh);overflow:auto;box-shadow:0 24px 70px #11182766}.projects-head{z-index:1;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 22px;display:flex;position:sticky;top:0}.projects-head h2{margin:3px 0 0;font-size:22px}.projects-head>button{background:#fff;border:1px solid #d6dbe2;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.project-list,.blueprint-list{padding:10px}.project-list>button,.blueprint-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0f3;border-radius:8px;grid-template-columns:1fr auto 20px;align-items:center;gap:16px;width:100%;padding:14px;display:grid}.project-list>button:hover,.blueprint-row:hover{background:#f4f7fb}.project-list b,.project-list small,.blueprint-row b,.blueprint-row small{display:block}.project-list b,.blueprint-row b{font-size:13px}.project-list small,.blueprint-row small{color:#647084;margin-top:4px;font-size:10px}.project-list>button>span:nth-child(2){text-align:right}.project-list strong{color:#1769d2;display:block}.file-icon{color:#1769d2;background:#eaf2ff;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.blueprint-row{grid-template-columns:38px 1fr 20px}.blueprint-row:disabled{opacity:.55}.blueprint-row i{text-transform:capitalize;font-style:normal}.blueprint-row i.ready{color:#08785b}.blueprint-row i.pending{color:#9a6200}.back-projects,.projects-empty button,.project-error button{color:#1769d2;background:#fff;border:0;align-items:center;gap:5px;padding:9px;font-weight:700;display:flex}.projects-empty{text-align:center;color:#647084;align-content:center;place-items:center;min-height:220px;padding:28px;display:grid}.projects-empty p{color:#263247;margin:0 0 5px;font-weight:700}.projects-empty span{font-size:12px}.project-error{color:#9d261d;background:#fff1f0;border-radius:8px;justify-content:space-between;align-items:center;margin:12px;padding:11px 13px;font-size:12px;display:flex}.project-error button{color:#9d261d;background:0 0}@media (width<=680px){header nav{width:auto;display:flex}header nav span,header nav em{display:none}.modal-backdrop{padding:0}.projects-modal{border-radius:0;height:100vh;max-height:none}}
