/* TG007new Build 0159 — Forum Runtime Modernization & Security Hardening. */

.tg-forum-modern {
    --tg-forum-bg: #f8f8f6;
    --tg-forum-card: #ffffff;
    --tg-forum-soft: #f2f5f6;
    --tg-forum-soft-blue: #edf5f8;
    --tg-forum-line: #d8e0e4;
    --tg-forum-line-soft: #e7ebed;
    --tg-forum-text: #1f2b34;
    --tg-forum-muted: #67747d;
    --tg-forum-blue: #2f7fae;
    --tg-forum-blue-dark: #24698f;
    --tg-forum-success: #2e7455;
    --tg-forum-warning: #8a651f;
    --tg-forum-danger: #96434a;
    color: var(--tg-forum-text);
}

.tg-forum-modern .tg-modern-hero--forum .tg-modern-hero-copy {
    min-width: 0;
}

.tg-forum-main {
    min-height: 45vh;
    background: var(--tg-forum-bg);
}

.tg-forum-main .tg-section-tight {
    padding-top: 1.85rem;
    padding-bottom: 2.35rem;
}

.tg-forum-main a:not(.tg-btn) {
    text-decoration: none;
}

.tg-forum-main a:not(.tg-btn):hover,
.tg-forum-main a:not(.tg-btn):focus-visible {
    text-decoration: none;
}

.tg-forum-alert,
.tg-forum-search-summary,
.tg-forum-signin-callout {
    border: 1px solid var(--tg-forum-line);
    border-radius: .9rem;
    background: var(--tg-forum-card);
    color: var(--tg-forum-text);
    box-shadow: 0 10px 26px rgba(35, 55, 68, .055);
}

.tg-forum-alert {
    margin: 0 0 .9rem;
    padding: .8rem 1rem;
    border-left: 4px solid #7c8d98;
    line-height: 1.5;
}

.tg-forum-alert.is-success {
    border-left-color: var(--tg-forum-success);
    background: #f4faf6;
    color: #28583f;
}

.tg-forum-alert.is-warning {
    border-left-color: #b3832f;
    background: #fff9ed;
    color: #684d1c;
}

.tg-forum-alert.is-error {
    border-left-color: var(--tg-forum-danger);
    background: #fff5f5;
    color: #76363c;
}

.tg-forum-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin: 0 0 1rem;
    color: var(--tg-forum-muted);
    font-size: .86rem;
}

.tg-forum-breadcrumbs a {
    color: var(--tg-forum-blue-dark);
    font-weight: 700;
}

.tg-forum-breadcrumbs a:hover,
.tg-forum-breadcrumbs a:focus-visible {
    color: #174e70;
}

.tg-forum-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    margin: 0 0 1.35rem;
    padding: .8rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: 1rem;
    background: var(--tg-forum-card);
    box-shadow: 0 10px 28px rgba(35, 55, 68, .05);
}

.tg-forum-search input,
.tg-forum-compose input[type="text"],
.tg-forum-compose textarea,
.tg-forum-edit input[type="text"],
.tg-forum-edit textarea,
.tg-forum-reply textarea,
.tg-forum-move-form select,
.tg-forum-report select,
.tg-forum-report textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #bdcbd3;
    border-radius: .7rem;
    background: #fff;
    color: var(--tg-forum-text);
    font: inherit;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.tg-forum-search input:focus,
.tg-forum-compose input[type="text"]:focus,
.tg-forum-compose textarea:focus,
.tg-forum-edit input[type="text"]:focus,
.tg-forum-edit textarea:focus,
.tg-forum-reply textarea:focus,
.tg-forum-move-form select:focus,
.tg-forum-report select:focus,
.tg-forum-report textarea:focus {
    outline: none;
    border-color: var(--tg-forum-blue);
    box-shadow: 0 0 0 3px rgba(47, 127, 174, .12);
}

.tg-forum-search input {
    min-height: 44px;
    padding: .65rem .8rem;
}

.tg-forum-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 .9rem;
}

.tg-forum-toolbar h2,
.tg-forum-empty h3,
.tg-forum-poll h2,
.tg-forum-reply h2 {
    margin: .15rem 0 0;
    color: var(--tg-forum-text);
}

.tg-forum-statline {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}

.tg-forum-statline span {
    display: inline-flex;
    gap: .3rem;
    align-items: baseline;
    padding: .45rem .65rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: 999px;
    background: #fff;
    color: var(--tg-forum-muted);
    font-size: .82rem;
}

.tg-forum-statline strong {
    color: var(--tg-forum-text);
}

.tg-forum-index {
    display: grid;
    gap: 1rem;
}

.tg-forum-group {
    overflow: hidden;
    border: 1px solid var(--tg-forum-line);
    border-radius: 1rem;
    background: var(--tg-forum-card);
    box-shadow: 0 10px 28px rgba(35, 55, 68, .05);
}

.tg-forum-group-title {
    margin: 0;
    padding: .78rem 1rem;
    border-bottom: 1px solid var(--tg-forum-line);
    background: linear-gradient(180deg, #f8fafb 0%, #f2f5f6 100%);
    color: #2a4353;
    font-size: .96rem;
    font-weight: 800;
    letter-spacing: .015em;
}

.tg-forum-node-list,
.tg-forum-topic-list,
.tg-forum-search-results {
    display: grid;
}

.tg-forum-node,
.tg-forum-topic {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px 82px minmax(170px, 235px);
    align-items: center;
    gap: .8rem;
    min-width: 0;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--tg-forum-line-soft);
}

.tg-forum-node:last-child,
.tg-forum-topic:last-child {
    border-bottom: 0;
}

.tg-forum-node:hover,
.tg-forum-topic:hover {
    background: #fbfcfc;
}

.tg-forum-node-main {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    min-width: 0;
}

.tg-forum-node-mark {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid #cfe0e9;
    border-radius: .75rem;
    background: var(--tg-forum-soft-blue);
    color: var(--tg-forum-blue-dark);
    font-weight: 900;
}

.tg-forum-node-main h4,
.tg-forum-topic-main h3,
.tg-forum-search-result h3 {
    margin: 0;
    font-size: .98rem;
    line-height: 1.35;
}

.tg-forum-node-main h4 a,
.tg-forum-topic-main h3 a,
.tg-forum-search-result h3 a,
.tg-forum-latest a {
    color: #255f83;
    font-weight: 800;
}

.tg-forum-node-main h4 a:hover,
.tg-forum-topic-main h3 a:hover,
.tg-forum-search-result h3 a:hover,
.tg-forum-latest a:hover {
    color: #174c6c;
}

.tg-forum-node-main p,
.tg-forum-search-result p {
    margin: .25rem 0 0;
    color: var(--tg-forum-muted);
    font-size: .86rem;
    line-height: 1.5;
}

.tg-forum-count {
    display: grid;
    justify-items: center;
    gap: .05rem;
    color: var(--tg-forum-muted);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.tg-forum-count strong {
    color: #2b3d48;
    font-size: .92rem;
    letter-spacing: 0;
}

.tg-forum-latest {
    display: grid;
    gap: .12rem;
    min-width: 0;
    color: var(--tg-forum-muted);
    font-size: .78rem;
    line-height: 1.35;
}

.tg-forum-latest a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .82rem;
}

.tg-forum-topic-list {
    overflow: hidden;
    margin-bottom: 1rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(35, 55, 68, .05);
}

.tg-forum-topic-main {
    min-width: 0;
}

.tg-forum-pin,
.tg-forum-topic-flags span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: .15rem .48rem;
    border: 1px solid #c8dce7;
    border-radius: 999px;
    background: var(--tg-forum-soft-blue);
    color: var(--tg-forum-blue-dark);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.tg-forum-pin {
    margin-right: .4rem;
    vertical-align: .08rem;
}

.tg-forum-meta {
    margin-top: .28rem;
    color: var(--tg-forum-muted);
    font-size: .79rem;
    line-height: 1.45;
}

.tg-forum-topic-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin-bottom: .85rem;
    padding: .75rem .9rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: .9rem;
    background: #fff;
}

.tg-forum-topic-header .tg-forum-meta {
    margin: 0;
    text-align: right;
}

.tg-forum-topic-flags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.tgf-pagebar {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
    margin: .9rem 0;
}

.tgf-pagebar a,
.tgf-pagebar span {
    display: inline-grid;
    place-items: center;
    min-width: 34px;
    min-height: 34px;
    padding: .35rem .55rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: .6rem;
    background: #fff;
    color: #4e5d67;
    font-size: .8rem;
    font-weight: 700;
}

.tgf-pagebar a:hover,
.tgf-pagebar a:focus-visible,
.tgf-pagebar .active {
    border-color: #9fc3d7;
    background: var(--tg-forum-soft-blue);
    color: var(--tg-forum-blue-dark);
}

.tgf-pagebar .active {
    box-shadow: inset 0 0 0 1px rgba(47, 127, 174, .07);
}

.tg-forum-search-summary {
    margin-bottom: .9rem;
    padding: .8rem .95rem;
    color: var(--tg-forum-muted);
}

