.page-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; flex-wrap: wrap; gap: 1rem; }
.page-header h1 { font-size: 1.5rem; font-weight: 700; }
.page-actions { display: flex; gap: 0.5rem; align-items: center; }
.card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.5rem; }
.card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.card-header h2 { font-size: 1.1rem; font-weight: 600; }
.card-body { }
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
.stat-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.25rem; }
.stat-card .stat-label { font-size: 0.85rem; color: var(--text-secondary); margin-bottom: 0.25rem; }
.stat-card .stat-value { font-size: 1.75rem; font-weight: 700; }
.empty-state { text-align: center; padding: 3rem; color: var(--text-muted); }
.empty-state svg { width: 48px; height: 48px; margin-bottom: 1rem; opacity: 0.4; }
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-4 { margin-top: 1rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-4 { margin-bottom: 1rem; }

.admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.admin-card { display: flex; align-items: flex-start; gap: 1rem; padding: 1.25rem; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); cursor: pointer; transition: all var(--transition); text-decoration: none; color: inherit; }
a.admin-card:hover, div.admin-card:hover { border-color: var(--primary); box-shadow: var(--shadow-md); text-decoration: none; }
.admin-card-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--radius); background: var(--border-light); flex-shrink: 0; }
.admin-card-icon svg { stroke: var(--text-secondary); }
.admin-card:hover .admin-card-icon { background: var(--primary-light); }
.admin-card:hover .admin-card-icon svg { stroke: var(--primary); }
.admin-card-body h3 { font-size: 0.95rem; font-weight: 600; margin-bottom: 0.25rem; }
.admin-card-body p { font-size: 0.8rem; color: var(--text-muted); margin: 0; }

.section { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); margin-bottom: 1.5rem; }
.section-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.5rem; border-bottom: 1px solid var(--border); flex-wrap: wrap; gap: 0.75rem; }
.section-header h2 { font-size: 1rem; font-weight: 600; }
.section-header .section-subtitle { font-size: 0.8rem; color: var(--text-muted); font-weight: 400; margin-left: 0.5rem; }
.section-body { padding: 1.5rem; }
.section-body-compact { padding: 0; }
.section-body-compact .table-container { border: none; border-radius: 0; }
.section-divider { border: none; border-top: 1px solid var(--border); margin: 0; }
.section-group { display: flex; flex-direction: column; gap: 1.5rem; }
.section-group-title { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); padding-bottom: 0.5rem; border-bottom: 1px solid var(--border); margin-bottom: 0.25rem; }
