:root{--color-sand: #F7F5F1;--color-ink: #161616;--color-teal: #0E5C56;--color-teal-dark: #093F3B;--color-white: #FFFFFF;--color-coral: #D6402F;--color-line: rgba(22, 22, 22, .1);--color-muted: rgba(22, 22, 22, .6);--font-display: "Archivo", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "Space Mono", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-sand);color:var(--color-ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius-md);border:1px solid transparent;font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.01em;transition:transform .15s ease,background .15s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-ink);color:var(--color-white)}.btn-primary:hover{background:#2a2a2a}.btn-outline{background:transparent;border-color:var(--color-ink);color:var(--color-ink)}.btn-outline:hover{background:#1616160d}.btn-teal{background:var(--color-teal);color:var(--color-white)}.btn-teal:hover{background:var(--color-teal-dark)}.btn:disabled{opacity:.45;cursor:not-allowed}.skeleton{background:linear-gradient(90deg,#1616160f 25%,#1616161a 37%,#1616160f 63%);background-size:400% 100%;animation:skeleton-loading 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.site-header{background:var(--color-sand);border-bottom:1px solid var(--color-line);position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.01em}.cart-button{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--color-ink);border-radius:var(--radius-md);padding:8px 14px;font-family:var(--font-display);font-weight:600;font-size:13px}.cart-count{background:var(--color-ink);color:var(--color-white);border-radius:99px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-family:var(--font-mono)}.storefront-main{flex:1;padding-top:32px;padding-bottom:64px}.banner{position:relative;border-radius:var(--radius-lg);margin-bottom:40px;height:360px;overflow:hidden;display:flex;align-items:flex-end;background:var(--color-ink)}.banner-skeleton{background:var(--color-sand)}.banner-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.banner-photo-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-ink)}.banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000026,#0000008c)}.banner-text{position:relative;z-index:2;padding:36px;max-width:560px}.banner-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--color-white);opacity:.8;margin:0 0 12px}.banner-heading{font-family:var(--font-display);font-weight:700;font-size:34px;color:var(--color-white);margin:0 0 12px;line-height:1.2;letter-spacing:-.01em}.banner-subtext{font-size:14px;color:var(--color-white);opacity:.85;margin:0 0 20px;max-width:420px}.banner-prize{display:inline-flex;background:var(--color-white);color:var(--color-ink);font-family:var(--font-display);font-weight:600;font-size:13px;padding:10px 16px;border-radius:var(--radius-md)}@media (max-width: 720px){.banner{height:280px}.banner-text{padding:24px}.banner-heading{font-size:26px}}.catalog-heading-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.catalog-heading-row h2{font-family:var(--font-display);font-weight:700;font-size:20px;margin:0;letter-spacing:-.01em}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin-bottom:40px}.product-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px}.product-image{background:var(--color-sand);border-radius:var(--radius-sm);aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.product-image-placeholder{font-family:var(--font-mono);font-size:11px;color:var(--color-muted)}.product-name{font-family:var(--font-display);font-weight:600;font-size:14px;margin:0 0 4px}.product-price{font-family:var(--font-mono);font-size:13px;color:var(--color-muted);margin:0}.product-add{margin-top:auto;font-size:13px;padding:10px}.product-qty{margin-top:auto;display:flex;align-items:center;justify-content:space-between;background:var(--color-sand);border-radius:var(--radius-md);padding:4px}.qty-btn{width:30px;height:30px;border:none;background:transparent;font-size:16px;font-family:var(--font-display)}.qty-value{font-family:var(--font-mono);font-size:14px;font-weight:500}.empty-catalog-note,.empty-cart-note{color:var(--color-muted);font-size:14px}.coupon-panel{border-top:1px solid var(--color-line);padding-top:24px}.coupon-stub{position:relative;background:var(--color-white);border:1px dashed var(--color-line);border-radius:var(--radius-md);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.coupon-code{font-family:var(--font-mono);font-size:15px;font-weight:500;margin:0;letter-spacing:.02em}.coupon-status{font-size:12px;color:var(--color-muted);margin:4px 0 0}.coupon-icon{font-size:22px;color:var(--color-coral)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;justify-content:flex-end}.drawer-panel{background:var(--color-sand);width:100%;max-width:420px;height:100%;overflow-y:auto;padding:32px 28px;position:relative}.drawer-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:26px;line-height:1;color:var(--color-ink)}.drawer-heading{font-family:var(--font-display);font-weight:700;font-size:22px;margin:0 0 24px}.checkout-summary{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:20px;background:var(--color-white)}.checkout-line{display:flex;justify-content:space-between;font-size:13px;padding:4px 0}.checkout-total{border-top:1px solid var(--color-line);margin-top:8px;padding-top:8px;font-family:var(--font-mono);font-weight:500}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;font-weight:500}.field input,.field textarea{border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;background:var(--color-white);resize:vertical}.payment-options{border:none;padding:0;margin:0 0 20px}.payment-options legend{font-size:13px;font-weight:500;margin-bottom:8px}.radio-option{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:8px}.form-error{color:var(--color-coral);font-size:13px;margin-bottom:12px}.confirmation-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--color-teal);margin:0 0 8px}.confirmation-heading{font-family:var(--font-display);font-weight:700;font-size:24px;margin:0 0 12px}.confirmation-body{font-size:14px;color:var(--color-muted);margin:0 0 20px}.ticket-stub{position:relative;background:var(--color-ink);border-radius:var(--radius-md);padding:22px 20px;margin-bottom:24px}.ticket-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--color-white);opacity:.6;margin:0 0 8px}.ticket-code{font-family:var(--font-mono);font-size:24px;font-weight:500;color:var(--color-white);margin:0 0 8px;letter-spacing:.04em}.ticket-sub{font-size:13px;color:var(--color-white);opacity:.75;margin:0}.admin-login-page{flex:1;display:flex;align-items:center;justify-content:center}.admin-login-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:32px 28px;width:100%;max-width:360px}.admin-logo{font-family:var(--font-display);font-weight:700;font-size:16px;margin:0 0 20px}.admin-shell{display:flex;flex:1;min-height:100vh}.admin-sidebar{width:220px;background:var(--color-white);border-right:1px solid var(--color-line);padding:24px 18px;display:flex;flex-direction:column}.admin-nav{display:flex;flex-direction:column;gap:4px;margin-top:24px;flex:1}.admin-nav-link{padding:10px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--color-muted)}.admin-nav-link.active{background:var(--color-sand);color:var(--color-ink)}.admin-signout{font-size:13px}.admin-content{flex:1;padding:36px 40px;max-width:980px}.admin-page-title{font-family:var(--font-display);font-weight:700;font-size:22px;margin:0 0 8px}.admin-page-subtitle{font-size:14px;color:var(--color-muted);margin:0 0 28px;max-width:520px}.admin-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:32px}.metric-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:16px}.metric-label{font-size:12px;color:var(--color-muted);margin:0 0 6px}.metric-value{font-family:var(--font-mono);font-size:22px;font-weight:500;margin:0}.admin-quick-links{display:flex;gap:12px;flex-wrap:wrap}.admin-create-form{display:flex;gap:10px;margin-bottom:28px}.admin-create-form input{border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px}.admin-create-form input:first-child{flex:1}.admin-product-list{display:flex;flex-direction:column;gap:10px}.admin-product-row{display:flex;align-items:center;gap:14px;background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:10px 14px}.admin-thumb{position:relative;width:48px;height:48px;border-radius:var(--radius-sm);background:var(--color-sand);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;cursor:pointer}.admin-thumb img{width:100%;height:100%;object-fit:cover}.admin-thumb-empty{font-size:10px;color:var(--color-muted);font-family:var(--font-mono)}.admin-name-input{flex:1;border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 10px;font-size:14px;background:transparent}.admin-name-input:hover,.admin-name-input:focus{border-color:var(--color-line);background:var(--color-sand)}.admin-price-input{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:13px;color:var(--color-muted)}.admin-price-input input{width:70px;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:6px 8px;font-family:var(--font-mono);font-size:13px}.admin-toggle,.admin-delete{font-size:12px;padding:8px 12px;white-space:nowrap}.admin-settings-form{max-width:480px}.admin-banner-preview{margin-top:10px;max-width:220px;border-radius:var(--radius-sm)}.admin-orders-table-wrap{overflow-x:auto}.admin-orders-table{width:100%;border-collapse:collapse;background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-md);font-size:13px}.admin-orders-table th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--color-line);color:var(--color-muted);font-weight:500}.admin-orders-table td{padding:10px 14px;border-bottom:1px solid var(--color-line);vertical-align:top}.order-customer-name{font-weight:500;margin:0}.order-customer-meta{color:var(--color-muted);margin:2px 0 0;font-size:12px}.order-item-line{margin:0 0 2px}.admin-orders-table select{border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:6px 8px;font-size:12px;background:var(--color-white)}@media (max-width: 800px){.admin-shell{flex-direction:column}.admin-sidebar{width:100%;flex-direction:row;align-items:center;border-right:none;border-bottom:1px solid var(--color-line)}.admin-nav{flex-direction:row;margin-top:0}.admin-content{padding:24px 20px}}
