
    :root{--page:#F7F7F5;--card:#FFF;--ink:#171717;--soft:#5C5C5C;--muted:#8A8A85;--line:rgba(0,0,0,.10);--line-soft:rgba(0,0,0,.06);--accent:#1B2BC4;--good:#0f9960;--good-bg:rgba(15,153,96,.10);--warn:#8a5b13;--warn-bg:rgba(180,131,40,.11);--r:14px;--ui:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
    *{box-sizing:border-box}html{background:var(--page);scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--ink);font:14px/1.55 var(--ui);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #95a4ff;outline-offset:3px;border-radius:5px}
    #app{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}aside{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:20px 14px 16px;display:flex;flex-direction:column}.sbrand{padding:10px 10px 16px}.sbrand img{display:block;width:140px;height:auto}.tag{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:8px}.group{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:18px 10px 6px}.nav a{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:var(--soft);border-radius:10px;padding:8px 10px;margin-bottom:2px}.nav a:hover{background:#F1F1EF}.nav a.active{background:#E8E8E5;color:var(--ink);font-weight:600}.nav svg{width:16px;height:16px;flex:none}.sfoot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.suser{display:flex;align-items:center;gap:10px;padding:6px 10px}.avatar{width:42px;height:42px;border-radius:13px;background:#171717;color:#fff;display:grid;place-items:center;font-size:16px;font-weight:600}.suser strong{display:block;font-size:13px}.suser small{color:var(--muted);font-size:11.5px}
    #main{min-width:0}.topbar{position:sticky;top:0;z-index:5;background:rgba(247,247,245,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;padding:11px 28px;min-height:58px}.topidentity strong{font-size:13.5px;font-weight:600}.topidentity span{display:block;font-size:11.5px;color:var(--muted)}.topaction{margin-left:auto;display:flex;align-items:center;gap:8px}.preview-mark{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--line);border-radius:999px;color:var(--soft);padding:4px 9px}.wrap{max-width:1120px;margin:0 auto;padding:10px 28px 80px}
    .secthead{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:21px 0 14px}.secthead h1{font-size:28px;line-height:1.15;letter-spacing:-.005em;font-weight:550;margin:0 0 4px}.sub{color:var(--muted);font-size:13.5px;margin:0}.stamp{font-size:11.5px;color:var(--muted)}.estimate{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:7px 11px;font-size:12px;color:var(--soft);background:var(--card)}.estimate b{color:var(--ink);font-weight:600}
    .sample{display:flex;align-items:flex-start;gap:9px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:14px;color:var(--soft);font-size:12px}.sample svg{flex:none;color:var(--accent);margin-top:1px}
    .hero{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin-bottom:16px}.hlabel,.k{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.hlabel{margin-bottom:15px}.herorow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hk{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}.hv{font-size:25px;font-weight:550;letter-spacing:-.01em;line-height:1.12}.hd{margin-top:6px;font-size:12px;color:var(--muted)}
    .cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.8fr);gap:16px;align-items:start}.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:21px 22px;margin-bottom:16px}.panel h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--soft);margin:0 0 14px}.panel-intro{margin:-5px 0 14px;font-size:12.5px;color:var(--muted)}.pill{display:inline-block;font-size:10px;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.pill.done{background:var(--good-bg);color:var(--good)}.pill.current{background:rgba(27,43,196,.09);color:var(--accent)}.pill.upcoming{background:rgba(0,0,0,.045);color:var(--muted)}
    .rowlist .r{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:11px 2px;border-bottom:1px solid var(--line-soft)}.rowlist .r:last-child{border:0}.r-main{display:flex;align-items:flex-start;gap:11px;min-width:0}.r-main button{border:0;background:none;padding:0;text-align:left;cursor:pointer;min-width:0}.r-main button:hover strong{color:var(--accent)}.r-main strong{font-size:13px;font-weight:600}.r-main .meta{font-size:12px;color:var(--muted);margin-top:1px}.r-side{display:flex;align-items:center;gap:9px;flex:none;text-align:right;font-size:12px;color:var(--muted)}.rownum{width:25px;height:25px;flex:none;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);font-size:11px}.r.done .rownum{background:var(--good-bg);border-color:transparent;color:var(--good)}.r.selected .rownum{background:rgba(27,43,196,.09);border-color:rgba(27,43,196,.2);color:var(--accent)}.r.selected strong{color:var(--accent)}
    .detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.detail-head h2{font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 3px}.detail-head .stamp{font-size:11px}.detail-copy{color:var(--soft);font-size:13px;margin:0 0 15px}.detail-facts{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.fact{border:1px solid var(--line-soft);border-radius:8px;background:#fff;padding:6px 9px;font-size:11.5px;color:var(--soft)}.fact b{font-weight:600;color:var(--ink)}.next{border-top:1px solid var(--line-soft);padding-top:12px}.next strong{font-size:12.5px;font-weight:600}.next p{margin:4px 0 0;color:var(--muted);font-size:12.5px}
    .note .r-main{display:block}.note time{display:block;font-size:10.5px;color:var(--muted);margin-bottom:2px}.note p{margin:0;font-size:12.5px;color:var(--soft)}.textbutton{border:0;background:none;padding:3px 0;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer}.updates-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.action{border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 11px;min-height:32px;cursor:pointer;font-size:12px;font-weight:550}.action:hover{background:#F1F1EF}.action-primary{background:#1F1F1F;color:#FDFDFD;border-color:#1F1F1F;box-shadow:0 1px 2px rgba(0,0,0,.12)}.action-primary:hover{background:#333}.task-title{font-size:15px;font-weight:600;margin:0 0 5px}.task-copy{font-size:12.5px;color:var(--muted);margin:0 0 13px}.due{font-size:11px;color:var(--soft);margin-top:10px}.toast{position:fixed;left:50%;bottom:22px;z-index:9;transform:translate(-50%,12px);opacity:0;background:#171717;color:#fff;padding:10px 14px;border-radius:8px;font-size:12px;max-width:calc(100% - 28px);text-align:center;transition:opacity .18s,transform .18s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
    @media(max-width:800px){#app{grid-template-columns:1fr}aside{position:relative;top:auto;height:auto;padding:12px 16px 10px;border-right:0;border-bottom:1px solid var(--line)}.sbrand{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 10px}.sbrand img{width:112px}.tag{margin:0}.group{display:none}.nav{display:flex;gap:5px}.nav a{margin:0;padding:7px 9px}.nav a svg{display:none}.sfoot{display:none}.topbar{padding:10px 18px}.wrap{padding:7px 18px 50px}.cols{grid-template-columns:1fr}.sidecol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sidecol .panel{margin-bottom:0}}
    @media(max-width:520px){aside{padding:10px 12px}.sbrand img{width:100px}.tag{font-size:9px}.nav a{font-size:12px;padding:6px 8px}.topbar{padding:9px 14px}.wrap{padding:7px 13px 40px}.secthead{margin-top:17px}.secthead h1{font-size:24px}.estimate{font-size:10.5px;padding:6px 8px}.hero{padding:16px}.herorow{grid-template-columns:1fr;gap:13px}.hv{font-size:21px}.panel{padding:17px 16px}.cols{gap:10px}.sidecol{grid-template-columns:1fr}.r-side{display:block}.r-side .pill{margin-bottom:3px}.sample{font-size:11.5px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toast{transition:none}}
  
.auth-card{max-width:440px;margin:7vh auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}.auth-card h1{margin:0 0 8px;font-size:24px}.auth-card p{color:var(--soft)}.auth-card label{display:block;margin:17px 0 5px;font-weight:600}.auth-card input{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px;font:inherit}.auth-card .action{margin-top:19px}.auth-error{color:#a22121!important}.topaction button{margin-left:8px}
.pill.previous{background:rgba(0,0,0,.045);color:var(--soft)}
.properties-panel{padding:15px 18px;margin:10px 0 8px}.properties-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.properties-heading h2{margin:0 0 3px}.properties-heading .panel-intro{margin:0 0 10px}.properties-refresh,.refresh-status{font-size:11px;color:var(--muted)}.properties-refresh{white-space:nowrap;padding-top:2px}.refresh-status{min-height:16px;text-align:right;margin:0 2px 4px}.property-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.property-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-width:0;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px;text-align:left;cursor:pointer}.property-card:hover{background:#f7f7f5}.property-card.selected{border-color:rgba(27,43,196,.38);box-shadow:inset 0 0 0 1px rgba(27,43,196,.14)}.property-card-main{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.property-card-main strong{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-stage{flex:none;font-size:10px;font-weight:600;color:var(--soft)}.property-date,.property-summary{font-size:11px;color:var(--muted)}.property-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.property-card:focus-visible{outline:3px solid #95a4ff;outline-offset:2px}
@media(max-width:520px){.properties-panel{padding:14px}.property-list{grid-template-columns:1fr}.properties-heading{gap:8px}.properties-refresh{font-size:10px}}
.photo-panel h2{margin-bottom:5px}.photo-panel .panel-intro strong{color:var(--ink);font-weight:600}.photo-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-option{min-width:0;border:1px solid var(--line-soft);border-radius:12px;padding:15px;background:#fff}.photo-option label{display:block;font-size:13px;font-weight:600;margin-bottom:3px}.photo-option input[type=url],.photo-option input[type=file]{display:block;width:100%;margin:10px 0 12px;font:inherit;font-size:12px}.photo-option input[type=url]{border:1px solid var(--line);border-radius:8px;padding:10px 11px}.photo-help{font-size:11.5px;color:var(--muted);margin:4px 0}.photo-permissions{font-size:11.5px;color:var(--soft);margin:8px 0 12px}.photo-permissions summary{cursor:pointer;color:var(--accent);font-weight:600}.photo-permissions p{margin:6px 0 0}.photo-option .action{margin-top:6px}.photo-feedback{min-height:18px;margin:10px 0 0;font-size:12px;color:var(--soft)}.photo-feedback.error{color:#a22121}.photo-submissions{margin-top:7px}.photo-submissions:empty{display:none}.photo-submission{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 2px;border-top:1px solid var(--line-soft);font-size:12px}.photo-submission-name{min-width:0;overflow-wrap:anywhere;color:var(--soft)}.photo-submission-status{flex:none;color:var(--warn);background:var(--warn-bg);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.photo-prior{font-size:11.5px;color:var(--soft);padding:8px 0;border-bottom:1px solid var(--line-soft)}.photo-option button:disabled{opacity:.55;cursor:wait}.property-card:disabled{opacity:.6;cursor:wait}
@media(max-width:520px){.photo-options{grid-template-columns:1fr}.photo-option{padding:13px}.photo-submission{align-items:flex-start}}
.photo-intake-group{padding:8px 0;border-bottom:1px solid var(--line-soft)}.photo-intake-group summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:600}.photo-intake-list{margin-top:5px}.photo-intake-list .photo-submission:first-child{border-top:0}
