:root{--bg:#f0f2f5;--surface:#fff;--text:#1a1a1a;--muted:#6b7280;--header:#1a3a5c;--header-hover:#245078;--accent:#c75b12;--accent-hover:#b04f0f;--accent-soft:#fff4eb;--border:#e5e7eb;--success:#2d6a4f;--success-soft:#d9ead3;--danger:#b42318;--shadow:0 2px 12px #1a3a5c14;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1200px,100% - 2rem);margin:0 auto}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--header);color:#fff;z-index:100;box-shadow:var(--shadow);position:sticky;top:0}.header__inner{grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding:.85rem 0;display:grid}.logo{letter-spacing:-.02em;white-space:nowrap;font-size:1.35rem;font-weight:700}.header__search{width:100%;max-width:520px;color:var(--text);background:#fff;border:none;border-radius:999px;margin:0 auto;padding:.65rem 1.1rem;font-size:.95rem}.header__search::placeholder{color:#9ca3af}.header__actions{align-items:center;gap:1rem;display:flex}.header__login{color:#fff;font-size:.95rem}.header__login:hover{opacity:.85}.cart-btn{color:var(--header);white-space:nowrap;background:#fff;border-radius:999px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600}.cart-btn:hover{background:#f3f4f6}.main{flex:1;padding:1.5rem 0 3rem}.footer{background:var(--header);color:#ffffffd9;padding:1.25rem 0;font-size:.9rem}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.4rem;font-family:inherit;font-size:.95rem;transition:all .2s;display:inline-flex}.btn--primary{background:var(--accent);color:#fff;font-weight:600}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{color:inherit;border:1px solid var(--border);background:0 0}.btn--ghost:hover{background:var(--bg)}.btn--header{color:#fff;background:0 0;border:1px solid #ffffff59;padding:.5rem 1rem}.btn--header:hover{background:#ffffff1a}.btn--sm{padding:.5rem 1rem;font-size:.85rem}.btn--full{width:100%}.category-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.category-tab{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:999px;padding:.55rem 1.1rem;font-family:inherit;font-size:.9rem;transition:all .2s}.category-tab:hover{border-color:var(--accent)}.category-tab--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.catalog__layout{grid-template-columns:220px 1fr;gap:1.5rem;display:grid}.filters{background:var(--surface);border:1px solid var(--border);border-radius:16px;height:fit-content;padding:1.25rem;position:sticky;top:80px}.filters h2{margin-bottom:1rem;font-size:1rem}.filter-group{margin-bottom:1.25rem}.filter-group h3{margin-bottom:.6rem;font-size:.85rem;font-weight:600}.filter-check{cursor:pointer;align-items:center;gap:.5rem;margin-bottom:.45rem;font-size:.9rem;display:flex}.filter-check input{width:16px;height:16px;accent-color:var(--accent)}.catalog__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;transition:box-shadow .2s;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow)}.product-card__image-wrap{background:#f3f4f6;display:block}.product-card__image{object-fit:cover;width:100%;height:180px}.product-card__body{text-align:center;flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex}.product-card__title{font-size:.95rem;font-weight:700}.product-card__price{color:var(--accent);font-size:1.05rem;font-weight:700}.product-card__footer{margin-top:auto}.product-card .btn--primary{width:100%}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;font-size:.85rem;display:flex}.breadcrumbs span{color:var(--muted)}.product-page__grid{grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:.5rem;display:grid}.product-page__image-wrap{border:1px solid var(--border);background:#f3f4f6;border-radius:16px;overflow:hidden}.product-page__image{aspect-ratio:1;object-fit:cover;width:100%}.product-page__subtitle{color:var(--muted);margin-bottom:.75rem}.product-page__flavor{margin-bottom:1.25rem}.product-page__price{color:var(--accent);margin:1rem 0;font-size:1.75rem;font-weight:700}.option-group{margin-bottom:1.25rem}.option-group h3{margin-bottom:.6rem;font-size:.9rem;font-weight:600}.option-pills{flex-wrap:wrap;gap:.5rem;display:flex}.option-pill{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;transition:all .2s}.option-pill:hover{border-color:var(--accent)}.option-pill--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.product-page__actions{align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.product-page__note{color:var(--muted);margin-top:1rem;font-size:.85rem}.qty-control{border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;display:flex;overflow:hidden}.qty-control button{background:var(--bg);cursor:pointer;border:none;width:36px;height:36px;font-size:1.1rem}.qty-control span{text-align:center;min-width:36px}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem}.cart-page__layout,.checkout-page__layout{grid-template-columns:1fr 340px;gap:1.5rem;margin-top:1.25rem;display:grid}.page-title{font-size:1.75rem;font-weight:700}.cart-item{background:var(--surface);border:1px solid var(--border);border-radius:16px;grid-template-columns:90px 1fr auto auto auto;align-items:center;gap:1rem;margin-bottom:.75rem;padding:1rem;display:grid}.cart-item img{object-fit:cover;background:#f3f4f6;border-radius:12px;width:90px;height:90px}.cart-item__category{color:var(--muted);font-size:.8rem}.cart-item__remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.2rem}.summary-row{justify-content:space-between;padding:.4rem 0;font-size:.95rem;display:flex}.summary-row--discount{color:var(--success)}.summary-row--total{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.75rem;font-size:1.15rem;font-weight:700}.summary-row--total .summary-row__value{color:var(--accent)}.promo-block{gap:.5rem;margin:1rem 0;display:flex}.promo-block input{border:1px solid var(--border);border-radius:999px;flex:1;padding:.6rem .75rem;font-size:.95rem}.bonus-toggle{background:var(--accent-soft);cursor:pointer;border-radius:12px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.bonus-toggle input{width:18px;height:18px;accent-color:var(--accent)}.checkout-form label{color:var(--muted);flex-direction:column;gap:.35rem;margin-bottom:.85rem;font-size:.9rem;display:flex}.checkout-form input,.checkout-form select{border:1px solid var(--border);background:#fff;border-radius:12px;width:100%;padding:.65rem .85rem;font-family:inherit;font-size:.95rem}.checkout-form h2{color:var(--text);margin:1.25rem 0 .75rem;font-size:1rem}.checkout-form h2:first-child{margin-top:0}.radio-group{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.radio-option{cursor:pointer;color:var(--text);align-items:center;gap:.6rem;font-size:.95rem;display:flex}.radio-option input{width:18px;height:18px;accent-color:var(--accent)}.auth-page{place-items:center;min-height:60vh;display:grid}.auth-form{width:min(420px,100%)}.auth-form h1{margin-bottom:.5rem}.auth-form label{color:var(--muted);flex-direction:column;gap:.35rem;margin-bottom:1rem;font-size:.9rem;display:flex}.auth-form input{border:1px solid var(--border);border-radius:12px;padding:.65rem .85rem;font-size:.95rem}.auth-link{text-align:center;margin-top:1rem;font-size:.9rem}.success-page{place-items:center;min-height:50vh;display:grid}.success-card{text-align:center;width:100%;max-width:480px}.success-icon{background:var(--success-soft);width:56px;height:56px;color:var(--success);border-radius:50%;place-items:center;margin:0 auto 1rem;font-size:1.75rem;display:grid}.success-card h1{margin-bottom:.5rem;font-size:1.35rem}.success-paid{color:var(--accent);margin-bottom:1rem;font-size:1.5rem;font-weight:700}.bonus-badge{background:var(--success-soft);color:var(--success);border-radius:999px;margin:1rem 0;padding:.4rem 1rem;font-size:.9rem;display:inline-block}.order-items-list{color:var(--muted);margin:1rem 0;font-size:.95rem;list-style:none}.order-items-list li{padding:.25rem 0}.profile-page__grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0;display:grid}.loyalty-balance{color:var(--accent);font-size:2rem;font-weight:700}.transactions{color:var(--muted);font-size:.9rem;list-style:none}.transactions li{border-bottom:1px solid var(--border);padding:.3rem 0}.orders-table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.9rem}.orders-table th,.orders-table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem}.orders-table th{color:var(--muted);font-weight:600}.status{background:var(--bg);border-radius:999px;padding:.2rem .55rem;font-size:.8rem;display:inline-block}.status--paid{color:var(--success);background:#d8f3dc}.status--processing{color:#856404;background:#fff3cd}.status--shipped{color:#004085;background:#cce5ff}.status--delivered{color:var(--success);background:#d8f3dc}.admin-stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0;display:grid}.stat-card{flex-direction:column;gap:.5rem;display:flex}.stat-card strong{color:var(--accent);font-size:1.5rem}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger);margin-bottom:.5rem;font-size:.9rem}.empty-state{text-align:center;padding:4rem 0}.empty-state h1{margin-bottom:1.5rem}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;display:flex}@media (width<=900px){.header__inner{grid-template-columns:1fr;gap:.75rem}.header__search{max-width:none}.catalog__layout,.cart-page__layout,.checkout-page__layout,.product-page__grid,.profile-page__grid,.admin-stats{grid-template-columns:1fr}.filters{position:static}.cart-item{grid-template-rows:auto auto;grid-template-columns:70px 1fr}}
