:root{--text:#3d3f4b;--text-h:#111827;--bg:#f7fafc;--surface:#fff;--surface-strong:#f4f7fb;--border:#d3d6df;--accent:#2563eb;--accent-soft:#dbeafe;--accent-contrast:#fff;--shadow:0 24px 60px #0f172a1a;--radius:24px;--sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.5 var(--sans)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}@media (width<=1024px){:root{font-size:15px}}.page-home{padding:2rem 0}.hero{background:linear-gradient(135deg,#f0fdf4 0%,#fef4e6 100%);border:1px solid #dcfce7;border-radius:28px;gap:2rem;margin-top:1.5rem;padding:3rem 2rem;display:grid;box-shadow:0 16px 40px #22c55e1f}.hero-copy{gap:1.25rem;display:grid}.hero-image img{border:2px solid #dcfce7;border-radius:18px;width:100%;height:auto;box-shadow:0 16px 40px #22c55e2e}.home-badge{color:#166534;background:linear-gradient(135deg,#dcfce7 0%,#fef3c7 100%);border-radius:999px;align-items:center;width:fit-content;padding:.75rem 1.2rem;font-size:.95rem;font-weight:800;display:inline-flex;box-shadow:0 4px 12px #22c55e26}.hero-copy h1{color:#166534;margin:0;font-size:clamp(2.4rem,3.8vw,4.8rem);line-height:1.02}.hero-copy p{color:#3d5941;max-width:44rem;margin:0;font-size:1.05rem;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.features-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.feature-card{background:linear-gradient(135deg,#fff 0%,#f9fdf6 100%);border:1px solid #dcfce7;border-radius:18px;padding:2rem;transition:all .3s;box-shadow:0 8px 20px #22c55e1a}.feature-card:hover{border-color:#bbf7d0;transform:translateY(-4px);box-shadow:0 12px 30px #22c55e26}.feature-card h3{color:#166534;margin:0 0 .75rem;font-weight:700}.feature-card p{color:#3d5941;margin:0}@media (width>=1024px){.hero{grid-template-columns:1fr 1fr;gap:3rem}.features-grid{grid-column:1/-1}}@media (width<=900px){.features-grid{grid-template-columns:1fr}.hero{padding:2rem 1.25rem}}.page-auth{background:linear-gradient(135deg,#f0fdf4 0%,#fef3c7 100%);place-items:center;min-height:100vh;padding:4rem 1.25rem;display:grid}.auth-card{background:#fff;border:2px solid #dcfce7;border-radius:28px;width:min(420px,100%);padding:2.5rem;box-shadow:0 20px 60px #22c55e26}.auth-card h2{color:#166534;margin:0 0 1.5rem;font-size:1.8rem;font-weight:800}.auth-form{gap:1rem;display:grid}.auth-form input,.auth-form select{color:#166534;background:#f9fdf6;border:2px solid #dcfce7;border-radius:12px;outline:none;width:100%;padding:1rem 1.2rem;font-size:.95rem;transition:all .3s}.auth-form input::placeholder{color:#86efac}.auth-form input:focus,.auth-form select:focus{background:#f0fdf4;border-color:#22c55e;box-shadow:0 0 0 4px #22c55e33}.auth-form button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border:none;border-radius:12px;width:100%;padding:1.1rem 1.2rem;font-size:1rem;font-weight:800;transition:all .3s;box-shadow:0 8px 20px #22c55e4d}.auth-form button:hover{background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);transform:translateY(-2px);box-shadow:0 12px 30px #22c55e66}.auth-form button:active{transform:translateY(0)}@media (width<=640px){.page-auth{padding:2rem 1rem}.auth-card{padding:2rem}.auth-card h2{font-size:1.5rem}}.products{text-align:left;padding:2rem 1.25rem}.products-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.products-header h2{color:#166534;margin:0;font-size:clamp(2rem,3vw,2.4rem)}.products-subtitle{color:#3d5941;margin:.5rem 0 0}.products-meta{color:#6b8e6f;font-size:.95rem}.filter-bar{grid-template-columns:1.8fr 1fr 1fr;gap:1rem;margin-bottom:1.2rem;display:grid}.filter-bar input,.filter-bar select{color:#166534;background:#f9fdf6;border:2px solid #dcfce7;border-radius:12px;outline:none;width:100%;padding:.9rem 1rem;transition:all .3s}.filter-bar input::placeholder{color:#86efac}.filter-bar input:focus,.filter-bar select:focus{border-color:#22c55e;box-shadow:0 0 0 4px #22c55e26}.status-message{color:#166534;background:#dcfce7;border-left:4px solid #22c55e;border-radius:12px;margin:0 0 1rem;padding:1rem;font-weight:700}.product-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.card{background:#fff;border:2px solid #dcfce7;border-radius:16px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 8px 20px #22c55e1a}.card:hover{border-color:#bbf7d0;transform:translateY(-6px);box-shadow:0 16px 40px #22c55e2e}.card img{object-fit:cover;width:100%;min-height:200px}.card-body{gap:1rem;padding:1.25rem;display:grid}.product-tag{color:#166534;text-transform:capitalize;background:linear-gradient(135deg,#dcfce7 0%,#fef3c7 100%);border-radius:999px;align-items:center;width:fit-content;padding:.5rem 1rem;font-size:.82rem;font-weight:700;display:inline-flex}.card-body h3{color:#166534;margin:0;font-size:1.1rem}.card-description{color:#3d5941;margin:0;font-size:.95rem;line-height:1.65}.card-price{color:#166534;margin:0;font-size:1.2rem;font-weight:800}.empty-state{color:#3d5941;text-align:center;background:#f0fdf4;border:2px dashed #dcfce7;border-radius:16px;margin:1.5rem 0;padding:3rem 1.5rem;font-weight:600}.button-secondary:hover{background:#dcfce7;border-color:#bbf7d0}@media (width<=900px){.filter-bar{grid-template-columns:1fr}}.cart-page{background:linear-gradient(135deg,#f0fdf4 0%,#fef4e6 100%);min-height:100vh;padding:2rem 1.25rem}.cart-card{background:#fff;border:2px solid #dcfce7;border-radius:20px;max-width:1100px;margin:0 auto;padding:2rem;box-shadow:0 16px 40px #22c55e1f}.cart-header{border-bottom:2px solid #dcfce7;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;padding-bottom:1.5rem;display:flex}.cart-header h2{color:#166534;margin:0 0 .25rem;font-weight:800}.cart-header p{color:#3d5941;margin:0}.cart-empty{text-align:center;background:#f0fdf4;border:2px dashed #dcfce7;border-radius:16px;padding:3rem}.cart-grid{grid-template-columns:1.6fr .9fr;gap:1.5rem;display:grid}.cart-items{gap:1rem;display:grid}.cart-item{background:linear-gradient(135deg,#f9fdf6 0%,#f0fdf4 100%);border:2px solid #dcfce7;border-radius:16px;grid-template-columns:130px 1fr auto;align-items:start;gap:1rem;padding:1.5rem;transition:all .3s;display:grid}.cart-item:hover{border-color:#bbf7d0;box-shadow:0 8px 20px #22c55e1a}.cart-item img{object-fit:cover;border-radius:12px;width:100%;height:120px}.cart-item-info h3{color:#166534;margin:0 0 .35rem;font-size:1rem;font-weight:700}.cart-item-info p{color:#3d5941;margin:0 0 .75rem;font-size:.95rem}.cart-item-meta{color:#3d5941;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.quantity-controls{background:#f9fdf6;border:2px solid #dcfce7;border-radius:26px;align-items:center;gap:.5rem;padding:.25rem .5rem;display:inline-flex}.quantity-controls button{color:#22c55e;cursor:pointer;background:0 0;border:none;width:28px;height:28px;font-size:1rem;font-weight:700;transition:color .2s}.quantity-controls button:hover{color:#16a34a}.cart-remove{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;transition:color .2s}.cart-remove:hover{color:#b91c1c}.cart-summary{align-items:flex-start;display:flex}.summary-card{background:linear-gradient(135deg,#f0fdf4 0%,#fef3c7 100%);border:2px solid #dcfce7;border-radius:16px;width:100%;padding:2rem}.summary-card h3{color:#166534;margin-top:0;margin-bottom:1rem;font-weight:800}.summary-card p{color:#3d5941;margin:.75rem 0 1.5rem}.summary-total{color:#166534;justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:1.2rem;font-weight:700;display:flex}@media (width<=900px){.cart-grid{grid-template-columns:1fr}}@media (width<=640px){.cart-item{grid-template-columns:1fr}.cart-item img{height:180px}}.app{background:radial-gradient(circle at top right, #38bdf829, transparent 30%), var(--bg);flex-direction:column;min-height:100vh;display:flex}.main-container{flex:1;width:min(1100px,100% - 2rem);margin:0 auto;padding:1.5rem 0 3rem}.navbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#ffffffeb;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex;position:sticky;top:0;box-shadow:0 20px 50px #0f172a14}.navbar-brand h2{letter-spacing:.02em;color:var(--text-h);margin:0;font-size:1.25rem}.navbar-toggle{cursor:pointer;color:var(--text-h);background:0 0;border:none;font-size:1.5rem;display:none}.navbar-links{flex-wrap:wrap;gap:.75rem;display:flex}.navbar-links a{color:var(--text);border-radius:999px;padding:.65rem 1rem;transition:background .2s,color .2s;position:relative}.navbar-badge{color:#fff;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);border-radius:999px;justify-content:center;align-items:center;min-width:1.6rem;height:1.6rem;margin-left:.5rem;font-size:.8rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #dc26264d}.navbar-links a:hover,.navbar-links a.active{background:var(--surface-strong);color:var(--text-h)}.navbar-links.open{width:100%;margin-top:1rem;display:grid}.page{display:block}.button{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;padding:1rem 1.4rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex}.button-primary{color:#fff;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);box-shadow:0 4px 12px #22c55e4d}.button-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #22c55e66}.button-secondary{color:#166534;background:#f0fdf4;border:2px solid #dcfce7}.button-secondary:hover{background:#dcfce7;border-color:#bbf7d0;transform:translateY(-2px)}.button:active{transform:translateY(0)}@media (width<=760px){.navbar-toggle{display:inline-flex}.navbar-links{flex-direction:column;width:100%;display:none}.navbar-links.open{gap:.75rem;margin-top:1rem;display:flex}}
