@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_a0610f6d-module__zt62-W__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_a0610f6d-module__zt62-W__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/150f724d70372c02-s.2ym9msm88vm4r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/750c737482d9de2f-s.08jxdyhjmo52g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.23oeb0afa3wba.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_4bcebf04-module__mRJj1G__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_4bcebf04-module__mRJj1G__variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_34a85c05-module__gGo3DG__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_34a85c05-module__gGo3DG__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/ab624315db63c58d-s.1uwhc7jrbo4mx.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/e94b8ab81811a983-s.2my4drvc0bavc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/0c795a286deabae8-s.p.25jyahqycoolj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne Fallback;src:local(Arial);ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.0%;size-adjust:98.47%}.syne_c7d3ceb4-module__23A0Ha__className{font-family:Syne,Syne Fallback;font-style:normal}.syne_c7d3ceb4-module__23A0Ha__variable{--font-syne:"Syne", "Syne Fallback"}
:root{--cream:#fbf8f3;--sand:#f3eee4;--sand-deep:#e4dcc9;--brass:#9d8b5e;--brass-deep:#7a6a45;--terracotta:#b85540;--brown:#241c10;--brown-mid:#6f6349;--brown-light:#8a7f63;--bg:var(--cream);--surface:#fff;--surface-2:var(--sand);--border:var(--sand);--border-strong:var(--sand-deep);--text:var(--brown);--text-muted:var(--brown-mid);--text-faint:var(--brown-light);--accent:var(--brass);--accent-strong:var(--terracotta);--accent-soft:var(--sand);--good:#4a6b3d;--good-soft:#e4efe1;--warn:#84692d;--warn-soft:#f6efdb;--danger:var(--terracotta);--danger-soft:#f5e4e1;--scrim:#241c1073;--overlay-chip:#241c109e;--radius:0;--radius-sm:0;--shadow:none;--font-display:var(--font-fraunces), Georgia, serif;--font-sans:var(--font-dm-sans), system-ui, -apple-system, sans-serif;--font-body:var(--font-newsreader), Georgia, "Times New Roman", serif;--font-wordmark:var(--font-syne), sans-serif;font-size:16px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--cream:#191108;--sand:#2a1e11;--sand-deep:#3a2a18;--brown:#f6ecdc;--brown-mid:#cfb393;--brown-light:#a98c69;--brass:#c9b583;--terracotta:#d97a62;--surface:#221809;--surface-2:var(--sand);--good:#8fae78;--good-soft:#25301e;--warn-soft:#33240f;--danger-soft:#37201a}}:root[data-theme=dark]{--cream:#191108;--sand:#2a1e11;--sand-deep:#3a2a18;--brown:#f6ecdc;--brown-mid:#cfb393;--brown-light:#a98c69;--brass:#c9b583;--terracotta:#d97a62;--surface:#221809;--surface-2:var(--sand);--good:#8fae78;--good-soft:#25301e;--warn-soft:#33240f;--danger-soft:#37201a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:1.0625rem;font-weight:400;line-height:1.75}a{color:var(--accent-strong);text-decoration:none}a:hover{color:var(--accent)}em{color:var(--accent-strong);font-style:italic}#app-shell{max-width:62rem;margin:0 auto;padding:1rem 1rem 6rem;font-size:1rem}header.top{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1.1rem 0 .9rem;display:flex;position:sticky;top:0}header.top h1{letter-spacing:-.01em;white-space:nowrap;flex-shrink:0;margin:0;font-size:1.35rem;font-weight:700}.site-title{font-family:var(--font-wordmark);letter-spacing:-.01em;font-weight:700}nav.tabs{background:var(--surface-2);-webkit-overflow-scrolling:touch;border-radius:999px;gap:.25rem;min-width:0;max-width:100%;padding:.25rem;display:flex;overflow-x:auto}nav.tabs::-webkit-scrollbar{display:none}nav.tabs a,nav.tabs button{color:var(--text-muted);cursor:pointer;white-space:nowrap;font-size:.8125rem;font-weight:500;font-family:var(--font-sans);letter-spacing:.04em;background:0 0;border:none;border-radius:999px;flex-shrink:0;padding:.45rem .85rem;text-decoration:none}nav.tabs a.active{background:var(--surface);color:var(--accent-strong)}.house-tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.house-tabs a{border:1.5px solid var(--border-strong);color:var(--text-muted);font-size:.8125rem;font-weight:500;font-family:var(--font-sans);letter-spacing:.04em;white-space:nowrap;background:0 0;border-radius:0;padding:.35rem .8rem;text-decoration:none}.house-tabs a.active{border-color:var(--accent-strong);color:var(--accent-strong);background:0 0}.badge-count{min-width:1.1rem;font-family:var(--font-sans);background:var(--accent);color:var(--cream);text-align:center;border-radius:999px;margin-left:.3rem;padding:0 .3rem;font-size:.68rem;line-height:1.1rem;display:inline-block}button.primary{background:var(--accent-strong);color:var(--cream);border:1.5px solid var(--accent-strong);letter-spacing:.04em;font-size:.875rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;border-radius:0;padding:.65rem 1.25rem;transition:background .25s,color .25s,border-color .25s}button.primary:hover{background:var(--text);border-color:var(--text)}button.secondary{background:var(--surface-2);color:var(--text);border:1.5px solid var(--surface-2);letter-spacing:.04em;font-size:.8125rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;border-radius:0;padding:.6rem 1.1rem;transition:background .25s,border-color .25s}button.secondary:hover{background:var(--border-strong);border-color:var(--border-strong)}button.ghost{color:var(--text-muted);border:1.5px dashed var(--text-faint);font-size:.8125rem;font-family:var(--font-sans);letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:0;padding:.5rem .9rem;transition:border-color .25s,color .25s}button.ghost:hover{border-color:var(--accent-strong);color:var(--accent-strong)}button.icon-btn{color:var(--text-faint);cursor:pointer;font-size:1rem;font-family:var(--font-sans);background:0 0;border:none;padding:.2rem .4rem}button.icon-btn:hover{color:var(--danger)}button.link-btn{color:var(--accent-strong);font-size:.8125rem;font-weight:500;font-family:var(--font-sans);letter-spacing:.03em;cursor:pointer;background:0 0;border:none;padding:.2rem 0;text-decoration:none}button.link-btn:hover{opacity:.7}input,select,textarea{font-family:var(--font-sans);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:0;width:100%;padding:.7rem .85rem;font-size:.9375rem}input:focus,select:focus,textarea:focus{outline:1.5px solid var(--accent-strong);outline-offset:1px}label.field-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);font-size:.7rem;font-weight:400;font-family:var(--font-sans);margin-bottom:.5rem;display:block}.field{margin-bottom:.7rem}.field-row{flex-wrap:wrap;gap:.6rem;display:flex}.field-row>.field{flex:1;min-width:8rem}.card{background:var(--surface);border:1px solid var(--border);box-shadow:none;border-radius:0}.card-pad{padding:1.25rem}.house-card{margin-bottom:1.1rem}.house-head{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.9rem 1rem;display:flex}.house-title{flex:20rem;align-items:center;gap:.6rem;min-width:0;max-width:20rem;display:flex}.house-title .chev{color:var(--text-faint);flex-shrink:0;transition:transform .15s}.house-title .chev.open{transform:rotate(90deg)}.house-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.375rem;font-weight:400}.house-address{font-family:var(--font-sans);color:var(--text-faint);font-size:.8125rem}.house-stats{font-family:var(--font-sans);color:var(--text-muted);text-align:right;flex:0 auto;min-width:9rem;font-size:.8125rem}.house-body{border-top:1px solid var(--border);padding:0 1rem 1rem}.room-block{margin-top:.8rem}.room-head{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.room-name{font-family:var(--font-sans);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:500}.room-grid{flex-direction:column;gap:.7rem;margin-top:.9rem;display:flex}.room-card{background:var(--surface);border:1px solid var(--border);border-radius:0;position:relative;overflow:hidden}.room-card.open{flex-direction:column;align-self:stretch;display:flex}.room-card.open .room-card-body{flex:1}.room-card:before{content:"";background:var(--accent);width:4px;position:absolute;top:0;bottom:0;left:0}.room-card-head{cursor:pointer;align-items:center;gap:.5rem;padding:.65rem .75rem .65rem .9rem;display:flex}.room-card-head .chev{flex-shrink:0;font-size:.85rem}.room-card-title{flex:1;min-width:0}.room-card-stats{font-family:var(--font-sans);color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.room-card-body{border-top:1px solid var(--border);padding:.65rem .75rem .75rem .9rem}.status-pill{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.6875rem;font-weight:500}.status-not_started{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.status-in_progress{background:var(--warn-soft);color:var(--warn)}.status-done{background:var(--good-soft);color:var(--good)}.status-on_hold{background:var(--danger-soft);color:var(--danger)}.add-row-btns{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.empty-note{color:var(--text-faint);padding:.4rem 0;font-size:.9375rem;font-style:italic}.modal-backdrop{background:var(--scrim);z-index:100;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (min-width:640px){.modal-backdrop{align-items:center}}.modal{background:var(--surface);border:1px solid var(--border-strong);width:100%;max-width:38rem;max-height:92vh;box-shadow:none;border-radius:0;overflow-y:auto}@media (min-width:640px){.modal{max-height:85vh}}.modal-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:2;justify-content:space-between;align-items:center;gap:.6rem;padding:1.25rem 1.5rem;display:flex;position:sticky;top:0}.modal-header .modal-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.25rem;font-weight:400}.modal-body{padding:1.5rem}.modal-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:1.3rem;line-height:1}.section{margin-bottom:1.3rem}.section-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:.6rem;font-size:.7rem;font-weight:500;display:flex}.list-item{background:var(--surface-2);border-radius:0;justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.375rem;padding:.75rem .875rem;display:flex}.list-item.clickable{cursor:pointer;align-items:center}.list-item.clickable:hover{background:var(--sand-deep)}.list-item-main{min-width:0;font-family:var(--font-sans);flex:1;font-size:.9375rem;line-height:1.55}.list-item-title{font-weight:500}.list-item-sub{font-family:var(--font-sans);color:var(--text-muted);margin-top:.25rem;font-size:.8125rem}.list-item-meta{font-family:var(--font-sans);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.8125rem;display:flex}.list-item-trailing{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.list-item-chevron{color:var(--text-faint)}.totals-strip{background:var(--surface-2);border-radius:0;flex-wrap:wrap;gap:2rem;margin-bottom:.6rem;padding:1rem 1.25rem;display:flex}.totals-strip .tot{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:.7rem}.totals-strip .tot b{color:var(--text);font-family:var(--font-display);letter-spacing:-.02em;margin-top:.25rem;font-size:1.25rem;font-weight:400;display:block}.inline-add-form{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.inline-add-form input,.inline-add-form select{flex:1;min-width:6rem}.receipt-thumb{object-fit:cover;border:1px solid var(--border);border-radius:0;width:2.2rem;height:2.2rem}.receipt-card-head{cursor:pointer;align-items:center;gap:.7rem;padding:.8rem .9rem;display:flex}.receipt-card-head .chev{color:var(--text-faint);flex-shrink:0;font-size:.85rem}.receipt-thumb-box{object-fit:cover;border:1px solid var(--border);width:3.4rem;height:3.4rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;background:var(--surface-2);color:var(--text-faint);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;text-decoration:none;display:flex}.receipt-card-stats{font-family:var(--font-sans);color:var(--text-muted);margin-top:.25rem;font-size:.8125rem}.receipt-card-body{border-top:1px solid var(--border);padding:.7rem .9rem .9rem}.move-row{gap:.5rem;display:flex}.move-row select{flex:1}.danger-zone{border-top:1px solid var(--border);margin-top:1.3rem;padding-top:.8rem}.scratchpad-wrap{flex-direction:column;gap:.5rem;display:flex}#scratchpadInput{font-family:var(--font-mono,"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace);resize:vertical;background:var(--surface-2);min-height:6rem;font-size:.85rem;line-height:1.5}.scratchpad-preview{font-family:var(--font-mono,"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace);background:var(--surface-2);border:1px solid var(--border);border-radius:0;max-height:9rem;padding:.5rem .7rem;font-size:.85rem;line-height:1.6;overflow-y:auto}.sp-line{white-space:pre-wrap;word-break:break-word;justify-content:space-between;gap:.6rem;display:flex}.sp-src{color:var(--text);flex:1}.sp-result{color:var(--accent-strong);flex-shrink:0;font-weight:700}.sp-comment{color:var(--text-faint)}.scratchpad-help{font-family:var(--font-sans);color:var(--text-faint);font-size:.75rem}.inbox-item{gap:.7rem;padding:.7rem;display:flex}.inbox-item img.inbox-photo{object-fit:cover;border-radius:0;flex-shrink:0;width:3.2rem;height:3.2rem}.inbox-item-body{flex:1;min-width:0}.inbox-item-text{font-size:.9375rem;line-height:1.6}.inbox-item-time{font-family:var(--font-sans);color:var(--text-faint);margin-top:.25rem;font-size:.8125rem}.inbox-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.file-picker{background:var(--surface-2);margin-top:.6rem;padding:.6rem;display:none}.file-picker.open{display:block}.new-detail-inline{flex-direction:column;gap:.4rem;margin-top:.5rem;display:none}.new-detail-inline.open{display:flex}.horizon-group{margin-bottom:1.1rem}.horizon-group h3{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin:0 0 .75rem;font-size:.7rem;font-weight:400}.horizon-done{border-top:1px solid var(--border);margin-top:1.4rem;padding-top:1rem}.horizon-done summary{cursor:pointer;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);align-items:center;gap:.4rem;padding:.3rem 0;font-size:.7rem;font-weight:400;list-style:none;display:flex}.horizon-done summary::-webkit-details-marker{display:none}.horizon-done summary:before{content:"▸";color:var(--text-faint);font-size:.78rem;transition:transform .15s}.horizon-done[open] summary:before{transform:rotate(90deg)}.horizon-done .horizon-group{margin-top:.9rem}.breadcrumb{font-family:var(--font-sans);color:var(--text-muted);font-size:.8125rem}.fab{z-index:50;background:var(--accent-strong);width:3.25rem;height:3.25rem;color:var(--cream);font-family:var(--font-sans);box-shadow:none;cursor:pointer;border:none;border-radius:0;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:fixed;bottom:1.1rem;right:1.1rem}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}.toast{background:var(--text);color:var(--bg);font-family:var(--font-sans);letter-spacing:.02em;z-index:200;box-shadow:none;border-radius:0;padding:.7rem 1.25rem;font-size:.875rem;position:fixed;bottom:5.2rem;left:50%;transform:translate(-50%)}.sync-banner{background:var(--warn-soft);color:var(--brass-deep);font-family:var(--font-sans);border-radius:0;margin-bottom:.8rem;padding:.5rem .8rem;font-size:.8125rem}::placeholder{color:var(--text-faint)}.detail-page{animation:.18s db-fade}@keyframes db-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.db-backbar{margin-bottom:.7rem}.db-backbar button{color:var(--accent-strong);font-family:var(--font-sans);letter-spacing:.03em;cursor:pointer;background:0 0;border:none;padding:.2rem 0;font-size:.875rem;font-weight:500}.db-hero{border:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;margin-bottom:1.2rem;padding:1.75rem 1.75rem 1.75rem 2rem;position:relative;overflow:hidden}.db-hero:before{content:"";background:var(--status-color,var(--accent));width:3px;position:absolute;top:0;bottom:0;left:0}.db-breadcrumb{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-bottom:.25rem;font-size:.7rem}.db-name-input{font-family:var(--font-display);letter-spacing:-.02em;width:100%;color:var(--text);background:0 0;border:none;padding:.1rem 0;font-size:1.875rem;font-weight:400;line-height:1.15}.db-meta{font-family:var(--font-sans);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.6rem;font-size:.9375rem;display:flex}.db-meta-sep{color:var(--text-faint)}.db-meta select,.db-meta input:not([type=checkbox]){width:auto;font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:.1rem}.db-meta select:hover,.db-meta input:not([type=checkbox]):hover{color:var(--text)}.db-meta select:focus,.db-meta input:focus{outline:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.db-meta-budget{font-family:var(--font-display);color:var(--text)}.db-meta-budget.over{color:var(--danger)}.db-meta-furniture{cursor:pointer;align-items:center;gap:.3rem;margin-left:auto;font-size:.8125rem;display:flex}.panel-grid{grid-template-columns:1fr;gap:1rem;margin-top:1rem;display:grid}@media (min-width:760px){.panel-grid{grid-template-columns:1fr 1fr}.panel-grid .span2{grid-column:1/-1}}.db-columns{flex-direction:column;gap:1rem;display:flex}.db-col-main,.db-col-side{flex-direction:column;gap:1rem;min-width:0;display:flex}@media (min-width:760px){.db-columns{flex-direction:row;align-items:flex-start}.db-col-main{flex:1.8}.db-col-side{flex:1}}.panel-card{background:var(--surface);border:1px solid var(--border);box-shadow:none;border-radius:0;padding:1.75rem}.panel-card summary{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);cursor:pointer;align-items:center;gap:.5rem;margin:0 0 1.25rem;font-size:.7rem;font-weight:500;list-style:none;display:flex}.panel-card summary::-webkit-details-marker{display:none}.panel-card summary:before{content:"▸";color:var(--text-faint);font-size:.72rem;transition:transform .15s}.panel-card[open] summary:before{transform:rotate(90deg)}.panel-card:not([open]) summary{margin-bottom:0}.detail-page .panel-card,.detail-page .db-hero{background:0 0}.detail-page .list-item{border-bottom:1px solid var(--border);background:0 0;border-radius:0;margin-bottom:0}.detail-page .list-item:last-of-type{border-bottom:none}.detail-page .list-item-main,.detail-page .list-item-sub{color:var(--text-muted)}.db-money-row{align-items:center;gap:.75rem;margin-bottom:.7rem;display:flex}.db-money-label{width:5.5rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);flex-shrink:0;font-size:.7rem}.db-money-bar{background:var(--sand);flex:1;height:.4rem;overflow:hidden}.db-money-bar-fill{height:100%;transition:width .35s}.db-money-value,.db-money-value-input{text-align:right;min-width:4.5rem;font-family:var(--font-display);color:var(--text);background:0 0;border:none;padding:0;font-size:1.0625rem;font-weight:400}.db-money-summary{font-family:var(--font-sans);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.6rem;font-size:.8125rem;display:flex}.db-money-summary .link-btn{font-size:.8125rem}.db-seq-row{border-left:2px solid #0000;border-bottom:1px solid var(--border);align-items:flex-start;gap:.65rem;margin-left:-.65rem;padding:.65rem 0 .65rem .65rem;display:flex}.db-seq-row:last-of-type{border-bottom:none}.db-seq-row.current{border-left-color:var(--danger)}.db-seq-num{font-family:var(--font-sans);color:var(--text-faint);flex-shrink:0;width:1.3rem;padding-top:.2rem;font-size:.78rem}.db-seq-main{flex:1;min-width:0}.db-seq-desc{width:100%;font-family:var(--font-sans);color:var(--text-muted);background:0 0;border:none;padding:.05rem 0;font-size:.9375rem;display:block}.db-seq-row.current .db-seq-desc{color:var(--text);font-weight:600}.db-seq-row.done .db-seq-desc{color:var(--text-faint);text-decoration:line-through}.db-seq-note{width:100%;font-family:var(--font-sans);color:var(--text-faint);background:0 0;border:none;padding:.15rem 0 0;font-size:.78rem;display:block}.db-seq-date{text-align:right;width:6.5rem;font-family:var(--font-sans);color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:.2rem 0;font-size:.78rem}.db-seq-row.current .db-seq-date{color:var(--text);font-weight:500}.db-seq-row input:focus{outline:1px solid var(--border-strong);background:var(--surface)}.db-seq-check{width:auto;accent-color:var(--accent-strong);flex-shrink:0;margin-top:.2rem}.db-seq-footer{font-family:var(--font-sans);color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:.7rem;font-size:.8125rem;display:flex}.db-material-status{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:.2rem .6rem;font-size:.6875rem;font-weight:500}.db-material-status.idea{background:var(--sand);color:var(--text-faint)}.db-material-status.decided{background:var(--sand);color:var(--text-muted)}.db-material-status.need_to_source{background:var(--warn-soft);color:var(--warn)}.db-material-status.purchased{background:var(--good-soft);color:var(--good)}.db-mood-hint{font-family:var(--font-sans);color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:1rem;font-size:.8125rem}@media (max-width:600px){.db-hero{padding:1.1rem 1.1rem 1.1rem 1.35rem}.db-name-input{font-size:1.5rem}.db-meta{gap:.5rem .35rem;font-size:.875rem}.db-meta-furniture{margin-left:0}.panel-card{padding:1.1rem}.move-row{flex-direction:column}.db-seq-row{flex-wrap:wrap}.db-seq-date{text-align:left;flex:100%;order:5;width:auto;margin-top:.15rem;padding-left:1.95rem}.progress-cols{gap:.4rem}.progress-col-title{font-size:.65rem}}.ov-stats{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.7rem;margin-bottom:1rem;display:grid}.ov-stat{background:var(--surface);border:1px solid var(--border);text-align:center;box-shadow:none;border-radius:0;padding:1.125rem .875rem}.ov-stat-num{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);white-space:nowrap;font-size:clamp(1.1rem,2.6vw,1.5rem);font-weight:400}.ov-stat-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-top:.5rem;font-size:.7rem;line-height:1.4}.house-name-input{font-family:var(--font-display);letter-spacing:-.01em;width:100%;color:var(--text);background:0 0;border:none;padding:0;font-size:1.375rem;font-weight:400}.house-address-input{font-family:var(--font-sans);color:var(--text-faint);background:0 0;border:none;width:100%;margin-top:.1rem;padding:0;font-size:.8125rem}.room-name-input{font-family:var(--font-sans);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;background:0 0;border:none;width:100%;padding:0;font-size:.75rem;font-weight:500}.board-grid{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.6rem;margin-bottom:.6rem;display:grid}.board-item{position:relative}.board-thumb{aspect-ratio:1;object-fit:cover;border:1px solid var(--border);background:var(--surface-2);border-radius:0;width:100%;display:block}.board-note{width:100%;margin-top:.25rem;padding:.2rem .35rem;font-size:.72rem}.board-del{background:var(--overlay-chip);color:var(--cream);border-radius:50%;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.75rem;display:flex;position:absolute;top:.25rem;right:.25rem}.board-type-badge{background:var(--overlay-chip);color:var(--cream);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:.15rem .45rem;font-size:.625rem;font-weight:500;position:absolute;top:.25rem;left:.25rem}.board-type-badge:hover{background:#241c10d9}.pin-picker-item{cursor:pointer;position:relative}.pin-picker-item .board-thumb{transition:opacity .15s,outline .15s}.pin-picker-check{background:var(--overlay-chip);width:1.3rem;height:1.3rem;color:var(--cream);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;display:flex;position:absolute;top:.25rem;right:.25rem}.pin-picker-item.selected .pin-picker-check{background:var(--accent-strong)}.swatch-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem;display:flex}.swatch-item{background:var(--surface-2);border-radius:0;flex-direction:column;align-items:center;gap:.3rem;width:5.4rem;padding:.5rem;display:flex}.swatch-item .sw-color{border:2px solid var(--surface);cursor:pointer;width:2.3rem;height:2.3rem;box-shadow:0 0 0 1px var(--border);border-radius:0;padding:0}.swatch-item .sw-label{width:100%;font-family:var(--font-sans);text-align:center;padding:.15rem;font-size:.6875rem}.progress-cols{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.progress-col-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);text-align:center;margin-bottom:.5rem;font-size:.7rem;font-weight:500}.progress-photo-item{margin-bottom:.4rem;position:relative}.progress-thumb{aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:0;width:100%;display:block}.progress-photo-item .icon-btn{background:var(--overlay-chip);color:var(--cream);border-radius:50%;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;padding:0;font-size:.65rem;display:flex;position:absolute;top:.15rem;right:.15rem}.progress-file{width:100%;margin-top:.15rem;font-size:.68rem}.lookbook-card{margin-bottom:.9rem;padding:1.25rem}.lookbook-card-head{color:inherit;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.9rem;text-decoration:none;display:flex}.lookbook-card-head:hover .lookbook-name{color:var(--accent-strong)}.lookbook-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.375rem;font-weight:400}.lookbook-room-head{margin-bottom:.9rem}.lookbook-nested-card{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.9rem}.lookbook-cols{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.8rem;display:grid}.lookbook-col-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-bottom:.4rem;font-size:.7rem;font-weight:400}.lookbook-col-photos{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.4rem;display:grid}.lookbook-thumb{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);background:var(--surface-2);border-radius:0;width:100%;display:block}.lookbook-thumb-link{display:block}.lookbook-inspiration{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.8rem}.lookbook-inspiration summary{cursor:pointer;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);align-items:center;gap:.4rem;margin-bottom:.6rem;padding:.2rem 0;font-size:.7rem;font-weight:400;list-style:none;display:flex}.lookbook-inspiration summary::-webkit-details-marker{display:none}.lookbook-inspiration summary:before{content:"▸";color:var(--text-faint);font-size:.74rem;transition:transform .15s}.lookbook-inspiration[open] summary:before{transform:rotate(90deg)}.furniture-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1.1rem;display:grid}.furniture-card{background:var(--surface);border:1px solid var(--border);color:inherit;text-decoration:none;transition:border-color .2s;display:block}.furniture-card:hover{border-color:var(--accent-strong)}.furniture-thumb{aspect-ratio:1;object-fit:cover;background:var(--surface-2);border-bottom:1px solid var(--border);width:100%;color:var(--text-faint);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;justify-content:center;align-items:center;font-size:.7rem;display:flex}.furniture-card-body{padding:.9rem 1rem}.furniture-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.0625rem;font-weight:400}.furniture-meta{font-family:var(--font-sans);color:var(--text-muted);margin-top:.3rem;font-size:.78rem}.furniture-cost{font-family:var(--font-display);color:var(--accent-strong);margin-top:.5rem;font-size:1.0625rem}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{width:100%;max-width:22rem;padding:1.75rem}.login-card h1{margin:0 0 1.25rem;font-size:1.25rem}.login-error{color:var(--danger);margin-top:.5rem;font-size:.85rem}
