/* Scoped to the shopping list; other screens keep their existing design. */
.app-theme{--green:#ed6900;--bs-primary:#ed6900;background:#f3f5f8;color:#18212d}
.app-theme .btn-primary{--bs-btn-bg:#ec6800;--bs-btn-border-color:#ec6800;--bs-btn-hover-bg:#ce5800;--bs-btn-hover-border-color:#ce5800;--bs-btn-active-bg:#b84e00;background:#ec6800;border-color:#ec6800;color:#fff}
.app-theme .btn-link{color:#a84700}.app-theme .form-check-input:checked{background-color:#ec6800;border-color:#ec6800}
.shopping-page .main-content>.page-heading{display:none}.app-theme .main-content{max-width:none;padding:20px 24px}
.app-theme h2{font-size:17px;font-weight:750;letter-spacing:-.3px}.app-theme .form-control{font-size:14px}
.shopping-add-search{display:flex;gap:10px;margin-bottom:14px}.shopping-add-search input{min-width:0}.shopping-add-search button{white-space:nowrap}
.shopping-hero{border-radius:14px;background:radial-gradient(ellipse at 95% 100%,#4c3020,transparent 55%),linear-gradient(110deg,#14232b,#0b1218);padding:25px 30px;color:#fff;margin-bottom:16px}
.shopping-hero h1{font-size:30px;margin:5px 0;font-weight:800;overflow-wrap:anywhere}.shopping-hero h2{font-size:24px;margin:6px 0 12px}.shopping-hero h2 span{color:#ff8a32}.shopping-hero p{font-size:13px;color:#d3dbe0;margin:0}
.shopping-tabs{display:flex;gap:8px;margin-bottom:16px}.shopping-tabs button,.shopping-categories button{border:1px solid #e0e4e9;background:#fff;color:#374151;border-radius:8px;padding:10px 16px;font-size:14px}
.shopping-tabs [aria-pressed=true]{background:#ec6800;border-color:#ec6800;color:white}.shopping-workspace{display:grid;grid-template-columns:150px minmax(0,1fr) 240px;gap:16px;align-items:start}
.shopping-panel{background:#fff;border:1px solid #e1e5ec;border-radius:12px;box-shadow:0 3px 12px #12243805;min-width:0}
.shopping-categories,.shopping-aside .shopping-panel{padding:18px}.shopping-categories button{display:flex;text-align:left;justify-content:space-between;gap:8px;width:100%;padding:9px 8px;margin:5px 0;font-size:12px}
.shopping-categories [aria-pressed=true]{background:#fff1e6;color:#a34400;border-color:#ffca9f}.shopping-categories p{margin-top:15px}.shopping-muted{color:#687383;font-size:12px;line-height:1.5}
.shopping-list-heading{padding:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #e5e9ed}.shopping-list-heading h2{margin:0;white-space:nowrap}.shopping-list-heading h2 span{font-size:12px;color:#6d7785}.shopping-list-heading label{max-width:190px}
.app-theme .shopping-desktop-list table{width:100%;table-layout:fixed;font-size:12px}.app-theme .shopping-desktop-list th{font-size:10px;padding:12px 5px;color:#697586;background:#f9fafb;font-weight:600;white-space:normal}
.app-theme .shopping-desktop-list td{padding:15px 5px;vertical-align:top;overflow-wrap:anywhere;border-color:#eef0f3}
.shopping-desktop-list th:nth-child(1){width:30px}.shopping-desktop-list th:nth-child(2){width:48px}.shopping-desktop-list th:nth-child(3){width:24%}.shopping-desktop-list th:nth-child(4){width:85px}.shopping-desktop-list th:last-child{width:72px}
.shopping-item small{display:block;font-size:10px;line-height:1.5;color:#687383;margin-top:3px}.shopping-product>strong{display:block;font-size:13px;line-height:1.4}.shopping-placeholder{width:40px;height:48px;display:grid;place-items:center;background:#f2f4f7;border-radius:8px;color:#94a0ae;font-size:25px}
.shopping-price>strong{color:#b94e00;display:block}.shopping-line-total{font-weight:600}.shopping-saving{color:#16804b;font-weight:650}.shopping-saving small{color:#16804b}
.shopping-stepper{display:flex;align-items:center;justify-content:space-between;border:1px solid #e0e4e9;border-radius:7px;width:77px;overflow:hidden}.shopping-stepper button{border:0;background:#f7f8fa;width:23px;height:30px;color:#223041;padding:0}.shopping-stepper span{font-variant-numeric:tabular-nums;font-size:11px;max-width:31px;overflow-wrap:anywhere}
.app-theme button:disabled{opacity:.45;cursor:not-allowed}.shopping-actions{line-height:2.4}.shopping-actions .btn{padding:2px 5px;font-size:15px;min-width:27px}.shopping-store{background:#f1f3f6;border:1px solid #e5e8ec;border-radius:5px;display:inline-block;padding:3px 5px;font-size:10px;font-weight:650}
.shopping-price-details{font-size:11px;margin-top:8px;color:#586679}.shopping-price-details summary{cursor:pointer;color:#934108}.shopping-price-details div{padding:3px 0}.shopping-item-note{white-space:pre-wrap}.shopping-item.purchased .shopping-product>strong{text-decoration:line-through;color:#76818d}
.shopping-aside{display:grid;gap:16px}.shopping-summary dl{margin:18px 0}.shopping-summary dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:12px 0;font-size:13px}.shopping-summary dt{font-weight:400}.shopping-summary dd{margin:0;font-weight:750;white-space:nowrap}
.shopping-summary .shopping-total{border-top:1px solid #e4e8ef;padding-top:15px;display:block}.shopping-total dd{font-size:29px;color:#172330}.shopping-summary p{font-size:12px}.shopping-quick{display:grid;gap:8px}.shopping-note{font-size:12px;padding:10px 0;border-bottom:1px solid #eee;overflow-wrap:anywhere}.shopping-note p{white-space:pre-wrap;margin:4px 0}
.shopping-empty{padding:36px 20px;text-align:center;color:#6b7583}.shopping-group-heading{background:#fff3e9;color:#8d3c00;font-weight:750}.app-theme .shopping-group-heading th{padding:12px 16px;font-size:13px}
.shopping-item[hidden],.shopping-empty[hidden]{display:none!important}.shopping-mobile-list,.shopping-bottom-nav,.shopping-fab{display:none}
@media(min-width:1100px){
.app-theme{padding-left:220px}.app-theme .app-header{position:fixed;inset:0 auto auto 0;width:220px;height:162px;background:#101c23;border:0;color:#fff;z-index:20}
.app-theme .header-inner{padding:25px 18px;display:block;max-width:none}.app-theme .brand{color:#fff;font-size:20px;gap:7px}.app-theme .brand small{font-size:9px;color:#b5c0c8}.app-theme .brand-mark{background:#ec6800;color:white;width:26px;height:30px}
.app-theme .header-tools{margin-top:24px;display:flex;justify-content:space-between}.app-theme .user-chip{color:#dce3e8;background:#213039;font-size:11px;max-width:150px;overflow-wrap:anywhere}.app-theme .avatar{background:#c75b0c;color:#fff}
.app-theme .main-nav{position:fixed;left:0;top:162px;bottom:0;width:220px;background:#101c23;border:0;padding:10px;z-index:19}
.app-theme .nav-inner{display:flex;flex-direction:column;padding:0;gap:7px;max-width:none}.app-theme .nav-inner>a{display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%;color:#d8e0e6;background:transparent;border-radius:8px;font-size:13px;padding:12px;white-space:normal}
.app-theme .nav-inner>a>span{font-size:20px;min-width:22px}.app-theme .nav-inner>a.active{background:#ec6800;color:#fff}.app-theme .nav-inner>a:hover{background:#293a44}.app-theme .nav-inner>a.active:hover{background:#ce5800}
}
@media(min-width:1100px) and (max-width:1799px){.shopping-workspace{grid-template-columns:minmax(0,1fr) 225px}.shopping-categories{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:10px 16px}.shopping-categories h2{margin:0}.shopping-categories button{width:auto;margin:0}.shopping-categories p{margin:0 0 0 auto}}
@media(min-width:1100px) and (max-width:1499px){.shopping-workspace{grid-template-columns:minmax(0,1fr)}.shopping-aside{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1099px){
.app-theme .main-nav{display:none}.app-theme .main-content{padding:14px 16px 105px}.app-theme .app-header{background:#101c23;color:white}.app-theme .brand{color:white;font-size:18px}.app-theme .brand small{display:none}.app-theme .brand-mark{background:#ec6800;color:white}.app-theme .header-inner{padding:12px 16px}.app-theme .user-chip{display:none}
.shopping-workspace{display:flex;flex-direction:column;gap:14px}.shopping-content,.shopping-aside,.shopping-categories{width:100%}.shopping-categories{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px}.shopping-categories h2{font-size:12px;margin:0}.shopping-categories button{font-size:11px;width:auto;padding:6px;margin:0}.shopping-categories p{display:none}
.shopping-desktop-list{display:none}.shopping-mobile-list{display:block}.shopping-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:8px 12px;padding:16px;border-bottom:1px solid #e8ecf0}
.shopping-picture{grid-column:1;grid-row:1}.shopping-product{grid-column:2;grid-row:1}.shopping-check{grid-column:3;grid-row:1}.shopping-product>strong{font-size:15px}.shopping-item small{font-size:11px}.shopping-placeholder{width:50px;height:58px}.shopping-normal{display:none}
.shopping-quantity{grid-column:1/3;grid-row:2;display:flex;align-items:center;gap:8px}.shopping-price{grid-column:2/4;grid-row:3;text-align:right}.shopping-price>strong{font-size:18px}
.shopping-saving{grid-column:1;grid-row:3;font-size:13px;align-self:center}.shopping-market{grid-column:1/3;grid-row:4;align-self:center}.shopping-market small{display:inline;margin-left:6px}.shopping-actions{grid-column:3;grid-row:4;display:flex;gap:5px}.shopping-actions .btn{width:30px;height:30px}
.shopping-tabs{gap:6px}.shopping-tabs button{flex:1;padding:10px 5px;font-size:13px}.shopping-tabs [data-list-filter=open]{display:none}
.shopping-hero{padding:21px}.shopping-hero h1{font-size:25px}.shopping-hero h2{font-size:20px}.shopping-list-heading{padding:13px;flex-wrap:wrap}.shopping-list-heading label{max-width:none;flex:1;min-width:130px}.shopping-list-heading h2{font-size:16px}
.shopping-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dce2ea;padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:1030;box-shadow:0 -3px 15px #162a3a08}
.shopping-bottom-nav>a,.shopping-bottom-nav>button,.shopping-bottom-nav>.dropup{flex:1;min-width:0}.shopping-bottom-nav>a,.shopping-bottom-nav>button,.shopping-bottom-nav>.dropup>button{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:0;text-decoration:none;color:#465265;font-size:10px;min-height:49px;position:relative;width:100%}
.shopping-bottom-nav span{font-size:22px;line-height:1.3}.shopping-bottom-nav .active{color:#b74e00;font-weight:750}.shopping-bottom-nav small{font-size:8px;position:absolute;top:0;right:5px}
.shopping-fab{display:block;position:fixed;right:20px;bottom:calc(80px + env(safe-area-inset-bottom));border:0;border-radius:50%;width:54px;height:54px;background:#ec6800;color:white;font-size:30px;box-shadow:0 5px 16px #77310035;z-index:1020}
.shopping-group-heading{padding:10px 16px;font-size:13px}.app-theme .app-footer{flex-wrap:wrap;font-size:11px}.shopping-add-search button{font-size:12px;padding:8px}
}

.app-theme .table td.shopping-saving{color:#16804b}.app-theme .table .shopping-group-heading th{background:#fff3e9;color:#8d3c00}

.shopping-product-image{display:block;width:40px;height:48px;object-fit:contain;background:white;border-radius:6px}.shopping-picture .shopping-placeholder{padding:0}.shopping-product-image[hidden],.shopping-picture .shopping-placeholder[hidden]{display:none}@media(max-width:1099px){.shopping-product-image{width:50px;height:58px}}

.shopping-item .shopping-purchase-state{color:#28734d;font-weight:650}.shopping-item .shopping-purchase-state[hidden]{display:none}

.shopping-saving .shopping-savings-unavailable{color:#64748b;font-weight:400}

.shopping-hero{background:linear-gradient(90deg,#0d1921e8 0%,#0d1921b5 40%,#0d192110 78%),url('../images/shopping-hero.png') center/cover;min-height:190px;display:flex;flex-direction:column;justify-content:center}.shopping-hero h1,.shopping-hero h2,.shopping-hero p{max-width:65%}@media(max-width:575px){.shopping-hero{background-position:62% center;min-height:185px}.shopping-hero h1,.shopping-hero h2,.shopping-hero p{max-width:95%}.shopping-hero h2{font-size:21px}}