.tg-forum-search-results {
    gap: .7rem;
}

.tg-forum-search-result {
    padding: .9rem 1rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: .95rem;
    background: #fff;
    box-shadow: 0 8px 22px rgba(35, 55, 68, .04);
}

.tg-forum-search-match {
    margin-top: .55rem;
    padding-top: .5rem;
    border-top: 1px solid var(--tg-forum-line-soft);
    color: #71808a;
    font-size: .76rem;
}

.tg-forum-empty {
    padding: 1.5rem;
    border: 1px dashed #cbd6dc;
    border-radius: 1rem;
    background: #fff;
    color: var(--tg-forum-muted);
    text-align: center;
}

.tg-forum-empty p {
    margin: .35rem auto 0;
    max-width: 620px;
}

.tg-forum-empty.is-compact {
    padding: .85rem;
}

.tg-forum-compose {
    position: relative;
}

.tg-forum-compose > summary {
    list-style: none;
    cursor: pointer;
}

.tg-forum-compose > summary::-webkit-details-marker {
    display: none;
}

.tg-forum-compose[open] > form {
    position: absolute;
    z-index: 20;
    top: calc(100% + .55rem);
    right: 0;
    width: min(620px, 86vw);
}

.tg-forum-compose form,
.tg-forum-edit form,
.tg-forum-reply form,
.tg-forum-report form {
    display: grid;
    gap: .55rem;
    padding: .9rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 14px 34px rgba(35, 55, 68, .1);
}

.tg-forum-compose label,
.tg-forum-edit label,
.tg-forum-reply label,
.tg-forum-report label {
    color: #344651;
    font-size: .82rem;
    font-weight: 750;
}

.tg-forum-compose input[type="text"],
.tg-forum-edit input[type="text"] {
    min-height: 42px;
    padding: .6rem .72rem;
}

.tg-forum-compose textarea,
.tg-forum-edit textarea,
.tg-forum-reply textarea,
.tg-forum-report textarea {
    resize: vertical;
    padding: .65rem .72rem;
    line-height: 1.55;
}

.tg-forum-form-help,
.tg-forum-optional {
    color: var(--tg-forum-muted);
    font-size: .76rem;
    font-weight: 500;
}

.tg-forum-form-help {
    margin: 0;
}

.tg-forum-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
}

.tg-forum-moderation,
.tg-forum-recycle,
.tg-forum-report,
.tg-forum-edit {
    margin: .8rem 0;
    border: 1px solid var(--tg-forum-line);
    border-radius: .85rem;
    background: #fff;
}

.tg-forum-moderation > summary,
.tg-forum-recycle > summary,
.tg-forum-report > summary,
.tg-forum-edit > summary {
    cursor: pointer;
    padding: .7rem .85rem;
    color: #465762;
    font-size: .8rem;
    font-weight: 800;
}

.tg-forum-moderation[open] > summary,
.tg-forum-recycle[open] > summary,
.tg-forum-report[open] > summary,
.tg-forum-edit[open] > summary {
    border-bottom: 1px solid var(--tg-forum-line-soft);
}

.tg-forum-moderation-body,
.tg-forum-recycle-body {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    padding: .8rem;
}

.tg-forum-moderation-body form {
    margin: 0;
}

.tg-forum-move-form {
    display: flex;
    gap: .4rem;
    align-items: center;
}

.tg-forum-move-form select {
    min-height: 39px;
    padding: .45rem .65rem;
}

.tg-forum-danger {
    border-color: #d6a7aa !important;
    background: #fff5f5 !important;
    color: #8c3940 !important;
}

.tg-forum-danger:hover,
.tg-forum-danger:focus-visible {
    background: #fde9ea !important;
    color: #742d34 !important;
}

.tg-forum-recycle-body > p {
    flex: 1 0 100%;
    margin: 0;
    color: var(--tg-forum-muted);
    font-size: .8rem;
}

.tg-forum-recycle-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .4rem .8rem;
    width: 100%;
    padding: .65rem .75rem;
    border: 1px solid var(--tg-forum-line-soft);
    border-radius: .75rem;
    background: var(--tg-forum-soft);
}

.tg-forum-recycle-item small {
    color: var(--tg-forum-muted);
}

.tg-forum-recycle-item form {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.tg-forum-report form {
    margin: 0 .8rem .8rem;
    box-shadow: none;
    background: #f8fafb;
}

.tg-forum-report select {
    min-height: 42px;
    padding: .55rem .7rem;
}

.tg-forum-poll {
    margin: .9rem 0;
    padding: 1rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 26px rgba(35, 55, 68, .045);
}

.tg-forum-poll-option {
    margin-top: .7rem;
}

.tg-forum-poll-option > div:first-child {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    color: #42515b;
    font-size: .83rem;
}

.tg-forum-poll-track {
    overflow: hidden;
    height: 8px;
    margin-top: .32rem;
    border-radius: 999px;
    background: #e7edef;
}

.tg-forum-poll-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--tg-forum-blue);
}

.tg-forum-poll > p {
    margin: .75rem 0 0;
    color: var(--tg-forum-muted);
    font-size: .76rem;
}

.tg-forum-posts {
    display: grid;
    gap: .85rem;
}

.tg-forum-post {
    position: relative;
    display: grid;
    grid-template-columns: 155px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--tg-forum-line);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(35, 55, 68, .05);
    scroll-margin-top: 90px;
}

.tg-forum-post-author {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .65rem;
    padding: 1rem .75rem;
    border-right: 1px solid var(--tg-forum-line-soft);
    background: linear-gradient(180deg, #f7f9fa 0%, #f1f4f5 100%);
    text-align: center;
}

.tg-forum-post-author img {
    width: 76px;
    height: 76px;
    object-fit: cover;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #cfdbe1;
}

.tg-forum-post-author div {
    display: grid;
    gap: .15rem;
    min-width: 0;
}

.tg-forum-post-author strong,
.tg-forum-post-author strong a {
    overflow-wrap: anywhere;
    color: #285f80;
    font-size: .88rem;
    font-weight: 800;
}

.tg-forum-post-author span {
    color: var(--tg-forum-muted);
    font-size: .7rem;
}

.tg-forum-post-main {
    min-width: 0;
    padding: .85rem 1rem 1rem;
}

.tg-forum-post-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    margin-bottom: .75rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid var(--tg-forum-line-soft);
    color: var(--tg-forum-muted);
    font-size: .75rem;
}

.tg-forum-post-meta a {
    color: var(--tg-forum-blue-dark);
    font-weight: 800;
}

.tg-forum-post-body {
    overflow-wrap: anywhere;
    color: #26333b;
    line-height: 1.65;
}

.tg-forum-post-body > :first-child {
    margin-top: 0;
}

.tg-forum-post-body > :last-child {
    margin-bottom: 0;
}

.tg-forum-post-body a {
    color: #21678f;
    font-weight: 650;
}

.tg-forum-post-body blockquote {
    margin: .8rem 0;
    padding: .7rem .85rem;
    border-left: 3px solid #91b9ce;
    background: #f4f8fa;
    color: #455660;
}

.tg-forum-post-body pre,
.tg-forum-post-body code {
    font-family: Consolas, "Liberation Mono", monospace;
}

.tg-forum-post-body pre {
    overflow: auto;
    padding: .75rem;
    border: 1px solid #d4dee3;
    border-radius: .65rem;
    background: #f5f7f8;
}

.tg-forum-post-body table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
    border-collapse: collapse;
}

.tg-forum-post-body th,
.tg-forum-post-body td {
    padding: .45rem .55rem;
    border: 1px solid #d8e0e4;
}

.tg-forum-post-body .tgf-post-image,
.tg-forum-post-body img {
    max-width: 100%;
    height: auto;
    border-radius: .55rem;
}

.tg-forum-edit-note {
    margin-top: .75rem;
    padding-top: .55rem;
    border-top: 1px dashed #d9e1e5;
    color: #7a858c;
    font-size: .72rem;
    font-style: italic;
}

.tg-forum-edit {
    margin-top: .85rem;
}

.tg-forum-edit form {
    margin: 0 .8rem .8rem;
    box-shadow: none;
    background: #f8fafb;
}

.tg-forum-post-danger {
    margin-top: .8rem;
}

.tg-forum-attachments {
    margin-top: .85rem;
    padding-top: .7rem;
    border-top: 1px solid var(--tg-forum-line-soft);
}

.tg-forum-attachments > strong {
    display: block;
    margin-bottom: .45rem;
    color: #43535d;
    font-size: .78rem;
}

.tg-forum-attachments > div {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.tg-forum-attachments a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    max-width: 100%;
    padding: .45rem .6rem;
    border: 1px solid #d3dfe5;
    border-radius: .65rem;
    background: #f7fafb;
    color: #2d6889;
    font-size: .77rem;
    font-weight: 700;
}

.tg-forum-attachments a:hover,
.tg-forum-attachments a:focus-visible {
    border-color: #a9c7d6;
    background: #eef6f9;
}

