:root{--primary:#3b82f6;--primary-hover:#2563eb;--primary-light:#eff6ff;--success:#10b981;--success-hover:#059669;--success-light:#ecfdf5;--danger:#ef4444;--danger-hover:#dc2626;--danger-light:#fef2f2;--warning:#f59e0b;--warning-light:#fffbeb;--nav-bg:#1e293b;--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--text:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000000d;--shadow:0 2px 4px #00000014;--shadow-md:0 6px 12px #0000001a;--shadow-lg:0 12px 24px #0000001f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:2.5rem auto;padding:0 1.5rem}.navbar{background-color:var(--nav-bg);z-index:100;padding:0;position:sticky;top:0;box-shadow:0 2px 8px #0003}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;height:60px;margin:0 auto;padding:0 1.5rem;display:flex}.nav-logo{color:#fff;letter-spacing:-.3px;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;text-decoration:none;transition:opacity .2s;display:flex}.nav-logo:hover{opacity:.9}.nav-menu{gap:.25rem;list-style:none;display:flex}.nav-item{align-items:center;display:flex}.nav-link{color:#cbd5e1;border-radius:var(--radius);align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{color:#fff;background-color:#ffffff1a}.cart-badge{background-color:var(--primary);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.nav-auth{align-items:center;gap:.5rem;display:flex}.nav-user{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.875rem;font-weight:500;overflow:hidden}.footer{background-color:var(--nav-bg);color:#64748b;text-align:center;margin-top:4rem;padding:1.5rem;font-size:.85rem}h1{color:var(--text);border-bottom:2px solid var(--border);letter-spacing:-.3px;margin-bottom:1.75rem;padding-bottom:.75rem;font-size:1.75rem;font-weight:700}h2,h3{color:var(--text);font-weight:600}.text-muted{color:var(--text-muted);font-size:.875rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem;transition:all .3s}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-4px)}.card-image{border-radius:var(--radius);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:180px;margin-bottom:0;display:flex;position:relative;overflow:hidden}.card-image-img{object-fit:cover;width:100%;height:100%;display:block}.card-image-icon{color:#fff;opacity:.85;filter:drop-shadow(0 2px 4px #0000001a);justify-content:center;align-items:center;display:flex}.product-icon{color:#fff;opacity:.85;text-transform:uppercase;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 4px #0000001a);font-size:4rem;font-weight:700}.card-body{padding:1rem 0 0}.card-category{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.35rem;font-size:.75rem;font-weight:600}.card-title{color:var(--text);margin-bottom:.4rem;font-size:1rem;font-weight:600;line-height:1.4}.card-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.75rem;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.card-price{color:var(--success);margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.card-footer{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.card-sku{color:var(--text-muted);font-size:.75rem}.card-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.card-actions .btn{flex:1;justify-content:center;min-width:80px}.product-detail{grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2rem;display:grid}.product-detail-image{border-radius:var(--radius-lg);min-height:320px;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.product-detail-image-img{object-fit:cover;width:100%;height:100%;display:block}.product-detail-image-icon{color:#fff;opacity:.85;filter:drop-shadow(0 2px 8px #00000026);justify-content:center;align-items:center;display:flex}.product-icon-lg{color:#fff;opacity:.85;text-transform:uppercase;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 8px #00000026);font-size:6rem;font-weight:700}.product-detail-info{flex-direction:column;display:flex}.detail-price{color:var(--success);margin-bottom:.75rem;font-size:2rem;font-weight:700}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.filter-bar{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;padding:1rem;display:flex}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.35rem;padding:.5rem 1.1rem;font-size:.9rem;font-weight:500;line-height:1.4;text-decoration:none;transition:all .2s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 2px 4px #3b82f633}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.btn-success{background-color:var(--success);color:#fff;box-shadow:0 2px 4px #10b98133}.btn-success:hover:not(:disabled){background-color:var(--success-hover);transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.btn-danger{background-color:var(--danger);color:#fff;box-shadow:0 2px 4px #ef444433}.btn-danger:hover:not(:disabled){background-color:var(--danger-hover);transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.btn-outline{border:1px solid var(--border);color:var(--text-secondary);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:var(--bg);color:var(--text);border-color:#94a3b8}.btn-outline-light{color:#e2e8f0;background-color:#0000;border:1px solid #ffffff4d}.btn-outline-light:hover:not(:disabled){color:#fff;background-color:#ffffff1a;border-color:#ffffff80}.btn-filter{background-color:var(--surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;padding:.35rem 1rem;font-size:.85rem;transition:all .2s}.btn-filter:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}.btn-filter.active{background-color:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 4px #3b82f64d}.btn-small{padding:.3rem .75rem;font-size:.82rem}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text);margin-bottom:.4rem;font-size:.875rem;font-weight:500;display:block}.form-input,.form-textarea,.form-select{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background-color:var(--surface);padding:.6rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.form-textarea{resize:vertical;min-height:100px}.loading{text-align:center;color:var(--text-muted);padding:3rem 2rem;font-size:.95rem}.empty-state{text-align:center;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:3rem 2rem;font-size:.95rem}.error{background-color:var(--danger-light);color:var(--danger);border-radius:var(--radius);border-left:4px solid var(--danger);margin-bottom:1rem;padding:.85rem 1rem;font-size:.9rem}.success{background-color:var(--success-light);color:var(--success);border-radius:var(--radius);border-left:4px solid var(--success);margin-bottom:1rem;padding:.85rem 1rem;font-size:.9rem}.table-responsive{border-radius:var(--radius-lg);overflow-x:auto}.table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.table thead{border-bottom:2px solid var(--border);background-color:#f8fafc}.table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;padding:.85rem 1rem;font-size:.8rem;font-weight:600}.table td{border-bottom:1px solid var(--border);color:var(--text);padding:.9rem 1rem;font-size:.9rem}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background-color:#f8fafc}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background-color:var(--success-light);color:var(--success)}.badge-warning{background-color:var(--warning-light);color:var(--warning)}.badge-danger{background-color:var(--danger-light);color:var(--danger)}.pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.pagination-info{color:var(--text-secondary);font-size:.875rem;font-weight:500}.cart-layout{max-width:900px;margin:0 auto}.cart-totals{color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:2rem;padding:1rem 0 0;font-size:.9rem;display:flex}.cart-total-amount{color:var(--text);font-size:1.05rem}.auth-container{justify-content:center;align-items:flex-start;padding:2.5rem 1rem;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border-top:3px solid var(--primary);width:100%;max-width:440px;padding:2.5rem 2.25rem}.auth-title{color:var(--text);text-align:center;border-bottom:none;margin-bottom:1.75rem;padding-bottom:0;font-size:1.5rem;font-weight:700}.auth-error{background-color:var(--danger-light);color:var(--danger);border-left:4px solid var(--danger);border-radius:var(--radius);margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.auth-submit{justify-content:center;width:100%;margin-top:.5rem;padding:.75rem;font-size:.95rem}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.875rem}.auth-link{color:var(--primary);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.input-error{border-color:var(--danger)!important}.field-error{color:var(--danger);margin-top:.3rem;font-size:.8rem;display:block}@media (width<=768px){.nav-container{flex-wrap:wrap;gap:.5rem;height:auto;padding:.75rem 1rem}.nav-menu{order:3;gap:0;width:100%;padding:.25rem 0 .5rem}.nav-auth{gap:.35rem}.main-content{margin:1.5rem auto;padding:0 1rem}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.product-detail{grid-template-columns:1fr}.table th,.table td{padding:.65rem .75rem;font-size:.85rem}h1{font-size:1.4rem}}.modal-overlay{z-index:200;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal--sm{max-width:400px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{border:none;margin:0;padding:0;font-size:1.1rem;font-weight:600}.modal-close{cursor:pointer;color:var(--text-muted);border-radius:var(--radius);background:0 0;border:none;padding:4px;transition:color .15s,background .15s;display:flex}.modal-close:hover{color:var(--text);background:var(--bg)}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.admin-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);border-top:3px solid var(--primary);padding:1.5rem}.admin-stat-card--warning{border-top-color:var(--warning)}.admin-stat-number{color:var(--text);font-size:2rem;font-weight:700}.admin-stat-label{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem}
