.support-hp {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.article-body .support-lead,
.article-body .support-hint,
.article-body .support-meta,
.article-body .support-status,
.article-body .support-code,
.article-body .support-msg-body p,
.article-body .support-open,
.article-body .support-form p,
.article-body .support-reply p,
.article-body .support-errors,
.article-body .support-alt,
.article-body .support-facts {
    text-indent: 0;
    text-align: left;
}

/* Cabinet section bars («Смена пароля», «О себе», …) */
.article-body > p.article-mark {
    margin-top: 1.35em;
}

.cabinet-recover-notice {
    margin: 0 0 14px;
    padding: 10px 12px;
    border: 1px solid #8a2a2a;
    background: #f8e8d8;
    color: #660000;
    font-weight: bold;
    font-size: 13px;
    line-height: 1.45;
    text-indent: 0;
    text-align: left;
}

.cabinet-bg-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
    text-indent: 0;
    text-align: left;
}

.cabinet-bg-pick {
    display: inline-block;
    line-height: 0;
    border: 2px solid transparent;
    padding: 1px;
}

.cabinet-bg-pick.is-active,
.cabinet-bg-pick:hover {
    border-color: #71171f;
}

.cabinet-bg-pick img,
.cabinet-bg-preview {
    display: block;
    width: 168px;
    height: auto;
    max-width: 100%;
}

.cabinet-bg-preview {
    width: 240px;
}

.support-lead {
    margin: 0 0 12px;
    color: var(--ink);
}

.support-alt {
    display: block;
    margin: 20px 0 4px;
    padding: 12px 16px;
    border: 2px solid #71171f;
    box-shadow: inset 0 0 0 1px #86644b;
    background: rgba(251, 245, 217, 0.65);
    color: var(--ink);
}

.article-body .support-alt p {
    margin: 0;
    padding: 0;
    text-indent: 0;
    text-align: left;
    font-size: 14px;
    line-height: 1.5;
    color: var(--ink);
}

.support-alt a {
    color: var(--link);
    font-weight: bold;
}

.support-open {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: flex-end;
    margin: 0 0 16px;
    padding: 10px 12px;
    border: 1px solid #86644b;
    background: rgba(56, 18, 8, 0.04);
}

.support-open label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    color: #5c3a22;
}

.support-files .support-hint {
    margin: 0;
}

.support-form label,
.support-reply label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 10px;
    color: var(--ink);
}

.support-form input[type="text"],
.support-form input[type="password"],
.support-form input[type="email"],
.support-form select,
.support-form textarea,
.support-open input,
.support-reply textarea,
.support-reply input[type="file"],
.support-form input[type="file"] {
    background: #fbf5d9;
    color: var(--ink);
    border: 1px solid #86644b;
    padding: 6px 8px;
    font: inherit;
}

.support-form textarea,
.support-reply textarea {
    min-height: 160px;
    width: 100%;
    box-sizing: border-box;
}

.support-hint,
.support-meta {
    font-size: 12px;
    color: #5c3a22;
    margin: 0 0 10px;
}

.article-body p.support-hint,
.article-body p.support-meta {
    font-size: 12px;
    color: #5c3a22;
}

.article-body p.support-code {
    font-size: 16px;
    color: var(--ink);
}

.support-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 10px;
    margin: 0 0 12px;
    padding: 6px 8px;
    border: 1px solid #86644b;
    background: rgba(56, 18, 8, 0.04);
}