.tg-forum-attachments small {
    flex: none;
    color: #7a878e;
    font-weight: 500;
}


/* Build 0167: E-Editor attachment composition and native attachment controls. */
.tg-forum-attachment-unavailable {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    max-width: 100%;
    padding: .45rem .6rem;
    border: 1px dashed #d5dde1;
    border-radius: .65rem;
    background: #fafbfb;
    color: #78848a;
    font-size: .77rem;
    font-weight: 700;
}

.tg-forum-attachment-picker,
.tg-forum-edit-attachments {
    margin-top: .85rem;
    padding: .75rem;
    border: 1px solid #d6e1e6;
    border-radius: .75rem;
    background: #f8fbfc;
}

.tg-forum-attachment-picker > label,
.tg-forum-edit-attachments > legend {
    color: #40535f;
    font-size: .78rem;
    font-weight: 800;
}

.tg-forum-attachment-picker input[type="file"] {
    display: block;
    width: 100%;
    margin-top: .45rem;
    padding: .5rem;
    border: 1px solid #cad8df;
    border-radius: .6rem;
    background: #fff;
    color: #33444e;
    font: inherit;
    font-size: .78rem;
}

.tg-forum-attachment-picker input[type="file"]::file-selector-button {
    margin-right: .65rem;
    padding: .42rem .65rem;
    border: 0;
    border-radius: .5rem;
    background: var(--tg-forum-blue);
    color: #fff;
    font: inherit;
    font-size: .75rem;
    font-weight: 800;
    cursor: pointer;
}

.tg-forum-attachment-picker p,
.tg-forum-edit-attachments > p {
    margin: .45rem 0 0;
    color: var(--tg-forum-muted);
    font-size: .72rem;
    line-height: 1.45;
}

.tg-forum-selected-files {
    display: grid;
    gap: .35rem;
    margin-top: .55rem;
}

.tg-forum-selected-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .4rem .5rem;
    border: 1px solid #dce5e9;
    border-radius: .55rem;
    background: #fff;
    color: #40515b;
    font-size: .75rem;
}

.tg-forum-selected-file span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tg-forum-selected-file small {
    flex: none;
    color: #7b878d;
}

.tg-forum-attachment-warning {
    padding: .5rem .6rem;
    border: 1px solid #e7c9a2;
    border-radius: .55rem;
    background: #fff8ec;
    color: #7b571b;
    font-size: .73rem;
    font-weight: 700;
}

.tg-forum-edit-attachments {
    min-width: 0;
}

.tg-forum-edit-attachments > legend {
    padding: 0 .25rem;
}

.tg-forum-edit-attachments label {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-top: .45rem;
    padding: .42rem .5rem;
    border-radius: .5rem;
    background: #fff;
    color: #465862;
    font-size: .75rem;
}

.tg-forum-edit-attachments input[type="checkbox"] {
    flex: none;
    width: 1rem;
    height: 1rem;
    margin: 0;
    accent-color: var(--tg-forum-blue);
}

.tg-forum-reactions {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .75rem;
}

.tg-forum-reactions span {
    display: inline-flex;
    padding: .3rem .5rem;
    border: 1px solid #d3e0e6;
    border-radius: 999px;
    background: #f5f9fa;
    color: #50616b;
    font-size: .72rem;
    font-weight: 700;
}

.tg-forum-reaction-tools {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .55rem;
}

.tg-forum-reaction-tools form {
    margin: 0;
}

.tg-forum-reaction-button {
    min-height: 31px;
    padding: .28rem .62rem;
    border: 1px solid #cbd9e0;
    border-radius: 999px;
    background: #fff;
    color: #4f626d;
    font: inherit;
    font-size: .72rem;
    font-weight: 800;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}

.tg-forum-reaction-button:hover,
.tg-forum-reaction-button:focus-visible {
    border-color: #9fc3d7;
    background: var(--tg-forum-soft-blue);
    color: var(--tg-forum-blue-dark);
    outline: none;
}

.tg-forum-reaction-button.is-active {
    border-color: #8fbad0;
    background: #e6f2f7;
    color: #1f668e;
    box-shadow: inset 0 0 0 1px rgba(47, 127, 174, .06);
}

.tg-forum-reply {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(35, 55, 68, .045);
}

.tg-forum-reply form {
    margin-top: .75rem;
    padding: 0;
    border: 0;
    box-shadow: none;
}

.tg-forum-signin-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: .9rem 1rem;
}

.tg-forum-signin-callout strong {
    color: #2d414d;
}

.tg-forum-signin-callout p {
    margin: .18rem 0 0;
    color: var(--tg-forum-muted);
    font-size: .82rem;
}

@media (max-width: 980px) {
    .tg-forum-node,
    .tg-forum-topic {
        grid-template-columns: minmax(0, 1fr) 70px 70px;
    }

    .tg-forum-latest {
        grid-column: 1 / -1;
        grid-row: 2;
        padding: .5rem .65rem;
        border-radius: .6rem;
        background: var(--tg-forum-soft);
    }

    .tg-forum-latest a {
        white-space: normal;
    }
}

@media (max-width: 760px) {
    .tg-forum-main .tg-section-tight {
        padding-top: 1.25rem;
        padding-bottom: 1.7rem;
    }

    .tg-forum-search {
        grid-template-columns: 1fr;
    }

    .tg-forum-search .tg-btn {
        width: 100%;
    }

    .tg-forum-toolbar,
    .tg-forum-topic-header,
    .tg-forum-signin-callout {
        align-items: stretch;
        flex-direction: column;
    }

    .tg-forum-statline {
        justify-content: flex-start;
    }

    .tg-forum-topic-header .tg-forum-meta {
        text-align: left;
    }

    .tg-forum-compose[open] > form {
        position: static;
        width: 100%;
        margin-top: .55rem;
    }

    .tg-forum-post {
        grid-template-columns: 1fr;
    }

    .tg-forum-post-author {
        flex-direction: row;
        justify-content: flex-start;
        padding: .75rem .9rem;
        border-right: 0;
        border-bottom: 1px solid var(--tg-forum-line-soft);
        text-align: left;
    }

    .tg-forum-post:has(.tg-forum-post-actions[open]) .tg-forum-post-author {
        border-radius: calc(1rem - 1px) calc(1rem - 1px) 0 0;
    }

    .tg-forum-post-author img {
        width: 52px;
        height: 52px;
    }

    .tg-forum-moderation-body {
        align-items: stretch;
        flex-direction: column;
    }

    .tg-forum-move-form {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .tg-forum-node,
    .tg-forum-topic {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .55rem;
        padding: .75rem;
    }

    .tg-forum-node-main {
        grid-column: 1 / -1;
    }

    .tg-forum-topic-main {
        grid-column: 1 / -1;
    }

    .tg-forum-count {
        justify-items: start;
        grid-auto-flow: column;
        gap: .3rem;
        padding: .25rem .45rem;
        border-radius: .55rem;
        background: var(--tg-forum-soft);
    }

    .tg-forum-latest {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .tg-forum-node-mark {
        width: 34px;
        height: 34px;
    }

    .tg-forum-post-main {
        padding: .75rem;
    }

    .tg-forum-post-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: .2rem;
    }

    .tg-forum-recycle-item {
        grid-template-columns: 1fr;
    }

    .tg-forum-recycle-item form {
        grid-column: 1;
        grid-row: auto;
    }

    .tg-forum-form-actions .tg-btn,
    .tg-forum-signin-callout .tg-btn {
        width: 100%;
    }

    .tgf-pagebar a,
    .tgf-pagebar span {
        min-width: 32px;
        min-height: 32px;
    }
}

/* Build 0167 Completion Fix 2: finished composer, attachment and staff-control UX. */
.tg-forum-attachment-picker.is-enhanced {
    padding: .8rem;
    border-color: #cbdce4;
    background: linear-gradient(180deg, #fbfdfe 0%, #f5f9fb 100%);
}

.tg-forum-attachment-picker.is-enhanced > label,
.tg-forum-attachment-picker.is-enhanced > .tg-forum-native-file-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.tg-forum-attachment-dropzone {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 68px;
    padding: .7rem .75rem;
    border: 1px dashed #abc7d5;
    border-radius: .75rem;
    background: #fff;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.tg-forum-attachment-dropzone:hover,
.tg-forum-attachment-dropzone:focus-visible,
.tg-forum-attachment-dropzone.is-dragging {
    border-color: var(--tg-forum-blue);
    background: #f2f9fc;
    box-shadow: 0 0 0 3px rgba(43, 124, 168, .08);
    outline: none;
}

.tg-forum-attachment-drop-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #e9f4f8;
    color: var(--tg-forum-blue);
    font-size: 1.35rem;
    font-weight: 400;
}

.tg-forum-attachment-drop-copy {
    display: grid;
    gap: .1rem;
    min-width: 0;
    flex: 1 1 auto;
}

.tg-forum-attachment-drop-copy strong {
    color: #314955;
    font-size: .83rem;
}

.tg-forum-attachment-drop-copy small {
    color: var(--tg-forum-muted);
    font-size: .72rem;
}

.tg-forum-attachment-dropzone .tg-btn {
    flex: 0 0 auto;
}

.tg-forum-selected-files {
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    gap: .55rem;
}

.tg-forum-selected-file {
    position: relative;
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    grid-template-areas:
        "visual copy"
        "actions actions";
    align-items: center;
    gap: .55rem .65rem;
    min-width: 0;
    padding: .55rem;
    border-color: #d3e1e7;
    border-radius: .7rem;
    box-shadow: 0 2px 8px rgba(38, 61, 73, .04);
}

.tg-forum-selected-file-visual {
    grid-area: visual;
    display: grid;
    place-items: center;
    width: 62px;
    height: 50px;
    overflow: hidden;
    border-radius: .55rem;
    background: #edf3f6;
}

.tg-forum-selected-file-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tg-forum-selected-file-type,
.tg-forum-attachment-filetype {
    display: inline-grid;
    place-items: center;
    min-width: 42px;
    min-height: 34px;
    padding: 0 .3rem;
    border-radius: .45rem;
    background: #e7f1f5;
    color: #2e6f91;
    font-size: .63rem;
    font-weight: 900;
    letter-spacing: .04em;
}

.tg-forum-selected-file-copy {
    grid-area: copy;
    min-width: 0;
    display: grid;
    gap: .1rem;
}

.tg-forum-selected-file-copy strong {
    overflow: hidden;
    color: #344b57;
    font-size: .76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tg-forum-selected-file-copy small {
    color: #7a878e;
    font-size: .68rem;
}

.tg-forum-selected-file-actions {
    grid-area: actions;
    display: flex;
    justify-content: flex-end;
    gap: .4rem;
    padding-top: .15rem;
}

.tg-forum-selected-file-actions .tg-btn,
.tg-forum-remove-selected-file {
    min-height: 30px;
    padding: .32rem .55rem;
    border-radius: .5rem;
    font-size: .68rem;
    font-weight: 800;
}

.tg-forum-remove-selected-file {
    border: 1px solid #e2c9cb;
    background: #fff;
    color: #9c454d;
    cursor: pointer;
}

.tg-forum-remove-selected-file:hover,
.tg-forum-remove-selected-file:focus-visible {
    border-color: #cf9fa4;
    background: #fff4f5;
}

.note-editable .tgf-upload-preview {
    max-width: 100%;
    height: auto;
    border: 2px dashed #6ea8c5;
    border-radius: .55rem;
    box-shadow: 0 0 0 3px rgba(71, 142, 177, .08);
}

.tg-forum-attachments {
    padding-top: .8rem;
}

.tg-forum-attachments-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .55rem;
}

.tg-forum-attachments-heading > strong {
    margin: 0;
    color: #40535f;
    font-size: .77rem;
}

.tg-forum-attachments-heading > span {
    color: #839096;
    font-size: .68rem;
    font-weight: 700;
}

.tg-forum-attachment-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
    gap: .5rem !important;
}

.tg-forum-attachments .tg-forum-attachment-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: .6rem;
    min-width: 0;
    padding: .48rem .55rem;
    border: 1px solid #d5e1e6;
    border-radius: .68rem;
    background: #fbfdfe;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-decoration: none;
    transition: transform .14s ease, border-color .14s ease, background .14s ease, box-shadow .14s ease;
}

