.public-feedback-page {
    color-scheme: light;
    --bg: #fff;
    --text: #202b3c;
    --muted: #637083;
    --blue: #1675d1;
    --cyan: #1675d1;
    background: #fff;
    color: var(--text);
    font-size: 14px;
}
.public-feedback { max-width: 980px; margin: 64px auto; padding: 0 28px 40px; outline: none; }
.public-feedback-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; margin-bottom: 30px; }
.public-feedback-header h1 { font-size: 28px; line-height: 1.3; font-weight: 650; letter-spacing: -.65px; margin: 0; color: #1f2c3d; }
.public-feedback-header p { font-size: 14px; line-height: 1.8; color: #677386; margin: 10px 0 0; max-width: 590px; }
.public-feedback-page .button { min-height: 42px; padding: 10px 17px; font-size: 13px; font-weight: 550; border-radius: 5px; box-shadow: none; }
.public-feedback-page .button-primary { background: #1675d1; border-color: #1675d1; color: #fff; }
.public-feedback-page .button-primary:hover { background: #1264b5; border-color: #1264b5; box-shadow: none; }
.public-feedback-page .button-secondary { background: #fff; border-color: #d8e0e9; color: #48586c; }
.public-feedback-page .button-secondary:hover { background: #f5f7fa; border-color: #bcc9d8; }
.public-feedback-search { display: flex; gap: 12px; align-items: center; }
.public-feedback-page .upvote-search { background: #fff; border: 1px solid #d7dfe8; border-radius: 5px; height: 43px; padding: 0 14px; gap: 10px; min-width: 0; }
.public-feedback-page .upvote-search svg { color: #7a8798; flex: none; }
.public-feedback-page .upvote-search:focus-within { border-color: #4594de; box-shadow: 0 0 0 2px #1675d110; }
.public-feedback-page .upvote-search input { color: #27364a; font-size: 13px; width: 100%; padding: 9px 0; }
.public-feedback-page .upvote-search input::placeholder { color: #8b96a5; }
.public-feedback-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 22px; padding-bottom: 16px; border-bottom: 1px solid #e4e9ef; }
.public-feedback-sorting { display: flex; align-items: center; gap: 20px; }
.public-feedback-sorting button { color: #728095; background: transparent; padding: 5px 0; border: 0; font-size: 13px; }
.public-feedback-sorting button:hover { color: #1675d1; }
.public-feedback-sorting button.is-active { color: #1675d1; font-weight: 600; }
.public-feedback-filters { display: flex; gap: 10px; }
.public-feedback-filters select { border: 1px solid #dfe5ed; border-radius: 4px; background: #fff; color: #5b687c; padding: 7px 9px; font-size: 12px; min-width: 0; max-width: 180px; height: 34px; }
.public-feedback-page option { background: #fff; color: #35455a; }
.public-feedback-views { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin: 17px 0 4px; min-height: 21px; }
.public-feedback-views>div { display: flex; gap: 16px; flex-wrap: wrap; }
.public-feedback-views button { color: #8a95a4; font-size: 12px; background: transparent; border: 0; padding: 3px 0; }
.public-feedback-views button.is-selected { color: #4b596c; }
.public-feedback-views button:hover { color: #1675d1; }
.public-feedback-views>span { color: #8a95a4; font-size: 11px; white-space: nowrap; }
.public-feedback-page .upvote-public-list { gap: 0; }
.public-feedback-page .suggestion-card { padding: 24px 0; border: 0; border-bottom: 1px solid #e7ecf2; border-radius: 0; background: transparent; gap: 20px; }
.public-feedback-page .suggestion-card:hover { background: transparent; }
.public-feedback-page .vote-button { border: 1px solid #dce4ed; color: #59718d; border-radius: 5px; background: #f8fafc; min-width: 58px; min-height: 65px; padding: 7px 10px; gap: 3px; }
.public-feedback-page .vote-button .vote-arrow { color: #708aaa; font-size: 20px; }
.public-feedback-page .vote-button strong { font-size: 17px; font-weight: 600; color: inherit; }
.public-feedback-page .vote-button:hover:enabled { background: #edf5fd; border-color: #8db7e0; color: #1675d1; }
.public-feedback-page .vote-button.is-voted { border-color: #6da6de; background: #edf5fd; color: #1675d1; }
.public-feedback-page .vote-button.is-voted .vote-arrow { color: #1675d1; }
.public-feedback-page .suggestion-title { font-size: 16px; color: #273b54; font-weight: 600; line-height: 1.5; }
.public-feedback-page .suggestion-title:hover { color: #1675d1; }
.public-feedback-page .suggestion-preview { font-size: 13px; line-height: 1.8; color: #6d798b; margin: 7px 0 0; }
.public-feedback-page .suggestion-tags { margin-top: 11px; gap: 10px; }
.public-feedback-page .suggestion-tag { font-size: 10px; border-color: #e2e7ef; background: #f6f8fb; color: #7a8798; border-radius: 4px; padding: 2px 7px; font-weight: 500; }
.public-feedback-page .suggestion-tag.status-planned { background: #f3effd; color: #7e60ad; border-color: #e8dff6; }
.public-feedback-page .suggestion-tag.status-in_progress { background: #eef6ff; color: #387fb7; border-color: #dceaf8; }
.public-feedback-page .suggestion-tag.status-done { background: #eef8f3; color: #3d8c69; border-color: #d9eee3; }
.public-feedback-page .suggestion-tag.status-not_planned { background: #faf1f3; color: #a06578; border-color: #f0dfe5; }
.public-feedback-page .suggestion-tag.moderation-pending { background: #fff8ea; color: #a67b32; border-color: #f0e5ca; }
.public-feedback-page .suggestion-tag.moderation-hidden { background: #f2f3f5; color: #7b8089; border-color: #e2e5e9; }
.public-feedback-page .reply-indicator { font-size: 11px; color: #7a8b9e; margin-left: 0; }
.public-feedback-page .upvote-empty { padding: 65px 20px; min-height: 240px; border: 0; background: transparent; }
.public-feedback-page .upvote-empty h3 { font-size: 16px; color: #637287; font-weight: 500; margin-bottom: 8px; }
.public-feedback-page .upvote-empty p { font-size: 13px; color: #909bab; line-height: 1.8; margin-bottom: 18px; }
.public-feedback-page .upvote-pagination { margin-top: 28px; }
.public-feedback-page .upvote-pagination span { color: #7c899b; font-size: 12px; }
.public-feedback-page .upvote-pagination .button { min-height: 35px; font-size: 12px; padding: 7px 12px; }
.public-feedback-page .upvote-error,.public-feedback-page .form-error { color: #a34353; background: #fff5f6; border-color: #f0d6db; }
.public-feedback-page .upvote-error { margin-top: 16px; }
.public-feedback-page .app-dialog { color: #27364a; background: #fff; border: 1px solid #dfe5ed; border-radius: 9px; box-shadow: 0 15px 70px #182c4a2b; }
.public-feedback-page .app-dialog::backdrop { background: #17283f60; backdrop-filter: blur(2px); }
.public-feedback-page .dialog-header { border-color: #e4e9ef; padding: 25px 28px 20px; }
.public-feedback-page .dialog-header h2 { font-size: 21px; color: #27364a; font-weight: 600; }
.public-feedback-page .eyebrow { display: none; }
.public-feedback-page .icon-button { color: #8b97a7; background: transparent; }
.public-feedback-page .icon-button:hover { color: #4d6079; background: #f1f5f9; }
.public-feedback-page .form-label { color: #4b5b70; font-size: 13px; font-weight: 500; }
.public-feedback-page .form-input { background: #fff; color: #2f4057; border: 1px solid #d8e1eb; border-radius: 5px; padding: 10px 12px; font-size: 14px; }
.public-feedback-page .form-input:focus { outline: 2px solid #1675d115; border-color: #69a1d8; }
.public-feedback-page .form-input::placeholder { color: #9ba6b4; }
.public-feedback-page .upvote-form-hint { font-size: 12px; color: #8a97a8; line-height: 1.8; }
.public-feedback-page .dialog-footer { border-color: #e6ecf2; background: #fafbfd; border-radius: 0 0 9px 9px; }
.public-feedback-page .account-mode-tabs { border-color: #e3e9f0; }
.public-feedback-page .account-mode-tabs button { color: #8a97a8; font-size: 13px; }
.public-feedback-page .account-mode-tabs .is-active { color: #1675d1; border-color: #1675d1; }
.public-feedback-page .detail-description { color: #56677e; font-size: 14px; line-height: 1.95; }
.public-feedback-page .suggestion-meta { color: #8a98a9; font-size: 12px; }
.public-feedback-page .official-reply { background: #f7faff; border-color: #dae8f7; border-left-color: #70a9df; }
.public-feedback-page .official-reply>strong { color: #477aa7; font-size: 12px; letter-spacing: 0; font-weight: 600; }
.public-feedback-page .official-reply p { color: #677e96; font-size: 13px; }
.public-feedback-page .similar-ideas { background: #f7faff; border-color: #dbe9f7; }
.public-feedback-page .similar-ideas>strong { color: #69829f; font-weight: 500; }
.public-feedback-page .similar-ideas button { color: #337cbf; }
.public-feedback-page .similar-ideas small { color: #8b9cb0; }
.public-feedback-page .toast { background: #fff; border-color: #dce6ef; color: #4b657e; box-shadow: 0 5px 25px #263b5815; }
.public-feedback-page .toast-error { background: #fff6f7; color: #ae5362; border-color: #ecd1d7; }
.public-feedback-page .noscript-message { background: #fff; color: #52657c; }
.public-feedback-page .skip-link { left: 20px; }
@media(max-width:700px) {
    .public-feedback { margin: 28px auto; padding: 0 20px 28px; }
    .public-feedback-header { flex-direction: column-reverse; gap: 23px; margin-bottom: 23px; }
    .public-feedback-header h1 { font-size: 25px; }
    .public-feedback-header p { font-size: 13px; line-height: 1.8; margin-top: 9px; }
    .public-feedback-search { gap: 9px; flex-wrap: wrap; }
    .public-feedback-search .upvote-search { flex-basis: 100%; height: 43px; }
    .public-feedback-search>.button { min-height: 40px; font-size: 12px; padding: 9px 14px; margin-top: 1px; }
    .public-feedback-toolbar { flex-wrap: wrap; gap: 17px; margin-top: 20px; padding-bottom: 14px; }
    .public-feedback-sorting { gap: 21px; }
    .public-feedback-sorting button { font-size: 12px; }
    .public-feedback-filters { width: 100%; }
    .public-feedback-filters label { flex: 1; min-width: 0; }
    .public-feedback-filters select { width: 100%; max-width: none; font-size: 11px; padding: 7px; }
    .public-feedback-views { margin-top: 14px; gap: 12px; }
    .public-feedback-views button { font-size: 11px; }
    .public-feedback-views>div { gap: 12px; }
    .public-feedback-page .suggestion-card { padding: 21px 0; gap: 14px; }
    .public-feedback-page .vote-button { min-width: 47px; min-height: 60px; padding: 6px 8px; }
    .public-feedback-page .vote-button strong { font-size: 16px; }
    .public-feedback-page .suggestion-title { font-size: 14px; line-height: 1.6; }
    .public-feedback-page .suggestion-preview { font-size: 12px; line-height: 1.8; }
    .public-feedback-page .suggestion-tags { gap: 7px; }
    .public-feedback-page .upvote-empty { padding: 50px 10px; min-height: 190px; }
    .public-feedback-page .dialog-header,.public-feedback-page .dialog-body { padding: 20px; }
    .public-feedback-page .dialog-footer { padding: 15px 20px; }
}

.public-feedback-language { flex: none; }
.public-feedback-language select { max-width: 160px; height: 34px; padding: 5px 26px 5px 10px; border: 1px solid #e1e6ed; border-radius: 5px; background: #fff; color: #657286; font: inherit; font-size: 12px; cursor: pointer; }
.public-feedback-page :is(button, select, a):focus-visible { outline: 2px solid #1675d1; outline-offset: 3px; }
.public-feedback-sorting { flex-wrap: wrap; }
.public-feedback-sorting button { white-space: nowrap; }
.public-feedback-page .suggestion-card-main { min-width: 0; overflow-wrap: anywhere; }
.public-feedback-page .dialog-header h2 { overflow-wrap: anywhere; }
@media(max-width:700px) {
    .public-feedback-header { flex-direction: column; gap: 16px; }
    .public-feedback-language { align-self: flex-end; order: -1; }
    .public-feedback-page .dialog-footer>div { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
    .public-feedback-page .upvote-pagination { gap: 8px; flex-wrap: wrap; }
}

.public-feedback-preferences { display: flex; align-items: center; justify-content: flex-end; gap: 14px; flex: none; }
.public-feedback-preferences>button { border: 0; background: transparent; color: #657286; font-size: 12px; padding: 8px 0; max-width: 140px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.public-feedback-preferences>button:hover { color: #1675d1; }
.public-feedback-page .upvote-comments h3 { color: #27364a; font-weight: 600; }
.public-feedback-page .upvote-comment { border-color: #e5ebf1; color: #56677e; }
.public-feedback-page .upvote-comment>div:first-child strong { color: #354b65; }
.public-feedback-page .upvote-comments.dialog-body { margin: 0 28px; padding: 22px 0 10px; }
.public-feedback-page .upvote-comment-pages span { color: #7c899b; }
@media(max-width:700px) {
    .public-feedback-preferences { align-self: flex-end; order: -1; gap: 18px; }
    .public-feedback-preferences .public-feedback-language { order: initial; }
    .public-feedback-page .upvote-comments.dialog-body { margin: 0 20px; }
}
