body {
    font-family: Arial, sans-serif;
    background: #f7f8fb;
    color: #333;
    margin: 0;
    padding: 0;
}
main {
    max-width: 820px;
    margin: 40px auto;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e1e4ea;
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(32, 40, 60, 0.08);
}
h1 {
    margin-top: 0;
}
form {
    display: grid;
    gap: 14px;
}
label {
    display: block;
    font-weight: 600;
}
input[type="text"], input[type="password"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ccd3e0;
    border-radius: 8px;
    font-size: 15px;
}
button {
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    color: #fff;
    background: #2d6cdf;
    cursor: pointer;
    font-size: 15px;
}
button:hover {
    background: #2451b8;
}
.button {
    display: inline-block;
    text-decoration: none;
    padding: 10px 16px;
    border-radius: 8px;
    color: #fff;
    background: #2d6cdf;
}
.button:hover {
    background: #2451b8;
}
.button-gray {
    background: #6d7a97;
}
.button-gray:hover {
    background: #5a6477;
}
.button-red {
    background: #e63946;
}
.button-red:hover {
    background: #d62828;
}
.alert {
    padding: 14px 16px;
    border-radius: 10px;
    margin-bottom: 18px;
}
.alert-error {
    background: #ffe8e6;
    color: #a03028;
}
.alert-success {
    background: #e8f6eb;
    color: #24702c;
}
.alert-info {
    background: #eef3ff;
    color: #2e4d8d;
}
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 16px;
}
th, td {
    padding: 12px 10px;
    border-bottom: 1px solid #e3e7ef;
    text-align: left;
}
th {
    background: #f4f7fb;
}
.message-meta p {
    margin: 8px 0;
}
.message-body {
    margin-top: 20px;
    padding: 16px;
    background: #fafbff;
    border: 1px solid #dee2f0;
    border-radius: 10px;
}
.message-body pre {
    white-space: pre-wrap;
    word-wrap: break-word;
    margin: 0;
}
.actions {
    margin: 18px 0;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
