:root{--brand-navy:#0b1d3a;--brand-blue:#0a66ff;--brand-grey:#6b7280;--brand-light:#f2f4f7;--brand-on-navy:#fff;--navy-800:#142a4e;--navy-600:#2a4265;--navy-100:#dce3ee;--blue-600:#0850cc;--blue-100:#dce9ff;--on-navy-2:#9fb3cc;--crit:#e60000;--high:#ff6a00;--med:#ffc400;--low:var(--brand-grey);--ok:#16794c;--paper:#f3f2f1;--card:#fff;--line:#e1dfdd;--ink:#242424;--ink-2:#605e5c;--r-sm:6px;--r-md:8px;--r-lg:12px;--shadow-1:0 1px 2px rgba(0,0,0,.06),0 0 1px rgba(0,0,0,.1);--shadow-2:0 2px 4px rgba(0,0,0,.08),0 0 2px rgba(0,0,0,.08);--shadow-3:0 8px 16px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--shadow:0 1px 2px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.06);--line-strong:#c8c6c4;--tap:44px;--font-ui:"Segoe UI Variable","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",sans-serif;--font-num:"IBM Plex Mono",ui-monospace,"SF Mono",monospace}*{box-sizing:border-box}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.5;margin:0;overscroll-behavior-y:none}button{cursor:pointer;font:inherit}:focus-visible{outline:3px solid var(--brand-blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{display:flex;flex-direction:column;height:100%}.appbar{align-items:center;background:var(--brand-navy);color:var(--brand-on-navy);display:flex;gap:12px;padding:max(10px,env(safe-area-inset-top)) 14px 10px}.appbar h1{font-size:15px;font-weight:600;letter-spacing:.01em;margin:0}.appbar .sub{font-size:12px;opacity:.72}.appbar .ref{font-family:var(--font-num);font-size:12px;opacity:.8}.scroll{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto}.progress{background:var(--navy-800);height:4px}.progress>i{background:var(--brand-blue);display:block;height:100%;transition:width .25s}.secbar{align-items:stretch;background:var(--navy-800);display:flex}.secjump{align-items:center;background:hsla(0,0%,100%,.07);border:0;border-right:1px solid hsla(0,0%,100%,.14);color:#fff;display:flex;flex:0 0 auto;gap:8px;max-width:46%;padding:8px 12px;text-align:left}.secjump:hover{background:hsla(0,0%,100%,.14)}.secjump-ord{align-items:center;background:var(--brand-blue);border-radius:5px;color:#fff;display:flex;flex:0 0 auto;font-size:12px;font-weight:700;height:22px;justify-content:center;min-width:22px}.secjump-title{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.secjump-caret{flex:0 0 auto;font-size:10px;opacity:.7}.secnav{display:flex;flex:1 1 auto;gap:6px;min-width:0;overflow-x:auto;padding:8px 12px;scrollbar-color:hsla(0,0%,100%,.3) transparent;scrollbar-width:thin}.secnav::-webkit-scrollbar{height:6px}.secnav::-webkit-scrollbar-track{background:transparent}.secnav::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.28);border-radius:3px}.secnav::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.45)}.secnav button{background:hsla(0,0%,100%,.1);border:0;border-radius:999px;color:#fff;flex:0 0 auto;font-size:13px;font-weight:500;padding:7px 13px;white-space:nowrap}.secnav button[aria-current=true]{background:var(--brand-blue);color:#fff}.secnav .dot{background:var(--brand-blue);border-radius:50%;display:inline-block;height:6px;margin-left:6px;vertical-align:middle;width:6px}@media (max-width:620px){.secnav{display:none}.secjump{flex:1 1;max-width:none}}.sheet.picker{display:flex;flex-direction:column;max-height:88vh}.picker-search{border:1.5px solid var(--line);border-radius:var(--r-sm);font:inherit;font-size:15px;margin:4px 0 12px;padding:11px 12px;width:100%}.picker-list{flex:1 1;margin:0 -4px;overflow-y:auto}.picker-row{grid-gap:4px 10px;align-items:center;background:transparent;border:0;border-radius:var(--r-sm);display:grid;gap:4px 10px;grid-template-columns:26px 1fr auto auto;grid-template-rows:auto 3px;padding:9px 6px 7px;text-align:left;width:100%}.picker-row:hover{background:var(--brand-light)}.picker-row.on{background:var(--blue-100)}.picker-ord{color:var(--ink-2);font-family:var(--font-num);font-size:12px;grid-row:1;text-align:right}.picker-title{font-size:15px;grid-row:1}.picker-fail{background:var(--crit);border-radius:999px;color:#fff;font-size:11px;font-weight:700;grid-row:1;padding:2px 7px}.picker-count{color:var(--ink-2);font-family:var(--font-num);font-size:12px;grid-row:1}.picker-bar{background:var(--line);border-radius:2px;grid-column:1/-1;grid-row:2;height:3px;overflow:hidden}.picker-bar i{background:var(--brand-blue);display:block;height:100%}.group-title{color:var(--ink-2);font-size:12px;font-weight:700;letter-spacing:.07em;padding:18px 16px 6px;text-transform:uppercase}.item{background:var(--card);border-bottom:1px solid var(--line);padding:10px 14px}.item.nok{background:#fdf4f3;border-left:3px solid var(--crit)}.item.ok{border-left:3px solid var(--ok)}.item.na{opacity:.58}.item.ni{background:#f8fafc;border-left:3px solid #94a3b8}.item-row{align-items:center;display:flex;gap:12px}.item-label{flex:1 1;font-size:15px}.tri{display:flex;flex:0 0 auto;gap:4px}.tri button{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);font-size:12px;height:var(--tap);min-width:46px}.tri button[aria-pressed=true][data-v=ok]{background:var(--ok);border-color:var(--ok);color:#fff}.tri button[aria-pressed=true][data-v=nok]{background:var(--crit);border-color:var(--crit);color:#fff}.tri button[aria-pressed=true][data-v=na]{background:var(--low);border-color:var(--low);color:#fff}.tri button[aria-pressed=true][data-v=ni]{background:#64748b;border-color:#64748b;color:#fff}.defect-chip{align-items:center;background:var(--navy-100);border:1px solid var(--line);border-radius:var(--r-sm);display:inline-flex;font-size:13px;gap:8px;margin-top:8px;padding:6px 10px}.defect-chip .ref{font-family:var(--font-num);font-size:12px}.sev{border-radius:999px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;padding:2px 7px;text-transform:uppercase}.sev.critical{background:var(--crit)}.sev.high{background:var(--high)}.sev.medium{background:var(--med);color:#3a2a00}.sev.low{background:var(--low)}.footer{align-items:center;background:var(--card);border-top:1px solid var(--line);display:flex;gap:10px;padding:10px 14px max(10px,env(safe-area-inset-bottom))}.btn{border:0;border-radius:var(--r-md);font-size:15px;font-weight:600;height:var(--tap);padding:0 18px}.btn.primary{background:var(--brand-navy);color:var(--brand-on-navy)}.btn.ghost{background:var(--navy-100);color:var(--brand-navy)}.btn:disabled{opacity:.45}.sync{align-items:center;color:var(--ink-2);display:flex;font-size:12px;gap:6px}.sync .pip{background:var(--ok);border-radius:50%;height:8px;width:8px}.sync.offline .pip{background:var(--brand-blue)}.sheet-bg{align-items:flex-end;background:rgba(11,29,58,.5);display:flex;inset:0;position:fixed;z-index:50}.sheet{background:var(--card);border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:92vh;overflow-y:auto;padding:18px 16px max(18px,env(safe-area-inset-bottom));width:100%}@media (min-width:720px){.sheet-bg{align-items:center;justify-content:center}.sheet{border-radius:var(--r-lg);max-width:560px}}.sheet h2{font-size:18px;margin:0 0 4px}.sheet .ctx{color:var(--ink-2);font-size:13px;margin-bottom:16px}@media (min-width:720px){.sheet.sheet-lg{max-width:680px}}.intake-section{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md,12px);margin-bottom:14px;padding:14px 14px 4px}.intake-h{color:var(--brand-blue);font-size:12px;font-weight:800;letter-spacing:.07em;margin:0 0 12px;text-transform:uppercase}.intake-flags{display:flex;gap:18px;margin-bottom:14px}.intake-flags .chk{align-items:center;color:var(--ink);display:inline-flex;font-size:14px;font-weight:600;gap:7px}.intake-flags .chk input{height:17px;width:17px}.linklike{background:none;border:0;color:var(--brand-blue);cursor:pointer;font:inherit;font-weight:700;padding:0;text-decoration:underline}.audit-list{border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:8px;overflow:hidden}.audit-row{grid-gap:12px;align-items:center;border-bottom:1px solid var(--line);display:grid;font-size:13px;gap:12px;grid-template-columns:1fr auto auto;padding:9px 12px}.audit-row:last-child{border-bottom:0}.audit-row b{color:var(--ink);font-weight:700;text-transform:capitalize}.room-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto auto;margin-bottom:8px}.room-name{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);color:var(--ink);font:inherit;font-size:14px;padding:9px 10px}.room-status{border:0;border-radius:999px;cursor:pointer;font-size:12px;font-weight:700;padding:6px 12px;white-space:nowrap}.room-status.st-pending{background:#eef1f6;color:#5a6b7a}.room-status.st-inspected{background:#e4f5ec;color:#16794c}.room-status.st-not_accessible{background:#fdecea;color:#b3261e}.room-del{background:none;border:0;color:#b3261e;cursor:pointer;font-size:16px;padding:4px 8px}.room-add{display:flex;gap:8px;margin-top:10px}.room-add input{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);flex:1 1;font:inherit;font-size:14px;padding:10px 12px}.publish-blockers{background:#fdf4f3;border:1px solid #f3c7c4;border-radius:var(--r-sm);margin:8px 0;padding:10px 12px}.publish-blockers li{color:#8a2a22;font-size:13px;margin:3px 0}.publish-ok{background:#e4f5ec;border:1px solid #bfe3cf;border-radius:var(--r-sm);color:#16794c;font-size:13px;font-weight:600;margin:8px 0;padding:8px 12px}.ai-draft-banner{align-items:center;background:#eef4ff;border:1px solid #c9dcff;border-radius:var(--r-sm);display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 12px;padding:8px 12px}.ai-draft-tag{background:var(--brand-blue);border-radius:999px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;padding:3px 9px}.ai-draft-note{color:var(--ink-2);font-size:12px}.ai-draft-banner .linklike{color:#b3261e;margin-left:auto}.carried-tag{background:#fce8d8;border-radius:999px;color:#8a4b00;font-size:10px;font-weight:700;padding:2px 7px}.unit-title-btn{background:none;border:0;cursor:pointer;max-width:100%;padding:0;text-align:left}.unit-title-btn h1{align-items:center;color:#fff;display:flex;gap:6px}.unit-title-info{font-size:12px;opacity:.7}.detail-group-title{color:var(--ink-2);font-size:12px;font-weight:700;letter-spacing:.06em;margin:16px 0 6px;text-transform:uppercase}.detail-row{border-bottom:1px solid var(--line);display:flex;font-size:14px;gap:16px;justify-content:space-between;padding:9px 0}.detail-label{color:var(--ink-2);flex-shrink:0;font-weight:600}.detail-value{color:var(--ink);text-align:right;word-break:break-word}.detail-value a{color:var(--brand-navy);text-decoration:none}.detail-meta{margin-top:16px}.undo-toast{align-items:center;background:var(--brand-navy);border-radius:var(--r-sm);bottom:24px;box-shadow:0 8px 28px rgba(11,29,58,.35);color:#fff;display:flex;font-size:14px;gap:16px;left:50%;max-width:92vw;padding:12px 16px 12px 18px;position:fixed;transform:translateX(-50%);z-index:200}.undo-btn{background:none;border:0;color:#7fb0ff;cursor:pointer;font-size:14px;font-weight:700;padding:4px 6px;white-space:nowrap}.undo-btn:hover{color:#fff}label.f{color:var(--ink-2);display:block;font-size:13px;font-weight:600;margin-bottom:14px}label.f input,label.f select,label.f textarea{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);color:var(--ink);display:block;font:inherit;font-size:15px;margin-top:5px;padding:11px 12px;width:100%}label.f textarea{min-height:76px;resize:vertical}.seg{grid-gap:6px;display:grid;gap:6px;grid-auto-columns:1fr;grid-auto-flow:column;margin-top:5px}.seg button{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);font-size:13px;font-weight:600;height:44px}.seg button[aria-pressed=true]{background:var(--brand-navy);border-color:transparent;color:#fff}.seg button[aria-pressed=true][data-s=critical]{background:var(--crit)}.seg button[aria-pressed=true][data-s=high]{background:var(--high)}.seg button[aria-pressed=true][data-s=medium]{background:var(--med);color:#3a2a00}.seg button[aria-pressed=true][data-s=low]{background:var(--low)}.photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.photos img{border-radius:var(--r-sm);height:76px;object-fit:cover;width:76px}.photo-add{align-items:center;background:var(--paper);border:1.5px dashed var(--line);border-radius:var(--r-sm);display:flex;font-size:26px;height:76px;justify-content:center;width:76px}.hint,.photo-add{color:var(--ink-2)}.hint{font-size:12px;margin-top:-8px}.err,.hint{margin-bottom:14px}.err{background:#fef0ef;border:1px solid #f3c7c4;border-radius:var(--r-sm);color:var(--crit);font-size:14px;padding:10px 12px}.empty{color:var(--ink-2);padding:48px 24px;text-align:center}.lockup{align-items:center;display:inline-flex;gap:11px}.lockup-stacked{flex-direction:column;gap:14px;text-align:center}.lockup-text{display:flex;flex-direction:column;line-height:1.05}.lockup-name{color:var(--lockup-ink);display:block;font-weight:500;letter-spacing:.22em;margin-right:-.22em;white-space:nowrap}.lockup-a{display:inline;position:relative}.lockup-a:after{background:var(--brand-blue);bottom:.08em;content:"";height:.12em;left:50%;margin-left:-.06em;position:absolute;transform:rotate(45deg);width:.12em}.lockup-ar{display:block;font-size:.62em;font-weight:500;letter-spacing:0;margin-top:.28em;opacity:.8}.lockup-tag{color:var(--brand-blue);font-size:9.5px;font-weight:500;letter-spacing:.2em;margin-right:-.2em;margin-top:6px;text-transform:uppercase}.appbar .lockup-tag{color:var(--on-navy-2)}.section-tools{align-items:center;background:var(--blue-100);border-bottom:1px solid var(--line);color:var(--ink-2);display:flex;font-size:13px;gap:12px;padding:10px 14px}.section-tools button{background:transparent;border:1px solid var(--brand-navy);border-radius:var(--r-sm);color:var(--brand-navy);font-size:13px;font-weight:600;margin-left:auto;padding:7px 12px}.item.blocking{background:var(--blue-100);box-shadow:inset 3px 0 0 var(--brand-blue)}.defect-chip.missing{background:#fdf4f3;border-color:#efc9c6;color:var(--crit);font-weight:600}.toast{align-items:center;border-radius:var(--r-md);bottom:76px;box-shadow:var(--shadow);display:flex;font-size:14px;gap:12px;left:12px;padding:12px 14px;position:absolute;right:12px;z-index:20}.toast.err{background:#fdf4f3;border:1px solid #efc9c6;color:var(--crit)}.toast button{background:transparent;border:1px solid;border-radius:var(--r-sm);color:inherit;flex:0 0 auto;font-size:13px;font-weight:600;margin-left:auto;padding:7px 12px}.compare{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:12px}.compare-label{color:var(--ink-2);display:block;font-size:11px;font-weight:700;letter-spacing:.07em;margin-bottom:5px;text-transform:uppercase}.compare .photo-add,.compare .photos img{height:64px;width:64px}.compare .photo-add{font-size:22px}.app.portal{background:var(--brand-light)}.app.portal .item{background:var(--card)}.photo-fallback,.photo-skeleton{background:var(--navy-100);border-radius:var(--r-sm);display:inline-block;height:76px;width:76px}.photo-fallback{align-items:center;background:#fdf4f3;border:1px solid var(--line);color:var(--crit);display:inline-flex;font-weight:700;justify-content:center}.compare .photo-fallback,.compare .photo-skeleton{height:64px;width:64px}@media (prefers-reduced-motion:no-preference){.photo-skeleton{animation:photo-pulse 1.4s ease-in-out infinite}@keyframes photo-pulse{0%,to{opacity:1}50%{opacity:.55}}}.auth-wrap{margin:0 auto;max-width:420px;padding:28px 22px;width:100%}.auth-logo{display:block;height:auto;margin:8px auto 22px;max-width:72%;width:220px}.auth-wrap h2{font-size:20px;margin:0 0 4px}.auth-switch{color:var(--ink-2);font-size:13px;margin-top:16px;text-align:center}.auth-switch button{background:transparent;border:0;color:var(--brand-blue);font-size:13px;font-weight:600;padding:0 4px}.demo-pill{background:var(--brand-light);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);font-size:12px;margin-top:18px;padding:10px 12px}.demo-pill code{color:var(--ink);font-family:var(--font-num)}.home-tabs{background:var(--card);border-bottom:1px solid var(--line);display:flex;gap:8px;padding:12px 14px}.home-tabs button{background:var(--navy-100);border:0;border-radius:999px;color:var(--brand-navy);font-size:13px;font-weight:600;padding:8px 16px}.home-tabs button[aria-pressed=true]{background:var(--brand-navy);color:#fff}.insp-card{align-items:center;background:var(--card);border-bottom:1px solid var(--line);display:flex;gap:12px;padding:14px}.insp-card .grow{flex:1 1;min-width:0}.insp-card .title{font-size:15px}.insp-card .sub{color:var(--ink-2);font-size:12px;margin-top:2px}.state-tag{background:var(--navy-100);border-radius:999px;color:var(--brand-navy);font-size:10px;font-weight:700;letter-spacing:.05em;padding:3px 8px;text-transform:uppercase}.state-tag.published,.state-tag.submitted{background:#dcfce7;color:var(--ok)}.state-tag.in_progress{background:var(--blue-100);color:var(--blue-600)}.mini-bar{background:var(--line);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.mini-bar i{background:var(--brand-blue);display:block;height:100%}.logout-btn{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.22);border-radius:var(--r-sm);color:#fff;cursor:pointer;font-size:12.5px;font-weight:600;margin-left:auto;padding:7px 13px;transition:background-color .15s ease,border-color .15s ease}.logout-btn:hover{background:hsla(0,0%,100%,.16);border-color:hsla(0,0%,100%,.4)}.logout-btn.primary{background:var(--brand-blue);border-color:var(--brand-blue)}.logout-btn.primary:hover{background:var(--blue-600)}.sigpad{position:relative}.sigpad canvas{background:repeating-linear-gradient(45deg,#fff,#fff 10px,#fafbfc 0,#fafbfc 20px);border:1.5px dashed var(--line);border-radius:var(--r-sm);cursor:crosshair;display:block;height:150px;touch-action:none;width:100%}.sig-clear{background:var(--card);border:1px solid var(--line);border-radius:999px;color:var(--ink-2);font-size:11px;font-weight:600;padding:4px 10px;position:absolute;right:8px;top:8px}.appbar-tools{display:flex;gap:8px;margin-right:10px}.tool-btn{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.28);border-radius:var(--r-sm);color:#fff;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:7px 12px;white-space:nowrap}.tool-btn:hover{background:hsla(0,0%,100%,.14)}.tool-count{align-items:center;background:var(--brand-blue);display:inline-flex;font-size:11px;height:18px;justify-content:center;min-width:18px;padding:0 5px}.cover-toast,.tool-count{border-radius:999px;color:#fff}.cover-toast{background:var(--brand-navy);box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:13px;left:50%;padding:8px 16px;position:fixed;top:64px;transform:translateX(-50%);z-index:60}.voice-wrap{position:relative}.voice-wrap input,.voice-wrap textarea{padding-right:64px}.mic-btn{background:var(--card);border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:12px;font-weight:600;padding:5px 10px;position:absolute;right:8px;top:8px}.mic-btn.on{animation:pulse 1.1s infinite;background:#b3261e;border-color:#b3261e;color:#fff}.photo-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.photo-actions select{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);font-size:13px;padding:8px 10px}.photo-btn{font-size:13px;height:38px;padding:0 12px}.photo-thumb{display:inline-block;position:relative}.photo-remove{background:#b3261e;border:0;border-radius:50%;color:#fff;font-size:13px;height:20px;justify-content:center;line-height:1;position:absolute;right:-6px;top:-6px;width:20px}.defrow,.photo-remove{align-items:center;display:flex}.defrow{border:1px solid var(--line);border-radius:var(--r-sm);gap:12px;margin-bottom:10px;padding:12px}.defrow-main{flex:1 1;min-width:0}.defrow-top{align-items:center;display:flex;gap:8px}.defrow-title{font-weight:600;margin-top:4px}.defrow-thumbs{display:flex;gap:6px;margin-top:8px}.defrow-thumbs img{border-radius:6px;height:46px;object-fit:cover;width:46px}@media (max-width:480px){.appbar{gap:8px;padding-left:10px;padding-right:10px}.appbar h1{font-size:13px}.appbar .sub{font-size:10.5px}.appbar>.ref{display:none}.appbar-tools{gap:6px;margin-right:0}.tool-btn{font-size:11px;padding:6px 9px}.tool-btn.cover-label{display:none}}@media (max-width:360px){.appbar h1{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:600px){.appbar{flex-wrap:wrap;row-gap:4px}.appbar .unit-title-btn{display:block;width:100%}.appbar .sub,.appbar .unit-title-btn h1{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appbar-tools{-webkit-overflow-scrolling:touch;flex:1 0 100%;margin:4px 0 0;order:10;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none;width:100%}.appbar-tools::-webkit-scrollbar{display:none}.appbar-tools .tool-btn{flex:0 0 auto}.insp-card{align-items:center;flex-wrap:wrap;row-gap:8px}.insp-card .grow{flex:1 1 100%}.insp-card .title{line-height:1.3}.insp-card .state-tag{order:2}.insp-card .btn,.insp-card .state-locked{order:3}.insp-card .icon-btn{order:4}.insp-card .state-locked,.insp-card>.btn:first-of-type{margin-left:0}.insp-card .icon-btn:first-of-type{margin-left:auto}}.defect-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.defect-filters select{flex:1 1;font-size:13px;min-width:120px;padding:8px 10px}.defect-filters select,.defect-search{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink)}.defect-search{font-size:14px;margin-bottom:10px;padding:10px 12px;width:100%}.bulk-bar{background:var(--brand-light);border:1px solid var(--line);border-radius:var(--r-sm);flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:8px 12px}.bulk-all,.bulk-bar{align-items:center;display:flex}.bulk-all{color:var(--brand-navy);font-size:13px;font-weight:600;gap:8px}.bulk-all input{height:16px;width:16px}.defrow-check{flex-shrink:0;height:18px;margin-right:2px;width:18px}.revisit-banner{background:#eaf1ff;border-bottom:1px solid var(--line);color:#0a66ff;font-size:13px;font-weight:600;padding:8px 14px;text-align:center}.room-progress{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.room-chip{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:999px;color:var(--ink);display:inline-flex;font-size:12px;font-weight:600;gap:8px;padding:6px 12px}.room-chip .room-count{color:var(--brand-blue);font-family:var(--font-num)}.room-chip.done{background:#dcfce7;border-color:#bbf7d0}.room-chip.done .room-count{color:var(--ok,#166534)}.room-chip.active{outline:2px solid var(--brand-blue)}.dispatch-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px}.dispatch-nav{align-items:center;display:flex;gap:8px}.dispatch-nav .btn.ghost{font-size:18px;height:36px;padding:0;width:36px}.cal-title{font-size:15px;font-weight:700;min-width:150px;text-align:center}.calendar{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr);padding:0 14px}.cal-dow{color:var(--ink-2);font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px;text-align:center;text-transform:uppercase}.cal-cell{background:var(--card);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:4px;min-height:96px;padding:5px}.cal-cell.empty{background:transparent;border:none}.cal-cell.today{border-color:var(--brand-blue);box-shadow:inset 0 0 0 1px var(--brand-blue)}.cal-daynum{align-items:center;color:var(--ink-2);display:flex;font-size:12px;font-weight:600;justify-content:space-between}.cal-add{background:transparent;border:0;border-radius:6px;color:var(--brand-blue);font-size:16px;height:20px;line-height:1;width:20px}.cal-add:hover{background:var(--brand-light)}.cal-job{background:var(--navy-100);border:0;border-left:3px solid var(--brand-navy);border-radius:6px;cursor:pointer;display:block;padding:4px 6px;text-align:left}.cal-job b{display:block;font-size:11px}.cal-job span{color:var(--ink-2);font-size:10px}.cal-job.state-in_progress{background:var(--blue-100);border-left-color:var(--blue-600)}.cal-job.state-submitted{background:#dcfce7;border-left-color:var(--ok,#16a34a)}.unassigned{padding:18px 14px 0}.unassigned h3{color:var(--ink-2);font-size:13px;letter-spacing:.05em;margin:0 0 8px;text-transform:uppercase}@media (max-width:640px){.cal-cell{min-height:72px}.cal-job b{font-size:10px}.cal-job span{display:none}}.workload{align-items:center;display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 12px}.workload-label{color:var(--ink-2);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.workload-chip{background:var(--card);border:1px solid var(--line);border-radius:999px;font-size:12px;padding:5px 10px}.workload-chip b{color:var(--brand-blue);font-family:var(--font-num);margin-left:4px}.cal-cell.drop,.week-col.drop{outline:2px dashed var(--brand-blue);outline-offset:-3px}.cal-job{cursor:-webkit-grab;cursor:grab}.weekview{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr);padding:0 14px}.week-col{background:var(--card);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;min-height:320px}.week-col.today{border-color:var(--brand-blue);box-shadow:inset 0 0 0 1px var(--brand-blue)}.week-head{align-items:center;border-bottom:1px solid var(--line);color:var(--ink-2);display:flex;font-size:12px;justify-content:space-between;letter-spacing:.04em;padding:8px 10px;text-transform:uppercase}.week-head b{color:var(--ink);font-size:15px}.week-body{display:flex;flex-direction:column;gap:5px;padding:6px}.week-empty{color:var(--line);font-size:20px;padding:10px 0;text-align:center}.bell-btn,.bell-wrap{position:relative}.bell-count{align-items:center;background:#b3261e;border-radius:999px;color:#fff;display:inline-flex;font-size:10px;font-weight:700;height:16px;justify-content:center;min-width:16px;padding:0 4px;position:absolute;right:-6px;top:-6px}.bell-panel{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.2);max-height:380px;overflow:auto;position:absolute;right:0;top:40px;width:300px;z-index:70}.bell-empty{color:var(--ink-2);font-size:13px;padding:18px;text-align:center}.bell-item{border-bottom:1px solid var(--line);padding:10px 12px}.bell-item.unread{background:var(--brand-light)}.bell-title{color:var(--ink);font-size:13px;font-weight:700}.bell-body{color:var(--ink-2);font-size:12px;margin-top:2px}@media (max-width:640px){.weekview{grid-template-columns:1fr}.week-col{min-height:auto}}.conflict-banner{background:#fef3f2;border:1px solid #fec9c4;border-radius:var(--r-sm);color:#b3261e;font-size:13px;font-weight:600;margin:0 14px 12px;padding:8px 14px}.cal-job.conflict{outline:2px solid #b3261e;outline-offset:-1px}.week-anytime{border-bottom:1px dashed var(--line);height:78px;overflow:auto;padding:6px}.anytime-label{color:var(--ink-2);display:block;font-size:10px;font-weight:700;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.anytime-jobs{display:flex;flex-direction:column;gap:4px}.timeline{position:relative}.hour-line{border-top:1px solid var(--line);left:0;position:absolute;right:0}.hour-line span{color:var(--ink-2);font-family:var(--font-num);font-size:9px;left:4px;position:absolute;top:2px}.timeline .cal-job{z-index:2}.sched-group{margin-bottom:10px}.sched-date{background:var(--brand-light);border-bottom:1px solid var(--line);color:var(--brand-navy);font-family:var(--font-num);font-size:12px;font-weight:700;letter-spacing:.04em;padding:8px 14px;position:-webkit-sticky;position:sticky;top:0}.bell-backdrop{inset:0;position:fixed;z-index:65}.bell-panel{z-index:66}.legend{display:flex;flex-wrap:wrap;gap:12px;padding:0 14px 12px}.legend-item{align-items:center;color:var(--ink-2);display:inline-flex;font-size:12px;gap:6px}.legend-dot{border-radius:50%;display:inline-block;height:12px;width:12px}.tl-job-wrap{z-index:2}.tl-job-wrap .cal-job{overflow:hidden}.resize-handle{background:linear-gradient(transparent,rgba(0,0,0,.12));border-radius:0 0 6px 6px;bottom:0;cursor:ns-resize;height:8px;left:0;position:absolute;right:0;z-index:3}.f-label{color:var(--ink);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.icon-btn{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-sm);color:var(--ink);font-size:16px;height:40px;margin-left:6px;width:40px}.icon-btn:hover{background:var(--brand-light)}[data-testid^=delete-].icon-btn{border-color:#f3c6c2;color:#b3261e}[data-testid^=delete-].icon-btn:hover{background:#fef3f2}.wa-tabs{background:var(--brand-navy);display:flex;gap:4px;padding:8px 12px}.wa-tabs button{background:transparent;border:0;border-radius:999px;color:var(--on-navy-2,#c7d0de);cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:background-color .15s,color .15s}.wa-tabs button[aria-current=true]{background:var(--brand-blue);color:#fff}.wa-inbox{display:grid;grid-template-columns:320px 1fr;height:100%}.wa-list{background:#fff;border-right:1px solid var(--line);overflow-y:auto}.wa-list-item{background:transparent;border:0;border-bottom:1px solid var(--brand-light);cursor:pointer;display:block;padding:12px 14px;text-align:left;transition:background-color .12s;width:100%}.wa-list-item:hover{background:var(--brand-light)}.wa-list-item.active{background:#eaf1ff;box-shadow:inset 3px 0 0 var(--brand-blue)}.wa-li-top{align-items:center;display:flex;gap:8px}.wa-li-name{color:var(--ink);flex:1 1;font-size:14px;font-weight:700}.wa-badge{align-items:center;background:var(--brand-blue);border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:800;height:18px;justify-content:center;min-width:18px;padding:0 5px}.wa-li-preview{color:var(--ink-2);font-size:12px;margin:3px 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wa-li-meta{align-items:center;display:flex;gap:8px}.wa-stage-tag{background:var(--brand-light);border-radius:4px;color:var(--ink-2);font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 6px}.wa-stage-tag.human{background:#fce8d8;color:#8a4b00}.wa-ai-flag{color:var(--brand-blue);font-size:11px;font-weight:700;margin-left:auto}.wa-thread-wrap{background:var(--paper);display:flex;flex-direction:column;height:100%;min-width:0}.wa-thread-head{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;gap:10px;padding:12px 16px}.wa-th-name{color:var(--ink);font-size:15px;font-weight:700}.wa-th-sub{color:var(--ink-2);font-size:12px}.wa-ai-pill{border-radius:999px;font-size:12px;font-weight:700;padding:5px 10px}.wa-ai-pill.ai{background:#e6f0ff;color:var(--brand-blue)}.wa-ai-pill.human{background:#fce8d8;color:#8a4b00}.wa-controls{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px}.wa-controls .btn{height:34px;padding:0 12px}.wa-stage-select{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:12px;height:34px;padding:0 8px}.wa-thread{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:16px}.wa-msg{border-radius:12px;font-size:14px;max-width:72%;padding:9px 12px}.wa-msg.inbound{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:3px}.wa-msg.outbound{align-self:flex-end;background:var(--brand-blue);border-bottom-right-radius:3px;color:#fff}.wa-msg-body{word-wrap:break-word;line-height:1.35;white-space:pre-wrap}.wa-msg-meta{font-size:10px;margin-top:4px;opacity:.7}.wa-reply{background:#fff;border-top:1px solid var(--line);display:flex;gap:8px;padding:12px 16px}.wa-reply input{border:1px solid var(--line);border-radius:999px;flex:1 1;font:inherit;font-size:14px;padding:10px 16px}.wa-reply .btn{border-radius:999px;padding:0 20px}.wa-setup{max-width:720px;padding:16px}.wa-card{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:16px 18px}.wa-card h3{color:var(--ink);font-size:15px;margin:0 0 12px}.wa-health-grid{grid-gap:10px 24px;display:grid;gap:10px 24px;grid-template-columns:1fr 1fr}.wa-health-grid>div{border-bottom:1px dashed var(--brand-light);display:flex;font-size:13px;justify-content:space-between;padding-bottom:6px}.wa-health-grid span{color:var(--ink-2)}.wa-health-grid b{color:var(--ink)}.wa-audit-row{grid-gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;font-size:12px;gap:10px;grid-template-columns:180px 1fr 200px 150px;margin-bottom:6px;padding:9px 12px}.wa-audit-action{color:var(--brand-navy);font-weight:700}.wa-audit-actor,.wa-audit-target,.wa-audit-time{color:var(--ink-2)}.wa-audit-time{text-align:right}@media (max-width:720px){.wa-inbox{grid-template-columns:1fr}.wa-list{max-height:40vh}.wa-health-grid{grid-template-columns:1fr}.wa-audit-row{grid-template-columns:1fr 1fr}}.wa-sender-tag{border-radius:4px;display:inline-block;font-size:9px;font-weight:800;letter-spacing:.05em;margin-right:6px;padding:1px 5px;vertical-align:middle}.wa-sender-tag.ai{background:hsla(0,0%,100%,.22);color:#fff}.wa-msg.inbound .wa-sender-tag{background:#e6f0ff;color:var(--brand-blue)}.wa-sender-tag.human{background:hsla(0,0%,100%,.22);color:#fff}.wa-ai-toggle-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.wa-ai-toggle-label{color:var(--ink);font-size:14px;font-weight:700;margin-bottom:2px}.wa-switch{background:#c7cdd6;border:0;border-radius:999px;cursor:pointer;flex-shrink:0;height:28px;position:relative;transition:background-color .18s;width:48px}.wa-switch.on{background:var(--brand-blue)}.wa-switch:disabled{cursor:default;opacity:.6}.wa-switch-dot{background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.25);height:22px;left:3px;position:absolute;top:3px;transition:transform .18s;width:22px}.wa-switch.on .wa-switch-dot{transform:translateX(20px)}.update-banner{align-items:center;background:#0a66ff;box-shadow:0 4px 14px rgba(0,0,0,.25);color:#fff;display:flex;flex-wrap:wrap;gap:12px;left:0;padding:10px 16px;position:fixed;right:0;top:0;z-index:9999}.update-banner-text{display:flex;flex:1 1;flex-direction:column;line-height:1.2;min-width:180px}.update-banner-text b{font-size:14px}.update-banner-text span{font-size:12px;opacity:.9}.update-banner-actions{display:flex;gap:8px}.update-banner-btn{border:0;border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;padding:8px 16px;text-decoration:none}.update-banner-btn.primary{background:#fff;color:#0a66ff}.update-banner-btn.ghost{background:hsla(0,0%,100%,.18);color:#fff}.c-badge{border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;padding:2px 8px}.c-badge.draft{background:#eef2f8;color:#5a6579}.c-badge.sent{background:#fff3d6;color:#8a6d00}.c-badge.signed{background:#e6f4ea;color:#137333}.c-sec{border-bottom:1px solid var(--brand-light);color:var(--brand-navy);font-size:12px;letter-spacing:.05em;margin:16px 0 4px;padding-bottom:5px;text-transform:uppercase}.c-checks{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.c-check{align-items:center;color:var(--ink);display:flex;font-size:13px;gap:6px}.c-check input{width:auto}.c-dossier{align-items:center;background:var(--brand-light);border-radius:8px;color:var(--ink-2);display:flex;font-size:12px;gap:10px;margin-bottom:8px;padding:6px 10px}.c-dossier a{color:var(--brand-blue);font-weight:600;text-decoration:none}.cl-search{border:1px solid var(--line);border-radius:999px;font:inherit;font-size:14px;margin-bottom:12px;padding:10px 14px;width:100%}.cl-item{background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;margin-bottom:8px;padding:10px 12px;text-align:left;transition:background-color .12s;width:100%}.cl-item:hover{background:var(--brand-light)}.cl-item.active{background:#eaf1ff;box-shadow:inset 3px 0 0 var(--brand-blue)}.cl-item b{color:var(--ink);font-size:14px}.cl-item span{color:var(--ink-2);font-size:12px;margin-top:2px}.cl-row{align-items:center;border-bottom:1px dashed var(--brand-light);display:flex;font-size:13px;gap:10px;justify-content:space-between;padding:8px 0}.cl-row>span:last-child{color:var(--ink-2);flex-shrink:0}.cl-link{color:var(--brand-blue);font-size:12px;font-weight:600;text-decoration:none}.tl-row{align-items:center;border-bottom:1px dashed var(--brand-light);display:flex;font-size:12px;gap:10px;padding:7px 0}.tl-dot{background:var(--ink-2);border-radius:50%;flex-shrink:0;height:9px;width:9px}.tl-dot.property{background:#8a6d00}.tl-dot.inspection{background:var(--brand-blue)}.tl-dot.report{background:#137333}.tl-dot.contract{background:#7a3ef0}.tl-date{color:var(--ink-2);flex-shrink:0;width:120px}.tl-type{color:var(--brand-navy);flex-shrink:0;font-weight:700;width:80px}.tl-detail{color:var(--ink)}.fp-shell{background:var(--brand-navy);color:#fff;display:flex;flex-direction:column;inset:0;position:fixed;z-index:120}.fp-head{background:#0a1730;border-bottom:1px solid hsla(0,0%,100%,.08);padding:10px 12px}.fp-head,.fp-title{align-items:center;display:flex;gap:10px}.fp-title{flex:1 1;min-width:0}.fp-title b{font-size:15px;letter-spacing:.02em}.fp-title select{background:#16233f;border:1px solid hsla(0,0%,100%,.15);border-radius:8px;color:#fff;font-size:13px;max-width:46vw;padding:5px 8px}.fp-head-actions{display:flex;gap:8px}.fp-empty{align-items:center;color:#c7d0de;display:flex;flex:1 1;flex-direction:column;gap:14px;justify-content:center;padding:24px;text-align:center}.fp-empty .hint{color:#8a93a6;font-size:13px}.fp-toolbar{align-items:center;background:#0e1b33;border-bottom:1px solid hsla(0,0%,100%,.06);display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px}.fp-tool{align-items:center;background:#16233f;border:1px solid hsla(0,0%,100%,.15);border-radius:9px;color:#fff;cursor:pointer;display:inline-flex;font-size:18px;height:38px;justify-content:center;line-height:1;transition:background .15s;width:38px}.fp-tool:hover:not(:disabled){background:#24365c}.fp-tool:disabled{cursor:default;opacity:.4}.fp-tool.on{background:var(--brand-blue);border-color:var(--brand-blue)}.fp-pages{align-items:center;display:inline-flex;gap:6px}.fp-pageno{font-feature-settings:"tnum";font-size:13px;font-variant-numeric:tabular-nums;min-width:34px;text-align:center}.fp-addpin{height:38px;margin-left:auto}.fp-canvas{align-items:center;background:linear-gradient(45deg,#1a1f2b 25%,transparent 0) 0 0/22px 22px,linear-gradient(-45deg,#1a1f2b 25%,transparent 0) 0 0/22px 22px,#222836;cursor:-webkit-grab;cursor:grab;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative;touch-action:none}.fp-canvas.picking{cursor:crosshair}.fp-canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.fp-stage{will-change:transform}.fp-rot,.fp-stage{transform-origin:center}.fp-rot{display:inline-block;position:relative}.fp-img{-webkit-user-drag:none;background:#fff;border-radius:2px;display:block;max-height:78vh;max-width:min(92vw,1400px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.fp-canvas.picking .fp-img{cursor:crosshair}.fp-pin{border:2px solid #fff;border-radius:20px;box-shadow:0 1px 4px rgba(0,0,0,.4);color:#fff;cursor:pointer;font-size:12px;font-weight:800;height:26px;line-height:26px;min-width:26px;padding:0 6px;position:absolute;text-align:center;touch-action:none;transform:translate(-50%,-50%)}.fp-pin.dragging{box-shadow:0 3px 10px rgba(0,0,0,.5);cursor:-webkit-grabbing;cursor:grabbing;outline:2px solid hsla(0,0%,100%,.6);transform:translate(-50%,-50%) scale(1.25);z-index:40}.fp-footer{align-items:center;background:#0a1730;border-top:1px solid hsla(0,0%,100%,.08);display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:10px 14px}.fp-count{color:#c7d0de}.fp-archive{background:none;border:1px solid hsla(0,0%,100%,.2);border-radius:8px;color:#fca5a5;cursor:pointer;font-size:13px;padding:6px 12px}.fp-archive:hover{background:hsla(0,0%,100%,.06)}.fp-placement-banner{align-items:center;background:rgba(10,102,255,.14);border:1px solid rgba(10,102,255,.35);border-radius:10px;color:#dce7ff;display:flex;font-size:14px;font-weight:600;gap:10px;margin:8px 12px;padding:10px 14px}.fp-placement-dot{border:2px solid #fff;border-radius:50%;flex:none;height:16px;width:16px}.fp-legend{align-items:center;background:#0e1b33;border-top:1px solid hsla(0,0%,100%,.06);color:#c7d0de;display:flex;flex-wrap:wrap;font-size:12px;gap:14px;padding:8px 14px}.fp-legend span{align-items:center;display:inline-flex;gap:6px}.fp-legend i{border:1.5px solid #fff;border-radius:50%;display:inline-block;height:13px;width:13px}.pp-head{align-items:flex-start;justify-content:space-between}.pp-head,.pp-list{display:flex;gap:10px}.pp-list{flex-direction:column;margin:10px 0;max-height:52vh;overflow-y:auto}.pp-item{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;display:flex;gap:12px;padding:8px}.pp-thumb{background:#fff;border:1px solid var(--line);border-radius:7px;flex:none;height:54px;object-fit:cover;width:72px}.pp-meta{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.pp-meta b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-sub{color:var(--ink-2);font-size:12px}.pp-actions{align-items:center;display:flex;flex:none;gap:6px}.list-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.pick-row{align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:12px 14px;text-align:left;transition:background-color .15s ease,border-color .15s ease}.pick-row:hover{background:rgba(10,102,255,.06);border-color:var(--brand-blue)}.pick-row b{font-size:14px}.title-row{align-items:stretch;display:flex;gap:8px}.title-row input{flex:1 1}.title-suggest-btn{flex:none;padding:0 12px;white-space:nowrap}.ai-badge{background:rgba(10,102,255,.12);border:1px solid rgba(10,102,255,.3);border-radius:20px;color:var(--brand-blue);display:inline-block;letter-spacing:.01em;margin:4px 0 2px;padding:2px 9px}.ai-badge,.fp-offline-tag{font-size:11px;font-weight:700}.fp-offline-tag{background:#7c2d12;border:1px solid #ea7a1a;border-radius:20px;color:#fed7aa;padding:2px 8px}.fp-superseded-banner{background:rgba(234,122,26,.14);border:1px solid rgba(234,122,26,.4);border-radius:10px;color:#fcd9b6;font-size:13px;font-weight:600;margin:8px 12px;padding:9px 13px}.fp-img-loading{background:#fff;border-radius:2px;color:#c7d0de;font-size:14px;padding:40px}.fp-title select{max-width:42vw}.fp-pin{overflow:visible}.fp-pin.has-photo:after{border:1.5px solid #fff;border-radius:50%;content:"📷";font-size:9px;height:14px;line-height:13px;right:-8px;text-align:center;top:-6px;width:14px}.fp-pin-tip,.fp-pin.has-photo:after{background:#0a1730;position:absolute}.fp-pin-tip{align-items:center;border:1px solid hsla(0,0%,100%,.15);border-radius:8px;bottom:calc(100% + 8px);box-shadow:0 4px 14px rgba(0,0,0,.5);color:#fff;display:flex;flex-direction:column;font-size:11px;font-weight:600;gap:5px;left:50%;line-height:1.3;opacity:0;padding:6px;pointer-events:none;transform:translateX(-50%);transition:opacity .12s ease;z-index:60}.fp-pin-tip-img{border-radius:5px;display:block;max-height:110px;object-fit:cover;width:150px}.fp-pin-tip-text{white-space:nowrap}.fp-pin:hover .fp-pin-tip{opacity:1}.fp-pin-label{background:rgba(10,23,48,.92);border:1px solid hsla(0,0%,100%,.18);border-radius:6px;color:#fff;font-size:10px;font-weight:700;line-height:1.4;padding:2px 6px;pointer-events:none;position:absolute;text-transform:capitalize;transform:translate(14px,-50%);white-space:nowrap;z-index:30}.pin-plan-btn{border:1px dashed var(--brand-blue);color:var(--brand-blue);font-weight:700;height:44px;margin-bottom:6px;width:100%}.pin-plan-btn:hover{background:rgba(10,102,255,.08)}.pin-attached{align-items:center;background:rgba(10,102,255,.08);border:1px solid rgba(10,102,255,.28);border-radius:10px;display:flex;font-size:14px;gap:10px;justify-content:space-between;margin-bottom:6px;padding:10px 12px}.pin-attached,.pin-repin-btn{color:var(--brand-blue);font-weight:600}.pin-repin-btn{background:none;border:1px solid var(--brand-blue);border-radius:8px;cursor:pointer;font-size:13px;padding:5px 12px}.pin-repin-btn:hover{background:rgba(10,102,255,.12)}.qa-done{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;margin:0 auto;max-width:520px;min-height:70vh;padding:32px;text-align:center}.qa-done-check{background:#16a34a;border-radius:50%;color:#fff;font-size:42px;font-weight:800;height:76px;line-height:76px;width:76px}.qa-done h1{color:var(--brand-navy);font-size:24px;margin:4px 0 0}.qa-done p{color:var(--ink-2);font-size:14px;margin:0}.qa-done-ref{color:var(--ink);font-family:IBM Plex Mono,monospace;font-weight:600}.qa-done .btn{height:46px;margin-top:12px;padding:0 22px}.qa-hint{color:var(--ink-2);font-size:12px;margin:2px 0}.qa-hint.ok{color:#15803d;font-weight:600}.qa-hint.returned{color:#b45309;font-weight:600}.state-locked{color:var(--ink-2);font-size:12px;font-weight:600;padding:0 8px}.state-tag.pending_qa{background:#fef3c7;color:#92400e}.state-tag.returned{background:#fee2e2;color:#b91c1c}.ok-banner{background:#dcfce7;border:1px solid #86efac;border-radius:8px;color:#166534;font-size:14px;padding:10px 14px}.ai-analyze-btn{background:linear-gradient(100deg,#0b1d3a,#1e4f8a 55%,#2d7ce0);border:none;border-radius:12px;box-shadow:0 4px 14px rgba(30,79,138,.35);color:#fff;cursor:pointer;font-size:15px;font-weight:700;height:46px;margin-top:10px;transition:transform .12s,box-shadow .12s,opacity .12s;width:100%}.ai-analyze-btn:hover:not(:disabled){box-shadow:0 6px 18px rgba(30,79,138,.45);transform:translateY(-1px)}.ai-analyze-btn:disabled{cursor:not-allowed;opacity:.5}.ai-hint{color:var(--ink-2);font-size:12px;margin:6px 2px 0}h1,h2,h3{letter-spacing:-.01em}.sheet h2{font-size:19px;font-weight:700;letter-spacing:-.015em}.sheet .ctx{font-size:13.5px;line-height:1.5}.group-title{padding-top:20px}.btn{letter-spacing:-.005em;transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease}.btn.primary{box-shadow:0 2px 6px rgba(11,29,58,.2)}.btn.primary:hover{background:var(--navy-800);box-shadow:0 4px 12px rgba(11,29,58,.26)}.btn.ghost:hover{background:var(--navy-100);filter:brightness(.97)}.btn:active:not(:disabled){transform:scale(.98)}.tool-btn{transition:background-color .15s ease,transform .12s ease}.tool-btn:active:not(:disabled){transform:scale(.97)}.icon-btn{transition:background-color .15s ease,transform .12s ease}.icon-btn:active:not(:disabled){transform:scale(.96)}.logout-btn{transition:background-color .15s ease}.cl-search,.defect-filters select,.defect-search,.photo-actions select,.picker-search,.wa-reply input,.wa-stage-select,label.f input,label.f select,label.f textarea{border-color:var(--line-strong);transition:border-color .15s ease,box-shadow .15s ease}.cl-search:focus,.defect-search:focus,.picker-search:focus,.wa-reply input:focus,label.f input:focus,label.f select:focus,label.f textarea:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(10,102,255,.15);outline:none}.insp-card{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);margin:10px 12px;padding:14px 16px;transition:box-shadow .15s ease}.insp-card:hover{box-shadow:var(--shadow-2)}.insp-card .title{font-size:15.5px;font-weight:600;letter-spacing:-.01em}.insp-card .sub{line-height:1.45}.state-tag{padding:4px 10px}.wa-card{box-shadow:var(--shadow-1)}.appbar{box-shadow:var(--shadow-2);position:relative;z-index:5}.footer{box-shadow:0 -2px 10px rgba(11,29,58,.06)}.sheet{box-shadow:var(--shadow-3)}.tri button{font-weight:700}.seg button,.tri button{transition:background-color .12s ease,border-color .12s ease,color .12s ease}.home-tabs button{transition:background-color .15s ease,color .15s ease}html[data-theme=dark]{--paper:#0c1522;--card:#131e2e;--line:#243449;--line-strong:#33465f;--ink:#e7edf5;--ink-2:#a2b2c6;--brand-light:#16233a;--navy-100:#1e2e48;--blue-100:#15294a;--blue-600:#6fa2ff;--shadow-1:0 1px 3px rgba(0,0,0,.45);--shadow-2:0 6px 14px rgba(0,0,0,.5);--shadow-3:0 16px 34px rgba(0,0,0,.62);--shadow:0 4px 14px rgba(0,0,0,.5)}html[data-theme=dark] body{background:var(--paper);color:var(--ink)}html[data-theme=dark] .btn.ghost,html[data-theme=dark] .bulk-all,html[data-theme=dark] .c-sec,html[data-theme=dark] .home-tabs button,html[data-theme=dark] .state-tag,html[data-theme=dark] .tl-type,html[data-theme=dark] .wa-audit-action{color:var(--ink)}html[data-theme=dark] .cl-link,html[data-theme=dark] .detail-value a{color:var(--blue-600)}html[data-theme=dark] .cl-search,html[data-theme=dark] .defect-filters select,html[data-theme=dark] .defect-search,html[data-theme=dark] .mic-btn,html[data-theme=dark] .photo-actions select,html[data-theme=dark] .picker-search,html[data-theme=dark] .seg button,html[data-theme=dark] .sig-clear,html[data-theme=dark] .tri button,html[data-theme=dark] .wa-reply input,html[data-theme=dark] .wa-stage-select,html[data-theme=dark] label.f input,html[data-theme=dark] label.f select,html[data-theme=dark] label.f textarea{background:#0e1a2a;color:var(--ink)}html[data-theme=dark] .photo-add{background:#0e1a2a}html[data-theme=dark] .item{background:var(--card)}html[data-theme=dark] .item.nok{background:#2a1719}html[data-theme=dark] .item.blocking{background:#152744}html[data-theme=dark] .defect-chip.missing{background:#2a1719;border-color:#5a2e2c}html[data-theme=dark] .err,html[data-theme=dark] .toast.err{background:#2a1719;border-color:#5a2e2c;color:#fca5a5}html[data-theme=dark] .ok-banner{background:#12301f;border-color:#1f5637;color:#86efac}html[data-theme=dark] .section-tools{background:#15294a;color:var(--ink-2)}html[data-theme=dark] .section-tools button{border-color:var(--line-strong);color:var(--ink)}html[data-theme=dark] .revisit-banner{background:#15294a}html[data-theme=dark] .cover-toast,html[data-theme=dark] .undo-toast{background:#16233f}html[data-theme=dark] .state-tag.submitted{background:#12301f;color:#86efac}html[data-theme=dark] .state-tag.in_progress{background:#15294a;color:#8fb6ff}html[data-theme=dark] .state-tag.pending_qa{background:#3a2e12;color:#fbd37b}html[data-theme=dark] .state-tag.returned{background:#3a1a1a;color:#fca5a5}html[data-theme=dark] .cal-cell,html[data-theme=dark] .cl-item,html[data-theme=dark] .wa-card,html[data-theme=dark] .wa-controls,html[data-theme=dark] .wa-list,html[data-theme=dark] .wa-reply,html[data-theme=dark] .wa-thread-head,html[data-theme=dark] .week-col{background:var(--card)}html[data-theme=dark] .wa-msg.inbound{background:#16233f;border-color:var(--line);color:var(--ink)}html[data-theme=dark] .bell-item.unread,html[data-theme=dark] .wa-list-item.active{background:#15294a}html[data-theme=dark] .cal-job b,html[data-theme=dark] .cl-item b{color:var(--ink)}.shell,.shell-main{display:flex;height:100%}.shell-main{flex:1 1;flex-direction:column;min-width:0}.shell-main>.app{flex:1 1;min-height:0}.nav-rail{display:none}@media (min-width:900px){.nav-rail{background:var(--card);border-right:1px solid var(--line);box-shadow:var(--shadow-1);display:flex;flex:0 0 250px;flex-direction:column;height:100%;padding:12px 12px 14px;width:250px;z-index:6}}.nav-brand{align-items:center;background:none;border:0;border-bottom:1px solid var(--line);display:flex;gap:10px;margin-bottom:6px;padding:8px 8px 14px;text-align:left;width:100%}.nav-brand-text{color:var(--brand-navy);display:flex;flex-direction:column;line-height:1.05}.nav-brand-name{font-size:18px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.nav-brand-a{color:var(--brand-blue)}.nav-brand-os{color:var(--ink-2);font-size:10.5px;font-weight:600;letter-spacing:.14em;margin-top:3px;text-transform:uppercase}.nav-items{display:flex;flex:1 1;flex-direction:column;gap:2px;margin-top:10px;overflow-y:auto}.nav-item{align-items:center;background:none;border:0;border-radius:var(--r-md);color:var(--ink-2);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:10px 12px;position:relative;text-align:left;transition:background-color .14s ease,color .14s ease;width:100%}.nav-item:hover{background:var(--paper);color:var(--ink)}.nav-item .nav-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item svg{color:var(--brand-grey);flex:0 0 auto;transition:color .14s ease}.nav-item:hover svg{color:var(--brand-blue)}.nav-ind{background:var(--brand-blue);border-radius:3px;height:20px;left:2px;position:absolute;top:50%;transform:translateY(-50%) scaleY(0);transition:transform .16s ease;width:3px}.nav-item.active{background:var(--blue-100);color:var(--brand-navy);font-weight:600}.nav-item.active svg{color:var(--brand-blue)}.nav-item.active .nav-ind{transform:translateY(-50%) scaleY(1)}.nav-foot{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.nav-user{display:flex;flex-direction:column;padding:4px 8px 10px}.nav-user-name{color:var(--ink);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-role{color:var(--ink-2);font-size:11px;text-transform:capitalize}.nav-foot-actions{align-items:center;display:flex;gap:8px}.nav-foot-btn{align-items:center;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-md);color:var(--ink);display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:8px 10px;transition:background-color .14s ease,border-color .14s ease}.nav-foot-btn:hover{background:var(--paper)}.nav-signout{flex:1 1;justify-content:center}.nav-signout svg{color:var(--brand-grey)}html[data-theme=dark] .nav-rail{background:var(--card);border-right-color:var(--line)}html[data-theme=dark] .nav-brand-text{color:var(--ink)}html[data-theme=dark] .nav-item.active{background:#15294a;color:var(--ink)}html[data-theme=dark] .nav-foot-btn{background:#0e1a2a}.fedari-sev-head{display:flex;justify-content:flex-end;margin-top:2px}.sev-suggest-btn{font-size:12px;padding:4px 10px}.fedari-sev-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-top:6px}.fedari-sev{align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:8px 10px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.fedari-sev.on,.fedari-sev:hover{background:var(--bg-soft,#f6f8fb)}.fedari-sev .fedari-dot{border-radius:999px;display:inline-block;height:10px;width:10px}.fedari-sev .fedari-code{font-size:14px;font-weight:700;letter-spacing:.02em}.fedari-sev .fedari-label{color:var(--ink-2);font-size:11px}@media (max-width:560px){.fedari-sev-grid{grid-template-columns:repeat(2,1fr)}}.measure-row{border-bottom:1px solid var(--line);gap:10px;padding:10px 0}.measure-row,.measure-row-head{align-items:center;display:flex}.measure-row-head{flex-wrap:wrap;gap:6px}.measure-result{font-size:11px;font-weight:700;letter-spacing:.04em}.measure-summary{margin-top:2px;word-break:break-word}.lifecycle-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.lifecycle-badge{background:var(--bg-soft,#eef2f7);border-radius:999px;color:var(--ink-2);font-size:11px;font-weight:700;padding:2px 8px}.lifecycle-select{background:var(--card);border:1px solid var(--line);border-radius:8px;color:inherit;font-size:12px;padding:3px 6px}.reinspect-results{display:inline-flex;flex-wrap:wrap;gap:4px}.reinspect-btn{background:transparent;border:1.5px solid;border-radius:999px;cursor:pointer;font-size:11px;font-weight:700;padding:3px 8px;transition:background-color .12s ease,color .12s ease}.fp-heatmap{inset:0;mix-blend-mode:multiply;pointer-events:none;position:absolute}.fp-heat-blob{border-radius:50%;filter:blur(10px);height:22%;opacity:.55;position:absolute;transform:translate(-50%,-50%);width:22%}.an-toggle{align-items:center;display:inline-flex;font-size:13px;gap:6px;margin-bottom:12px}.an-stats{display:flex;flex-wrap:wrap;gap:12px}.an-stat{background:var(--card);border:1px solid var(--line);border-radius:12px;flex:1 1;min-width:130px;padding:12px 14px}.an-stat-val{font-family:ui-monospace,monospace;font-size:26px;font-weight:800}.an-stat-lbl{color:var(--ink-2);font-size:12px;margin-top:2px}.an-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:14px}.an-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}.an-card h4{font-size:14px;margin:0 0 10px}.an-chips{display:flex;flex-wrap:wrap;gap:6px}.an-chip{border-radius:999px;color:#fff;font-size:12px;font-weight:700;padding:3px 10px}.an-bars{display:flex;flex-direction:column;gap:7px}.an-bar-row{align-items:center;display:flex;font-size:12px;gap:8px}.an-bar-lbl{color:var(--ink-2);min-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:34%}.an-bar-track{background:var(--bg-soft,#eef2f7);border-radius:999px;flex:1 1;height:8px;overflow:hidden}.an-bar-fill{border-radius:999px;display:block;height:100%}.an-bar-val{font-family:ui-monospace,monospace;font-weight:700;text-align:right;width:34px}.an-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.an-filters select{background:var(--card);border:1px solid var(--line);border-radius:8px;color:inherit;font-size:13px;padding:6px 8px}.an-tbl{border-collapse:collapse;font-size:13px;width:100%}.an-tbl th{border-bottom:1px solid var(--line);color:var(--ink-2);font-size:11px;letter-spacing:.04em;padding:8px 6px;text-align:left;text-transform:uppercase}.an-tbl td{border-bottom:1px solid var(--bg-soft,#eef2f7);padding:8px 6px}.an-tbl .mono{font-family:ui-monospace,monospace;font-size:12px}.an-controls{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px}.an-date{align-items:center;color:var(--ink-2);display:inline-flex;font-size:13px;gap:6px}.an-date input{background:var(--card);border:1px solid var(--line);border-radius:8px;color:inherit;padding:5px 8px}.an-section{font-size:15px;margin:18px 0 8px}.an-scorecards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.an-scorecard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.an-sc-dev{font-size:14px;font-weight:700;margin-bottom:8px}.an-sc-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.an-sc-grid>div{display:flex;flex-direction:column}.an-sc-grid b{font-family:ui-monospace,monospace;font-size:18px}.an-sc-grid span{color:var(--ink-2);font-size:11px}.an-viewtoggle{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.an-viewtoggle button{background:var(--card);border:0;color:inherit;cursor:pointer;font-size:13px;padding:6px 12px}.an-viewtoggle button[aria-pressed=true]{background:#0b1d3a;color:#fff}.an-tree{border:1px solid var(--line);border-radius:12px;overflow:hidden}.an-tree-row{align-items:center;background:var(--card);border:0;border-top:1px solid var(--bg-soft,#eef2f7);color:inherit;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:9px 12px;text-align:left;width:100%}.an-tree-row.proj{background:var(--bg-soft,#f4f7fb);font-size:14px}.an-tree-row.building{padding-left:30px}.an-tree-row.unit{cursor:default;padding-left:52px}.an-tree-caret{color:var(--ink-2);width:12px}.an-tree-meta{color:var(--ink-2);font-size:12px;margin-left:auto}.an-term-add{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.an-term-add input{background:var(--card);border:1px solid var(--line);border-radius:8px;color:inherit;font-size:13px;padding:7px 10px}.an-term-arrow{color:var(--ink-2);font-weight:700}
/*# sourceMappingURL=main.c09f8412.css.map*/