.tg-forum-attachments a.tg-forum-attachment-card:hover,
.tg-forum-attachments a.tg-forum-attachment-card:focus-visible {
    border-color: #a9c8d7;
    background: #f3f9fb;
    box-shadow: 0 5px 14px rgba(37, 76, 97, .08);
    transform: translateY(-1px);
}

.tg-forum-attachment-thumb {
    display: block;
    width: 52px;
    height: 42px;
    overflow: hidden;
    border-radius: .5rem;
    background: #e9eff2;
}

.tg-forum-attachment-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tg-forum-attachment-copy {
    min-width: 0;
    display: grid;
    gap: .08rem;
}

.tg-forum-attachment-copy strong {
    overflow: hidden;
    color: #38505c;
    font-size: .73rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tg-forum-attachment-copy small {
    color: #7c898f;
    font-size: .65rem;
    font-weight: 600;
}

.tg-forum-attachment-open {
    color: #6f8997;
    font-size: .9rem;
}

.tg-forum-attachment-card.is-unavailable {
    opacity: .72;
}

/* Compact post controls instead of the old full-width disclosure bars. */
.tg-forum-edit {
    width: 100%;
    margin: .65rem 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.tg-forum-edit > summary {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    width: auto;
    padding: .38rem .62rem;
    border: 1px solid #d1dfe5;
    border-radius: .55rem;
    background: #f8fbfc;
    color: #45606d;
    font-size: .7rem;
    line-height: 1;
    list-style: none;
    transition: border-color .14s ease, background .14s ease, color .14s ease;
}

.tg-forum-edit > summary::-webkit-details-marker,
.tg-forum-moderation > summary::-webkit-details-marker {
    display: none;
}

.tg-forum-edit > summary:hover,
.tg-forum-edit > summary:focus-visible,
.tg-forum-edit[open] > summary {
    border-color: #a8c8d7;
    background: #eef7fa;
    color: #276d90;
}

.tg-forum-edit[open] > summary {
    border-bottom: 1px solid #a8c8d7;
}

.tg-forum-edit form {
    margin: .6rem 0 0;
    border-radius: .8rem;
    background: #f8fbfc;
    box-shadow: none;
}

.tg-forum-control-icon {
    display: inline-grid;
    place-items: center;
    width: 1rem;
    height: 1rem;
    color: #397e9f;
    font-size: .75rem;
}

/* Topic moderation becomes a deliberate staff tool panel rather than a plain details row. */
.tg-forum-moderation {
    overflow: hidden;
    margin: .7rem 0 .9rem;
    border: 1px solid #cddde5;
    border-radius: .8rem;
    background: linear-gradient(180deg, #fbfdfe 0%, #f6fafc 100%);
    box-shadow: 0 3px 12px rgba(39, 66, 80, .04);
}

.tg-forum-moderation > summary {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 48px;
    padding: .62rem .75rem;
    border: 0;
    color: #3e5662;
    list-style: none;
}

.tg-forum-moderation > summary:hover,
.tg-forum-moderation > summary:focus-visible {
    background: #f0f7fa;
    outline: none;
}

.tg-forum-moderation-summary-copy {
    display: grid;
    gap: .08rem;
    flex: 1 1 auto;
}

.tg-forum-moderation-summary-copy strong {
    font-size: .76rem;
}

.tg-forum-moderation-summary-copy small {
    color: #7b8a92;
    font-size: .66rem;
    font-weight: 600;
}

.tg-forum-moderation-chevron {
    color: #7e919b;
    transition: transform .14s ease;
}

.tg-forum-moderation[open] .tg-forum-moderation-chevron {
    transform: rotate(180deg);
}

.tg-forum-moderation-body {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    gap: .5rem;
    padding: .7rem;
    border-top: 1px solid #e0e8ec;
    background: #fff;
}

.tg-forum-moderation-body form,
.tg-forum-moderation-body .tg-forum-move-form {
    display: flex;
    align-items: stretch;
    gap: .4rem;
    min-width: 0;
}

.tg-forum-moderation-body form > .tg-btn:not(.tg-forum-danger) {
    flex: 1 1 auto;
    justify-content: center;
    min-height: 38px;
    border-color: #d1dee4;
    background: #f8fbfc;
    color: #46616e;
}

.tg-forum-move-form {
    grid-column: span 2;
}

.tg-forum-move-form select {
    flex: 1 1 auto;
    min-width: 0;
    border: 1px solid #ccdbe2;
    border-radius: .55rem;
    background: #fff;
}

.tg-forum-moderation-body .tg-forum-danger {
    flex: 1 1 auto;
    justify-content: center;
    min-height: 38px;
}

@media (max-width: 700px) {
    .tg-forum-attachment-dropzone {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .tg-forum-attachment-drop-copy {
        min-width: calc(100% - 52px);
    }

    .tg-forum-attachment-dropzone .tg-btn {
        width: 100%;
    }

    .tg-forum-selected-files,
    .tg-forum-attachment-grid,
    .tg-forum-moderation-body {
        grid-template-columns: 1fr;
    }

    .tg-forum-move-form {
        grid-column: auto;
        flex-wrap: wrap;
    }

    .tg-forum-move-form select,
    .tg-forum-move-form .tg-btn {
        width: 100%;
    }
}


/* Build 0167 Completion Fix 4: attachment removal guidance. */
.tg-forum-attachment-remove-tip {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: .35rem 0 .55rem;
    padding: .42rem .55rem;
    border: 1px solid #d9e5ea;
    border-radius: .55rem;
    background: #f8fbfc;
    color: #61757f;
    font-size: .67rem;
    line-height: 1.35;
}

.tg-forum-attachment-remove-tip > span {
    color: #397e9f;
    font-weight: 800;
}

.tg-forum-remove-help {
    display: grid;
    gap: .18rem;
    margin: .2rem 0 .55rem;
    padding: .6rem .68rem;
    border: 1px solid #bcd7e3;
    border-radius: .65rem;
    background: #f1f8fb;
    color: #4e6874;
}

.tg-forum-remove-help strong {
    color: #275f7a;
    font-size: .73rem;
}

.tg-forum-remove-help span,
.tg-forum-edit-attachment-note {
    font-size: .68rem;
    line-height: 1.4;
}

.tg-forum-edit-attachment-note {
    margin: 0 0 .45rem;
    color: #718088;
}

.tg-forum-remove-attachment-option {
    display: flex !important;
    align-items: flex-start;
    gap: .55rem;
    margin: .35rem 0 0;
    padding: .5rem .58rem;
    border: 1px solid #dbe5e9;
    border-radius: .58rem;
    background: #fff;
    cursor: pointer;
}

.tg-forum-remove-attachment-option:hover {
    border-color: #b9d0db;
    background: #fbfdfe;
}

.tg-forum-remove-attachment-option input {
    margin-top: .14rem;
}

.tg-forum-remove-attachment-option > span {
    display: grid;
    gap: .08rem;
    min-width: 0;
}

.tg-forum-remove-attachment-option strong {
    overflow-wrap: anywhere;
    color: #3e5662;
    font-size: .72rem;
}

.tg-forum-remove-attachment-option small {
    color: #7d8c93;
    font-size: .64rem;
    font-weight: 600;
}

/* Build 0168 — modern post actions, signatures and richer author presentation. */
.tg-forum-author-title {
    margin-top: .05rem;
    color: #2e718f !important;
    font-size: .66rem !important;
    font-weight: 800;
    line-height: 1.25;
}

.tg-forum-post-meta-actions {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-left: auto;
}

.tg-forum-post-number {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: .2rem .38rem;
    border-radius: .4rem;
    color: #72838c !important;
    font-weight: 800;
    text-decoration: none !important;
}

.tg-forum-post-number:hover,
.tg-forum-post-number:focus-visible {
    background: #f0f5f7;
    color: #276f91 !important;
}

.tg-forum-post-actions {
    position: relative;
}

/* Build 0168 Completion Fix 1 — let an open post-action menu escape the
 * rounded post-card clip and layer above neighboring posts. The card stays
 * clipped at all other times so the established rounded presentation is
 * preserved. */
.tg-forum-post:has(.tg-forum-post-actions[open]) {
    overflow: visible;
    z-index: 120;
}

.tg-forum-post:has(.tg-forum-post-actions[open]) .tg-forum-post-author {
    border-radius: calc(1rem - 1px) 0 0 calc(1rem - 1px);
}

.tg-forum-post-actions[open] {
    z-index: 130;
}

.tg-forum-post-actions > summary {
    display: grid;
    place-items: center;
    width: 31px;
    height: 29px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: .48rem;
    color: #71838c;
    cursor: pointer;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    list-style: none;
    user-select: none;
}

.tg-forum-post-actions > summary::-webkit-details-marker {
    display: none;
}

.tg-forum-post-actions > summary:hover,
.tg-forum-post-actions > summary:focus-visible,
.tg-forum-post-actions[open] > summary {
    border-color: #c9dbe3;
    background: #f2f8fa;
    color: #246d8f;
    outline: none;
}

.tg-forum-post-actions-menu {
    position: absolute;
    z-index: 80;
    top: calc(100% + .32rem);
    right: 0;
    display: grid;
    width: 190px;
    overflow: hidden;
    padding: .3rem;
    border: 1px solid #cfdee5;
    border-radius: .7rem;
    background: #fff;
    box-shadow: 0 12px 30px rgba(35, 57, 68, .16);
}

.tg-forum-post-actions-menu button,
.tg-forum-post-actions-menu form button {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    min-height: 36px;
    padding: .48rem .58rem;
    border: 0;
    border-radius: .45rem;
    background: transparent;
    color: #435e6b;
    font: inherit;
    font-size: .72rem;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.tg-forum-post-actions-menu button:hover,
.tg-forum-post-actions-menu button:focus-visible {
    background: #eef6f9;
    color: #246d8f;
    outline: none;
}

.tg-forum-post-actions-menu form {
    margin: 0;
}

.tg-forum-post-actions-menu button.is-danger {
    color: #a64145;
}

.tg-forum-post-actions-menu button.is-danger:hover,
.tg-forum-post-actions-menu button.is-danger:focus-visible {
    background: #fff1f1;
    color: #8f292e;
}

.tg-forum-post-action-panel:not([open]) {
    display: none;
}

.tg-forum-post-action-panel[open] {
    display: block;
    margin-top: .72rem;
    border: 1px solid #d3e0e6;
    border-radius: .72rem;
    background: #fbfdfe;
    box-shadow: 0 8px 20px rgba(46, 72, 84, .06);
}

.tg-forum-post-action-panel > .tg-forum-action-panel-summary {
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .58rem .68rem;
    border: 0;
    border-bottom: 1px solid #dfe8ec;
    border-radius: .72rem .72rem 0 0;
    background: #f4f8fa;
    color: #365b6c;
    font-size: .72rem;
    font-weight: 800;
    cursor: pointer;
}

.tg-forum-post-action-panel > .tg-forum-action-panel-summary::after {
    content: 'Close';
    margin-left: auto;
    color: #71848e;
    font-size: .62rem;
    font-weight: 700;
}

.tg-forum-signature {
    position: relative;
    max-height: 150px;
    overflow: auto;
    margin-top: .8rem;
    padding: .68rem .15rem .08rem;
    border-top: 1px dashed #d5e0e5;
    color: #60737d;
    font-size: .72rem;
    line-height: 1.5;
}

.tg-forum-signature::before {
    content: 'Signature';
    display: block;
    margin-bottom: .28rem;
    color: #8a9aa2;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tg-forum-signature > :first-child {
    margin-top: 0;
}

.tg-forum-signature > :last-child {
    margin-bottom: 0;
}

.tg-forum-signature a {
    color: #28779a;
    font-weight: 700;
}

.tg-forum-signature img,
.tg-forum-signature .tgf-post-image {
    width: auto;
    max-width: min(100%, 420px);
    max-height: 90px;
    object-fit: contain;
    vertical-align: middle;
}

.tg-forum-signature blockquote {
    margin: .35rem 0;
    padding: .35rem .55rem;
    border-left: 3px solid #a7c9d8;
    background: #f6fafb;
}

.tg-forum-copy-feedback {
    position: fixed;
    z-index: 1000;
    right: 1rem;
    bottom: 1rem;
    padding: .58rem .78rem;
    border: 1px solid #b8d7c7;
    border-radius: .62rem;
    background: #f2fbf6;
    color: #2f684b;
    box-shadow: 0 10px 28px rgba(28, 59, 43, .14);
    font-size: .72rem;
    font-weight: 800;
}

@media (max-width: 700px) {
    .tg-forum-post-actions-menu {
        width: min(210px, calc(100vw - 2rem));
    }

    .tg-forum-signature {
        max-height: 130px;
    }
}

.tg-forum-topic-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
    margin-left: auto;
}

.tg-forum-topic-moderator-menu {
    position: relative;
}

.tg-forum-topic-moderator-menu > summary {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    min-height: 32px;
    padding: .35rem .55rem;
    border: 1px solid #cbdde5;
    border-radius: .5rem;
    background: #f7fafb;
    color: #3d6171;
    font-size: .68rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.tg-forum-topic-moderator-menu > summary::-webkit-details-marker {
    display: none;
}

.tg-forum-topic-moderator-menu > summary:hover,
.tg-forum-topic-moderator-menu > summary:focus-visible,
.tg-forum-topic-moderator-menu[open] > summary {
    border-color: #8fbace;
    background: #eef7fa;
    color: #246d8f;
    outline: none;
}

.tg-forum-topic-moderator-menu[open] .tg-forum-moderation-chevron {
    transform: rotate(180deg);
}

.tg-forum-topic-moderator-menu-body {
    position: absolute;
    z-index: 90;
    top: calc(100% + .35rem);
    right: 0;
    display: grid;
    width: 270px;
    gap: .25rem;
    padding: .45rem;
    border: 1px solid #cfdee5;
    border-radius: .72rem;
    background: #fff;
    box-shadow: 0 14px 34px rgba(35, 57, 68, .18);
}

.tg-forum-topic-moderator-menu-heading {
    display: grid;
    gap: .08rem;
    margin: -.05rem -.05rem .2rem;
    padding: .45rem .5rem .55rem;
    border-bottom: 1px solid #e1e9ed;
}

.tg-forum-topic-moderator-menu-heading strong {
    color: #365c6d;
    font-size: .72rem;
}

.tg-forum-topic-moderator-menu-heading span,
.tg-forum-topic-moderator-move label {
    color: #7a8b94;
    font-size: .62rem;
    font-weight: 650;
}

.tg-forum-topic-moderator-menu-body form {
    display: block;
    margin: 0;
}

.tg-forum-topic-moderator-menu-body form > button,
.tg-forum-topic-moderator-move > div > button {
    width: 100%;
    min-height: 35px;
    padding: .45rem .55rem;
    border: 0;
    border-radius: .45rem;
    background: transparent;
    color: #405e6c;
    font: inherit;
    font-size: .69rem;
    font-weight: 750;
    text-align: left;
    cursor: pointer;
}

.tg-forum-topic-moderator-menu-body form > button:hover,
.tg-forum-topic-moderator-menu-body form > button:focus-visible,
.tg-forum-topic-moderator-move > div > button:hover,
.tg-forum-topic-moderator-move > div > button:focus-visible {
    background: #eef6f9;
    color: #246d8f;
    outline: none;
}

.tg-forum-topic-moderator-menu-body button.is-danger {
    color: #a13c41;
}

.tg-forum-topic-moderator-menu-body button.is-danger:hover,
.tg-forum-topic-moderator-menu-body button.is-danger:focus-visible {
    background: #fff0f1;
    color: #8c282d;
}

.tg-forum-topic-moderator-move {
    display: grid !important;
    gap: .25rem;
    padding: .38rem .45rem .45rem;
    border-top: 1px solid #edf1f3;
    border-bottom: 1px solid #edf1f3;
}

.tg-forum-topic-moderator-move > div {
    display: flex;
    gap: .3rem;
}

.tg-forum-topic-moderator-move select {
    min-width: 0;
    flex: 1 1 auto;
    padding: .4rem .45rem;
    border: 1px solid #ccdce3;
    border-radius: .45rem;
    background: #fff;
    color: #445f6c;
    font-size: .67rem;
}

.tg-forum-topic-moderator-move > div > button {
    width: auto;
    border: 1px solid #d3e0e5;
    background: #f7fafb;
}

@media (max-width: 700px) {
    .tg-forum-topic-header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .tg-forum-topic-moderator-menu-body {
        right: 0;
        width: min(280px, calc(100vw - 2rem));
    }
}

/* Build 0169 — member state, rules and unread presentation. */
.tg-forum-rules {
    margin: .85rem 0 1rem;
    padding: .9rem 1rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(35, 55, 68, .05);
}

.tg-forum-rules h3 {
    margin: .15rem 0 .45rem;
    color: #2a4353;
    font-size: 1rem;
}

.tg-forum-rules-body {
    color: #435b68;
    font-size: .86rem;
    line-height: 1.6;
}

.tg-forum-rules-body > :last-child {
    margin-bottom: 0;
}

.tg-forum-topic.is-unread {
    background: #f8fbfd;
}

.tg-forum-topic.is-unread:hover {
    background: #f3f8fb;
}

.tg-forum-unread-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    margin-right: .4rem;
    padding: .15rem .48rem;
    border: 1px solid #bed8e7;
    border-radius: 999px;
    background: var(--tg-forum-soft-blue);
    color: var(--tg-forum-blue-dark);
    font-size: .68rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .045em;
    vertical-align: .08rem;
}

.tg-forum-first-unread {
    font-weight: 800;
}

.tg-forum-topic-member-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: .4rem;
}

.tg-forum-topic-member-actions form {
    margin: 0;
}

.tg-forum-topic-member-actions .tg-btn {
    min-height: 34px;
    padding: .4rem .65rem;
    font-size: .72rem;
}

@media (max-width: 760px) {
    .tg-forum-topic-member-actions {
        justify-content: flex-start;
    }
}

.tg-forum-restricted {
    display: inline-flex;
    margin-left: .35rem;
    padding: .1rem .42rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: 999px;
    color: var(--tg-forum-muted);
    font-size: .64rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .045em;
    vertical-align: .08rem;
}

/* Build 0170 — Forum index awareness, presence and read-state UX. */
.tg-forum-mark-read-form {
    display: inline-flex;
    margin: 0;
}

.tg-forum-posting-pause strong {
    display: inline;
    margin-right: .25rem;
}

.tg-forum-node-mark {
    position: relative;
    overflow: visible;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.tg-forum-node-mark .tg-forum-node-icon {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tg-forum-node-mark.is-read {
    border-color: #d8e0e4;
    background: #f5f7f8;
    color: #7a8992;
}

.tg-forum-node-mark.is-unread {
    border-color: var(--tg-forum-blue-dark);
    background: var(--tg-forum-blue);
    color: #fff;
    box-shadow: 0 6px 16px rgba(47, 127, 174, .22);
}

.tg-forum-node-mark.is-unread::after {
    content: '';
    position: absolute;
    top: -4px;
    right: -4px;
    width: 10px;
    height: 10px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #d64f55;
}

.tg-forum-node-mark.is-restricted {
    border-color: #d8dde0;
    background: #f4f5f5;
    color: #78838a;
}

.tg-forum-node-mark.is-redirect {
    border-color: #d7e2d9;
    background: #f3f8f4;
    color: #4c7659;
}

.tg-forum-node.has-unread .tg-forum-node-main h4 a {
    color: #174f72;
    font-weight: 900;
}

.tg-forum-browsing-total {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.tg-forum-browsing-icon {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 auto;
}

.tg-forum-statistics {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: 1rem;
    background: var(--tg-forum-card);
    box-shadow: 0 10px 28px rgba(35, 55, 68, .05);
}

.tg-forum-statistics-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}

.tg-forum-statistics-heading h2 {
    margin: .15rem 0 0;
    color: var(--tg-forum-text);
}

.tg-forum-browsing-total {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .42rem .62rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: 999px;
    background: var(--tg-forum-soft);
    color: #405866;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}

.tg-forum-statistics-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--tg-forum-line-soft);
    border-radius: .8rem;
    background: #fbfcfc;
}

.tg-forum-statistics-grid > div {
    display: grid;
    justify-items: center;
    gap: .08rem;
    padding: .78rem .55rem;
    border-right: 1px solid var(--tg-forum-line-soft);
    text-align: center;
}

.tg-forum-statistics-grid > div:last-child {
    border-right: 0;
}

.tg-forum-statistics-grid strong {
    color: #253944;
    font-size: 1.02rem;
}

.tg-forum-statistics-grid span {
    color: var(--tg-forum-muted);
    font-size: .69rem;
    font-weight: 750;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.tg-forum-browsing-members {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .35rem;
    margin-top: .75rem;
    color: var(--tg-forum-muted);
    font-size: .8rem;
    line-height: 1.5;
}

.tg-forum-browsing-members strong {
    color: #354d5b;
}

.tg-forum-browsing-members small {
    color: #7b858b;
}

@media (max-width: 760px) {
    .tg-forum-statistics-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: .55rem;
    }

    .tg-forum-statistics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tg-forum-statistics-grid > div {
        border-right: 1px solid var(--tg-forum-line-soft);
        border-bottom: 1px solid var(--tg-forum-line-soft);
    }

    .tg-forum-statistics-grid > div:nth-child(2n) {
        border-right: 0;
    }

    .tg-forum-statistics-grid > div:last-child {
        grid-column: 1 / -1;
        border-right: 0;
        border-bottom: 0;
    }
}

.tg-forum-node-mark.is-neutral {
    border-color: #d8e0e4;
    background: #f5f7f8;
    color: #687b86;
}

/* Build 0170 Completion Fix 2 — native staff-level formatting for Forum presence. */
.tg-forum-browsing-member-list {
    display: inline;
}

.tg-forum-browsing-member {
    color: inherit;
}

/* Historical TG007/IPB Who's Online colors, resolved from current native roles. */
.tg-forum-browsing-member.is-administrator {
    color: #004F75;
    font-weight: 800;
}

.tg-forum-browsing-member.is-moderator {
    color: #FF3B3B;
    font-weight: 800;
}


/* Build 0171 — Native Forum Polls. */
.tg-forum-poll {
    display: grid;
    gap: .9rem;
}

.tg-forum-poll-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.tg-forum-poll-heading h2 {
    margin: .12rem 0 0;
}

.tg-forum-poll-status {
    flex: 0 0 auto;
    padding: .35rem .65rem;
    border: 1px solid #b9d8ea;
    border-radius: 999px;
    background: #eef8fd;
    color: #176390;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.tg-forum-poll.is-closed .tg-forum-poll-status {
    border-color: #d8dee2;
    background: #f4f6f7;
    color: #657680;
}

.tg-forum-poll-vote fieldset {
    display: grid;
    gap: .55rem;
    margin: 0;
    padding: 0;
    border: 0;
}

.tg-forum-poll-vote legend {
    margin-bottom: .55rem;
    color: #304956;
    font-weight: 800;
}

.tg-forum-poll-choice {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .72rem .8rem;
    border: 1px solid var(--tg-forum-line-soft);
    border-radius: .75rem;
    background: #fbfcfd;
    color: #354d5b;
    cursor: pointer;
}

.tg-forum-poll-choice:hover {
    border-color: #b8d2e1;
    background: #f5fbfe;
}

.tg-forum-poll-choice input {
    flex: 0 0 auto;
    margin-top: .16rem;
}

.tg-forum-poll-vote > p,
.tg-forum-poll-summary,
.tg-forum-poll-builder-body > p {
    margin: 0;
    color: var(--tg-forum-muted);
    font-size: .78rem;
    line-height: 1.5;
}

.tg-forum-poll-note {
    padding: .72rem .8rem;
    border: 1px solid var(--tg-forum-line-soft);
    border-radius: .75rem;
    background: var(--tg-forum-soft);
    color: #536872;
    font-size: .8rem;
}

.tg-forum-poll-results {
    display: grid;
    gap: .2rem;
}

.tg-forum-poll-option.is-selected {
    padding: .55rem .65rem;
    border: 1px solid #c2dceb;
    border-radius: .72rem;
    background: #f4fafd;
}

.tg-forum-poll-option > div:first-child strong {
    flex: 0 0 auto;
    color: #354d5b;
    font-size: .76rem;
}

.tg-forum-poll-voters {
    margin-top: .3rem;
    color: var(--tg-forum-muted);
    font-size: .74rem;
    line-height: 1.45;
}

.tg-forum-poll-voters a {
    font-weight: 700;
}

.tg-forum-poll-manage {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    padding-top: .8rem;
    border-top: 1px solid var(--tg-forum-line-soft);
}

.tg-forum-poll-manage form,
.tg-forum-poll-manage details {
    margin: 0;
}

.tg-forum-poll-builder {
    margin-top: .75rem;
    border: 1px solid var(--tg-forum-line-soft);
    border-radius: .85rem;
    background: #f9fbfc;
}

.tg-forum-poll-builder > summary {
    padding: .75rem .85rem;
    color: #2f607b;
    font-size: .82rem;
    font-weight: 800;
    cursor: pointer;
}

.tg-forum-poll-builder > summary span {
    color: var(--tg-forum-muted);
    font-size: .72rem;
    font-weight: 600;
}

.tg-forum-poll-builder-existing {
    margin: .9rem 0;
    background: #fff;
}

.tg-forum-poll-builder-existing > summary.tg-btn {
    display: inline-flex;
    width: auto;
    margin: .65rem;
    padding: .5rem .75rem;
}

.tg-forum-poll-builder-body {
    display: grid;
    gap: .75rem;
    padding: .1rem .85rem .85rem;
}

.tg-forum-poll-builder-body label:not(.tg-forum-check) {
    display: grid;
    gap: .35rem;
    color: #3e5663;
    font-size: .78rem;
    font-weight: 750;
}

.tg-forum-poll-builder-body input[type="text"],
.tg-forum-poll-builder-body input[type="number"],
.tg-forum-poll-builder-body textarea,
.tg-forum-poll-builder-body select {
    width: 100%;
    min-height: 42px;
    padding: .55rem .65rem;
    border: 1px solid #ccd7dd;
    border-radius: .65rem;
    background: #fff;
    color: #283f4b;
    font: inherit;
}

.tg-forum-poll-builder-body textarea {
    min-height: 125px;
    resize: vertical;
}

.tg-forum-poll-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem .9rem;
    align-items: end;
}

.tg-forum-poll-settings-grid .tg-forum-check {
    align-self: center;
}

.tg-forum-check {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #405865;
    font-size: .78rem;
    font-weight: 700;
}

.tg-forum-check input[type="checkbox"] {
    flex: 0 0 auto;
}

@media (max-width: 760px) {
    .tg-forum-poll-heading {
        flex-direction: column;
        gap: .5rem;
    }

    .tg-forum-poll-settings-grid {
        grid-template-columns: 1fr;
    }

    .tg-forum-poll-option > div:first-child {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
    }
}

/* TG007new Build 0172 — Advanced Forum Moderation. */
.tg-forum-topic,
.tg-forum-post,
.tg-forum-recycle-item {
    position: relative;
}

.tg-forum-topic-moderation-select,
.tg-forum-post-moderation-select,
.tg-forum-recycle-select {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid #ccd9e0;
    border-radius: .55rem;
    background: #fff;
    color: #36576a;
    cursor: pointer;
}

.tg-forum-topic-moderation-select {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: .55rem;
    transform: translateY(-50%);
}

.tg-forum-topic:has(.tg-forum-topic-moderation-select) {
    padding-left: 3.1rem;
}

.tg-forum-topic-moderation-select input,
.tg-forum-post-moderation-select input,
.tg-forum-recycle-select input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--tg-forum-blue);
}


/* TG007new Build 0174 Completion Fix 1 — Forum moderation selection styling. */
.tg-forum-modern .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.tg-forum-topic-moderation-select,
.tg-forum-post-moderation-select,
.tg-forum-recycle-select {
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.tg-forum-topic-moderation-select:hover,
.tg-forum-post-moderation-select:hover,
.tg-forum-recycle-select:hover {
    border-color: #91b9cf;
    background: #f4faff;
}

.tg-forum-topic-moderation-select:has(input:checked),
.tg-forum-post-moderation-select:has(input:checked),
.tg-forum-recycle-select:has(input:checked) {
    border-color: var(--tg-forum-blue);
    background: #e9f5fc;
    box-shadow: 0 0 0 2px rgba(30, 115, 168, .10);
}

.tg-forum-topic-moderation-select:focus-within,
.tg-forum-post-moderation-select:focus-within,
.tg-forum-recycle-select:focus-within {
    outline: 3px solid rgba(30, 115, 168, .18);
    outline-offset: 2px;
}

.tg-forum-topic-moderation-select input,
.tg-forum-post-moderation-select input,
.tg-forum-recycle-select input {
    appearance: none;
    -webkit-appearance: none;
    display: grid;
    place-content: center;
    width: 17px;
    height: 17px;
    margin: 0;
    border: 1.5px solid #9fb5c2;
    border-radius: .32rem;
    background: #fff;
    cursor: pointer;
    transition: border-color .14s ease, background-color .14s ease, box-shadow .14s ease;
}

.tg-forum-topic-moderation-select input::before,
.tg-forum-post-moderation-select input::before,
.tg-forum-recycle-select input::before {
    content: "";
    width: 8px;
    height: 5px;
    border: solid #fff;
    border-width: 0 0 2px 2px;
    transform: translateY(-1px) rotate(-45deg) scale(0);
    transform-origin: center;
    transition: transform .12s ease;
}

.tg-forum-topic-moderation-select input:checked,
.tg-forum-post-moderation-select input:checked,
.tg-forum-recycle-select input:checked {
    border-color: var(--tg-forum-blue);
    background: var(--tg-forum-blue);
}

.tg-forum-topic-moderation-select input:checked::before,
.tg-forum-post-moderation-select input:checked::before,
.tg-forum-recycle-select input:checked::before {
    transform: translateY(-1px) rotate(-45deg) scale(1);
}

.tg-forum-topic-moderation-select input:focus-visible,
.tg-forum-post-moderation-select input:focus-visible,
.tg-forum-recycle-select input:focus-visible {
    outline: none;
}

.tg-forum-bulk-moderation,
.tg-forum-post-moderation,
.tg-forum-bulk-restore {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: .7rem .85rem;
    margin: -.2rem 0 1rem;
    padding: .85rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: .9rem;
    background: #f7fafb;
}

.tg-forum-bulk-moderation-heading,
.tg-forum-post-moderation-heading {
    flex: 1 1 100%;
    display: grid;
    gap: .15rem;
}

.tg-forum-bulk-moderation-heading strong,
.tg-forum-post-moderation-heading strong {
    color: #2d4858;
    font-size: .86rem;
}

.tg-forum-bulk-moderation-heading span,
.tg-forum-post-moderation-heading span,
.tg-forum-bulk-restore > span,
.tg-forum-topic-moderator-move small {
    color: var(--tg-forum-muted);
    font-size: .74rem;
    line-height: 1.45;
}

.tg-forum-bulk-moderation label,
.tg-forum-post-moderation label {
    display: grid;
    gap: .3rem;
    color: #405865;
    font-size: .75rem;
    font-weight: 750;
}

.tg-forum-bulk-moderation select,
.tg-forum-post-moderation select,
.tg-forum-post-moderation input,
.tg-forum-topic-moderator-move input {
    min-height: 40px;
    min-width: 180px;
    padding: .5rem .62rem;
    border: 1px solid #cbd7dd;
    border-radius: .62rem;
    background: #fff;
    color: #283f4b;
    font: inherit;
}

.tg-forum-topic-moderator-move small {
    display: block;
    margin-top: .4rem;
}

.tg-forum-post-moderation-select {
    position: absolute;
    z-index: 3;
    top: .7rem;
    left: .7rem;
}

.tg-forum-post:has(.tg-forum-post-moderation-select) .tg-forum-post-author {
    padding-top: 3.15rem;
}

.tg-forum-post-moderation-fields {
    display: flex;
    flex: 1 1 380px;
    flex-wrap: wrap;
    align-items: end;
    gap: .65rem;
}

.tg-forum-post-moderation-fields[hidden] {
    display: none !important;
}

.tg-forum-recycle-select {
    position: absolute;
    top: 50%;
    left: .55rem;
    transform: translateY(-50%);
}

.tg-forum-recycle-item:has(.tg-forum-recycle-select) {
    padding-left: 3.1rem;
}

.tg-forum-bulk-restore {
    width: 100%;
    margin: 0;
    justify-content: space-between;
}

@media (max-width: 760px) {
    .tg-forum-bulk-moderation,
    .tg-forum-post-moderation,
    .tg-forum-bulk-restore,
    .tg-forum-post-moderation-fields {
        align-items: stretch;
        flex-direction: column;
    }

    .tg-forum-bulk-moderation label,
    .tg-forum-post-moderation label,
    .tg-forum-bulk-moderation select,
    .tg-forum-post-moderation select,
    .tg-forum-post-moderation input,
    .tg-forum-bulk-moderation .tg-btn,
    .tg-forum-post-moderation .tg-btn,
    .tg-forum-bulk-restore .tg-btn {
        width: 100%;
        min-width: 0;
    }
}

/* Build 0173 — Forum Search, Navigation & Member Quality-of-Life. */
.tg-forum-search-advanced {
    grid-template-columns: 1fr;
    gap: .8rem;
}

.tg-forum-search-primary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
}

.tg-forum-search-filters {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
    padding-top: .75rem;
    border-top: 1px solid var(--tg-forum-line-soft);
}

.tg-forum-search-filters label,
.tg-forum-sort-form label {
    display: grid;
    gap: .28rem;
    color: #405865;
    font-size: .72rem;
    font-weight: 800;
}

.tg-forum-search-filters input,
.tg-forum-search-filters select,
.tg-forum-sort-form select {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: .5rem .62rem;
    border: 1px solid #bdcbd3;
    border-radius: .65rem;
    background: #fff;
    color: var(--tg-forum-text);
    font: inherit;
}

.tg-forum-search-filters input:focus,
.tg-forum-search-filters select:focus,
.tg-forum-sort-form select:focus {
    outline: none;
    border-color: var(--tg-forum-blue);
    box-shadow: 0 0 0 3px rgba(47, 127, 174, .12);
}

.tg-forum-member-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: .7rem 1rem;
    margin: 0 0 .9rem;
}

