:root{--primary: #1a7a4c;--primary-dark: #145c39;--text: #1f2430;--muted: #6b7280;--border: #e5e7eb;--bg: #fafafa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.logo{font-size:1.4rem;font-weight:700;color:var(--primary)}.cart-link{position:relative;font-weight:600;padding:8px 12px}.cart-badge{position:absolute;top:-4px;right:-4px;background:var(--primary);color:#fff;border-radius:999px;font-size:.7rem;padding:1px 6px}.site-main{flex:1}.site-footer{padding:16px 24px;text-align:center;color:var(--muted);font-size:.85rem;border-top:1px solid var(--border);background:#fff}.page{max-width:1100px;margin:0 auto;padding:24px 20px 60px}.category-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.category-filters button{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:.85rem}.category-filters button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.product-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:box-shadow .15s}.product-card:hover{box-shadow:0 4px 16px #00000014}.product-card-image,.product-detail-image{aspect-ratio:1 / 1;background:#f1f2f4;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-card-image img,.product-detail-image img{width:100%;height:100%;object-fit:cover}.product-card-placeholder{color:var(--muted);font-size:.8rem}.product-card-placeholder.large{font-size:1rem}.product-card-placeholder.small{width:48px;height:48px;background:#f1f2f4;border-radius:6px}.product-card-body{padding:12px 14px}.product-card-body h3{margin:0 0 6px;font-size:1rem}.price{font-weight:700;color:var(--primary-dark);margin:0}.out-of-stock{color:#b91c1c;font-size:.85rem}.product-detail{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:32px;margin-bottom:40px}@media (max-width: 720px){.product-detail{grid-template-columns:1fr}}.product-detail-image{border-radius:10px}.product-detail-info h1{margin-top:0}.description{color:var(--muted);white-space:pre-wrap}.quantity-selector{display:flex;align-items:center;gap:10px;margin:16px 0}.quantity-selector input{width:70px;padding:6px;border:1px solid var(--border);border-radius:6px}.stock-hint{color:var(--muted);font-size:.85rem}.product-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:10px 18px;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-size:.95rem}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;border:1px solid var(--border);color:var(--text)}.btn-secondary:hover{background:#f3f4f6}.btn-link{background:none;border:none;color:var(--primary-dark);cursor:pointer;font-size:.85rem}.btn-link.danger{color:#b91c1c}.related-section{margin-top:40px}.cart-list{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.cart-row{display:grid;grid-template-columns:70px 1fr 80px 100px auto;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 14px}.cart-row-image{width:60px;height:60px;border-radius:6px;overflow:hidden;background:#f1f2f4}.cart-row-image img{width:100%;height:100%;object-fit:cover}.cart-row-info h3{margin:0;font-size:.95rem}.cart-row-info p{margin:2px 0 0;color:var(--muted);font-size:.85rem}.cart-row-qty input{width:60px;padding:6px;border:1px solid var(--border);border-radius:6px}.cart-row-subtotal{font-weight:600}@media (max-width: 600px){.cart-row{grid-template-columns:50px 1fr auto;grid-template-areas:"img info info" "img qty sub"}}.cart-summary,.checkout-total{display:flex;justify-content:space-between;font-size:1.1rem;padding:14px 0;border-top:1px solid var(--border)}.cart-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.checkout-layout{display:grid;grid-template-columns:1fr 320px;gap:32px}@media (max-width: 800px){.checkout-layout{grid-template-columns:1fr}}.checkout-form{display:flex;flex-direction:column;gap:14px}.checkout-form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600}.checkout-form input,.checkout-form select,.checkout-form textarea{padding:10px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-family:inherit}.payment-section{border:1px solid var(--border);border-radius:8px;padding:14px}.payment-option{display:flex;align-items:center;gap:10px;padding:8px 0}.payment-option.disabled{color:var(--muted)}.checkout-summary{background:#fff;border:1px solid var(--border);border-radius:8px;padding:16px;align-self:start}.checkout-summary ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.checkout-summary li{display:flex;justify-content:space-between;font-size:.9rem}.success-page{text-align:center}.order-recap{max-width:400px;margin:20px auto;text-align:left;background:#fff;border:1px solid var(--border);border-radius:8px;padding:16px}.order-recap ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.order-recap li{display:flex;justify-content:space-between;font-size:.9rem}.error{color:#b91c1c}.admin-login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.admin-login-form{background:#fff;border:1px solid var(--border);border-radius:10px;padding:32px;width:320px;display:flex;flex-direction:column;gap:14px}.admin-login-form input{padding:10px;border:1px solid var(--border);border-radius:8px}.admin-dashboard{max-width:1300px;margin:0 auto;padding:24px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.admin-tabs{display:flex;gap:8px;margin-bottom:20px}.admin-tabs button{padding:8px 16px;border:1px solid var(--border);background:#fff;border-radius:8px;cursor:pointer}.admin-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.orders-table{width:100%;border-collapse:collapse;background:#fff;font-size:.85rem}.orders-table th,.orders-table td{border:1px solid var(--border);padding:8px;text-align:left;vertical-align:top}.orders-table textarea{width:160px;font-family:inherit}.orders-table{display:block;overflow-x:auto;white-space:nowrap}.orders-table tbody,.orders-table thead{display:table;width:100%;table-layout:fixed}.admin-products-layout{display:grid;grid-template-columns:340px 1fr;gap:24px}@media (max-width: 800px){.admin-products-layout{grid-template-columns:1fr}}.product-form{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:16px;align-self:start}.product-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600}.product-form input,.product-form select,.product-form textarea{padding:8px;border:1px solid var(--border);border-radius:6px;font-family:inherit}.product-form-actions{display:flex;gap:10px}.category-add{display:flex;gap:8px;border-top:1px solid var(--border);padding-top:12px;margin-top:4px}.category-add input{flex:1;padding:8px;border:1px solid var(--border);border-radius:6px}.product-list{display:flex;flex-direction:column;gap:10px}.product-list-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px}.product-list-row img{width:48px;height:48px;object-fit:cover;border-radius:6px}.product-list-info{flex:1;display:flex;flex-direction:column;gap:2px;font-size:.85rem}.product-list-actions{display:flex;gap:10px}.print-only{display:none}@media print{body *{visibility:hidden}.print-label,.print-label *{visibility:visible}.print-label{display:block;position:absolute;top:0;left:0;width:100%;padding:20px}.print-label table{width:100%;border-collapse:collapse;margin:10px 0}.print-label th,.print-label td{border:1px solid #333;padding:6px;text-align:left}.label-total{margin-top:16px;font-size:1.1rem}}
