:root{--bg: #faf9f7;--surface: #ffffff;--border: #e8e4dd;--text: #1f1b16;--text-muted: #766f64;--accent: #c65d3b;--accent-hover: #a94a2b;--star: #e0a72f;--danger: #c0392b;--radius: 12px;--shadow: 0 1px 3px rgba(31, 27, 22, .06), 0 8px 24px rgba(31, 27, 22, .04)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}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:20px 32px;border-bottom:1px solid var(--border);background:var(--surface)}.brand{font-weight:700;font-size:1.25rem;letter-spacing:-.02em}.site-header nav{display:flex;align-items:center;gap:24px;font-weight:500}.site-header nav a:hover{color:var(--accent)}.header-auth{display:flex;align-items:center;gap:10px}.header-auth-name{color:var(--text-muted);font-size:.88rem}.link-button{background:none;border:none;padding:0;font-weight:500;color:var(--text-muted);cursor:pointer}.link-button:hover{background:none;color:var(--accent)}.you-tag{background:#f1ede6;color:var(--accent);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px}.private-tag{background:#f1ede6;color:var(--text-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;margin-top:12px;cursor:pointer}.checkbox-row input{width:auto}.checkbox-hint{font-size:.8rem;margin:4px 0 0}main{flex:1}.page{max-width:1100px;margin:0 auto;padding:40px 32px 80px}.hero{margin-bottom:32px}.hero h1{font-size:2rem;margin:0 0 8px;letter-spacing:-.02em}.hero p{color:var(--text-muted);margin:0;font-size:1.05rem}.toolbar{display:flex;gap:12px;margin-bottom:16px}.add-product-link{display:inline-block;margin-bottom:28px}.search-input{flex:1}input,select,textarea{font-family:inherit;font-size:.95rem;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}button{font-family:inherit;font-size:.95rem;font-weight:600;padding:10px 18px;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}button:hover{background:var(--accent-hover)}button:disabled{opacity:.6;cursor:not-allowed}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}button.danger:hover{background:var(--danger);color:#fff}.muted{color:var(--text-muted)}.error-text{color:var(--danger);font-weight:500}.success-text{color:#2a7a3d;font-weight:500}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .15s ease;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-3px)}.product-card-image,.product-detail-image{aspect-ratio:4 / 3;background:#f1ede6;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0}.product-detail-image{border-radius:var(--radius);width:320px;flex-shrink:0}.product-card-image img,.product-detail-image img{width:100%;height:100%;object-fit:cover}.product-card-placeholder{font-size:2.5rem;font-weight:700;color:var(--accent)}.product-card-placeholder.large{font-size:4rem}.product-card-body{padding:16px;display:flex;flex-direction:column;gap:6px}.product-card-body h3{margin:0;font-size:1.05rem}.product-card-desc{margin:0;color:var(--text-muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.category-pill{display:inline-block;align-self:flex-start;background:#f1ede6;color:var(--text-muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;border-radius:999px}.product-card-rating{display:flex;align-items:center;gap:8px;margin-top:4px}.rating-number{font-size:.85rem;color:var(--text-muted)}.stars{display:inline-flex}.star{color:#ddd6c9}.star.filled{color:var(--star)}.star.interactive{cursor:pointer}.back-link{display:inline-block;margin-bottom:24px;color:var(--text-muted);font-weight:500}.back-link:hover{color:var(--accent)}.product-detail{display:flex;gap:32px;margin-bottom:48px}.product-detail h1{margin:8px 0 12px;font-size:1.8rem}.product-detail-desc{color:var(--text-muted);line-height:1.6;max-width:520px}.review-section{display:grid;grid-template-columns:340px 1fr;gap:32px}.review-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;height:fit-content}.review-form-card h2,.reviews-list h2{font-size:1.15rem;margin:0 0 16px}.review-form-card form{display:flex;flex-direction:column;gap:6px}.review-form-card label{font-size:.85rem;font-weight:600;margin-top:10px}.review-form-card button{margin-top:16px}.review-item{border-bottom:1px solid var(--border);padding:16px 0}.review-item:last-child{border-bottom:none}.review-item-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.review-date{color:var(--text-muted);font-size:.8rem;margin-left:auto}.review-item p{margin:0;line-height:1.5}.auth-card{max-width:420px}.auth-footnote{margin-top:16px}.form-actions{display:flex;align-items:center;gap:16px;margin-top:16px}.form-actions button{margin-top:0}.admin-product-actions{display:flex;align-items:center;gap:16px}.admin-product-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.site-footer{text-align:center;padding:24px;color:var(--text-muted);font-size:.85rem;border-top:1px solid var(--border)}@media (max-width: 720px){.product-detail{flex-direction:column}.product-detail-image{width:100%}.review-section{grid-template-columns:1fr}}
