:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#293e34;background:#f4f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #9ebd9b;outline-offset:3px}[hidden]{display:none!important}h1,h2,p{margin:0}main{max-width:680px;margin:auto;padding:0 22px 32px}header{padding:30px 0 19px}.heading{display:flex;justify-content:space-between;align-items:center;gap:12px}h1{font-size:25px;font-weight:620;letter-spacing:.2px}.refresh{display:grid;place-items:center;width:42px;height:42px;background:#fff;border:1px solid #e0e7dc;border-radius:12px;color:#53774d}.refresh svg,.search-box svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.date-label{display:inline-flex;max-width:100%;margin-top:11px}select{font-size:13px;color:#75856c;border:0;background:transparent;padding:7px 24px 7px 0;min-height:36px;max-width:100%}.controls{position:sticky;top:0;z-index:2;background:#f4f6f2;padding:10px 0 0}.search-box{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e1e7dc;border-radius:10px;padding:0 13px;height:47px;color:#91a086}.search-box svg{flex-shrink:0;width:18px;height:18px}.search-box input{width:100%;min-width:0;height:100%;border:0;background:transparent;color:#3c5732;font-size:16px;outline:none}.search-box:focus-within{border-color:#9cb592;box-shadow:0 0 0 2px #bcd1af30}.search-box input::placeholder{color:#9aa590;font-size:14px}.posts{display:flex;gap:7px;overflow-x:auto;padding:16px 0 14px;scrollbar-width:none}.posts::-webkit-scrollbar{display:none}.posts button{flex-shrink:0;background:transparent;border:1px solid #dfe6d8;border-radius:7px;color:#7f8c73;font-size:13px;min-height:38px;padding:6px 15px}.posts button.selected{background:#2c5a43;border-color:#2c5a43;color:white}.totals{display:flex;align-items:center;border-top:1px solid #e4e9df;padding:13px 0 17px;gap:23px}.totals button{display:inline-flex;align-items:baseline;gap:5px;padding:4px 0;border:0;background:transparent;font-size:12px;color:#8c9880;min-height:32px;border-bottom:2px solid transparent}.totals strong{font-size:19px;font-weight:600;color:#6e8561;font-variant-numeric:tabular-nums}.totals button.selected{border-bottom-color:#647e54;color:#3d5b30}.totals button.selected strong{color:#36582a}.totals .warning,.totals .warning strong{color:#a77c3d}.result-count{font-size:12px;color:#8c9881;margin:0 0 16px}.group{margin-bottom:21px;border:1px solid #e4eadd;border-radius:11px;overflow:hidden;background:#fff}.group-heading{display:flex;justify-content:space-between;align-items:center;background:#edf2e8;padding:13px 17px}.group-heading h2{font-size:14px;font-weight:600;color:#5d784d;letter-spacing:1px}.group-heading>span{font-size:11px;color:#8e9e7f}ul{padding:0 17px;margin:0;list-style:none}li{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:60px;padding:15px 0;border-bottom:1px solid #eff2ea}li:last-child{border:0}.item-name{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.item-name small{display:block;font-size:10px;color:#95a18b}.item-name small.review{color:#ae803d}.quantity{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;flex-shrink:0;font-variant-numeric:tabular-nums}.quantity strong{font-size:16px;font-weight:550;color:#436438}.unit{font-size:12px;color:#92a082}.missing{color:#ad824b;background:#faf3e7;font-size:11px;padding:5px 8px;border-radius:5px}.empty{text-align:center;padding:44px 10px;color:#9aa58e;font-size:14px}.error{background:#f9eee7;color:#a96842;border:1px solid #eed9c9;border-radius:9px;padding:15px;font-size:13px;line-height:1.7;margin:10px 0}.error a{color:#6c824f}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:430px){main{padding:0 16px 24px}header{padding-top:22px}h1{font-size:23px}.posts{gap:6px}.posts button{padding:6px 12px}.totals{gap:21px}.group-heading{padding:12px 15px}ul{padding:0 15px}.item-name{font-size:14px}.quantity strong{font-size:15px}.quantity{gap:5px}li{gap:10px}}@media(max-width:350px){main{padding-left:12px;padding-right:12px}.quantity strong{font-size:14px}.item-name{font-size:13px}.totals{gap:17px}}
.header-actions{display:flex;align-items:center;gap:8px}.manage-button{height:42px;padding:0 12px;border:1px solid #dfe6d7;border-radius:10px;background:#fff;color:#526e45;font-size:12px;white-space:nowrap}.visibility-overlay{position:fixed;inset:0;background:#20352655;z-index:5;backdrop-filter:blur(2px)}.visibility-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(500px,calc(100vw - 32px));height:min(720px,85dvh);display:flex;flex-direction:column;background:#f7f9f4;border:1px solid #e2e9d9;border-radius:15px;z-index:6;overflow:hidden;box-shadow:0 20px 70px #1b352b20}.visibility-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 17px;background:#fff}.visibility-heading h2{font-size:19px;font-weight:600}.close-button{width:34px;height:34px;border:1px solid #e2e7dc;border-radius:50%;background:#fff;color:#718664;font-size:23px;line-height:1}.visibility-toolbar{padding:14px 20px 12px;border-bottom:1px solid #e3e9db}.visibility-toolbar input{width:100%;height:42px;border:1px solid #dee5d6;border-radius:8px;padding:0 12px;background:#fff;font-size:16px;color:#3d5632}.visibility-toolbar input::placeholder{font-size:13px;color:#98a28e}.visibility-toolbar>span{display:block;margin-top:12px;font-size:12px;color:#849475}.visibility-list{flex:1;min-height:0;overflow-y:auto;padding:0 20px;overscroll-behavior:contain}.visibility-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;min-height:72px;border-bottom:1px solid #e8eddf}.visibility-row:last-child{border:0}.visibility-name{font-size:14px;overflow-wrap:anywhere}.visibility-name small{display:block;font-size:11px;margin-top:5px;color:#8f9d80}.switch-control{display:flex;align-items:center;gap:9px;flex-shrink:0}.switch-control>span{font-size:11px;color:#8a987e}.visibility-switch{width:46px;height:28px;padding:3px;border:0;border-radius:16px;background:#d8dfd1;transition:background .15s}.visibility-switch>span{display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #20321b22;transition:transform .15s}.visibility-switch[aria-checked=true]{background:#3f7252}.visibility-switch[aria-checked=true]>span{transform:translateX(18px)}.visibility-dialog .error{margin:12px 20px 0;flex-shrink:0}.modal-open{overflow:hidden}@media(max-width:430px){.visibility-dialog{inset:0;transform:none;width:100%;height:100dvh;border:0;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}.visibility-heading{padding-top:max(20px,env(safe-area-inset-top))}h1{font-size:21px}.heading{gap:6px}.manage-button{padding:0 9px;font-size:11px}.header-actions{gap:6px}.refresh{width:36px;height:40px}}@media(prefers-reduced-motion:reduce){.visibility-switch,.visibility-switch>span{transition:none}}

.visibility-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;min-height:36px}.visibility-summary>span{font-size:12px;color:#849475}.show-all{padding:8px 12px;border:1px solid #cadbc1;background:#edf4e7;color:#436936;font-size:12px;border-radius:7px;white-space:nowrap}.show-all:disabled{opacity:.45;cursor:default}

.view-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e4e9df}.view-summary .totals{border-top:0;flex-wrap:wrap;gap:18px}.show-all[aria-pressed=true]{background:#2c5a43;border-color:#2c5a43;color:#fff}@media(max-width:350px){.view-summary{gap:8px}.view-summary .totals{gap:10px}.view-summary .totals strong{font-size:17px}.view-summary .show-all{padding:8px;font-size:11px}}
.account-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px;font-size:12px;color:#788c6e}.account-bar>div{display:flex;gap:15px}.account-bar button{border:0;background:transparent;color:#526e45;padding:6px 0;min-height:32px}.login-panel{width:min(420px,100%);margin:10vh auto;padding:24px}.login-panel h1{margin-bottom:35px}.login-panel h2{font-size:18px;margin-bottom:22px}form label{display:block;font-size:14px;margin:18px 0}form label input{display:block;width:100%;min-width:0;margin-top:9px;padding:12px;border:1px solid #d8e1d0;border-radius:8px;font-size:16px;background:white;color:#293e34}.primary{background:#2c5a43;border:1px solid #2c5a43;border-radius:8px;color:#fff;padding:11px 18px;font-size:14px;min-height:42px}.login-panel .primary{width:100%;margin-top:10px}dialog{width:min(500px,calc(100vw - 32px));max-height:90dvh;border:1px solid #dce5d5;border-radius:14px;background:#f7f9f4;color:#293e34;padding:22px}dialog::backdrop{background:#20352677}dialog h2{font-size:20px}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.dialog-actions .cancel,.account-tools button{background:white;border:1px solid #d8e1d0;border-radius:8px;color:#526e45;padding:10px 14px;font-size:13px}.account{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;border-bottom:1px solid #e2e9dc}.account .name{overflow-wrap:anywhere}.account-tools{display:flex;gap:8px;flex-shrink:0}.muted{color:#87967a;font-size:12px}.account-edit-dialog p{line-height:1.8;overflow-wrap:anywhere}
