Spaces:
Sleeping
Sleeping
| /* ======================================== | |
| ADMIN PANEL CSS | |
| ======================================== */ | |
| .admin-login-overlay { | |
| position: fixed; | |
| inset: 0; | |
| background: var(--clr-bg); | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| z-index: 1000; | |
| } | |
| .admin-login-box { | |
| background: var(--clr-surface); | |
| padding: var(--space-xl); | |
| border-radius: var(--radius-lg); | |
| border: 1px solid var(--clr-border); | |
| width: 100%; | |
| max-width: 400px; | |
| text-align: center; | |
| } | |
| .admin-login-box h2 { | |
| margin-bottom: var(--space-lg); | |
| color: var(--clr-text-primary); | |
| } | |
| .admin-layout { | |
| display: flex; | |
| min-height: 100vh; | |
| background: var(--clr-bg); | |
| } | |
| .admin-sidebar { | |
| width: 260px; | |
| background: var(--clr-surface); | |
| border-right: 1px solid var(--clr-border); | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .admin-logo { | |
| padding: var(--space-lg); | |
| font-size: 1.5rem; | |
| font-weight: 800; | |
| color: var(--clr-accent); | |
| letter-spacing: 2px; | |
| border-bottom: 1px solid var(--clr-border); | |
| } | |
| .admin-nav { | |
| display: flex; | |
| flex-direction: column; | |
| padding: var(--space-md); | |
| gap: 8px; | |
| flex: 1; | |
| } | |
| .admin-nav a { | |
| padding: var(--space-md); | |
| color: var(--clr-text-secondary); | |
| border-radius: var(--radius-md); | |
| transition: all 0.2s ease; | |
| text-decoration: none; | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| } | |
| .admin-nav a:hover, | |
| .admin-nav a.active { | |
| background: rgba(100, 255, 218, 0.1); | |
| color: var(--clr-accent); | |
| } | |
| .admin-content { | |
| flex: 1; | |
| display: flex; | |
| flex-direction: column; | |
| padding: var(--space-xl); | |
| overflow-y: auto; | |
| } | |
| .admin-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: var(--space-xl); | |
| } | |
| .admin-header h2 { | |
| font-size: 2rem; | |
| } | |
| .admin-stats { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | |
| gap: var(--space-lg); | |
| margin-bottom: var(--space-xl); | |
| } | |
| .stat-card { | |
| background: var(--clr-surface); | |
| padding: var(--space-lg); | |
| border-radius: var(--radius-lg); | |
| border: 1px solid var(--clr-border); | |
| } | |
| .stat-title { | |
| color: var(--clr-text-secondary); | |
| font-size: 0.9rem; | |
| margin-bottom: 8px; | |
| } | |
| .stat-value { | |
| font-size: 2rem; | |
| font-weight: 700; | |
| color: var(--clr-accent); | |
| } | |
| .admin-section { | |
| display: none; | |
| } | |
| .admin-section.active { | |
| display: block; | |
| } | |
| .card { | |
| background: var(--clr-surface); | |
| border-radius: var(--radius-lg); | |
| border: 1px solid var(--clr-border); | |
| overflow: hidden; | |
| } | |
| .admin-table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| } | |
| .admin-table th, | |
| .admin-table td { | |
| padding: var(--space-md) var(--space-lg); | |
| text-align: left; | |
| border-bottom: 1px solid var(--clr-border); | |
| } | |
| .admin-table th { | |
| background: rgba(255, 255, 255, 0.02); | |
| font-weight: 600; | |
| color: var(--clr-text-secondary); | |
| } | |
| .admin-table tr:hover { | |
| background: rgba(255, 255, 255, 0.01); | |
| } | |
| .admin-table img { | |
| width: 50px; | |
| height: 50px; | |
| object-fit: cover; | |
| border-radius: var(--radius-sm); | |
| } | |
| .action-btn { | |
| background: none; | |
| border: none; | |
| color: var(--clr-text-secondary); | |
| cursor: pointer; | |
| font-size: 1.2rem; | |
| padding: 4px 8px; | |
| border-radius: var(--radius-sm); | |
| transition: 0.2s ease; | |
| } | |
| .action-btn:hover { | |
| background: var(--clr-hover); | |
| color: var(--clr-text-primary); | |
| } | |
| .action-btn.delete:hover { | |
| color: var(--clr-error); | |
| } | |
| /* Modal form overrides for admin */ | |
| #productForm { | |
| display: flex; | |
| flex-direction: column; | |
| gap: var(--space-md); | |
| } | |
| .modal-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: var(--space-lg); | |
| padding-bottom: var(--space-md); | |
| border-bottom: 1px solid var(--clr-border); | |
| } | |
| .modal-close { | |
| background: none; | |
| border: none; | |
| color: var(--clr-text-secondary); | |
| font-size: 1.5rem; | |
| cursor: pointer; | |
| } | |
| .modal-close:hover { | |
| color: var(--clr-text-primary); | |
| } |