.admin-body { background: var(--color-bg-alt); }
.admin-body--centered { display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.admin-login-form {
    background: var(--color-surface); padding: 40px; border-radius: var(--radius-l); width: 100%; max-width: 360px;
    box-shadow: var(--shadow-card);
}
.admin-login-form h1 { font-size: 1.4rem; margin-bottom: 0.6em; }

.admin-shell { display: flex; min-height: 100vh; }
.admin-sidebar {
    width: 220px; background: #241f1a; color: #f3ede4; padding: 28px 20px; display: flex; flex-direction: column;
    gap: 24px; flex-shrink: 0;
}
.admin-sidebar .brand { color: #fff; }
.admin-sidebar nav { display: flex; flex-direction: column; gap: 4px; }
.admin-sidebar nav a { color: #d8cfc2; padding: 0.5em 0.2em; font-size: 0.92rem; }
.admin-sidebar nav a:hover { color: #fff; text-decoration: none; }
.admin-logout-form { margin-top: auto; }
.admin-logout-form .link-button { color: #d8cfc2; }
.admin-view-site { color: #a89a86; font-size: 0.85rem; }

.admin-content { flex: 1; padding: 40px; max-width: 920px; }

.admin-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.admin-table { width: 100%; border-collapse: collapse; background: var(--color-surface); border-radius: var(--radius-m); overflow: hidden; }
.admin-table th, .admin-table td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--color-border); font-size: 0.92rem; }
.admin-table th { background: var(--color-bg-alt); font-weight: 600; }
.admin-table__actions { display: flex; gap: 12px; }
.admin-thumb { width: 46px; height: 46px; object-fit: cover; border-radius: var(--radius-s); }
.admin-thumb--large { width: 140px; height: 140px; margin-bottom: 10px; }

.admin-form { max-width: 560px; }

.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 20px; margin-top: 24px; }
.stat-card {
    background: var(--color-surface); border-radius: var(--radius-m); padding: 24px; text-align: center;
    box-shadow: var(--shadow-card); color: var(--color-text);
}
.stat-card:hover { text-decoration: none; }
.stat-number { display: block; font-family: var(--font-heading); font-size: 2.2rem; color: var(--color-accent-dark); }

.message-list { display: flex; flex-direction: column; gap: 16px; }
.message-item {
    background: var(--color-surface); border-radius: var(--radius-m); padding: 20px; border: 1px solid var(--color-border);
}
.message-item.is-unread { border-color: var(--color-accent); }
.message-item header { display: flex; gap: 12px; align-items: baseline; margin-bottom: 10px; font-size: 0.9rem; flex-wrap: wrap; }
.message-item time { color: var(--color-text-muted); margin-left: auto; }