.support-fact {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.support-fact-label {
    font-size: 11px;
    color: #5c3a22;
}

.support-fact-value {
    font-size: 12px;
    color: var(--ink);
    line-height: 1.3;
    word-break: break-word;
}

.support-form button,
.support-open button,
.support-reply button,
.support-close button {
    background: #f4ead0;
    color: var(--link);
    border: 1px solid #86644b;
    padding: 6px 14px;
    cursor: pointer;
    font: inherit;
}

.support-form button:hover,
.support-open button:hover,
.support-reply button:hover,
.support-close button:hover {
    color: #8b1e14;
    border-color: #71171f;
}

.support-compose {
    display: grid;
    margin: 0 0 16px;
}

.support-reply,
.support-close {
    grid-area: 1 / 1;
}

.support-close {
    margin: 0;
    align-self: end;
    justify-self: end;
}

.support-errors {
    color: var(--link);
    margin: 0 0 12px;
    padding-left: 18px;
    font-size: 15px;
    font-weight: bold;
    text-indent: 0;
}

.article-body p.support-errors,
.article-body ul.support-errors {
    text-indent: 0;
    text-align: left;
    font-size: 15px;
    font-weight: bold;
    color: var(--link);
    padding-left: 0;
}

.article-body p.support-errors.is-loud {
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 16px;
}

.support-status {
    margin: 0 0 14px;
    color: #14532d;
}

.article-body p.support-status {
    font-size: 18px;
    font-weight: bold;
    color: #14532d;
    text-indent: 0;
    text-align: left;
    line-height: 1.35;
}

.support-code {
    font-size: 16px;
    letter-spacing: 0.04em;
    color: var(--ink);
    margin: 0 0 6px;
    font-weight: bold;
}

.support-thread {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 0 18px;
}

.support-msg {
    border: 1px solid #86644b;
    padding: 8px 10px;
    background: rgba(251, 245, 217, 0.45);
}

.support-msg.is-staff {
    border-color: #71171f;
    background: rgba(232, 214, 168, 0.4);
}

.support-msg-head {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
    color: #86644b;
    margin-bottom: 6px;
}

.support-msg-body,
.support-msg-body p,
.support-msg-body li {
    color: var(--ink);
    margin: 0 0 8px;
}

.support-msg-body a {
    color: var(--link);
}

.support-files {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.support-files img {
    max-width: 100%;
    height: auto;
    border: 1px solid #86644b;
}

.support-files a {
    color: var(--link);
}

.tox-tinymce {
    border: 1px solid #86644b !important;
}

body.admin .support-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px 18px;
    margin: 0 0 20px;
    padding: 14px 16px;
    border: 1px solid #6a5538;
    background: rgba(0, 0, 0, 0.18);
}

body.admin .support-fact {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

body.admin .support-fact-label {
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #c5ab83;
}

body.admin .support-fact-value {
    color: #ead9c0;
    font-size: 14px;
    line-height: 1.35;
    word-break: break-word;
}

body.admin .support-fact-status {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    margin: 4px 0 0;
    padding-top: 10px;
    border-top: 1px solid #6a5538;
}

body.admin .support-fact-status label {
    margin-bottom: 0;
}

body.admin .support-code {
    color: #ead9c0;
    font-size: 18px;
}

body.admin .support-hint,
body.admin .support-meta,
body.admin .support-msg-head {
    color: #c5ab83;
}

body.admin .support-status {
    color: #c5ab83;
}

body.admin .support-errors {
    color: #e09080;
}

body.admin .support-msg {
    background: rgba(0, 0, 0, 0.18);
    border-color: #6a5538;
}

body.admin .support-msg.is-staff {
    border-color: #8a6a38;
    background: rgba(42, 33, 26, 0.5);
}

body.admin .support-msg-body,
body.admin .support-msg-body p,
body.admin .support-msg-body li {
    color: #ead9c0;
}

body.admin .support-msg-body a,
body.admin .support-files a {
    color: #f8cb71;
}

body.admin .support-form input[type="text"],
body.admin .support-form select,
body.admin .support-form textarea,
body.admin .support-reply textarea,
body.admin .support-reply input[type="file"],
body.admin .support-form input[type="file"] {
    background: #2a211a;
    color: #ead9c0;
    border-color: #6a5538;
}

body.admin .support-form button,
body.admin .support-reply button {
    background: #3a2c1c;
    color: #f8cb71;
    border-color: #8a6a38;
}

body.admin .tox-tinymce {
    border-color: #6a5538 !important;
}
