@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.capitalize{text-transform:capitalize}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--blue:#1668ac;--blue-deep:#12588f;--ink:#0f2a3f;--slate:#5a6b78;--mist:#f5f7f9;--white:#fff;--border:#e4e9ed;--ready:#1e9e6a;--ready-soft:#e4f3ec;--flag:#c9781a;--flag-soft:#fbeedb;--sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;background:#e9edf1}@media (prefers-color-scheme:dark){body{background:#0b141b}}button{cursor:pointer;font-family:inherit}.auth-wrap{flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100dvh;padding:40px 20px;display:flex}.auth-brand{text-align:center;flex-direction:column;align-items:center;display:flex}.auth-mark{background:var(--blue);border-radius:14px;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 8px 24px #1668ac4d}.auth-mark i{background:#fff;border-radius:4px;width:22px;height:27px;display:block}.auth-word{color:var(--ink);letter-spacing:-.02em;margin-top:14px;font-size:30px;font-weight:700}.auth-word b{color:var(--blue)}.auth-tag{color:var(--slate);margin-top:6px;font-size:15px}.auth-trouble{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:340px;display:flex}.auth-trouble-title{color:var(--ink);font-size:17px;font-weight:650}.auth-trouble p{color:var(--slate);margin:0;font-size:13.5px;line-height:1.55}.auth-trouble ul{text-align:left;color:var(--slate);margin:0;padding-left:18px;font-size:13px;line-height:1.6}.auth-trouble .btn{max-width:200px;margin-top:4px}.phone-wrap{background:#e9edf1;justify-content:center;min-height:100dvh;display:flex}.phone{background:var(--mist);flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.proto-note{display:none}@media (min-width:760px){.phone{border-left:1px solid var(--border);border-right:1px solid var(--border);max-width:940px}}@media (prefers-color-scheme:dark){.phone-wrap{background:#0b141b}}.appbar{background:var(--white);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;height:58px;padding:0 16px;display:flex}.logo{align-items:center;gap:9px;display:flex}.mark{background:var(--blue);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.mark i{background:#fff;border-radius:2px;width:12px;height:15px;display:block}.word{color:var(--ink);letter-spacing:-.01em;font-size:17px;font-weight:700}.word b{color:var(--blue);font-weight:700}.appbar-right{color:var(--slate);margin-left:auto;font-size:12.5px;font-weight:500}.back{color:var(--blue);background:0 0;border:0;margin-left:-4px;padding:6px 4px;font-size:15px;font-weight:600}.scroll{flex:1;padding:18px 16px 8px;overflow-y:auto}.section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin:22px 2px 10px;font-size:11.5px;font-weight:600}.scroll>.section-label:first-child{margin-top:4px}.job-head{padding:4px 2px 0}.job-addr{color:var(--ink);letter-spacing:-.01em;font-size:20px;font-weight:700}.job-meta{color:var(--slate);margin-top:3px;font-size:13px}.progress{margin-top:18px}.progress-txt{color:var(--slate);margin-bottom:8px;font-size:13.5px}.progress-txt b{color:var(--ink)}.bar{background:#e6ebef;border-radius:999px;height:8px;overflow:hidden}.bar span{background:var(--ready);border-radius:999px;height:100%;transition:width .35s;display:block}.rooms{flex-direction:column;gap:10px;display:flex}.room{text-align:left;background:var(--white);border:1px solid var(--border);width:100%;color:inherit;border-radius:14px;align-items:center;gap:10px;padding:15px 14px;transition:border-color .15s,transform 50ms;display:flex}.room:active{transform:scale(.995)}.room:hover{border-color:#cdd6dd}.room-main{min-width:0}.room-name{color:var(--ink);font-size:16px;font-weight:600}.room-sub{color:var(--slate);margin-top:2px;font-size:12.5px}.pill{white-space:nowrap;border-radius:999px;flex:none;margin-left:auto;padding:5px 11px;font-size:12px;font-weight:600}.pill.ready{color:var(--ready);background:var(--ready-soft)}.pill.flag{color:var(--flag);background:var(--flag-soft)}.chev{color:#b6c0c8;flex:none;margin-left:2px;font-size:20px}.room.add{color:var(--blue);background:0 0;border-style:dashed;justify-content:center;font-size:14.5px;font-weight:600}.foot{background:var(--white);border-top:1px solid var(--border);flex:none;padding:12px 16px 18px}.foot.two{gap:10px;display:flex}.btn{text-align:center;background:var(--blue);color:#fff;border:0;border-radius:13px;width:100%;padding:15px;font-size:15.5px;font-weight:650;transition:background .15s;display:block}.btn:hover:not(:disabled){background:var(--blue-deep)}.btn:disabled{color:#eef2f5;cursor:default;background:#c3ccd3}.btn.ghost{background:var(--mist);color:var(--ink);border:1px solid var(--border);flex:0 0 34%}.btn.ghost:hover:not(:disabled){background:#eef2f5}.narration-input{border:1.5px solid var(--border);width:100%;font:inherit;color:var(--ink);resize:vertical;background:var(--white);border-radius:12px;margin-top:10px;padding:12px 13px;font-size:14px;line-height:1.55}.narration-input:focus{border-color:var(--blue);outline:none}.record{border:1.5px solid var(--border);background:var(--white);width:100%;color:var(--ink);border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:17px;font-size:15px;font-weight:600;display:flex}.record .dot{background:var(--slate);border-radius:50%;flex:none;width:12px;height:12px}.record:disabled{opacity:.6}.record.on{color:#b23b3b;background:#fdf1f1;border-color:#e3b3b3}.record.on .dot{background:#d64545;animation:1.1s infinite pulse}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.record.on .dot{animation:none}}.transcript{color:var(--ink);border-left:3px solid var(--blue);background:#eef4f8;border-radius:12px;margin-top:10px;padding:13px 14px;font-size:13.5px;line-height:1.5}.photos{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.thumb{aspect-ratio:1;border:1px solid var(--border);background:linear-gradient(135deg,#dfe6ec,#cdd8e0);border-radius:10px}.thumb.add{background:var(--white);color:var(--blue);border-style:dashed;place-items:center;font-size:22px;font-weight:400;display:grid}.field{background:var(--white);border:1.5px solid var(--border);border-radius:12px;align-items:center;padding:0 14px;display:flex}.field:focus-within{border-color:var(--blue)}.field input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:14px 0;font-size:16px}.unit{color:var(--slate);font-size:13px;font-family:var(--mono)}.hint{color:var(--flag);margin-top:9px;font-size:12.5px;line-height:1.45}.generating{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.spinner{border:3px solid #dbe3e9;border-top-color:var(--blue);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.gen-title{color:var(--ink);font-size:17px;font-weight:650}.gen-stage{color:var(--blue);min-height:20px;font-size:14px;font-weight:600;transition:opacity .2s}.gen-sub{color:var(--slate);font-variant-numeric:tabular-nums;max-width:30ch;font-size:12.5px}.report-badge{letter-spacing:.03em;color:var(--ready);background:var(--ready-soft);border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:600;display:inline-block}.report-h{color:var(--ink);margin:14px 0 6px;font-size:19px;font-weight:700}.report-summary{color:#40515d;margin:0;font-size:14px;line-height:1.6}.scope{background:var(--white);border:1px solid var(--border);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.scope-row{border-bottom:1px solid var(--border);grid-template-columns:74px 1fr auto;align-items:center;gap:10px;padding:12px 13px;display:grid}.scope-row:last-child{border-bottom:0}.scope-code{font-family:var(--mono);color:var(--blue);letter-spacing:.02em;font-size:10.5px;font-weight:600}.scope-desc{color:var(--ink);font-size:13px;line-height:1.4}.scope-qty{color:var(--slate);font-size:12px;font-family:var(--mono);white-space:nowrap}.report-footnote{color:var(--slate);margin:14px 2px 4px;font-size:12px;line-height:1.5}.newbtn{background:var(--blue);color:#fff;border:0;border-radius:10px;margin-left:auto;padding:8px 13px;font-size:13.5px;font-weight:600}.newbtn:hover{background:var(--blue-deep)}.empty{text-align:center;color:var(--slate);padding:40px 16px;font-size:14px;line-height:1.7}.empty.small{padding:18px;font-size:13px}.empty b{color:var(--ink)}.jobs{flex-direction:column;gap:12px;display:flex}.jobcard{text-align:left;width:100%;color:inherit;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:15px;transition:border-color .15s,transform 50ms;display:block}.jobcard:hover{border-color:#cdd6dd}.jobcard:active{transform:scale(.995)}.jobcard-wrap{position:relative}.jobcard-del{border:1px solid var(--border);background:var(--white);width:32px;height:32px;color:var(--slate);cursor:pointer;border-radius:9px;place-items:center;transition:color .15s,border-color .15s;display:grid;position:absolute;top:10px;right:10px}.jobcard-del:hover{color:#b23b3b;background:#fdf5f5;border-color:#f0d5d5}.jobcard-confirm{background:#fffffff7;border:1px solid #f0d5d5;border-radius:16px;flex-direction:column;justify-content:center;gap:12px;padding:15px;display:flex;position:absolute;inset:0}.jcc-text{color:var(--ink);font-size:13.5px;font-weight:500;line-height:1.45}.jcc-actions{gap:8px;display:flex}.jcc-actions .minibtn{text-align:center;flex:1}.minibtn.danger{color:#b23b3b;background:#fdf1f1;border-color:#e8b4b4}.minibtn.danger:hover{background:#fbe3e3;border-color:#b23b3b}.job-del-confirm{background:#fdf5f5;border:1px solid #f0d5d5;border-radius:12px;flex-direction:column;gap:12px;margin-top:22px;padding:14px;display:flex}.jobcard-top{align-items:center;gap:8px;margin-bottom:9px;padding-right:38px;display:flex}.chip{letter-spacing:.02em;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:600}.chip.type-water{color:#1668ac;background:#e6f0f8}.chip.type-fire{color:#b4531b;background:#fbeadf}.chip.type-mold{color:#4a7a3c;background:#e9f2e2}.jobcard-ref{color:var(--slate);font-size:12px;font-family:var(--mono);margin-left:auto}.jobcard-addr{color:var(--ink);margin-bottom:12px;font-size:16.5px;font-weight:650}.jobcard-prog{align-items:center;gap:10px;display:flex}.jobcard-prog .bar{flex:1}.jobcard-count{color:var(--slate);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.type-grid{flex-direction:column;gap:10px;display:flex}.type-card{text-align:left;background:var(--white);border:1.5px solid var(--border);width:100%;color:inherit;border-radius:14px;padding:14px 15px;transition:border-color .15s,background .15s}.type-card:hover{border-color:#cdd6dd}.type-card.sel{border-color:var(--blue);background:#f0f7fc}.type-name{color:var(--ink);font-size:15.5px;font-weight:650}.type-blurb{color:var(--slate);margin-top:2px;font-size:12.5px}.addroom{flex-wrap:wrap;gap:8px;display:flex}.roomchip{border:1px solid var(--border);background:var(--white);color:var(--blue);border-radius:999px;padding:9px 13px;font-size:13.5px;font-weight:600}.roomchip:hover{border-color:var(--blue);background:#f0f7fc}.addroom-custom{align-items:stretch;gap:8px;margin-top:10px;display:flex}.addroom-custom .field{flex:1}.addbtn{background:var(--blue);color:#fff;border:0;border-radius:12px;flex:none;padding:0 18px;font-size:14.5px;font-weight:650}.addbtn:hover:not(:disabled){background:var(--blue-deep)}.addbtn:disabled{color:#eef2f5;cursor:default;background:#c3ccd3}.checks{flex-direction:column;gap:8px;display:flex}.check{text-align:left;width:100%;color:inherit;background:var(--white);border:1px solid var(--border);border-radius:12px;align-items:center;gap:11px;padding:12px 13px;transition:border-color .15s,background .15s;display:flex}.check .box{color:#fff;border:1.5px solid #c4ced5;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:grid}.check .lbl{color:var(--ink);font-size:14px;line-height:1.35}.check .req{letter-spacing:.04em;text-transform:uppercase;color:var(--flag);background:var(--flag-soft);border-radius:6px;flex:none;margin-left:auto;padding:3px 7px;font-size:10px;font-weight:600}.check.on{background:var(--ready-soft);border-color:#bfe3ce}.check.on .box{background:var(--ready);border-color:var(--ready)}.guide-note{color:var(--slate);margin:-2px 2px 10px;font-size:12.5px;line-height:1.5}.done-banner{background:var(--ready-soft);color:var(--ready);border-radius:11px;align-items:center;gap:8px;margin-bottom:6px;padding:11px 13px;font-size:13px;font-weight:600;display:flex}.complete-hint{color:var(--slate);margin:18px 2px 2px;font-size:12.5px;line-height:1.5}.btn.complete{background:var(--ready)}.btn.complete:hover:not(:disabled){background:#17875a}.thumb.real{border:1px solid var(--border);padding:0;position:relative;overflow:hidden}.thumb.real img{object-fit:cover;width:100%;height:100%;display:block}.thumb-x{color:#fff;text-align:center;background:#0f2a3fb8;border-radius:50%;width:18px;height:18px;font-size:13px;line-height:18px;position:absolute;top:3px;right:3px}.thumb.add.busy{color:var(--slate)}.thumb-pending{background:var(--flag);border-radius:50%;width:9px;height:9px;position:absolute;top:3px;left:3px;box-shadow:0 0 0 2px #ffffffd9}.thumb-tag{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#0f2a3fc7;border-radius:6px;max-width:calc(100% - 6px);padding:2px 6px;font-size:9.5px;font-weight:600;line-height:1.3;position:absolute;bottom:3px;left:3px;overflow:hidden}.tagbar{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.tagbar-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tagbar-lbl{text-transform:uppercase;letter-spacing:.04em;color:var(--slate);flex:0 0 62px;font-size:11px;font-weight:600}.tagchip{border:1px solid var(--border);background:var(--white);color:var(--ink);border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:600}.tagchip:hover{border-color:#cdd6dd}.tagchip.on{border-color:var(--blue);color:var(--blue);background:#f0f7fc}.tagchip.cat-1.on{color:#1668ac;background:#e8f3fb;border-color:#2b8fce}.tagchip.cat-2.on{color:#8a6a12;background:#f9f2d9;border-color:#c9a11a}.tagchip.cat-3.on{color:#7a3f22;background:#f3e5dd;border-color:#9a5a3a}.report-topline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.conf{letter-spacing:.02em;text-transform:capitalize;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600}.conf-high{color:var(--ready);background:var(--ready-soft)}.conf-medium{color:var(--flag);background:var(--flag-soft)}.conf-low{color:#b23b3b;background:#fdecec}.class-row{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.class-chip{color:var(--ink);background:#eef4f8;border:1px solid #dce7ef;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600}.areas{flex-direction:column;gap:8px;display:flex}.area{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:12px 13px}.area-room{color:var(--ink);margin-bottom:3px;font-size:14px;font-weight:650}.area-obs{color:#40515d;font-size:13px;line-height:1.5}.scope-row2{border-bottom:1px solid var(--border);padding:12px 13px}.scope-row2:last-child{border-bottom:0}.scope-head{grid-template-columns:auto 1fr auto;align-items:baseline;gap:9px;display:grid}.scope-head .scope-code{font-family:var(--mono);color:var(--blue);font-size:10.5px;font-weight:600}.scope-head .scope-desc{color:var(--ink);font-size:13.5px;line-height:1.4}.scope-head .scope-qty{color:var(--slate);font-size:12px;font-family:var(--mono);white-space:nowrap}.scope-meta{color:var(--slate);margin-top:5px;font-size:11.5px;line-height:1.45}.editbtn{border:1px solid var(--blue);background:var(--white);color:var(--blue);border-radius:999px;margin-left:auto;padding:5px 12px;font-size:12.5px;font-weight:650}.editbtn:hover{background:#f0f7fc}.edit-summary{border:1.5px solid var(--border);width:100%;font:inherit;color:var(--ink);resize:vertical;background:var(--white);border-radius:12px;padding:12px 13px;font-size:14px;line-height:1.5}.edit-summary:focus{border-color:var(--blue);outline:none}.scope-edit{border-bottom:1px solid var(--border);flex-direction:column;gap:7px;padding:12px;display:flex}.scope-edit:last-child{border-bottom:0}.scope-edit-top{gap:7px;display:flex}.ee{border:1.5px solid var(--border);font:inherit;color:var(--ink);background:var(--white);border-radius:9px;min-width:0;padding:8px 10px;font-size:13px}.ee:focus{border-color:var(--blue);outline:none}.ee.full{width:100%}.ee.code{font-family:var(--mono);text-transform:uppercase;flex:auto;font-size:11.5px}.ee.qty,.ee.unit{flex:0 0 62px}.ee-del{color:#b23b3b;cursor:pointer;background:#fdf1f1;border:1px solid #f0d5d5;border-radius:9px;flex:0 0 34px;font-size:13px}.ee-del:hover{background:#fbe3e3}.additem{border:1px dashed var(--blue);width:100%;color:var(--blue);cursor:pointer;background:0 0;border-radius:12px;margin-top:10px;padding:11px;font-size:14px;font-weight:600}.additem:hover{background:#f0f7fc}.notes{flex-direction:column;gap:7px;display:flex}.note{color:#40515d;font-size:13px;line-height:1.5}.flag-notes .note{color:var(--flag)}.error-card{background:#fdf1f1;border:1px solid #f0d5d5;border-radius:14px;margin-top:8px;padding:16px}.error-title{color:#b23b3b;margin-bottom:6px;font-size:15px;font-weight:650}.error-msg{color:#7a4a4a;font-size:13.5px;line-height:1.5}.email-row{align-items:stretch;gap:8px;display:flex}.email-row .field{flex:1}.hint.ok{color:var(--ready)}.ub{align-items:center;margin-left:auto;display:flex}.iconbtn{border:1px solid var(--border);background:var(--white);color:var(--slate);border-radius:9px;place-items:center;width:34px;height:34px;margin-left:8px;font-size:16px;line-height:1;display:grid}.iconbtn:hover{color:var(--ink);border-color:#cdd6dd}.iconbtn+.newbtn{margin-left:8px}.company-nudge{text-align:left;color:#40515d;background:#eef4f8;border:1px solid #dce7ef;border-radius:12px;width:100%;margin:18px 0 4px;padding:12px 14px;font-size:13px;line-height:1.5;display:block}.company-nudge b{color:var(--blue)}.company-nudge:hover{border-color:var(--blue)}.form-head{color:var(--ink);border-top:1px solid var(--border);margin:26px 2px 2px;padding-top:10px;font-size:15px;font-weight:700}.field-row{align-items:flex-end;gap:8px;display:flex}.field-row .fc{flex:1;min-width:0}.field-row .fc.sm{flex:0 0 74px}.field-row .fc .section-label{margin-top:16px}.logo-uploader{align-items:center;gap:14px;display:flex}.logo-preview{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:10px;flex:none;width:64px;height:64px;padding:4px}.logo-empty{border:1px dashed var(--border);width:64px;height:64px;color:var(--slate);text-align:center;border-radius:10px;flex:none;place-items:center;font-size:11px;display:grid}.logo-actions{flex-wrap:wrap;gap:8px;display:flex}.minibtn{border:1px solid var(--border);background:var(--white);color:var(--blue);cursor:pointer;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:600}.minibtn:hover{border-color:var(--blue)}.minibtn.ghost{color:var(--slate)}.mode-grid{gap:10px;display:flex}.mode-card{text-align:left;background:var(--white);border:1.5px solid var(--border);color:inherit;border-radius:14px;flex:1;padding:13px 14px;transition:border-color .15s,background .15s}.mode-card:hover{border-color:#cdd6dd}.mode-card.sel{border-color:var(--blue);background:#f0f7fc}.mode-name{color:var(--ink);font-size:14.5px;font-weight:650}.mode-blurb{color:var(--slate);margin-top:3px;font-size:11.5px;line-height:1.4}.chip.mode-claim{color:#5a6b78;background:#eef2f5}.chip.mode-estimate{color:#7a5a1a;background:#f7efdc}.scope-price{align-items:baseline;gap:10px;margin-top:6px;display:flex}.sp-unit{color:var(--slate);font-size:11.5px;font-family:var(--mono)}.sp-total{color:var(--ink);font-size:13.5px;font-weight:650;font-family:var(--mono);margin-left:auto}.scope-edit-price{gap:7px;display:flex}.scope-edit-price .ee{flex:1}.est-total{background:#f0f7fc;border:1px solid #dce7ef;border-radius:12px;align-items:center;gap:10px;margin-top:12px;padding:13px 15px;display:flex}.est-total-lbl{color:var(--slate);font-size:13.5px;font-weight:600}.est-total-val{color:var(--ink);font-size:17px;font-weight:700;font-family:var(--mono);margin-left:auto}.est-total-in{text-align:right;font-family:var(--mono);flex:0 0 160px;margin-left:auto}.drylog-card{text-align:left;width:100%;color:inherit;background:var(--white);border:1px solid var(--border);border-radius:14px;align-items:center;gap:10px;padding:14px 15px;transition:border-color .15s;display:flex}.drylog-card:hover{border-color:#cdd6dd}.drylog-main{flex:1;min-width:0}.drylog-title{color:var(--ink);align-items:center;gap:8px;font-size:15.5px;font-weight:650;display:flex}.drylog-due{letter-spacing:.03em;text-transform:uppercase;color:var(--flag);background:var(--flag-soft);border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:700}.drylog-sub{color:var(--slate);margin-top:3px;font-size:12.5px;line-height:1.4}.drylog-alert{background:var(--flag-soft);color:var(--flag);border-radius:11px;margin-bottom:12px;padding:11px 13px;font-size:12.5px;font-weight:600;line-height:1.45}.psy{flex-direction:column;gap:7px;display:flex}.psy-head,.psy-row{grid-template-columns:1fr 58px 58px 46px 34px;align-items:center;gap:6px;display:grid}.psy-head{text-transform:uppercase;letter-spacing:.04em;color:var(--slate);padding:0 2px;font-size:10.5px;font-weight:600}.psy-head span:not(:first-child),.psy-num{text-align:center}.psy-gpp{text-align:center;font-family:var(--mono);color:var(--blue);font-size:13px;font-weight:650}.mats{flex-direction:column;gap:10px;display:flex}.mat-row{background:var(--white);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:7px;padding:10px;display:flex}.mat-top{gap:7px;display:flex}.mat-bottom{grid-template-columns:1fr 72px 72px;gap:7px;display:grid}.dellink{color:#b23b3b;cursor:pointer;background:0 0;border:0;width:100%;margin-top:22px;padding:8px;font-size:13px;font-weight:600;display:block}.dellink:hover{text-decoration:underline}.equip-card{background:var(--white);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;padding:13px 14px}.equip-name{color:var(--ink);margin-bottom:10px;font-size:15px;font-weight:650}.equip-dims{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.equip-dims label{color:var(--slate);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.equip-dims .ee.psy-num{width:56px}.equip-x{color:var(--slate);font-size:13px}.equip-sqft{color:var(--ink);font-size:13px;font-weight:650;font-family:var(--mono);margin-left:auto}.equip-rec{color:var(--blue);background:#f0f7fc;border-radius:9px;margin-top:10px;padding:8px 11px;font-size:13px}.equip-rec b{font-weight:700}.equip-actual{gap:10px;margin-top:10px;display:flex}.equip-actual label{color:var(--slate);flex-direction:column;flex:1;gap:5px;font-size:12px;font-weight:600;display:flex}.equip-flag{color:var(--flag);background:var(--flag-soft);border-radius:9px;margin-top:10px;padding:8px 11px;font-size:12.5px;line-height:1.45}.equip-total{color:var(--slate);background:#eef4f8;border:1px solid #dce7ef;border-radius:12px;flex-direction:column;gap:6px;padding:13px 15px;font-size:13.5px;display:flex}.equip-total b{color:var(--ink)}.sup-summary{color:var(--slate);gap:14px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.sup-summary .ok{color:var(--ready)}.sups{flex-direction:column;gap:12px;display:flex}.sup-card{background:var(--white);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.sup-top{gap:7px;display:flex}.sup-amt{background:var(--white);border:1.5px solid var(--border);border-radius:9px;align-items:center;padding:0 10px;display:flex}.sup-amt:focus-within{border-color:var(--blue)}.sup-dollar{color:var(--slate);font-size:14px;font-weight:600}.sup-amt .ee{border:0;padding:9px 6px}.sup-amt .ee:focus{outline:none}.sup-status{flex-wrap:wrap;gap:6px;display:flex}.tagchip.sup-submitted.on{border-color:var(--blue);color:var(--blue);background:#eef4fb}.tagchip.sup-approved.on{background:var(--ready-soft);color:var(--ready);border-color:#bfe3ce}.tagchip.sup-denied.on{color:#b23b3b;background:#fdf1f1;border-color:#e8b4b4}.tagchip.sup-draft.on{background:var(--mist);color:var(--slate);border-color:#cdd6dd}.chk{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden}.chk.done{border-color:#bfe3ce}.chk-head{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:14px 15px;display:flex}.chk-badge{border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.chk-badge.ok{background:var(--ready);color:#fff}.chk-badge.warn{background:var(--flag);color:#fff}.chk-title{min-width:0;color:var(--ink);flex:1;font-size:14px;font-weight:600;line-height:1.35}.chk-toggle{color:var(--blue);flex:none;font-size:12.5px;font-weight:600}.chk-list{border-top:1px solid var(--border);flex-direction:column;padding:6px 15px 12px;display:flex}.chk-item{border-bottom:1px solid var(--mist);gap:10px;padding:10px 0;display:flex}.chk-item:last-child{border-bottom:0}.chk-mark{text-align:center;flex:none;width:16px;font-size:14px}.chk-item.ok .chk-mark{color:var(--ready)}.chk-item.warn .chk-mark{color:var(--flag)}.chk-lbl{color:var(--ink);font-size:13.5px;font-weight:600}.chk-item.ok .chk-lbl{color:var(--slate);font-weight:500}.chk-detail{color:var(--slate);margin-top:2px;font-size:12px;line-height:1.45}.chk-item.warn .chk-detail{color:#8a6a3a}.print-report{display:none}@media print{@page{margin:14mm}body{background:#fff!important}.phone-wrap{display:none!important}.print-report{color:#0f2a3f;max-width:720px;font-family:var(--sans);margin:0 auto;display:block!important}.print-report .pr-letterhead{border-bottom:3px solid #1668ac;align-items:center;gap:14px;margin-bottom:4px;padding-bottom:10px;display:flex}.print-report .pr-logo{object-fit:contain;flex:none;max-width:170px;height:54px}.print-report .pr-co-block{flex:1}.print-report .pr-co-name{color:#0f2a3f;letter-spacing:-.01em;font-size:20px;font-weight:700}.print-report .pr-co-meta{color:#5a6b78;margin-top:2px;font-size:10.5px}.print-report .pr-prefill{color:#0f2a3f;font-size:12px}.print-report .pr-doc-head{justify-content:space-between;align-items:baseline;margin:14px 0 12px;display:flex}.print-report .pr-doc-title{color:#1668ac;font-size:17px;font-weight:700}.print-report .pr-doc-date{color:#5a6b78;font-size:12px}.print-report .pr-metatable{border-collapse:collapse;background:#f6f8fa;border:1px solid #e4e9ed;border-radius:6px;width:100%;margin-bottom:6px}.print-report .pr-metatable th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#8697a3;vertical-align:middle;width:90px;padding:7px 10px;font-size:9.5px;font-weight:600}.print-report .pr-metatable td{color:#0f2a3f;vertical-align:middle;padding:7px 10px;font-size:12.5px}.print-report h2{text-transform:uppercase;letter-spacing:.08em;color:#5a6b78;border-bottom:1px solid #e4e9ed;margin:18px 0 8px;padding-bottom:4px;font-size:11.5px}.print-report h2.pr-flag{color:#c9781a}.print-report .pr-summary{color:#40515d;font-size:13px;line-height:1.6}.print-report ul{color:#40515d;margin:0;padding-left:18px;font-size:12.5px;line-height:1.55}.print-report ul li{margin-bottom:5px}.print-report .pr-table{border-collapse:collapse;width:100%}.print-report .pr-table td{vertical-align:top;border-bottom:1px solid #e4e9ed;padding:8px 6px;font-size:12.5px}.print-report .pr-code{font-family:var(--mono);color:#1668ac;white-space:nowrap;font-size:10.5px}.print-report .pr-qty{text-align:right;white-space:nowrap;color:#5a6b78}.print-report .pr-price{text-align:right;white-space:nowrap;color:#0f2a3f;font-weight:600;font-family:var(--mono);padding-left:10px;font-size:12px}.print-report .pr-total-row td{border-top:2px solid #0f2a3f;border-bottom:none;padding-top:10px;font-size:13.5px}.print-report .pr-linemeta{color:#5a6b78;margin-top:3px;font-size:10.5px}.print-report tr{page-break-inside:avoid}.print-report .pr-drytable{border-collapse:collapse;width:100%}.print-report .pr-drytable th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#8697a3;border-bottom:1px solid #e4e9ed;padding:6px;font-size:9.5px;font-weight:600}.print-report .pr-drytable td{color:#40515d;vertical-align:top;border-bottom:1px solid #eef2f5;padding:6px;font-size:11px}.print-report .pr-appendix{page-break-before:always}.print-report .pr-photos{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.print-report .pr-photo{page-break-inside:avoid;border:1px solid #e4e9ed;border-radius:5px;overflow:hidden}.print-report .pr-photo img{object-fit:cover;width:100%;height:120px;display:block}.print-report .pr-photo-cap{color:#5a6b78;padding:4px 6px;font-size:10px}.print-report .pr-sign{page-break-inside:avoid;gap:40px;margin-top:34px;display:flex}.print-report .pr-sign-col{flex:1}.print-report .pr-line{border-bottom:1px solid #0f2a3f;height:26px;display:block}.print-report .pr-sign-lbl{color:#5a6b78;margin-top:4px;font-size:10.5px;display:block}.print-report .pr-foot{color:#8697a3;border-top:1px solid #e4e9ed;margin-top:22px;padding-top:10px;font-size:10px;line-height:1.5}}
