.admin-page { min-height: 100vh; color: #202431; }
.admin-shell { position: relative; z-index: 1; width: min(1180px, calc(100% - 32px)); margin: 24px auto; }
.admin-topbar, .admin-panel, .admin-metrics article { background: rgba(255,255,255,.94); border: 1px solid rgba(96,78,164,.15); border-radius: 18px; box-shadow: 0 12px 35px rgba(48,38,85,.08); }
.admin-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 20px; }
.admin-topbar .brand { display: flex; align-items: center; gap: 9px; color: inherit; text-decoration: none; }
.admin-topbar nav { display: flex; align-items: center; gap: 12px; }
.admin-topbar nav a, .admin-topbar button, .admin-heading button { color: #5b43a5; background: #f2effc; border: 0; border-radius: 10px; padding: 9px 13px; text-decoration: none; cursor: pointer; }
.admin-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 20px 0; }
.admin-metrics article { padding: 20px; }
.admin-metrics span { display: block; color: #697080; margin-bottom: 8px; }
.admin-metrics strong { font-size: 30px; }
.admin-panel { padding: 22px; }
.admin-heading { display: flex; align-items: center; justify-content: space-between; }
.admin-heading h1 { margin: 0 0 18px; }
.admin-table-wrap { overflow-x: auto; }
.user-search, .statistics-filter { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; flex-wrap: wrap; }
.user-search input, .statistics-filter input, .statistics-filter select { padding: 10px 12px; border: 1px solid #dcd8e8; border-radius: 9px; background: #fff; }
.user-search input { min-width: 260px; }
.user-search button, .pagination button, .statistics-filter button { border: 0; border-radius: 9px; padding: 10px 14px; cursor: pointer; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 18px; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px; text-align: left; border-bottom: 1px solid #eceaf3; }
.role { display: inline-block; padding: 4px 9px; border-radius: 999px; background: #eef0f5; }
.role.admin { color: #5b43a5; background: #eee8ff; }
.admin-error { padding: 18px; color: #9b2635; background: #fff0f2; border-radius: 14px; }
.admin-tabs { display: flex; gap: 8px; margin: 0 0 16px; }
.admin-tabs button { padding: 10px 18px; border: 0; border-radius: 10px; cursor: pointer; }
.admin-tabs button.active, .primary-btn { color: #fff; background: #5b43a5; }
.admin-layout.has-detail { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; }
.link-btn, .close-btn { color: #5b43a5; background: transparent; border: 0; cursor: pointer; }
.detail-card { padding: 18px; border-radius: 14px; background: #f7f5fc; }
.detail-title { display: flex; justify-content: space-between; align-items: center; }
.detail-title h2 { margin: 0 0 12px; font-size: 20px; }
.close-btn { font-size: 25px; }
.detail-card label { display: block; margin: 0 0 11px; color: #5e6370; }
.detail-card input, .detail-card select, .reply-form textarea { box-sizing: border-box; width: 100%; margin-top: 5px; padding: 10px; border: 1px solid #dcd8e8; border-radius: 9px; background: #fff; }
.user-counts { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 14px 0; font-size: 13px; }
.primary-btn { border: 0; border-radius: 10px; padding: 10px 16px; cursor: pointer; }
.form-message { color: #5b43a5; }
.support-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 20px; min-height: 570px; }
.thread-list { border-right: 1px solid #eceaf3; padding-right: 18px; }
.thread-item { position: relative; display: grid; grid-template-columns: 1fr auto; width: 100%; margin-bottom: 8px; padding: 12px; text-align: left; border: 1px solid #e7e3f0; border-radius: 11px; background: #fff; cursor: pointer; }
.unread-dot { position: absolute; z-index: 5; top: -5px; right: -5px; width: 16px; height: 16px; border: 3px solid #fff; border-radius: 50%; background: #e33445; box-shadow: 0 2px 7px rgba(174, 20, 40, .4); }
.thread-item.active { border-color: #7259bd; background: #f4f0ff; }
.thread-item small { grid-column: 1 / -1; margin-top: 5px; color: #777d8a; }
.support-dialog h2 { margin-top: 0; }.support-dialog h2 small { color: #777d8a; font-weight: normal; }
.support-messages { height: 430px; overflow-y: auto; padding: 8px; background: #f7f5fc; border-radius: 12px; }
.support-messages article { width: min(75%, 620px); margin: 0 0 12px; padding: 11px 13px; border-radius: 12px; background: #fff; }
.support-messages article.from-admin { margin-left: auto; background: #ebe4ff; }
.support-messages p { margin: 5px 0; white-space: pre-wrap; }.support-messages time { color: #7b7f89; font-size: 12px; }
.reply-form { display: flex; gap: 10px; margin-top: 12px; }.reply-form textarea { min-height: 74px; resize: vertical; margin: 0; }
.empty-dialog, .muted { color: #777d8a; }
.statistics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.statistics-grid article { padding: 20px; border: 1px solid #e7e3f0; border-radius: 14px; background: #f8f6fd; }
.statistics-grid span { display: block; min-height: 40px; color: #697080; }
.statistics-grid strong { font-size: 28px; }
@media (max-width: 900px) { .admin-layout.has-detail, .support-layout { grid-template-columns: 1fr; }.thread-list { border-right: 0; padding-right: 0; }.admin-metrics { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .admin-topbar { align-items: flex-start; flex-direction: column; }.statistics-grid { grid-template-columns: 1fr; } }
