:root{--text:#1a1a1a;--text-muted:#555;--bg:#fff;--surface:#f7f7f7;--border:#e5e5e5;--accent:#111;--accent-hover:#333;--success:#1e7e34;--success-bg:#e9f7ef;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}#root{width:100%;min-height:100svh}h1,h2,h3{margin:0;font-weight:600;line-height:1.2}p{margin:0}button{font-family:inherit}img{max-width:100%;display:block}.app-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:1rem;display:flex}.app-nav{align-items:center;gap:1rem;display:flex}.app-nav-link{color:var(--text-muted);font-size:.95rem;font-weight:500;text-decoration:none}.app-nav-link:hover{color:var(--text)}.app-logo{color:var(--text);font-size:1.25rem;font-weight:700;text-decoration:none}.cart-button{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:1rem;display:inline-flex;position:relative}.cart-button__icon{font-size:1.25rem}.cart-button__count{background:var(--accent);color:#fff;border-radius:9999px;min-width:1.25rem;padding:.125rem .375rem;font-size:.75rem;font-weight:600}.cart-page{width:100%;max-width:1200px;margin:0 auto;padding:2rem 1rem}.cart-page h1{margin-bottom:1.5rem;font-size:2rem}.cart-empty{text-align:center;border:1px solid var(--border);background:#fff;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:2rem;max-width:480px;margin:2rem auto;padding:3rem 1rem;display:flex}.cart-empty__title{color:var(--text);margin:0;font-size:1.5rem;font-weight:600}.cart-list{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}.cart-item{border:1px solid var(--border);background:#fff;border-radius:.75rem;grid-template-columns:80px 1fr;align-items:center;gap:1rem;padding:1rem;display:grid}.cart-item__image{background:var(--surface);border-radius:.5rem;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.cart-item__image img{object-fit:cover;width:100%;height:100%}.cart-item__placeholder{color:#999;font-size:.75rem}.cart-item__details{flex-direction:column;gap:.25rem;display:flex}.cart-item__name{font-size:1.125rem;font-weight:600}.cart-item__price{color:var(--text-muted);font-size:.95rem}.cart-item__quantity{grid-column:1/-1;align-items:center;gap:.5rem;display:flex}.cart-item__quantity button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:600;display:flex}.cart-item__quantity button:disabled{opacity:.4;cursor:not-allowed}.cart-item__quantity span{text-align:center;min-width:2rem;font-weight:600}.cart-item__subtotal{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.cart-item__label{color:var(--text-muted);font-size:.9rem}.cart-item__remove{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:.375rem;grid-column:1/-1;padding:.5rem 1rem;font-weight:500}.cart-footer{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:1rem;padding-top:1.5rem;display:flex}.cart-total{font-size:1.5rem;font-weight:700}.cart-clear{color:#666;cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;text-decoration:underline}@media (width>=768px){.cart-empty{padding:4rem 2rem}.cart-item{grid-template-columns:100px 1fr auto auto auto;gap:1.5rem}.cart-item__image{width:100px;height:100px}.cart-item__quantity,.cart-item__subtotal,.cart-item__remove{grid-column:auto}.cart-item__subtotal{flex-direction:column;align-items:flex-end;gap:.25rem}}.home-page{width:100%;max-width:1200px;margin:0 auto;padding:2rem 1rem}.home-page__title{margin-bottom:1.5rem;font-size:2rem}.home-status{color:var(--text-muted);padding:1rem 0}.home-status--error{color:#c0392b}.home-products{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;display:grid}.home-product-card{border:1px solid var(--border);color:inherit;background:#fff;border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1.5rem;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex}.home-product-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.home-product-card__image{aspect-ratio:4/3;background:#f5f5f5;border-radius:.5rem;width:100%;margin-bottom:.5rem;overflow:hidden}.home-product-card__image img{object-fit:cover;width:100%;height:100%;display:block}.home-product-card__name{font-size:1.25rem;font-weight:700}.home-product-card__description{color:var(--text-muted);font-size:.95rem;line-height:1.4}.home-product-card__prices{align-items:center;gap:.75rem;margin-top:auto;display:flex}.home-product-card__price{color:var(--accent);font-size:1.25rem;font-weight:700}.home-product-card__compare{color:var(--text-muted);font-size:1rem;text-decoration:line-through}.back-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:.5rem;align-items:center;gap:.25rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.95rem;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.back-button:hover{background:var(--surface);border-color:var(--accent)}.product-page{text-align:left;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.product-hero{flex-direction:column;gap:2rem;padding:1rem 0 3rem;display:flex}.product-gallery{width:100%}.product-gallery__main{aspect-ratio:4/3;background:var(--surface);border-radius:.75rem;justify-content:center;align-items:center;width:100%;margin-bottom:1rem;display:flex;overflow:hidden}.product-gallery__main img{object-fit:cover;width:100%;height:100%}.product-gallery__placeholder{color:#999;font-size:1rem}.product-gallery__thumbs{flex-wrap:wrap;gap:.5rem;display:flex}.product-gallery__thumb{cursor:pointer;background:var(--surface);border:2px solid #0000;border-radius:.5rem;width:72px;height:72px;padding:0;overflow:hidden}.product-gallery__thumb--active{border-color:var(--accent)}.product-gallery__thumb img{object-fit:cover;width:100%;height:100%}.product-info{flex-direction:column;gap:1rem;display:flex}.product-info__name{font-size:2rem;font-weight:700}.product-info__description{color:var(--text-muted);font-size:1.1rem;line-height:1.6}.product-price{flex-wrap:wrap;align-items:center;gap:1rem;margin:.5rem 0;display:flex}.product-price__current{font-size:2rem;font-weight:700}.product-price__compare{color:#888;font-size:1.25rem;text-decoration:line-through}.product-discount{background:var(--success-bg);color:var(--success);border-radius:9999px;padding:.25rem .75rem;font-size:.875rem;font-weight:600;display:inline-block}.product-cta{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:100%;padding:1rem 1.5rem;font-size:1.125rem;font-weight:600;transition:background .2s;display:inline-flex}.product-cta:hover{background:var(--accent-hover)}.product-cta--secondary{max-width:320px;margin:0 auto}.product-benefits{padding:2rem 0}.product-benefits__title{text-align:center;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.product-benefits__grid{grid-template-columns:1fr;gap:1.5rem;display:grid}.product-benefit{border:1px solid var(--border);background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.product-benefit__title{margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.product-benefit__description{color:var(--text-muted);font-size:1rem;line-height:1.5}.product-section-cta{padding:1rem 0 3rem}@media (width>=768px){.product-hero{flex-direction:row;align-items:flex-start;gap:3rem;padding:2rem 0 4rem}.product-gallery,.product-info{flex:50%}.product-benefits__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.product-page{padding:2rem 1.5rem}.product-info__name{font-size:2.5rem}.product-benefits__grid{grid-template-columns:repeat(3,1fr)}}.checkout-page{width:100%;max-width:1200px;margin:0 auto;padding:2rem 1rem}.checkout-page__title{margin-bottom:1.5rem;font-size:2rem}.checkout-layout{flex-direction:column;gap:2rem;display:flex}.checkout-form,.checkout-summary{border:1px solid var(--border);background:#fff;border-radius:.75rem;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.checkout-form__subtitle{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.checkout-field{flex-direction:column;gap:.375rem;display:flex}.checkout-field label{font-size:.95rem;font-weight:500}.checkout-field input{border:1px solid var(--border);background:#fff;border-radius:.5rem;padding:.75rem 1rem;font-size:1rem}.checkout-field input:focus{outline:2px solid var(--accent);outline-offset:2px}.checkout-field input::placeholder{color:#999}.checkout-error{color:#c0392b;font-size:.875rem}.checkout-error--global{background:#ffeaea;border-radius:.5rem;padding:.75rem}.checkout-items{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.checkout-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.checkout-item:last-child{border-bottom:none}.checkout-item__name{font-weight:600}.checkout-item__qty{color:var(--text-muted);font-size:.9rem}.checkout-item__price{text-align:right}.checkout-item__subtotal{font-weight:600}.checkout-total{border-top:1px solid var(--border);padding-top:1rem;font-size:1.5rem;font-weight:700}.checkout-payment{border:none;margin:0;padding:0}.checkout-payment__options{flex-direction:column;gap:.75rem;display:flex}.checkout-payment__option{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:.5rem;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.checkout-payment__option:hover{border-color:var(--accent)}.checkout-payment__option--disabled,.checkout-payment__option--disabled:hover{background:var(--surface);border-color:var(--border);cursor:not-allowed;opacity:.7}.checkout-payment__option input[type=radio]{accent-color:var(--accent);margin-top:.25rem}.checkout-payment__details{flex-direction:column;gap:.25rem;display:flex}.checkout-payment__label{font-weight:600}.checkout-payment__description{color:var(--text-muted);font-size:.9rem}@media (width>=768px){.checkout-layout{flex-direction:row;align-items:flex-start}.checkout-form{flex:55%}.checkout-summary{flex:35%}}.order-confirmation-page{justify-content:center;align-items:center;width:100%;max-width:1200px;min-height:60vh;margin:0 auto;padding:2rem 1rem;display:flex}.order-confirmation-card{text-align:center;border:1px solid var(--border);background:#fff;border-radius:.75rem;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:480px;padding:2.5rem 1.5rem;display:flex}.order-confirmation__icon{color:#155724;background:#d4edda;border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;font-size:2rem;font-weight:700;line-height:1;display:flex}.order-confirmation__title{color:var(--text);margin:0;font-size:1.75rem;font-weight:700}.order-confirmation__message{color:var(--text-muted);margin:0;font-size:1rem}.order-confirmation__order{flex-direction:column;gap:.5rem;display:flex}.order-confirmation__label{color:var(--text-muted);margin:0;font-size:.9rem}.order-confirmation__number{color:var(--text);margin:0;font-size:1.25rem;font-weight:700}.order-confirmation__button{margin-top:1rem}@media (width>=768px){.order-confirmation-card{padding:3rem 2rem}}.admin-page{width:100%;max-width:1200px;margin:0 auto;padding:2rem 1rem}.admin-header{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-header h1{font-size:1.75rem}.admin-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem 1rem;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.admin-button--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-button--danger{color:#b71c1c;background:#ffebee;border-color:#ffcdd2}.admin-button:disabled{opacity:.6;cursor:not-allowed}.admin-status{background:var(--surface);border-radius:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.admin-status--success{background:var(--success-bg);color:var(--success)}.admin-status--error{color:#b71c1c;background:#ffebee}.admin-table{border-collapse:collapse;border:1px solid var(--border);background:#fff;border-radius:.75rem;width:100%;overflow:hidden}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem}.admin-table th{background:var(--surface);font-weight:600}.admin-badge{border-radius:9999px;padding:.25rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.admin-badge--active{background:var(--success-bg);color:var(--success)}.admin-badge--inactive{color:#666;background:#f5f5f5}.admin-form{border:1px solid var(--border);background:#fff;border-radius:.75rem;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.admin-field{flex-direction:column;gap:.35rem;display:flex}.admin-field label{font-size:.9rem;font-weight:500}.admin-field input,.admin-field textarea{border:1px solid var(--border);border-radius:.5rem;padding:.6rem .75rem;font-family:inherit;font-size:1rem}.admin-field__error{color:#b71c1c;font-size:.85rem}.admin-field--inline{flex-direction:row;align-items:center;gap:.5rem}.admin-row{gap:1rem;display:grid}.admin-section{border:1px solid var(--border);background:#fff;border-radius:.75rem;margin-bottom:1.5rem;padding:1.25rem}.admin-section h2{margin-bottom:1rem;font-size:1.25rem}.admin-inline-form{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.admin-inline-form input,.admin-list__fields input{border:1px solid var(--border);border-radius:.5rem;min-width:180px;padding:.6rem .75rem;font-family:inherit;font-size:1rem}.admin-input--wide{flex:1;min-width:260px}.admin-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.admin-list__item{border:1px solid var(--border);border-radius:.5rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.admin-list__fields{flex-wrap:wrap;flex:1;gap:.75rem;display:flex}.admin-list__actions{gap:.5rem;display:flex}.admin-image-preview{background:var(--surface);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.admin-image-preview img{object-fit:cover;width:100%;height:100%}.admin-nav{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.admin-nav-link{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:.5rem;padding:.5rem 1rem;font-weight:500;text-decoration:none}.admin-nav-link:hover{background:var(--surface)}.admin-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.admin-table-wrapper{overflow-x:auto}.admin-badge--pending{color:#856404;background:#fff3cd}.admin-badge--paid{background:var(--success-bg);color:var(--success)}.admin-badge--cancelled{color:#721c24;background:#f8d7da}.admin-totals{font-size:1.1rem}.admin-totals p{margin-bottom:.5rem}.admin-totals p:last-child{margin-bottom:0}.admin-status-form{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-status-form select{border:1px solid var(--border);border-radius:.5rem;min-width:160px;padding:.6rem .75rem;font-family:inherit;font-size:1rem}.admin-order-item{flex-direction:column;align-items:flex-start}.admin-order-item__info{flex-direction:column;gap:.25rem;display:flex}.admin-order-item__info strong{font-size:1.05rem}.admin-order-item__subtotal{font-weight:600}.admin-login{max-width:480px;margin:0 auto;padding-top:3rem}.admin-login h1{text-align:center;margin-bottom:1.5rem;font-size:1.5rem}.admin-nav-link--logout{cursor:pointer;color:#b71c1c;background:0 0;border:none;margin-left:auto;font-family:inherit;font-size:.95rem}.admin-nav-link--logout:hover{background:#ffebee}@media (width>=768px){.admin-header{flex-direction:row;justify-content:space-between;align-items:center}.admin-row{grid-template-columns:1fr 1fr}.admin-list__item{flex-direction:row;align-items:center}.admin-order-item{flex-direction:row;justify-content:space-between;align-items:center}.admin-order-item__info{flex-direction:row;align-items:center;gap:1rem}}
