*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1e293b;background:#f1f5f9;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}a{color:#4f46e5;text-decoration:none}a:hover{text-decoration:underline}input,textarea,select,button{font-family:inherit;font-size:inherit}.navbar{z-index:100;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;max-width:1200px;height:60px;margin:0 auto;padding:0 20px;display:flex}.navbar-brand{color:#4f46e5;align-items:center;gap:8px;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.navbar-links{align-items:center;gap:16px;display:flex}.nav-link{color:#475569;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:.9rem;text-decoration:none;transition:background .2s;display:flex}.nav-link:hover{background:#f1f5f9;text-decoration:none}.nav-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px}.btn-link{cursor:pointer;background:0 0;border:none}.container{max-width:1200px;margin:0 auto;padding:24px 20px}.auth-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:40px;box-shadow:0 20px 60px #00000026}.auth-card h2{margin-bottom:4px;font-size:1.5rem}.auth-subtitle{color:#64748b;margin-bottom:24px;font-size:.9rem}.auth-footer{text-align:center;color:#64748b;margin-top:16px;font-size:.85rem}.input-group{margin-bottom:16px;position:relative}.input-icon{color:#94a3b8;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-group input{border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:12px 14px 12px 42px;font-size:.95rem;transition:border-color .2s}.input-group input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51a}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{color:#fff;background:#4f46e5}.btn-primary:hover{background:#4338ca}.btn-primary:disabled{cursor:not-allowed;background:#a5b4fc}.btn-outline{color:#475569;background:0 0;border:1px solid #e2e8f0}.btn-outline:hover{color:#4f46e5;background:#f8fafc;border-color:#4f46e5}.btn-danger{color:#dc2626;background:#fee2e2}.btn-danger:hover{background:#fecaca}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-icon{cursor:pointer;color:#64748b;background:0 0;border:none;padding:4px}.btn-full{justify-content:center;width:100%}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h2{font-size:1.5rem}.product-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.product-card{background:#fff;border-radius:12px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 1px 3px #00000014}.product-card:hover{box-shadow:0 4px 12px #0000001f}.product-img-wrapper{background:#f1f5f9;justify-content:center;align-items:center;height:200px;display:flex;overflow:hidden}.product-img{object-fit:cover;width:100%;height:100%}.product-img-placeholder{color:#cbd5e1}.product-body{padding:16px}.product-body h4{margin-bottom:4px;font-size:1.05rem}.product-desc{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:.85rem;display:-webkit-box;overflow:hidden}.product-price{color:#4f46e5;margin-bottom:12px;font-size:1.1rem;font-weight:700}.product-actions{gap:8px;display:flex}.empty-state{text-align:center;color:#94a3b8;padding:60px 20px}.empty-state p{margin-top:12px}.modal-backdrop{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h3{font-size:1.2rem}.form-group{margin-bottom:16px}.form-group label{color:#475569;margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.form-group input,.form-group textarea{border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 14px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51a}.form-group input:disabled{color:#94a3b8;background:#f8fafc}.file-upload{cursor:pointer;border:2px dashed #e2e8f0;border-radius:8px;transition:border-color .2s;position:relative;overflow:hidden}.file-upload:hover{border-color:#4f46e5}.file-upload input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.file-placeholder{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;gap:8px;padding:24px;display:flex}.img-preview{object-fit:cover;width:100%;max-height:200px;display:block}.profile-card{background:#fff;border-radius:16px;max-width:500px;margin:0 auto;padding:32px;box-shadow:0 1px 3px #00000014}.profile-card h2{text-align:center;margin-bottom:24px}.avatar-wrapper{justify-content:center;margin-bottom:24px;display:flex}.avatar-label{cursor:pointer;border-radius:50%;width:120px;height:120px;position:relative;overflow:hidden}.avatar-img{object-fit:cover;width:100%;height:100%}.avatar-placeholder{color:#94a3b8;background:#f1f5f9;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.avatar-overlay{color:#fff;opacity:0;background:#0006;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.avatar-label:hover .avatar-overlay{opacity:1}.spinner{border:4px solid #e2e8f0;border-top-color:#4f46e5;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=640px){.auth-card{padding:24px}.navbar-inner{padding:0 12px}.product-grid{grid-template-columns:1fr}.navbar-links{gap:8px}.nav-link span{display:none}}
