:root{font-family:"Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243e35;background:#f6f5ef;font-synthesis:none;--green:#204b3d;--green-light:#edf3e9;--muted:#819087;--line:#e6e9df;--coral:#d86e54;--shadow:0 18px 60px #253d3512}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d6a06d;outline-offset:3px}svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}a{color:inherit}h1,h2,h3,p{margin:0}button{border:0}button.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:transparent;color:#687e71;flex-shrink:0}button.icon-button:hover{background:#edf1e9;color:var(--green)}.skip-link{position:fixed;left:20px;top:-60px;padding:12px;z-index:30;background:var(--green);color:white}.skip-link:focus{top:12px}.initial-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#708177;gap:12px}.loading-dot{display:inline-block;width:10px;height:10px;background:var(--green);border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.25}}
.topbar{height:82px;padding:0 40px;background:#fffef9;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{height:40px;width:40px;border-radius:13px;background:var(--green);display:grid;place-items:center;color:#fff}.brand-mark svg{width:25px;height:25px}.brand-name{font-size:24px;letter-spacing:2px;font-weight:800}.brand-caption{font-size:12px;color:var(--muted);margin-left:13px;padding-left:19px;border-left:1px solid #dbe1d5;letter-spacing:2px}.top-actions{display:flex;align-items:center;gap:17px}.device-tag{font-size:11px;color:#819087}.profile-button{display:flex;align-items:center;gap:10px;background:transparent;color:#354d42;font-size:13px;min-height:44px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e7eddf;color:var(--green);font-size:13px;font-weight:700;flex-shrink:0}.avatar.peach{background:#f5e5d9;color:#976c4c}.avatar.small{width:28px;height:28px;font-size:10px}.shell{max-width:1640px;margin:0 auto;display:grid;grid-template-columns:234px minmax(0,1fr);min-height:calc(100vh - 82px)}.sidebar{border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column;gap:28px}.family-selector{width:100%;display:flex;align-items:center;gap:11px;text-align:left;background:#fffefa;padding:14px 12px;border:1px solid var(--line);border-radius:15px;color:var(--green)}.family-selector .family-icon{background:#e9efdf;border-radius:10px;padding:9px;display:grid;place-items:center}.family-name{font-size:14px;font-weight:700;display:block;overflow:hidden;text-overflow:ellipsis;max-width:111px;white-space:nowrap}.family-sub{font-size:10px;color:#859180;display:block;margin-top:4px}.family-selector>svg{width:14px;margin-left:auto}.nav-label{font-size:10px;letter-spacing:2px;color:#91a08c;padding:0 13px;margin-bottom:12px}.nav-list{display:flex;flex-direction:column;gap:6px}.nav-button{width:100%;display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:11px;color:#728071;background:transparent;text-align:left;font-size:13px;min-height:45px}.nav-button svg{height:18px;width:18px}.nav-button.active{background:#e6ecdf;color:var(--green);font-weight:700}.nav-button .count{margin-left:auto;font-size:11px;color:#a0a995}.nav-button.active .count{color:#67815f}.nav-button:hover{background:#edf0e6}.side-note{margin-top:auto;background:#edeedf;border:1px solid #e4e6d6;border-radius:15px;padding:17px 15px}.side-note .note-icon{font-size:23px;margin-bottom:10px}.side-note p{font-size:11px;line-height:1.9;color:#7c876e}.side-note strong{display:block;font-size:12px;margin-bottom:6px;color:#576b4b}.side-footer{font-size:10px;color:#a0a997;text-align:center;letter-spacing:1px}.workspace{min-width:0;padding:35px 34px 26px}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.eyebrow{font-size:10px;color:#8d9b82;letter-spacing:2px;margin-bottom:9px}.page-intro h1{font-size:29px;font-weight:800;letter-spacing:1px;line-height:1.35}.page-intro .subtitle{font-size:12px;line-height:1.8;color:#8a9587;margin-top:10px}.primary,.secondary,.danger-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:11px 18px;border-radius:10px;font-size:12px;font-weight:600;text-decoration:none}.primary{background:var(--green);color:white;box-shadow:0 4px 10px #204b3d14}.primary:hover{background:#173c2e}.secondary{background:#fffefa;color:#4c6554;border:1px solid var(--line)}.secondary:hover{background:#f4f6ef}.danger-button{background:#fff0e9;color:#af5a46;border:1px solid #f0d8cd}.primary svg,.secondary svg{width:17px;height:17px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:24px;align-items:start}.list-column{min-width:0}.welcome-banner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;border:1px solid #e1e6d4;background:#eef0df;border-radius:17px;padding:24px 26px;min-height:140px;margin-bottom:24px}.welcome-banner h2{font-size:18px;line-height:1.6;color:#415c39;font-weight:600}.welcome-banner p{font-size:11px;color:#8c977b;line-height:1.8;margin-top:8px}.banner-art{width:116px;height:102px;flex-shrink:0;margin-left:10px;position:relative}.banner-art svg{width:100%;height:100%;stroke:none}.banner-small{position:absolute;left:72%;top:15%;font-size:21px;transform:rotate(12deg)}.list-panel{background:#fffef9;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 2px 4px #203e3502}.list-toolbar{padding:21px 22px 17px;border-bottom:1px solid #edf0e6}.list-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.list-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:10px}.list-title .number{font-size:10px;font-weight:500;background:#eff2e7;border-radius:6px;padding:3px 7px;color:#81936f}.sync-state{display:flex;align-items:center;gap:5px;font-size:9px;color:#94a08a;white-space:nowrap}.sync-state.error{color:#c07559}.sync-state svg{width:11px;height:11px}.tabs{display:flex;gap:22px;overflow-x:auto;margin-top:22px;margin-bottom:18px}.tab{font-size:11px;color:#909987;padding:0 1px 10px;background:transparent;white-space:nowrap;border-bottom:2px solid transparent}.tab.active{color:var(--green);border-bottom-color:var(--green);font-weight:700}.tab .tab-num{font-size:9px;margin-left:5px;color:#a7ae9a}.filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search{display:flex;gap:8px;align-items:center;flex:1;min-width:145px;background:#f7f8f1;border:1px solid #edf0e6;border-radius:8px;padding:8px 11px;color:#a0a995}.search svg{width:15px;height:15px}.search input{width:100%;min-width:0;background:transparent;border:0;outline:0;font-size:11px;color:#52644f}.search input::placeholder{color:#a3ad99}.filter-select{max-width:155px;border:1px solid #e8ebdf;background:#fffefa;border-radius:8px;padding:8px 23px 8px 9px;color:#829075;font-size:10px;min-height:34px}.filter-toggle{background:#fffefa;border:1px solid #e8ebdf;border-radius:8px;padding:8px 10px;color:#829075;font-size:10px;min-height:34px;display:flex;gap:5px;align-items:center}.filter-toggle.selected{background:#e9efdf;color:var(--green);border-color:#cfdbbe}.item-list{padding:0 20px}.item-card{padding:19px 1px;display:flex;align-items:flex-start;gap:13px;border-bottom:1px solid #edf0e6}.item-card:last-child{border-bottom:0}.item-check{background:transparent;color:#c6cebc;padding:0;margin-top:6px;height:23px;width:23px;flex-shrink:0;border:1.5px solid #d2d9c6;border-radius:7px;display:grid;place-items:center}.item-check:hover{color:var(--green);border-color:#7b9a6c;background:#eff4e9}.item-check svg{width:16px;height:16px;opacity:0}.item-check:hover svg,.item-check.checked svg{opacity:1}.item-check.checked{background:#e7eddf;color:#78906c;border-color:#d4dfc7}.item-check.cancelled{border-color:#e5ddd1;color:#b5aa98;background:#f7f3ec}.item-check.cancelled svg{opacity:1}.item-image{height:58px;width:58px;border-radius:12px;background:#f4f3e9;display:grid;place-items:center;overflow:hidden;flex-shrink:0;border:1px solid #f0efe4;margin-top:1px}.item-image img{width:100%;height:100%;object-fit:cover}.category-emoji{font-size:25px;filter:saturate(.72)}.item-main{flex:1;min-width:0}.item-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.item-name{background:transparent;text-align:left;font-size:13px;font-weight:600;padding:0;color:#425440;line-height:1.7;overflow-wrap:anywhere}.item-name:hover{color:#142f20;text-decoration:underline;text-underline-offset:3px}.item-card.is-done .item-name{color:#9ca590;text-decoration:line-through}.item-card.is-cancelled .item-name{color:#a49b8b}.urgent-badge{color:#bd7657;background:#fbefe5;font-size:8px;border-radius:4px;padding:3px 5px;white-space:nowrap}.item-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:6px;font-size:9px;color:#9ba58f;line-height:1.6}.pill{font-size:8px;padding:3px 6px;border-radius:5px;color:#89946f;background:#f1f3e7}.pill.now{background:#eef3e5;color:#7d9566}.pill.price{background:#fbf2e5;color:#b29863}.pill.review{background:#f3edf4;color:#9b88a0}.item-note{font-size:10px;color:#a1a78f;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.item-bottom{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}.claim-button{padding:4px 8px;min-height:27px;font-size:9px;color:#81936e;background:#f4f7ed;border:1px dashed #dbe3cc;border-radius:6px;display:flex;align-items:center;gap:5px}.claim-button svg{width:12px;height:12px}.claimer{display:inline-flex;align-items:center;gap:4px;font-size:9px;color:#8c997e}.claimer .avatar{height:18px;width:18px;font-size:8px}.item-price{text-align:right;min-width:65px;padding-top:4px}.item-price .money{font-size:13px;color:#647850;font-weight:600;display:block}.item-price .price-caption{font-size:8px;color:#b1b79f;margin-top:5px;display:block}.item-actions{display:flex;flex-direction:column;align-items:center;margin-top:0;margin-right:-9px}.item-actions .icon-button{width:29px;height:29px;border-radius:7px}.item-actions svg{width:14px;height:14px}.list-footer{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-top:1px solid #edf0e6;font-size:9px;color:#a0aa94;background:#fdfdf7}.text-button{padding:4px 0;background:transparent;color:#7f956c;font-size:10px;display:inline-flex;align-items:center;gap:5px;min-height:28px}.text-button svg{width:13px;height:13px}.empty-list{text-align:center;padding:49px 24px}.empty-art{font-size:39px;padding-bottom:14px}.empty-list h3{font-size:16px;color:#65795a}.empty-list p{font-size:11px;color:#9ca78d;line-height:1.9;margin:11px auto 19px;max-width:310px}.empty-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.side-panel{display:flex;flex-direction:column;gap:20px}.overview-card,.members-card,.activity-card{background:#fffef9;border:1px solid var(--line);border-radius:17px;padding:22px}.card-heading{font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px}.card-heading svg{width:16px;height:16px;color:#9ba88c}.budget-label{font-size:10px;color:#9aa58d;margin-top:23px}.budget-money{font-size:34px;font-weight:700;letter-spacing:-1px;color:#3b5d35;margin-top:6px}.budget-money small{font-size:18px;letter-spacing:0;font-weight:500;margin-right:3px}.budget-foot{display:flex;gap:6px;align-items:center;font-size:9px;color:#a7ae96;margin-top:8px;line-height:1.6}.budget-foot svg{width:11px;height:11px}.overview-divider{border-top:1px solid #eff1e6;margin:21px 0 18px}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-label{font-size:9px;color:#a0aa92;margin-bottom:8px}.mini-number{font-size:17px;font-weight:600;color:#72845e}.mini-number small{font-size:9px;margin-left:2px;font-weight:400}.review-hint{display:flex;align-items:center;gap:8px;padding:12px;margin-top:19px;background:#f8f4e9;border:1px solid #f0ead8;border-radius:8px;font-size:9px;color:#b39a65}.review-hint svg{width:13px;height:13px}.members-strip{display:flex;align-items:center;gap:0;margin-top:18px}.members-strip .avatar{margin-right:-7px;border:3px solid #fffefa;width:34px;height:34px;font-size:10px}.invite-round{width:28px;height:28px;border-radius:50%;background:#f4f6ed;border:1px dashed #d8e1c8;color:#93a47e;margin-left:16px;display:grid;place-items:center}.invite-round svg{width:13px;height:13px}.members-description{font-size:10px;color:#a4ad96;margin-top:11px;line-height:1.7}.members-card .secondary{margin-top:17px;width:100%;font-size:10px;min-height:35px;padding:8px;background:#fafbf5}.activity-list{margin-top:20px;display:flex;flex-direction:column;gap:18px}.activity-entry{display:flex;gap:10px;position:relative}.activity-dot{margin-top:4px;width:7px;height:7px;border-radius:50%;background:#c8d6b6;flex-shrink:0}.activity-entry:after{content:"";position:absolute;left:3px;top:15px;bottom:-14px;width:1px;background:#e9eddf}.activity-entry:last-child:after{display:none}.activity-text{font-size:10px;color:#8b987d;line-height:1.8;overflow-wrap:anywhere}.activity-text strong{font-weight:500;color:#687f59}.activity-time{font-size:8px;color:#b2b9a4;margin-top:3px}.activity-empty{font-size:11px;color:#a1ac93;margin-top:18px;line-height:1.8}.workspace-footer{font-size:9px;color:#b0b8a2;display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:12px;line-height:1.8}.workspace-footer .footer-tag{display:flex;gap:6px;align-items:center}.workspace-footer svg{width:12px;height:12px}.error-banner{border:1px solid #eed6c3;color:#a8714c;background:#fff6eb;padding:12px 15px;border-radius:10px;margin-bottom:18px;font-size:11px;display:flex;gap:10px;align-items:center;line-height:1.8}.error-banner .text-button{margin-left:auto;flex-shrink:0}.mobile-family{display:none}
/* First visit and household setup */
.onboarding{max-width:1160px;margin:0 auto;min-height:calc(100vh - 82px);padding:72px 30px;display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}.onboard-copy .eyebrow{font-size:11px;letter-spacing:3px;color:#8c9b7e}.onboard-copy h1{font-size:46px;line-height:1.5;letter-spacing:2px;font-weight:800;margin-top:19px;color:#254b37}.onboard-copy>p{font-size:14px;color:#93a087;line-height:2.1;margin-top:22px;max-width:420px}.onboard-points{display:flex;gap:23px;margin-top:29px;flex-wrap:wrap}.onboard-point{font-size:11px;display:flex;align-items:center;gap:7px;color:#7e946c}.onboard-point svg{width:15px;height:15px}.onboard-art{margin-top:32px;max-width:370px;position:relative;background:#ecefdd;border:1px solid #e3e9d4;border-radius:18px;padding:24px;transform:rotate(-2deg);box-shadow:0 15px 35px #3d5b2c0a}.onboard-art .sample-line{display:flex;align-items:center;gap:13px;padding:11px 0;border-bottom:1px dashed #d7dfc5;font-size:13px;color:#849671}.onboard-art .sample-line:last-child{border-bottom:0}.sample-check{width:17px;height:17px;border:1.3px solid #b5c49e;border-radius:5px}.sample-owner{margin-left:auto;font-size:9px;color:#9daa87;background:#e3e9d4;border-radius:5px;padding:4px 7px}.onboard-art:after{content:"一起记得，一起完成。";position:absolute;right:-30px;bottom:-21px;background:#f6e3d5;color:#ab8464;padding:12px 17px;border-radius:4px;font-size:10px;transform:rotate(6deg);box-shadow:0 4px 10px #7d55420b}.onboard-card{background:#fffef9;border:1px solid #e2e7d8;padding:32px;border-radius:21px;box-shadow:var(--shadow)}.onboard-card h2{font-size:20px;margin-bottom:11px}.onboard-card>p{font-size:11px;color:#93a087;line-height:1.9;margin-bottom:25px}.onboard-card .primary{width:100%;font-size:12px}.onboard-card .field{margin-bottom:18px}.onboard-caption{font-size:10px!important;line-height:1.9!important;color:#a1ab94!important;margin-top:19px!important;margin-bottom:0!important}.form-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:22px}.form-tabs button{background:none;padding:10px 0 13px;font-size:12px;color:#a1ab94;border-bottom:2px solid transparent}.form-tabs button.active{color:var(--green);border-color:var(--green);font-weight:600}.inline-invite{background:#eef4e4;color:#7b9466;border:1px solid #dce8cc;padding:12px 14px;font-size:11px;line-height:1.8;border-radius:9px;margin-bottom:20px}.setup-error{padding:11px 13px;border-radius:8px;background:#fbede4;color:#b67755;font-size:11px;margin-bottom:15px;line-height:1.8}.onboard-profile{display:flex;align-items:center;gap:10px;font-size:12px;margin-top:30px;color:#8a9a7b}.onboard-profile .text-button{margin-left:auto}
/* Accessible side drawer */
dialog{border:0;padding:0;background:#fffef9;color:#304c3e;box-shadow:-20px 0 90px #17352c20;width:540px;max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;overflow:hidden;animation:slide-in .18s ease-out}dialog::backdrop{background:#203e3555;backdrop-filter:blur(3px)}@keyframes slide-in{from{transform:translateX(25px);opacity:.6}to{transform:none;opacity:1}}.dialog-inner{height:100%;display:flex;flex-direction:column}.dialog-header{padding:25px 29px 21px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.dialog-header h2{font-size:20px}.dialog-eyebrow{font-size:9px;letter-spacing:2px;color:#a0ab91;margin-bottom:7px}.dialog-scroll{padding:25px 29px;overflow:auto;min-height:0;flex:1}.dialog-footer{padding:17px 29px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;background:#fffef9;flex-shrink:0}.dialog-footer .primary{min-width:120px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:19px}.field label,.field-label{font-size:11px;font-weight:600;color:#69805b;display:flex;justify-content:space-between;align-items:center;gap:10px}.field label small{font-size:9px;font-weight:400;color:#a1ac92}.field input,.field select,.field textarea,.input{width:100%;min-width:0;background:#fbfcf6;border:1px solid #e0e7d5;border-radius:9px;padding:11px 12px;min-height:43px;font-size:12px;color:#4b6340}.field input::placeholder,.field textarea::placeholder{color:#b0baa2}.field textarea{min-height:88px;resize:vertical;line-height:1.8}.fields-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-hint{font-size:10px;color:#a0ab90;line-height:1.8}.field .required{color:#ce8965}.field .prefix-input{display:flex;align-items:center;gap:9px;position:relative}.prefix-input>span{position:absolute;left:13px;font-size:12px;color:#9daa8b}.prefix-input input{padding-left:28px}.form-section-title{font-size:12px;padding-top:5px;margin:8px 0 18px;border-top:1px solid var(--line);padding-top:23px;display:flex;gap:8px;align-items:center}.form-section-title svg{width:15px;height:15px;color:#93a47d}.plan-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px;margin-bottom:20px}.plan-option{padding:12px 11px;border:1px solid #e4e9dc;border-radius:10px;cursor:pointer;display:flex;gap:9px;align-items:center;min-height:51px;font-size:10px;color:#899a75}.plan-option:has(input:checked){background:#eef4e6;border-color:#acbd96;color:#436533}.plan-option input{accent-color:var(--green);margin:0}.plan-option svg{width:15px;height:15px}.checkbox-label{display:flex;gap:9px;align-items:center;font-size:11px;color:#80936d;min-height:35px;cursor:pointer}.checkbox-label input{accent-color:var(--green);height:15px;width:15px}.image-upload{display:flex;gap:15px;align-items:center;background:#f7f9f0;border:1px dashed #d8e0cb;border-radius:12px;padding:15px;margin-bottom:21px}.image-preview{height:70px;width:70px;background:#eef2e4;border-radius:10px;display:grid;place-items:center;overflow:hidden;flex-shrink:0;color:#a8b59a}.image-preview img{height:100%;width:100%;object-fit:cover}.image-upload label{cursor:pointer;font-size:11px;display:inline-flex;min-height:33px;align-items:center;gap:6px;color:#698557}.image-upload label svg{width:14px;height:14px}.image-upload p{font-size:9px;color:#a5b097;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.form-error{background:#fff0e7;border:1px solid #f2dac8;border-radius:8px;color:#b87753;padding:11px 13px;font-size:11px;line-height:1.8;margin-bottom:17px}.form-error:empty{display:none}.details-note{background:#f0f4e8;color:#889b76;line-height:1.9;font-size:11px;padding:13px 15px;border-radius:9px;margin-bottom:22px}.setting-section{margin-bottom:27px;padding-bottom:24px;border-bottom:1px solid var(--line)}.setting-section:last-child{border-bottom:0}.setting-section h3{font-size:13px;margin-bottom:15px}.setting-section p{font-size:11px;color:#93a183;line-height:1.9;margin-bottom:12px}.setting-inline{display:flex;gap:9px;align-items:center}.setting-inline input{flex:1;min-width:0}.setting-inline .secondary{flex-shrink:0}.invite-code{background:#edf2e2;border:1px solid #d9e4c7;border-radius:10px;padding:16px;display:flex;align-items:center;justify-content:space-between;margin:15px 0}.invite-code strong{font-size:24px;color:#5c7b42;letter-spacing:4px;font-weight:600;overflow-wrap:anywhere}.invite-code .icon-button{background:#e1ebd3}.invite-expiry{font-size:9px!important;color:#a6af97!important}.settings-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.settings-actions .danger-link{color:#b78668}.member-row{display:flex;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #eff1e7}.member-row:last-child{border-bottom:0}.member-name{font-size:12px;line-height:1.8}.member-role{font-size:9px;color:#a5af98}.member-controls{display:flex;gap:9px;margin-left:auto}.member-controls button{background:transparent;font-size:9px;padding:6px;color:#8da078;min-height:32px}.member-controls button.danger-link{color:#c0896a}.profile-provider{font-size:10px;color:#97a58a;line-height:1.9;margin:12px 0 24px}.confirm-card{padding:20px;border:1px solid #e2e9d6;background:#f5f8ee;border-radius:12px;margin-bottom:22px}.confirm-card strong{font-size:16px;line-height:1.8;overflow-wrap:anywhere}.confirm-card p{font-size:11px;line-height:1.8;color:#94a084;margin-top:6px}.action-warning{font-size:11px;line-height:1.9;color:#aa8b6c;margin-bottom:20px}.purchase-price-note{font-size:10px;color:#99a88c;line-height:1.9;margin-bottom:22px}.full-activity .activity-entry{padding:10px 0}.full-activity .activity-entry:after{top:26px;bottom:-6px}.full-activity .activity-text{font-size:12px}.full-activity .activity-time{font-size:10px}.trash-row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center}.trash-row strong{font-size:12px;overflow-wrap:anywhere}.trash-row p{font-size:9px;color:#a1ad93;margin-top:6px}.trash-row .secondary{margin-left:auto;flex-shrink:0;min-height:32px;padding:7px 11px;font-size:10px}.notification{position:relative;display:flex;align-items:center;gap:11px;background:#254e3e;border:1px solid #345a48;border-radius:12px;padding:14px 17px;box-shadow:0 8px 35px #14322525;color:#f1f5e7;font-size:12px;line-height:1.8;max-width:440px;animation:toast-in .2s ease-out}.notifications{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:calc(100vw - 32px);width:max-content;pointer-events:none}.notification{pointer-events:auto}.notification.error{background:#9c6147;border-color:#b0785a}.notification button{background:transparent;color:#e5eddc;text-decoration:underline;text-underline-offset:3px;font-size:11px;min-height:30px;white-space:nowrap}.notification .dismiss{margin-left:5px;display:grid;place-items:center;min-width:22px;padding:0}.notification .dismiss svg{width:14px;height:14px}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.workspace{padding:40px 45px}.content-grid{grid-template-columns:minmax(0,1fr) 300px;gap:30px}.sidebar{padding:35px 26px}.shell{grid-template-columns:252px minmax(0,1fr)}.item-card{padding:22px 1px}.item-name{font-size:14px}.item-meta{font-size:10px}.item-note{font-size:11px}.welcome-banner{min-height:155px}.page-intro{margin-bottom:31px}}
@media(max-width:1200px){.shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:28px 15px}.workspace{padding:30px 23px}.content-grid{grid-template-columns:minmax(0,1fr) 244px;gap:17px}.overview-card,.members-card,.activity-card{padding:20px}.item-list{padding:0 15px}.item-card{gap:10px}.item-image{width:48px;height:48px}.category-emoji{font-size:23px}.item-price{min-width:55px}.item-name{font-size:12px}.item-meta{font-size:8px}.page-intro h1{font-size:26px}.welcome-banner{padding:21px}.welcome-banner h2{font-size:16px}.banner-art{width:91px}.list-toolbar{padding:20px 17px 16px}.onboarding{gap:60px}.onboard-copy h1{font-size:40px}}
@media(max-width:1000px){.content-grid{grid-template-columns:minmax(0,1fr)}.side-panel{display:grid;grid-template-columns:1fr 1fr;gap:17px}.activity-card{grid-column:1/-1}.activity-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.activity-entry:after{display:none}.overview-card .budget-label{margin-top:17px}.overview-card .budget-money{font-size:30px}.overview-divider{margin:14px 0}.review-hint{margin-top:13px}.item-meta{font-size:9px}.item-name{font-size:13px}.item-price{min-width:70px}.item-image{height:55px;width:55px}.brand-caption{font-size:10px}.onboarding{gap:38px;padding:60px 30px}.onboard-copy h1{font-size:35px}.onboard-card{padding:27px}.onboard-points{gap:15px}}
@media(max-width:760px){.topbar{height:69px;padding:0 20px}.brand-name{font-size:21px}.brand-mark{height:34px;width:34px;border-radius:11px}.brand-mark svg{width:22px;height:22px}.brand{gap:9px}.brand-caption,.device-tag{display:none}.top-actions{gap:8px}.profile-button{font-size:11px}.profile-button .avatar{height:31px;width:31px}.shell{display:block;min-height:calc(100vh - 69px)}.sidebar{display:none}.workspace{padding:23px 18px}.mobile-family{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.mobile-family button{display:flex;align-items:center;gap:7px;background:none;padding:5px 0;font-size:11px;color:#859a72}.mobile-family button svg{height:14px;width:14px}.mobile-family .sync-state{font-size:8px}.page-intro{align-items:flex-end;margin-bottom:23px;gap:9px}.page-intro h1{font-size:25px;letter-spacing:.5px}.page-intro .subtitle{font-size:10px;margin-top:8px;max-width:220px}.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:7px}.page-intro>.primary{padding:10px 12px;min-height:38px;font-size:10px;white-space:nowrap;gap:5px}.page-intro>.primary svg{width:14px;height:14px}.content-grid{gap:18px}.welcome-banner{min-height:124px;padding:19px 20px;margin-bottom:19px;border-radius:14px}.welcome-banner h2{font-size:16px}.welcome-banner p{font-size:9px;margin-top:5px;max-width:210px}.banner-art{height:90px;width:90px;position:absolute;right:13px;opacity:.85}.welcome-banner>div:first-child{max-width:calc(100% - 67px);z-index:1}.list-panel{border-radius:14px}.list-toolbar{padding:20px 16px 14px}.list-title{font-size:14px}.list-top>.sync-state{display:none}.tabs{gap:23px;margin-top:20px;margin-bottom:15px}.tab{font-size:10px}.filter-row{gap:7px}.search{min-width:100%;padding:9px 11px}.search input{font-size:11px}.filter-select{flex:1;max-width:none;padding:8px 16px 8px 8px;font-size:9px}.filter-toggle{font-size:9px;padding:8px}.item-list{padding:0 15px}.item-card{gap:9px;padding:19px 0}.item-check{width:21px;height:21px;margin-top:4px;border-radius:6px}.item-image{width:43px;height:45px;border-radius:9px}.category-emoji{font-size:22px}.item-name{font-size:12px;line-height:1.8}.item-line{gap:5px}.urgent-badge{font-size:7px;padding:2px 4px}.item-price{min-width:45px;padding-top:4px}.item-price .money{font-size:11px}.item-price .price-caption{font-size:7px}.item-actions{margin-left:-5px}.item-actions .icon-button{height:27px;width:25px}.item-actions svg{height:13px;width:13px}.item-meta{font-size:8px;gap:5px;margin-top:4px}.pill{font-size:7px;padding:2px 4px}.item-note{font-size:9px;margin-top:5px}.item-bottom{margin-top:7px}.claim-button,.claimer{font-size:8px}.claim-button{min-height:27px}.list-footer{padding:12px 16px;font-size:8px}.list-footer>.text-button{font-size:9px}.side-panel{gap:13px}.overview-card,.members-card,.activity-card{padding:18px 15px;border-radius:14px}.card-heading{font-size:11px}.budget-label{font-size:8px}.overview-card .budget-money{font-size:26px}.budget-money small{font-size:15px}.budget-foot{font-size:8px}.mini-label{font-size:8px}.mini-number{font-size:15px}.mini-number small{font-size:8px}.mini-stats{gap:7px}.review-hint{font-size:8px;padding:9px;gap:5px;line-height:1.7}.review-hint svg{width:11px;height:11px}.members-strip .avatar{height:32px;width:32px}.members-description{font-size:9px}.members-card .secondary{font-size:9px;margin-top:13px;padding:7px}.members-strip{margin-top:20px}.activity-list{margin-top:17px;grid-template-columns:1fr}.activity-entry{gap:9px}.activity-text{font-size:10px}.activity-entry:after{display:block}.workspace-footer{font-size:8px;align-items:flex-start;margin-top:19px}.workspace-footer .footer-tag{max-width:190px}.onboarding{display:flex;flex-direction:column;gap:32px;padding:37px 23px 47px;align-items:stretch;min-height:auto}.onboard-copy h1{font-size:32px;letter-spacing:1px;line-height:1.5;margin-top:12px}.onboard-copy>p{font-size:12px;margin-top:16px;max-width:none}.onboard-copy>p br{display:none}.onboard-points{gap:17px;margin-top:19px}.onboard-point{font-size:10px}.onboard-art{display:none}.onboard-card{padding:25px;border-radius:17px}.onboard-card h2{font-size:19px}.onboard-card>p{font-size:11px;margin-bottom:22px}.onboard-profile{margin-top:20px}.dialog-header{padding:22px 23px 19px}.dialog-header h2{font-size:19px}.dialog-scroll{padding:23px}.dialog-footer{padding:16px 23px}.notifications{bottom:16px}.notification{padding:12px 15px;font-size:11px}.setting-inline .secondary{padding:10px 13px;font-size:11px}.invite-code strong{font-size:20px}.member-controls{gap:3px}.member-controls button{font-size:9px}.fields-two{gap:12px}.field input,.field select,.field textarea{font-size:12px}.plan-option{font-size:10px;padding:12px 9px;gap:6px}.workspace>.error-banner{font-size:10px}.settings-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
/* Keep everyday copy readable and every action comfortable to tap. */
@media(max-width:760px){body .page-intro>div{flex:1;min-width:0}body .page-intro>.primary{flex:0 0 auto;max-width:none;white-space:nowrap;padding:10px 12px;gap:5px}}
@media(max-width:360px){body .page-intro{flex-wrap:wrap}body .page-intro>div{flex-basis:100%}body .page-intro>.primary{margin-left:auto}}
.brand-caption{font-size:12px}.device-tag,.family-sub,.nav-label,.side-footer,.eyebrow,.sync-state,.tab-num,.number,.price-caption,.workspace-footer,.footer-tag{font-size:11px}.side-note p{font-size:12px}.page-intro .subtitle,.welcome-banner p{font-size:13px}.primary,.secondary,.danger-button{font-size:13px;min-height:44px}.text-button{font-size:12px;min-height:40px}.item-name{font-size:14px}.item-meta,.item-note,.claimer,.claim-button{font-size:11px}.pill,.urgent-badge{font-size:10px}.claim-button{min-height:40px}.item-check{min-width:28px;min-height:28px}.item-actions .icon-button{width:40px;height:40px}.item-actions svg{width:16px;height:16px}.filter-select,.filter-toggle{font-size:11px;min-height:40px}.search{min-height:40px}.search input{font-size:12px}.item-price .price-caption{font-size:10px}.list-footer{font-size:11px}.list-title .number{font-size:11px}.tab{font-size:12px;min-height:40px;padding-bottom:11px}.overview-card .budget-label,.budget-foot,.mini-label,.members-description,.activity-text,.activity-time,.review-hint,.activity-empty{font-size:11px}.members-card .secondary{font-size:12px;min-height:42px}.members-strip .avatar{width:36px;height:36px}.invite-round{width:40px;height:40px}.invite-round svg{width:16px;height:16px}.card-heading{font-size:13px}.card-heading .text-button{font-size:11px}.field label,.field-label{font-size:12px}.field label small,.field-hint,.image-upload p,.profile-provider,.purchase-price-note,.invite-expiry,.member-role{font-size:11px}.image-upload label{font-size:12px;min-height:40px}.dialog-eyebrow{font-size:10px}.plan-option{font-size:12px;min-height:52px}.checkbox-label{font-size:12px;min-height:44px}.form-error,.details-note,.setting-section p,.action-warning,.confirm-card p{font-size:12px}.member-name{font-size:13px}.member-controls button{font-size:11px;min-height:40px}.trash-row strong{font-size:13px}.trash-row p{font-size:11px}.trash-row .secondary{min-height:40px;font-size:12px}.setting-section .invite-expiry{font-size:11px!important}.onboard-card>p,.onboard-caption{font-size:12px!important}.onboard-point{font-size:12px}.onboard-copy>p{font-size:14px}.sample-owner{font-size:11px}.onboard-art:after{font-size:11px}.onboard-profile{font-size:13px}.onboard-card .primary{font-size:13px}.setup-error,.inline-invite{font-size:12px}.form-tabs button{min-height:44px;font-size:13px}.invite-code strong{letter-spacing:2px;font-size:22px}.error-banner{font-size:12px}
@media(max-width:760px){.topbar{height:72px}.profile-button{font-size:12px}.profile-button .avatar{height:34px;width:34px}.mobile-family button{font-size:13px;min-height:40px}.mobile-family .sync-state{font-size:11px}.workspace{padding:20px 15px}.mobile-family{margin-bottom:19px}.eyebrow{font-size:10px;line-height:1.8}.page-intro{align-items:flex-start}.page-intro h1{font-size:25px}.page-intro .subtitle{font-size:12px;line-height:1.9;max-width:235px}.page-intro>.primary{padding:10px 11px;min-height:44px;font-size:12px;align-self:center}.page-intro>.primary svg{width:15px;height:15px}.page-intro>.primary{max-width:112px;white-space:normal}.welcome-banner h2{font-size:16px}.welcome-banner p{font-size:12px;line-height:1.9}.welcome-banner{min-height:143px;padding:20px 17px}.banner-art{right:7px;width:80px;opacity:.68}.welcome-banner>div:first-child{max-width:calc(100% - 53px)}.list-toolbar{padding:18px 13px 14px}.list-title{font-size:15px}.tabs{gap:20px;margin-top:15px;margin-bottom:13px}.tab{font-size:12px}.tab .tab-num{font-size:10px}.search input{font-size:16px}.search{min-height:44px;padding:9px 10px}.filter-select{font-size:12px;min-height:44px;flex:1 1 35%;padding:8px 18px 8px 9px}.filter-toggle{font-size:12px;min-height:44px;flex:1 1 35%;justify-content:center}.filter-toggle svg{width:15px;height:15px}.item-list{padding:0 11px}.item-card{display:grid;grid-template-columns:34px 38px minmax(0,1fr) 59px;column-gap:7px;row-gap:0;padding:21px 0}.item-check{grid-column:1;grid-row:1;width:34px;height:44px;min-width:34px;min-height:44px;border:0;position:relative;margin:0;z-index:0}.item-check:before{content:"";position:absolute;left:5px;top:10px;width:24px;height:24px;border:1.5px solid #cfd9c2;border-radius:6px;z-index:-1}.item-check.checked,.item-check.cancelled{background:transparent}.item-check.checked:before{background:#e5eddc}.item-check.cancelled:before{background:#f2ece3}.item-check svg{height:17px;width:17px}.item-check:hover{background:transparent}.item-image{width:38px;height:43px;border-radius:9px;grid-column:2;grid-row:1}.category-emoji{font-size:22px}.item-main{grid-column:3;grid-row:1 / span 2}.item-name{font-size:14px;line-height:1.8;min-height:30px}.item-meta{font-size:11px;gap:5px;margin-top:6px;line-height:1.9}.pill{font-size:10px;padding:2px 5px}.urgent-badge{font-size:10px;padding:2px 4px}.item-note{font-size:12px;line-height:1.8;margin-top:7px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.item-price{grid-column:4;grid-row:1;min-width:0;padding-top:7px}.item-price .money{font-size:12px}.item-price .price-caption{font-size:10px;line-height:1.6}.item-actions{grid-column:1 / 3;grid-row:2;flex-direction:row;justify-content:center;gap:0;margin:8px 0 0}.item-actions .icon-button{width:39px;height:44px}.item-actions svg{height:16px;width:16px}.item-bottom{gap:6px;margin-top:9px}.claim-button{min-height:40px;font-size:11px;padding:7px 8px}.claimer{font-size:11px;line-height:1.8}.claimer .avatar{width:23px;height:23px;font-size:10px}.item-bottom .text-button{font-size:11px;min-height:40px}.list-footer{font-size:10px;padding:12px 13px;gap:8px;align-items:center}.list-footer>.text-button{font-size:11px;white-space:nowrap;min-height:40px}.side-panel{grid-template-columns:1fr}.activity-card{grid-column:auto}.overview-card,.members-card,.activity-card{padding:22px 20px}.card-heading{font-size:14px}.card-heading .text-button{font-size:12px}.budget-label{font-size:12px}.overview-card .budget-money{font-size:34px}.budget-money small{font-size:19px}.budget-foot{font-size:12px}.mini-label{font-size:12px}.mini-number{font-size:20px}.mini-number small{font-size:12px}.review-hint{font-size:12px;min-height:44px;padding:12px;line-height:1.8}.review-hint svg{height:15px;width:15px}.members-description{font-size:12px}.members-strip .avatar{height:39px;width:39px;font-size:12px}.members-card .secondary{font-size:13px;min-height:44px}.activity-text{font-size:12px}.activity-time{font-size:11px}.activity-list{gap:19px}.workspace-footer{font-size:11px;flex-direction:column;gap:8px}.workspace-footer .footer-tag{max-width:none}.primary,.secondary,.danger-button{font-size:13px;min-height:44px}.text-button{font-size:12px;min-height:44px}.field input,.field select,.field textarea,.input{font-size:16px;min-height:46px}.field label,.field-label{font-size:13px}.field label small{font-size:11px}.plan-options{grid-template-columns:1fr 1fr;gap:8px}.plan-option{font-size:12px;gap:6px;line-height:1.8}.plan-option svg{display:none}.dialog-scroll{padding:22px}.dialog-header{padding:21px 22px}.dialog-footer{padding:16px 22px}.dialog-header .icon-button{min-height:44px;min-width:44px}.dialog-header h2{font-size:19px}.setting-inline{flex-wrap:wrap}.setting-inline input{flex:1 1 65%}.setting-inline .secondary{font-size:12px;padding:10px 13px}.invite-code{padding:14px 12px}.invite-code strong{font-size:17px;letter-spacing:1px}.member-row{gap:9px;flex-wrap:wrap}.member-controls{margin-left:45px;gap:14px;width:100%}.member-controls button{font-size:12px;min-height:44px}.member-name{font-size:14px}.member-role{font-size:11px}.onboard-copy>p{font-size:14px}.onboard-points{gap:16px}.onboard-point{font-size:12px}.onboard-card>p,.onboard-caption{font-size:12px!important;line-height:1.9!important}.onboard-card h2{font-size:20px}.onboard-card .primary{font-size:14px}.form-tabs button{font-size:14px;min-height:48px}.profile-provider,.purchase-price-note,.field-hint{font-size:12px;line-height:1.9}.form-error,.details-note,.setting-section p,.action-warning,.confirm-card p{font-size:13px;line-height:1.9}.image-upload p{font-size:11px}.notification{font-size:12px;line-height:1.8;padding:12px 15px}.notification button{min-height:44px;font-size:12px}.notification .dismiss{min-width:30px}.error-banner,.workspace>.error-banner{font-size:12px;align-items:flex-start;flex-wrap:wrap}.trash-row{flex-wrap:wrap}.trash-row strong{font-size:14px}.trash-row p{font-size:11px}.trash-row .secondary{min-height:44px}.empty-list p{font-size:12px}.empty-list h3{font-size:16px}.empty-actions{gap:10px}}
