.shopping-plan{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:8px 0 25px;border-bottom:1px solid var(--line)}
.shopping-period{display:flex;gap:4px;background:#e9edef;padding:4px;border-radius:6px;margin-top:10px}
.shopping-period button{padding:10px 17px;border-radius:4px;font-size:13px;font-weight:600;min-height:40px;white-space:nowrap}
.shopping-period button.active{background:#fff;color:var(--teal);box-shadow:0 1px 4px #16262b13}
.shopping-progress{display:grid;grid-template-columns:auto auto;gap:3px 14px;align-items:center;min-width:180px}
.shopping-progress strong{font:500 34px var(--display);color:var(--teal);font-variant-numeric:tabular-nums}
.shopping-progress small{font-size:20px;color:var(--muted)}.shopping-progress>span{font-size:12px;color:var(--muted)}
.shopping-progress progress{grid-column:1/-1;height:5px;width:100%;appearance:none;border:0;background:#dfe7e6;border-radius:2px;overflow:hidden}
.shopping-progress progress::-webkit-progress-bar{background:#dfe7e6}.shopping-progress progress::-webkit-progress-value{background:var(--teal)}.shopping-progress progress::-moz-progress-bar{background:var(--teal)}
.shopping-choices{display:flex;flex-wrap:wrap;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.shopping-choices label{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:100%;font-size:12px;font-weight:600}
.shopping-choices select{min-width:260px;max-width:100%;background:#fff;padding:10px 34px 10px 12px;border:1px solid var(--line);border-radius:5px;font:400 13px var(--body);color:var(--ink)}
.shopping-choices small{font-weight:400;color:var(--muted);font-size:11px}
.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:40px;padding:28px 0}
.shopping-category{margin-bottom:30px}.shopping-category>header{display:flex;align-items:center;gap:10px;padding-bottom:13px;border-bottom:2px solid #dee6e4}
.shopping-category>header>svg{width:19px;height:19px;color:var(--teal)}.shopping-category h2{font-size:19px;font-weight:500;line-height:1.3}
.shopping-category header>span{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}
.shopping-row{display:grid;grid-template-columns:20px minmax(0,1fr) 112px;align-items:start;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}
.shopping-row>input{appearance:auto;accent-color:var(--teal);width:18px;height:18px;margin:2px 0;cursor:pointer}
.shopping-food{min-width:0}.shopping-food>strong{display:block;font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.shopping-food>span{display:block;color:var(--muted);font-size:11px;margin-top:4px;line-height:1.5}
.shopping-food>small{display:block;color:#687371;font-size:11px;line-height:1.6;margin-top:7px}
.shopping-food details{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.6}.shopping-food summary{cursor:pointer}.shopping-food details p{margin-top:7px}
.shopping-amount{text-align:right;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.shopping-amount strong{font-size:14px;color:var(--ink);line-height:1.5}.shopping-amount span{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.shopping-row.checked .shopping-food>strong{text-decoration:line-through;color:var(--muted)}.shopping-row.checked .shopping-amount strong{color:var(--teal)}
.shopping-prepared-note{font-size:12px;color:#9d4439;line-height:1.7;padding:12px 0 0}
.shopping-summary{border-left:1px solid var(--line);padding-left:25px;align-self:start;position:sticky;top:90px}
.shopping-summary h2{font-size:22px;margin:9px 0 18px;font-weight:500}.shopping-summary dl{margin:0 0 18px}.shopping-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}
.shopping-summary dt{color:var(--muted)}.shopping-summary dd{margin:0;font-weight:600}.shopping-summary>p,.shopping-caution p{font-size:11px;line-height:1.8;color:var(--muted)}
.shopping-caution{margin-top:23px;padding-top:18px;border-top:1px solid var(--line)}.shopping-caution>svg{width:19px;height:19px;color:var(--coral);margin-bottom:7px}.shopping-caution>strong{display:block;font-size:12px;margin-bottom:7px}
.shopping-summary>.btn{margin-top:20px;width:100%;padding:10px;font-size:11px}
.shopping-pending{padding:20px 0;border-top:2px solid var(--coral)}.shopping-pending h2{display:flex;align-items:center;gap:10px;font-size:19px}.shopping-pending h2 svg{width:19px;color:var(--coral)}.shopping-pending>p{margin:10px 0;font-size:12px;color:var(--muted)}.shopping-pending>div{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.shopping-pending small{color:var(--coral)}
@media(max-width:1150px){.shopping-layout{grid-template-columns:minmax(0,1fr) 210px;gap:23px}.shopping-summary{padding-left:20px}.shopping-row{grid-template-columns:20px minmax(0,1fr) 95px;gap:10px}}
@media(max-width:800px){.shopping-layout{grid-template-columns:minmax(0,1fr)}.shopping-summary{position:static;border-left:0;border-top:1px solid var(--line);padding:24px 0}.shopping-summary>.btn{width:auto}.shopping-summary h2{font-size:22px}}
@media(max-width:450px){.shopping-plan{flex-wrap:wrap;gap:18px}.shopping-plan>div:first-child{width:100%}.shopping-period{width:100%}.shopping-period button{flex:1;font-size:12px;padding:9px 7px}.shopping-progress{width:100%;grid-template-columns:auto 1fr}.shopping-progress strong{font-size:29px}.shopping-progress progress{grid-column:auto;width:100%;grid-column:1/-1}.shopping-choices label{width:100%}.shopping-choices select{width:100%;min-width:0}.shopping-category h2{font-size:18px}.shopping-row{grid-template-columns:18px minmax(0,1fr) 82px;gap:9px}.shopping-amount strong{font-size:12px}.shopping-food>strong{font-size:12px}.shopping-category header>span{font-size:10px}.shopping-layout{padding-top:22px}}
