:root{--bg:#f6f7f4;--surface:#fff;--surface-2:#eef3ee;--surface-3:#f9fbf8;--text:#18211b;--muted:#68736b;--line:#d9e0d9;--accent:#166b4f;--accent-2:#c85f3f;--blue:#28668f;--gold:#9a6a16;--danger:#8a2f1f;--shadow:0 10px 28px #18211b14;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button,.button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;line-height:1.15;text-decoration:none;display:inline-flex}button.primary,.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.subtle,.button.subtle{background:var(--surface-2)}button.warn{color:var(--danger)}button:disabled{cursor:not-allowed;opacity:.65}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:7px;min-height:38px;padding:9px 10px}textarea{resize:vertical;min-height:72px;line-height:1.35}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #166b4f33}.home{place-items:center;min-height:100vh;padding:22px;display:grid}.home-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(720px,100%);box-shadow:var(--shadow);padding:22px}.login-card{width:min(460px,100%)}.home-card h1{letter-spacing:0;margin:0 0 8px;font-size:28px;line-height:1.1}.home-card p{color:var(--muted);line-height:1.45}.form-row{grid-template-columns:1fr auto;gap:10px;margin-top:16px;display:grid}.login-form{gap:12px;margin-top:16px;display:grid}.recent-list{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.recent-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.recent-item small{color:var(--muted)}.dashboard{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.dashboard-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-head h2{margin:0;font-size:18px}.dashboard-tabs{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.dashboard-tabs button{background:var(--surface-2)}.dashboard-tabs button.active{background:var(--text);border-color:var(--text);color:#fff}.dashboard-tabs span{background:#ffffff6b;border-radius:999px;justify-content:center;align-items:center;min-width:22px;min-height:22px;padding:2px 7px;display:inline-flex}.project-list{gap:10px;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-3);grid-template-columns:1fr auto;align-items:center;gap:14px;padding:12px;display:grid}.project-card strong{font-size:16px;line-height:1.25;display:block}.project-meta{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.35}.project-stats{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.project-stats span{background:var(--surface-2);min-height:24px;color:var(--muted);border-radius:999px;align-items:center;padding:3px 7px;font-size:12px;font-weight:700;display:inline-flex}.project-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.app-shell{min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f6f7f4f5;position:sticky;top:0}.topbar-inner{grid-template-columns:1fr auto;align-items:center;gap:12px;max-width:1280px;margin:0 auto;padding:12px 16px;display:grid}.address{gap:2px;display:grid}.address h1{letter-spacing:0;margin:0;font-size:19px;line-height:1.2}.status-line{color:var(--muted);font-size:13px}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workspace{grid-template-columns:270px 1fr;gap:16px;max-width:1280px;margin:0 auto;padding:16px;display:grid}.sidebar{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);align-self:start;position:sticky;top:82px;overflow:hidden}.progress{border-bottom:1px solid var(--line);padding:14px}.progress strong{font-size:24px;display:block}.progress small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.bar{background:var(--surface-2);border-radius:999px;height:9px;margin-top:10px;overflow:hidden}.bar span{background:var(--accent);width:0%;height:100%;transition:width .2s;display:block}.filters{border-bottom:1px solid var(--line);gap:9px;padding:12px;display:grid}.nav-list{max-height:50vh;padding:8px;overflow:auto}.nav-list a,.nav-list button{width:100%;color:var(--text);min-height:unset;background:0 0;border:0;border-radius:6px;justify-content:space-between;gap:10px;padding:8px 9px;font-size:13px;text-decoration:none;display:flex}.nav-list a:hover,.nav-list button:hover{background:var(--surface-2)}.nav-list span{color:var(--muted)}.main-panel{gap:14px;display:grid}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tab{background:var(--surface)}.tab.active{background:var(--text);border-color:var(--text);color:#fff}.notice{color:#67470d;border-radius:var(--radius);background:#fff7df;border:1px solid #e4c78f;padding:11px 12px;font-size:13px;line-height:1.35}.wizard-panel,.manual-panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.wizard-head,.manual-panel{padding:14px 16px}.wizard-head{border-bottom:1px solid var(--line);background:var(--surface-3);justify-content:space-between;align-items:start;gap:14px;display:flex}.wizard-head h2,.manual-panel h2{margin:0;font-size:17px}.wizard-head p,.manual-panel p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.35}.wizard-head span{color:var(--muted);white-space:nowrap;font-size:13px}.wizard-body{padding:14px 16px}.wizard-body h3{margin:0 0 12px;font-size:16px}.wizard-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.wizard-option{text-align:left;background:var(--surface-3);align-content:start;justify-items:start;gap:5px;min-height:116px;display:grid}.wizard-option.selected{border-color:var(--accent);background:#eaf4ee}.wizard-option strong{font-size:14px}.wizard-option span,.wizard-option small{color:var(--muted);font-size:12px;line-height:1.3}.wizard-nav{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.manual-panel{gap:12px;display:grid}.manual-form{grid-template-columns:1.6fr .8fr .7fr .9fr auto;align-items:start;gap:8px;display:grid}.task-finder{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);gap:10px;padding:14px 16px;display:grid}.task-finder-copy{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.task-finder-copy h2{letter-spacing:0;margin:0;font-size:17px}.task-finder-copy p{color:var(--muted);margin:0;font-size:13px}.task-finder-control{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-3);grid-template-columns:22px 1fr;align-items:center;gap:8px;padding:8px 10px;display:grid}.task-finder-control svg{color:var(--muted)}.task-finder-control input{background:0 0;border:0;min-height:30px;padding:0}.task-finder-control input:focus{outline:0}.task-suggestions{gap:6px;display:grid}.task-suggestion,.task-create-option{text-align:left;background:var(--surface-3);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:9px 10px;display:grid}.task-suggestion strong{font-size:14px;line-height:1.25;display:block}.task-suggestion small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.task-suggestion em,.task-create-option{color:var(--accent);font-size:12px;font-style:normal;font-weight:800}.task-create-option{border-style:dashed;grid-template-columns:1fr;justify-items:start}.form-error{color:var(--danger);font-size:13px}.assessment-head{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.assessment-head h2{letter-spacing:0;margin:0;font-size:17px}.assessment-head p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.35}.detail-list{gap:14px;display:grid}.support-drawer{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.support-drawer summary{cursor:pointer;padding:14px 16px;font-weight:800;list-style-position:inside}.support-drawer[open] summary{border-bottom:1px solid var(--line);background:var(--surface-3)}.support-drawer .package-panel,.support-drawer .manual-panel{box-shadow:none;border:0;border-radius:0}.package-panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.package-head{border-bottom:1px solid var(--line);background:var(--surface-3);padding:14px 16px}.package-head h2{letter-spacing:0;margin:0;font-size:17px}.package-head p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.35}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.package-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-3);overflow:hidden}.package-all,.package-choice{grid-template-columns:22px 1fr auto;align-items:start;gap:9px;display:grid}.package-all{border-bottom:1px solid var(--line);background:#fff;padding:11px}.package-all input,.package-choice input{width:19px;height:19px;min-height:19px;accent-color:var(--accent);margin:1px 0 0}.package-all strong{font-size:14px;line-height:1.25;display:block}.package-all small,.package-choice small{color:var(--muted);white-space:nowrap;font-size:12px;line-height:1.25}.package-options{gap:1px;display:grid}.package-choice{padding:8px 10px;font-size:13px;line-height:1.3}.package-choice:hover{background:var(--surface-2)}.section{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.section h2{border-bottom:1px solid var(--line);background:var(--surface-3);letter-spacing:0;margin:0;padding:14px 16px;font-size:17px}.item{border-bottom:1px solid var(--line);grid-template-columns:34px 104px 1fr 240px;align-items:start;gap:10px;padding:12px 14px;display:grid}.item:last-child{border-bottom:0}.item.done{background:#f0f6f2}.item.locked{background:#eef4f0}.item input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--accent);margin-top:2px}.item input[type=checkbox]:disabled{cursor:not-allowed}.tag{text-transform:capitalize;background:var(--surface-2);min-height:26px;color:var(--accent);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.tag.replace{color:#8a2f1f;background:#f9e8e1}.tag.repair{color:#7b530d;background:#fbefd2}.tag.clean{color:#245d7d;background:#e2f0f7}.tag.paint{color:#684a8d;background:#efe8f8}.tag.remove{color:#783a32;background:#f4e7e3}.tag.install,.tag.add{color:#185f47;background:#e1f1e9}.tag.inspect{color:#3c566b;background:#e6eef4}.tag.stage{color:#6b4b13;background:#f4ecd8}.task{font-size:15px;line-height:1.38}.production-lock{width:fit-content;color:var(--accent);white-space:nowrap;vertical-align:middle;background:#dfe9e2;border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:3px 7px;font-size:12px;font-weight:700;display:inline-flex}.area{color:var(--muted);margin-top:4px;font-size:12px}.walkthrough-detail-fields{gap:8px;display:grid}.walkthrough-detail-fields:empty{display:none}.room-area-control{gap:6px;display:grid}.multi-select{position:relative}.multi-select summary{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;gap:3px;min-height:42px;padding:7px 10px;list-style-position:inside;display:grid}.multi-select summary span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.multi-select summary strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;line-height:1.25;overflow:hidden}.multi-select-menu{z-index:5;border:1px solid var(--line);border-radius:var(--radius);max-height:260px;box-shadow:var(--shadow);background:#fff;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.multi-select-option{border-radius:6px;grid-template-columns:22px 1fr;align-items:center;gap:7px;padding:6px;font-size:13px;line-height:1.25;display:grid}.multi-select-option:hover{background:var(--surface-2)}.multi-select-option input{width:17px;height:17px;min-height:17px}.other-room-area{min-height:38px}.production-table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:max-content;min-width:3620px;box-shadow:var(--shadow)}.production-table th{text-align:left;background:var(--surface-3);border-bottom:1px solid var(--line);color:var(--muted);white-space:nowrap;padding:10px;font-size:12px}.production-table th:first-child{border-top-left-radius:var(--radius)}.production-table th:last-child{border-top-right-radius:var(--radius)}.production-table td{vertical-align:top;border-bottom:1px solid var(--line);width:150px;min-width:150px;padding:8px}.production-table tr:last-child td{border-bottom:0}.production-table .wide{width:330px;min-width:330px}.production-table .money{width:115px;min-width:115px}.production-table .actions-col{width:126px;min-width:126px}.production-table input,.production-table select,.production-table textarea{width:100%;min-width:0;font-size:14px;display:block}.production-table textarea{min-height:86px}.table-scroll{border-radius:var(--radius);max-width:100%;padding-bottom:2px;overflow-x:auto}.total-cell{min-height:38px;color:var(--muted);align-items:center;font-weight:700;display:flex}.remove-production{white-space:nowrap;width:100%}.table-check{min-height:38px;color:var(--muted);align-items:center;gap:7px;font-size:13px;display:inline-flex}.table-check input{width:18px;height:18px;min-height:18px;accent-color:var(--accent)}.management-panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);gap:14px;padding:14px;display:grid}.management-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:14px;padding-bottom:12px;display:flex}.management-head h2{letter-spacing:0;margin:0;font-size:18px}.management-head p{max-width:720px;color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.4}.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.metric-card,.rollup-card,.management-card,.vendor-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-3)}.metric-card{padding:12px}.metric-card span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700;display:block}.metric-card strong{margin-top:5px;font-size:20px;line-height:1.15;display:block}.management-grid{gap:12px;display:grid}.management-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.management-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-panel{box-shadow:none}.details-grid,.production-controls,.vendor-intake,.admin-grid{gap:10px;display:grid}.details-grid,.details-grid.textareas{grid-template-columns:repeat(3,minmax(0,1fr))}.field-stack{gap:5px;display:grid}.field-stack span{color:var(--muted);font-size:12px;font-weight:800}.production-workspace{gap:12px;display:grid}.production-controls{grid-template-columns:1.2fr 1fr 1fr 1fr auto}.grouped-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.group-column{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-content:start;gap:8px;padding:10px;display:grid}.group-column h3{justify-content:space-between;gap:8px;margin:0;font-size:14px;display:flex}.group-column h3 span{color:var(--muted)}.production-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-3);gap:8px;padding:10px;display:grid}.production-card strong{font-size:14px;line-height:1.3}.production-card span,.production-card-meta{color:var(--muted);font-size:12px}.production-card-meta{justify-content:space-between;gap:8px;display:flex}.mobile-production-list{display:none}.mobile-production-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.mobile-production-card summary{cursor:pointer;justify-content:space-between;gap:10px;padding:11px;display:flex}.mobile-production-card summary span{gap:2px;display:grid}.mobile-production-card small{color:var(--muted)}.mobile-production-fields,.note-chip-editor,.link-editor,.timeline-list,.editable-item,.historical-grid{gap:8px;display:grid}.historical-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.mobile-production-fields{padding:0 11px 11px}.note-chip-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-chip{grid-template-columns:18px 1fr;align-items:start;gap:5px;font-size:12px;display:grid}.mini-chip input{width:16px;height:16px;min-height:16px}.link-editor{margin-top:8px}.link-row,.link-form{gap:6px;display:grid}.link-row{grid-template-columns:1fr auto}.link-form{grid-template-columns:90px 1fr 1.4fr auto}.link-list{flex-wrap:wrap;gap:6px;display:flex}.timeline-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-3);grid-template-columns:120px 110px 1fr 140px;align-items:center;gap:10px;padding:10px;display:grid}.timeline-card time{color:var(--accent);font-weight:800}.timeline-card small{color:var(--muted)}.vendor-intake{grid-template-columns:1fr 150px 220px 1fr 100px;padding:12px}.vendor-intake textarea,.vendor-intake button,.vendor-intake .form-error{grid-column:1/-1}.admin-grid{grid-template-columns:1.2fr .8fr}.editable-item{border-top:1px solid var(--line);grid-template-columns:1.6fr 1fr .8fr .7fr auto auto;padding:8px 0}.option-preview{border-top:1px solid var(--line);padding:8px 0}.option-preview summary{cursor:pointer;font-weight:800}.rollup-card{padding:12px}.rollup-card h3,.resource-library h3{margin:0 0 10px;font-size:15px}.rollup-row{border-top:1px solid var(--line);grid-template-columns:1fr 44px 120px;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:grid}.rollup-row:first-of-type{border-top:0}.rollup-row b,.rollup-row strong{text-align:right}.cards-list{gap:10px;display:grid}.cards-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.management-card{gap:10px;padding:12px;display:grid}.management-card strong{font-size:15px;line-height:1.3;display:block}.management-card span,.management-card p{color:var(--muted);margin:3px 0 0;font-size:13px;line-height:1.35}.mini-form{grid-template-columns:180px 140px 1fr;align-items:center;gap:8px;display:grid}.resource-library{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.vendor-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:8px;display:grid}.vendor-card{gap:6px;padding:8px;display:grid}.vendor-card.high-risk{background:#fff1ee;border-color:#cf4f43}.vendor-card.high-risk .vendor-title strong{color:#8f1f17}.vendor-title{justify-content:space-between;align-items:start;gap:8px;display:flex}.vendor-title strong{font-size:14px;line-height:1.15}.vendor-title span{color:var(--muted);font-size:11px;font-weight:700}.chip-row{flex-wrap:wrap;gap:4px;display:flex}.chip{background:var(--surface-2);min-height:20px;color:var(--accent);border-radius:999px;align-items:center;padding:2px 6px;font-size:11px;font-weight:700;display:inline-flex}.chip-button{cursor:pointer;border:0;font-family:inherit}.chip-button:hover{background:var(--accent);color:#fff}.vendor-ratings{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:4px 8px;display:grid}.vendor-ratings>div,.intake-rating{gap:2px;display:grid}.vendor-ratings span,.intake-rating span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.rating-control{flex-wrap:wrap;gap:1px;display:flex}.rating-control button{color:#d7dde6;cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;width:17px;height:18px;min-height:0;padding:0;font-family:inherit;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.rating-control button.active{color:#f5a400}.pricing-control button{color:#cfd6e0;width:13px}.pricing-control button.active{color:#198754}.rating-control button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rating-control button:disabled{cursor:progress;opacity:.65}.icon-rating-control{align-items:center}.contact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;margin:0;display:grid}.contact-list div{min-width:0}.contact-list .wide-contact{grid-column:1/-1}.contact-list dt{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.contact-list dd{overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.2}.staff-list{border-top:1px solid var(--line);gap:3px;padding-top:5px;display:grid}.staff-list h3{color:var(--muted);text-transform:uppercase;margin:0;font-size:9px;font-weight:800}.staff-list div{gap:1px;display:grid}.staff-list strong{font-size:11px;line-height:1.15}.staff-list span{color:var(--muted);font-size:10px;line-height:1.2}.empty{text-align:center;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}@media (max-width:900px){.topbar-inner,.workspace{grid-template-columns:1fr}.top-actions{justify-content:flex-start}.workspace{padding:12px}.sidebar{position:static}.nav-list{max-height:160px}.package-grid,.wizard-options,.manual-form,.metric-grid,.management-grid.two,.management-grid.three,.cards-list.compact,.vendor-grid,.mini-form,.details-grid,.details-grid.textareas,.production-controls,.grouped-board,.vendor-intake,.admin-grid,.editable-item,.timeline-card,.historical-grid{grid-template-columns:1fr}.production-table{display:none}.mobile-production-list{gap:10px;display:grid}.item{grid-template-columns:32px 1fr}.tag,.task-wrap,.walkthrough-detail-fields{grid-column:2}.tag{justify-self:start}.form-row{grid-template-columns:1fr}.dashboard-head,.project-card{grid-template-columns:1fr;display:grid}.project-actions{justify-content:flex-start}}@media print{.topbar,.sidebar,.tabs,.notice,textarea,input,select,button{display:none}.workspace{max-width:none;padding:0;display:block}.section{box-shadow:none;break-inside:avoid;margin-bottom:12px}.item{grid-template-columns:24px 90px 1fr;padding:8px}.item:before{content:"□";font-size:18px}}