.tg-forum-member-toolbar.tg-forum-toolbar {
    align-items: end;
}

.tg-forum-sort-form {
    display: flex;
    align-items: end;
    gap: .55rem;
}

.tg-forum-sort-form label {
    min-width: 170px;
}

.tg-forum-mark-read-form {
    margin: 0;
}

.tg-forum-topic-main h3 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .38rem;
}

.tg-forum-topic-badges {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .28rem;
}

.tg-forum-status-badge,
.tg-forum-unread-badge,
.tg-forum-pin {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: .14rem .42rem;
    border: 1px solid #cbd8df;
    border-radius: 999px;
    background: #f5f8fa;
    color: #526975;
    font-size: .65rem;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.tg-forum-status-badge.is-unread,
.tg-forum-unread-badge {
    border-color: #a9cedf;
    background: var(--tg-forum-soft-blue);
    color: var(--tg-forum-blue-dark);
}

.tg-forum-status-badge.is-pinned,
.tg-forum-pin {
    border-color: #c3d4de;
    background: #f0f5f7;
    color: #36596c;
}

.tg-forum-status-badge.is-poll {
    border-color: #c9d9c9;
    background: #f3f8f3;
    color: #426a48;
}

.tg-forum-status-badge.is-locked {
    border-color: #d8cfbf;
    background: #faf7f1;
    color: #725f3c;
}

.tg-forum-status-badge.is-following {
    border-color: #cdc7dc;
    background: #f7f5fa;
    color: #5f5377;
}

.tg-forum-latest-link {
    color: #255f83;
    font-weight: 750;
}

.tg-forum-my-posts {
    display: grid;
    gap: .7rem;
}

.tg-forum-my-post {
    padding: .9rem 1rem;
    border: 1px solid var(--tg-forum-line);
    border-radius: .95rem;
    background: #fff;
    box-shadow: 0 8px 22px rgba(35, 55, 68, .04);
}

.tg-forum-my-post-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: .35rem .8rem;
}

