.admin-wrapper {
    max-width: 700px;
    margin: 40px auto;
    padding: 0 16px;
    font-family: var(--text-font);
}

.admin-login {
    max-width: 300px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: 2px solid var(--border-color);
    padding: 20px;
}

.admin-login input {
    font-family: var(--text-font);
    border: 1px solid #999;
    padding: 6px;
}

.admin-login button {
    margin-top: 8px;
    font-family: var(--text-font);
    font-weight: bold;
    border: 2px solid var(--border-color);
    background: var(--box-bg-color);
    padding: 8px;
    cursor: pointer;
}

.admin-error {
    color: #b30000;
    font-size: 0.85rem;
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
}

.admin-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.admin-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 30px;
}

.admin-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1px solid #999;
    padding: 10px 14px;
}

.admin-row-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.admin-row p {
    margin: 4px 0 0 0;
}

.admin-row-actions {
    flex-shrink: 0;
    display: flex;
    gap: 6px;
}

.admin-reply-btn {
    font-family: var(--text-font);
    border: 1px solid var(--border-color);
    background: #fff;
    padding: 4px 10px;
    cursor: pointer;
}

.admin-reply-btn:hover {
    background: var(--border-color);
    color: #fff;
}

.admin-delete-btn {
    font-family: var(--text-font);
    border: 1px solid #b30000;
    background: #fff;
    color: #b30000;
    padding: 4px 10px;
    cursor: pointer;
}

.admin-delete-btn:hover {
    background: #b30000;
    color: #fff;
}

.admin-reply-form {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-left: 16px;
    border-left: 2px solid #ccc;
}

.admin-reply-form input,
.admin-reply-form textarea {
    font-family: var(--text-font);
    border: 1px solid #999;
    padding: 6px;
}

.admin-reply-form textarea {
    min-height: 50px;
    resize: vertical;
}

.admin-reply-form button {
    align-self: flex-start;
    font-family: var(--text-font);
    border: 1px solid var(--border-color);
    background: var(--box-bg-color);
    padding: 4px 12px;
    cursor: pointer;
}

.admin-reply-cancel {
    border-color: #999 !important;
}
