/* RESET */

* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: Arial, Helvetica, sans-serif;
}



/* BODY */

body {
background: #f5f5f5;
color: #222;
}



/* LOGIN PAGE */

.login-container {
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}

.login-card {
background: white;
padding: 40px;
width: 380px;
border-radius: 8px;
box-shadow: 0 5px 20px rgba(0,0,0,0.1);
text-align: center;
}

.admin-logo-img {
width: 60px;
height: 60px;
margin-bottom: 16px;
}

.admin-logo {
font-size: 28px;
margin-bottom: 10px;
}

.admin-subtitle {
color: #777;
margin-bottom: 30px;
}



/* FORM */

.form-group {
margin-bottom: 20px;
text-align: left;
}

.form-group label {
display: block;
margin-bottom: 6px;
font-size: 14px;
}

.form-group input,
.form-group textarea {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 14px;
}

.form-group input:focus,
.form-group textarea:focus {
outline: none;
border-color: #000;
}



/* BUTTONS */

button {
cursor: pointer;
border: none;
}

.login-button,
.save-button,
.upload-button,
.create-button {
background: black;
color: white;
padding: 10px 18px;
border-radius: 4px;
font-size: 14px;
}

.login-button:hover,
.save-button:hover,
.upload-button:hover,
.create-button:hover {
background: #333;
}

.cancel-button {
margin-left: 10px;
text-decoration: none;
color: #333;
background: #eee;
padding: 10px 18px;
border-radius: 4px;
font-size: 14px;
border: none;
cursor: pointer;
}

.cancel-button:hover {
background: #ddd;
}

.delete-btn {
background: #c0392b;
color: white;
padding: 6px 12px;
border-radius: 4px;
font-size: 12px;
}

.edit-btn {
margin-right: 10px;
text-decoration: none;
color: #000;
font-size: 13px;
background: #eee;
padding: 6px 12px;
border-radius: 4px;
border: none;
cursor: pointer;
}

.edit-btn:hover {
background: #ddd;
}

.logout-button {
background: #eee;
padding: 8px 12px;
border-radius: 4px;
width: 100%;
}

.error-message {
color: red;
font-size: 13px;
margin-top: 10px;
}



/* ADMIN LAYOUT */

.admin-layout {
display: flex;
height: 100vh;
}



/* SIDEBAR */

.sidebar {
width: 220px;
background: white;
border-right: 1px solid #e5e5e5;
display: flex;
flex-direction: column;
justify-content: space-between;
}

.sidebar-logo {
padding: 25px;
border-bottom: 1px solid #eee;
}

.sidebar-logo h2 {
font-size: 20px;
}

.sidebar-logo p {
font-size: 12px;
color: #777;
}



.sidebar-nav {
display: flex;
flex-direction: column;
}

.nav-item {
padding: 15px 25px;
text-decoration: none;
color: #333;
font-size: 14px;
border-bottom: 1px solid #f2f2f2;
}

.nav-item:hover {
background: #f8f8f8;
}

.nav-item.active {
background: #f2f2f2;
font-weight: bold;
}



.sidebar-footer {
padding: 20px;
}



/* MAIN CONTENT */

.main-content {
flex: 1;
display: flex;
flex-direction: column;
}



/* TOPBAR */

.topbar {
background: white;
padding: 20px 30px;
border-bottom: 1px solid #eee;
display: flex;
justify-content: space-between;
align-items: center;
}

.topbar h1 {
font-size: 20px;
}



/* DASHBOARD */

.dashboard-content {
padding: 30px;
}

.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
gap: 20px;
}

.stat-card {
background: white;
padding: 25px;
border-radius: 6px;
box-shadow: 0 3px 10px rgba(0,0,0,0.05);
}

.stat-card h3 {
font-size: 14px;
color: #777;
margin-bottom: 10px;
}

.stat-card p {
font-size: 24px;
font-weight: bold;
}



/* PRODUCTS TABLE */

.products-content {
padding: 30px;
}

.products-table {
width: 100%;
border-collapse: collapse;
background: white;
}

.products-table th,
.products-table td {
padding: 14px;
border-bottom: 1px solid #eee;
text-align: left;
font-size: 14px;
}

.products-table th {
background: #fafafa;
}

.product-thumb {
width: 50px;
height: 50px;
object-fit: cover;
border-radius: 4px;
}



/* PRODUCT EDITOR */

.product-editor {
padding: 30px;
background: white;
margin: 30px;
border-radius: 6px;
}

.form-actions {
margin-top: 20px;
}



/* COLLECTIONS */

.collection-create {
padding: 30px;
background: white;
margin: 30px;
border-radius: 6px;
}

.collections-list {
padding: 30px;
}

.collections-table {
width: 100%;
border-collapse: collapse;
background: white;
}

.collections-table th,
.collections-table td {
padding: 14px;
border-bottom: 1px solid #eee;
}



/* MEDIA */

.media-upload {
padding: 30px;
background: white;
margin: 30px;
border-radius: 6px;
}

.media-library {
padding: 30px;
}

.media-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px,1fr));
gap: 20px;
}

.media-item {
background: white;
padding: 10px;
border-radius: 6px;
box-shadow: 0 3px 10px rgba(0,0,0,0.05);
text-align: center;
}

.media-thumb {
width: 100%;
height: 120px;
object-fit: cover;
margin-bottom: 10px;
}