.tg-forum-my-post-heading h3 {
    margin: 0;
    font-size: .98rem;
}

.tg-forum-my-post-heading a {
    color: #255f83;
    font-weight: 800;
}

.tg-forum-my-post-heading time,
.tg-forum-my-post .tg-forum-meta {
    color: var(--tg-forum-muted);
    font-size: .76rem;
}

.tg-forum-my-post p {
    margin: .55rem 0 0;
    color: #52626c;
    font-size: .86rem;
    line-height: 1.55;
}

@media (max-width: 900px) {
    .tg-forum-search-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .tg-forum-search-primary,
    .tg-forum-search-filters {
        grid-template-columns: 1fr;
    }

    .tg-forum-search-primary .tg-btn,
    .tg-forum-member-toolbar,
    .tg-forum-sort-form,
    .tg-forum-sort-form label,
    .tg-forum-sort-form select,
    .tg-forum-member-toolbar .tg-btn {
        width: 100%;
    }

    .tg-forum-sort-form {
        align-items: stretch;
        flex-direction: column;
    }

    .tg-forum-my-post-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* TG007new Build 0174 Completion Fix 2 — integrated post reaction bar. */
.tg-forum-reaction-bar {
    margin-top: .9rem;
    padding-top: .7rem;
    border-top: 1px solid #e8eef1;
}

.tg-forum-reaction-items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
}

