/*
Filename: ibulletin.css

iBulletin default theme.

Layout of this file:
  1. Classic base theme: elements, forms, tables, topic view, panels,
     and the responsive rules for small screens.
  2. Theme variables: maps the colors chosen in the Admin CP (Visual
     Style) onto the base theme through --ib-* custom properties.
  3. Feature styles: profiles, polls, composer, friends, search, plugins,
     moderation, and the Admin CP, each under its own comment.
  4. Visual refinement: the shared table/panel look applied across the
     board, Member CP, Mod CP, Admin CP, and installer.

Rule order matters. Later sections deliberately override earlier ones,
so do not sort or merge rules without checking what they override.
*/

/* ======================================================================
   Base elements
   ====================================================================== */

* {
    box-sizing: border-box;
}

html {
    background: #FFFFFF;
}

body {
    margin: 8px;
    background-color: #FFFFFF;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1.35;
    color: #000020;
}

table,
td,
th,
input,
textarea,
select,
button {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
}

a,
a:link,
a:active,
a:visited {
    text-decoration: none;
    color: #930303;
}

a:hover {
    text-decoration: underline;
    color: #000000;
}

img {
    max-width: 100%;
    border: 0;
}

form {
    margin: 0;
}

/* ======================================================================
   Form controls and buttons
   ====================================================================== */

input,
textarea,
select {
    color: #000020;
    background-color: #FFFFFF;
    border: 1px solid #BEBEBE;
    padding: 3px;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="number"],
textarea {
    width: 100%;
    max-width: 620px;
}

textarea {
    min-height: 180px;
    resize: vertical;
}

input.button,
button.button,
.button {
    width: auto;
    display: inline-block;
    color: #000020;
    background: #FFFFFF;
    border: 1px solid #AFAFAF;
    padding: 3px 8px;
    cursor: pointer;
}

input.button:hover,
button.button:hover,
.button:hover {
    background: #EEEEEE;
    text-decoration: none;
}

