:root{--color-ink:#0a0a0a;--color-paper:#fff;--color-surface:#fafafa;--color-hairline:#e5e5e5;--color-muted:#737373;--color-error:#b91c1c;--color-success:#15803d;--font-body:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);background:var(--color-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}img{max-width:100%;display:block}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:600;line-height:1.15}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}a{color:inherit;text-decoration:none}#root{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:1200px;padding:0 var(--space-5);margin:0 auto}.main-content{padding:var(--space-7) 0 var(--space-8);flex:1}.site-header{border-bottom:1px solid var(--color-ink);background:var(--color-paper)}.header-wrapper{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);display:flex}.header-logo{align-items:center;gap:var(--space-3);font-size:var(--text-lg);letter-spacing:-.03em;font-weight:700;display:inline-flex}.header-logo__mark{background:var(--color-ink);width:28px;height:28px;color:var(--color-paper);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.header-actions{align-items:center;gap:var(--space-3);display:flex}.cart-count{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.section-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-hairline);display:flex}.section-description{margin-top:var(--space-2);color:var(--color-muted);max-width:52ch}.eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-bottom:var(--space-2)}.badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--color-ink);padding:var(--space-1) var(--space-3);white-space:nowrap}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:10px var(--space-4);border:1px solid var(--color-ink);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);letter-spacing:.01em;cursor:pointer;border-radius:0;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--color-surface)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-ink);color:var(--color-paper)}.btn-primary:hover{background:#262626}.btn-secondary:hover{background:var(--color-ink);color:var(--color-paper)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.form-input{width:100%;padding:10px var(--space-3);border:1px solid var(--color-hairline);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-base);border-radius:0}.form-input:focus{border-color:var(--color-ink);outline:none}.form-input::placeholder{color:var(--color-muted)}.catalog-toolbar{gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.catalog-toolbar .form-input{flex:1}.filters-toggle{white-space:nowrap}.product-filters{gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);grid-template-columns:repeat(4,1fr) auto;display:grid}.store-layout{gap:var(--space-7);grid-template-columns:1fr 320px;align-items:start;display:grid}.product-grid{gap:var(--space-7) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.product-card{gap:var(--space-3);flex-direction:column;display:flex}.product-card__image{aspect-ratio:4/3;background:var(--color-surface);border:1px solid var(--color-hairline);overflow:hidden}.product-card__image img{object-fit:cover;width:100%;height:100%}.product-card__image--placeholder{width:100%;height:100%;color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;justify-content:center;align-items:center;display:flex}.product-card__info{gap:var(--space-2);flex-direction:column;display:flex}.product-card__title{font-size:var(--text-base);letter-spacing:-.01em;font-weight:600}.product-card__category{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.product-card__tags{gap:var(--space-2);font-size:var(--text-xs);color:var(--color-muted);flex-wrap:wrap;display:flex}.product-card__price{font-size:var(--text-lg);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:700}.product-card__stock{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.product-card__actions{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.product-card__actions .btn{width:100%}.cart-sidebar{border:1px solid var(--color-ink);padding:var(--space-5);top:var(--space-5);position:sticky}.cart-sidebar__heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-ink);margin-bottom:var(--space-4);display:flex}.cart-sidebar__heading h2{font-size:var(--text-lg)}.cart-sidebar__count{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.cart-item{justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-hairline);display:flex}.cart-item__info{gap:var(--space-1);flex-direction:column;display:flex}.cart-item__name{font-size:var(--text-sm);font-weight:600}.cart-item__price{font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.cart-empty{padding:var(--space-6) 0;color:var(--color-muted);text-align:center;border-bottom:1px solid var(--color-hairline);margin-bottom:var(--space-4)}.cart-total{padding:var(--space-4) 0;font-size:var(--text-lg);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;font-weight:700;display:flex}.cart-sidebar .btn{width:100%}.quantity-controls{align-items:center;gap:var(--space-1);margin-top:var(--space-1);display:inline-flex}.quantity-controls button{border:1px solid var(--color-ink);background:var(--color-paper);cursor:pointer;width:26px;height:26px;font-size:var(--text-sm);justify-content:center;align-items:center;display:inline-flex}.quantity-controls button:hover{background:var(--color-ink);color:var(--color-paper)}.quantity-controls span{text-align:center;min-width:28px;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.remove-item{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.remove-item:hover{color:var(--color-error)}.checkout-stepper{justify-content:center;gap:var(--space-6);margin-bottom:var(--space-7);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-hairline);display:flex}.checkout-step{align-items:center;gap:var(--space-3);display:flex}.checkout-step__number{border:1px solid var(--color-ink);width:30px;height:30px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:700;display:flex}.checkout-step__label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.checkout-step--active .checkout-step__number{background:var(--color-ink);color:var(--color-paper)}.checkout-step--active .checkout-step__label{color:var(--color-ink);font-weight:700}.checkout-step--done .checkout-step__number{background:var(--color-surface)}.checkout-step--done .checkout-step__label{color:var(--color-ink)}.checkout-panel{max-width:640px;margin:0 auto}.checkout-panel h2{margin-bottom:var(--space-5)}.checkout-form{gap:var(--space-4);flex-direction:column;display:flex}.shipping-fields{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-actions{gap:var(--space-3);margin-top:var(--space-4);display:flex}.form-actions .btn-primary{flex:1}.review-grid{gap:var(--space-6);text-align:left;grid-template-columns:1fr 1fr;display:grid}.review-grid h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-ink);margin-bottom:var(--space-2)}.review-item{justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-hairline);display:flex}.review-item__meta{font-size:var(--text-sm);color:var(--color-muted)}.review-item__price{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.review-shipping{background:var(--color-surface);border:1px solid var(--color-hairline);padding:var(--space-4);gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;display:flex}.review-totals{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--color-ink)}.review-totals__row{justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0;font-variant-numeric:tabular-nums;display:flex}.review-totals__row--grand{font-size:var(--text-lg);padding-top:var(--space-3);margin-top:var(--space-2);border-top:1px solid var(--color-hairline);font-weight:700}.order-confirmation{text-align:center;max-width:520px;padding:var(--space-8) 0;margin:0 auto}.order-confirmation__id{font-size:var(--text-3xl);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-bottom:var(--space-4);font-weight:700}.order-confirmation p{color:var(--color-muted);margin-bottom:var(--space-3)}.order-confirmation__total{font-size:var(--text-xl);font-variant-numeric:tabular-nums;color:var(--color-ink);margin:var(--space-5) 0;font-weight:700}.orders-list{gap:var(--space-3);flex-direction:column;display:flex}.order-card{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--color-hairline);display:flex}.order-card__meta{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-1)}.order-card__side{align-items:center;gap:var(--space-4);display:flex}.order-card__total{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.order-detail{border:1px solid var(--color-ink);padding:var(--space-5);margin-top:var(--space-5)}.order-detail__item{justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-hairline);font-variant-numeric:tabular-nums;display:flex}.order-detail__total{padding-top:var(--space-4);margin-top:var(--space-2);border-top:1px solid var(--color-ink);font-size:var(--text-lg);font-variant-numeric:tabular-nums;justify-content:space-between;font-weight:700;display:flex}.status-pill{padding:2px var(--space-3);border:1px solid var(--color-ink);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-items:center;display:inline-flex}.status-pill--filled{background:var(--color-ink);color:var(--color-paper)}.admin-tabs{gap:var(--space-2);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-hairline);padding-bottom:var(--space-4);display:flex}.admin-list{flex-direction:column;display:flex}.admin-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-hairline);display:flex}.admin-row__main{gap:var(--space-1);flex-direction:column;display:flex}.admin-row__meta{font-size:var(--text-sm);color:var(--color-muted)}.admin-row__side{align-items:center;gap:var(--space-3);display:flex}.admin-status-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.admin-status-actions .btn{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.admin-order-block{padding:var(--space-4) 0;border-bottom:1px solid var(--color-hairline)}.role-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-hairline);background:var(--color-paper);font-size:var(--text-sm)}.role-select:focus{border-color:var(--color-ink);outline:none}.role-pill{padding:1px var(--space-2);border:1px solid var(--color-ink);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin-left:var(--space-2);display:inline-flex}.role-pill--admin{background:var(--color-ink);color:var(--color-paper)}.product-form{gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);grid-template-columns:2fr 1fr 1fr 1fr 1.2fr 1.5fr auto auto;align-items:end;display:grid}.auth-screen{background:var(--color-paper);min-height:100vh;padding:var(--space-5);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:380px}.auth-card__header{text-align:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-ink)}.auth-card__header h1{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.auth-card__header p{font-size:var(--text-sm);color:var(--color-muted)}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-form .btn-primary{margin-top:var(--space-2)}.auth-alt{width:100%;margin-top:var(--space-3)}.dialog-overlay{z-index:1000;padding:var(--space-5);background:#0a0a0a66;place-items:center;display:grid;position:fixed;inset:0}.dialog-panel{background:var(--color-paper);border:1px solid var(--color-ink);padding:var(--space-5);width:100%;max-width:400px}.dialog-panel h3{margin-bottom:var(--space-2)}.dialog-panel p{color:var(--color-muted);margin-bottom:var(--space-5)}.dialog-actions{gap:var(--space-3);justify-content:flex-end;display:flex}.toast-list{bottom:var(--space-5);right:var(--space-5);gap:var(--space-2);z-index:9999;flex-direction:column;max-width:340px;display:flex;position:fixed}.toast{background:var(--color-ink);color:var(--color-paper);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);cursor:pointer;border-left:3px solid var(--color-ink);animation:.2s toast-in}.toast--success{border-left-color:var(--color-success)}.toast--error{border-left-color:var(--color-error)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading-container{padding:var(--space-8) 0;justify-content:center;display:flex}.empty-state{text-align:center;padding:var(--space-8) var(--space-5);border:1px solid var(--color-hairline);background:var(--color-surface)}.empty-state__title{font-size:var(--text-lg);margin-bottom:var(--space-2);font-weight:600}.empty-state__description{color:var(--color-muted);font-size:var(--text-sm)}.spinner{border:2px solid var(--color-hairline);border-top-color:var(--color-ink);border-radius:50%;animation:.6s linear infinite spin}.spinner--sm{width:16px;height:16px}.spinner--md{width:24px;height:24px}.spinner--lg{width:40px;height:40px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=960px){.store-layout{grid-template-columns:1fr}.cart-sidebar{position:static}.product-form{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:1fr}}@media (width<=640px){h1{font-size:var(--text-2xl)}.header-wrapper{flex-wrap:wrap}.catalog-toolbar{flex-direction:column}.product-filters{grid-template-columns:1fr}.checkout-stepper{gap:var(--space-4);flex-wrap:wrap}.shipping-fields{grid-template-columns:1fr}.order-card{flex-direction:column;align-items:flex-start}.product-form{grid-template-columns:1fr}}
