:root{--paper:#f3f0e9;--surface:#fbfaf7;--ink:#262822;--muted:#777970;--line:#deddd6;--sage:#73806d;--sage-soft:#dfe5db;--clay:#ad765f;--gold:#c29b5d;--danger:#b6534e;--shadow:0 16px 40px rgba(52,54,47,.09);--radius:22px;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px;background:var(--paper);overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-60px;background:var(--ink);color:white;padding:12px;z-index:99}.skip-link:focus{top:12px}.app-shell{max-width:760px;min-height:100dvh;margin:auto;padding:0 18px calc(104px + var(--safe-bottom))}.topbar{height:116px;display:flex;align-items:flex-end;justify-content:space-between;padding:24px 2px 16px}.topbar h1{font-size:30px;letter-spacing:-.04em;line-height:1.05;margin:4px 0 0}.eyebrow,.group-label{margin:0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.avatar-button{width:44px;height:44px;border:0;border-radius:50%;background:var(--ink);color:white;font-size:12px;font-weight:700;box-shadow:var(--shadow)}.view{display:none;animation:fade-in .28s ease}.view.is-active{display:block}.hero-card,.budget-card{color:white;border-radius:28px;padding:24px;background:linear-gradient(145deg,#697565,#495345);box-shadow:0 18px 42px rgba(68,79,65,.2)}.hero-head{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}.hero-head strong{font-size:38px;letter-spacing:-.05em}.progress-track{height:7px;margin:22px 0 13px;background:rgba(255,255,255,.22);border-radius:10px;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:#fff;border-radius:10px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.hero-card p{margin:0;color:rgba(255,255,255,.74);font-size:13px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.stat-card{padding:17px;border:1px solid rgba(38,40,34,.04);border-radius:20px;background:var(--surface)}.stat-card span{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;margin-top:7px;font-size:23px;letter-spacing:-.03em}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:30px 2px 13px}.section-heading.top-section{margin-top:5px}.section-heading h2{margin:3px 0 0;font-size:21px;letter-spacing:-.03em}.text-button{border:0;background:none;color:var(--sage);padding:8px 0;font-size:13px;font-weight:700}.item-list{display:flex;flex-direction:column;gap:8px}.item-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;min-height:72px;padding:11px 13px;background:var(--surface);border:1px solid rgba(38,40,34,.04);border-radius:18px;transition:transform .18s,opacity .2s}.item-row:active{transform:scale(.985)}.check-button{width:28px;height:28px;border:1.5px solid #b7bab1;border-radius:50%;background:transparent;color:transparent}.check-button.is-checked{border-color:var(--sage);background:var(--sage);color:white}.item-main{min-width:0;border:0;background:none;text-align:left;padding:3px}.item-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.item-main small{display:block;color:var(--muted);margin-top:5px;font-size:12px}.item-row.completed{opacity:.55}.item-row.completed .item-main strong{text-decoration:line-through}.price{text-align:right;font-size:13px;font-weight:650}.priority-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;background:var(--gold)}.priority-dot.high{background:var(--clay)}.priority-dot.low{background:#99a495}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.room-card{min-height:90px;padding:17px;text-align:left;border:1px solid rgba(38,40,34,.05);border-radius:20px;background:var(--surface)}.room-card strong,.room-card span{display:block}.room-card span{margin-top:5px;color:var(--muted);font-size:12px}.room-mark{width:25px;height:3px;margin-bottom:15px;border-radius:2px;background:var(--sage)}.toolbar{display:flex;gap:9px;position:sticky;top:0;z-index:5;padding:4px 0 12px;background:linear-gradient(var(--paper) 75%,transparent)}.search-field{height:46px;flex:1;display:flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--muted)}.search-field input{width:100%;border:0;outline:0;background:none;font-size:14px}.filter-button{border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:0 15px;font-size:13px;font-weight:650}.chip-row{display:flex;gap:7px;overflow:auto;padding:2px 0 12px;scrollbar-width:none}.chip{border:1px solid var(--line);border-radius:999px;background:transparent;padding:8px 13px;white-space:nowrap;font-size:12px}.chip.is-active{background:var(--ink);border-color:var(--ink);color:white}.list-meta{display:flex;justify-content:space-between;align-items:center;margin:6px 2px 12px;color:var(--muted);font-size:12px}.list-meta select{border:0;background:none;text-align:right;font-weight:650}.budget-card{padding:25px}.budget-total{font-size:44px;font-weight:750;letter-spacing:-.05em;margin:8px 0 25px}.budget-line{display:flex;justify-content:space-between;padding-top:12px;margin-top:12px;border-top:1px solid rgba(255,255,255,.15);font-size:13px}.breakdown-row{margin-bottom:18px}.breakdown-head{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.breakdown-head span:last-child{color:var(--muted)}.breakdown-track{height:7px;border-radius:5px;background:#e2e1da;overflow:hidden}.breakdown-track span{display:block;height:100%;border-radius:5px;background:var(--sage)}.craftsman-list{display:grid;gap:9px}.craftsman-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:15px;background:var(--surface);border:1px solid rgba(38,40,34,.05);border-radius:20px}.initials{width:46px;height:46px;display:grid;place-items:center;background:var(--sage-soft);color:var(--sage);border-radius:15px;font-weight:750}.craftsman-card strong,.craftsman-card small{display:block}.craftsman-card small{color:var(--muted);margin-top:4px}.card-actions{display:flex;gap:5px}.card-actions a,.card-actions button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--paper);color:var(--sage);text-decoration:none}.settings-group{margin-bottom:28px}.group-label{margin:0 0 9px 12px}.settings-row{width:100%;min-height:70px;display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface);padding:10px 14px}.settings-row:first-of-type{border-radius:20px 20px 0 0}.settings-row:last-of-type{border-bottom:0;border-radius:0 0 20px 20px}.settings-row:only-of-type{border-radius:20px}.settings-row span strong,.settings-row span small{display:block}.settings-row small{color:var(--muted);margin-top:4px}.settings-row b{color:#aaa;font-size:22px}.settings-icon{width:35px;height:35px;display:grid!important;place-items:center;border-radius:11px;background:var(--sage-soft);color:var(--sage)}.settings-row.danger strong{color:var(--danger)}.settings-row.danger .settings-icon{background:#f1dfdc;color:var(--danger)}.privacy-note{text-align:center;color:var(--muted);font-size:11px;line-height:1.6;margin-top:35px}.fab{position:fixed;right:max(22px,calc((100vw - 720px)/2));bottom:calc(82px + var(--safe-bottom));z-index:10;width:54px;height:54px;border:0;border-radius:50%;background:var(--ink);color:white;font-size:30px;font-weight:300;box-shadow:0 12px 30px rgba(38,40,34,.25);transition:transform .18s}.fab:active{transform:scale(.91)}.tabbar{position:fixed;z-index:9;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,760px);height:calc(72px + var(--safe-bottom));display:grid;grid-template-columns:repeat(4,1fr);padding:7px 12px var(--safe-bottom);border-top:1px solid rgba(38,40,34,.08);background:rgba(247,245,240,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.tab{border:0;background:none;color:#92948d;padding:5px}.tab span,.tab small{display:block}.tab span{font-size:21px;line-height:22px}.tab small{font-size:10px;margin-top:3px}.tab.is-active{color:var(--ink)}dialog{border:0}.sheet{width:min(100%,650px);max-height:92dvh;margin:auto auto 0;padding:0;border-radius:28px 28px 0 0;background:var(--surface);box-shadow:0 -20px 60px rgba(38,40,34,.16)}.sheet::backdrop,.confirm-dialog::backdrop{background:rgba(37,39,34,.32);backdrop-filter:blur(3px)}.sheet[open]{animation:sheet-up .28s ease}.sheet form{padding:7px 20px calc(24px + var(--safe-bottom));overflow:auto}.sheet-handle{width:38px;height:5px;margin:3px auto 9px;border-radius:3px;background:#d1d0c9}.sheet-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:19px}.sheet-head h2{font-size:17px;margin:0}.sheet-head button{border:0;background:none;padding:10px 0;text-align:left;color:var(--muted)}.sheet-head .save-button{text-align:right;color:var(--sage);font-weight:750}.field{display:block;margin:0 0 14px}.field span{display:block;margin:0 0 7px 3px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.field input,.field select,.field textarea{width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;background:#f6f4ef;padding:12px;outline:0}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(115,128,109,.12)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.delete-button{width:100%;border:0;background:#f4e5e2;color:var(--danger);border-radius:14px;padding:14px;font-weight:650}.confirm-dialog{width:min(calc(100% - 40px),360px);border-radius:22px;padding:23px;background:var(--surface)}.confirm-dialog h2{font-size:19px;margin:0 0 8px}.confirm-dialog p{color:var(--muted);line-height:1.5;margin:0 0 22px}.confirm-dialog div{display:flex;justify-content:flex-end;gap:8px}.confirm-dialog button{border:0;border-radius:11px;padding:10px 15px}.danger-button{background:var(--danger);color:white}.toast{position:fixed;z-index:100;left:50%;bottom:calc(92px + var(--safe-bottom));transform:translate(-50%,20px);padding:11px 17px;border-radius:999px;background:var(--ink);color:white;font-size:12px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.empty-state{text-align:center;padding:45px 20px;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);margin-bottom:7px}.noscript{padding:20px}.hidden{display:none!important}@keyframes fade-in{from{opacity:0;transform:translateY(4px)}}@keyframes sheet-up{from{transform:translateY(35px);opacity:.5}}
@media(min-width:620px){.app-shell{padding-left:26px;padding-right:26px}.stats-grid{grid-template-columns:repeat(4,1fr)}.room-grid{grid-template-columns:repeat(4,1fr)}.sheet{margin:auto;border-radius:28px;max-height:88dvh}.sheet form{padding:7px 28px 28px}.craftsman-list{grid-template-columns:1fr 1fr}.tabbar{border-radius:24px 24px 0 0}.fab{right:max(30px,calc((100vw - 700px)/2))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Home RenovAItion v1.2 additions */
.item-side{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.link-button{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--sage);font-weight:750;text-decoration:none}
.item-row.is-overdue{border-color:rgba(182,83,78,.2)}
.item-row.is-overdue .item-main small{color:var(--danger)}
.details-block{margin:2px 0 16px;border-top:1px solid var(--line)}
.details-block summary{padding:15px 3px;color:var(--sage);font-size:13px;font-weight:750;cursor:pointer;list-style:none}
.details-block summary::-webkit-details-marker{display:none}
.details-block summary:after{content:'+';float:right;font-size:18px;font-weight:400}
.details-block[open] summary:after{content:'−'}
.toggle-field{display:flex;align-items:center;gap:10px;margin:6px 2px 18px;font-size:14px}
.toggle-field input{width:20px;height:20px;accent-color:var(--sage)}
.room-settings{overflow:hidden;border-radius:20px;background:var(--surface);margin-bottom:9px}
.room-setting-row{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:9px 14px;border:0;border-bottom:1px solid var(--line);background:transparent}
.room-setting-row:last-child{border-bottom:0}
.room-setting-row strong,.room-setting-row small{display:block}
.room-setting-row small{margin-top:3px;color:var(--muted);font-size:11px}
.room-setting-row b{color:#aaa;font-size:21px}
.settings-row.standalone{border-radius:20px}
.ios-install{padding:17px 18px;border-radius:20px;background:var(--surface)}
.ios-install strong,.ios-install span{display:block}
.ios-install span{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.55}
.nav-icon{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Symbol",sans-serif}
@media(max-width:390px){.item-row{grid-template-columns:30px 1fr auto;padding-left:10px;padding-right:10px}.item-main small{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price{font-size:12px}.tab small{font-size:9px}}
