@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--canvas:#fff;--ink:#222;--primary:#ff385c;--primary-active:#e00b41;--primary-disabled:#ffd1da;--surface-soft:#f7f7f7;--surface-strong:#f2f2f2;--hairline:#ddd;--hairline-soft:#ebebeb;--border-strong:#c1c1c1;--body:#3f3f3f;--muted:#6a6a6a;--muted-soft:#929292;--on-primary:#fff;--danger:#c13515;--r-sm:8px;--r-md:14px;--r-full:9999px;--shadow:#00000005 0 0 0 1px, #0000000a 0 2px 6px, #0000001a 0 4px 8px;--sp-xs:4px;--sp-sm:8px;--sp-md:12px;--sp-base:16px;--sp-lg:24px;--sp-xl:32px;--sp-xxl:48px;--sp-section:64px;--ease:.2s ease-out}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,system-ui,Roboto,Helvetica Neue,sans-serif;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--ink);font-weight:600;line-height:1.25}a{color:var(--ink);transition:color var(--ease);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.navbar{z-index:100;padding:0 var(--sp-lg);background:var(--canvas);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;height:80px;display:flex;position:sticky;top:0}.nav-logo{color:var(--primary);align-items:center;gap:var(--sp-sm);font-size:1.25rem;font-weight:700;display:flex}.nav-logo a{color:var(--primary);text-decoration:none}.nav-links{gap:var(--sp-lg);align-items:center;list-style:none;display:flex}.nav-links a{color:var(--muted);padding:var(--sp-sm) 0;font-size:1rem;font-weight:500;text-decoration:none;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--ink)}.nav-links a.active:after{content:"";background:var(--ink);width:100%;height:2px;position:absolute;bottom:-4px;left:0}.nav-right{align-items:center;gap:var(--sp-base);display:flex}.nav-user{font-size:.85rem;font-weight:600}.cart-badge{color:var(--ink);font-size:1.25rem;position:relative}.cart-badge:hover{text-decoration:none}.cart-count{background:var(--primary);color:#fff;border-radius:var(--r-full);justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-6px;right:-10px}.hamburger{color:var(--ink);font-size:1.5rem;display:none}.btn{justify-content:center;align-items:center;gap:var(--sp-sm);border-radius:var(--r-sm);transition:var(--ease);padding:14px 24px;font-size:16px;font-weight:500;line-height:1.25;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-active)}.btn-secondary{background:var(--canvas);color:var(--ink);border:1px solid var(--ink)}.btn-secondary:hover{background:var(--surface-soft)}.btn-danger{background:var(--canvas);color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:#fff0ed}.btn-sm{padding:8px 16px;font-size:14px}.btn-lg{padding:14px 24px;font-size:16px}.glass{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);transition:box-shadow var(--ease)}.glass:hover,.glass-lift:hover{box-shadow:var(--shadow)}.hero{text-align:center;padding:var(--sp-section) var(--sp-lg);flex-direction:column;justify-content:center;align-items:center;display:flex}.hero-badge{align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-base);border-radius:var(--r-full);background:var(--surface-soft);border:1px solid var(--hairline);margin-bottom:var(--sp-lg);font-size:14px;font-weight:600;display:inline-flex}.hero h1{margin-bottom:var(--sp-md);color:var(--ink);font-size:28px;font-weight:700}.hero p{color:var(--body);max-width:600px;margin-bottom:var(--sp-lg);font-size:16px}.hero-actions{gap:var(--sp-base);flex-wrap:wrap;justify-content:center;display:flex}.section{padding:var(--sp-section) var(--sp-lg);max-width:1280px;margin:0 auto}.section-title{margin-bottom:var(--sp-sm);font-size:22px;font-weight:600}.section-sub{color:var(--muted);margin-bottom:var(--sp-xl);font-size:16px}.page-header{padding:var(--sp-xxl) var(--sp-lg) var(--sp-lg);max-width:1280px;margin:0 auto}.page-header h1{margin-bottom:var(--sp-xs);font-size:28px;font-weight:700}.page-header p{color:var(--muted);font-size:16px}.product-grid{gap:var(--sp-base);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.product-card{cursor:pointer;flex-direction:column;text-decoration:none;display:flex}.product-card:hover .product-card-img-wrap{box-shadow:var(--shadow)}.product-card-img-wrap{border-radius:var(--r-md);background:var(--surface-soft);aspect-ratio:1;transition:box-shadow var(--ease);border:1px solid var(--hairline-soft);margin-bottom:var(--sp-md);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.product-card-img{font-size:5rem}.product-card-body{flex-direction:column;display:flex}.product-category{color:var(--muted);margin-bottom:2px;font-size:14px}.product-name{color:var(--ink);margin-bottom:var(--sp-xs);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.product-desc{display:none}.product-footer{margin-top:var(--sp-xs);justify-content:space-between;align-items:center;display:flex}.product-price{color:var(--ink);font-size:16px;font-weight:600}.product-stock{color:var(--muted);font-size:14px}.sim-wrap{margin-top:var(--sp-xs)}.sim-label{color:var(--muted);justify-content:space-between;margin-bottom:4px;font-size:12px;font-weight:600;display:flex}.sim-bar{background:var(--hairline);border-radius:var(--r-full);height:4px;overflow:hidden}.sim-fill{background:var(--ink);border-radius:var(--r-full);height:100%}.rec-grid{gap:var(--sp-base);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.rec-card{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);padding:var(--sp-base);transition:box-shadow var(--ease);cursor:pointer}.rec-card:hover{box-shadow:var(--shadow)}.form-group{margin-bottom:var(--sp-base)}.form-label{color:var(--muted);margin-bottom:var(--sp-xs);font-size:14px;font-weight:500;display:block}.form-input,.form-select,.form-textarea{border-radius:var(--r-sm);background:var(--canvas);border:1px solid var(--hairline);width:100%;color:var(--ink);transition:var(--ease);padding:14px 12px;font-family:inherit;font-size:16px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--ink);border-width:2px;outline:none;padding:13px 11px}.form-textarea{resize:vertical;min-height:100px}.auth-container{min-height:80vh;padding:var(--sp-lg);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:440px;padding:var(--sp-xl)}.auth-card h2{text-align:center;margin-bottom:var(--sp-sm)}.auth-sub{text-align:center;color:var(--muted);margin-bottom:var(--sp-lg);font-size:16px}.cart-container{max-width:900px;padding:var(--sp-section) var(--sp-lg);margin:0 auto}.cart-item{align-items:center;gap:var(--sp-lg);padding:var(--sp-lg);margin-bottom:var(--sp-base);display:flex}.cart-item-emoji{background:var(--surface-soft);border-radius:var(--r-sm);border:1px solid var(--hairline-soft);justify-content:center;align-items:center;width:80px;height:80px;font-size:2.5rem;display:flex}.cart-item-info{flex:1}.cart-item-name{color:var(--ink);font-size:16px;font-weight:600}.cart-item-price{color:var(--muted);font-size:14px}.qty-btn{border-radius:var(--r-full);background:var(--surface-soft);border:1px solid var(--hairline);width:32px;height:32px;color:var(--ink);transition:var(--ease);justify-content:center;align-items:center;font-size:16px;display:flex}.qty-btn:hover{background:var(--surface-strong)}.cart-total{margin-bottom:var(--sp-xl);justify-content:space-between;font-size:22px;font-weight:600;display:flex}.cart-total .amount{color:var(--ink)}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;padding:var(--sp-sm) var(--sp-base);color:var(--muted);border-bottom:1px solid var(--hairline);font-size:14px;font-weight:500}.data-table td{padding:var(--sp-sm) var(--sp-base);border-bottom:1px solid var(--hairline-soft);font-size:14px}.data-table tr:hover td{background:var(--surface-soft)}.receipt-line{padding:var(--sp-sm) 0;border-bottom:1px solid var(--hairline-soft);color:var(--body);justify-content:space-between;display:flex}.stats-grid{gap:var(--sp-base);margin-bottom:var(--sp-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{padding:var(--sp-lg);text-align:center}.stat-value{color:var(--ink);font-size:28px;font-weight:700}.stat-label{color:var(--muted);margin-top:var(--sp-xs);font-size:14px}.star-rating{gap:2px;display:flex}.star{cursor:pointer;color:var(--border-strong);transition:color var(--ease);font-size:14px}.star.active,.star:hover{color:var(--ink)}.toast-container{bottom:var(--sp-lg);z-index:200;gap:var(--sp-sm);flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{border-radius:var(--r-full);background:var(--ink);color:var(--canvas);box-shadow:var(--shadow);align-items:center;gap:var(--sp-sm);padding:14px 24px;font-size:14px;font-weight:500;display:flex}.tag{border-radius:var(--r-full);background:var(--surface-strong);color:var(--ink);text-transform:uppercase;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.empty-state{text-align:center;padding:var(--sp-section) var(--sp-lg)}.empty-icon{margin-bottom:var(--sp-md);opacity:.5;font-size:48px}.footer{margin-top:var(--sp-section);padding:var(--sp-xxl) var(--sp-lg);text-align:center;border-top:1px solid var(--hairline);color:var(--muted);font-size:14px}.footer a{color:var(--muted);font-weight:400}.footer a:hover{color:var(--ink)}.two-col{gap:var(--sp-xl);grid-template-columns:1fr 340px;display:grid}.sidebar{position:sticky;top:100px}@media (width<=960px){.two-col{grid-template-columns:1fr}}@media (width<=768px){.navbar{padding:0 var(--sp-base)}.nav-links{background:var(--canvas);padding:var(--sp-lg);border-bottom:1px solid var(--hairline);box-shadow:var(--shadow);flex-direction:column;display:none;position:fixed;top:80px;left:0;right:0}.nav-links.open{display:flex}.hamburger{display:block}.hero h1{font-size:24px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.cart-item{text-align:center;flex-direction:column}.section{padding:var(--sp-xxl) var(--sp-base)}}