.link-button {
    border: 0;
    background: transparent;
    color: var(--ib-link, #930303);
    padding: 0;
    cursor: pointer;
    font: inherit;
    text-decoration: underline;
}

.link-button:hover {
    color: var(--ib-link-hover, #000000);
    text-decoration: underline;
}

.topnav-user .link-button {
    color: var(--ib-link, #930303);
    vertical-align: baseline;
}

.topnav-user .link-button:hover {
    color: var(--ib-link-hover, #000000);
}

.inline {
    display: inline;
}

/* The 80% centered board shell is intentional: this is part of the original iBulletin look. */
.maintable {
    width: 80%;
    max-width: 1360px;
    min-width: 720px;
    margin: 0 auto;
    padding: 10px;
    border: 1px solid #BEBEBE;
    background-color: #EEEEEE;
}

.logotable {
    width: 100%;
    height: 100px;
    border: 1px solid #BEBEBE;
    background-color: #FFFFFF;
    padding: 0 4px;
    display: flex;
    align-items: center;
}

.logotable img {
    max-width: 100%;
    max-height: 100px;
    width: auto;
    height: auto;
    display: block;
}

.topnavtable {
    width: 100%;
    border: 1px solid #BEBEBE;
    border-collapse: collapse;
    background: #FFFFFF;
}

.topnavtable td {
    padding: 4px 6px;
}

.topnav-right {
    text-align: right;
    white-space: nowrap;
}

/* ======================================================================
   Tables: forum index, topic list, data and form tables
   ====================================================================== */

.table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.outerforum,
.forummaint,
.threadmainm,
.data-table,
.form-table {
    width: 100%;
    border: 1px solid #BEBEBE;
    border-collapse: collapse;
    background-color: #FFFFFF;
}

.outerforum td,
.outerforum th,
.forummaint td,
.forummaint th,
.data-table td,
.data-table th,
.form-table td,
.form-table th {
    padding: 5px 6px;
    border-right: 1px solid #BEBEBE;
    border-bottom: 1px solid #BEBEBE;
    vertical-align: middle;
}

.outerforum td:last-child,
.outerforum th:last-child,
.forummaint td:last-child,
.forummaint th:last-child,
.data-table td:last-child,
.data-table th:last-child,
.form-table td:last-child,
.form-table th:last-child {
    border-right: 0;
}

.catname,
.panel-title,
.data-table th,
.form-table th {
    background-color: #DFDFDF;
    font-weight: normal;
    text-align: left;
}

.category-title {
    font-weight: bold;
    padding: 4px 6px !important;
}

.forum-row td,
.topic-row td {
    background: #FFFFFF;
}

.forum-row:hover td,
.topic-row:hover td {
    background: #FAFAFA;
}

.outerforum {
    table-layout: fixed;
}

.iconcol {
    width: 44px;
    min-width: 44px;
    text-align: center;
}

.maincol {
    width: 34%;
}

.countcol {
    width: 68px;
    text-align: center;
    white-space: nowrap;
}

.lastcol {
    width: 210px;
}

.modcol {
    width: 150px;
}

.modcol a {
    white-space: nowrap;
}

/* Topic list proportions intentionally resemble early-2000s forum tables. */
.forummaint {
    table-layout: fixed;
}

.forummaint .maincol {
    width: auto;
}

.forummaint .startercol {
    width: 130px;
}

.forummaint .lastcol {
    width: 210px;
}

/* ======================================================================
   Breadcrumbs, action bars, and pagination
   ====================================================================== */

.forumnavt,
.breadcrumb {
    width: 100%;
    padding: 4px 6px;
    background-color: #FFFFFF;
    border: 1px solid #BEBEBE;
}

.actionbar {
    width: 100%;
    margin: 6px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    min-height: 27px;
}

.actionbar .right {
    text-align: right;
}

.topic-primary-actions {
    display: flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
}

.topic-primary-actions .topic-primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    line-height: 0;
    vertical-align: middle;
}

.topic-primary-actions .topic-primary-action img {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
}

.pagination {
    margin: 6px 0;
    line-height: 1.8;
}

.pagination a,
.pagination strong {
    border: 1px solid #BEBEBE;
    background: #FFFFFF;
    padding: 2px 5px;
    margin-right: 2px;
}

.pagination strong {
    background: #DFDFDF;
}

.topic-pages {
    font-size: 10px;
    white-space: normal;
}

/* ======================================================================
   Topic view: post layout
   ====================================================================== */

.threadmainm {
    margin-top: 6px;
    table-layout: fixed;
}

.threadhead td {
    padding: 4px 6px;
    background-color: #EEEEEE;
    border-bottom: 1px solid #BEBEBE;
}

.threadhead td:first-child {
    width: 78%;
}

.threadhead .posttools {
    width: 22%;
}

.threadbith {
    width: 18%;
    min-width: 125px;
    padding: 7px;
    background-color: #F7F7F7;
    border-right: 1px solid #BEBEBE;
    border-bottom: 1px solid #BEBEBE;
    vertical-align: top;
}

.threadbitl {
    width: 82%;
    padding: 8px;
    background-color: #FFFFFF;
    border-bottom: 1px solid #BEBEBE;
    vertical-align: top;
}

.post-author {
    font-weight: bold;
    font-size: 12px;
}

.user-rank-title {
    display: inline-block;
    margin-top: 2px;
    color: #930303;
    font-weight: bold;
}

.rank-image {
    display: inline-block;
    max-width: 96px;
    height: auto;
    margin-top: 2px;
    vertical-align: middle;
}

.postmeta {
    color: #555555;
    font-size: 10px;
    line-height: 1.5;
}

.postbody {
    min-height: 90px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    word-break: normal;
}

.postbody blockquote {
    margin: 8px 16px;
    padding: 6px 8px;
    border: 1px solid #BEBEBE;
    background: #F6F6F6;
}

.quote-author {
    font-weight: bold;
    margin-bottom: 6px;
}

.postbody pre {
    overflow: auto;
    padding: 7px;
    border: 1px solid #BEBEBE;
    background: #F6F6F6;
}

.signature {
    margin-top: 15px;
    padding-top: 5px;
    border-top: 1px solid #DFDFDF;
    font-size: 10px;
}

.smilie {
    vertical-align: middle;
    max-width: none;
}

.posttools {
    text-align: right;
    white-space: nowrap;
}

.posttools img {
    vertical-align: middle;
}

/* ======================================================================
   Panels, notices, and footer
   ====================================================================== */

.panel-title {
    border: 1px solid #BEBEBE;
    padding: 5px 6px;
}

.panel-body {
    border: 1px solid #BEBEBE;
    border-top: 0;
    background: #FFFFFF;
    padding: 8px;
}

.form-table td:first-child {
    width: 25%;
    min-width: 145px;
    background: #F7F7F7;
}

.form-table th {
    font-weight: bold;
}

.data-table tbody tr:nth-child(even) td {
    background: #FAFAFA;
}

.smalltext {
    font-size: 10px;
    color: #555555;
}

.notice {
    margin: 6px 0;
    padding: 6px;
    border: 1px solid #BEBEBE;
    background: #F7F7F7;
}

.notice.error {
    border-color: #B75B5B;
    background: #FFF2F2;
}

.notice.success {
    border-color: #6F916F;
    background: #F2FFF2;
}

.footer {
    margin-top: 10px;
    padding-top: 7px;
    border-top: 1px solid #BEBEBE;
    text-align: center;
    color: #555555;
    font-size: 10px;
    line-height: 1.55;
}

.performance-footer {
    display: inline-block;
    margin-top: 3px;
    font-family: "Courier New", Courier, monospace;
    font-size: 10px;
    color: #555555;
    white-space: nowrap;
}

.performance-footer .perf-line {
    display: block;
}

/* ======================================================================
   Admin CP and installer basics
   ====================================================================== */

.admin-nav {
    margin-bottom: 8px;
    padding: 5px 6px;
    border: 1px solid #BEBEBE;
    background: #FFFFFF;
    line-height: 1.7;
}

.stat-grid {
    width: 100%;
    border-collapse: collapse;
}

.stat-grid td {
    width: 25%;
    border: 1px solid #BEBEBE;
    background: #FFFFFF;
    padding: 9px;
    text-align: center;
}

.stat-number {
    font-size: 16px;
    font-weight: bold;
}

.muted {
    color: #666666;
}

.installer-wrap {
    margin-top: 25px;
}

/* ======================================================================
   Responsive layout
   ====================================================================== */

@media (max-width: 1000px) {
    .maintable {
        width: 96%;
        max-width: none;
        min-width: 0;
        padding: 7px;
    }

    .maincol {
        width: auto;
    }

    .lastcol,
    .modcol {
        width: auto;
    }
}

@media (max-width: 760px) {
    body {
        margin: 3px;
    }

    .maintable {
        width: 100%;
        padding: 5px;
        border-left: 0;
        border-right: 0;
    }

    .logotable {
        height: auto;
        min-height: 80px;
    }

    .logotable img {
        width: min(293px, 100%);
        height: auto;
    }

    .topnavtable td {
        display: block;
        width: 100%;
    }

    .topnav-right {
        text-align: left;
        white-space: normal;
        border-top: 1px solid #EEEEEE;
    }

    .table-scroll {
        overflow-x: auto;
    }

    .outerforum {
        min-width: 760px;
        table-layout: fixed;
    }

    .forummaint {
        min-width: 720px;
        table-layout: fixed;
    }

    .data-table {
        min-width: 620px;
    }

    .threadmainm {
        table-layout: auto;
    }

    .threadbith,
    .threadbitl {
        display: block;
        width: 100%;
        border-right: 0;
    }

    .threadbith {
        border-bottom: 0;
        background: #F7F7F7;
    }

    .threadhead td:first-child {
        width: auto;
    }

    .threadhead .posttools {
        width: auto;
    }

    .actionbar {
        display: block;
    }

    .actionbar .right {
        text-align: left;
        margin-top: 5px;
    }

    .form-table td,
    .form-table th {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        border-right: 0;
    }

    .performance-footer {
        white-space: normal;
    }
}

.rank-table input[type="text"] {
    max-width: 180px;
}

.rank-table input[type="number"] {
    width: 70px;
}

.rank-table .muted-input {
    color: #777777;
    background: #F3F3F3;
}

.rank-add-row td {
    background: #F7F7F7;
    border-top: 2px solid #BEBEBE;
}

.member-list-table .rank-image,
.admin-member-table .rank-image {
    margin-top: 1px;
}

.member-edit-form {
    white-space: normal;
}

.member-edit-form select {
    max-width: 160px;
}

.threadhead td:first-child {
    width: 190px;
}

.threadhead .posttools {
    width: auto;
}

.threadbith {
    width: 190px;
    min-width: 190px;
}

.threadbitl {
    width: auto;
}

.postbody {
    padding: 2px 0 6px;
}

/* ======================================================================
   Attachments
   ====================================================================== */

.post-attachments {
    margin-top: 12px;
    padding: 6px;
    border: 1px solid #BEBEBE;
    background: #F7F7F7;
}

.attachment-title {
    margin: -6px -6px 6px;
    padding: 4px 6px;
    background: #DFDFDF;
    border-bottom: 1px solid #BEBEBE;
    font-weight: bold;
}

.attachment-item {
    padding: 4px 0;
    border-bottom: 1px dotted #C8C8C8;
}

.attachment-item:last-child {
    border-bottom: 0;
}

.attachment-preview {
    display: block;
    max-width: min(420px, 100%);
    max-height: 320px;
    width: auto;
    height: auto;
    margin: 2px 0 5px;
    padding: 2px;
    border: 1px solid #BEBEBE;
    background: #FFFFFF;
}

.attachment-upload,
.attachment-edit-list {
    margin-top: 10px;
    padding: 7px;
    border: 1px solid #BEBEBE;
    background: #F7F7F7;
}

.attachment-upload input[type="file"] {
    width: 100%;
    max-width: 620px;
    margin: 4px 0;
}

.attachment-edit-list label {
    display: block;
    margin: 4px 0;
}

@media (max-width: 760px) {
    .threadhead td:first-child,
    .threadhead .posttools {
        width: auto;
    }

    .threadbith {
        min-width: 0;
    }

    .attachment-preview {
        max-width: 100%;
    }
}

.board-section {
    width: 100%;
}

.forum-index-scroll {
    width: 100%;
}

.outerforum col.col-icon {
    width: 44px;
}

.outerforum col.col-description {
    width: auto;
}

.outerforum col.col-count {
    width: 64px;
}

.outerforum col.col-last {
    width: 220px;
}

.outerforum col.col-moderators {
    width: 140px;
}

.forummaint col.col-topic {
    width: auto;
}

.forummaint col.col-starter {
    width: 120px;
}

.forummaint col.col-count {
    width: 64px;
}

.forummaint col.col-last {
    width: 220px;
}

.breadcrumb,
.panel-body,
.panel-title,
.notice {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.data-table td,
.data-table th {
    overflow-wrap: anywhere;
}

.postbody img:not(.smilie):not(.attachment-preview) {
    max-width: 100%;
    height: auto;
}

.postbody iframe,
.postbody video {
    max-width: 100%;
}

.attachment-item {
    overflow-wrap: anywhere;
}

@media (min-width: 1001px) {
    .maintable {
        max-width: 1360px;
    }

    .outerforum col.col-description,
    .forummaint col.col-topic {
        width: auto;
    }
}

@media (max-width: 1000px) {
    .outerforum col.col-last {
        width: 190px;
    }

    .outerforum col.col-moderators {
        width: 135px;
    }

    .forummaint col.col-starter {
        width: 115px;
    }

    .forummaint col.col-last {
        width: 190px;
    }
}

@media (max-width: 760px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    body {
        margin: 0;
    }

    .maintable {
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 4px;
    }

    .logotable {
        min-height: 74px;
        padding: 0 3px;
    }

    .logotable img {
        max-width: min(293px, 72vw);
        width: auto;
        min-width: 0;
    }

    .topnavtable {
        table-layout: fixed;
    }

    .topnavtable td {
        padding: 5px;
        overflow-wrap: anywhere;
    }

    .topnav-right {
        padding-top: 5px;
    }

    .breadcrumb {
        line-height: 1.55;
    }

    .actionbar {
        margin: 5px 0;
    }

    .actionbar > div {
        max-width: 100%;
    }

    .actionbar .right form {
        display: inline-block;
        margin-bottom: 3px;
    }

    /* Preserve the classic columns as one fixed grid; scroll the grid, not each cell. */
    .forum-index-scroll,
    .table-scroll {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
    }

    .outerforum {
        width: 760px;
        min-width: 760px;
    }

    .outerforum col.col-icon {
        width: 44px;
    }

    .outerforum col.col-description {
        width: 250px;
    }

    .outerforum col.col-count {
        width: 62px;
    }

    .outerforum col.col-last {
        width: 190px;
    }

    .outerforum col.col-moderators {
        width: 152px;
    }

    .forummaint {
        width: 720px;
        min-width: 720px;
    }

    .forummaint col.col-topic {
        width: 292px;
    }

    .forummaint col.col-starter {
        width: 112px;
    }

    .forummaint col.col-count {
        width: 62px;
    }

    .forummaint col.col-last {
        width: 192px;
    }

    .modcol a {
        white-space: normal;
    }

    /* Generic list tables remain old-school tables and scroll as a whole when needed. */
    .panel-body {
        overflow-x: auto;
    }

    .data-table {
        width: 100%;
        min-width: 560px;
    }

    .member-list-table,
    .admin-member-table,
    .rank-table {
        min-width: 760px;
    }

    .data-table td,
    .data-table th {
        padding: 5px;
    }

    /* Forms become a readable single column rather than a squeezed two-column grid. */
    .form-table {
        width: 100%;
        min-width: 0;
    }

    .form-table td,
    .form-table th {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        border-right: 0;
    }

    .form-table td:first-child {
        padding-bottom: 3px;
        font-weight: bold;
    }

    .form-table td + td {
        padding-top: 3px;
    }

    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="url"],
    input[type="number"],
    textarea,
    select {
        max-width: 100%;
    }

    textarea {
        min-height: 155px;
    }

    /* Posts stack author above message but retain the classic post header/action strip. */
    .threadmainm {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
    }

    .threadhead td {
        display: table-cell;
    }

    .threadhead td:first-child {
        width: auto;
    }

    .threadhead .posttools {
        width: 116px;
    }

    .threadbith,
    .threadbitl {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .threadbith {
        padding: 6px;
        border-right: 0;
        border-bottom: 1px solid #BEBEBE;
    }

    .threadbitl {
        padding: 7px;
    }

    .postmeta {
        line-height: 1.45;
    }

    .postbody {
        min-height: 60px;
        overflow-wrap: anywhere;
    }

    .postbody blockquote {
        margin: 7px 4px;
    }

    .attachment-preview {
        max-width: 100%;
        max-height: 280px;
    }

    .stat-grid td {
        display: inline-block;
        width: 50%;
        vertical-align: top;
    }

    .footer {
        padding-left: 4px;
        padding-right: 4px;
    }

    .performance-footer {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 430px) {
    .maintable {
        padding: 3px;
    }

    .logotable img {
        max-width: min(293px, 68vw);
        width: auto;
        min-width: 0;
    }

    .outerforum td,
    .outerforum th,
    .forummaint td,
    .forummaint th {
        padding: 4px 5px;
    }

    .threadhead .posttools {
        width: 104px;
    }

    .posttools img {
        max-width: 28px;
        height: auto;
    }

    .stat-grid td {
        width: 100%;
    }
}

/* Base declarations above remain the historical iBulletin defaults; these rules
   map the small ACP-controlled property set over the classic theme without
   exposing raw CSS or templates. */
html,
body {
    background: var(--ib-page-bg, #FFFFFF);
    color: var(--ib-text, #000020);
}

a,
a:link,
a:active,
a:visited {
    color: var(--ib-link, #930303);
}

a:hover {
    color: var(--ib-link-hover, #000000);
}

.maintable {
    background-color: var(--ib-board-bg, #EEEEEE);
    border-color: var(--ib-border, #BEBEBE);
}

.logotable,
.topnavtable,
.outerforum,
.forummaint,
.threadmainm,
.data-table,
.form-table,
.forumnavt,
.breadcrumb,
.panel-body,
.admin-nav,
.pagination a,
.pagination strong {
    background-color: var(--ib-surface-bg, #FFFFFF);
    border-color: var(--ib-border, #BEBEBE);
}

input,
textarea,
select,
input.button,
button.button,
.button {
    color: var(--ib-text, #000020);
    background-color: var(--ib-surface-bg, #FFFFFF);
    border-color: var(--ib-border, #BEBEBE);
}

.outerforum td,
.outerforum th,
.forummaint td,
.forummaint th,
.data-table td,
.data-table th,
.form-table td,
.form-table th,
.threadhead td,
.threadbith,
.threadbitl,
.stat-grid td {
    border-color: var(--ib-border, #BEBEBE);
}

.catname,
.panel-title,
.data-table th,
.form-table th,
.attachment-title,
.pagination strong {
    background-color: var(--ib-header-bg, #DFDFDF);
}

.threadhead td,
.category-title {
    background-color: var(--ib-secondary-bg, #EEEEEE);
}

.forum-row td,
.topic-row td,
.threadbitl,
.stat-grid td {
    background-color: var(--ib-surface-bg, #FFFFFF);
}

.forum-row:hover td,
.topic-row:hover td,
.data-table tbody tr:nth-child(even) td {
    background-color: var(--ib-row-hover-bg, #FAFAFA);
}

.threadbith,
.form-table td:first-child,
.attachment-upload,
.attachment-edit-list,
.post-attachments,
.notice {
    background-color: var(--ib-postbit-bg, #F7F7F7);
}

.smalltext,
.postmeta,
.footer,
.performance-footer,
.muted {
    color: var(--ib-muted-text, #555555);
}

.notice.error {
    border-color: var(--ib-error-border, #B75B5B);
    background-color: var(--ib-error-bg, #FFF2F2);
}

.notice.success {
    border-color: var(--ib-success-border, #6F916F);
    background-color: var(--ib-success-bg, #F2FFF2);
}

.visual-style-table .color-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

.visual-style-table input[type="color"] {
    width: 42px;
    height: 28px;
    padding: 1px;
}

.visual-style-table input[type="text"] {
    width: 105px;
    max-width: 105px;
    font-family: "Courier New", monospace;
    text-transform: uppercase;
}

.branding-preview {
    display: inline-flex;
    min-width: 180px;
    min-height: 54px;
    padding: 5px;
    align-items: center;
    border: 1px solid var(--ib-border, #BEBEBE);
    background: var(--ib-surface-bg, #FFFFFF);
    vertical-align: middle;
}

.branding-preview img {
    max-width: 293px;
    max-height: 100px;
    width: auto;
    height: auto;
}

.branding-preview.favicon {
    min-width: 54px;
}

.branding-preview.favicon img {
    max-width: 32px;
    max-height: 32px;
}

/* classic member identity */
.post-avatar {
    display: block;
    margin: 0 0 6px;
}

.post-avatar img {
    display: block;
    max-width: 120px;
    max-height: 120px;
    border: 1px solid var(--ib-border);
    background: var(--ib-surface-bg);
    padding: 2px;
}

.custom-title {
    font-size: 10px;
    font-style: italic;
    color: var(--ib-muted-text);
}

.profile-avatar {
    float: right;
    margin: 0 0 10px 12px;
}

.profile-avatar img,
.avatar-current img {
    max-width: 150px;
    max-height: 150px;
    border: 1px solid var(--ib-border);
    background: var(--ib-surface-bg);
    padding: 3px;
}

.avatar-current {
    margin-bottom: 6px;
}

@media (max-width: 768px) {
    .profile-avatar {
        float: none;
        margin: 0 0 10px;
    }

    .post-avatar img {
        max-width: 96px;
        max-height: 96px;
    }
}

/* classic topic polls */
.poll-create {
    margin: 10px 0;
    border: 1px solid var(--ib-border, #bebebe);
    background: var(--ib-secondary-bg, #eeeeee);
    padding: 8px;
}

.poll-create .form-table {
    margin-top: 7px;
    background: var(--ib-content-bg, #fff);
}

.poll-box {
    border: 1px solid var(--ib-border, #bebebe);
    background: var(--ib-content-bg, #fff);
}

.poll-box .panel-title {
    margin: 0;
}

.poll-options {
    margin: 4px 0 8px;
}

.poll-option {
    display: block;
    padding: 4px 2px;
}

.poll-result-row {
    display: grid;
    grid-template-columns: minmax(150px, 28%) 1fr 110px;
    gap: 8px;
    align-items: center;
    margin: 6px 0;
}

.poll-meter {
    height: 12px;
    border: 1px solid var(--ib-border, #bebebe);
    background: var(--ib-secondary-bg, #eeeeee);
    overflow: hidden;
}

.poll-meter span {
    display: block;
    height: 100%;
    background: var(--ib-link, #930303);
}

.poll-result-count {
    text-align: right;
    white-space: nowrap;
}

.poll-moderation {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--ib-border, #bebebe);
}

@media (max-width: 640px) {
    .poll-result-row {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .poll-result-count {
        text-align: left;
    }
}

/* classic composer, smilies and BBCode */
.composer-tools {
    margin: 0 0 5px;
    padding: 5px;
    border: 1px solid var(--ib-border, #bebebe);
    background: var(--ib-secondary-bg, #eeeeee);
}

.bbcode-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-bottom: 5px;
}

.bbcode-toolbar .button {
    min-width: 28px;
    padding: 2px 6px;
}

.smilie-picker {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px;
}

.smilie-button {
    width: 26px;
    height: 26px;
    padding: 2px;
    border: 1px solid var(--ib-border, #bebebe);
    background: var(--ib-surface-bg, #fff);
    cursor: pointer;
}

.smilie-button:hover {
    background: var(--ib-row-hover-bg, #fafafa);
}

.smilie-button img,
img.smilie {
    max-width: 20px;
    max-height: 20px;
    width: auto;
    height: auto;
    vertical-align: middle;
}

.bbcode-image {
    max-width: 100%;
    height: auto;
}

.postbody pre {
    overflow-x: auto;
    padding: 7px;
    border: 1px solid var(--ib-border, #bebebe);
    background: var(--ib-postbit-bg, #f7f7f7);
    white-space: pre-wrap;
}

.postbody ul,
.postbody ol {
    margin-top: 6px;
    margin-bottom: 6px;
    padding-left: 28px;
}

.smilie-admin-table img {
    image-rendering: auto;
}

@media (max-width: 760px) {
    .composer-tools {
        padding: 4px;
    }

    .bbcode-toolbar .button {
        flex: 0 0 auto;
    }
}

.forummaint .col-select,
.forummaint .selectcol {
    width: 34px;
    text-align: center;
}

.bulk-moderation-bar {
    border: 1px solid var(--ib-border, #bebebe);
    border-top: 0;
    padding: 6px 8px;
    background: var(--ib-secondary-bg, #eeeeee);
    text-align: right;
}

.bulk-moderation-bar select {
    max-width: 180px;
}

@media (max-width: 768px) {
    .bulk-moderation-bar {
        text-align: left;
        white-space: nowrap;
    }
}

/* member administration and compact moderation selector. */
.forummaint col.col-select {
    width: 30px !important;
}

.forummaint .selectcol {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    padding-left: 3px;
    padding-right: 3px;
    text-align: center;
}

.forummaint .selectcol input[type="checkbox"] {
    margin: 0;
    vertical-align: middle;
}

.admin-member-table td:last-child,
.admin-member-table th:last-child {
    width: 72px;
    white-space: nowrap;
}

@media (max-width:760px) {
    .forummaint col.col-select {
        width: 30px !important;
    }

    .forummaint .selectcol {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
    }
}

/* classic tabbed Admin CP navigation and closing polish. */
.admin-tabs {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    margin: 0 0 0;
    padding: 0 5px;
    border-bottom: 1px solid var(--ib-border, #BEBEBE);
}

.admin-tab {
    display: inline-block;
    padding: 5px 11px 4px;
    border: 1px solid var(--ib-border, #BEBEBE);
    border-bottom: 0;
    background: var(--ib-secondary-bg, #EEEEEE);
    color: var(--ib-link, #930303);
    font-weight: bold;
    text-decoration: none;
}

.admin-tab:hover {
    background: var(--ib-row-hover-bg, #F5F5F5);
}

.admin-tab.active {
    position: relative;
    top: 1px;
    background: var(--ib-board-bg, #FFFFFF);
    color: var(--ib-text, #111111);
}

.admin-subnav {
    margin: 0 0 8px;
    padding: 5px 7px;
    border: 1px solid var(--ib-border, #BEBEBE);
    border-top: 0;
    background: var(--ib-board-bg, #FFFFFF);
    line-height: 1.7;
}

.admin-subnav a {
    margin-right: 14px;
    white-space: nowrap;
}

.admin-subnav a.active {
    font-weight: bold;
    color: var(--ib-text, #111111);
}

.admin-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 10px 0;
}

.admin-dashboard-box {
    border: 1px solid var(--ib-border, #BEBEBE);
    background: var(--ib-surface-bg, #FFFFFF);
}

.admin-dashboard-box h3 {
    margin: 0;
    padding: 5px 7px;
    border-bottom: 1px solid var(--ib-border, #BEBEBE);
    background: var(--ib-header-bg, #DFDFDF);
    font-size: 11px;
}

.admin-dashboard-box p {
    margin: 0;
    padding: 7px;
    line-height: 1.8;
}

@media (max-width: 760px) {
    .admin-tabs {
        overflow-x: auto;
        padding-left: 0;
    }

    .admin-tab {
        flex: 0 0 auto;
    }

    .admin-subnav {
        overflow-x: auto;
        white-space: nowrap;
    }

    .admin-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

/* classic read states, topic status icons, and usergroup identity */
.forum-status-icon {
    width: 28px;
    height: 22px;
    object-fit: contain;
}

.forummaint .col-status {
    width: 30px;
}

.forummaint .statuscol {
    width: 30px;
    text-align: center;
    padding-left: 3px;
    padding-right: 3px;
}

.forummaint .statuscol img {
    image-rendering: auto;
    vertical-align: middle;
}

.last-topic-title {
    font-weight: bold;
}

.topic-icon-legend {
    margin-top: 7px;
    border-top: 1px solid var(--ib-border, #BEBEBE);
    padding-top: 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px 14px;
}

.topic-icon-legend span {
    white-space: nowrap;
}

.topic-icon-legend img {
    vertical-align: middle;
    margin-right: 3px;
}

.member-group {
    color: var(--ib-muted-text, #666);
    font-size: 10px;
}

.permission-check {
    display: block;
    margin: 2px 0;
}

.group-username {
    font-weight: inherit;
}

.topic-row.topic-unread td {
    background-image: none;
}

/* expanded member profiles */
.profile-textarea {
    min-height: 105px;
}

.profile-textarea-small {
    min-height: 68px;
}

.member-profile .profile-actions {
    text-align: right;
    margin-bottom: 6px;
}

.profile-summary {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.profile-summary-avatar {
    flex: 0 0 130px;
    text-align: center;
}

.profile-summary-avatar img {
    max-width: 120px;
    max-height: 120px;
    border: 1px solid var(--ib-border, #BEBEBE);
    padding: 2px;
    background: #fff;
}

.profile-no-avatar {
    border: 1px solid var(--ib-border, #BEBEBE);
    background: #eee;
    color: #777;
    padding: 28px 6px;
    font-size: 10px;
}

.profile-summary-details {
    flex: 1 1 auto;
    min-width: 0;
}

.profile-section {
    margin-top: 10px;
    border: 1px solid var(--ib-border, #BEBEBE);
}

.profile-section-title {
    padding: 4px 6px;
    font-weight: bold;
    background: var(--ib-secondary-header, #DFDFDF);
    border-bottom: 1px solid var(--ib-border, #BEBEBE);
}

.profile-section-body {
    padding: 7px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .profile-summary {
        display: block;
    }

    .profile-summary-avatar {
        width: 126px;
        margin: 0 auto 10px;
    }
}

/* classic friends/profile comfort UI */
.friends-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 8px;
}

.friend-card {
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-content-bg,#fff);
    padding: 6px;
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.friend-avatar img,
.friend-avatar-small {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border: 1px solid var(--ib-border,#bebebe);
}

.friend-avatar-small {
    width: 36px;
    height: 36px;
}

.friends-grid-profile .friend-card {
    font-size: 11px;
}

.profile-actions form.inline {
    display: inline;
}

@media(max-width:700px) {
    .friends-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

/* Featured / Top Friends */
.featured-friend-card {
    position: relative;
}

.featured-position {
    position: absolute;
    top: 2px;
    right: 4px;
    font-size: 9px;
    color: var(--ib-muted,#777);
}

.featured-controls {
    margin-top: 4px;
}

.compact-button {
    min-width: 22px;
    padding-left: 5px;
    padding-right: 5px;
}

.featured-profile-grid .friend-card {
    background: var(--ib-secondary-bg,#f5f5f5);
}

/* classic profile comments. */
.profile-comment-form {
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--ib-border,#bebebe);
}

.profile-comment-form textarea {
    width: 100%;
    min-height: 64px;
    box-sizing: border-box;
    margin-bottom: 4px;
}

.profile-comment {
    position: relative;
    padding: 8px 0;
    border-bottom: 1px dotted var(--ib-border,#bebebe);
}

.profile-comment-author {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 5px;
}

.profile-comment-author img {
    width: 32px;
    height: 32px;
    object-fit: cover;
    border: 1px solid var(--ib-border,#bebebe);
}

.profile-comment-body {
    padding-left: 39px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.profile-comment-delete {
    position: absolute;
    right: 0;
    top: 8px;
}

@media(max-width:760px) {
    .profile-comment-body {
        padding-left: 0;
    }

    .profile-comment-delete {
        position: static;
        margin-top: 5px;
    }
}

/* profile activity and classic PM management */
.profile-activity {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.activity-list {
    margin: 5px 0 0 18px;
    padding: 0;
}

.activity-list li {
    margin: 0 0 6px;
}

.pm-summary {
    margin: 7px 0;
    padding: 5px 7px;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-secondary-header,#dfdfdf);
}

.pm-actions {
    white-space: nowrap;
}

.pm-block-list {
    margin: 6px 0 0;
    padding-left: 18px;
}

.pm-friend-shortcut {
    margin-top: 5px;
}

.pm-message-meta {
    line-height: 1.6;
}

@media(max-width:700px) {
    .profile-activity {
        grid-template-columns: 1fr;
    }

    .pm-actions {
        white-space: normal;
    }
}

/* deliberate retro public profile layout. */
.profile-page {
    font-size: 11px;
}

.profile-hero {
    display: grid;
    grid-template-columns: 132px minmax(0,1fr) 260px;
    gap: 12px;
    align-items: start;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-content-bg,#fff);
    padding: 9px;
}

.profile-hero-avatar {
    text-align: center;
}

.profile-hero-avatar img {
    max-width: 120px;
    max-height: 120px;
    border: 1px solid var(--ib-border,#bebebe);
    background: #fff;
    padding: 2px;
}

.profile-hero-main {
    min-width: 0;
}

.profile-name-line {
    padding-bottom: 5px;
    border-bottom: 1px solid var(--ib-border,#bebebe);
}

.profile-display-name {
    font-size: 16px;
}

.profile-custom-title {
    display: block;
    margin-top: 2px;
    font-style: italic;
    color: var(--ib-muted,#666);
}

.profile-identity-lines {
    line-height: 1.6;
    margin-top: 5px;
}

.profile-hero-actions {
    margin-top: 8px;
}

.profile-hero-actions form.inline {
    display: inline;
}

.profile-status-label {
    display: inline-block;
    padding: 2px 5px;
    color: var(--ib-muted,#666);
}

.profile-hero-stats {
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-secondary-bg,#f5f5f5);
}

.profile-hero-stats>div {
    display: grid;
    grid-template-columns: 72px 1fr;
    border-bottom: 1px solid var(--ib-border,#bebebe);
}

.profile-hero-stats>div:last-child {
    border-bottom: 0;
}

.profile-hero-stats strong,
.profile-hero-stats span {
    padding: 4px 5px;
}

.profile-hero-stats strong {
    background: var(--ib-secondary-header,#dfdfdf);
}

.profile-jumpbar {
    margin: 7px 0;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-secondary-header,#dfdfdf);
    padding: 4px 7px;
    text-align: center;
}

.profile-jumpbar a {
    margin: 0 7px;
}

.profile-columns {
    display: grid;
    grid-template-columns: minmax(0,2fr) minmax(250px,1fr);
    gap: 8px;
}

.profile-box {
    margin-top: 8px;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-content-bg,#fff);
}

.profile-box-title {
    padding: 4px 6px;
    font-weight: bold;
    background: var(--ib-secondary-header,#dfdfdf);
    border-bottom: 1px solid var(--ib-border,#bebebe);
}

.profile-box-body {
    padding: 7px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.profile-column-main .profile-box:first-child,
.profile-column-side .profile-box:first-child {
    margin-top: 0;
}

.profile-copy {
    min-height: 42px;
}

.profile-facts>div {
    display: grid;
    grid-template-columns: 78px minmax(0,1fr);
    border-bottom: 1px dotted var(--ib-border,#bebebe);
    padding: 3px 0;
}

.profile-facts>div:last-child {
    border-bottom: 0;
}

.profile-favorites>div {
    display: grid;
    grid-template-columns: 90px minmax(0,1fr);
    gap: 6px;
    padding: 4px 0;
    border-bottom: 1px dotted var(--ib-border,#bebebe);
}

.profile-favorites>div:last-child {
    border-bottom: 0;
}

.profile-friend-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px;
}

.profile-friend-tile {
    text-align: center;
    min-width: 0;
}

.profile-friend-tile img {
    display: block;
    width: 44px;
    height: 44px;
    object-fit: cover;
    border: 1px solid var(--ib-border,#bebebe);
    margin: 0 auto 3px;
    background: #fff;
}

.profile-friend-tile a {
    overflow-wrap: anywhere;
}

.profile-friends-label {
    font-weight: bold;
    margin-bottom: 5px;
}

.profile-friends-label-secondary {
    margin-top: 9px;
    padding-top: 6px;
    border-top: 1px dotted var(--ib-border,#bebebe);
}

.profile-activity-modernized {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.profile-comment-list {
    border: 1px solid var(--ib-border,#bebebe);
    border-bottom: 0;
}

.profile-comment-row {
    display: grid;
    grid-template-columns: 44px minmax(0,1fr);
    gap: 7px;
    padding: 6px;
    border-bottom: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-content-bg,#fff);
}

.profile-comment-row:nth-child(even) {
    background: var(--ib-secondary-bg,#f7f7f7);
}

.profile-comment-mini-avatar {
    width: 38px;
    text-align: center;
}

.profile-comment-mini-avatar img {
    width: 32px;
    height: 32px;
    object-fit: cover;
    border: 1px solid var(--ib-border,#bebebe);
    background: #fff;
    padding: 1px;
}

.profile-comment-content {
    min-width: 0;
}

.profile-comment-meta {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding-bottom: 3px;
    margin-bottom: 4px;
    border-bottom: 1px dotted var(--ib-border,#bebebe);
}

.profile-comment-meta span {
    font-size: 10px;
    color: var(--ib-muted,#666);
    white-space: nowrap;
}

.profile-comment-body {
    padding: 0;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.profile-comment-delete-inline {
    margin-top: 5px;
    text-align: right;
}

.profile-comment-pagination {
    margin: 7px 0;
}

.profile-comment-compose {
    margin-top: 10px;
    border-top: 1px solid var(--ib-border,#bebebe);
    padding-top: 8px;
}

.profile-comment-compose-title {
    font-weight: bold;
    margin-bottom: 4px;
}

.profile-comment-form-redesign textarea {
    width: 100%;
    min-height: 72px;
    box-sizing: border-box;
    margin-bottom: 4px;
}

.profile-comments-redesign .notice {
    margin-bottom: 7px;
}

@media(max-width:850px) {
    .profile-hero {
        grid-template-columns: 112px minmax(0,1fr);
    }

    .profile-hero-avatar img {
        max-width: 100px;
        max-height: 100px;
    }

    .profile-hero-stats {
        grid-column: 1/-1;
        display: grid;
        grid-template-columns: repeat(3,1fr);
    }

    .profile-hero-stats>div {
        display: block;
        border-right: 1px solid var(--ib-border,#bebebe);
        border-bottom: 0;
    }

    .profile-hero-stats>div:last-child {
        border-right: 0;
    }

    .profile-hero-stats strong,
    .profile-hero-stats span {
        display: block;
    }

    .profile-columns {
        grid-template-columns: 1fr;
    }

    .profile-column-side .profile-box:first-child {
        margin-top: 8px;
    }
}

@media(max-width:600px) {
    .profile-hero {
        display: block;
    }

    .profile-hero-avatar {
        margin-bottom: 8px;
    }

    .profile-hero-stats {
        display: block;
        margin-top: 8px;
    }

    .profile-hero-stats>div {
        display: grid;
        grid-template-columns: 72px 1fr;
        border-right: 0;
        border-bottom: 1px solid var(--ib-border,#bebebe);
    }

    .profile-jumpbar {
        text-align: left;
    }

    .profile-jumpbar a {
        display: inline-block;
        margin: 2px 8px 2px 0;
    }

    .profile-activity-modernized {
        grid-template-columns: 1fr;
    }

    .profile-friend-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .profile-comment-row {
        grid-template-columns: 36px minmax(0,1fr);
        padding: 5px;
    }

    .profile-comment-mini-avatar {
        width: 32px;
    }

    .profile-comment-mini-avatar img {
        width: 28px;
        height: 28px;
    }

    .profile-comment-meta {
        display: block;
    }

    .profile-comment-meta span {
        display: block;
        margin-top: 1px;
        white-space: normal;
    }

    .profile-facts>div,
    .profile-favorites>div {
        grid-template-columns: 1fr;
    }

    .profile-facts strong,
    .profile-favorites strong {
        margin-bottom: 1px;
    }
}

/* subscriptions */
.subscription-table .subscription-new td {
    font-weight: bold;
}

.subscription-table .subscription-method-form {
    white-space: nowrap;
}

.subscription-table select {
    max-width: 150px;
}

/* classic advanced search */
.search-summary {
    margin: 8px 0 5px;
    padding: 4px 6px;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-secondary-header,#dfdfdf);
}

.search-match {
    background: #fff2a8;
    color: inherit;
    padding: 0 1px;
}

.search-post-results {
    border: 1px solid var(--ib-border,#bebebe);
    border-bottom: 0;
}

.search-post-result {
    border-bottom: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-content-bg,#fff);
}

.search-post-result:nth-child(even) {
    background: var(--ib-secondary-bg,#fafafa);
}

.search-post-head {
    padding: 4px 6px;
    background: var(--ib-secondary-header,#dfdfdf);
    border-bottom: 1px solid var(--ib-border,#bebebe);
    font-weight: bold;
}

.search-post-meta {
    padding: 3px 6px;
    color: var(--ib-muted,#666);
    font-size: 10px;
    border-bottom: 1px dotted var(--ib-border,#bebebe);
}

.search-post-excerpt {
    padding: 7px 8px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.search-topic-results {
    table-layout: fixed;
    min-width: 780px;
}

.search-topic-results col.search-topic-col {
    width: auto;
}

.search-topic-results col.search-forum-col {
    width: 130px;
}

.search-topic-results col.search-starter-col {
    width: 165px;
}

.search-topic-results col.search-replies-col {
    width: 62px;
}

.search-topic-results col.search-lastpost-col {
    width: 155px;
}

.search-topic-results td.center {
    text-align: center;
}

.search-topic-results .search-topic-cell,
.search-topic-results .search-forum-cell {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.search-topic-results .search-starter-cell {
    overflow: hidden;
}

.search-topic-results .search-starter-cell .compact-username {
    max-width: 150px;
}

.search-topic-results .search-lastpost-cell {
    white-space: normal;
}

.search-post-username {
    max-width: 190px;
}

@media(max-width:700px) {
    .search-page input[type="date"] {
        max-width: 100%;
    }

    .search-post-head .smalltext {
        display: block;
        margin-top: 2px;
    }
}

/* Layout Lab profile/search overflow hardening. */
.profile-name-line,
.profile-identity-lines,
.profile-identity-lines>div {
    min-width: 0;
}

.profile-display-name,
.profile-display-name .group-username,
.profile-custom-title,
.profile-identity-lines,
.profile-identity-lines>div,
.profile-identity-lines .user-rank,
.profile-identity-lines .user-rank-title {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.profile-display-name {
    display: block;
    width: 100%;
    min-width: 0;
}

.profile-display-name .group-username {
    display: inline;
}

.profile-identity-lines .user-rank {
    display: block;
    min-width: 0;
}

.profile-identity-lines .user-rank-title {
    display: inline;
}

.search-page form {
    max-width: 100%;
    min-width: 0;
}

.search-page .form-table {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.search-page .form-table td,
.search-page .form-table td:first-child {
    min-width: 0;
}

.search-page .form-table input,
.search-page .form-table select,
.search-page .form-table textarea {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.search-page .form-table select[name="forum"] {
    width: 100%;
}

/* Members List & Member Discovery */
.member-directory-filter {
    margin: 0 0 10px;
    padding: 9px;
    border: 1px solid #c8c8c8;
    background: #f4f4f4;
}

.member-filter-main {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.member-filter-main label {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 11px;
    font-weight: bold;
}

.member-filter-main input,
.member-filter-main select {
    min-width: 130px;
}

.member-filter-main input[type=search] {
    min-width: 190px;
}

.member-az-index {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-wrap: wrap;
    margin: 6px 0 9px;
    font-size: 11px;
}

.member-az-index span {
    font-weight: bold;
    margin-right: 3px;
}

.member-az-index a {
    display: inline-block;
    min-width: 18px;
    padding: 3px 4px;
    text-align: center;
    border: 1px solid #bdbdbd;
    background: #fff;
    text-decoration: none;
}

.member-az-index a:hover,
.member-az-index a.active {
    background: #e8eef7;
    border-color: #8799b4;
}

.member-results-summary {
    margin: 0 0 7px;
    font-size: 11px;
    color: #666;
}

.member-discovery-table th a {
    color: inherit;
    text-decoration: none;
}

.member-discovery-table th a:hover {
    text-decoration: underline;
}

.member-avatar-heading,
.member-list-avatar {
    width: 54px;
    text-align: center;
}

.member-list-avatar img,
.member-avatar-placeholder {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    object-fit: cover;
    border: 1px solid #a9a9a9;
    background: #eee;
}

.member-avatar-placeholder {
    font-weight: bold;
    font-size: 15px;
    text-decoration: none;
    color: #555;
}

.member-list-name>div {
    display: flex;
    align-items: center;
    gap: 6px;
}

.online-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,.25);
    flex: 0 0 auto;
}

.online-dot.is-online {
    background: #43a047;
}

.online-dot.is-offline {
    background: #aaa;
}

.member-list-actions {
    white-space: nowrap;
    font-size: 11px;
}

.member-friend-form {
    margin: 0;
}

.link-button {
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--ib-link,#930303);
    text-decoration: underline;
    font: inherit;
    cursor: pointer;
}

.member-pagination {
    margin-top: 10px;
}

@media(max-width:700px) {
    .member-filter-main {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .member-filter-main label,
    .member-filter-main input,
    .member-filter-main select {
        min-width: 0;
        width: 100%;
    }

    .member-discovery-table {
        min-width: 940px;
    }
}

/* compact account-comfort controls. */
.registration-terms {
    max-height: 180px;
    overflow: auto;
    border: 1px solid var(--ib-border, #BEBEBE);
    background: var(--ib-surface-bg, #FFF);
    padding: 8px;
    margin: 0 0 8px;
    line-height: 1.45;
}

.account-help-links {
    margin-top: 10px;
}

/* topic navigation, posting comfort, attachments, polls and signatures. */
.improved-pagination {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-wrap: wrap;
    margin: 9px 0;
}

.improved-pagination a,
.improved-pagination strong,
.improved-pagination .page-ellipsis {
    display: inline-block;
    min-width: 20px;
    padding: 3px 6px;
    text-align: center;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-surface-bg,#fff);
    text-decoration: none;
}

.improved-pagination strong {
    background: var(--ib-secondary-bg,#eee);
}

.improved-pagination .page-ellipsis {
    border-color: transparent;
    background: transparent;
    min-width: auto;
}

.topic-navigation {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-top: 1px solid var(--ib-border,#bebebe);
    border-bottom: 1px solid var(--ib-border,#bebebe);
    margin-top: 8px;
}

.forum-jump {
    text-align: right;
    margin: 8px 0;
}

.forum-jump select {
    max-width: 310px;
}

.first-unread-link {
    font-size: 10px;
    margin-left: 4px;
    white-space: nowrap;
}

.post-preview {
    border: 1px solid var(--ib-border,#bebebe);
}

.post-preview .panel-title {
    margin: 0;
}

.post-preview .panel-body {
    min-height: 50px;
}

.multiquote-toggle.selected,
.multiquote-toggle[aria-pressed="true"] {
    font-weight: bold;
    background: var(--ib-secondary-bg,#eee);
    text-decoration: none;
    padding: 1px 3px;
    border: 1px solid var(--ib-border,#bebebe);
}

.image-action-button {
    display: inline-block;
    vertical-align: middle;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    line-height: 0;
}

.image-action-button img {
    display: block;
    max-width: none;
    border: 0;
}

.multiquote-reply {
    margin-left: 0;
}

.multiquote-reply.has-selection img {
    outline: 1px solid var(--ib-link,#930303);
    outline-offset: 1px;
}

.quote-selection,
.multiquote-toggle {
    font-size: 10px;
    margin-left: 4px;
}

.enhanced-poll .poll-title-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

.poll-summary {
    font-size: 10px;
    font-weight: normal;
}

.poll-instruction {
    margin-bottom: 6px;
}

.enhanced-poll .poll-option {
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-surface-bg,#fff);
    padding: 6px;
    margin: 4px 0;
}

.enhanced-poll .poll-option:hover {
    background: var(--ib-row-hover-bg,#fafafa);
}

.enhanced-attachments .attachment-title {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid var(--ib-border,#bebebe);
}

.enhanced-attachments .attachment-list {
    display: grid;
    gap: 6px;
}

.enhanced-attachments .attachment-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 5px;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-surface-bg,#fff);
}

.attachment-file-badge {
    flex: 0 0 42px;
    display: inline-block;
    text-align: center;
    padding: 5px 2px;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-secondary-bg,#eee);
    font-size: 9px;
    font-weight: bold;
}

.attachment-details {
    min-width: 0;
    flex: 1;
}

.enhanced-attachments .attachment-preview {
    display: block;
    margin-top: 5px;
    max-width: min(420px,100%);
    max-height: 260px;
}

.signature-editor {
    min-height: 110px;
}

.signature-preview {
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-postbit-bg,#f7f7f7);
    padding: 7px;
    margin-bottom: 8px;
}

.signature-preview>.signature {
    margin-top: 6px;
}

.signature-disabled-copy {
    padding: 7px;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-surface-bg,#fff);
}

.admin-signature-preview {
    margin: 5px 0 7px;
    max-width: 700px;
}

.signature .bbcode-image {
    max-width: 420px;
    max-height: 120px;
}

.signature {
    overflow-wrap: anywhere;
}

.signature blockquote {
    margin: 4px 0;
}

.signature pre {
    max-height: 120px;
    overflow: auto;
}

.topic-pages {
    font-size: 10px;
}

.topic-pages a {
    white-space: nowrap;
}

@media(max-width:700px) {
    .topic-navigation {
        display: block;
    }

    .topic-navigation>div+div {
        margin-top: 4px;
        text-align: right;
    }

    .forum-jump {
        text-align: left;
    }

    .forum-jump select {
        max-width: 75vw;
    }

    .enhanced-poll .poll-title-row {
        display: block;
    }

    .poll-summary {
        display: block;
        margin-top: 2px;
    }

    .posttools .quote-selection {
        display: none;
    }

    .enhanced-attachments .attachment-item {
        display: block;
    }

    .attachment-file-badge {
        margin-bottom: 4px;
    }

    .multiquote-reply {
        margin-top: 0;
    }
}

/* privacy/preference states */
.online-dot.is-private {
    background: #888;
    border-color: #666;
    opacity: .55;
}

.preferences-table th[colspan="2"] {
    text-align: left;
}

/* mobile certification corrections. Keep classic image buttons legible
   instead of scaling the 55x17 controls down to icon-sized slivers. */
@media (max-width: 760px) {
    .threadhead .posttools {
        width: 148px;
        white-space: normal;
        line-height: 1.8;
    }

    .posttools a,
    .posttools button {
        display: inline-block;
        vertical-align: middle;
    }

    .posttools img {
        max-width: none;
        width: auto;
        height: auto;
    }
}

@media (max-width: 430px) {
    .threadhead .posttools {
        width: 132px;
    }

    .posttools img {
        max-width: none;
        width: auto;
        height: auto;
    }

    .member-filter-main {
        grid-template-columns: 1fr;
    }
}

/* plugin developer/integration UI. */
.plugin-dev-card {
    margin: 8px 0;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-content-bg,#fff);
    padding: 7px;
    overflow-wrap: anywhere;
}

.plugin-dev-card h3 {
    margin: 0 0 6px;
    font-size: 11px;
}

.plugin-dev-card code {
    font-size: 10px;
}

.plugin-dev-card ul {
    margin: 4px 0 4px 18px;
    padding: 0;
}

@media(max-width:700px) {
    .plugin-dev-card {
        overflow-x: auto;
    }
}

/* plugin package/list tables keep the same geometry regardless of
   which action buttons happen to be available for a plugin row. */
.plugin-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.plugin-list-table,
.plugin-stage-table {
    table-layout: fixed;
    min-width: 900px;
}

.plugin-list-table .plugin-list-main {
    width: 43%;
}

.plugin-list-table .plugin-list-version {
    width: 8%;
}

.plugin-list-table .plugin-list-compat {
    width: 22%;
}

.plugin-list-table .plugin-list-status {
    width: 9%;
}

.plugin-list-table .plugin-list-actions {
    width: 18%;
}

.plugin-stage-table .plugin-stage-main {
    width: 31%;
}

.plugin-stage-table .plugin-stage-version {
    width: 11%;
}

.plugin-stage-table .plugin-stage-action {
    width: 21%;
}

.plugin-stage-table .plugin-stage-compat {
    width: 25%;
}

.plugin-stage-table .plugin-stage-controls {
    width: 12%;
}

.plugin-list-table td,
.plugin-list-table th,
.plugin-stage-table td,
.plugin-stage-table th {
    overflow-wrap: anywhere;
    word-break: normal;
}

.plugin-list-table code,
.plugin-stage-table code {
    overflow-wrap: anywhere;
}

.plugin-action-cell {
    vertical-align: top;
}

.plugin-actions,
.plugin-action-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

.plugin-action-form {
    margin: 0;
}

.plugin-actions .button {
    white-space: nowrap;
}

.plugin-remove-data {
    flex-basis: 100%;
    display: block;
}

.plugin-limit-table input[type="number"] {
    width: 92px;
}

@media (max-width: 760px) {
    .plugin-list-table,
    .plugin-stage-table {
        min-width: 840px;
    }
}

/* reports / moderator center */
.report-preview-table th,
.report-detail-table th {
    width: 180px;
    text-align: left;
}

.report-snapshot {
    border: 1px solid var(--ib-border);
    background: var(--ib-postbit-bg);
    padding: 10px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.report-filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: end;
    margin: 0 0 12px;
}

.report-filter-form label {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.report-status {
    font-weight: bold;
}

.report-status-open {
    color: #930303;
}

.report-status-in_progress {
    color: #8a5b00;
}

.report-status-resolved {
    color: #246324;
}

.report-status-dismissed {
    color: var(--ib-muted-text);
}

.report-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.report-note {
    border-bottom: 1px solid var(--ib-border);
    padding: 8px 0;
}

.report-note:last-of-type {
    border-bottom: 0;
}

@media(max-width:700px) {
    .report-filter-form label,
    .report-filter-form select,
    .report-filter-form input {
        width: 100%;
    }

    .report-list-table th:nth-child(4),
    .report-list-table td:nth-child(4) {
        display: none;
    }

    .report-preview-table th,
    .report-detail-table th {
        width: 120px;
    }
}

/* content approval and soft-delete safety */
.moderation-badge {
    display: inline-block;
    margin-left: 5px;
    padding: 1px 5px;
    border: 1px solid #a4a4a4;
    background: #efefef;
    font-size: 10px;
    font-weight: bold;
    line-height: 1.4;
    vertical-align: middle;
}

.topic-awaiting-approval td,
.post-awaiting-approval .post-message-cell {
    background: #fffbe8;
}

.topic-soft-deleted td,
.post-soft-deleted .post-message-cell {
    background: #f3f3f3;
}

.deleted-content-placeholder {
    padding: 10px;
    border: 1px dashed #aaa;
    background: #f6f6f6;
}

.deleted-content-placeholder .deleted-content-body {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #d0d0d0;
}

.moderation-tabs {
    margin-bottom: 8px;
}

.moderation-tabs a {
    padding: 3px 6px;
}

.moderation-tabs a.active {
    font-weight: bold;
    text-decoration: none;
}

.moderation-queue-table td {
    vertical-align: top;
}

@media (max-width: 700px) {
    .moderation-queue-table th:nth-child(5),
    .moderation-queue-table td:nth-child(5) {
        display: none;
    }
}

/* advanced topic moderation */
.moderation-summary {
    border: 1px solid var(--ib-border, #bebebe);
    background: var(--ib-secondary-bg, #eeeeee);
    padding: 8px 10px;
    margin-bottom: 10px;
}

.moderation-confirm {
    border-top: 1px solid var(--ib-border, #bebebe);
    padding-top: 10px;
    margin-top: 12px;
}

.moderation-split-table td {
    vertical-align: top;
}

.moderation-split-table td:last-child {
    min-width: 280px;
}

@media (max-width:760px) {
    .moderation-split-table td:last-child {
        min-width: 220px;
    }
}

/* staff UX / Mod CP consistency pass. */
.topic-action-area {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    min-width: 0;
}

.topic-page-position {
    font-size: 10px;
    color: var(--ib-muted-text,#555);
}

.topic-action-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    row-gap: 3px;
    font-size: 10px;
}

.topic-action-item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.topic-action-item+.topic-action-item::before {
    content: "|";
    margin: 0 5px;
    color: #888;
}

.topic-action-form {
    display: inline;
}

.topic-action-link {
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    color: var(--ib-link,#930303);
    font: inherit;
    line-height: 1.35;
    text-decoration: none;
    cursor: pointer;
}

.topic-action-link:hover {
    color: var(--ib-link-hover,#000);
    text-decoration: underline;
}

.topic-action-danger {
    font-weight: normal;
}

.threadhead>td {
    width: auto!important;
}

.post-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}

.post-header-title {
    min-width: 0;
    flex: 1;
    overflow-wrap: anywhere;
}

.threadhead .posttools {
    width: auto;
    max-width: 70%;
    flex: 0 1 auto;
    text-align: right;
}

.posttools {
    white-space: normal;
    line-height: 1.2;
}

.post-number-link {
    display: inline-block;
    vertical-align: middle;
    margin-right: 2px;
}

.post-action-button,
.post-action-form {
    display: inline-block;
    vertical-align: middle;
}

.post-action-button {
    width: 55px;
    height: 17px;
    padding: 0;
    margin: 0 0 0 2px;
    border: 0;
    background: transparent;
    line-height: 17px;
    cursor: pointer;
    text-decoration: none;
}

.post-action-button img {
    display: block;
    width: 55px;
    height: 17px;
    max-width: none;
    border: 0;
}

.post-action-button:focus-visible img {
    outline: 1px dotted #000;
    outline-offset: 1px;
}

.post-action-button.multiquote-toggle.selected,
.post-action-button.multiquote-toggle[aria-pressed="true"] {
    padding: 0;
    border: 0;
    background: transparent;
}

.post-action-button.multiquote-toggle.selected img,
.post-action-button.multiquote-toggle[aria-pressed="true"] img {
    outline: 1px solid #930303;
    outline-offset: 1px;
}

.threadbith {
    width: 190px!important;
    min-width: 190px;
    max-width: 190px;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: normal;
}

.threadbitl {
    width: auto!important;
    min-width: 0;
}

.threadbith .post-author {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.2;
}

.threadbith .post-author+br {
    display: none;
}

.modcp-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0 0 10px;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-secondary-bg,#eee);
}

.modcp-tabs a {
    display: block;
    padding: 5px 9px;
    border-right: 1px solid var(--ib-border,#bebebe);
    text-decoration: none;
    font-weight: bold;
}

.modcp-tabs a:last-child {
    border-right: 0;
}

.modcp-tabs a.active {
    background: var(--ib-surface-bg,#fff);
    color: var(--ib-text,#000);
}

.modcp-summary-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
    margin: 10px 0;
}

.modcp-summary-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 78px;
    padding: 9px;
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-surface-bg,#fff);
    text-decoration: none;
    color: var(--ib-text,#000);
}

.modcp-summary-card:hover {
    background: var(--ib-row-hover-bg,#fafafa);
    text-decoration: none;
}

.modcp-summary-card strong {
    color: var(--ib-link,#930303);
}

.modcp-summary-count {
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color: var(--ib-text,#000);
}

@media(max-width:900px) {
    .threadhead .posttools {
        width: auto;
        max-width: 76%;
    }

    .posttools {
        line-height: 1.55;
    }

    .topic-action-area {
        align-items: flex-start;
    }

    .actionbar .right.topic-action-area {
        text-align: left;
    }

    .topic-action-menu {
        justify-content: flex-start;
    }
}

@media(max-width:700px) {
    .modcp-summary-grid {
        grid-template-columns: 1fr;
    }

    .modcp-tabs a {
        flex: 1 1 auto;
        text-align: center;
    }

    .post-header-row {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .post-header-title {
        flex: 1 1 100%;
    }

    .threadhead .posttools {
        width: auto;
        max-width: 100%;
        flex: 1 1 100%;
        text-align: right;
    }

    .threadbith,
    .threadbitl {
        width: 100%!important;
        min-width: 0!important;
    }

    .post-action-button {
        margin-bottom: 2px;
    }

    .posttools .quote-selection {
        display: inline-block;
    }

    .topic-action-item+.topic-action-item::before {
        margin: 0 4px;
    }
}

@media(max-width:430px) {
    .threadhead .posttools {
        width: auto;
        max-width: 100%;
    }
}

/* core upgrader, protected backups, and topic-layout repair. */
.upgrade-detected-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.upgrade-shell h3,
.upgrade-shell h4 {
    margin-top: 0;
}

.upgrade-change-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
    margin: 12px 0;
}

.upgrade-change-grid section,
.upgrade-step {
    border: 1px solid var(--ib-border,#bebebe);
    background: var(--ib-surface-bg,#fff);
    padding: 10px;
}

.upgrade-step {
    margin-top: 10px;
}

.upgrade-step.complete {
    border-color: #8aac8a;
}

.upgrade-check-table .upgrade-ok {
    color: #246324;
}

.upgrade-check-table .upgrade-fail {
    color: #930303;
}

.upgrade-backup-actions {
    display: inline-block;
    margin-right: 8px;
}

.upgrade-external-backup {
    display: inline-block;
    margin-top: 6px;
}

.backup-create-form {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.backup-list-table td {
    vertical-align: top;
}

.notice.warning {
    background: #fff8d7;
    border-color: #d6b657;
}

@media(max-width:760px) {
    .upgrade-change-grid {
        grid-template-columns: 1fr;
    }

    .upgrade-detected-notice {
        display: block;
    }

    .upgrade-detected-notice .button {
        display: inline-block;
        margin-top: 6px;
    }

    .upgrade-external-backup {
        display: block;
        margin-top: 10px;
    }
}

/* enforce stable topic view author/content column widths with explicit table columns. */
.threadmainm col.threadcol-user {
    width: 190px;
}

.threadmainm col.threadcol-content {
    width: auto;
}

.threadbith {
    width: 190px!important;
    min-width: 190px!important;
    max-width: 190px;
}

.threadbitl {
    width: auto!important;
    min-width: 0;
}

@media(max-width:700px) {
    .threadmainm col.threadcol-user,
    .threadmainm col.threadcol-content {
        width: auto;
    }

    .threadbith {
        width: 100%!important;
        min-width: 0!important;
        max-width: none;
    }
}

/* testing fix pass: optional manually assigned secondary ranks. */
.secondary-user-rank {
    display: block;
    margin-top: 4px;
}

/* compact classic permission editor. */
.permission-groups {
    margin: 12px 0;
}

.permission-section {
    border: 1px solid var(--border,#b9b9b9);
    margin: 0 0 8px;
    background: var(--panel,#fff);
}

.permission-section summary {
    cursor: pointer;
    padding: 8px 10px;
    background: var(--panel-alt,#eee);
}

.permission-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(220px,1fr));
    gap: 4px 14px;
    padding: 10px;
}

.permission-check {
    display: block;
    padding: 3px 0;
}

@media(max-width:700px) {
    .permission-grid {
        grid-template-columns: 1fr;
    }
}

/* per-forum permission matrix */
.forum-permission-matrix th:first-child,
.forum-permission-matrix td:first-child {
    min-width: 150px;
    white-space: nowrap;
}

.forum-permission-matrix th:not(:first-child),
.forum-permission-matrix td:not(:first-child) {
    min-width: 145px;
    vertical-align: top;
}

.forum-permission-matrix select {
    max-width: 100%;
    width: 100%;
}

/*full classic visual refinement.
   This is intentionally an evolution of the original table-driven iBulletin
   look: stronger hierarchy, blue/silver separation, and gentler row contrast
   without changing the page-per-action layout or introducing modern chrome. */
html,
body {
    background-color: var(--ib-page-bg, #F6F9FC);
}

body {
    background-image: linear-gradient(to bottom, rgba(111, 152, 186, .07), rgba(255,255,255,0) 190px);
    background-attachment: fixed;
}

.maintable {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-board-bg, #E4EEF7);
    box-shadow: 0 0 0 1px rgba(255,255,255,.78) inset;
}

.logotable {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-surface-bg, #FFFDF9);
    background-image: linear-gradient(to bottom, rgba(255,255,255,.78), rgba(111,152,186,.08));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

.topnavtable {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-secondary-bg, #DCEAF5);
    background-image: linear-gradient(to bottom, rgba(255,255,255,.60), rgba(255,255,255,.08));
}

.topnavtable td {
    border-color: var(--ib-border, #9EB7CA);
}

/* Shared table/panel chrome used across the board, Member CP, Mod CP, plugins,
   authentication screens and the Admin CP. */
.outerforum,
.forummaint,
.threadmainm,
.data-table,
.form-table,
.panel-title,
.panel-body,
.forumnavt,
.breadcrumb,
.admin-nav,
.profile-hero,
.profile-box,
.profile-section,
.friend-card,
.search-post-results,
.poll-box,
.post-preview,
.plugin-dev-card,
.permission-section,
.modcp-summary-card {
    border-color: var(--ib-border, #9EB7CA);
}

.outerforum,
.forummaint,
.threadmainm,
.data-table,
.form-table,
.panel-body,
.profile-hero,
.profile-box,
.profile-section-body,
.friend-card,
.search-post-result,
.poll-box,
.post-preview,
.plugin-dev-card,
.permission-section,
.modcp-summary-card {
    background-color: var(--ib-surface-bg, #FFFDF9);
}

/* Major section bars. */
.catname.category-title,
.panel-title,
.admin-dashboard-box h3 {
    color: var(--ib-header-text, #FFFFFF);
    background-color: var(--ib-header-bg, #6F98BA);
    background-image: linear-gradient(to bottom, rgba(255,255,255,.18), rgba(255,255,255,0));
    border-color: var(--ib-border, #9EB7CA);
    font-weight: bold;
    text-shadow: 0 1px rgba(0,0,0,.16);
    box-shadow: inset 0 1px rgba(255,255,255,.26);
}

.catname.category-title a,
.panel-title a,
.admin-dashboard-box h3 a {
    color: var(--ib-header-text, #FFFFFF);
}

.catname.category-title a:hover,
.panel-title a:hover,
.admin-dashboard-box h3 a:hover {
    color: var(--ib-header-text, #FFFFFF);
}

.category-title {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* Column headers and secondary bars deliberately remain lighter than category
   bars so the old table hierarchy is easier to scan. */
.outerforum > tbody > tr:first-child > th,
.forummaint > tbody > tr:first-child > th,
.data-table th,
.form-table th,
.threadhead td,
.attachment-title,
.profile-section-title,
.profile-box-title,
.search-post-head,
.pm-summary,
.profile-jumpbar,
.permission-section summary,
.moderation-summary,
.bulk-moderation-bar {
    color: var(--ib-text, #14263A);
    background-color: var(--ib-secondary-bg, #DCEAF5);
    background-image: linear-gradient(to bottom, rgba(255,255,255,.55), rgba(255,255,255,.05));
    border-color: var(--ib-border, #9EB7CA);
    box-shadow: inset 0 1px rgba(255,255,255,.65);
}

.outerforum > tbody > tr:first-child > th,
.forummaint > tbody > tr:first-child > th,
.data-table th,
.form-table th {
    font-weight: bold;
}

/* Classic zebra separation. The warm surface color and cool alternate row make
   dense lists readable without turning iBulletin into a modern card layout. */
.outerforum tr.forum-row td,
.forummaint tr.topic-row td,
.data-table tbody tr:nth-child(odd) td,
.profile-comment-row:nth-child(odd),
.shoutbox-row:nth-child(odd) {
    background-color: var(--ib-surface-bg, #FFFDF9);
}

.outerforum tr.forum-row:nth-child(even) td,
.forummaint tr.topic-row:nth-child(even) td,
.data-table tbody tr:nth-child(even) td,
.profile-comment-row:nth-child(even),
.shoutbox-row:nth-child(even) {
    background-color: var(--ib-postbit-bg, #EEF5FA);
}

.outerforum tr.forum-row:hover td,
.forummaint tr.topic-row:hover td,
.data-table tbody tr:hover td,
.profile-comment-row:hover,
.shoutbox-row:hover {
    background-color: var(--ib-row-hover-bg, #E7F1F9);
}

/* Breadcrumbs and small navigation strips get their own subtle layer instead
   of visually disappearing into the surrounding board shell. */
.forumnavt,
.breadcrumb,
.admin-nav {
    background-color: var(--ib-surface-bg, #FFFDF9);
    background-image: linear-gradient(to bottom, rgba(255,255,255,.7), rgba(220,234,245,.45));
    border-color: var(--ib-border, #9EB7CA);
    box-shadow: inset 0 1px rgba(255,255,255,.8);
}

.breadcrumb {
    padding-top: 5px;
    padding-bottom: 5px;
}

.actionbar {
    padding: 3px 1px;
    border-bottom: 1px solid rgba(158,183,202,.55);
}

/* Forms and controls stay square/period-correct, but gain a clearer boundary. */
input,
textarea,
select {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-surface-bg, #FFFDF9);
    box-shadow: inset 0 1px 1px rgba(20,38,58,.06);
}

input:focus,
textarea:focus,
select:focus {
    outline: 1px solid var(--ib-header-bg, #6F98BA);
    outline-offset: 0;
    border-color: var(--ib-header-bg, #6F98BA);
}

input.button,
button.button,
.button {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-secondary-bg, #DCEAF5);
    background-image: linear-gradient(to bottom, rgba(255,255,255,.72), rgba(255,255,255,.04));
    box-shadow: inset 0 1px rgba(255,255,255,.7);
}

input.button:hover,
button.button:hover,
.button:hover {
    background-color: var(--ib-row-hover-bg, #E7F1F9);
}

.form-table td:first-child {
    background-color: var(--ib-postbit-bg, #EEF5FA);
    font-weight: normal;
}

.form-table tr + tr td {
    border-top-color: rgba(158,183,202,.72);
}

/* Topic/post presentation. */
.threadmainm {
    border-color: var(--ib-border, #9EB7CA);
}

.threadhead td {
    border-bottom-color: var(--ib-border, #9EB7CA);
}

.threadbith {
    background-color: var(--ib-postbit-bg, #EEF5FA);
    background-image: linear-gradient(to right, rgba(255,255,255,.42), rgba(255,255,255,0));
    border-color: var(--ib-border, #9EB7CA);
}

.threadbitl {
    background-color: var(--ib-surface-bg, #FFFDF9);
}

.postbody blockquote,
.postbody pre,
.signature-preview,
.post-attachments,
.attachment-upload,
.attachment-edit-list {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-postbit-bg, #EEF5FA);
}

.attachment-item {
    border-color: rgba(158,183,202,.75);
}

.topic-navigation {
    border-color: var(--ib-border, #9EB7CA);
    background: rgba(220,234,245,.32);
    padding-left: 6px;
    padding-right: 6px;
}

.pagination a,
.pagination strong,
.improved-pagination a,
.improved-pagination strong {
    border-color: var(--ib-border, #9EB7CA);
}

.pagination strong,
.improved-pagination strong {
    background-color: var(--ib-header-bg, #6F98BA);
    color: var(--ib-header-text, #FFFFFF);
}

/* Member directory, profiles, PMs, search, friends and User CP surfaces. */
.member-directory-filter,
.pm-summary,
.search-summary,
.profile-jumpbar,
.featured-profile-grid .friend-card,
.profile-hero-stats,
.profile-no-avatar {
    background-color: var(--ib-secondary-bg, #DCEAF5);
    border-color: var(--ib-border, #9EB7CA);
}

.member-az-index a {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-surface-bg, #FFFDF9);
}

.member-az-index a:hover,
.member-az-index a.active {
    background-color: var(--ib-header-bg, #6F98BA);
    color: var(--ib-header-text, #FFFFFF);
    border-color: var(--ib-header-bg, #6F98BA);
}

.profile-hero-stats > div {
    border-color: var(--ib-border, #9EB7CA);
}

.profile-hero-stats strong {
    background-color: var(--ib-secondary-bg, #DCEAF5);
}

.profile-facts > div,
.profile-favorites > div,
.profile-friends-label-secondary,
.profile-comment-meta,
.profile-comment-form,
.profile-comment,
.search-post-meta {
    border-color: rgba(158,183,202,.80);
}

.search-match {
    background: #FFF0A8;
}

/* Mod CP follows the same palette while keeping staff navigation distinct. */
.modcp-tabs {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-secondary-bg, #DCEAF5);
}

.modcp-tabs a {
    border-color: var(--ib-border, #9EB7CA);
}

.modcp-tabs a.active {
    background-color: var(--ib-header-bg, #6F98BA);
    color: var(--ib-header-text, #FFFFFF);
}

.modcp-tabs a.active:hover {
    color: var(--ib-header-text, #FFFFFF);
}

.modcp-summary-card {
    background-image: linear-gradient(to bottom, rgba(255,255,255,.64), rgba(220,234,245,.30));
}

.modcp-summary-card:hover {
    background-color: var(--ib-row-hover-bg, #E7F1F9);
}

.modcp-summary-count {
    color: var(--ib-text, #14263A);
}

.report-snapshot,
.deleted-content-placeholder {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-postbit-bg, #EEF5FA);
}

/* Admin CP: same visual language, with stronger tab/section hierarchy so the
   ACP feels intentional rather than like a collection of identical tables. */
.admin-ui .maintable {
    background-color: var(--ib-board-bg, #E4EEF7);
}

.admin-tabs {
    padding: 4px 5px 0;
    border-bottom: 2px solid var(--ib-header-bg, #6F98BA);
    background: rgba(255,255,255,.20);
}

.admin-tab {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-secondary-bg, #DCEAF5);
    background-image: linear-gradient(to bottom, rgba(255,255,255,.62), rgba(255,255,255,.05));
}

.admin-tab:hover {
    background-color: var(--ib-row-hover-bg, #E7F1F9);
}

.admin-tab.active {
    top: 0;
    border-color: var(--ib-header-bg, #6F98BA);
    background-color: var(--ib-header-bg, #6F98BA);
    background-image: linear-gradient(to bottom, rgba(255,255,255,.18), rgba(255,255,255,0));
    color: var(--ib-header-text, #FFFFFF);
}

.admin-tab.active:hover {
    color: var(--ib-header-text, #FFFFFF);
    text-decoration: none;
}

.admin-subnav {
    padding: 6px 8px;
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-secondary-bg, #DCEAF5);
    background-image: linear-gradient(to bottom, rgba(255,255,255,.48), rgba(255,255,255,.08));
}

.admin-subnav a.active {
    color: var(--ib-link, #A00000);
    text-decoration: underline;
}

.admin-dashboard-box {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-surface-bg, #FFFDF9);
    box-shadow: inset 0 1px rgba(255,255,255,.7);
}

.stat-grid td {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-surface-bg, #FFFDF9);
    background-image: linear-gradient(to bottom, rgba(255,255,255,.72), rgba(220,234,245,.28));
}

.stat-grid td:nth-child(even) {
    background-color: var(--ib-postbit-bg, #EEF5FA);
}

.stat-number {
    color: var(--ib-link, #A00000);
}

.admin-ui .permission-section summary {
    font-weight: bold;
}

.admin-ui .data-table tbody tr:hover td,
.admin-ui .form-table tr:hover td:not([colspan]) {
    border-color: var(--ib-border, #9EB7CA);
}

/* Installer and upgrader share the same core palette without changing their
   workflow or information density. */
.installer-wrap .panel-title,
.upgrade-shell .panel-title {
    font-weight: bold;
}

.upgrade-change-grid section,
.upgrade-step {
    border-color: var(--ib-border, #9EB7CA);
    background-color: var(--ib-surface-bg, #FFFDF9);
}

.upgrade-step.complete {
    border-color: var(--ib-success-border, #6F916F);
}

/* Footer now reads as a deliberate closing strip rather than disappearing into
   the board background. */
.footer {
    margin-top: 11px;
    padding: 8px 5px 5px;
    border-top: 1px solid var(--ib-border, #9EB7CA);
    background-image: linear-gradient(to bottom, rgba(220,234,245,.32), rgba(255,255,255,0));
}

@media (max-width: 760px) {
    .admin-tabs {
        padding-top: 3px;
    }

    .actionbar {
        border-bottom: 0;
    }

    .catname.category-title,
    .panel-title {
        text-shadow: none;
    }
}

/*long-content resilience and moderation queue sizing. */
.compact-username {
    display: inline-block;
    max-width: 100%;
    white-space: nowrap!important;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    overflow-wrap: normal!important;
    word-break: normal!important;
}

.lastcol,
.modcol,
.forummaint .startercol,
.threadbith {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.modcol a,
.lastcol a,
.forummaint .startercol a,
.post-author {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.post-author {
    display: inline-block;
    max-width: 100%;
}

.last-topic-title {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.moderation-queue-table {
    table-layout: fixed;
    min-width: 860px;
}

.moderation-queue-table col.queue-select-col {
    width: 34px;
}

.moderation-queue-table col.queue-type-col {
    width: 64px;
}

.moderation-queue-table col.queue-topic-col {
    width: auto;
}

.moderation-queue-table col.queue-member-col {
    width: 170px;
}

.moderation-queue-table col.queue-forum-col {
    width: 135px;
}

.moderation-queue-table col.queue-date-col {
    width: 132px;
}

.moderation-queue-table .queue-select {
    width: 34px;
    min-width: 34px;
    max-width: 34px;
    text-align: center;
    padding-left: 3px;
    padding-right: 3px;
}

.moderation-queue-table .queue-select input {
    margin: 0;
    vertical-align: middle;
}

.moderation-queue-table .queue-type {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.moderation-queue-table td:nth-child(4),
.moderation-queue-table th:nth-child(4) {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.upgrade-security-warning {
    margin: 7px 0;
    border-width: 2px;
}

.upgrade-cleanup-box {
    border: 1px solid var(--ib-error-border,#B75B5B);
    background: var(--ib-error-bg,#FFF2F2);
    padding: 9px;
    margin: 10px 0;
}

@media(max-width:760px) {
    .moderation-queue-table {
        min-width: 820px;
    }

    .moderation-queue-table col.queue-member-col {
        width: 150px;
    }

    .moderation-queue-table col.queue-forum-col {
        width: 125px;
    }
}