.shopping-page,.project-shopping{min-width:0}.shopping-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;display:grid}.shopping-card,.shopping-budget,.project-shopping{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);overflow-wrap:anywhere;margin:16px 0;padding:16px}.shopping-grid .shopping-card{margin:0}.shopping-card h4{margin:8px 0;font-size:19px}.shopping-open{text-align:left;font:inherit;color:var(--heading);cursor:pointer;background:0 0;border:none;width:100%;min-height:44px;padding:6px 0;font-weight:650}.shopping-card p{margin:9px 0}.shopping-price{font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}.shopping-price small{color:var(--muted);margin:4px 0 12px;font-size:12px;font-weight:400;display:block}.shopping-page a.secondary-button,.project-shopping a.secondary-button{box-sizing:border-box;justify-content:center;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.shopping-filters,.shopping-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.shopping-filters label{color:var(--muted);font-size:13px;display:block}.shopping-filters input,.shopping-filters select{box-sizing:border-box;background:var(--input);width:100%;min-width:0;min-height:44px;color:var(--text);border:1px solid var(--control-line);border-radius:var(--radius-control);margin-top:6px;padding:10px;font-size:16px;display:block}.shopping-metrics div{background:var(--soft);border-radius:var(--radius-control);min-width:0;padding:12px}.shopping-metrics dt{color:var(--muted);font-size:12px}.shopping-metrics dd{font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:19px;font-weight:650}.shopping-budget{background:var(--feature);box-shadow:none}.shopping-budget h3{margin-top:0}.shopping-budget summary{cursor:pointer;box-sizing:border-box;min-height:44px;padding:12px 0}.shopping-budget details p{font-size:13px;line-height:1.6}.shopping-preview{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.shopping-preview strong,.shopping-preview>span:first-of-type{width:100%}.shopping-preview>span:first-of-type{color:var(--muted);font-size:13px}.shopping-detail dd{white-space:pre-wrap}.shopping-form fieldset{min-width:0}.shopping-page :focus-visible{outline:3px solid var(--focus);outline-offset:3px}.shopping-page h2:focus{outline:none}@media (width<=359px){.shopping-filters{grid-template-columns:1fr}.shopping-card,.shopping-budget,.project-shopping{padding:12px}.shopping-metrics{gap:8px}.shopping-metrics dd{font-size:17px}}.offline-status{max-width:1040px;padding:5px max(16px, var(--safe-left)) 0 max(16px, var(--safe-right));color:var(--muted);margin:0 auto;font-size:11px}.offline-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 14px;line-height:1.6;display:flex}.offline-summary>span:last-of-type{color:var(--brand)}.offline-note{margin:6px 0;line-height:1.6}.offline-update{background:var(--feature);border:1px solid var(--control-line);border-radius:var(--radius-card);color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:14px;font-size:13px;display:flex}.offline-update p{max-width:520px;margin:6px 0 0;line-height:1.6}.offline-text-button{color:var(--brand);font:inherit;background:0 0;border:0;min-height:44px;padding:8px;text-decoration:underline}@media (width>=650px){.offline-status{padding-inline:max(28px, var(--safe-left)) max(28px, var(--safe-right))}}.property-home{min-width:0}.property-home h1{overflow-wrap:anywhere}.property-description{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin:14px 0 24px;line-height:1.7}.property-photo{aspect-ratio:16/9;border:1px solid var(--line);background:var(--soft);border-radius:20px;place-items:center;width:100%;display:grid;overflow:hidden}.property-photo img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.property-photo-placeholder{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;font-size:13px;line-height:1.5;display:flex}.property-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.property-form h2{margin:0;font-size:22px}.property-form h2:focus{outline:none}.property-form .property-photo{margin:18px 0}.property-form input[type=file]{padding:8px;font-size:14px}.property-form input::file-selector-button{font:inherit;border:1px solid var(--control-line);background:var(--soft);min-height:44px;color:var(--text);border-radius:8px;margin-right:8px;padding:8px}.project-card-shell,.task-card{min-width:0;position:relative}.project-card-shell>.project-card{height:100%}.trash-button{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:10px;place-items:center;padding:10px;display:inline-grid}.project-card-shell>.trash-button,.task-card>.trash-button{position:absolute;top:5px;right:5px}.project-card-shell .project-reference,.task-card .project-reference{min-height:22px;padding-right:36px}.trash-button:hover{color:var(--high-ink);background:var(--high)}.trash-dialog strong{color:var(--text);overflow-wrap:anywhere}.trash-dialog p{overflow-wrap:anywhere}.trash-inline-error{margin:8px;position:relative}.trash-list{margin:0;padding:0;list-style:none}.trash-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.trash-list li>div{overflow-wrap:anywhere;flex:180px;min-width:0}.trash-list strong{font-size:15px;line-height:1.5;display:block}.trash-list span{color:var(--muted);font-size:12px;line-height:1.7;display:block}.home-dashboard{min-width:0}.property-header{border-bottom:1px solid var(--line);align-items:center;gap:14px;margin-bottom:4px;padding:0 0 12px;display:flex}.property-heading{flex:1;min-width:0}.property-today{color:var(--muted);font-size:12px;line-height:1.6;display:block}.property-header h1{letter-spacing:-.8px;margin:5px 0 2px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,6vw,38px);font-weight:500}.property-header .property-description{margin:8px 0 0;font-size:13px;line-height:1.5}.property-header>.property-photo{border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--line);width:112px;height:116px;box-shadow:var(--shadow-card);flex:0 0 112px;padding:5px}.property-header>.property-photo img{object-fit:contain}.property-home .add-property-photo{font-size:12px}.text-button{min-height:44px;color:var(--brand);font:inherit;text-align:left;background:0 0;border:none;padding:8px 0;font-size:13px;font-weight:650}.dashboard-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.dashboard-stat{border:1px solid var(--line);background:var(--surface);text-align:left;min-width:0;color:var(--text);border-radius:16px;padding:12px}.dashboard-stat>span{font-size:12px;line-height:1.5;display:block}.dashboard-stat>strong{letter-spacing:-1px;margin:4px 0 8px;font-size:29px;font-weight:650;display:block}.dashboard-stat small{color:var(--muted);font-size:16px;font-weight:450}.dashboard-stat .stat-detail{color:var(--muted);margin-top:8px;font-size:11px}.compact-progress{width:100%;height:6px;accent-color:var(--brand);background:var(--line);border:0;border-radius:10px;display:block;overflow:hidden}.compact-progress::-webkit-progress-bar{background:var(--track);border-radius:10px}.compact-progress::-webkit-progress-value{background:var(--brand);border-radius:10px}.compact-progress::-moz-progress-bar{background:var(--brand);border-radius:10px}.dashboard-columns{gap:14px;display:grid}.dashboard-panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;min-width:0;padding:16px}.panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;min-height:32px;display:flex}.panel-heading h2{letter-spacing:-.3px;margin:0;font-size:18px}.overdue-label{color:var(--high-ink);font-size:12px;line-height:1.6}.muted-label{color:var(--muted);font-size:12px}.agenda-list{margin:6px 0 0;padding:0;list-style:none}.agenda-list li+li{border-top:1px solid var(--line)}.agenda-list button{text-align:left;width:100%;color:var(--text);background:0 0;border:0;align-items:center;gap:12px;min-height:72px;padding:12px 0;display:flex}.agenda-list time{background:var(--soft);text-align:center;border-radius:10px;flex:0 0 44px;width:44px;padding:7px 0}.agenda-list time strong,.agenda-list time span{display:block}.agenda-list time strong{font-size:19px;line-height:1.2}.agenda-list time span{margin-top:2px;font-size:11px}.agenda-overdue time{background:var(--high);color:var(--high-ink)}.agenda-copy{overflow-wrap:anywhere;flex:1;min-width:0}.agenda-copy strong{font-size:14px;font-weight:650;line-height:1.4;display:block}.agenda-copy>span,.agenda-copy small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.5;display:block}.agenda-overdue .agenda-copy small{color:var(--high-ink)}.agenda-footer{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.agenda-footer>span{color:var(--muted);font-size:12px;line-height:1.6;display:block}.dashboard-empty{color:var(--muted);font-size:14px;line-height:1.7}.dashboard-money{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 12px;display:grid}.dashboard-money>div{min-width:0;padding:8px 0}.dashboard-money dt{color:var(--muted);font-size:11px;line-height:1.5}.dashboard-money dd{letter-spacing:-.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:7px 0 0;font-size:clamp(15px,3.7vw,22px);font-weight:650}.dashboard-money .cash-remaining{background:var(--feature);border-radius:var(--radius-small);padding:8px}.commitment-note{color:var(--muted);border-top:1px solid var(--line);margin-bottom:0;padding-top:12px;font-size:12px;line-height:1.7}.commitment-note strong{color:var(--text);float:right}@media (width>=720px){.dashboard-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start}.property-header>.property-photo{flex-basis:220px;width:220px;height:150px}.property-header h1{font-size:42px}}@media (width<=359px){.property-header{gap:10px}.property-header>.property-photo{flex-basis:92px;width:92px;height:110px}.property-header h1{font-size:27px}.dashboard-money{gap:4px}.dashboard-panel{padding:12px}}.projects-page{min-width:0}.storage-note{color:var(--muted);margin-top:-12px;font-size:12px;line-height:1.6}.view-heading{letter-spacing:-.5px;margin:26px 0 18px;font-size:22px}.view-heading:focus{outline:none}.project-toolbar,.project-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.project-toolbar{justify-content:space-between;margin-bottom:20px}.project-filters{background:var(--soft);border-radius:12px;padding:4px;display:flex}.project-filters button{min-height:44px;color:var(--brand);background:0 0;border:none;border-radius:9px;padding:10px 14px;font-size:13px;font-weight:600}.project-filters button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 4px #223c3314}.solid-button{min-height:48px;color:var(--surface);background:var(--brand);border:0;border-radius:10px;padding:13px 20px;font-size:14px;font-weight:600}.solid-button:hover{background:var(--hover)}button:disabled{cursor:wait;opacity:.6}.project-grid{gap:14px;display:grid}.project-card{text-align:left;border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:inherit;overflow-wrap:anywhere;border-radius:18px;padding:22px;display:block}.project-reference{color:var(--muted);letter-spacing:1px;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.project-card h3{letter-spacing:-.5px;margin:12px 0;font-size:21px;line-height:1.3}.project-badges{flex-wrap:wrap;gap:8px;display:flex}.badge{background:var(--soft);color:var(--text);letter-spacing:0;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:600;line-height:1.5;display:inline-block}.priority-high{background:var(--high);color:var(--high-ink)}.priority-medium{background:var(--medium);color:var(--medium-ink)}.priority-low{background:var(--cool);color:var(--cool-ink)}.project-card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.card-rooms,.card-date{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.6;display:block}.card-date{border-top:1px solid var(--line);padding-top:12px;font-size:11px}.project-form,.project-detail{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:22px}.project-form fieldset{border:0;min-width:0;margin:0;padding:0}.project-form label{margin:22px 0 8px;font-size:14px;font-weight:650;display:block}.project-form label span{color:var(--muted);font-size:12px;font-weight:400}.project-form input,.project-form select,.project-form textarea{border:1px solid var(--control-line);width:100%;max-width:100%;min-height:48px;font:inherit;background:var(--input);color:var(--text);border-radius:9px;padding:12px;font-size:16px}.project-form textarea{resize:vertical;line-height:1.6}input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.field-help{color:var(--muted);margin:8px 0;font-size:12px;line-height:1.7}.form-columns{gap:0 16px;display:grid}.project-form .project-actions{margin-top:24px}.form-error{background:var(--error);color:var(--error-ink);border:1px solid var(--error-line);overflow-wrap:anywhere;border-radius:10px;padding:14px;font-size:14px;line-height:1.6}.save-notice{background:var(--success);border-left:3px solid var(--success-line);color:var(--text);border-radius:5px;padding:12px;font-size:14px;line-height:1.6}.project-detail{overflow-wrap:anywhere;margin-top:18px}.project-detail h3{letter-spacing:-.7px;margin:18px 0;font-size:28px;line-height:1.25}.project-fields dt{margin:24px 0 8px;font-size:13px;font-weight:650}.project-fields dd{color:var(--muted);white-space:pre-wrap;margin:0;font-size:15px;line-height:1.7}.project-dates{border-top:1px solid var(--line);color:var(--muted);margin:24px 0;padding-top:16px;font-size:12px}.project-dates dt{margin-top:12px;font-weight:650}.project-dates dd{margin:4px 0}.archive-confirm{border-top:1px solid var(--line);margin-top:20px;font-size:14px;line-height:1.6}.project-history{margin-top:28px}.project-history h3{font-size:17px}.project-history ol{padding-left:20px}.project-history li{border-bottom:1px solid var(--line);padding-left:4px;font-size:13px}.project-history summary{cursor:pointer;min-height:48px;padding:16px 0;line-height:1.6}.history-snapshot{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);line-height:1.8}@media (width>=400px){.form-columns{grid-template-columns:1fr 1fr}}@media (width>=650px){.project-grid{grid-template-columns:1fr 1fr}.project-form,.project-detail{padding:30px}}@media (width<=399px){.project-toolbar>.solid-button{width:100%}.project-form,.project-detail{padding:18px}}.budget-page{min-width:0}.budget-page h3{margin:24px 0 16px;font-size:18px}.budget-page h4{overflow-wrap:anywhere;margin:14px 0;font-size:19px}.budget-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.budget-metric{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;padding:16px}.budget-metric>span,.budget-metric small{color:var(--muted);font-size:12px;line-height:1.6;display:block}.budget-metric strong{letter-spacing:-.5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:10px 0;font-size:clamp(19px,4.6vw,27px);display:block}.budget-negative{color:var(--error-ink);font-weight:700}.budget-panel{border:1px solid var(--line);background:var(--surface);overflow-wrap:anywhere;border-radius:18px;min-width:0;margin:20px 0;padding:20px}.budget-panel>h3:first-child{margin-top:0}.budget-note{background:var(--soft);overflow-wrap:anywhere;border-radius:12px;padding:16px;font-size:13px;line-height:1.7}.budget-usage p{color:var(--muted);font-size:13px;line-height:1.7}.budget-usage progress{width:100%;height:12px;accent-color:var(--brand)}.budget-projects,.budget-costs{gap:14px;display:grid}.budget-projects .budget-panel{margin:0}.budget-figures{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;font-size:13px;line-height:1.6;display:grid}.budget-figures dt{color:var(--muted)}.budget-figures dd{text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0}.budget-filters{background:var(--soft);border-radius:14px;gap:14px;margin:18px 0;padding:18px;display:grid}.budget-filters label{min-width:0;font-size:13px;font-weight:600}.budget-filters select{border:1px solid var(--control-line);background:var(--surface);width:100%;min-width:0;min-height:48px;color:var(--text);font:inherit;border-radius:9px;margin-top:8px;padding:10px;font-size:16px;display:block}.budget-tabs{width:fit-content}.budget-rows{padding:0;list-style:none}.budget-rows li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 0;font-size:14px;display:flex}.budget-rows li>div{flex:1;min-width:0}.budget-rows button{min-height:44px;color:var(--brand);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:8px 0;font-size:14px}.budget-rows small{color:var(--muted);font-size:12px;line-height:1.7;display:block}.budget-rows strong{overflow-wrap:anywhere;align-self:center;max-width:100%}.budget-card-amounts{font-size:13px;line-height:1.8;display:block}.budget-form label>input,.budget-form label>select,.budget-form label>textarea{margin-top:8px;display:block}.budget-form input[type=date]{appearance:none;min-width:0}.budget-ledger{padding-left:20px}.budget-ledger li{border-bottom:1px solid var(--line);padding:16px 0;font-size:14px;line-height:1.7}.budget-ledger span,.budget-ledger small{color:var(--muted);display:block}.budget-ledger p{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=359px){.budget-summary{grid-template-columns:1fr}.budget-panel{padding:16px}}@media (width>=650px){.budget-projects,.budget-costs,.budget-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.data-management{min-width:0}.data-management>.eyebrow{margin-top:30px}.data-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;min-width:0;margin:22px 0;padding:22px}.data-panel h2{margin-top:0;font-size:22px}.data-panel h3{font-size:19px;line-height:1.4}.data-panel p{color:var(--muted);font-size:14px;line-height:1.7}.data-warning{border:1px solid var(--control-line);background:var(--soft);color:var(--text);border-radius:12px;padding:16px;font-size:13px;line-height:1.7}.data-panel p.data-warning{color:var(--text)}.backup-file-label{margin:20px 0;font-size:14px;font-weight:650;display:block}.backup-file-label input{border:1px solid var(--control-line);background:var(--input);width:100%;max-width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:9px;margin-top:12px;padding:8px;font-size:16px;display:block}.backup-file-label input::file-selector-button{font:inherit;color:var(--text);background:var(--soft);border:1px solid var(--control-line);border-radius:6px;min-height:44px;margin-right:8px}.backup-preview{border-top:1px solid var(--line);padding-top:14px}.backup-preview dl>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;padding:12px 0;font-size:13px;line-height:1.6;display:grid}.backup-preview dt{color:var(--muted)}.backup-preview dd{text-align:right;margin:0;font-weight:650}.backup-preview,.data-panel,.backup-filename{overflow-wrap:anywhere}.backup-acknowledgement{border:1px solid var(--control-line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:12px;margin:24px 0;padding:14px;font-size:14px;line-height:1.7;display:flex}.backup-acknowledgement input{width:22px;height:22px;accent-color:var(--brand);flex:0 0 22px;margin-top:3px}.backup-cancel{margin:12px 0 0 8px}.data-settings-link{width:100%;margin-bottom:18px}@media (width<=399px){.data-panel{padding:16px}.backup-cancel{margin-left:0;display:block}}.import-example{align-items:center;line-height:1.5;text-decoration:none;display:inline-flex}.plan-preview{border-top:1px solid var(--line);overflow-wrap:anywhere;padding-top:12px}.plan-project{border:1px solid var(--line);border-radius:12px;min-width:0;margin:20px 0;padding:16px}.plan-project h4{margin:0 0 12px;font-size:18px;line-height:1.5}.plan-project label{font-size:14px;font-weight:650;line-height:1.7;display:block}.plan-project select{border:1px solid var(--control-line);width:100%;min-width:0;max-width:100%;min-height:48px;font:inherit;color:var(--text);background:var(--input);border-radius:9px;margin:8px 0 16px;padding:12px;font-size:16px;display:block}.plan-tasks{margin:18px 0 0;padding:0;list-style:none}.plan-tasks>li{border-top:1px solid var(--line);padding:20px 0}.plan-project details>p{white-space:pre-wrap}.plan-project summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px}.plan-counts{border:1px solid var(--success-line);background:var(--success);border-radius:10px;padding:16px}@media (width<=359px){.plan-project{padding:12px}}.tasks-page{min-width:0}.task-list{gap:14px;display:grid}.task-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;min-width:0;padding:20px}.task-open{text-align:left;width:100%;min-height:48px;color:inherit;overflow-wrap:anywhere;background:0 0;border:0;padding:0;display:block}.task-open h3{letter-spacing:-.5px;margin:12px 0 8px;font-size:21px;line-height:1.35}.task-project-name{color:var(--muted);margin-bottom:14px;font-size:13px;line-height:1.7;display:block}.task-filters{border:1px solid var(--line);background:var(--soft);border-radius:14px;gap:14px;margin:20px 0;padding:18px;display:grid}.task-filters>div{min-width:0}.task-filters label{margin-bottom:8px;font-size:13px;font-weight:650;display:block}.task-filters select{border:1px solid var(--control-line);background:var(--surface);width:100%;min-width:0;min-height:48px;color:var(--text);font:inherit;border-radius:9px;padding:10px;font-size:16px}.complete-button{border:1px solid var(--control-line);background:var(--soft);width:100%;min-height:52px;color:var(--brand);border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:14px;font-weight:650;display:flex}.complete-button>span{font-size:24px;line-height:1}.complete-button.is-complete{background:var(--brand);color:var(--surface);border-color:var(--brand)}.complete-button:hover{outline:1px solid var(--brand)}.task-progress{background:var(--soft);border-radius:14px;margin:18px 0;padding:18px}.task-progress p{margin:0 0 10px;font-size:14px;line-height:1.7}.task-progress strong{margin-left:8px}.task-progress progress{width:100%;height:12px;accent-color:var(--brand)}.task-progress .field-help{margin:10px 0 0;font-size:12px}.task-scope-tabs{width:fit-content;margin-bottom:18px}.project-tasks{border-top:1px solid var(--line);margin-top:28px}.project-tasks .section-heading h3{margin:0;font-size:18px}.project-form input[type=date]{appearance:none;min-width:0}@media (width>=650px){.task-filters{grid-template-columns:2fr 1fr 1fr;align-items:end}.task-list{grid-template-columns:1fr 1fr}}.tools-page,.tool-card,.tool-detail,.tool-form{min-width:0}.tool-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 8px;display:grid}.tool-stats>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);min-width:0;padding:11px}.tool-stats span{color:var(--muted);font-size:11px;line-height:1.5;display:block}.tool-stats strong{letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin-top:4px;font-size:24px;display:block}.tool-returns,.tool-filters{background:var(--soft);border-radius:var(--radius-control);margin:14px 0;padding:12px}.tool-returns summary,.tool-filters summary,.tool-form-details>summary{min-height:44px;color:var(--brand);cursor:pointer;overflow-wrap:anywhere;padding:12px 0;font-size:13px;font-weight:600}.tool-returns ul{margin:0;padding:0;list-style:none}.tool-returns li{border-top:1px solid var(--line);padding:6px 0 10px}.tool-returns .text-button{overflow-wrap:anywhere;width:100%;display:block}.tool-returns small{color:var(--muted);margin-top:4px;font-weight:400;display:block}.tool-filters label{min-width:0;font-size:13px;font-weight:600;display:block}.tool-filters input,.tool-filters select{width:100%;min-width:0;max-width:100%;min-height:44px;font:inherit;border:1px solid var(--control-line);border-radius:var(--radius-control);color:var(--text);background:var(--input);margin-top:8px;padding:10px;font-size:16px;display:block}.tool-filter-grid,.tool-grid{gap:12px;display:grid}.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow-wrap:anywhere;padding:14px}.tool-card h3{letter-spacing:-.3px;margin:7px 0 10px;font-size:19px}.tool-meta,.tool-estimate{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.6;display:block}.tool-estimate strong{color:var(--text);font-variant-numeric:tabular-nums}.tool-quick-actions{flex-wrap:wrap;gap:6px;margin:12px 0 0;display:flex}.tool-quick-actions .secondary-button{min-height:44px;padding:8px 10px;font-size:12px}.tool-detail>h3{font:500 28px/1.25 var(--font-display);margin:10px 0 14px}.tool-description{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:14px;line-height:1.7}.tool-detail>.project-actions{margin-top:16px}.tool-facts{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px;margin:18px 0;font-size:13px;line-height:1.6;display:grid}.tool-facts dt{color:var(--muted)}.tool-facts dd{overflow-wrap:anywhere;margin:0}.tool-fact-row{display:contents}.tool-association{margin-bottom:6px;display:block}.tool-form-details{border-top:1px solid var(--line);margin-top:16px}.tool-form .tool-choices{margin-top:12px}.tool-choices legend{font-size:13px;font-weight:650}.tool-form .tool-choices label{align-items:center;gap:10px;min-height:44px;margin:4px 0;padding:8px 0;font-weight:400;display:flex}.tool-form .tool-choices input{width:20px;height:20px;min-height:20px;accent-color:var(--brand);flex:0 0 20px}.tool-form .tool-choices span{color:var(--text);overflow-wrap:anywhere}.tool-choices small{color:var(--muted);display:block}.tool-form input[type=date]{appearance:none;min-width:0}.tool-status-available{background:var(--success)}.tool-status-needed{background:var(--high);color:var(--high-ink)}.tool-status-arranged{background:var(--medium);color:var(--medium-ink)}.tool-status-in-use{background:var(--cool);color:var(--cool-ink)}.tool-history{padding-left:18px;font-size:12px;line-height:1.7}.tool-history summary{cursor:pointer;min-height:44px;padding:10px 0}.project-equipment{overflow-wrap:anywhere;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-card);margin-top:16px;padding:14px}.project-equipment summary{color:var(--brand);cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;font-weight:650}.project-equipment ul{padding-left:18px;font-size:13px;line-height:1.7}@media (width>=650px){.tool-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.tool-grid,.tool-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.app-shell{max-width:880px;margin:auto}.app-header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:22px;font-size:14px;font-weight:650;display:flex}.brand-icon{background:var(--brand);width:36px;height:36px;color:var(--surface);border-radius:11px;place-items:center;display:grid}.brand-icon svg{width:21px}.version{letter-spacing:1px;color:var(--muted);margin-left:auto;font-size:9px}.eyebrow{letter-spacing:1.8px;color:var(--muted);font-size:10px;font-weight:700}h1{letter-spacing:-1.5px;max-width:530px;margin:12px 0;font-size:clamp(32px,7vw,46px);font-weight:650;line-height:1.12}.intro{color:var(--muted);max-width:430px;margin:0 0 28px;font-size:15px;line-height:1.65}.welcome-card{isolation:isolate;background:var(--brand);color:var(--surface);border-radius:22px;padding:27px;position:relative;overflow:hidden}.card-label{letter-spacing:1.6px;color:var(--hero-label);align-items:center;gap:8px;font-size:9px;font-weight:650;display:flex}.status-dot{background:var(--hero-dot);border-radius:50%;width:6px;height:6px}.welcome-card h2{letter-spacing:-.8px;margin:24px 0 14px;font-size:32px;font-weight:550;line-height:1.15}.welcome-card p{color:var(--hero-muted);max-width:310px;font-size:14px;line-height:1.7}.primary-button,.secondary-button{border:0;border-radius:10px;min-height:48px;padding:12px 17px;font-size:13px;font-weight:650}.primary-button{background:var(--primary);color:var(--brand);align-items:center;gap:27px;margin-top:12px;display:flex}.primary-button:hover{background:var(--primary-hover)}.house-drawing{opacity:.07;z-index:-1;position:absolute;bottom:-26px;right:-40px;transform:rotate(-12deg)}.house-drawing svg{stroke-width:.7px;width:270px;height:270px}.section-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-top:32px;margin-bottom:16px;display:flex}.section-heading h2{letter-spacing:-.3px;margin:0;font-size:17px}.section-heading>span{color:var(--muted);font-size:11px}.workspace-links{gap:10px;display:grid}.workspace-link{border:1px solid var(--line);background:var(--surface);width:100%;color:inherit;text-align:left;border-radius:15px;align-items:center;gap:14px;min-height:80px;padding:17px;display:flex}.workspace-link:hover{border-color:var(--hover-line);background:var(--hover)}.tile-icon{background:var(--soft);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.tile-1{background:var(--warm);color:var(--warm-ink)}.tile-2{background:var(--cool);color:var(--cool-ink)}.tile-copy{flex-direction:column;gap:5px;display:flex}.tile-copy strong{font-size:14px;font-weight:650}.tile-copy>span{color:var(--muted);font-size:12px}.arrow{color:var(--muted);margin-left:auto}.foundation-note{text-align:center;color:var(--muted);margin:28px 0 0;font-size:11px;line-height:1.8}.bottom-nav{background:var(--surface);border-top:1px solid var(--line);width:100%;max-width:880px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));z-index:10;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{min-height:54px;color:var(--muted);background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:10px;display:flex}.bottom-nav button[aria-current]{background:var(--soft);color:var(--brand);font-weight:700}.empty-state{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:22px;padding:38px 24px}.empty-icon{background:var(--soft);border-radius:18px;place-items:center;width:64px;height:64px;margin:0 auto 24px;display:grid}.empty-state h2{letter-spacing:-.5px;font-size:24px}.empty-state p{color:var(--muted);max-width:380px;margin:0 auto 24px;font-size:15px;line-height:1.7}.secondary-button{background:var(--soft);color:var(--brand)}@media (width>=650px){.app-header{padding:24px 40px}main{padding:44px 40px 120px}.welcome-card{padding:32px}.welcome-card h2{font-size:38px}.house-drawing{opacity:.12;right:35px}.workspace-links{grid-template-columns:repeat(3,1fr)}.workspace-link{flex-direction:column;align-items:flex-start;padding:20px}.arrow{display:none}.version{font-size:10px}}@media (width<=359px){.version,.section-heading>span{display:none}}:root{--page:#f6f1e7;--text:#283d31;--surface:#fffcf6;--muted:#606657;--line:#dedccf;--brand:#284b39;--brand-ink:#fff;--soft:#e9eddf;--input:#fffefb;--control-line:#a8b09d;--focus:#b87528;--hero:#234c3e;--hero-text:#fff;--hero-muted:#d8e5dd;--hero-label:#d6e5ce;--hero-dot:#d1dca7;--primary:#e3ebce;--primary-ink:#234c3e;--primary-hover:#f0f5e5;--hover:#fcfdf9;--hover-line:#9bb09d;--warm:#f7efdf;--warm-ink:#84612b;--cool:#eaf0f4;--cool-ink:#4c697b;--high:#f3e2d7;--high-ink:#844029;--medium:#f1e7d2;--medium-ink:#73582c;--error:#fff0e9;--error-ink:#8b3528;--error-line:#dfbaaa;--success:#e8f0df;--success-line:#577a44;--heading:#243f32;--surface-raised:#fffefb;--feature:#e5ecdc;--track:#d5ddca;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:Georgia, "Times New Roman", serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-card:18px;--radius-control:11px;--radius-small:8px;--shadow-card:0 2px 3px #362f2004, 0 8px 24px #362f2008;--shadow-control:0 1px 3px #243f3210}:root[data-theme=dark]{--page:#1b221c;--text:#e8ebdf;--surface:#252e25;--muted:#b9c2b1;--line:#46513f;--brand:#c6d6b2;--brand-ink:#1d2d1e;--soft:#34422f;--input:#20291f;--control-line:#7d9985;--focus:#efbd70;--hero:#203e30;--hero-text:#eef5ed;--hero-muted:#c3d7c9;--hero-label:#d6e5ce;--hero-dot:#d1dca7;--primary:#c6dfa9;--primary-ink:#16291b;--primary-hover:#daebc7;--hover:#24392d;--hover-line:#a3c799;--warm:#453922;--warm-ink:#f2d38f;--cool:#293e49;--cool-ink:#bed9eb;--high:#4c3026;--high-ink:#ffceb4;--medium:#453b22;--medium-ink:#efd598;--error:#472c27;--error-ink:#ffd0c3;--error-line:#bc8577;--success:#293f2a;--success-line:#a9cd90;--heading:#edf0e0;--surface-raised:#2a3429;--feature:#33462e;--track:#4a5843;--shadow-card:0 2px 4px #0000000c, 0 8px 24px #00000014;--shadow-control:0 1px 3px #00000020}.brand-icon,.welcome-card{background:var(--hero);color:var(--hero-text)}.primary-button{color:var(--primary-ink)}.solid-button,.complete-button.is-complete{background:var(--brand);color:var(--brand-ink)}.solid-button:hover{background:var(--primary);color:var(--primary-ink)}.project-card:hover{border-color:var(--hover-line)}.settings-button{border:1px solid var(--control-line);min-height:44px;color:var(--text);background:var(--surface);border-radius:10px;align-items:center;gap:6px;margin-left:auto;padding:8px 10px;font-size:13px;display:flex}.app-header>span{min-width:0}.appearance-dialog{color:var(--text);background:var(--surface);border:1px solid var(--control-line);border-radius:20px;width:min(420px,100% - 32px);max-height:calc(100dvh - 48px);padding:24px;overflow:auto}.appearance-dialog h2{margin-top:0;font-size:24px}.appearance-dialog p{color:var(--muted);line-height:1.6}.appearance-options{border:0;margin:20px 0;padding:0}.appearance-options legend{margin-bottom:12px;font-weight:650}.appearance-options label{border:1px solid var(--control-line);cursor:pointer;border-radius:10px;align-items:center;gap:12px;min-height:56px;margin-bottom:8px;padding:12px;display:flex}.appearance-options label:has(input:checked){background:var(--soft);border-color:var(--brand)}.appearance-options input{width:20px;height:20px;accent-color:var(--brand)}.appearance-options small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.appearance-options input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (width<=359px){.settings-button span{display:none}}:root{font-family:var(--font-ui)}h1,h2,h3{color:var(--heading)}h1{font-family:var(--font-display);font-weight:500}.app-shell,.bottom-nav{max-width:1040px}.app-header{padding:12px 16px;font-size:13px}.brand-icon{border-radius:10px;width:32px;height:32px}main{padding:var(--space-5) var(--space-4) calc(100px + env(safe-area-inset-bottom))}h1{letter-spacing:-.8px;font-size:30px}.page-title{margin:0 0 16px}.bottom-nav{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr))}.bottom-nav button{min-height:52px;font-size:11px}.primary-button,.secondary-button,.solid-button{min-height:44px;padding:11px 14px}.section-heading{flex-wrap:wrap;align-items:center;margin-top:20px;margin-bottom:12px}.intro{margin-bottom:16px;font-size:14px}.view-heading{margin:14px 0;font-size:18px}.project-grid{gap:var(--space-3)}.project-card,.project-form,.project-detail,.task-card,.data-panel,.budget-panel,.dashboard-panel,.dashboard-stat{box-shadow:var(--shadow-card);border-radius:var(--radius-card)}.project-card{padding:var(--space-4);border-radius:var(--radius-card)}.project-summary-card{flex-direction:column;align-items:stretch;display:flex}.project-card h3{margin:8px 0 10px;font-size:19px}.project-badges{gap:6px}.badge{padding:4px 7px;font-size:11px}.status-completed{background:var(--success);color:var(--text)}.status-blocked,.status-on-hold{background:var(--high);color:var(--high-ink)}.project-card-line{color:var(--muted);justify-content:space-between;gap:10px;margin:12px 0 7px;font-size:12px;display:flex}.project-card-line strong{color:var(--text)}.project-card-money{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 8px;padding-top:12px;font-size:11px;display:grid}.project-card-money strong{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:4px;font-size:15px;display:block}.project-summary-card .card-rooms{margin-top:8px}.project-summary-card .overdue-label{margin-top:6px;display:block}.project-form,.project-detail{padding:16px}.project-detail h3{margin:12px 0;font-size:24px}.project-form label{margin-top:16px}.project-form input,.project-form select,.project-form textarea{padding:11px}.project-more{margin:10px 0}.project-more>summary,.project-task-filters>summary{cursor:pointer;min-height:44px;color:var(--brand);padding:12px 0;font-size:13px}.project-tasks{margin-top:20px}.project-tasks h3:focus{outline:none}.task-progress{margin:10px 0 14px;padding:12px}.task-progress p{font-size:12px}.task-progress progress{height:6px}.task-scope-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.task-scope-tabs button{overflow-wrap:anywhere;padding:8px 4px;font-size:12px}.project-task-filters{margin:0 0 10px}.project-task-filters .task-filters{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 12px;padding:12px}.task-card{border-radius:14px;padding:14px}.task-open h3{margin:8px 0;font-size:17px}.task-list{gap:10px}.completion-control{margin-top:10px}.complete-button{min-height:44px;padding:8px 12px;font-size:13px}.budget-panel,.data-panel{padding:var(--space-4);margin:var(--space-4) 0}.budget-metric{padding:13px}.budget-page h3{margin-top:18px}.app-header{background:var(--surface)}.brand-icon{box-shadow:var(--shadow-control)}.settings-button,.primary-button,.secondary-button,.solid-button,.complete-button{border-radius:var(--radius-control)}.solid-button{box-shadow:var(--shadow-control)}.bottom-nav{gap:6px;box-shadow:0 -4px 20px #00000005}.bottom-nav button[aria-current]{background:var(--feature)}.project-reference,.task-reference{letter-spacing:1px;color:var(--muted);font-size:10px;font-weight:700}.project-card h3{letter-spacing:-.35px;margin-bottom:9px;font-size:20px;line-height:1.3}.project-card-money{margin-top:12px;padding-top:10px}.project-card-money strong{letter-spacing:-.25px;font-size:17px}.project-card-line strong,.budget-figures dd{font-variant-numeric:tabular-nums}.badge{border-radius:7px;font-weight:600;line-height:1.5}.project-detail>h3{font-family:var(--font-display);font-size:29px;font-weight:500}.project-more{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-form input,.project-form select,.project-form textarea,.task-filters input,.task-filters select,.budget-filters select{border-radius:var(--radius-control);background:var(--input);min-height:44px;font-size:16px}.project-form label{font-size:13px;line-height:1.5}.project-form textarea{line-height:1.6}.project-filters{border-radius:var(--radius-control);background:var(--soft);gap:3px;padding:4px}.project-filters button{border-radius:var(--radius-small)}.project-filters button[aria-pressed=true]{background:var(--surface-raised);color:var(--heading);box-shadow:var(--shadow-control)}.task-progress{background:var(--feature);border-radius:var(--radius-control)}.task-card[data-status=completed]{background:var(--soft);box-shadow:none}.task-card[data-status=completed] .task-open h3{color:var(--muted)}.task-open h3{letter-spacing:-.2px;line-height:1.4}.complete-button{border-color:var(--control-line)}.appearance-dialog{border-radius:var(--radius-card);padding:20px;box-shadow:0 20px 80px #0004}.appearance-dialog h2{font-family:var(--font-display);font-size:27px;font-weight:500;line-height:1.2}.appearance-dialog p{font-size:14px;line-height:1.6}.appearance-dialog::backdrop{background:#101b16a8}.budget-summary.budget-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.budget-primary .budget-metric{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.budget-primary .budget-metric strong{letter-spacing:-.7px;margin:8px 0;font-size:clamp(21px,5.8vw,30px)}.budget-metric.metric-feature{background:var(--feature);border-color:var(--control-line)}.budget-secondary{gap:8px}.budget-secondary .budget-metric{border-radius:var(--radius-control);box-shadow:none;background:0 0;padding:12px}.budget-secondary .budget-metric strong{margin:6px 0;font-size:19px}.budget-usage progress,.task-progress progress{background:var(--track);border:0;border-radius:20px;height:7px;display:block;overflow:hidden}.budget-usage progress::-webkit-progress-bar{background:var(--track)}.task-progress progress::-webkit-progress-bar{background:var(--track)}.budget-usage progress::-webkit-progress-value{background:var(--brand);border-radius:20px}.task-progress progress::-webkit-progress-value{background:var(--brand);border-radius:20px}.budget-usage progress::-moz-progress-bar{background:var(--brand);border-radius:20px}.task-progress progress::-moz-progress-bar{background:var(--brand);border-radius:20px}.budget-usage p{margin:10px 0 16px}.budget-rows li{padding:12px 0}.budget-tabs{max-width:100%}.data-panel h2,.budget-panel>h3:first-child{margin-top:0}.trash-button:hover{background:var(--high);color:var(--high-ink)}@media (width>=800px){.budget-summary.budget-primary{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=650px){main{padding:28px 28px 110px}.app-header{padding:14px 28px}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--nav-height:calc(76px + var(--safe-bottom))}html{min-height:100%;scroll-padding-top:calc(12px + var(--safe-top));scroll-padding-bottom:calc(var(--nav-height) + 20px)}body{background:var(--page);min-height:100svh}.app-header{padding-top:calc(12px + var(--safe-top));padding-left:max(16px, calc(var(--safe-left) + 12px));padding-right:max(16px, calc(var(--safe-right) + 12px))}main{min-width:0;padding-left:max(var(--space-4), calc(var(--safe-left) + 12px));padding-right:max(var(--space-4), calc(var(--safe-right) + 12px));padding-bottom:calc(var(--nav-height) + 28px)}.bottom-nav{box-sizing:border-box;padding-left:max(12px, var(--safe-left));padding-right:max(12px, var(--safe-right));padding-bottom:calc(6px + var(--safe-bottom))}button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary{touch-action:manipulation}button,summary,input:not([type=radio]):not([type=checkbox]),select{min-height:44px}input:not([type=radio]):not([type=checkbox]),select,textarea{min-width:0;max-width:100%;font-size:16px}input,select,textarea,button{scroll-margin-block:20px calc(var(--nav-height) + 24px)}input[type=date]{width:100%;min-width:0}input[type=file]{white-space:normal;overflow-wrap:anywhere}input[type=file]::file-selector-button{min-height:44px}.appearance-dialog,dialog[open]{box-sizing:border-box;max-width:calc(100vw - var(--safe-left) - var(--safe-right) - 24px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px);scroll-padding:16px;overflow-y:auto}:root[data-keyboard-open] .bottom-nav{display:none}@media (width>=650px){.app-header,main{padding-inline:max(28px, calc(var(--safe-left) + 12px)) max(28px, calc(var(--safe-right) + 12px))}}@media (display-mode:standalone){body{min-height:100dvh}}:root[data-viewport-reduced] dialog[open]{top:calc(var(--safe-top) + 12px);max-height:calc(var(--visual-height,100dvh) - var(--safe-top) - var(--safe-bottom) - 24px);margin-top:0;position:fixed;bottom:auto}:root[data-keyboard-open] main{padding-bottom:calc(var(--nav-height) + var(--keyboard-gap,0px) + 28px)}