.tg-forum-reaction-form {
    margin: 0;
}

.tg-forum-reaction-chip {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    min-height: 34px;
    padding: .28rem .42rem .28rem .34rem;
    border: 1px solid #d8e2e7;
    border-radius: 999px;
    background: #f8fafb;
    color: #526670;
    font: inherit;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(31, 52, 64, .035);
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.tg-forum-reaction-chip:hover {
    border-color: #aac9d9;
    background: #fff;
    color: var(--tg-forum-blue-dark);
    box-shadow: 0 3px 10px rgba(31, 88, 120, .08);
}

.tg-forum-reaction-chip:focus-visible,
.tg-forum-reaction-clear:focus-visible {
    outline: 3px solid rgba(30, 115, 168, .16);
    outline-offset: 2px;
}

.tg-forum-reaction-icon {
    display: inline-grid;
    place-items: center;
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #eaf0f3;
    color: #536d7a;
    transition: background-color .16s ease, color .16s ease;
}

.tg-forum-reaction-icon svg {
    display: block;
    width: 13px;
    height: 13px;
    fill: currentColor;
}

.tg-forum-reaction-label {
    white-space: nowrap;
}

.tg-forum-reaction-count {
    display: inline-grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 .34rem;
    border-radius: 999px;
    background: #e9eef1;
    color: #667983;
    font-size: .66rem;
    font-weight: 900;
    line-height: 1;
}

.tg-forum-reaction-chip.is-active {
    border-color: #8dbbd3;
    background: #edf7fc;
    color: #175f88;
    box-shadow: inset 0 0 0 1px rgba(47, 127, 174, .035), 0 3px 10px rgba(31, 88, 120, .07);
}

.tg-forum-reaction-chip.is-active .tg-forum-reaction-icon {
    background: var(--tg-forum-blue);
    color: #fff;
}

.tg-forum-reaction-chip.is-active .tg-forum-reaction-count {
    background: #d8ebf5;
    color: #175f88;
}

.tg-forum-reaction-chip.is-readonly {
    cursor: default;
}

.tg-forum-reaction-chip.is-readonly:hover {
    border-color: #d8e2e7;
    background: #f8fafb;
    color: #526670;
    box-shadow: 0 1px 2px rgba(31, 52, 64, .035);
}

.tg-forum-reaction-chip.is-legacy {
    border-style: dashed;
    color: #6d7c84;
}

.tg-forum-reaction-clear {
    min-height: 34px;
    padding: .25rem .4rem;
    border: 0;
    background: transparent;
    color: #71808a;
    font: inherit;
    font-size: .69rem;
    font-weight: 750;
    cursor: pointer;
}

.tg-forum-reaction-clear:hover {
    color: var(--tg-forum-blue-dark);
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 560px) {
    .tg-forum-reaction-bar {
        margin-top: .8rem;
        padding-top: .65rem;
    }

    .tg-forum-reaction-items {
        gap: .35rem;
    }

    .tg-forum-reaction-chip {
        min-height: 36px;
        padding-right: .46rem;
    }
}

/* Build 0190 — staff-only Forum posting IP context */
.tg-forum-post-meta-primary{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.tg-forum-staff-ip{font-size:.78rem;color:#66717d;border-left:1px solid rgba(96,113,128,.28);padding-left:.65rem}.tg-forum-staff-ip a{font-weight:700;text-decoration:none}.tg-forum-staff-ip a:hover{text-decoration:underline}
