.grocery-dashboard-shell{--g-primary:#00875a;--g-primary-pressed:#006b46;--g-primary-soft:#ddf6e8;--g-teal:#14b8a6;--g-bg-app:#f5f8f6;--g-bg-card:#ffffff;--g-border:#dce7e1;--g-text:#243447;--g-text-muted:#64748b;--g-trial-bg:#fef9c3;--g-trial-fg:#78350f;--g-danger:#dc2626;--g-radius-md:12px;--g-radius-lg:16px;--g-shadow-card:0 1px 2px rgb(36 52 71/0.05),0 4px 12px rgb(36 52 71/0.04);--g-transition:0.18s ease;--g-header-teal:#008577;--g-home-hero-gradient:linear-gradient(168deg,#00695c,#008577 36%,#005a4a);--g-home-hero-pattern:radial-gradient(ellipse 85% 55% at 18% 12%,rgb(255 255 255/0.11) 0%,transparent 55%),radial-gradient(ellipse 70% 50% at 82% 8%,rgb(255 255 255/0.08) 0%,transparent 50%),linear-gradient(125deg,transparent 40%,rgb(255 255 255/0.06) 50%,transparent 60%);--dash-canvas:var(--g-bg-app);--dash-workspace-bg:var(--g-bg-app);background:var(--g-bg-app);color:var(--g-text)}.grocery-dashboard-shell .sales-dashboard.grocery-dashboard-main{--dash-canvas:#f3f8f4;--dash-workspace-bg:#f3f8f4;background:#f3f8f4}.grocery-dashboard-sidebar{--gs-text:#334155;--gs-muted:#94a3b8;--gs-hover:#f1f5f4;--gs-active-bg:var(--g-primary-soft);--gs-active-fg:var(--g-primary);--gs-border:#e6ebe8;display:flex;flex-direction:column;flex-shrink:0;min-height:0;height:100vh;height:100dvh;overflow:hidden;background:#fff;color:var(--gs-text);border-right:1px solid var(--gs-border)}@media (min-width:1024px){.grocery-dashboard-sidebar{position:relative;width:var(--app-grocery-sidebar-width,240px);transition:width .22s ease}}@media (max-width:1023px){.grocery-dashboard-sidebar{position:fixed;inset:0 auto 0 0;z-index:70;width:min(20rem,86vw);padding-left:env(safe-area-inset-left);transform:translateX(-100%);visibility:hidden;box-shadow:none;transition:transform .22s ease,visibility 0s linear .22s}.grocery-dashboard-sidebar.is-open{transform:translateX(0);visibility:visible;box-shadow:0 0 40px rgb(15 23 42/.25);transition:transform .22s ease,visibility 0s}}.grocery-sidebar-overlay{position:fixed;inset:0;z-index:65;border:0;background:rgb(15 23 42/.45);animation:grocery-fade-in .2s ease}@keyframes grocery-fade-in{0%{opacity:0}to{opacity:1}}.grocery-sidebar__brand{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0;min-height:4.5rem;padding:max(.75rem,env(safe-area-inset-top)) .75rem .75rem 1rem}.grocery-sidebar__logo{display:inline-flex;min-width:0;border-radius:.75rem;outline-offset:2px}.grocery-sidebar__icon-btn{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:0;border-radius:.75rem;background:transparent;color:#64748b;transition:background-color .15s ease,color .15s ease}.grocery-sidebar__icon-btn:hover{background:var(--gs-hover);color:#0f172a}.grocery-sidebar__icon-btn--drawer{display:none}@media (max-width:1023px){.grocery-sidebar__icon-btn--desktop{display:none}.grocery-sidebar__icon-btn--drawer{display:inline-flex}}@media (min-width:1024px){.grocery-sidebar-overlay{display:none}}.grocery-dashboard-sidebar a:focus-visible,.grocery-dashboard-sidebar button:focus-visible{outline:2px solid #059669;outline-offset:2px}.grocery-sidebar__nav{flex:1 1 0%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 .75rem .75rem;scrollbar-width:thin}.grocery-nav__list,.grocery-subnav__list{margin:0;padding:0;list-style:none}.grocery-nav__list>li+li{margin-top:.125rem}.grocery-nav__row{display:flex;align-items:stretch;border-radius:.75rem;transition:background-color .15s ease,color .15s ease}.grocery-nav__row:hover:not(.is-active){background:var(--gs-hover)}.grocery-nav__row.is-active{background:var(--gs-active-bg);color:var(--gs-active-fg);font-weight:600}.grocery-nav__link{display:flex;flex:1 1 0%;min-width:0;align-items:center;gap:.75rem;min-height:2.875rem;padding:0 .75rem;border-radius:.75rem;font-size:.9375rem;font-weight:inherit;color:inherit;text-decoration:none}@media (max-width:1023px){.grocery-nav__link{min-height:3rem}}.grocery-nav__icon{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;color:#64748b;transition:color .15s ease}.grocery-nav__row.is-active .grocery-nav__icon{color:var(--gs-active-fg)}.grocery-nav__label{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grocery-nav__badge{flex-shrink:0;min-width:1.375rem;height:1.375rem;padding:0 .375rem;font-size:.6875rem;line-height:1.375rem}.grocery-nav__badge,.grocery-nav__dot{border-radius:999px;background:#ef4444;color:#fff;font-weight:700;text-align:center}.grocery-nav__dot{position:absolute;top:-.5rem;right:-.625rem;min-width:1rem;height:1rem;padding:0 .25rem;font-size:.5625rem;line-height:1rem;box-shadow:0 0 0 2px #fff}.grocery-nav__chevron{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2.75rem;border:0;border-radius:.75rem;background:transparent;color:#94a3b8}.grocery-nav__row.is-active .grocery-nav__chevron{color:var(--gs-active-fg)}.grocery-subnav{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.grocery-subnav[data-open=true]{grid-template-rows:1fr}.grocery-subnav__list{min-height:0;overflow:hidden;margin-left:1.625rem;padding-left:.875rem;border-left:1px solid var(--gs-border)}.grocery-subnav[data-open=false] .grocery-subnav__list{visibility:hidden}.grocery-subnav__link{display:flex;align-items:center;min-height:2.5rem;margin:.125rem 0;padding:0 .75rem;border-radius:.625rem;font-size:.875rem;color:#475569;text-decoration:none;transition:background-color .15s ease,color .15s ease}.grocery-subnav__link:hover{background:var(--gs-hover)}.grocery-subnav__link.is-active{color:var(--gs-active-fg);font-weight:600}@media (max-width:1023px){.grocery-subnav__link{min-height:2.75rem}}.grocery-nav__section{margin-top:.75rem}.grocery-nav__divider{height:1px;margin:0 .25rem .5rem;background:var(--gs-border)}.grocery-nav__heading{margin:0 0 .25rem;padding:.25rem .75rem;font-size:.6875rem;font-weight:700;letter-spacing:.08em;color:var(--gs-muted)}.grocery-dashboard-sidebar.is-compact .grocery-sidebar__brand{flex-direction:column;justify-content:center;gap:.25rem;padding:.75rem .5rem}.grocery-dashboard-sidebar.is-compact .grocery-sidebar__nav{padding:0 .625rem .75rem}.grocery-dashboard-sidebar.is-compact .grocery-nav__link{justify-content:center;padding:0}.grocery-dashboard-sidebar.is-compact .grocery-nav__section{margin-top:.5rem}.grocery-pwa-card{flex-shrink:0;margin:0 .75rem max(.75rem,env(safe-area-inset-bottom));padding:.875rem;border:1px solid #cdeedb;border-radius:1rem;background:#f0faf4}.grocery-pwa-card--compact{display:flex;justify-content:center;margin:0 0 max(.5rem,env(safe-area-inset-bottom));padding:0;border:0;background:transparent}.grocery-pwa-card__icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.75rem;background:#d4f0de;color:#047857}.grocery-pwa-card__btn{width:100%;min-height:2.75rem;margin-top:.75rem;border:0;border-radius:.75rem;background:#047857;color:#fff;font-size:.875rem;font-weight:600;transition:background-color .15s ease}.grocery-pwa-card__btn:hover{background:#065f46}@media (max-height:640px){.grocery-pwa-card{display:none}}@media (prefers-reduced-motion:reduce){.grocery-dashboard-sidebar,.grocery-nav__row,.grocery-sidebar-overlay,.grocery-subnav{transition:none;animation:none}}.grocery-dashboard-header{background:#fff;border-bottom:1px solid #e2ece5}.grocery-dashboard-header__search{background:#f1f5f3;border:1px solid transparent}.grocery-dashboard-header__search:focus-within{border-color:#6ee7b7;background:#fff}.grocery-dash__card{border-radius:var(--g-radius-lg);border:1px solid var(--g-border);background:var(--g-bg-card);box-shadow:var(--g-shadow-card)}.grocery-dash__kpi-icon--green{background:var(--g-primary-soft);color:var(--g-primary)}.grocery-dash__kpi-icon--blue{background:#e6f4f2;color:#0f766e}.grocery-dash__kpi-icon--purple{background:#eef2f7;color:#475569}.grocery-dash__kpi-icon--amber{background:#fef3c7;color:#b45309}.grocery-dash__chart-col{fill:#b8e6d0}.grocery-dash__chart-col--today{fill:var(--g-primary)}.grocery-dash__chart-col--zero{fill:#e2e8e6}.grocery-dash__cta-primary{background:linear-gradient(180deg,var(--g-primary) 0,var(--g-primary-pressed) 100%);color:#fff;box-shadow:0 4px 14px rgb(0 135 90/.2)}.grocery-dash__action--green{background:var(--g-primary-soft);color:var(--g-primary-pressed)}.grocery-dash__action--blue{background:#e6f4f2;color:#0f766e}.grocery-dash__action--amber{background:#fef9c3;color:#92400e}.grocery-ui-link{display:inline-flex;min-height:32px;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--g-primary);text-decoration:none}.grocery-ui-link:hover{color:var(--g-primary-pressed);text-decoration:underline}.grocery-dash__table th{font-size:.6875rem;font-weight:500;color:#64748b;text-align:left;padding:.5rem;white-space:nowrap}.grocery-dash__table td{padding:.5rem;border-top:1px solid #eef3f0;vertical-align:middle}@media (max-width:767px){.grocery-dash__table thead{display:none}.grocery-dash__table,.grocery-dash__table tbody,.grocery-dash__table td,.grocery-dash__table tr{display:block;width:100%}.grocery-dash__table tr{padding:.625rem 0;border-top:1px solid #eef3f0}.grocery-dash__table tr:first-child{border-top:0}.grocery-dash__table td{border:0;padding:.125rem 0}.grocery-dash__table td[data-label]:before{content:attr(data-label) ": ";color:#94a3b8;font-size:.6875rem}.grocery-dash__table td[data-primary]:before{content:none}}.grocery-hub-shell{display:flex;width:100%;min-height:100dvh;background:var(--g-bg-app);overflow-x:clip}.grocery-hub-shell .grocery-hub-bottom-nav{display:block}@media (min-width:1024px){.grocery-hub-shell .grocery-hub-bottom-nav{display:none}}.grocery-hub-main{background:var(--g-bg-app);width:100%}.grocery-hub-main:has(.grocery-voucher-form-page){overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}@media (min-width:1024px){.grocery-hub-shell[data-content-full=true] .grocery-hub-header__inner{max-width:none;margin-inline:0;padding-inline:1.25rem}}.grocery-voucher-form-page{width:100%;min-width:0}.grocery-voucher-form{display:flex;flex-direction:column;gap:.75rem}.grocery-voucher-form__goods-lines{display:flex;flex-direction:column;gap:.5rem}.grocery-voucher-form__tabs{display:flex;gap:.5rem;padding:.25rem;border-radius:.75rem;background:#e8efeb}@media (min-width:1024px){.grocery-voucher-form__tabs{display:none}}.grocery-voucher-form__tab{flex:1 1 0;min-height:2.75rem;border-radius:.625rem;border:none;background:transparent;font-size:.875rem;font-weight:600;color:#64748b;cursor:pointer}.grocery-voucher-form__tab.is-active{background:#fff;color:#006b46;box-shadow:0 1px 3px rgb(15 23 42/.08)}.grocery-voucher-form__tab-badge{margin-left:.35rem;display:inline-flex;min-width:1.125rem;justify-content:center;border-radius:9999px;background:#dc2626;padding:0 .35rem;font-size:.65rem;font-weight:700;color:#fff}.grocery-voucher-form__panel{border-radius:1rem;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px rgb(15 23 42/.04)}.grocery-voucher-form__panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid #f1f5f9;padding:.75rem 1rem}@media (min-width:1024px){.grocery-voucher-form-page{display:flex;width:100%;max-width:none;min-height:0;flex:1 1 auto;flex-direction:column}.grocery-voucher-form-page .grocery-voucher-form{display:flex;width:100%;max-width:none!important;min-height:0;flex:1 1 auto;flex-direction:column}.grocery-voucher-form__pos-shell{display:flex;width:100%;max-width:none;min-height:min(720px,calc(100dvh - 9rem));flex:1 1 auto;flex-direction:column;overflow:hidden;border-radius:1rem;border:1px solid #e2e8f0;background:#fff;box-shadow:0 1px 3px rgb(15 23 42/.06)}.grocery-voucher-form__pos-shell>.grocery-voucher-form__header-card{flex-shrink:0;border-bottom:1px solid #f1f5f9;padding:.875rem 1.25rem}.grocery-voucher-form__toolbar-stat{margin:0;padding-bottom:.5rem;font-size:.875rem;white-space:nowrap}.grocery-voucher-form__toolbar-time{font-size:.875rem;padding-top:.5rem;padding-bottom:.5rem}.grocery-voucher-form__workspace{display:grid;min-height:0;min-width:0;flex:1 1 auto;grid-template-columns:minmax(0,7fr) minmax(14rem,3fr);gap:0;align-items:stretch}.grocery-voucher-form__pos-shell .grocery-voucher-form__goods,.grocery-voucher-form__pos-shell .grocery-voucher-form__panel--payment{min-width:0}.grocery-voucher-form__pos-shell .grocery-voucher-form__goods-body{overflow:visible}.grocery-voucher-form__desktop-goods{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:.75rem}.grocery-voucher-form__desktop-table-wrap{min-width:0;overflow-x:visible;overflow-y:visible}@media (min-width:1024px) and (max-width:1279px){.grocery-voucher-form__desktop-table-wrap{overflow-x:auto}}.grocery-voucher-form__desktop-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:.8125rem}.grocery-voucher-form__desktop-table thead th{position:sticky;top:0;z-index:1;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.5rem .375rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;white-space:nowrap}.grocery-voucher-form__desktop-table tbody td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.375rem .25rem}.grocery-voucher-form__desktop-table tbody tr.is-editing td{background:#f8fafc}.grocery-voucher-form__desktop-table .col-stt{width:2.5rem;text-align:center}.grocery-voucher-form__desktop-table .col-code{width:11%}.grocery-voucher-form__desktop-table .col-name{width:36%}.grocery-voucher-form__desktop-table .col-name .grocery-voucher-form__desktop-cell-input.is-readonly{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grocery-voucher-form__desktop-table .col-unit{width:6%}.grocery-voucher-form__desktop-table .col-qty{width:8%}.grocery-voucher-form__desktop-table .col-amount,.grocery-voucher-form__desktop-table .col-price{width:10%}.grocery-voucher-form__desktop-table .col-action{width:2.75rem;text-align:center}.grocery-voucher-form__desktop-cell-input{width:100%;min-width:0;min-height:2.125rem;border-radius:.375rem;border:1px solid #e2e8f0;background:#fff;padding:.25rem .375rem;font-size:.8125rem;font-variant-numeric:tabular-nums;outline:none}.grocery-voucher-form__desktop-cell-input.is-readonly{background:#f1f5f9;color:#334155;font-weight:600}.grocery-voucher-form__desktop-cell-input:focus{border-color:#2563eb;box-shadow:0 0 0 1px rgb(37 99 235/.2)}.grocery-voucher-form__desktop-code-wrap{position:relative}.grocery-voucher-form__desktop-suggest{position:absolute;z-index:50;left:0;min-width:18rem;top:calc(100% + .2rem);max-height:min(40vh,16rem);overflow-y:auto;border-radius:.625rem;border:1px solid #e2e8f0;background:#fff;box-shadow:0 12px 28px rgb(15 23 42/.16)}.grocery-voucher-form__desktop-suggest-item{display:block;width:100%;border:none;border-bottom:1px solid #f1f5f9;background:transparent;padding:.5rem .625rem;text-align:left;cursor:pointer}.grocery-voucher-form__desktop-suggest-item:hover{background:#f0fdf4}.grocery-voucher-form__desktop-suggest-code{display:block;font-size:.75rem;font-weight:700;color:#0f766e}.grocery-voucher-form__desktop-suggest-name{display:block;margin-top:.125rem;font-size:.8125rem;font-weight:600;color:#0f172a}.grocery-voucher-form__desktop-suggest-meta{display:block;margin-top:.125rem;font-size:.6875rem;color:#64748b}.grocery-voucher-form__desktop-row-delete{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;background:#fef2f2;color:#dc2626;cursor:pointer}.grocery-voucher-form__desktop-empty{padding:1rem .5rem;text-align:center;font-size:.875rem;color:#64748b}.grocery-voucher-form__add-goods--desktop{align-self:stretch;width:100%}.grocery-voucher-form__pos-shell .grocery-voucher-form__panel{display:flex;min-height:0;flex-direction:column;border-radius:0;border:none;box-shadow:none}.grocery-voucher-form__pos-shell .grocery-voucher-form__goods{border-right:1px solid #f1f5f9}.grocery-voucher-form__pos-shell .grocery-voucher-form__panel-head{flex-shrink:0}.grocery-voucher-form__pos-shell .grocery-voucher-form__goods-body,.grocery-voucher-form__pos-shell .grocery-voucher-form__payment-body{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow-y:auto}.grocery-voucher-form__pos-shell .grocery-voucher-form__product-search input{min-height:3rem;font-size:1.0625rem}.grocery-voucher-form__pos-shell .grocery-voucher-form__payment-stack{display:flex;flex:1 1 auto;flex-direction:column;gap:.875rem}.grocery-voucher-form__payment-body .grocery-voucher-form__payment-desktop{display:flex;width:100%;min-height:0;flex:1 1 auto;flex-direction:column}.grocery-voucher-form__actions--pos{display:flex;width:100%;margin-top:auto;padding-top:.75rem;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:.625rem}.grocery-voucher-form__actions--pos button{flex:1 1 calc(50% - 0.3125rem);min-width:0;max-width:none;width:auto;min-height:3rem;font-size:.9375rem}.grocery-voucher-form__actions--pos button:last-child{font-weight:600}.grocery-voucher-form__desktop-empty-hint{margin:0 0 .5rem}.grocery-voucher-form__pos-shell .grocery-voucher-form__payment-body{padding-left:1rem;padding-right:1rem}}@media (max-width:1023px){.grocery-voucher-form__panel--hidden-mobile{display:none}.grocery-voucher-form__header-card{padding:0;background:transparent;box-shadow:none;border:none}.grocery-voucher-form__loai-select{font-size:1rem;min-height:2.75rem}.grocery-voucher-form__more{border-radius:.75rem;border:1px solid #e2e8f0;background:#fff;padding:.5rem .75rem}.grocery-voucher-form__more summary{cursor:pointer;font-size:.875rem;font-weight:600;color:#475569;list-style:none}.grocery-voucher-form__more summary::-webkit-details-marker{display:none}.grocery-voucher-form__payment-total{font-size:1.75rem;line-height:1.2;padding:.75rem 1rem}.grocery-voucher-form__payment-input{font-size:1.25rem;min-height:3rem}}.grocery-voucher-form__product-search{position:relative;margin-bottom:.75rem}.grocery-voucher-form__product-search-row{display:flex;align-items:center;border-radius:.75rem;border:1px solid #cbd5e1;background:#fff;padding:0 .5rem}.grocery-voucher-form__product-search-icon{flex-shrink:0;padding:0 .35rem;font-size:1.125rem;color:#94a3b8}.grocery-voucher-form__product-search-input{flex:1 1 auto;min-width:0;min-height:2.75rem;border:none;background:transparent;padding:.625rem .35rem;font-size:1rem;outline:none}.grocery-voucher-form__product-search-scan{flex-shrink:0;min-width:2.5rem;min-height:2.5rem;border:none;border-radius:.5rem;background:transparent;font-size:1.125rem;color:#64748b;cursor:pointer}.grocery-voucher-form__product-search-list{position:absolute;z-index:20;left:0;right:0;margin-top:.25rem;max-height:14rem;overflow-y:auto;border-radius:.75rem;border:1px solid #e2e8f0;background:#fff;box-shadow:0 8px 24px rgb(15 23 42/.12)}.grocery-voucher-form__product-search-item{display:block;width:100%;background:transparent;text-align:left;padding:.625rem .875rem;border:none;border-bottom:1px solid #f1f5f9;cursor:pointer}.grocery-voucher-form__product-search-item:last-child{border-bottom:none}.grocery-voucher-form__goods-body{min-width:0}@media (max-width:1023px){.grocery-voucher-form__goods-body,.grocery-voucher-form__panel.grocery-voucher-form__goods{overflow:visible}.grocery-voucher-form__mobile-goods{display:flex;flex-direction:column;gap:.75rem;min-width:0}.grocery-voucher-form__mobile-line{border-radius:.75rem;border:1px solid #e2e8f0;background:#fff;padding:.625rem .625rem .75rem;box-shadow:0 1px 2px rgb(15 23 42/.04)}.grocery-voucher-form__mobile-line.is-editing{border-color:#2563eb;box-shadow:0 0 0 1px rgb(37 99 235/.25)}.grocery-voucher-form__mobile-line-row1{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.375rem;align-items:end}.grocery-voucher-form__mobile-line-row2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem;margin-top:.5rem}.grocery-voucher-form__mobile-field{display:flex;min-width:0;flex-direction:column;gap:.2rem}.grocery-voucher-form__mobile-label{font-size:.65rem;font-weight:600;line-height:1.2;color:#64748b}.grocery-voucher-form__mobile-input{width:100%;min-width:0;min-height:2.375rem;border-radius:.5rem;border:1px solid #e2e8f0;background:#fff;padding:.375rem .5rem;font-size:.8125rem;font-variant-numeric:tabular-nums;outline:none}.grocery-voucher-form__mobile-input:disabled{background:#f8fafc;color:#475569}.grocery-voucher-form__mobile-select{padding-right:1.25rem}.grocery-voucher-form__mobile-name-wrap{position:relative}.grocery-voucher-form__mobile-field--name .grocery-voucher-form__mobile-input{font-weight:600;color:#0f172a}.grocery-voucher-form__mobile-line-delete{align-self:center;display:inline-flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;border:none;border-radius:.5rem;background:#fef2f2;color:#dc2626;font-size:1rem;cursor:pointer}.grocery-voucher-form__mobile-suggest{position:absolute;z-index:40;left:0;right:0;top:calc(100% + .25rem);max-height:min(40vh,14rem);overflow-y:auto;border-radius:.75rem;border:1px solid #e2e8f0;background:#fff;box-shadow:0 12px 28px rgb(15 23 42/.16)}.grocery-voucher-form__mobile-suggest-item{display:block;width:100%;border:none;border-bottom:1px solid #f1f5f9;background:transparent;padding:.625rem .75rem;text-align:left;cursor:pointer}.grocery-voucher-form__mobile-suggest-item:last-child{border-bottom:none}.grocery-voucher-form__mobile-suggest-code{display:block;font-size:.75rem;font-weight:700;color:#0f766e}.grocery-voucher-form__mobile-suggest-name{display:block;margin-top:.125rem;font-size:.8125rem;font-weight:600;color:#0f172a}.grocery-voucher-form__mobile-suggest-meta{display:block;margin-top:.125rem;font-size:.6875rem;color:#64748b}}.grocery-voucher-form__goods-cards{display:grid;grid-template-columns:1fr;gap:.625rem}@media (min-width:1024px){.grocery-voucher-form__goods-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.grocery-voucher-form__goods-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.grocery-voucher-form__goods-empty{grid-column:1/-1;padding:1.5rem .5rem;text-align:center;font-size:.875rem;color:#64748b}.grocery-voucher-form__goods-card{min-width:0;border-radius:.75rem;border:1px solid #e2e8f0;background:#fff;padding:.75rem;box-shadow:0 1px 2px rgb(15 23 42/.04)}.grocery-voucher-form__goods-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.grocery-voucher-form__goods-card-code{font-size:.8125rem;font-weight:700;color:#0f172a}.grocery-voucher-form__goods-card-delete{min-width:2rem;min-height:2rem;border:none;border-radius:.375rem;background:#fef2f2;color:#dc2626;font-size:.875rem;cursor:pointer}.grocery-voucher-form__goods-card-name{margin-top:.375rem;font-size:.875rem;font-weight:600;line-height:1.35;color:#1e293b;word-break:break-word}.grocery-voucher-form__goods-card-unit-badge{display:inline-block;margin-top:.375rem;border-radius:.25rem;background:#ecfdf5;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;color:#15803d}.grocery-voucher-form__goods-card-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.625rem;align-items:end}.grocery-voucher-form__goods-card-metric-label{display:block;margin-bottom:.25rem;font-size:.6875rem;color:#64748b}.grocery-voucher-form__goods-card-line-total,.grocery-voucher-form__goods-card-metric-value{font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;color:#0f172a}.grocery-voucher-form__goods-card-line-total{color:#2563eb}.grocery-voucher-form__goods-card-price-input{width:100%;min-height:2.25rem;border-radius:.375rem;border:1px solid #e2e8f0;padding:.25rem .375rem;font-size:.8125rem;font-variant-numeric:tabular-nums}.grocery-voucher-form__goods-card-metric .grocery-voucher-form__qty-stepper{margin-top:0}.grocery-voucher-form__add-goods{width:100%;margin-top:.75rem;min-height:2.75rem;border-radius:.75rem;border:1px dashed #93c5fd;background:#f8fafc;font-size:.9375rem;font-weight:600;color:#2563eb;cursor:pointer}.grocery-voucher-form__qty-stepper{display:flex;align-items:stretch;border-radius:.375rem;overflow:hidden;border:1px solid #e2e8f0}.grocery-voucher-form__qty-minus,.grocery-voucher-form__qty-plus{flex:0 0 2.25rem;min-height:2.25rem;border:none;font-size:1.125rem;font-weight:600;cursor:pointer}.grocery-voucher-form__qty-minus{background:#f1f5f9;color:#64748b}.grocery-voucher-form__qty-plus{background:#2563eb;color:#fff}.grocery-voucher-form__qty-value{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:0;background:#fff;font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0}.grocery-voucher-form__payment-stack{display:flex;flex-direction:column;gap:.75rem}.grocery-voucher-form__more--payment{margin-bottom:.25rem}.grocery-voucher-form__debt-panel summary{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;list-style:none;cursor:pointer}.grocery-voucher-form__debt-panel summary::-webkit-details-marker{display:none}.grocery-voucher-form__debt-panel-summary-text{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:.125rem}.grocery-voucher-form__debt-panel-title{display:flex;align-items:center;gap:.35rem;font-size:.9375rem;font-weight:700;color:#0f172a}.grocery-voucher-form__debt-panel-desc{font-size:.8125rem;font-weight:500;color:#64748b}.grocery-voucher-form__debt-panel-selected{margin-top:.25rem;font-size:.8125rem;color:#166534}.grocery-voucher-form__debt-panel-selected strong{font-weight:700}.grocery-voucher-form__debt-panel-chevron{flex-shrink:0;width:.5rem;height:.5rem;margin-top:.35rem;border-right:2px solid #64748b;border-bottom:2px solid #64748b;transform:rotate(45deg);transition:transform .15s ease}.grocery-voucher-form__debt-panel-chevron.is-open{transform:rotate(-135deg);margin-top:.55rem}.grocery-voucher-form__debt-panel-body{margin-top:.75rem;display:grid;gap:.75rem;border-top:1px solid #f1f5f9;padding-top:.75rem}.grocery-voucher-form__debt-panel.has-error{border-color:#fecaca;background:#fffafb}.grocery-voucher-form__debt-hint{margin:0;font-size:.8125rem;line-height:1.45;color:#b45309}.grocery-voucher-form__debt-hint.is-error{color:#b91c1c}.grocery-voucher-form__debt-hint-link{border:none;background:none;padding:0;font:inherit;font-weight:700;color:#2563eb;text-decoration:underline;cursor:pointer}.grocery-voucher-form__total-card{border-radius:.75rem;border:1px solid #bbf7d0;background:linear-gradient(180deg,#f0fdf4,#ecfdf5);padding:.875rem 1rem}.grocery-voucher-form__total-card-label{display:block;font-size:.875rem;font-weight:600;color:#166534}.grocery-voucher-form__total-card-amount{display:block;margin-top:.25rem;font-size:1.75rem;font-weight:800;line-height:1.15;color:#15803d;font-variant-numeric:tabular-nums}.grocery-voucher-form__money-input-wrap{display:flex;align-items:center;border-radius:.75rem;border:1px solid #e2e8f0;background:#fff;overflow:hidden}.grocery-voucher-form__money-input{flex:1 1 auto;min-width:0;border:none;padding:.625rem .875rem;font-size:1rem;font-variant-numeric:tabular-nums;outline:none}.grocery-voucher-form__money-suffix{padding:0 .875rem;font-size:.9375rem;font-weight:600;color:#64748b}.grocery-voucher-form__pay-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;border-top:1px solid #f1f5f9;padding-top:.75rem}.grocery-voucher-form__pay-stats-label{font-size:.75rem;color:#64748b}.grocery-voucher-form__pay-stats-value{margin-top:.125rem;font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;color:#2563eb}.grocery-voucher-form__pay-stats-value.is-over{color:#dc2626}.grocery-voucher-form__pay-stats-value.is-debt{color:#2563eb}@media (max-width:1023px){.grocery-voucher-form__payment-input{font-size:1.25rem;min-height:3rem}.grocery-voucher-form__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom));margin-top:.25rem}.grocery-voucher-form__actions button{min-height:2.75rem;flex:1 1 calc(50% - 0.25rem);max-width:12rem}}@media (min-width:1024px){.grocery-voucher-form:not(:has(.grocery-voucher-form__pos-shell)) .grocery-voucher-form__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.75rem 0;margin-top:.25rem}.grocery-voucher-form:not(:has(.grocery-voucher-form__pos-shell)) .grocery-voucher-form__actions button{min-height:2.75rem;flex:0 1 auto;max-width:12rem}}@media (max-width:1023px){.grocery-hub-shell:has(.grocery-hub-page--home) .grocery-hub-header{background:var(--g-home-hero-gradient)}.grocery-hub-main:has(.grocery-hub-page--home){--g-home-main-inline-pad:0.75rem;display:flex;flex-direction:column;background:var(--g-bg-app);padding:0}}.grocery-hub-header{--g-header-teal:#008577;--g-header-mint:#b8ebe0;--g-header-mint-icon:#006b46;width:100%;background:var(--g-header-teal);border-bottom:none;padding:max(.5rem,env(safe-area-inset-top)) .75rem .5rem}.grocery-hub-header__inner{display:flex;align-items:center;gap:.5rem;width:100%;max-width:64rem;margin:0 auto;min-width:0}.grocery-hub-header__back{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2.375rem;height:2.375rem;border-radius:9999px;border:1px solid rgb(255 255 255/.4);background:rgb(255 255 255/.08);color:#fff;transition:background var(--g-transition),border-color var(--g-transition)}.grocery-hub-header__back:hover{background:rgb(255 255 255/.16);border-color:rgb(255 255 255/.55)}.grocery-hub-header__page-title{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:700;line-height:1.3;color:#fff}.grocery-hub-brand{display:flex;flex:1;align-items:center;gap:.625rem;min-width:0}.grocery-hub-store-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:9999px;background:var(--g-header-mint);color:var(--g-header-mint-icon)}.grocery-hub-brand__text{min-width:0;flex:1}.grocery-hub-brand__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.grocery-hub-store-name{margin:0;min-width:0;flex:1 1 auto;font-size:.9375rem;font-weight:700;line-height:1.3;color:#fff;overflow-wrap:anywhere;word-break:break-word}.grocery-hub-header__email{margin:.125rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;font-weight:500;line-height:1.35;color:rgb(255 255 255/.72)}.grocery-badge-trial{flex-shrink:0;border-radius:9999px;background:var(--g-trial-bg);padding:.125rem .5rem;font-size:.625rem;font-weight:700;letter-spacing:.04em;color:var(--g-trial-fg)}.grocery-hub-logout{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2.375rem;height:2.375rem;margin:0;padding:0;border-radius:9999px;border:1px solid rgb(255 255 255/.42);background:rgb(255 255 255/.08);color:#fff;cursor:pointer;transition:background var(--g-transition),border-color var(--g-transition),color var(--g-transition)}.grocery-hub-logout:hover{background:rgb(255 255 255/.16);border-color:rgb(255 255 255/.58)}.grocery-hub-logout:active{background:rgb(255 255 255/.22)}.grocery-hub-logout__label{display:none}@media (min-width:1024px){.grocery-hub-header{background:linear-gradient(135deg,#ffffff,#f8fcfa 45%,#f0faf6);border-bottom:1px solid var(--g-border);padding:max(.625rem,env(safe-area-inset-top)) 1.5rem .625rem}.grocery-hub-header__back{width:2.5rem;height:2.5rem;border-radius:var(--g-radius-md);border-color:var(--g-border);background:var(--g-bg-card);color:var(--g-text-muted)}.grocery-hub-header__back:hover{border-color:var(--g-primary);background:var(--g-primary-soft);color:var(--g-primary)}.grocery-hub-header__page-title{color:var(--g-text);font-size:1.125rem}.grocery-hub-store-name{font-size:1rem;color:var(--g-text)}.grocery-hub-header__email{font-size:.75rem;color:var(--g-text-muted)}.grocery-hub-logout{width:auto;min-width:2.5rem;min-height:2.5rem;height:auto;padding:0 .625rem;gap:.375rem;border-radius:var(--g-radius-md);border-color:var(--g-border);background:var(--g-bg-card);color:var(--g-text-muted)}.grocery-hub-logout:hover{border-color:var(--g-primary);color:var(--g-primary);background:var(--g-primary-soft)}.grocery-hub-logout:active{background:#ccebd9;color:var(--g-primary-pressed)}.grocery-hub-logout__label{display:inline;font-size:.75rem;font-weight:600}}.grocery-ui-page-title{margin:0 0 .75rem;font-size:1.125rem;font-weight:700;line-height:1.3;color:var(--g-text)}.grocery-ui-lead{margin:0 0 .75rem;font-size:.875rem;line-height:1.45;color:var(--g-text-muted)}.grocery-ui-search-wrap{position:relative;display:block;margin-bottom:.75rem}.grocery-ui-search-icon{pointer-events:none;position:absolute;left:.75rem;top:50%;width:1rem;height:1rem;transform:translateY(-50%);color:#7a9a8e}.grocery-ui-search{width:100%;min-height:46px;border-radius:var(--g-radius-md);border:1px solid var(--g-border);background:var(--g-bg-card);padding:.625rem .75rem .625rem 2.5rem;font-size:.9375rem;color:var(--g-text);outline:none;transition:border-color var(--g-transition),box-shadow var(--g-transition)}.grocery-ui-search::placeholder{color:#94a3b8}.grocery-ui-search:focus{border-color:var(--g-primary);box-shadow:0 0 0 3px rgb(0 135 90/.15)}.grocery-ui-card-list{display:flex;flex-direction:column;gap:.75rem}@media (min-width:768px){.grocery-ui-card-list{gap:0}}.grocery-ui-card{overflow:hidden;border-radius:var(--g-radius-lg);border:1px solid var(--g-border);background:var(--g-bg-card);padding:1rem;box-shadow:var(--g-shadow-card);transition:box-shadow var(--g-transition)}.grocery-ui-card-title{font-size:1rem;font-weight:700;line-height:1.35;color:var(--g-text);overflow-wrap:anywhere;word-break:break-word}.grocery-ui-card-meta{margin-top:.375rem;font-size:.75rem;line-height:1.4;color:var(--g-text-muted)}.grocery-ui-card-meta strong{font-family:ui-monospace,monospace;font-weight:600;color:var(--g-text)}.grocery-ui-card-divider{margin-top:.75rem;border-top:1px solid var(--g-border);padding-top:.75rem}.grocery-ui-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;font-size:.875rem}.grocery-ui-field-label{font-size:.75rem;font-weight:600;letter-spacing:.01em;color:var(--g-text-muted)}.grocery-ui-debt-hero{font-size:1.0625rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.grocery-ui-field-value{margin-top:.25rem;color:var(--g-text)}.grocery-ui-field-value--mono{font-family:ui-monospace,monospace;font-size:.75rem}.grocery-ui-field-value--amount{font-weight:700;font-variant-numeric:tabular-nums}.grocery-ui-field-value--debt-pos{color:#b45309}.grocery-ui-field-value--debt-neg{color:#0369a1}.grocery-ui-btn-detail{display:flex;min-height:44px;width:100%;align-items:center;justify-content:center;margin-top:1rem;border-radius:var(--g-radius-md);border:1px solid rgb(0 135 90/.35);background:var(--g-primary-soft);font-size:.875rem;font-weight:600;color:var(--g-primary-pressed);transition:background var(--g-transition),border-color var(--g-transition),transform .12s ease}.grocery-ui-btn-detail:hover{background:#ccebd9;border-color:var(--g-primary)}.grocery-ui-btn-detail:active{transform:scale(.98);background:#b8e4cc}.grocery-ui-btn-detail--inline{display:inline-flex;width:auto;min-height:36px;margin-top:0;padding:0 .75rem;font-size:.75rem}.grocery-ui-panel{border-radius:var(--g-radius-lg);border:1px solid var(--g-border);background:var(--g-bg-card);padding:1rem;box-shadow:var(--g-shadow-card)}.grocery-ui-price-input{width:100%;min-width:0;border-radius:10px;border:1px solid var(--g-border);background:var(--g-bg-card);padding:.375rem .5rem;text-align:right;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--g-text);transition:border-color var(--g-transition),box-shadow var(--g-transition)}.grocery-ui-price-input:focus{border-color:var(--g-primary);box-shadow:0 0 0 3px rgb(0 135 90/.12);outline:none}.grocery-ui-price-input.is-error{border-color:var(--g-danger)}.grocery-ui-price-input.is-saved{border-color:var(--g-primary)}.grocery-ui-table-wrap{display:none;overflow-x:auto;border-radius:var(--g-radius-lg);border:1px solid var(--g-border);background:var(--g-bg-card);box-shadow:var(--g-shadow-card)}@media (min-width:768px){.grocery-ui-table-wrap{display:block}}.grocery-ui-card-list--mobile{display:flex}@media (min-width:768px){.grocery-ui-card-list--mobile{display:none}}.grocery-ui-empty{border-radius:var(--g-radius-lg);border:1px solid var(--g-border);padding:2rem 1rem;text-align:center;color:var(--g-text-muted)}.grocery-ui-back-btn,.grocery-ui-empty{background:var(--g-bg-card);font-size:.875rem}.grocery-ui-back-btn{display:inline-flex;min-height:44px;align-items:center;gap:.5rem;border-radius:var(--g-radius-md);border:1px solid var(--g-border);padding:0 .75rem;font-weight:600;color:var(--g-text);transition:background var(--g-transition),border-color var(--g-transition)}.grocery-ui-back-btn:hover{border-color:var(--g-primary);background:var(--g-primary-soft);color:var(--g-primary-pressed)}.grocery-ui-spinner{height:2.5rem;width:2.5rem;animation:spin 1s linear infinite;border-radius:9999px;border:4px solid var(--g-primary-soft);border-top-color:var(--g-primary)}@keyframes spin{to{transform:rotate(1turn)}}.grocery-hub-page{width:100%;gap:1rem}.grocery-hub-page--home{gap:0;min-height:0}@media (max-width:1023px){.grocery-hub-page--home{flex:1;min-height:100%;width:100%;max-width:none;margin:0}.grocery-hub-hero{position:relative;z-index:1;display:flex;flex-direction:column;gap:.625rem;width:100%;box-sizing:border-box;background:var(--g-home-hero-gradient);padding-top:.25rem;padding-bottom:.625rem;padding-left:var(--g-home-main-inline-pad);padding-right:var(--g-home-main-inline-pad)}.grocery-hub-hero:before{content:"";pointer-events:none;position:absolute;inset:-35% -15% 0;background:var(--g-home-hero-pattern)}.grocery-hub-page--home .grocery-hub-greeting{position:relative;z-index:1;padding:.25rem 0 .375rem}.grocery-hub-page--home .grocery-hub-greeting__date{font-size:.8125rem;color:rgb(255 255 255/.82)}.grocery-hub-page--home .grocery-hub-greeting__title{font-size:1.375rem;color:#fff}.grocery-hub-page--home .grocery-hub-quick-grid{position:relative;z-index:1;grid-template-columns:1fr;gap:.625rem}.grocery-hub-page--home .grocery-hub-quick{flex-direction:row;align-items:center;min-height:4.625rem;gap:.75rem;padding:.875rem 1rem;border-radius:1rem}.grocery-hub-page--home .grocery-hub-quick--primary{background:linear-gradient(92deg,#169a4a,#22c55e 42%,#4ade80);box-shadow:0 8px 22px rgb(34 197 94/.38),inset 0 1px 0 rgb(255 255 255/.22)}.grocery-hub-page--home .grocery-hub-quick--teal{background:linear-gradient(92deg,#5f8f7a,#7fad96 48%,#9ec4b0);box-shadow:0 8px 20px rgb(0 45 38/.2),inset 0 1px 0 rgb(255 255 255/.16)}.grocery-hub-page--home .grocery-hub-quick__icon{width:1.625rem;height:1.625rem;margin-bottom:0;flex-shrink:0}.grocery-hub-page--home .grocery-hub-quick__text{flex:1;min-width:0;text-align:left}.grocery-hub-page--home .grocery-hub-quick__title{display:block;font-size:.9375rem;line-height:1.35}.grocery-hub-page--home .grocery-hub-quick__subtitle{display:block;margin-top:.125rem;font-size:.6875rem;opacity:.88}.grocery-hub-quick__go{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:9999px;background:rgb(255 255 255/.22);color:#fff}.grocery-hub-home-sheet{position:relative;z-index:2;flex:1 1 auto;min-height:8rem;width:100%;box-sizing:border-box;margin-top:-.375rem;margin-left:0;margin-right:0;border-radius:2rem 2rem 0 0;background:#fff;box-shadow:0 -10px 36px rgb(0 40 32/.16);padding:1.25rem var(--g-home-main-inline-pad);padding-bottom:calc(1rem + var(--mili-bottom-nav-height, 0px) + env(safe-area-inset-bottom))}.grocery-hub-home-sheet .grocery-hub-voucher-grid{grid-template-columns:1fr 1fr;gap:.625rem}.grocery-hub-home-sheet .grocery-hub-voucher-tile{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.5rem;min-height:6.75rem;padding:.75rem;text-align:left;border-radius:1rem;border:1px solid #eef3f0;background:#fff;box-shadow:0 2px 16px rgb(36 52 71/.08)}.grocery-hub-voucher-tile__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.375rem}.grocery-hub-home-sheet .grocery-hub-voucher-icon{width:2.375rem;height:2.375rem;flex-shrink:0;border-radius:.75rem}.grocery-hub-voucher-tile__body{display:flex;flex-direction:column;gap:.125rem;min-width:0}.grocery-hub-home-sheet .grocery-hub-voucher-label{font-size:.875rem;font-weight:700;line-height:1.3;color:#1e3a4a}.grocery-hub-home-sheet .grocery-hub-voucher-hint{font-size:.625rem;color:#64748b}.grocery-hub-voucher-tile__go{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border-radius:9999px;background:#f1f5f4;color:#94a3b8}}@media (min-width:1024px){.grocery-hub-page--home{max-width:32rem;margin-left:auto;margin-right:auto}.grocery-hub-hero{background:transparent;padding-left:0;padding-right:0}.grocery-hub-home-sheet{flex:none;min-height:0;margin:0;padding:0;background:transparent;border-radius:0;box-shadow:none}.grocery-hub-quick__go,.grocery-hub-voucher-tile__go,.grocery-hub-voucher-tile__head{display:none}.grocery-hub-voucher-tile__body{display:contents}.grocery-hub-page--home{gap:1rem}}.grocery-hub-greeting{text-align:center;padding:.25rem 0 .125rem}.grocery-hub-greeting__date{margin:0;font-size:.875rem;color:var(--g-text-muted)}.grocery-hub-greeting__title{margin:.25rem 0 0;font-size:1.125rem;font-weight:700;line-height:1.3;color:var(--g-text)}.grocery-hub-quick-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width:480px){.grocery-hub-quick-grid{grid-template-columns:1fr 1fr}}.grocery-hub-quick{min-height:7.25rem;align-items:flex-start;justify-content:center;border-radius:var(--g-radius-lg);padding:1rem;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow var(--g-transition)}.grocery-hub-quick,.grocery-hub-quick__text{display:flex;flex-direction:column;gap:.125rem}.grocery-hub-quick:active{transform:scale(.98)}.grocery-hub-quick--primary{color:#fff;background:linear-gradient(155deg,var(--g-primary) 0,var(--g-primary-pressed) 100%);box-shadow:0 4px 14px rgb(0 135 90/.22)}.grocery-hub-quick--teal{color:#fff;background:linear-gradient(155deg,var(--g-teal) 0,#0d9488 100%);box-shadow:0 4px 14px rgb(20 184 166/.2)}.grocery-hub-quick__icon{width:2.25rem;height:2.25rem;margin-bottom:.375rem;opacity:.96}.grocery-hub-quick__title{font-size:1rem;font-weight:700;line-height:1.35}.grocery-hub-quick__subtitle{font-size:.75rem;font-weight:500;opacity:.92}.grocery-hub-voucher-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.grocery-hub-voucher-tile{display:flex;min-height:7.5rem;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;border-radius:var(--g-radius-lg);border:1px solid var(--g-border);background:var(--g-bg-card);padding:.875rem .5rem;text-align:center;text-decoration:none;color:var(--g-text);box-shadow:var(--g-shadow-card);transition:transform .15s ease,box-shadow var(--g-transition),border-color var(--g-transition)}.grocery-hub-voucher-tile:hover{border-color:rgb(0 135 90/.35);box-shadow:0 6px 18px rgb(36 52 71/.08)}.grocery-hub-voucher-tile:active{transform:scale(.98)}.grocery-hub-voucher-icon{display:inline-flex;height:2.75rem;width:2.75rem;align-items:center;justify-content:center;border-radius:var(--g-radius-md)}.grocery-hub-voucher-icon--ban-hang{background:#ddf6e8;color:#00875a}.grocery-hub-voucher-icon--nhap-hang{background:#dbeafe;color:#2563eb}.grocery-hub-voucher-icon--thu-no-mua{background:#d1fae5;color:#059669}.grocery-hub-voucher-icon--tra-no-ban{background:#ffedd5;color:#ea580c}.grocery-hub-voucher-label{font-size:.9375rem;font-weight:700;line-height:1.3}.grocery-hub-voucher-hint{font-size:.6875rem;font-weight:500;line-height:1.25;color:var(--g-text-muted)}.grocery-hub-bottom-nav[data-bottom-nav-placeholder]{pointer-events:none;visibility:hidden}.grocery-hub-bottom-nav{position:sticky;bottom:0;z-index:40;padding-bottom:env(safe-area-inset-bottom);background:var(--g-bg-card);border-top:1px solid var(--g-border)}.grocery-hub-shell .mili-app-bottom-nav{border-top-color:var(--g-border);box-shadow:0 -4px 16px -8px rgb(36 52 71/.12)}.grocery-hub-shell .mili-app-bottom-nav__row{min-height:56px}.grocery-hub-shell .mili-app-bottom-nav__item{min-height:48px;color:#7a8f99;transition:color var(--g-transition),background var(--g-transition)}.grocery-hub-shell .mili-app-bottom-nav__item.is-active{color:var(--g-primary);background:var(--g-primary-soft)}.grocery-hub-shell .mili-app-bottom-nav__item.is-active:before{background:var(--g-primary);width:2rem;height:3px}.grocery-ledger-workspace{--grocery-ledger-ui-font:inherit;font-family:var(--grocery-ledger-ui-font)}.grocery-ledger-tabs{display:flex;gap:.375rem;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:.125rem;border-bottom:1px solid #e2e8f0}.grocery-ledger-tabs__tab{flex:0 0 auto;min-height:2.75rem;padding:.5rem 1rem;border:none;border-radius:.75rem .75rem 0 0;background:transparent;font-family:var(--grocery-ledger-ui-font);font-size:.875rem;font-weight:600;color:#64748b;white-space:nowrap;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.grocery-ledger-tabs__tab:hover{color:#334155;background:#f8fafc}.grocery-ledger-tabs__tab.is-active{color:#006b46;background:#ecfdf5;box-shadow:inset 0 -2px 0 #00875a}.grocery-ledger-active-title{margin-top:.75rem;padding:.625rem .25rem 0}.grocery-ledger-active-title__name{margin:0;font-family:var(--grocery-ledger-ui-font);font-size:1.0625rem;font-weight:700;line-height:1.35;color:#0f172a}.grocery-ledger-active-title__desc{margin:.25rem 0 0;font-family:var(--grocery-ledger-ui-font);font-size:.8125rem;line-height:1.45;color:#64748b}.grocery-ledger-grid-wrap{width:100%}.grocery-ledger-ag-grid{--grocery-ledger-ui-font:inherit;--ag-font-family:var(--grocery-ledger-ui-font);--ag-font-size:0.875rem;--ag-row-height:40px;--ag-header-height:42px}.grocery-ledger-ag-grid,.grocery-ledger-ag-grid .ag-cell,.grocery-ledger-ag-grid .ag-header-cell,.grocery-ledger-ag-grid .ag-header-group-cell{font-family:var(--grocery-ledger-ui-font)}.grocery-ledger-ag-grid .ag-header-cell.grocery-ledger-header-money .ag-header-cell-label{flex-direction:row-reverse}.grocery-ledger-ag-grid .ag-header-cell.grocery-ledger-header-money .ag-header-cell-text{text-align:right;width:100%}.grocery-ledger-ag-grid .ag-cell.grocery-ledger-cell-money{justify-content:flex-end;text-align:right}.grocery-ledger-ag-grid .ag-cell.grocery-ledger-cell-money .ag-cell-value{text-align:right;width:100%}.grocery-ledger-ag-grid .ag-root-wrapper{border:none;border-radius:0}.grocery-ledger-cell-negative{color:#be123c;font-weight:600}.grocery-ledger-ag-grid .ag-row.grocery-ledger-row-total{font-weight:600;background-color:#f8fafc}.grocery-ledger-ag-grid .ag-row.grocery-ledger-row-total .ag-cell{border-top:2px solid #cbd5e1;background-color:#f8fafc}.grocery-ledger-ag-grid .ag-grid-pinned-bottom-rows{border-top:none}.grocery-ledger-toolbar .rounded-2xl{margin-bottom:0}.grocery-hub-bottom-nav .mili-app-bottom-nav__label{font-size:.625rem;line-height:1.15;max-width:4.75rem;overflow:hidden;text-overflow:ellipsis;font-weight:600}