body,html{min-height:100%}button,input,select,textarea{font:inherit}h2{font-size:16px;letter-spacing:-.01em;font-weight:640;margin:0 0 10px}h3{font-size:13.5px;font-weight:650;margin:14px 0 6px}.lede{font-size:13px;margin:-6px 0 14px;max-width:64ch}.hint,.lede{color:var(--muted)}.hint{font-size:12.5px}.empty{font-size:13px;padding:8px 0 0}.empty,.eyebrow{color:var(--muted)}.eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:0 0 4px}.stack{display:flex;flex-direction:column;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{display:grid;gap:12px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pad{padding:16px}.span-2{grid-column:span 2}.row-actions{align-items:center}.page-actions,.row-actions{display:flex;gap:8px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>span{font-size:12px;color:var(--muted);font-weight:550}.field>span .hint{font-weight:500}.field input,.field select,.field textarea,.filters input,.filters select{width:100%;padding:11px 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit;font-size:14px;min-width:0}.field textarea{min-height:84px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.check{display:flex;gap:8px;align-items:flex-start;font-size:13px}.check input{margin-top:3px}fieldset{border:0;margin:0;min-width:0}fieldset,legend{padding:0}.banner.bad{background:color-mix(in srgb,var(--rose) 16%,var(--panel));border-color:color-mix(in srgb,var(--rose) 30%,transparent);margin:0}.banner.warn{margin:0}.banner.good{background:var(--good-wash);border-color:color-mix(in srgb,var(--good) 30%,transparent);margin:0}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:650;padding:12px 10px 7px 16px;white-space:nowrap}.table td{padding:8px 10px 8px 16px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:top}.table tr:last-child td{padding-bottom:12px}.card>.table{margin:-16px;width:calc(100% + 32px)}.card>.table+.empty{margin-top:16px}.stat b{display:block;font-family:var(--font-display);font-size:28px;letter-spacing:-.03em}.stat span{color:var(--muted);font-size:13px}.filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.filters input,.filters select{width:auto;min-height:40px;border-radius:999px;padding:0 14px}.diary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.diary .dow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px}.day{min-height:108px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:4px}.day.muted{opacity:.45}.day.today{border-color:var(--accent)}.day strong{font-size:12px}.day strong a{color:var(--ink-2)}.day .chip{display:block;font-size:11px;line-height:1.3;padding:3px 6px;border-radius:8px;background:var(--accent-wash);color:var(--accent-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week article{min-height:220px}.dg{display:grid;gap:0;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:auto}.dg-corner,.dg-head{position:sticky;top:0;z-index:2;background:var(--panel-2);border-bottom:1px solid var(--line);padding:8px 10px;font-size:12px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.dg-col+.dg-col,.dg-head+.dg-head{border-left:1px solid var(--line)}.dg-times{position:relative;border-right:1px solid var(--line)}.dg-time{font-size:11px;color:var(--muted);padding:2px 6px;text-align:right;font-variant-numeric:tabular-nums;border-top:1px solid transparent}.dg-col,.dg-slot{position:relative}.dg-slot{border-top:1px dashed color-mix(in srgb,var(--line) 70%,transparent)}.dg-slot.hour{border-top-style:solid;border-top-color:var(--line)}.dg-slot.over{background:var(--accent-wash)}.dg-add{position:absolute;inset:0;display:grid;place-items:center;color:transparent;text-decoration:none;font-weight:700}.dg-slot:hover .dg-add{color:var(--muted)}.dg-block{position:absolute;left:4px;right:4px;padding:4px 8px;border-radius:9px;background:var(--accent-wash);color:var(--accent-text);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);overflow:hidden;font-size:12px;line-height:1.25;text-decoration:none;z-index:1;cursor:grab}.dg-block b{display:block;font-size:12.5px}.dg-block span{color:var(--ink-2);font-size:11px}.dg-block.held,.dg-block.requested{background:var(--amber-wash);color:var(--amber,#96631a);border-color:color-mix(in srgb,var(--amber) 40%,transparent)}.dg-block.arrived,.dg-block.attached_to_job{background:var(--good-wash);color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}.dg-block.dragging{opacity:.5}.gate{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.gate-card{width:min(560px,100%);padding:28px}.gate-card h1{margin:8px 0 4px;font-size:36px}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatches label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;cursor:pointer}.swatch{width:14px;height:14px;border-radius:99px;display:inline-block}.thread{display:flex;flex-direction:column;gap:8px}.bubble{max-width:36rem;padding:10px 12px;border-radius:12px}.bubble p{margin:0 0 4px}.bubble.out{align-self:flex-end;background:var(--panel-2)}.bubble.in{align-self:flex-start;background:var(--good-wash)}.activity{margin:0;padding-left:18px}code.plate{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.doc-page{max-width:820px;margin:0 auto}.doc{padding:28px}.doc-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}.doc-head h1 em{font-style:normal;color:var(--muted);font-weight:600}.doc-meta{text-align:right}.doc-meta p{margin:0 0 3px}.doc-what{font-size:16px;font-weight:640;margin:0 0 14px}.doc-totals{justify-content:flex-end;margin-top:10px}.doc-sec{margin:0 0 16px}.doc-sec>b{display:block;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}.doc-list{margin:0;padding-left:18px}.doc-check{list-style:none;margin:0;padding:0;display:grid;gap:6px}.doc-check li{display:flex;gap:10px;align-items:center}.doc-check .box{width:16px;height:16px;border:1.5px solid var(--ink-2);border-radius:4px;flex:none}.doc-check .box.done{background:var(--ink-2)}.doc-lines p{margin:0 0 10px;color:var(--ink-2)}ul.gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.gallery-item img{width:100%;-o-object-fit:cover;object-fit:cover;display:block}.gallery-doc,.gallery-item img{aspect-ratio:4/3;border-radius:10px;background:var(--line,#eee)}.gallery-doc{display:flex;align-items:center;justify-content:center;font-weight:650;text-decoration:none}.gallery-meta{display:flex;flex-direction:column;gap:2px;font-size:12.5px;margin-top:6px}.gallery-meta small{color:var(--muted)}.card-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.card-photos img{width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;border-radius:6px}.card-photos figcaption{font-size:11px;color:var(--muted)}ul.problems{margin:0;padding-left:18px;font-size:13px;line-height:1.5;max-height:320px;overflow:auto}.form-error{color:var(--danger,#b3261e);font-size:13.5px;margin:0}@media print{.mbrand,.navscrim,.no-print,.page-actions,.rail,.sg-card,.sg-hdr .btn,.sg-scrim{display:none!important}.frame{display:block}.main{max-width:none;padding:0}body{background:white}.invoice{box-shadow:none;border:0}}@media (max-width:900px){.grid-2,.grid-3,.week{grid-template-columns:1fr}.span-2{grid-column:auto}.diary{grid-template-columns:1fr 1fr}}ul.insp-items{list-style:none;margin:0;padding:0;display:grid;gap:10px}.insp-item{display:grid;gap:8px;padding:10px 12px;border-radius:12px;background:var(--panel-2,var(--panel));border:1px solid var(--line,#eee)}.insp-item.bad{border-color:color-mix(in srgb,var(--rose) 45%,transparent)}.insp-item.warn{border-color:color-mix(in srgb,var(--amber,#c98a00) 45%,transparent)}.insp-main{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.insp-label{font-weight:600;display:flex;flex-direction:column;gap:2px}.insp-label small{font-weight:500}.seg{display:inline-flex;gap:0;border:1px solid var(--line,#ddd);border-radius:999px;overflow:hidden}.seg button{border:0;background:transparent;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink-2);min-width:64px}.seg button+button{border-left:1px solid var(--line,#ddd)}.seg button[aria-pressed=true]{color:#fff;font-weight:650}.seg button.pass[aria-pressed=true]{background:var(--good,#2f7d4f)}.seg button.attention[aria-pressed=true]{background:var(--amber,#a86b00)}.seg button.fail[aria-pressed=true]{background:var(--rose,#b3261e)}.seg button.na[aria-pressed=true]{background:var(--ink-2,#555)}.seg button:disabled{opacity:.6;cursor:default}.insp-note{width:100%;font-size:13.5px}.letter-to{margin:24px 0 32px}.letter-to p{margin:0}.letter-body p{max-width:60ch}.scan-box{display:grid;gap:8px}.scan-input{min-width:220px;font-variant-numeric:tabular-nums}.scan-video{width:100%;max-width:420px;border-radius:12px;background:#000}.acc-lines{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px}.acc-lines li{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}.acc-lines b{font-variant-numeric:tabular-nums}.live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.insp-link{word-break:break-all}.insp-reading{margin-left:8px;font-variant-numeric:tabular-nums}.insp-measure{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.insp-measure input{width:120px;font-variant-numeric:tabular-nums}.insp-measure span{color:var(--muted);font-size:13px}.insp-quoted{margin:0;font-size:12.5px;color:var(--muted)}.insp-quoted a{color:var(--ink);text-decoration:underline}.insp-quote{padding-top:6px;border-top:1px dashed var(--line,#ddd)}.insp-note-text{margin:0;font-size:13.5px}.res{font-size:12px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.res.good{color:var(--good,#2f7d4f)}.res.warn{color:var(--amber,#a86b00)}.res.bad{color:var(--rose,#b3261e)}.res.plain{color:var(--muted)}ul.gallery.small{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}ul.insp-list,ul.insp-templates{list-style:none;margin:0;padding:0;display:grid;gap:8px}.insp-row,.insp-template{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line,#eee);background:var(--panel-2,var(--panel));color:inherit;text-decoration:none;font:inherit;cursor:pointer}.insp-templates li{display:grid;gap:10px}.insp-table td{vertical-align:top}.insp-table .card-photos{grid-template-columns:repeat(4,1fr);margin-top:6px}@media (max-width:600px){.seg{width:100%}.seg button{flex:1;min-width:0;padding:10px 6px}}@media print{.insp-table .card-photos img{max-height:120px}}html[data-env=staging] .mbrand:after{content:"STAGING";margin-left:8px;font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--on-rose);background:var(--rose);border-radius:6px;padding:2px 6px}.split{display:block}.shell{max-width:420px;margin:0 auto;padding:34px 22px 60px;min-height:100vh;display:flex;flex-direction:column}@media (min-width:720px){.shell{padding-top:9vh}}.shell .brand{padding:0;margin-bottom:34px}.shell .spacer{flex:1}.shell h1{font-size:25px;line-height:1.15;letter-spacing:-.02em;font-weight:680;margin:0 0 6px}.shell .sub{color:var(--muted);font-size:13.5px;margin:0 0 22px}.shell .sub b{color:var(--ink)}.shell .lbl{display:block;font-size:12px;color:var(--muted);margin:0 0 6px;font-weight:550}.shell .inp{width:100%;padding:13px 14px;border:1px solid var(--line-2);border-radius:11px;background:var(--panel);color:var(--ink);font:inherit;font-size:15px}.shell .inp::-moz-placeholder{color:var(--muted);opacity:.7}.shell .inp::placeholder{color:var(--muted);opacity:.7}.shell .inp:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.shell .btn{width:100%;min-height:0;padding:13px;border-radius:11px;border:1px solid var(--line-2);background:var(--panel);color:var(--ink);font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:9px}.shell .btn:hover{border-color:var(--accent);color:var(--accent-text)}.shell .btn.pri{background-color:var(--accent);background-image:var(--accent-grad,none);border-color:transparent;color:var(--on-accent)}.shell .btn.pri:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--on-accent)}.shell .btn:disabled{opacity:.55;cursor:default}.shell .btn.google{width:340px;max-width:100%;margin:0 auto;height:40px;padding:0 12px;border-radius:20px;border:1px solid #747775;background:#fff;color:#1f1f1f;font-size:14px;font-weight:500;gap:10px}.shell .btn.google:hover{background:#f3f3f3;border-color:#747775;color:#1f1f1f}.shell .btn.apple{width:340px;max-width:100%;margin:10px auto 0;height:40px;padding:0;border-radius:20px;border:none;font-size:15px;gap:7px}.shell .btn.apple,.shell .btn.apple:hover{background:#000;color:#fff}.shell .or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11.5px;margin:16px 0}.shell .or span{flex:1;height:1px;background:var(--line)}.shell .link{background:none;border:none;color:var(--accent-text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:none}.shell .link:disabled{opacity:.55;cursor:default}.shell .err{color:var(--rose);font-size:13px;margin-top:12px;min-height:18px}.shell .fine{font-size:11.5px;color:var(--muted);margin-top:18px;line-height:1.5}.shell .fine a{color:inherit;text-decoration:underline;text-underline-offset:2px}.shell .fine a:hover{color:var(--ink)}.shell .codes{display:flex;gap:8px;margin:6px 0 2px}.shell .codes input{flex:1;min-width:0;text-align:center;font-size:22px;font-weight:650;padding:12px 0;border:1px solid var(--line-2);border-radius:10px;background:var(--panel);color:var(--ink);font-variant-numeric:tabular-nums}.shell .codes input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.shell .pick{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0 0;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--ink);text-decoration:none}.shell .pick:hover{border-color:var(--accent)}.shell .pick .ico{width:38px;height:38px;border-radius:10px;background:var(--accent-wash);color:var(--accent-text);display:grid;place-items:center;flex:none}.shell .pick .body{flex:1;min-width:0}.shell .pick b{display:block;font-size:14.5px}.shell .pick .body span{font-size:12px;color:var(--muted)}.shell .pick .chev{margin-left:auto;color:var(--muted)}.shell .foot{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:34px;color:var(--muted);font-size:12px}.shell .steps{display:flex;gap:6px;margin-bottom:8px}.shell .steps i{flex:1;height:4px;border-radius:2px;background:var(--line-2)}.shell .steps i.on{background:var(--accent)}.shell .step[hidden]{display:none}.shell .two{display:flex;gap:10px}.shell .two>*{flex:1;min-width:0}.shell svg.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}.pitch{display:none}@media (min-width:1000px){.split-pitch{display:grid;grid-template-columns:minmax(340px,30%) 1fr;min-height:100vh;align-items:stretch}.split-pitch .shell{max-width:400px;margin:0 auto;padding:40px;justify-content:center;min-height:0}.split-pitch .shell .spacer{display:none}.split-pitch .pitch{display:flex;position:relative;flex-direction:column;justify-content:center;overflow:hidden;background:#171412;color:#f4efe8;padding:clamp(40px,5vw,72px)}}.pitch img{position:absolute;left:0;width:100%;height:130%;top:-15%;-o-object-fit:cover;object-fit:cover;-o-object-position:40% 50%;object-position:40% 50%}.pitch .scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(23,20,18,.88),rgba(23,20,18,.72) 34%,rgba(23,20,18,.28) 72%,rgba(23,20,18,.12))}.pitch .glow{position:absolute;inset:0;background:radial-gradient(70% 80% at 82% 60%,rgba(255,179,71,.22),transparent 70%),radial-gradient(40% 50% at 20% 10%,rgba(255,126,95,.1),transparent 70%)}.pitch .pc{position:relative;max-width:520px}.pitch .eyebrow{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ffb347;margin:0 0 14px}.pitch h2{font-size:31px;line-height:1.14;letter-spacing:-.02em;margin:0 0 14px;font-weight:700;text-wrap:balance;color:#f4efe8}.pitch p{margin:0 0 22px;font-size:15px;line-height:1.6;color:#cbc2b6}.pitch ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}.pitch li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:#f4efe8}.pitch li svg{width:17px;height:17px;flex:none;margin-top:1px;stroke:#ffb347;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.pitch li span{display:block;font-size:13px;line-height:1.45;color:#cbc2b6}.pitch li span b{display:block;font-size:14.5px;font-weight:650;color:#f4efe8;margin-bottom:1px}.pitch .credit{position:relative;margin:24px 0 0;font-size:12px;color:#9d9284}.shell .week{margin:0 0 4px}.shell .wday{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.shell .wday:last-child{border-bottom:none}.shell .wday .nm{width:44px;font-size:13px;font-weight:600}.shell .wday select{flex:1;min-width:0;padding:8px 6px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;font-size:13px}.shell .wday select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.shell .wday .dash{color:var(--muted)}.shell .wday .closed{flex:1;font-size:13px}.shell .tgl{position:relative;display:block;width:38px;height:22px;border-radius:11px;background:var(--line-2);cursor:pointer;flex:none}.shell .tgl input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.shell .tgl i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--panel);transition:transform .15s;pointer-events:none}.shell .tgl.on{background:var(--accent)}.shell .tgl.on i{transform:translateX(16px)}.shell .tgl:focus-within{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.shell .tgl i{transition:none}}