/* Sidebar styles */
.main-layout { display: flex; min-height: 100vh; }
.sidebar { width: 220px; background: #232946; color: #fff; padding: 2rem 0 2rem 0; box-shadow: 2px 0 8px rgba(0,0,0,0.04); position: relative; z-index: 2; }
.sidebar-menu { list-style: none; margin: 0; padding: 0; }
.sidebar-link { display: block; color: #fff; text-decoration: none; padding: 0.85rem 2rem; font-size: 1.05rem; border-left: 4px solid transparent; transition: background 0.15s, border-color 0.15s; }
.sidebar-link:hover, .sidebar-link.active { background: #2c3e50; border-left: 4px solid #2980b9; color: #fff; }
.sidebar-logout { color: #e74c3c; font-weight: 600; }
.sidebar-logout:hover { background: #fdecea; color: #e74c3c; border-left: 4px solid #e74c3c; }
@media (max-width: 900px) {
	.main-layout { flex-direction: column; }
	.sidebar { width: 100%; min-height: unset; box-shadow: none; padding: 1rem 0; }
	.dashboard-container { padding-left: 0; }
}
.dashboard-container { flex: 1; }
body { font-family: 'Segoe UI', sans-serif; background:#f9f9f9; margin:0; }
.navbar { background:#2c3e50; color:#fff; padding:1rem 0; box-shadow:0 2px 8px rgba(0,0,0,0.04); }
.navbar .container { max-width:1200px; margin:0 auto; padding:0 2rem; display:flex; align-items:center; }
.navbar-brand { font-size:1.5rem; font-weight:600; letter-spacing:1px; }

.dashboard-container { max-width:1200px; margin:2rem auto; padding:0 2rem; }
.dashboard-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
@media (min-width: 900px) {
	.dashboard-grid { grid-template-columns:2fr 1fr; }
}

.stats-row { display:flex; flex-wrap:wrap; gap:1.5rem; margin-bottom:2rem; }
.stat-card { flex:1 1 200px; min-width:220px; background:#fff; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.06); padding:1.5rem; display:flex; flex-direction:column; align-items:flex-start; }
.stat-value { font-size:2rem; font-weight:700; color:#2c3e50; margin-top:0.5rem; }
.card { background:#fff; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.06); margin-bottom:2rem; }
.card-header { font-size:1.1rem; font-weight:600; padding:1rem 1.5rem; border-bottom:1px solid #f0f0f0; background:#f7f7f7; border-radius:8px 8px 0 0; }
.card-body { padding:1.5rem; }

.list-group { list-style:none; margin:0; padding:0; }
.list-group-item { padding:0.75rem 1rem; border-bottom:1px solid #f0f0f0; font-size:1rem; }
.list-group-item:last-child { border-bottom:none; }

canvas { max-width:100%; height:auto; }

/* Utility classes */
.text-center { text-align:center; }
.text-success { color:#27ae60; }
.text-danger { color:#e74c3c; }
.text-muted { color:#888; }
.py-4 { padding-top:2rem; padding-bottom:2rem; }

/* Button styles */
.btn { display:inline-block; padding:0.5rem 1.25rem; border:none; border-radius:4px; background:#2c3e50; color:#fff; font-weight:600; cursor:pointer; transition:background 0.2s; text-decoration:none; }
.btn-primary { background:#2980b9; }
.btn-success { background:#27ae60; }
.btn-danger { background:#e74c3c; }
.btn-sm { padding:0.25rem 0.75rem; font-size:0.9rem; }
.btn-action { background:transparent; color:#2c3e50; padding:0.25rem 0.5rem; }
.btn:hover, .btn:focus { opacity:0.9; }

/* Alert styles */
.alert { padding:1rem 1.5rem; border-radius:6px; margin-bottom:1rem; font-size:1rem; }
.alert-success { background:#eafaf1; color:#27ae60; }
.alert-error { background:#fdecea; color:#e74c3c; }
.alert-warning { background:#fff8e1; color:#f39c12; }
.alert-info { background:#eaf6fb; color:#2980b9; }

/* Badge styles */
.badge { display:inline-block; padding:0.25em 0.75em; border-radius:12px; font-size:0.85em; font-weight:600; }
.badge-success { background:#eafaf1; color:#27ae60; }
.badge-warning { background:#fff8e1; color:#f39c12; }
.badge-danger { background:#fdecea; color:#e74c3c; }
.badge-info { background:#eaf6fb; color:#2980b9; }
.badge-secondary { background:#f0f0f0; color:#888; }
