/* Admin Global */
body {
    background-color: #f4f7f6;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #333;
    margin: 0;
}

.admin-wrapper { display: flex; }

/* Sidebar */
.admin-sidebar {
    width: 240px;
    background-color: #2c3e50;
    color: #ecf0f1;
    min-height: 100vh;
    padding-top: 20px;
    position: relative;
}
.admin-sidebar h2 { text-align: center; color: #fff; margin-bottom: 30px; }
.admin-sidebar nav a { display: block; color: #ecf0f1; text-decoration: none; padding: 15px 20px; transition: background-color 0.3s; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.active { background-color: #34495e; }
.admin-sidebar .logout { position: absolute; bottom: 0; width: 100%; box-sizing: border-box; }

/* Main Content */
.admin-main-content { flex-grow: 1; padding: 30px; }
.admin-main-content h1 { color: #2c3e50; border-bottom: 2px solid #bdc3c7; padding-bottom: 10px; margin-top: 0; }

/* Login Page */
.login-container { width: 100%; max-width: 400px; margin: 100px auto; padding: 30px; background: #fff; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
.login-container h2 { text-align: center; color: #2c3e50; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; margin-bottom: 5px; }
.form-group input { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
.btn { width: 100%; padding: 12px; background-color: #3498db; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; transition: background-color 0.2s; }
.btn:hover { background-color: #2980b9; }

/* Feedback Messages */
.message { padding: 15px; margin-bottom: 20px; border-radius: 4px; }
.message.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.message.error, .error { color: #721c24; background-color: #f8d7da; border: 1px solid #f5c6cb; padding: 10px; border-radius: 4px; text-align: center; margin-bottom: 15px; }

/* Tables */
.admin-table { width: 100%; border-collapse: collapse; margin-top: 20px; background: #fff; }
.admin-table th, .admin-table td { border: 1px solid #ddd; padding: 12px; text-align: left; vertical-align: middle; }
.admin-table th { background-color: #ecf0f1; color: #2c3e50; }
.admin-table tr:nth-child(even) { background-color: #f9f9f9; }
.admin-table .action-links a { margin-right: 10px; text-decoration: none; color: #3498db; }
.action-links .delete-link {
    color: #e74c3c;
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
}
.image-preview { max-width: 120px; max-height: 80px; border-radius: 4px; }

/* Forms */
.admin-form { background: #fff; padding: 20px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); max-width: 700px; margin-bottom: 30px; }
.admin-form h2 { margin-top: 0; }
.admin-form .form-group { margin-bottom: 15px; }
.admin-form label { display: block; font-weight: bold; margin-bottom: 5px; }
.admin-form input[type="text"],
.admin-form input[type="date"],
.admin-form input[type="number"],
.admin-form input[type="file"],
.admin-form textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}
.admin-form .btn { width: auto; padding: 10px 20px; }
.admin-form a {
    margin-left: 15px;
    color: #7f8c8d;
    text-decoration: none;
}