:root{--ink:#263d32;--muted:#738074;--green:#2d5745;--green-soft:#e8eee2;--paper:#f7f6f0;--line:#e2e4d9;--white:#fffefa;--sand:#eee8dd;--gold:#b79d70;--danger:#9b483d;--shadow:0 6px 24px #283d2b08;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8ba584}button{cursor:pointer}a{color:inherit}button:disabled{opacity:.45;cursor:default}button{border:0}button,input,select,textarea{border-radius:8px}input,select,textarea{color:var(--ink);background:#fff;border:1px solid var(--line)}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:15px;height:15px;margin:0;cursor:pointer}.sidebar{width:230px;position:fixed;top:0;bottom:0;left:0;border-right:1px solid var(--line);background:#fffefa;display:flex;flex-direction:column;padding:28px 19px;z-index:2}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-size:20px;letter-spacing:-.8px;font-weight:700;margin:0 8px 39px}.brand-icon{width:36px;height:36px;display:grid;place-items:center;background:var(--green);border-radius:10px;color:#fff;font-size:28px;font-weight:400}.brand small{display:block;letter-spacing:1.7px;font-size:8px;font-weight:600;color:var(--muted);margin-top:1px}.nav-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin:0 0 14px}.nav-label{margin-left:12px}#room-nav{display:grid;gap:6px}.room-button{background:transparent;color:#647267;display:flex;align-items:center;gap:12px;padding:12px;border-radius:9px;text-align:left;font-weight:500;width:100%}.room-button.active{background:var(--green-soft);color:var(--green);font-weight:650}.room-button svg{width:20px;height:20px;flex-shrink:0}.room-count{margin-left:auto;font-size:11px;border-radius:20px;min-width:20px;text-align:center;line-height:21px;background:#f0f1e9;color:#798173}.room-button.active .room-count{background:#dbe6d2;color:var(--green)}.sidebar-note{margin-top:34px;border-radius:11px;background:#f3f1e8;padding:17px 15px;font-size:12px}.small-icon{color:#77836c;margin-right:8px}.sidebar-note p{color:var(--muted);font-size:11px;line-height:1.7;margin-bottom:0}.deco-link{margin:25px 10px 20px;display:flex;justify-content:space-between;text-decoration:none;color:#6a756b;font-size:11px}.deco-link:hover{color:var(--green);text-decoration:underline}.sidebar-bottom{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:10px;color:var(--muted);padding:0 9px}.save-dot{background:#8ba882;border-radius:50%;width:5px;height:5px}.text-button{background:transparent;color:#627464;padding:0;line-height:20px;font-size:11px}.sidebar-bottom .text-button{display:block;flex-basis:100%;text-align:left;margin-top:10px;text-decoration:underline}main{margin-left:230px;padding:0 44px 30px;max-width:1790px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:25px 0 21px}.breadcrumbs{color:var(--muted);font-size:12px}.breadcrumbs span{padding:0 12px;color:#a7afa0}.top-actions{display:flex;gap:10px}.button{display:inline-flex;gap:14px;align-items:center;justify-content:center;padding:11px 16px;line-height:1.3;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.primary{background:var(--green);color:#fff}.primary:hover{background:#214532}.secondary{background:#fffefa;border:1px solid var(--line)}.secondary:hover{background:#eeefe6}.recommendation{background:#e2eada;border:1px solid #c6d6ba;color:#2e533c}.danger{border:1px solid #e0c8bf;background:#fff8f4;color:var(--danger)}.compact{padding:9px 13px;font-size:11px}.hero{display:flex;justify-content:space-between;align-items:center;padding:20px 0 26px}.hero .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:10px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:42px;line-height:1.15;letter-spacing:-1.5px;margin:0 0 14px}.hero-copy{color:var(--muted);font-size:13px;margin:0;line-height:1.75}.hero-art{width:285px;margin-right:8px;align-self:flex-end}.hero-art svg{display:block;width:100%}.totals-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.1fr;gap:14px;margin:3px 0 21px}.total-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:17px 19px;box-shadow:var(--shadow);min-width:0}.total-heading{color:#697467;font-size:11px;display:flex;align-items:center;justify-content:space-between;font-weight:550}.total-heading span{font-size:9px;color:#8b9587;font-weight:400}.total-card strong{display:block;font-size:27px;font-weight:650;letter-spacing:-.8px;margin:9px 0 0}.total-card p{font-size:10px;color:#899081;margin:6px 0 0}.main-total{background:#e9efe2;border-color:#d4dfc9}.main-total .total-heading,.main-total p{color:#64715d}.main-total strong{color:#244d36}.budget-field{display:flex;align-items:center;margin:9px 0 1px;border-bottom:1px solid #e2e3d7;font-size:24px;color:#a0a694}.budget-field input{font-size:17px;letter-spacing:-.3px;border:0;padding:2px 7px;background:transparent;width:100%;height:34px;min-width:0}.budget-field input::placeholder{font-size:12px;letter-spacing:0;color:#a0a694}.budget-card.over-budget p{color:var(--danger)}.preset-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:#f0f2e9;border-radius:10px;padding:13px 17px;margin-bottom:28px}.preset-bar>div{display:flex;gap:9px;align-items:center}.preset-bar strong{font-size:12px}.preset-bar>div>span:last-child{font-size:11px;color:var(--muted)}.preset-bar .compact span{font-weight:400;font-size:10px;opacity:.8}.list-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.tabs{display:flex;gap:24px}.tab{background:transparent;color:#858d80;font-size:12px;font-weight:550;padding:0 0 15px;border-radius:0;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--green);border-color:var(--green)}.tab span{font-size:10px;background:#e9ece1;padding:1px 6px;border-radius:12px;margin-left:5px}.search-field{display:flex;align-items:center;gap:7px;background:#fffefa;border:1px solid var(--line);border-radius:8px;padding:5px 10px;margin-bottom:12px;max-width:250px;color:#7f897d}.search-field input{width:100%;font-size:11px;padding:4px;border:0;background:transparent;outline-offset:1px}.list-description{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:11px;color:var(--muted);padding:5px 0 14px}.list-description p{margin:10px 0 0}.filter-toggle{display:flex;gap:7px;align-items:center;white-space:nowrap;font-size:10px}.filter-toggle input{width:13px;height:13px}#items-list{display:grid;gap:12px}.item-card{background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.item-card.excluded{background:#f9f8f2;color:#828a7e}.item-summary{display:grid;grid-template-columns:66px minmax(170px,1fr) 90px 215px 100px;gap:15px;align-items:center;padding:18px 21px;min-height:100px}.item-thumb{width:64px;height:64px;border-radius:10px;background:#eeece2;display:grid;place-items:center;color:#6a775f}.item-thumb svg{width:49px;height:49px}.item-title-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.item-title{font-size:14px;letter-spacing:-.2px;margin:0;font-weight:600}.item-room{font-size:9px;border-radius:5px;padding:2px 6px;background:#f0f2e8;color:#74826a}.product-button{background:transparent;color:#7c8679;font-size:11px;text-align:left;padding:0;margin-top:6px;line-height:1.4;text-decoration:underline;text-decoration-color:#ccd1c2;text-underline-offset:3px}.product-button:hover{color:var(--green)}.item-subnote{font-size:10px;color:#939989;margin:5px 0 0;line-height:1.5}.qty-control{display:flex;flex-direction:column;align-items:flex-start;font-size:9px;color:#828c7a;gap:3px}.qty-control input{width:54px;font-size:12px;padding:6px 7px;background:#fbfbf6;border-color:#e0e5d7}.ownership-controls{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.ownership-controls label{font-size:10px;display:flex;align-items:center;gap:5px;color:#687461}.ownership-controls label.disabled{opacity:.45}.status-pill{font-size:9px;font-weight:550;background:#edf3e8;color:#657a55;padding:3px 7px;border-radius:12px}.item-price{text-align:right;font-size:18px;font-weight:600;letter-spacing:-.6px}.item-price small{display:block;font-size:9px;letter-spacing:0;color:#909884;font-weight:400;margin-top:5px}.include-label{font-size:10px;color:#6c7e5f;display:flex;align-items:center;gap:6px;margin-top:7px}.item-actions{display:flex;justify-content:space-between;align-items:center;padding:0 21px 12px 101px}.item-actions button{background:transparent;padding:0;color:#567044;font-size:10px}.item-actions .delete-item{color:var(--danger)}.option-panel{border-top:1px solid var(--line);background:#f8f9f2;padding:21px}.option-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#74826a;margin-bottom:12px}.option-heading strong{font-weight:550}.option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.product-choice{position:relative;border:1px solid #dfe4d5;background:#fffefa;border-radius:9px;padding:14px;display:flex;flex-direction:column;min-width:0}.product-choice.selected{border-color:#799364;box-shadow:inset 0 0 0 1px #799364;background:#f3f6eb}.choice-head{display:flex;align-items:center;gap:8px;font-size:9px;color:#788272}.choice-head label{cursor:pointer;flex:1;display:flex;gap:7px;align-items:flex-start}.retailer-badge{font-size:8px;text-transform:uppercase;letter-spacing:.8px;background:#eeeee4;padding:2px 5px;border-radius:3px;color:#787b69;max-width:100%;overflow-wrap:anywhere}.recommended-badge{font-size:8px;color:#627849;margin-left:auto}.choice-title{font-size:12px;line-height:1.5;letter-spacing:-.1px;font-weight:550;margin:10px 0 6px;overflow-wrap:anywhere}.choice-price{font-size:18px;font-weight:600;letter-spacing:-.6px;margin:0 0 5px}.choice-dimensions{font-size:9px;color:#88907f;margin:0 0 8px}.choice-notes{font-size:10px;color:#7c8674;line-height:1.6;margin:0 0 12px}.product-link{font-size:10px;color:#45653d;text-underline-offset:3px;margin-top:auto;align-self:flex-start}.product-link:hover{color:#1f482b}.seller-note{font-size:8px;color:#8d9685;margin:5px 0 0}.partial-controls{display:flex;gap:22px;align-items:center;border-top:1px dashed #dce2d1;padding-top:16px;margin-top:19px;flex-wrap:wrap}.partial-controls label{font-size:10px;color:#718066;display:flex;gap:8px;align-items:center}.partial-controls input{width:57px;font-size:11px;padding:5px 7px}.partial-controls>p{font-size:9px;color:#8e9883;margin:0}.recommendation-note{background:#ebefdf;border-radius:7px;padding:10px 12px;font-size:10px;color:#6e7f5c;margin-bottom:13px;line-height:1.6}.owned-card .item-thumb{background:#eef0e6}.owned-card .item-price{font-size:13px;color:#819071}.empty-state{text-align:center;padding:55px;background:#fffefa;border:1px solid var(--line);border-radius:12px}.empty-state>span{font-size:30px;color:#8b987d}.empty-state h2{font-size:18px;font-weight:550;margin:10px 0}.empty-state p{color:var(--muted);font-size:12px}.page-footer{border-top:1px solid var(--line);padding-top:24px;margin-top:34px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;font-size:10px;color:#969d8d}.page-footer strong{color:#7c8770;font-size:11px;font-weight:550}.page-footer p{margin:5px 0 0;max-width:670px}.page-footer>p{text-align:right;flex-shrink:0}.toast{position:fixed;bottom:26px;left:calc(50% + 110px);transform:translateX(-50%);padding:13px 21px;background:#2e503a;color:#fff;box-shadow:0 7px 25px #15291d24;font-size:12px;border-radius:9px;z-index:20;max-width:600px}dialog{border:1px solid #dfe4d7;box-shadow:0 30px 100px #172c1940;border-radius:17px;background:var(--white);color:var(--ink);padding:29px;width:580px;max-height:90vh;overflow-y:auto}dialog::backdrop{background:#1c2c2255;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.dialog-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:27px;letter-spacing:-.8px;font-weight:400;margin:0}.dialog-heading .eyebrow{font-size:9px;margin-bottom:8px}.icon-button{background:transparent;color:#819078;padding:5px;font-size:16px}.dialog-intro{color:#7c8673;font-size:12px;line-height:1.8;margin:14px 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#748267}.form-grid input,.form-grid select{padding:11px 12px;width:100%;font-size:12px}.wide{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.error-message{color:var(--danger);font-size:11px;margin:13px 0 0}.error-message:empty{display:none}.tool-row{padding:17px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px}.tool-row strong{font-size:12px;font-weight:550}.tool-row p{font-size:10px;color:var(--muted);margin:4px 0 0;max-width:270px}.file-button{cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.file-button:focus-within{outline:3px solid #8ba584;outline-offset:3px}.reset-row{margin-top:15px}.reset-row strong{color:var(--danger)}#export-dialog{width:700px}#export-text{width:100%;height:330px;resize:vertical;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.65;background:#f5f5ed}#confirm-dialog{width:450px}.size-update{font-size:10px;background:#f5eddb;color:#90763f;padding:8px 12px;border-radius:6px;margin-top:12px}.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}[hidden]{display:none!important}@media(max-width:1300px){main{padding-left:28px;padding-right:28px}.sidebar{width:210px}main{margin-left:210px}.preset-bar>div>span:last-child{display:none}.item-summary{grid-template-columns:56px minmax(160px,1fr) 60px 180px 90px;gap:12px;padding:16px}.item-thumb{width:56px;height:56px}.ownership-controls{gap:8px}.item-actions{padding-left:84px}.hero-art{width:235px}.hero h1{font-size:37px}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs{gap:18px}.total-card{padding:15px}.total-card strong{font-size:24px}}@media(max-width:1050px){.sidebar{width:185px;padding:24px 12px}.brand{font-size:18px;gap:8px;margin-left:0}.brand-icon{width:31px;height:31px}.brand small{font-size:7px}.room-button{font-size:12px;padding:10px}main{margin-left:185px;padding-left:23px;padding-right:23px}.item-summary{grid-template-columns:51px minmax(150px,1fr) 54px 90px}.ownership-controls{grid-column:2/4;grid-row:2;margin-top:-6px}.item-price{grid-column:4;grid-row:1}.item-actions{padding-left:79px}.total-heading{font-size:10px}.total-card p{font-size:9px}.hero-art{width:180px}.hero h1{font-size:34px}.list-toolbar{flex-wrap:wrap}.search-field{max-width:230px}.preset-bar{padding:12px}.compact{font-size:10px;padding:9px}.tabs{gap:15px}.tab{font-size:11px}.topbar{padding-top:20px}.page-footer>p{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.sidebar,.top-actions,.hero-art,.preset-bar,.search-field,.filter-toggle,.item-actions,.option-panel,.page-footer,dialog,.toast{display:none!important}main{margin:0;padding:0}.item-card{break-inside:avoid}.item-summary{grid-template-columns:50px 1fr 60px 180px 90px}.tabs{display:none}.totals-grid{grid-template-columns:repeat(3,1fr)}.budget-card{display:none}.item-card.excluded{display:none}}

/* Keep every navigation and backup control reachable on shorter desktop windows. */
.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.sidebar>*{flex-shrink:0}.sidebar-bottom{padding-top:18px;min-height:58px}.sidebar-note{margin-top:26px}@media(max-height:800px){.sidebar{padding-top:20px;padding-bottom:20px}.brand{margin-bottom:27px}.sidebar-note{margin-top:20px;padding:13px 12px}.deco-link{margin-top:18px;margin-bottom:10px}.sidebar-bottom{padding-top:14px}.room-button{padding-top:9px;padding-bottom:9px}}
