:root{--text:#4f6356;--text-h:#092113;--bg:#fbfdf8;--border:#dce8d8;--accent:#16833b;--card-radius:8px;--control-radius:6px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace}html[data-theme=dark]{--text:#c9dccd;--text-h:#f2fff5;--bg:#0d1711;--border:#284232;--accent:#58d681}:root{--code-bg:#eef6ea;--accent-bg:#16833b1a;--accent-border:#16833b6b;--social-bg:#eef6eab8;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}html[data-theme=dark]{--code-bg:#17261d;--accent-bg:#58d68129;--accent-border:#58d68175;--social-bg:#17261db8;--shadow:#0000006b 0 10px 15px -3px, #00000047 0 4px 6px -2px}html[data-theme=dark] #social .button-icon{filter:invert()brightness(2)}#root{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;height:100vh;min-height:100vh;margin:0 auto;display:flex}body{background:var(--bg);width:100vw;height:100vh;color:var(--text);margin:0;padding:0;overflow:hidden}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}html,body{width:100%;height:100%;margin:0;padding:0}.app-header{z-index:100;min-height:56px;padding:max(env(safe-area-inset-top), .25rem) 1rem .25rem;background-color:#16833b;border-bottom:1px solid #0f6b2d;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid;position:sticky;top:0}.app-brand{text-align:center;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex}.top-app-bar-leading,.top-app-bar-actions{align-items:center;gap:8px;display:flex}.top-app-bar-leading{justify-self:start}.top-app-bar-actions{justify-self:end}.app-brand-owner{color:#fff;margin-left:0;font-size:.75rem;font-weight:700;line-height:1}.app-page-name{color:#ffffffd1;margin-top:4px;font-size:.72rem;font-weight:600;line-height:1}.app-header h1{color:#fff;letter-spacing:0;margin:0;font-size:1.55rem;font-weight:800}.home-button,.loyalty-cards-button,.shopping-list-button,.menu-button{color:#fff;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 1px 2px #0f172a14}.home-button,.loyalty-cards-button,.shopping-list-button{width:auto;min-width:3rem;height:auto;min-height:3rem;box-shadow:none;text-align:center;padding:0 .85rem;line-height:1;display:inline-flex;position:relative}.menu-button{width:3rem;min-width:3rem;height:3rem;min-height:3rem;box-shadow:none;text-align:center;padding:0;line-height:1;display:inline-flex;position:relative}.home-button-icon,.loyalty-cards-button-icon,.shopping-list-button-icon,.menu-button-icon{filter:brightness(0)invert();width:24px;height:24px;display:block}.home-button:hover,.loyalty-cards-button:hover,.shopping-list-button:hover,.menu-button:hover{background-color:#3cab63;border-color:#ffffff80}.app-promo-banner{color:#1f2937;background:linear-gradient(#f4fbf3 0%,#fff 100%);border-bottom:1px solid #d9ead6;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.app-promo-copy{gap:4px;min-width:0;display:grid}.app-promo-copy strong{margin:0;font-size:.98rem}.app-promo-actions{flex:none;gap:8px;display:flex}.app-promo-actions button{width:auto;margin-top:0;padding:8px 14px}.app-promo-actions .ghost{color:#176334;background:0 0;border:1px solid #b9d8b4}.menu-dropdown{z-index:1600;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:stretch;width:fit-content;max-width:calc(100vw - 32px);padding:6px;display:flex;position:absolute;top:60px;right:16px;box-shadow:0 16px 40px #0f172a2e}.menu-item{color:#1f2937;cursor:pointer;text-align:left;white-space:nowrap;background-color:#0000;border:0;border-radius:6px;width:auto;padding:11px 12px;font-size:.96rem;line-height:1.25;transition:background-color .15s,color .15s}.menu-item:hover{color:#0f4f29;background-color:#eef8ed}.notifications-container{z-index:2000;pointer-events:none;flex-direction:column;gap:8px;padding:8px;display:flex;position:fixed;top:0;left:0;right:0}.notification{color:#fff;pointer-events:auto;background-color:#333;border-radius:8px;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 16px;animation:.3s ease-out slideDown;display:grid;box-shadow:0 4px 12px #0003}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.notification-message{font-size:.95rem}.notification-action-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#16833b;border:0;border-radius:4px;justify-self:center;width:auto;margin-top:0;padding:6px 14px;font-size:.85rem;font-weight:600}.notification-action-btn:hover{background-color:#0f6b2d}.notification-close-btn{color:#aaa;cursor:pointer;background:0 0;border:0;justify-self:end;width:auto;margin-top:0;padding:4px;font-size:1.1rem;line-height:1}.notification-close-btn:hover{color:#fff}html[data-theme=dark] .app-header{background-color:#16833b;border-color:#0f6b2d}html[data-theme=dark] .menu-dropdown{border-color:var(--border);box-shadow:var(--shadow);background-color:#101c15}html[data-theme=dark] .menu-item{color:var(--text-h);background-color:#0000}html[data-theme=dark] .menu-item:hover{color:var(--text-h);background-color:#20382a}@media (width<=768px){.app-header h1{font-size:1.45rem}}@media (width<=520px){.app-header{grid-template-columns:2.5rem minmax(0,1fr) auto;column-gap:2px;padding-inline:.25rem}.top-app-bar-actions{gap:0}.home-button,.loyalty-cards-button,.shopping-list-button,.menu-button{width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem;padding:0}.app-brand{min-width:0}.app-header h1{font-size:1.3rem}.app-brand-owner{font-size:.68rem}}.city-selector-container{flex-wrap:wrap;align-items:stretch;gap:8px;width:100%;display:flex;position:relative}.city-selector{color:#333;cursor:pointer;text-align:left;background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;flex:1;min-width:0;padding:12px;font-size:1rem}.city-selector:hover{background-color:#e9e9e9}.position-link{color:#176334;cursor:pointer;text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;padding:0 4px;font-size:.92rem;font-weight:600;text-decoration:underline}.position-link:hover{color:#0f4d27}.radius-filter{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;display:grid}.radius-slider{accent-color:#2f9e58;width:100%}.radius-input-group{color:#555;white-space:nowrap;align-items:center;gap:4px;font-size:.9rem;display:flex}.radius-input{color:#333;text-align:right;background-color:#fff;border:1px solid #ddd;border-radius:6px;width:58px;padding:7px 6px;font-size:.9rem}.geo-detect-btn{color:#176334;cursor:pointer;white-space:nowrap;background-color:#eef8ed;border:1px solid #2f9e58;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:8px 14px;font-size:.85rem;transition:background-color .15s;display:flex}.geo-detect-btn:hover{background-color:#d9efd8}.geo-detect-btn:active{background-color:#bee3c0}.geo-detect-btn .status-dot{background-color:#aaa;border-radius:50%;width:8px;height:8px;display:inline-block}.geo-detect-btn .status-dot.active{background-color:#4caf50}.geo-detect-btn .status-dot.error{background-color:#e53935}.city-dropdown{z-index:1400;background-color:#fff;border:1px solid #ddd;border-radius:8px;min-width:100%;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 2px 10px #0000001a}.city-search-wrapper{border-bottom:1px solid #eee;padding:8px}.city-search-input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:.95rem}.city-search-input:focus{border-color:#666}.city-options-list{max-height:250px;overflow-y:auto}.city-option{color:#333;cursor:pointer;text-align:left;background-color:#fff;border:0;width:100%;padding:12px;font-size:1rem;transition:background-color .2s}.city-option:hover{background-color:#f0f0f0}.city-option-no-city{color:#555;border-bottom:1px solid #eee}.city-option:active{background-color:#e0e0e0}.city-group-label{color:#888;letter-spacing:.5px;text-transform:uppercase;background-color:#fafafa;border-bottom:1px solid #eee;padding:6px 12px;font-size:.8rem;font-weight:600}.city-option-detected{background-color:#eef8ed;font-weight:600}.city-option-detected:hover{background-color:#d9efd8}.shop-selector,.sort-selector{color:#333;cursor:pointer;background-color:#f9f9f9;border:1px solid #ddd;border-radius:6px;padding:8px 16px;font-size:.95rem;transition:background-color .2s}.shop-selector:hover,.sort-selector:hover{background-color:#e9e9e9}.controls-section{background-color:#fff;border-bottom:1px solid #eee;padding:16px}.filter-section-toggles{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;display:grid}.filter-section-toggle{color:#1f2937;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:12px 0;font-size:1rem;font-weight:700;display:flex}.filter-section-toggle:before{content:">";font-size:.75rem;transition:transform .15s;display:inline-block}.filter-section-toggle[aria-expanded=true]:before{transform:rotate(90deg)}.filter-section-content{gap:12px;padding:0 0 16px;display:grid}.product-search-group{box-sizing:border-box;width:100%;padding:0;position:relative}.product-search{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;max-width:100%;padding:12px 44px 12px 12px;font-size:1rem}.product-search-clear{color:#fff;cursor:pointer;background:#8a8a8a;border:0;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;font-size:15px;line-height:1;display:grid;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.product-search-clear:hover{background:#5f5f5f}.product-search-clear:focus-visible{outline-offset:2px;outline:2px solid #0f6b2d}.price-range{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.price-range>span{color:#333;font-weight:500}.price-range-inputs{flex:1;gap:8px;min-width:0;display:flex}.price-range-inputs input{box-sizing:border-box;color:#333;border:1px solid #ddd;border-radius:6px;flex:120px;width:120px;min-width:0;max-width:120px;padding:10px 12px;font-size:.95rem}.shop-selection,.sort-selection{align-items:center;gap:8px;display:flex}.shop-selection{flex-wrap:wrap;justify-content:space-between;row-gap:10px}.filter-shop-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.shop-selection-main,.use-position-toggle{align-items:center;gap:8px;display:flex}.shop-selection-main{flex-wrap:wrap;min-width:0}.use-position-toggle{color:#333;cursor:pointer;white-space:nowrap;margin-left:auto;font-weight:500}.shop-selection button,.sort-selection button{flex-shrink:0}.shop-selection span,.sort-selection span{color:#333;font-weight:500}.offer-category-tabs{scrollbar-width:thin;background-color:#f5f5f5;border-bottom:1px solid #e2e8e0;justify-content:center;gap:8px;padding:10px 16px;display:flex;overflow-x:auto}.offer-category-tab{color:#285338;cursor:pointer;background-color:#fff;border:1px solid #bfd7c4;border-radius:6px;flex:none;min-height:34px;padding:6px 12px;font-size:.88rem;font-weight:600}.offer-category-tab:hover{background-color:#eef8ed}.offer-category-tab.active{color:#fff;background-color:#16833b;border-color:#16833b}.offer-category-tab:focus-visible{outline-offset:2px;outline:2px solid #0f6b2d}.loading-indicator{color:#666;text-align:center;padding:16px}@media (width>=1201px){.controls-section,.offer-category-tabs{box-sizing:border-box;width:1200px;margin-inline:auto}}@media (width<=768px){.controls-section{padding:12px}.offer-category-tabs{justify-content:flex-start;padding:10px 12px}}html[data-theme=dark] .controls-section{border-color:var(--border);color:var(--text);background-color:#101c15}html[data-theme=dark] .filter-section-toggle,html[data-theme=dark] .shop-selection span,html[data-theme=dark] .use-position-toggle,html[data-theme=dark] .sort-selection span,html[data-theme=dark] .price-range>span{color:var(--text-h)}html[data-theme=dark] .city-selector,html[data-theme=dark] .position-link,html[data-theme=dark] .shop-selector,html[data-theme=dark] .sort-selector,html[data-theme=dark] .radius-input,html[data-theme=dark] .product-search,html[data-theme=dark] .price-range-inputs input,html[data-theme=dark] .city-search-input{border-color:var(--border);color:var(--text-h);background-color:#17261d}html[data-theme=dark] .radius-input-group{color:var(--text)}html[data-theme=dark] .position-link{color:#bce9c4}html[data-theme=dark] .city-selector:hover,html[data-theme=dark] .shop-selector:hover,html[data-theme=dark] .sort-selector:hover{background-color:#20382a}html[data-theme=dark] .city-dropdown{border-color:var(--border);box-shadow:var(--shadow);background-color:#101c15}html[data-theme=dark] .offer-category-tabs{border-color:var(--border);background-color:#0d1711}html[data-theme=dark] .offer-category-tab{border-color:var(--border);color:var(--text-h);background-color:#17261d}html[data-theme=dark] .offer-category-tab:hover{background-color:#20382a}html[data-theme=dark] .offer-category-tab.active{color:#fff;background-color:#16833b;border-color:#58d681}html[data-theme=dark] .city-option{color:var(--text-h);background-color:#0000}html[data-theme=dark] .city-option:hover,html[data-theme=dark] .city-option-detected{color:var(--text-h);background-color:#20382a}html[data-theme=dark] .city-group-label,html[data-theme=dark] .city-search-wrapper,html[data-theme=dark] .city-option-no-city,html[data-theme=dark] .geo-detect-btn{color:#bce9c4;background-color:#12331e;border-color:#2f9e58}html[data-theme=dark] .geo-detect-btn:hover,html[data-theme=dark] .geo-detect-btn:active{background-color:#194426}html[data-theme=dark] .loading-indicator{color:var(--text)}.product-image-placeholder,.product-image-main{transition:opacity .16s}.product-image-placeholder{filter:blur(8px);position:absolute;inset:0;transform:scale(1.04)}.product-image-main{opacity:0}.product-image-main.is-loaded{opacity:1}.offers-list{background-color:#f5f5f5;flex-direction:column;flex:1;min-height:0;padding:16px;display:flex;overflow-y:auto}.offer-card{cursor:pointer;background-color:#fff;border-radius:8px;flex:0 0 180px;align-items:stretch;height:180px;margin-bottom:12px;transition:transform .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000001a}.offer-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.offer-load-card{cursor:default;justify-content:center;align-items:center}.offer-load-card:hover{transform:none;box-shadow:0 2px 4px #0000001a}.offer-load-spinner{border:3px solid #c4d9ca;border-top-color:#16833b;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite offer-load-spin}@keyframes offer-load-spin{to{transform:rotate(360deg)}}.regular-products-divider{cursor:default;background-color:#edf1ed;justify-content:center;align-items:center}.regular-products-divider:hover{transform:none;box-shadow:0 2px 4px #0000001a}.regular-products-divider__title{color:#284532;text-align:center;justify-content:center;align-items:center;gap:20px;width:100%;height:100%;padding:16px;font-weight:700;display:flex}.regular-products-divider__arrow{font-size:2rem;line-height:1}.regular-product-card{cursor:pointer}.regular-product-card .offer-content,.regular-product-card .offer-details{flex-direction:column;display:flex}.regular-product-card .offer-details{flex:1;margin-bottom:0}.regular-product-card .offer-shop-actions{margin-top:auto}.regular-product-card:focus-visible{outline-offset:2px;outline:3px solid #16833b}.regular-product-price{color:#1f6b42;white-space:nowrap;font-size:1.2rem;font-weight:700}.regular-product-label,.catalog-stale-warning{color:#3d5a47;font-size:.82rem;font-weight:600}.catalog-stale-warning{text-align:right;margin-left:auto}.offer-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.offer-product-image{aspect-ratio:1;background:#edf1ed;flex:none;align-self:stretch;width:180px;min-width:180px;position:relative;overflow:hidden}.offer-product-image .offer-actions{z-index:1;margin:0;position:absolute;top:8px;right:8px}.offer-product-image .product-image-media{width:100%;height:100%;position:relative}.offer-product-image picture{width:100%;height:100%;display:block}.offer-product-image img{object-fit:cover;width:100%;height:100%;display:block}.offer-content{flex:1;min-width:0;padding:16px;position:relative;overflow:hidden}.offer-title{color:#333;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:1.1rem;font-weight:600;display:-webkit-box;overflow:hidden}.offer-price{color:#c62828;white-space:nowrap;align-items:baseline;gap:8px;font-size:1.2rem;font-weight:700;display:flex}.offer-original-price{color:#6b7280;font-size:.9rem;font-weight:600;text-decoration:line-through}.offer-price-compact{display:none}.offer-details{margin-bottom:8px}.offer-shop{color:#666;align-items:center;gap:8px;min-width:0;margin-top:10px;font-size:.9rem;display:flex}.offer-shop-actions{align-items:center;gap:8px;display:flex}.offer-shop-logo{object-fit:contain;flex:0 0 38px;width:38px;height:38px}.offer-shop-initials{color:#285338;background:#edf1ed;border-radius:4px;place-items:center;font-size:.72rem;font-weight:700;display:grid}.offer-shop-meta{flex-direction:column;min-width:0;line-height:1.25;display:flex}.offer-shop-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.offer-shop-meta small{color:#777;font-size:.82rem}.offer-description{color:#444;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:8px;font-size:.95rem;line-height:1.4;display:-webkit-box;overflow:hidden}.offer-validity{color:#777;font-size:.85rem}.offer-actions{justify-content:flex-end;margin-left:auto;display:flex}.favorite-button{box-sizing:border-box;cursor:pointer;background:#fff;border:2px solid #c62828;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;font-size:1.2rem;line-height:1;transition:transform .2s,box-shadow .2s;display:grid}.favorite-icon{line-height:1;display:block;transform:translateY(1px)}.favorite-button:hover{transform:scale(1.1);box-shadow:0 1px 4px #c6282859}.favorite-button.favorited{color:#16833b}.no-offers{color:#666;text-align:center;padding:32px;font-size:1.1rem}@media (width>=1201px){.offers-list{box-sizing:border-box;width:1200px;margin-inline:auto}}@media (width<=768px){.offer-card{flex-basis:auto;height:auto;min-height:155px}.offer-product-image{align-self:flex-start;width:155px;min-width:155px;height:155px}.offer-content{flex-direction:column;padding:12px;display:flex}.regular-product-card .offer-content{padding:12px}.offer-description{display:-webkit-box}.offer-shop{margin-top:4px}.offer-shop-logo{flex-basis:34px;width:34px;height:34px}.offer-header{display:contents}.offer-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.95rem;line-height:1.25;display:-webkit-box;overflow:hidden}.offer-price{order:2;align-self:flex-end;margin-top:8px;position:static}.offer-details{order:1}.offer-price.offer-price-unavailable .offer-price-full{display:none}.offer-price.offer-price-unavailable .offer-price-compact{display:inline}}html[data-theme=dark] .offer-title{color:var(--text-h)}html[data-theme=dark] .offer-card{border-color:var(--border);box-shadow:var(--shadow);background-color:#101c15}html[data-theme=dark] .regular-products-divider{background-color:#1b3022}html[data-theme=dark] .regular-products-divider__title,html[data-theme=dark] .regular-product-label,html[data-theme=dark] .catalog-stale-warning,html[data-theme=dark] .regular-product-price{color:#bce9c4}html[data-theme=dark] .offers-list{background-color:#0d1711}html[data-theme=dark] .offer-shop,html[data-theme=dark] .offer-description,html[data-theme=dark] .offer-validity,html[data-theme=dark] .no-offers{color:var(--text)}html[data-theme=dark] .offer-price{color:#58d681}.app{box-sizing:border-box;width:100%;max-width:100%;height:100dvh;min-height:100dvh;padding:0;padding-bottom:max(env(safe-area-inset-bottom), .5rem);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-direction:column;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;display:flex;overflow:hidden}.app input,.app textarea,.app [contenteditable=true]{-webkit-user-select:text;user-select:text}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.offer-detail-modal,.flyer-viewer-modal,.location-dialog,.shop-map-dialog{box-sizing:border-box;background-color:#fff;border-radius:8px;max-width:90vw;max-height:90vh;padding:24px;overflow:hidden;box-shadow:0 4px 12px #00000026}.offer-detail-modal h2,.flyer-viewer-modal h2,.location-dialog h2,.shop-map-dialog h2{color:#333;margin-top:0}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.modal-actions button{cursor:pointer;background-color:#f0f0f0;border:none;border-radius:4px;padding:8px 16px;font-size:1rem}.modal-actions button:disabled{cursor:not-allowed;opacity:.55}.modal-actions button:hover{background-color:#e0e0e0}.auth-page{box-sizing:border-box;z-index:2000;background:#0f172a85;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;inset:0}.auth-page-modal{overflow:visible}.icon-button{color:#b42318;appearance:none;background:#fee2e2;border:0;border-radius:999px;outline:none;width:36px;height:36px;margin:0;padding:0;position:absolute;top:0;right:0}.icon-button:hover{background:#fecaca}.form-group{margin-bottom:12px}.form-group label{color:#000;margin-bottom:5px;font-weight:700;display:block}.form-group input{box-sizing:border-box;border:1px solid #ddd;border-radius:5px;width:100%;padding:10px;font-size:16px}.primary-button,button.primary-button{color:#fff;cursor:pointer;appearance:none;background-color:#007bff;border:none;border-radius:5px;outline:none;width:100%;margin-top:10px;padding:12px;font-size:16px}.primary-button:hover,button.primary-button:hover{background-color:#0056b3}.primary-button:disabled{cursor:wait;opacity:.7}.danger-button,button.danger-button{background-color:#b42318}.danger-button:hover,button.danger-button:hover{background-color:#8f1d14}.settings-dialog,.shops-list-dialog,.flyers-dialog,.loyalty-dialog,.location-dialog,.info-page{background-color:#fff;border-radius:12px;width:90vw;max-width:420px;max-height:85vh;padding:24px;overflow-y:auto;box-shadow:0 8px 32px #0003}.settings-dialog h2,.shops-list-dialog h2,.flyers-dialog h2,.loyalty-dialog h2,.location-dialog h2,.info-page h2{color:#333;margin-top:0;margin-bottom:20px;font-size:1.4rem}.no-items{text-align:center;color:#888;padding:24px}html[data-theme=dark] .app{background:var(--bg);color:var(--text)}html[data-theme=dark] .shops-list-dialog h2,html[data-theme=dark] .flyers-dialog h2,html[data-theme=dark] .loyalty-dialog h2,html[data-theme=dark] .location-dialog h2,html[data-theme=dark] .info-page h2,html[data-theme=dark] .offer-detail-modal h2,html[data-theme=dark] .flyer-viewer-modal h2,html[data-theme=dark] .shop-map-dialog h2{color:var(--text-h)}html[data-theme=dark] .form-group input,html[data-theme=dark] .modal-actions button{border-color:var(--border);color:var(--text-h);background-color:#17261d}html[data-theme=dark] .modal-actions button:hover{background-color:#20382a}html[data-theme=dark] .settings-dialog,html[data-theme=dark] .shops-list-dialog,html[data-theme=dark] .flyers-dialog,html[data-theme=dark] .loyalty-dialog,html[data-theme=dark] .location-dialog,html[data-theme=dark] .shop-map-dialog,html[data-theme=dark] .info-page,html[data-theme=dark] .offer-detail-modal,html[data-theme=dark] .flyer-viewer-modal{border-color:var(--border);box-shadow:var(--shadow);background-color:#101c15}html[data-theme=dark] .form-group label,html[data-theme=dark] .no-items{color:var(--text)}html[data-theme=dark] .icon-button{color:var(--text-h)}.offline-data-banner{color:#342b00;background:#fff2c6;justify-content:center;align-items:center;gap:12px;min-height:40px;padding:6px 16px;display:flex}.offline-data-banner button{color:#fff;background:#342b00;border:0;min-height:28px}
