/*chat moderation page - plain, dense, no decoration*/

.admin-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem;
    /*the site centres everything; moderation tables read left to right*/
    text-align: left;
    gap: 1rem;
}

.admin-header {
    display: flex;
    align-items: baseline;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.admin-title {
    font-size: var(--text-xl);
}

.admin-status {
    color: var(--muted-color);
    font-size: var(--text-xs);
}

.admin-status.bad {
    color: var(--danger-color);
}

.admin-hint {
    margin-bottom: 0.6rem;
    color: var(--muted-color);
    font-size: var(--text-sm);
}

.admin-gate-form {
    display: flex;
    gap: 0.5rem;
}

.admin-input {
    padding: 0.25rem 0.45rem;
    border: 1px solid var(--border-color);
    background: var(--surface-color);
    color: var(--text-color);
    font-family: var(--mono-font);
    font-size: var(--text-xs);
}

.admin-token {
    flex: 1 1 auto;
    max-width: 32rem;
}

.admin-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-color);
}

.admin-room {
    width: 8rem;
}

.admin-spacer {
    flex: 1 1 auto;
}

.admin-label {
    color: var(--muted-color);
    font-size: var(--text-xs);
}

.admin-danger {
    border-color: var(--danger-color);
    color: var(--danger-color);
}

.admin-columns {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr);
    gap: 1rem;
    margin-top: 1rem;
}

@media (max-width: 760px) {
    .admin-columns {
        grid-template-columns: minmax(0, 1fr);
    }
}

.admin-card {
    border: 1px solid var(--border-color);
    background: var(--bg-color);
    min-width: 0;
}

.admin-card-title {
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid var(--border-color);
    color: var(--muted-color);
    font-size: var(--text-xs);
    text-transform: lowercase;
}

.admin-messages {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 65vh;
    overflow-y: auto;
}

.admin-row {
    padding: 0.35rem 0.6rem;
    border-bottom: 1px solid var(--border-color);
}

.admin-row:hover {
    background: var(--surface-color);
}

.admin-row-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--text-xs);
}

.admin-time {
    color: var(--muted-color);
    font-family: var(--mono-font);
}

.admin-name {
    font-weight: 600;
}

.admin-ip {
    color: var(--muted-color);
    font-family: var(--mono-font);
}

.admin-actions {
    margin-left: auto;
    display: flex;
    gap: 0.3rem;
}

.admin-actions button,
.admin-bans button {
    padding: 0.05rem 0.35rem;
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--muted-color);
    font-family: inherit;
    font-size: var(--text-tooltip);
    cursor: pointer;
}

.admin-actions button:hover,
.admin-bans button:hover {
    border-color: var(--link-color);
    color: var(--link-color);
}

.admin-actions button.admin-danger:hover {
    border-color: var(--danger-color);
    color: var(--danger-color);
}

.admin-text {
    margin: 0.15rem 0 0;
    font-size: var(--text-sm);
    overflow-wrap: anywhere;
}

.admin-ban-form {
    display: flex;
    gap: 0.4rem;
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid var(--border-color);
}

.admin-ban-form .admin-input {
    flex: 1 1 auto;
    min-width: 0;
}

.admin-bans {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 55vh;
    overflow-y: auto;
}

.admin-bans li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0.6rem;
    border-bottom: 1px solid var(--border-color);
    font-size: var(--text-xs);
}

.admin-bans li button {
    margin-left: auto;
}

.admin-empty {
    padding: 0.6rem;
    color: var(--muted-color);
    font-size: var(--text-xs);
}
