/*
 * iBulletin Evolution 0.5
 * Based on the iBulletin v2 HTML design kit.
 */
:root {
    --evo-red: #a52d30;
    --evo-red-dark: #7e2023;
    --evo-red-light: #c4474a;
    --evo-ink: #30353a;
    --evo-muted: #737b82;
    --evo-line: #cfd4d8;
    --evo-line-soft: #e0e4e7;
    --evo-soft: #f4f5f6;
    --evo-soft-2: #eceff1;
    --evo-white: #fff;
    --evo-shadow: 0 8px 30px rgba(32, 39, 44, .13);
}

html { background: #eef1f3; }
body.theme-evolution {
    margin: 0;
    color: var(--evo-ink);
    font: 14px/1.45 Arial, Helvetica, sans-serif;
    background: linear-gradient(#e9ecef, #f7f8f9 220px, #f3f4f5);
}
.theme-evolution * { box-sizing: border-box; }
.theme-evolution a { color: #9b2428; text-decoration: none; }
.theme-evolution a:hover { color: #7e2023; text-decoration: underline; }

.evo-board {
    max-width: 1420px;
    min-height: calc(100vh - 40px);
    margin: 14px auto 26px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #bfc6cb;
    border-radius: 10px;
    box-shadow: var(--evo-shadow);
}
.evo-masthead {
    min-height: 112px;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: linear-gradient(#fff, #f7f8f9);
    border-bottom: 1px solid #c9ced2;
}
.evo-brand { display: flex; align-items: center; gap: 12px; color: inherit !important; text-decoration: none !important; }
.evo-brand-mark {
    display: block;
    font: italic 900 82px/.7 Georgia, serif;
    color: var(--evo-red);
    transform: skew(-8deg);
    letter-spacing: -.08em;
}
.evo-brand-copy { display: flex; flex-direction: column; line-height: 1; }
.evo-brand-copy strong { font-weight: 900; letter-spacing: .08em; font-size: 27px; color: #101214; }
.evo-brand-copy small { margin-top: 5px; text-align: right; font-size: 10px; font-weight: 800; letter-spacing: .12em; color: #4c5358; }
.evo-brand-copy b { color: var(--evo-red); }
.evo-custom-logo { display: block; max-width: 420px; max-height: 82px; object-fit: contain; }
.evo-tagline { max-width: 480px; text-align: right; text-transform: uppercase; letter-spacing: .28em; font-size: 10px; color: #8a9095; }

.evo-userbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 39px;
    padding: 8px 18px;
    background: #fafafa;
    border-bottom: 1px solid #d2d7db;
    font-size: 12px;
}
.evo-userbar-account, .evo-staff-links { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.evo-staff-links a { font-weight: 700; }
.evo-badge { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: var(--evo-red); color: #fff; font-size: 10px; font-weight: 800; }
.theme-evolution .link-button { color: #9b2428; }

.evo-nav {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    overflow-x: auto;
    background: linear-gradient(#f7f8f9, #eceff1);
    border-bottom: 1px solid #c7ccd0;
}
.evo-nav a {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 13px 18px;
    color: #343a3f;
    font-weight: 700;
    white-space: nowrap;
    border-left: 1px solid #d8dcdf;
}
.evo-nav a.active, .evo-nav a:hover { background: linear-gradient(#b53a3e, #92282c); color: #fff; text-decoration: none; }
.evo-content { padding: 18px; }

/* Shared structure */
.theme-evolution .breadcrumb {
    margin: 0 0 12px;
    padding: 9px 12px;
    border: 1px solid #d2d7db;
    border-radius: 5px;
    background: #f7f8f9;
    color: #6d747a;
    font-size: 12px;
}
.theme-evolution .actionbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 8px 0 12px; }
.theme-evolution .right { margin-left: auto; text-align: right; }
.theme-evolution .muted, .theme-evolution .smalltext { color: #777f85; }
.theme-evolution .smalltext { font-size: 11px; }
.theme-evolution .panel-title,
.theme-evolution .catname,
.theme-evolution .category-title {
    margin: 0;
    padding: 9px 12px;
    color: #fff;
    font-weight: 800;
    background: linear-gradient(#b23a3e, #8b2629);
    border: 1px solid #812326;
    border-radius: 6px 6px 0 0;
}
.theme-evolution .panel-body {
    margin: 0 0 13px;
    padding: 14px;
    background: #fff;
    border: 1px solid #c9ced2;
    border-top: 0;
    border-radius: 0 0 6px 6px;
}
.theme-evolution .notice { margin: 0 0 12px; padding: 10px 12px; border: 1px solid #c8cdd1; border-radius: 4px; background: #f7f8f9; }
.theme-evolution .notice.success { background: #eef8f0; border-color: #a8cbae; color: #35683b; }
.theme-evolution .notice.error { background: #fff0f0; border-color: #d99b9b; color: #842d30; }
.theme-evolution .notice.warning { background: #fff8e7; border-color: #d9bd74; color: #725814; }

/* Buttons */
.theme-evolution .button,
.theme-evolution button.button,
.theme-evolution input.button,
.theme-evolution input[type="submit"] {
    display: inline-block;
    min-height: 32px;
    padding: 7px 12px;
    color: #fff !important;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    border: 1px solid #8c2528;
    border-radius: 4px;
    background: linear-gradient(#bd4145, #952a2d);
    box-shadow: inset 0 1px rgba(255,255,255,.24);
}
.theme-evolution .button:hover,
.theme-evolution input[type="submit"]:hover { background: linear-gradient(#c6494d, #842326); text-decoration: none; }
.theme-evolution .button.secondary { color: #3b4247 !important; border-color: #bbc1c6; background: linear-gradient(#fff, #e8ecef); }
.theme-evolution .button.danger { background: linear-gradient(#a52d30, #72191c); }

/* Tables */
.theme-evolution .table-scroll { overflow-x: auto; margin-bottom: 13px; border: 1px solid #c9ced2; border-radius: 6px; background: #fff; }
.theme-evolution table { border-collapse: collapse; }
.theme-evolution .outerforum,
.theme-evolution .forummaint,
.theme-evolution .form-table,
.theme-evolution .data-table,
.theme-evolution .pm-table,
.theme-evolution .member-table,
.theme-evolution .mod-table { width: 100%; margin: 0; border: 0; background: #fff; }
.theme-evolution .outerforum th,
.theme-evolution .forummaint th,
.theme-evolution .data-table th,
.theme-evolution .pm-table th,
.theme-evolution .member-table th,
.theme-evolution .mod-table th,
.theme-evolution .form-table th {
    padding: 8px 10px;
    text-align: left;
    color: #4c5358;
    background: #e9ecef;
    border: 0;
    border-bottom: 1px solid #cbd0d4;
}
.theme-evolution .outerforum td,
.theme-evolution .forummaint td,
.theme-evolution .data-table td,
.theme-evolution .pm-table td,
.theme-evolution .member-table td,
.theme-evolution .mod-table td,
.theme-evolution .form-table td { padding: 10px; border: 0; border-bottom: 1px solid #e0e3e6; vertical-align: top; }
.theme-evolution .outerforum tr:last-child td,
.theme-evolution .forummaint tr:last-child td,
.theme-evolution .data-table tr:last-child td { border-bottom: 0; }
.theme-evolution .outerforum tr.forum-row:hover td,
.theme-evolution .forummaint tr.topic-row:hover td,
.theme-evolution .data-table tbody tr:hover td { background: #fbf6f6; }
.theme-evolution .outerforum .catname { border: 0; border-radius: 0; }
.theme-evolution .iconcol, .theme-evolution .statuscol { text-align: center; }
.theme-evolution .countcol { text-align: center; white-space: nowrap; }
.theme-evolution .forum-status-icon { width: 32px; height: 32px; object-fit: contain; }
.theme-evolution .last-topic-title { font-weight: 700; }

/* Forms */
.theme-evolution .form-table td:first-child { width: 220px; font-weight: 700; background: #fafafa; }
.theme-evolution input[type="text"],
.theme-evolution input[type="email"],
.theme-evolution input[type="password"],
.theme-evolution input[type="url"],
.theme-evolution input[type="number"],
.theme-evolution input[type="date"],
.theme-evolution select,
.theme-evolution textarea {
    max-width: 100%;
    padding: 8px;
    color: #30353a;
    background: #fff;
    border: 1px solid #bfc6cb;
    border-radius: 4px;
    outline: none;
}
.theme-evolution input[type="text"]:focus,
.theme-evolution input[type="email"]:focus,
.theme-evolution input[type="password"]:focus,
.theme-evolution input[type="url"]:focus,
.theme-evolution select:focus,
.theme-evolution textarea:focus { border-color: #a52d30; box-shadow: 0 0 0 3px rgba(165,45,48,.09); }
.theme-evolution textarea { width: min(100%, 900px); }
.theme-evolution .composer { overflow: hidden; border: 1px solid #c5cbd0; border-radius: 5px; background: #fff; }
.theme-evolution .composer-tools { padding: 6px; background: #edf0f2; border-bottom: 1px solid #ccd1d5; }
.theme-evolution .composer-tools button { margin: 2px; padding: 4px 7px; border: 1px solid #c3c8cc; border-radius: 3px; background: #fff; color: #343a3f; }

/* Topic posts */
.theme-evolution .post,
.theme-evolution .posttable { overflow: hidden; margin-bottom: 13px; border: 1px solid #c8cdd1; border-radius: 6px; background: #fff; }
.theme-evolution .posthead,
.theme-evolution .post-header,
.theme-evolution .post .post-head { padding: 7px 10px; color: #fff; background: linear-gradient(#b13a3e, #8d272a); }
.theme-evolution .postbit { background: #f1f3f4; }
.theme-evolution .username { color: #93262a; font-weight: 900; }
.theme-evolution .signature { margin-top: 24px; padding-top: 10px; color: #6e767c; font-size: 12px; border-top: 1px dashed #cfd4d8; }
.theme-evolution blockquote { margin: 12px 0; padding: 10px 12px; background: #f7f8f9; border: 1px solid #d6dade; border-left: 4px solid #a52d30; }
.theme-evolution pre, .theme-evolution code { max-width: 100%; }
.theme-evolution pre { overflow: auto; padding: 12px; background: #25292d; color: #f2f4f5; border-radius: 5px; }

/* Pagination and utility navigation */
.theme-evolution .pagination { display: flex; gap: 5px; justify-content: flex-end; flex-wrap: wrap; }
.theme-evolution .pagination a, .theme-evolution .pagination span { padding: 5px 8px; border: 1px solid #c6cbd0; background: #fff; border-radius: 3px; }
.theme-evolution .pagination .current { color: #fff; background: #9c292c; border-color: #802124; }
.theme-evolution .admin-tabs,
.theme-evolution .admin-nav,
.theme-evolution .modcp-nav,
.theme-evolution .usercp-nav,
.theme-evolution .pm-nav { border: 1px solid #cbd0d4; border-radius: 5px; background: #f7f8f9; }
.theme-evolution .admin-tabs a,
.theme-evolution .admin-nav a,
.theme-evolution .modcp-nav a,
.theme-evolution .usercp-nav a,
.theme-evolution .pm-nav a { display: inline-block; padding: 9px 11px; }
.theme-evolution .admin-tabs a.active,
.theme-evolution .admin-nav a.active,
.theme-evolution .modcp-nav a.active,
.theme-evolution .usercp-nav a.active,
.theme-evolution .pm-nav a.active { color: #fff; background: #9d292c; font-weight: 800; }

/* Dashboards and cards */
.theme-evolution .stat-grid { width: 100%; margin-bottom: 14px; border-collapse: separate; border-spacing: 8px; }
.theme-evolution .stat-grid td { padding: 16px; text-align: center; background: #fafbfb; border: 1px solid #d4d8dc; border-radius: 6px; }
.theme-evolution .stat-number { font-size: 24px; font-weight: 900; color: #8d2427; }
.theme-evolution .admin-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.theme-evolution .admin-dashboard-box { padding: 14px; background: #fff; border: 1px solid #cbd0d4; border-radius: 6px; }
.theme-evolution .admin-dashboard-box h3 { margin: 0 0 8px; color: #8f2528; }
.theme-evolution .theme-description { margin-top: 8px; color: #737b82; font-size: 12px; }

/* Member / PM layouts inherited from current templates */
.theme-evolution .profile-card,
.theme-evolution .friend-card,
.theme-evolution .pm-sidebar,
.theme-evolution .settings-section { border: 1px solid #cbd0d4; border-radius: 6px; background: #fafafa; }
.theme-evolution .avatar img, .theme-evolution .profile-avatar img { max-width: 100%; height: auto; border-radius: 6px; }

.evo-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 15px 18px;
    color: #697178;
    font-size: 11px;
    background: linear-gradient(#fafbfb, #eef0f2);
    border-top: 1px solid #cdd2d6;
}
.evo-footer-links { display: flex; gap: 14px; flex-wrap: wrap; }
.evo-footer-meta { text-align: right; }
.theme-evolution .performance-footer { display: block; margin-top: 3px; }

/* Admin and moderator views get a subtle context cue without becoming a separate design. */
.theme-evolution.admin-ui .evo-nav,
.theme-evolution.mod-ui .evo-nav { box-shadow: inset 0 3px #a52d30; }

@media (max-width: 1000px) {
    .evo-board { margin: 0; border-width: 0; border-radius: 0; }
    .evo-masthead { min-height: 92px; }
    .evo-tagline { display: none; }
    .evo-nav { justify-content: flex-start; }
    .evo-content { padding: 12px; }
    .theme-evolution .admin-dashboard-grid { grid-template-columns: 1fr 1fr; }
    .theme-evolution .modcol, .theme-evolution .viewscol { display: none; }
}

@media (max-width: 680px) {
    .evo-masthead { padding: 14px 16px; }
    .evo-brand-mark { font-size: 60px; }
    .evo-brand-copy strong { font-size: 21px; }
    .evo-brand-copy small { font-size: 9px; }
    .evo-custom-logo { max-width: 280px; max-height: 62px; }
    .evo-userbar { align-items: flex-start; flex-direction: column; gap: 5px; }
    .evo-nav a { padding: 11px 13px; }
    .theme-evolution .actionbar, .evo-footer { align-items: stretch; flex-direction: column; }
    .evo-footer-meta { text-align: left; }
    .theme-evolution .admin-dashboard-grid { grid-template-columns: 1fr; }
    .theme-evolution .form-table td { display: block; width: 100% !important; }
    .theme-evolution .form-table td:first-child { border-bottom: 0; }
    .theme-evolution .lastcol, .theme-evolution .startercol { display: none; }
}

/* Evolution board index */
.theme-evolution .evo-category { margin-bottom: 13px; overflow: hidden; border: 1px solid #c9ced2; border-radius: 6px; background: #fff; }
.theme-evolution .evo-category-title,
.theme-evolution .evo-panel-title { display: flex; align-items: center; justify-content: space-between; padding: 9px 12px; color: #fff; font-weight: 800; background: linear-gradient(#b23a3e, #8b2629); }
.theme-evolution .evo-panel-title.gray { color: #42484d; background: linear-gradient(#f3f4f5, #e0e4e7); border-bottom: 1px solid #cbd0d4; }
.theme-evolution .evo-category-chevron { display: inline-block; margin-right: 4px; opacity: .8; }
.theme-evolution .evo-forum-scroll { margin: 0; border: 0; border-radius: 0; }
.theme-evolution .evo-forum-name { font-size: 14px; font-weight: 800; }
.theme-evolution .evo-forum-desc { margin-top: 2px; color: #747c82; font-size: 12px; font-style: italic; }
.theme-evolution .evo-last-title { font-weight: 800; }
.theme-evolution .evo-stats-panel { margin-top: 14px; overflow: hidden; border: 1px solid #c9ced2; border-radius: 6px; background: #fff; }
.theme-evolution .evo-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #d4d8dc; }
.theme-evolution .evo-stat { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; background: #fafbfb; }
.theme-evolution .evo-stat strong { color: #8d2427; font-size: 20px; line-height: 1.2; }
.theme-evolution .evo-stat strong a { color: inherit; }
.theme-evolution .evo-stat span { color: #697178; font-size: 11px; }
@media (max-width: 760px) { .theme-evolution .evo-stats-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .theme-evolution .evo-stats-grid { grid-template-columns: 1fr; } }

/* Pass 2: high-visibility page conversions */
.theme-evolution .evo-page-heading,
.theme-evolution .evo-compose-heading,
.theme-evolution .cp-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 14px;
    padding: 4px 2px 10px;
    border-bottom: 1px solid var(--evo-line-soft);
}
.theme-evolution .evo-page-heading h1,
.theme-evolution .evo-compose-heading h1,
.theme-evolution .cp-heading h1 {
    margin: 2px 0 0;
    color: #202428;
    font-size: clamp(22px, 3vw, 31px);
    line-height: 1.08;
    letter-spacing: -.025em;
}
.theme-evolution .evo-page-heading p,
.theme-evolution .evo-compose-heading p,
.theme-evolution .cp-heading p { max-width: 760px; margin: 7px 0 0; color: var(--evo-muted); }
.theme-evolution .evo-page-kicker { color: var(--evo-red); font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.theme-evolution .evo-topic-heading-meta { color: var(--evo-muted); font-size: 12px; white-space: nowrap; }
.theme-evolution .evo-primary-action { padding-inline: 15px; }
.theme-evolution .evo-topic-panel,
.theme-evolution .evo-compose-card { overflow: hidden; margin-bottom: 14px; border: 1px solid var(--evo-line); border-radius: 7px; background: #fff; }
.theme-evolution .evo-topic-panel .table-scroll { border: 0; border-radius: 0; margin: 0; }
.theme-evolution .evo-compose-card > .panel-title { border-width: 0 0 1px; border-radius: 0; }
.theme-evolution .evo-compose-card > .panel-body { margin: 0; border: 0; border-radius: 0; }
.theme-evolution .evo-compose-card .form-table { border: 1px solid var(--evo-line-soft); border-radius: 5px; overflow: hidden; }
.theme-evolution .evo-compose-card textarea#message-editor,
.theme-evolution .signature-editor { min-height: 260px; width: 100%; }
.theme-evolution .attachment-upload,
.theme-evolution .poll-create { margin: 14px 0 0; padding: 13px; border: 1px solid var(--evo-line-soft); border-radius: 5px; background: #fafbfb; }

/* Forum/topic list refinement */
.theme-evolution .forummaint .topic-row td { vertical-align: middle; }
.theme-evolution .forummaint .topic-row td:nth-child(3) > a:first-of-type { font-size: 14px; font-weight: 800; }
.theme-evolution .forummaint .topic-row.topic-unread { box-shadow: inset 3px 0 var(--evo-red); }
.theme-evolution .topic-pages { font-size: 10px; color: var(--evo-muted); }
.theme-evolution .first-unread-link,
.theme-evolution .moderation-badge { display: inline-block; margin-left: 5px; padding: 2px 5px; border-radius: 3px; font-size: 10px; font-weight: 800; }
.theme-evolution .first-unread-link { background: #f3e7e7; }
.theme-evolution .moderation-badge.pending { background: #fff1c9; color: #6d5210; }
.theme-evolution .moderation-badge.deleted { background: #f2dede; color: #7e2023; }
.theme-evolution .bulk-moderation-bar,
.theme-evolution .topic-icon-legend { margin: 10px 0; padding: 10px 12px; border: 1px solid var(--evo-line); border-radius: 5px; background: #f8f9fa; }
.theme-evolution .topic-icon-legend { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.theme-evolution .topic-icon-legend span { display: inline-flex; align-items: center; gap: 4px; }

/* Topic posts: translate the classic two-column table into the v2 card language. */
.theme-evolution .threadmainm {
    width: 100%;
    margin: 0 0 14px;
    border: 1px solid #c8cdd1;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 7px;
    overflow: hidden;
    background: #fff;
}
.theme-evolution .threadmainm .threadhead td { padding: 7px 10px; color: #fff; background: linear-gradient(#b13a3e,#8d272a); border: 0; }
.theme-evolution .post-header-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.theme-evolution .post-header-title { min-width: 0; }
.theme-evolution .posttools { display: flex; align-items: center; justify-content: flex-end; gap: 4px; flex-wrap: wrap; }
.theme-evolution .post-number-link { color: #fff; font-weight: 900; }
.theme-evolution .post-action-button { display: inline-flex; align-items: center; border-radius: 3px; overflow: hidden; opacity: .9; }
.theme-evolution .post-action-button:hover { opacity: 1; }
.theme-evolution .threadbith {
    width: 185px;
    padding: 14px;
    text-align: center;
    vertical-align: top;
    background: #f1f3f4;
    border: 0;
    border-right: 1px solid #d1d6da;
}
.theme-evolution .threadbitl { padding: 17px; vertical-align: top; border: 0; }
.theme-evolution .post-avatar { display: block; margin: 0 auto 9px; }
.theme-evolution .post-avatar img { display: block; width: 88px; height: 88px; margin: 0 auto; object-fit: cover; border: 1px solid #bfc5c9; border-radius: 7px; background: #fff; }
.theme-evolution .post-author { display: inline-block; margin-top: 2px; color: #93262a; font-size: 15px; font-weight: 900; }
.theme-evolution .custom-title { color: #656d73; font-size: 11px; }
.theme-evolution .postmeta { color: #777f85; font-size: 11px; }
.theme-evolution .threadbitl > .postmeta { margin-bottom: 12px; padding-bottom: 7px; border-bottom: 1px solid #eceeef; }
.theme-evolution .postbody { min-height: 110px; line-height: 1.6; }
.theme-evolution .post-soft-deleted { opacity: .87; }
.theme-evolution .post-awaiting-approval { box-shadow: inset 0 0 0 2px #d4a330; }
.theme-evolution .topic-action-menu { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.theme-evolution .topic-action-link { display: inline-flex; padding: 5px 7px; color: #555d63; border: 1px solid #ccd1d5; border-radius: 4px; background: #fff; font-size: 11px; font-weight: 700; }
.theme-evolution .topic-action-link:hover { color: #8d2427; text-decoration: none; border-color: #b8bec3; }
.theme-evolution .topic-action-danger { color: #9a282c; }
.theme-evolution .topic-primary-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.theme-evolution .poll-box { overflow: hidden; border: 1px solid var(--evo-line); border-radius: 7px; }
.theme-evolution .poll-result-row { display: grid; grid-template-columns: minmax(150px, 1.2fr) 2fr auto; gap: 10px; align-items: center; margin: 8px 0; }
.theme-evolution .poll-meter { height: 10px; overflow: hidden; border-radius: 99px; background: #e4e7e9; }
.theme-evolution .poll-meter span { display: block; height: 100%; background: linear-gradient(90deg,#b43b3f,#8f2528); }

/* Profile page */
.theme-evolution .member-profile .profile-hero { display: flex; gap: 18px; align-items: center; margin-bottom: 14px; padding: 18px; border: 1px solid var(--evo-line); border-radius: 7px; background: linear-gradient(135deg,#f7f8f9,#fff); }
.theme-evolution .profile-hero-main { display: flex; align-items: center; gap: 17px; flex: 1; min-width: 0; }
.theme-evolution .profile-hero-avatar img,
.theme-evolution .profile-no-avatar { width: 116px; height: 116px; object-fit: cover; border-radius: 8px; border: 1px solid #c4c9cd; background: #eef0f2; }
.theme-evolution .profile-no-avatar { display: grid; place-items: center; font-size: 40px; font-weight: 900; color: #92999f; }
.theme-evolution .profile-display-name { font-size: 26px; font-weight: 900; color: #272c30; }
.theme-evolution .profile-custom-title { margin-top: 3px; color: var(--evo-muted); }
.theme-evolution .profile-hero-stats { display: flex; gap: 18px; margin-top: 10px; color: #676f75; font-size: 12px; }
.theme-evolution .profile-hero-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.theme-evolution .profile-columns { display: grid; grid-template-columns: minmax(0,2fr) minmax(250px,1fr); gap: 14px; }
.theme-evolution .profile-box { overflow: hidden; margin-bottom: 14px; border: 1px solid var(--evo-line); border-radius: 7px; background: #fff; }
.theme-evolution .profile-box-title { padding: 8px 12px; color: #42484d; font-weight: 900; background: linear-gradient(#f3f4f5,#e0e4e7); border-bottom: 1px solid #cbd0d4; }
.theme-evolution .profile-box-body { padding: 14px; }
.theme-evolution .profile-facts > div { display: grid; grid-template-columns: 105px 1fr; gap: 8px; padding: 6px 0; border-bottom: 1px solid #eceeef; }
.theme-evolution .profile-facts > div:last-child { border-bottom: 0; }
.theme-evolution .profile-comment-row { display: grid; grid-template-columns: 54px 1fr; gap: 10px; padding: 11px 0; border-bottom: 1px solid #e5e8ea; }
.theme-evolution .profile-comment-mini-avatar img { width: 46px; height: 46px; object-fit: cover; border-radius: 5px; }
.theme-evolution .profile-comment-meta { margin-bottom: 4px; color: #747c82; font-size: 11px; }
.theme-evolution .profile-comment-compose { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--evo-line-soft); }
.theme-evolution .profile-comment-compose-title { margin-bottom: 8px; font-weight: 900; }
.theme-evolution .profile-comment-compose textarea { width: 100%; min-height: 90px; }
.theme-evolution .profile-friend-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.theme-evolution .profile-friend-tile { padding: 8px; text-align: center; border: 1px solid #e0e3e6; border-radius: 5px; background: #fafbfb; }
.theme-evolution .profile-friend-tile img { display: block; width: 50px; height: 50px; margin: 0 auto 5px; object-fit: cover; border-radius: 50%; }

/* Member Control Panel / PM experience */
.theme-evolution .membercp-shell { display: grid; grid-template-columns: 225px minmax(0,1fr); gap: 16px; align-items: start; }
.theme-evolution .membercp-side { position: sticky; top: 12px; overflow: hidden; border: 1px solid var(--evo-line); border-radius: 7px; background: #f7f8f9; }
.theme-evolution .membercp-user { padding: 15px; text-align: center; border-bottom: 1px solid var(--evo-line); background: #fff; }
.theme-evolution .membercp-user strong { display: block; margin-top: 7px; color: #8e2528; font-size: 15px; }
.theme-evolution .membercp-user > span { display: block; color: var(--evo-muted); font-size: 11px; }
.theme-evolution .membercp-avatar { width: 76px; height: 76px; margin: 0 auto; display: grid; place-items: center; overflow: hidden; border: 1px solid #c4c9cd; border-radius: 7px; background: linear-gradient(135deg,#dde1e4,#fff); color: #8f969b; font-size: 28px; font-weight: 900; }
.theme-evolution .membercp-avatar img { width: 100%; height: 100%; object-fit: cover; }
.theme-evolution .membercp-nav { border: 0; border-radius: 0; background: transparent; }
.theme-evolution .membercp-nav-title { padding: 8px 11px; color: #5d656b; background: #e7eaed; border-top: 1px solid #d5dade; border-bottom: 1px solid #d1d6da; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.theme-evolution .membercp-nav-title:first-child { border-top: 0; }
.theme-evolution .membercp-nav a { display: block; padding: 9px 11px; color: #444b50; border-bottom: 1px solid #e2e5e7; }
.theme-evolution .membercp-nav a:hover { color: #8e2528; text-decoration: none; background: #fff; }
.theme-evolution .membercp-main { min-width: 0; }
.theme-evolution .membercp-main > .panel-title { border-radius: 6px 6px 0 0; }
.theme-evolution .membercp-main > .panel-body { margin-bottom: 14px; }
.theme-evolution .cp-heading-actions { display: flex; gap: 7px; }
.theme-evolution .pm-cp-shell .membercp-side { position: static; }
.theme-evolution .pm-summary { margin-bottom: 10px; padding: 9px 11px; border: 1px solid #d9dde0; border-radius: 4px; background: #f7f8f9; color: #626a70; }
.theme-evolution .pm-message-meta { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; }
.theme-evolution .pm-friend-shortcut { margin-top: 7px; }
.theme-evolution .pm-block-list { display: grid; gap: 6px; padding: 0; list-style: none; }
.theme-evolution .pm-block-list li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 1px solid #e0e3e6; border-radius: 4px; background: #fafbfb; }

@media (max-width: 900px) {
    .theme-evolution .membercp-shell,
    .theme-evolution .profile-columns { grid-template-columns: 1fr; }
    .theme-evolution .membercp-side { position: static; }
    .theme-evolution .membercp-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .theme-evolution .membercp-nav-title { grid-column: 1 / -1; }
    .theme-evolution .membercp-user { display: none; }
    .theme-evolution .threadmainm colgroup { display: none; }
    .theme-evolution .threadmainm tr:not(.threadhead) { display: grid; grid-template-columns: 150px minmax(0,1fr); }
    .theme-evolution .threadbith { width: auto; }
}
@media (max-width: 640px) {
    .theme-evolution .evo-page-heading,
    .theme-evolution .evo-compose-heading,
    .theme-evolution .cp-heading { align-items: flex-start; flex-direction: column; }
    .theme-evolution .member-profile .profile-hero,
    .theme-evolution .profile-hero-main { align-items: flex-start; flex-direction: column; }
    .theme-evolution .profile-hero-actions { justify-content: flex-start; }
    .theme-evolution .profile-friend-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .theme-evolution .membercp-nav { grid-template-columns: 1fr; }
    .theme-evolution .threadmainm tr:not(.threadhead) { grid-template-columns: 1fr; }
    .theme-evolution .threadbith { border-right: 0; border-bottom: 1px solid #d1d6da; text-align: left; }
    .theme-evolution .threadbith .post-avatar { display: inline-block; margin: 0 9px 0 0; vertical-align: middle; }
    .theme-evolution .threadbith .post-avatar img { width: 50px; height: 50px; }
    .theme-evolution .poll-result-row { grid-template-columns: 1fr; }
}

/* Pass 3: discovery, account entry, edit tools and staff workspaces */
.theme-evolution .evo-directory-card,
.theme-evolution .evo-staff-panel {
    overflow: hidden;
    margin-bottom: 14px;
    border: 1px solid var(--evo-line);
    border-radius: 7px;
    background: #fff;
}
.theme-evolution .evo-directory-card > .panel-title,
.theme-evolution .evo-staff-panel > .panel-title { border: 0; border-radius: 0; }
.theme-evolution .evo-directory-card > .panel-body,
.theme-evolution .evo-staff-panel > .panel-body { margin: 0; border: 0; border-radius: 0; }

/* Search */
.theme-evolution .evo-search-card .form-table { margin-bottom: 10px; }
.theme-evolution .search-summary {
    margin: 15px 0 10px;
    padding: 10px 12px;
    color: #596168;
    border: 1px solid #d9dde0;
    border-radius: 5px;
    background: #f7f8f9;
}
.theme-evolution .search-post-results { display: grid; gap: 10px; }
.theme-evolution .search-post-result {
    padding: 13px 14px;
    border: 1px solid #d6dade;
    border-radius: 6px;
    background: linear-gradient(#fff,#fbfcfc);
}
.theme-evolution .search-post-head { margin-bottom: 5px; font-size: 14px; font-weight: 800; }
.theme-evolution .search-post-meta { margin-bottom: 8px; color: #7a8288; font-size: 11px; }
.theme-evolution .search-post-excerpt { color: #454c51; line-height: 1.55; }

/* Member discovery */
.theme-evolution .member-directory-filter { margin-bottom: 12px; }
.theme-evolution .member-filter-main {
    display: grid;
    grid-template-columns: minmax(220px,1.6fr) repeat(3,minmax(130px,.7fr)) auto auto;
    gap: 9px;
    align-items: end;
}
.theme-evolution .member-filter-main label { display: grid; gap: 4px; color: #656d73; font-size: 11px; font-weight: 800; }
.theme-evolution .member-filter-main input,
.theme-evolution .member-filter-main select { width: 100%; }
.theme-evolution .member-az-index {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    margin: 10px 0;
    padding: 9px;
    border: 1px solid #d9dde0;
    border-radius: 5px;
    background: #f7f8f9;
}
.theme-evolution .member-az-index a { min-width: 26px; padding: 4px 6px; text-align: center; border-radius: 3px; }
.theme-evolution .member-az-index a.active { color: #fff; background: var(--evo-red); }
.theme-evolution .member-results-summary { margin: 8px 0; color: var(--evo-muted); font-size: 11px; }
.theme-evolution .member-list-avatar img,
.theme-evolution .member-avatar-placeholder {
    width: 48px;
    height: 48px;
    display: inline-grid;
    place-items: center;
    object-fit: cover;
    border: 1px solid #c7ccd0;
    border-radius: 50%;
    background: #eef0f2;
    font-weight: 900;
}
.theme-evolution .member-list-name { min-width: 170px; }
.theme-evolution .online-dot { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: #aab0b5; }
.theme-evolution .online-dot.is-online { background: #4b9b58; box-shadow: 0 0 0 2px rgba(75,155,88,.12); }
.theme-evolution .online-dot.is-private { background: #c7a35a; }
.theme-evolution .member-list-actions { white-space: nowrap; }

/* Friends + subscriptions */
.theme-evolution .friends-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.theme-evolution .friend-card {
    padding: 13px;
    text-align: center;
    border: 1px solid #d2d6da;
    border-radius: 6px;
    background: linear-gradient(#fff,#f8f9fa);
}
.theme-evolution .friend-card img { width: 68px; height: 68px; object-fit: cover; border-radius: 50%; border: 1px solid #c5cacf; }
.theme-evolution .featured-position { color: var(--evo-red); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.theme-evolution .featured-controls { margin-top: 7px; }
.theme-evolution .subscription-new td:first-child { box-shadow: inset 3px 0 var(--evo-red); }
.theme-evolution .subscription-method-form { display: inline-flex; gap: 5px; align-items: center; }

/* Login / Register */
.theme-evolution .evo-auth-shell {
    max-width: 920px;
    margin: 28px auto 42px;
    display: grid;
    grid-template-columns: minmax(240px,.8fr) minmax(390px,1.2fr);
    overflow: hidden;
    border: 1px solid #c7ccd0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(34,40,45,.12);
}
.theme-evolution .evo-auth-intro {
    padding: 34px 30px;
    color: #fff;
    background: linear-gradient(145deg,#a93337,#742125);
}
.theme-evolution .evo-auth-intro .evo-page-kicker { color: #f1c7c9; }
.theme-evolution .evo-auth-intro h1 { margin: 7px 0 10px; color: #fff; font-size: 32px; line-height: 1.05; }
.theme-evolution .evo-auth-intro p { margin: 0; color: #f3dfe0; line-height: 1.6; }
.theme-evolution .evo-auth-card { min-width: 0; }
.theme-evolution .evo-auth-card > .panel-title { border: 0; border-radius: 0; background: linear-gradient(#f2f4f5,#e5e8ea); color: #3c4348; }
.theme-evolution .evo-auth-card > .panel-body { margin: 0; border: 0; border-radius: 0; padding: 22px; }
.theme-evolution .evo-auth-card .form-table td:first-child { width: 155px; }
.theme-evolution .evo-auth-card input[type="text"],
.theme-evolution .evo-auth-card input[type="email"],
.theme-evolution .evo-auth-card input[type="password"] { width: 100%; }
.theme-evolution .account-help-links { margin-top: 14px; }
.theme-evolution .registration-terms { max-height: 180px; overflow: auto; margin-bottom: 8px; padding: 10px; border: 1px solid #d8dde0; border-radius: 4px; background: #f8f9fa; }

/* Staff workspaces */
.theme-evolution .evo-staff-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 13px 0 14px;
    padding: 17px 18px;
    border: 1px solid #cbd0d4;
    border-radius: 7px;
    background: linear-gradient(120deg,#f7f8f9,#fff);
}
.theme-evolution .evo-staff-heading h1 { margin: 3px 0 5px; color: #24292d; font-size: 26px; }
.theme-evolution .evo-staff-heading p { max-width: 760px; margin: 0; color: var(--evo-muted); }
.theme-evolution .evo-staff-chip { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #d2d6d9; border-radius: 99px; background: #fff; color: #626a70; font-size: 11px; font-weight: 800; }
.theme-evolution .admin-tabs,
.theme-evolution .modcp-tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    margin: 0 0 0;
    border: 1px solid #bec4c9;
    border-radius: 7px 7px 0 0;
    background: linear-gradient(#f5f6f7,#e7eaec);
}
.theme-evolution .admin-tabs a,
.theme-evolution .modcp-tabs a {
    padding: 10px 14px;
    color: #42494e;
    font-weight: 800;
    white-space: nowrap;
    border-right: 1px solid #d1d6da;
}
.theme-evolution .admin-tabs a.active,
.theme-evolution .modcp-tabs a.active { color: #fff; background: linear-gradient(#b13a3e,#8a2529); }
.theme-evolution .admin-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 13px;
    padding: 7px;
    border: 1px solid #cbd0d4;
    border-top: 0;
    border-radius: 0 0 7px 7px;
    background: #f8f9fa;
}
.theme-evolution .admin-subnav a { padding: 5px 8px; border-radius: 4px; color: #5a6268; font-size: 11px; font-weight: 700; }
.theme-evolution .admin-subnav a.active { color: #8f2528; background: #fff; box-shadow: inset 0 0 0 1px #d9dde0; }
.theme-evolution .modcp-summary-grid,
.theme-evolution .admin-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
    margin: 12px 0;
}
.theme-evolution .modcp-summary-card,
.theme-evolution .admin-dashboard-box {
    display: flex;
    flex-direction: column;
    min-height: 118px;
    padding: 14px;
    border: 1px solid #d1d6da;
    border-radius: 6px;
    background: linear-gradient(#fff,#f7f8f9);
}
.theme-evolution .modcp-summary-card:hover,
.theme-evolution .admin-dashboard-box:hover { text-decoration: none; border-color: #b7bdc2; box-shadow: 0 5px 14px rgba(41,48,53,.07); }
.theme-evolution .modcp-summary-card strong,
.theme-evolution .admin-dashboard-box h3 { margin: 0 0 7px; color: #8f2528; font-size: 15px; }
.theme-evolution .modcp-summary-card > span:last-child { color: #71797f; font-size: 11px; }
.theme-evolution .modcp-summary-count { margin: auto 0 5px; color: #2f3539; font-size: 27px; font-weight: 900; }
.theme-evolution .admin-dashboard-box p { margin: 0; line-height: 1.75; }
.theme-evolution .stat-grid { width: 100%; margin-bottom: 12px; border-collapse: separate; border-spacing: 8px 0; }
.theme-evolution .stat-grid td { padding: 14px; text-align: center; border: 1px solid #d1d6da; border-radius: 6px; background: #fafbfb; }
.theme-evolution .stat-number { color: #8f2528; font-size: 25px; font-weight: 900; }
.theme-evolution .report-filter-form { display: flex; flex-wrap: wrap; gap: 9px; align-items: end; margin-bottom: 13px; padding: 10px; border: 1px solid #d9dde0; border-radius: 5px; background: #f7f8f9; }
.theme-evolution .report-filter-form label { display: grid; gap: 3px; color: #676f75; font-size: 11px; font-weight: 800; }
.theme-evolution .report-status { display: inline-flex; padding: 3px 6px; border-radius: 99px; background: #e8ebed; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.theme-evolution .report-status-open { color: #8a2529; background: #f4dfdf; }
.theme-evolution .report-status-resolved { color: #35683b; background: #e1f0e3; }

@media (max-width: 1050px) {
    .theme-evolution .member-filter-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .theme-evolution .modcp-summary-grid,
    .theme-evolution .admin-dashboard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .theme-evolution .evo-auth-shell { grid-template-columns: 1fr; margin-top: 10px; }
    .theme-evolution .evo-auth-intro { padding: 22px; }
    .theme-evolution .evo-staff-heading { align-items: flex-start; flex-direction: column; }
    .theme-evolution .friends-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
    .theme-evolution .member-filter-main,
    .theme-evolution .modcp-summary-grid,
    .theme-evolution .admin-dashboard-grid,
    .theme-evolution .friends-grid { grid-template-columns: 1fr; }
    .theme-evolution .evo-auth-card .form-table td:first-child { width: 100%; }
    .theme-evolution .subscription-method-form { align-items: stretch; flex-direction: column; }
}

/* --------------------------------------------------------------------------
   Evolution Pass 4 — staff detail workspaces + dense UI refinement
   -------------------------------------------------------------------------- */
.theme-evolution .evo-detail-heading {
    margin-top: 10px;
    padding: 18px 20px;
    background:
        radial-gradient(circle at 94% 20%, rgba(169,51,55,.08), transparent 26%),
        linear-gradient(120deg,#fafbfb,#fff);
}
.theme-evolution .evo-detail-heading h1 { font-size: 24px; letter-spacing: -.015em; }
.theme-evolution .evo-detail-heading .evo-page-kicker { color: #9b2f33; }
.theme-evolution .admin-ui .evo-content,
.theme-evolution .mod-ui .evo-content { max-width: 1320px; }

/* Panels become clearer workspace modules on staff pages. */
.theme-evolution .admin-ui .panel-title,
.theme-evolution .mod-ui .panel-title {
    margin-top: 13px;
    padding: 10px 13px;
    border: 1px solid #c8cdd1;
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
    background: linear-gradient(#f4f6f7,#e5e8ea);
    color: #3f464b;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .025em;
}
.theme-evolution .admin-ui .panel-body,
.theme-evolution .mod-ui .panel-body {
    margin-bottom: 13px;
    border-color: #c8cdd1;
    border-radius: 0 0 6px 6px;
    background: #fff;
}
.theme-evolution .admin-ui .panel-body > :first-child,
.theme-evolution .mod-ui .panel-body > :first-child { margin-top: 0; }
.theme-evolution .admin-ui .panel-body > :last-child,
.theme-evolution .mod-ui .panel-body > :last-child { margin-bottom: 0; }

/* Dense forms: clearer labels, generous controls and visible section dividers. */
.theme-evolution .evo-form-table { border-collapse: separate; border-spacing: 0; }
.theme-evolution .evo-form-table > tbody > tr > td,
.theme-evolution .evo-form-table > tr > td { padding: 10px 12px; border-bottom: 1px solid #edf0f2; vertical-align: top; }
.theme-evolution .evo-form-table > tbody > tr > td:first-child,
.theme-evolution .evo-form-table > tr > td:first-child {
    width: 27%;
    color: #4b5358;
    font-weight: 800;
    background: #fafbfb;
}
.theme-evolution .evo-form-table th {
    padding: 9px 12px;
    color: #8d292d;
    border-top: 1px solid #d9dde0;
    border-bottom: 1px solid #d9dde0;
    background: #f4f5f6;
    text-align: left;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.theme-evolution .evo-form-table input[type="text"],
.theme-evolution .evo-form-table input[type="email"],
.theme-evolution .evo-form-table input[type="url"],
.theme-evolution .evo-form-table input[type="password"],
.theme-evolution .evo-form-table input[type="number"],
.theme-evolution .evo-form-table select,
.theme-evolution .evo-form-table textarea { max-width: 100%; }
.theme-evolution .evo-form-table textarea { min-height: 92px; resize: vertical; }
.theme-evolution .evo-form-table .smalltext { display: inline-block; margin-top: 4px; line-height: 1.45; }

/* Data grids: stronger header, zebra rhythm and action clarity. */
.theme-evolution .evo-data-table,
.theme-evolution .admin-ui .data-table,
.theme-evolution .mod-ui .data-table { border-collapse: separate; border-spacing: 0; overflow: hidden; }
.theme-evolution .admin-ui .data-table th,
.theme-evolution .mod-ui .data-table th {
    padding: 9px 10px;
    background: #eceff1;
    color: #4b5358;
    border-bottom: 1px solid #cbd0d4;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.theme-evolution .admin-ui .data-table td,
.theme-evolution .mod-ui .data-table td { padding: 10px; border-bottom-color: #e6e9eb; }
.theme-evolution .admin-ui .data-table tr:nth-child(even) td,
.theme-evolution .mod-ui .data-table tr:nth-child(even) td { background: #fbfcfc; }
.theme-evolution .admin-ui .data-table tr:hover td,
.theme-evolution .mod-ui .data-table tr:hover td { background: #f6f8f9; }
.theme-evolution .admin-ui .data-table .button,
.theme-evolution .mod-ui .data-table .button { padding: 5px 9px; font-size: 10px; }

/* Settings: section headers stay visually anchored in a very long form. */
.theme-evolution.page-admin_settings .evo-form-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    box-shadow: 0 1px 0 #d9dde0;
}
.theme-evolution.page-admin_settings .panel-body > form > .evo-form-table { max-width: 1120px; }

/* Forums: make structure management read like a hierarchy rather than raw tables. */
.theme-evolution.page-admin_forums .data-table td:first-child strong,
.theme-evolution.page-admin_forums .data-table td:first-child a { font-weight: 900; }
.theme-evolution.page-admin_forums .data-table tr:hover td:first-child { box-shadow: inset 3px 0 #a93337; }
.theme-evolution.page-admin_forums .evo-form-table { max-width: 980px; }

/* Members and groups */
.theme-evolution.page-admin_members .admin-member-table td:first-child { min-width: 180px; }
.theme-evolution.page-admin_members .admin-member-table td:last-child { width: 1%; white-space: nowrap; }
.theme-evolution.page-admin_usergroups .data-table td:first-child { font-weight: 800; }
.theme-evolution.page-admin_permissions .notice.success { margin: 12px 0; }

/* Plugin manager gets recognizable package cards / safer dense tables. */
.theme-evolution.page-admin_plugins #package-limits + .panel-body,
.theme-evolution.page-admin_plugins #staged-packages + .panel-body {
    background: linear-gradient(180deg,#fff,#fbfcfc);
}
.theme-evolution.page-admin_plugins .plugin-stage-table td:first-child,
.theme-evolution.page-admin_plugins .plugin-list-table td:first-child { min-width: 190px; font-weight: 800; }
.theme-evolution.page-admin_plugins .plugin-limit-table td:first-child { width: 240px; color: #5d656b; font-weight: 800; }
.theme-evolution.page-admin_plugins code {
    padding: 2px 5px;
    border: 1px solid #e0e3e5;
    border-radius: 3px;
    background: #f7f8f9;
}

/* Backup/recovery pages deserve more obvious dangerous and safe actions. */
.theme-evolution.page-admin_backups .backup-list-table td:first-child { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: 11px; }
.theme-evolution.page-admin_backups .backup-list-table td:last-child { min-width: 190px; }
.theme-evolution.page-admin_backups .notice.success { border-left: 4px solid #4b9456; }
.theme-evolution.page-admin_backups .notice.error { border-left: 4px solid #a93337; }

/* Maintenance and safety tooling. */
.theme-evolution.page-admin_maintenance .evo-form-table td:first-child { width: 34%; }
.theme-evolution.page-admin_maintenance .panel-body form + form { margin-top: 8px; }
.theme-evolution.page-admin_bans .data-table + h3,
.theme-evolution.page-admin_bans h3 { margin-top: 18px; color: #3f464b; }

/* Smilies: keep controls compact while the preview remains prominent. */
.theme-evolution.page-admin_smilies .smilie-admin-table img { max-width: 38px; max-height: 38px; }
.theme-evolution.page-admin_smilies .smilie-admin-table td:first-child { width: 60px; text-align: center; }

/* Moderation queue/reports/warnings/discipline. */
.theme-evolution .mod-ui .breadcrumb { margin-bottom: 8px; padding: 7px 9px; border: 1px solid #dde1e3; border-radius: 4px; background: #fafbfb; }
.theme-evolution.page-modqueue .moderation-queue-table td:first-child { width: 92px; }
.theme-evolution.page-modqueue .moderation-queue-table td:nth-child(2) { min-width: 240px; }
.theme-evolution.page-modreport .report-detail-table td:first-child { width: 180px; color: #555e64; font-weight: 800; background: #fafbfb; }
.theme-evolution.page-modreport #notes + .panel-body { background: #fffdf8; }
.theme-evolution.page-modwarnings .warning-filter-form {
    display: grid;
    grid-template-columns: repeat(4,minmax(130px,1fr)) auto;
    gap: 9px;
    align-items: end;
    padding: 11px;
    margin-bottom: 10px;
    border: 1px solid #d9dde0;
    border-radius: 5px;
    background: #f7f8f9;
}
.theme-evolution.page-modwarnings .warning-filter-form label { display: grid; gap: 4px; color: #646c72; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.theme-evolution.page-modwarnings .warning-history-table td:nth-child(4) { font-weight: 800; }
.theme-evolution.page-moddiscipline .panel-body > h3 {
    margin: 20px 0 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #e0e3e5;
    color: #4a5156;
    font-size: 13px;
}
.theme-evolution.page-moddiscipline .panel-body > h3:first-of-type { margin-top: 12px; }
.theme-evolution.page-moddiscipline form input[name="revoke_reason"] { min-width: 170px; }
.theme-evolution.page-modlogs .evo-form-table { max-width: 1000px; }

/* Pagination becomes a compact, consistent control throughout Evolution. */
.theme-evolution .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    margin: 14px 0 4px;
}
.theme-evolution .pagination a,
.theme-evolution .pagination strong,
.theme-evolution .pagination > span {
    min-width: 30px;
    padding: 5px 8px;
    border: 1px solid #ccd1d5;
    border-radius: 4px;
    background: #fff;
    text-align: center;
    font-size: 11px;
}
.theme-evolution .pagination a:hover { background: #f3f5f6; text-decoration: none; }
.theme-evolution .pagination strong { color: #fff; border-color: #8e272b; background: #9f3034; }

/* More tactile controls, still restrained enough to fit the classic iBulletin DNA. */
.theme-evolution .button,
.theme-evolution button.button,
.theme-evolution input[type="submit"] {
    box-shadow: 0 1px 1px rgba(0,0,0,.05);
    transition: border-color .12s ease, background .12s ease, transform .12s ease;
}
.theme-evolution .button:hover,
.theme-evolution button.button:hover,
.theme-evolution input[type="submit"]:hover { transform: translateY(-1px); }
.theme-evolution input:focus,
.theme-evolution select:focus,
.theme-evolution textarea:focus {
    outline: 2px solid rgba(169,51,55,.16);
    outline-offset: 1px;
    border-color: #b96669;
}

/* Narrow screens: preserve information density without forcing desktop layouts. */
@media (max-width: 900px) {
    .theme-evolution.page-modwarnings .warning-filter-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .theme-evolution .admin-ui .panel-body > .data-table,
    .theme-evolution .mod-ui .panel-body > .data-table { display: block; overflow-x: auto; white-space: nowrap; }
    .theme-evolution .admin-ui .panel-body > .data-table td,
    .theme-evolution .mod-ui .panel-body > .data-table td { white-space: normal; }
}
@media (max-width: 640px) {
    .theme-evolution .evo-detail-heading { padding: 14px; }
    .theme-evolution .evo-detail-heading h1 { font-size: 21px; }
    .theme-evolution .admin-tabs a,
    .theme-evolution .modcp-tabs a { padding: 9px 11px; }
    .theme-evolution .admin-subnav { flex-wrap: nowrap; overflow-x: auto; }
    .theme-evolution .admin-subnav a { flex: 0 0 auto; }
    .theme-evolution .evo-form-table,
    .theme-evolution .evo-form-table tbody,
    .theme-evolution .evo-form-table tr,
    .theme-evolution .evo-form-table td { display: block; width: 100% !important; }
    .theme-evolution .evo-form-table td:first-child { padding-bottom: 5px; border-bottom: 0; background: #f8f9fa; }
    .theme-evolution .evo-form-table td + td { padding-top: 6px; }
    .theme-evolution .evo-form-table th { display: block; position: static !important; }
    .theme-evolution.page-modwarnings .warning-filter-form { grid-template-columns: 1fr; }
    .theme-evolution .pagination { justify-content: center; }
}

/* Replace the remaining Classic image actions in Topic View with native controls. */
.theme-evolution.page-topic .posttools {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    justify-content: flex-end;
}
.theme-evolution.page-topic .post-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    margin: 0;
    padding: 4px 7px;
    border: 1px solid #c9ced2;
    border-radius: 4px;
    background: linear-gradient(#fff,#eef0f2);
    color: #51595f;
    font: inherit;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .025em;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
}
.theme-evolution.page-topic a.post-action-button:hover,
.theme-evolution.page-topic button.post-action-button:hover {
    color: #8d292d;
    border-color: #b9bec2;
    background: #fff;
    text-decoration: none;
}
.theme-evolution.page-topic .post-action-button.selected,
.theme-evolution.page-topic .post-action-button[aria-pressed="true"] {
    color: #fff;
    border-color: #8b262a;
    background: #9d3034;
}
.theme-evolution.page-topic .post-action-form { display: inline-flex; margin: 0; }
.theme-evolution.page-topic .post-number-link {
    padding: 4px 6px;
    color: #7c848a;
    font-size: 10px;
    font-weight: 900;
}
@media (max-width: 640px) {
    .theme-evolution.page-topic .posttools { justify-content: flex-start; }
    .theme-evolution.page-topic .post-action-button { font-size: 8px; padding: 4px 6px; }
}


/* ========================================================================== 
   Evolution 0.5 — default-candidate accessibility / integration pass
   ========================================================================== */

/* Respect the board's Appearance palette for semantic colors while retaining
   Evolution's red identity as its accent language. */
.theme-evolution {
    --evo-page-custom: var(--ib-page-bg, #eef1f3);
    --evo-surface-custom: var(--ib-surface-bg, #fff);
    --evo-border-custom: var(--ib-border, #cfd4d8);
    --evo-text-custom: var(--ib-text, #30353a);
    --evo-muted-custom: var(--ib-muted-text, #737b82);
    --evo-link-custom: var(--ib-link, #9b2428);
    --evo-link-hover-custom: var(--ib-link-hover, #7e2023);
}
html { background: var(--ib-page-bg, #eef1f3); }
body.theme-evolution { color: var(--evo-text-custom); }
.theme-evolution a { color: var(--evo-link-custom); }
.theme-evolution a:hover { color: var(--evo-link-hover-custom); }
.theme-evolution .evo-board,
.theme-evolution .panel-body,
.theme-evolution .table-scroll,
.theme-evolution .post,
.theme-evolution .posttable { border-color: var(--evo-border-custom); }
.theme-evolution .muted,
.theme-evolution .smalltext { color: var(--evo-muted-custom); }

/* Keyboard navigation. */
.evo-skip-link {
    position: fixed;
    z-index: 10000;
    top: 8px;
    left: 8px;
    padding: 9px 13px;
    border: 2px solid #fff;
    border-radius: 4px;
    color: #fff !important;
    background: #72191c;
    box-shadow: 0 2px 8px rgba(0,0,0,.28);
    transform: translateY(-150%);
    transition: transform .12s ease;
}
.evo-skip-link:focus { transform: translateY(0); text-decoration: none; }
.theme-evolution :focus { outline: none; }
.theme-evolution :focus-visible {
    outline: 3px solid #b3373b;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px #fff;
}
.theme-evolution input:focus-visible,
.theme-evolution select:focus-visible,
.theme-evolution textarea:focus-visible {
    outline: 3px solid rgba(165,45,48,.34);
    outline-offset: 1px;
    border-color: #9b2a2e;
    box-shadow: none;
}
.theme-evolution #main-content:focus { outline: none; box-shadow: none; }
.theme-evolution .evo-nav a[aria-current="page"] { background: linear-gradient(#b53a3e,#92282c); color: #fff; }

/* Make interactive targets comfortably usable with touch and keyboard. */
.theme-evolution .evo-nav a,
.theme-evolution .admin-tabs a,
.theme-evolution .modcp-tabs a,
.theme-evolution .admin-subnav a,
.theme-evolution .usercp-nav a,
.theme-evolution .pm-nav a { min-height: 40px; }
.theme-evolution input[type="checkbox"],
.theme-evolution input[type="radio"] { min-width: 16px; min-height: 16px; accent-color: #a52d30; }
.theme-evolution label { cursor: pointer; }
.theme-evolution button:disabled,
.theme-evolution input:disabled,
.theme-evolution select:disabled { cursor: not-allowed; opacity: .62; }

/* Content safety: long usernames, URLs, plugin output and attachments should
   never punch through the board shell. */
.theme-evolution .evo-content,
.theme-evolution .panel-body,
.theme-evolution .postbody,
.theme-evolution .signature,
.theme-evolution td,
.theme-evolution .evo-plugin-region { min-width: 0; overflow-wrap: anywhere; }
.theme-evolution img,
.theme-evolution video { max-width: 100%; height: auto; }
.theme-evolution iframe { max-width: 100%; }
.theme-evolution pre { white-space: pre-wrap; overflow-wrap: normal; }

/* Plugin regions deliberately inherit Evolution rather than requiring every
   plugin to know about this theme. Empty regions have zero layout cost. */
.theme-evolution .evo-plugin-region:empty { display: none; }
.theme-evolution .evo-plugin-region:not(:empty) { margin: 0 0 13px; }
.theme-evolution .evo-plugin-region-after-nav:not(:empty) { margin: 12px 18px 0; }
.theme-evolution .evo-plugin-region-before-footer:not(:empty) { margin-top: 18px; }
.theme-evolution .evo-plugin-region .panel-title { border-radius: 6px 6px 0 0; }
.theme-evolution .evo-plugin-region .panel-body { border-color: var(--evo-border-custom); }
.theme-evolution .evo-plugin-region .plugin-dev-card,
.theme-evolution .plugin-dev-card {
    margin: 10px 0;
    padding: 12px;
    border: 1px solid var(--evo-border-custom);
    border-radius: 5px;
    background: var(--evo-surface-custom);
}
.theme-evolution .shoutbox-box { margin-bottom: 13px; }
.theme-evolution .shoutbox-list { border-radius: 4px; overflow: hidden; }
.theme-evolution .shoutbox-compose { align-items: center; }
.theme-evolution .shoutbox-compose .shoutbox-input { min-height: 34px; }

/* Notices expose their purpose without depending solely on color. */
.theme-evolution .notice.success { border-left: 4px solid #4b9456; }
.theme-evolution .notice.error { border-left: 4px solid #a93337; }
.theme-evolution .notice.warning { border-left: 4px solid #b38b2c; }

/* Better high-density behavior at intermediate widths. */
@media (max-width: 1100px) {
    .theme-evolution .evo-masthead { gap: 14px; }
    .theme-evolution .evo-tagline { max-width: 340px; letter-spacing: .18em; }
    .theme-evolution .evo-content { padding: 14px; }
    .theme-evolution .evo-forum-table .modcol,
    .theme-evolution .evo-forum-table .col-moderators { display: none; }
}
@media (max-width: 760px) {
    body.theme-evolution { background: #f2f4f5; }
    .evo-board { margin: 0; min-height: 100vh; border-width: 0; border-radius: 0; box-shadow: none; }
    .theme-evolution .evo-masthead { min-height: auto; padding: 14px 16px; align-items: flex-start; }
    .theme-evolution .evo-brand-mark { font-size: 60px; }
    .theme-evolution .evo-brand-copy strong { font-size: 22px; }
    .theme-evolution .evo-tagline { display: none; }
    .theme-evolution .evo-userbar { padding-inline: 12px; }
    .theme-evolution .evo-nav { justify-content: flex-start; scroll-snap-type: x proximity; }
    .theme-evolution .evo-nav a { padding-inline: 14px; scroll-snap-align: start; }
    .theme-evolution .evo-content { padding: 12px; }
    .theme-evolution .evo-plugin-region-after-nav:not(:empty) { margin: 10px 12px 0; }
    .theme-evolution .actionbar { align-items: flex-start; flex-direction: column; }
    .theme-evolution .actionbar .right { margin-left: 0; text-align: left; }
    .theme-evolution .evo-page-heading,
    .theme-evolution .evo-detail-heading { gap: 8px; align-items: flex-start; flex-direction: column; }
    .theme-evolution .evo-page-kicker { text-align: left; }
    .theme-evolution .shoutbox-compose { align-items: stretch; flex-direction: column; }
    .theme-evolution .shoutbox-compose .button { width: 100%; }
}
@media (max-width: 480px) {
    .theme-evolution .evo-masthead { padding: 12px; }
    .theme-evolution .evo-brand { gap: 8px; }
    .theme-evolution .evo-brand-mark { font-size: 50px; }
    .theme-evolution .evo-brand-copy strong { font-size: 18px; }
    .theme-evolution .evo-brand-copy small { font-size: 8px; letter-spacing: .08em; }
    .theme-evolution .evo-custom-logo { max-height: 58px; max-width: min(320px,82vw); }
    .theme-evolution .evo-userbar { align-items: flex-start; flex-direction: column; gap: 5px; }
    .theme-evolution .evo-nav a { min-height: 44px; padding: 11px 12px; }
    .theme-evolution .evo-nav a span[aria-hidden="true"] { display: none; }
    .theme-evolution .button,
    .theme-evolution button.button,
    .theme-evolution input[type="submit"] { min-height: 38px; }
    .theme-evolution .posttools { width: 100%; }
    .theme-evolution .post-action-button { min-height: 32px; }
    .theme-evolution .pagination a,
    .theme-evolution .pagination strong,
    .theme-evolution .pagination > span { min-width: 36px; min-height: 34px; }
    .theme-evolution .evo-footer { align-items: flex-start; flex-direction: column; gap: 8px; }
}

/* Respect OS-level motion and contrast preferences. */
@media (prefers-reduced-motion: reduce) {
    .theme-evolution *,
    .theme-evolution *::before,
    .theme-evolution *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
    .theme-evolution .button:hover,
    .theme-evolution button.button:hover,
    .theme-evolution input[type="submit"]:hover { transform: none; }
}
@media (prefers-contrast: more) {
    .theme-evolution { --evo-border-custom: #7a7f83; }
    .theme-evolution .smalltext,
    .theme-evolution .muted { color: #50565a; }
    .theme-evolution .button,
    .theme-evolution .post-action-button { border-width: 2px; }
}
@media (forced-colors: active) {
    .theme-evolution .evo-board,
    .theme-evolution .panel-body,
    .theme-evolution .table-scroll,
    .theme-evolution .posttable,
    .theme-evolution .notice { border: 1px solid CanvasText; }
    .theme-evolution .panel-title,
    .theme-evolution .evo-panel-title,
    .theme-evolution .posthead,
    .theme-evolution .threadhead { background: Canvas; color: CanvasText; }
    .theme-evolution .button,
    .theme-evolution .post-action-button { forced-color-adjust: auto; }
}

/* Appearance integration: boards that intentionally customize the shared
   palette should not have Evolution fight those choices with fixed surfaces. */
.theme-evolution .evo-board,
.theme-evolution .panel-body,
.theme-evolution .table-scroll,
.theme-evolution .outerforum,
.theme-evolution .forummaint,
.theme-evolution .form-table,
.theme-evolution .data-table,
.theme-evolution .pm-table,
.theme-evolution .member-table,
.theme-evolution .mod-table,
.theme-evolution .post,
.theme-evolution .posttable {
    color: var(--ib-text, #30353a);
    background-color: var(--ib-surface-bg, #fff);
}
.theme-evolution .evo-userbar,
.theme-evolution .breadcrumb,
.theme-evolution .admin-tabs,
.theme-evolution .admin-nav,
.theme-evolution .modcp-nav,
.theme-evolution .usercp-nav,
.theme-evolution .pm-nav {
    border-color: var(--ib-border, #cfd4d8);
    background-color: var(--ib-secondary-bg, #f7f8f9);
}
.theme-evolution input[type="text"],
.theme-evolution input[type="email"],
.theme-evolution input[type="password"],
.theme-evolution input[type="url"],
.theme-evolution input[type="number"],
.theme-evolution input[type="date"],
.theme-evolution input[type="datetime-local"],
.theme-evolution select,
.theme-evolution textarea {
    color: var(--ib-text, #30353a);
    border-color: var(--ib-border, #bfc6cb);
    background: var(--ib-surface-bg, #fff);
}
.theme-evolution .notice.error {
    color: var(--ib-text, #842d30);
    border-color: var(--ib-error-border, #d99b9b);
    background: var(--ib-error-bg, #fff0f0);
}
.theme-evolution .notice.success {
    color: var(--ib-text, #35683b);
    border-color: var(--ib-success-border, #a8cbae);
    background: var(--ib-success-bg, #eef8f0);
}

/* ============================================================
   Evolution 0.6 — v2 HTML-kit fidelity pass
   ============================================================ */

/* Member profile: match the v2 shell's left identity rail + right content stack. */
.theme-evolution .evo-v2-profile-grid {
    display: grid;
    grid-template-columns: 225px minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
    margin-bottom: 14px;
}
.theme-evolution .evo-v2-profile-card {
    border: 1px solid var(--evo-border);
    border-radius: 6px;
    background: #f6f7f8;
    padding: 16px 14px;
    text-align: center;
}
.theme-evolution .evo-v2-profile-avatar {
    width: 112px;
    height: 112px;
    margin: 0 auto 13px;
    border: 1px solid #c3c9cd;
    border-radius: 6px;
    background: linear-gradient(135deg,#d9dde0,#fff);
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #3d4348;
    font-size: 44px;
}
.theme-evolution .evo-v2-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.theme-evolution .evo-v2-profile-name { margin: 0 0 7px; color: var(--evo-red-dark); font-size: 20px; line-height: 1.15; }
.theme-evolution .evo-v2-profile-name a { color: inherit; }
.theme-evolution .evo-v2-profile-role { font-size: 13px; color: var(--evo-text); }
.theme-evolution .evo-v2-profile-rank { margin-top: 4px; font-size: 11px; color: var(--evo-muted); }
.theme-evolution .evo-v2-profile-tagline { margin: 11px 0 12px; color: var(--evo-muted); font-size: 11px; line-height: 1.45; }
.theme-evolution .evo-v2-profile-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
.theme-evolution .evo-v2-profile-actions form { margin: 0; }
.theme-evolution .evo-v2-profile-staff-actions { display: flex; flex-direction: column; gap: 4px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #d9dde0; font-size: 11px; }
.theme-evolution .evo-v2-profile-groups { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin-top: 12px; }
.theme-evolution .evo-v2-profile-groups span { padding: 3px 6px; border: 1px solid #d2d7db; border-radius: 3px; background: #fff; color: #626a70; font-size: 10px; }
.theme-evolution .evo-v2-profile-main { min-width: 0; }
.theme-evolution .evo-v2-profile-main > .panel { margin-bottom: 12px; }
.theme-evolution .evo-v2-about-body { padding: 0; }
.theme-evolution .evo-v2-profile-facts { margin: 0; }
.theme-evolution .evo-v2-profile-facts > div { display: grid; grid-template-columns: 185px minmax(0, 1fr); border-bottom: 1px solid #e0e3e6; }
.theme-evolution .evo-v2-profile-facts > div:last-child { border-bottom: 0; }
.theme-evolution .evo-v2-profile-facts dt,
.theme-evolution .evo-v2-profile-facts dd { margin: 0; padding: 9px 10px; }
.theme-evolution .evo-v2-profile-facts dt { background: #fafafa; color: #343a3f; font-weight: 800; }
.theme-evolution .evo-v2-profile-facts dd { min-width: 0; overflow-wrap: anywhere; }
.theme-evolution .evo-v2-about-copy { padding: 12px 14px; border-top: 1px solid #e0e3e6; color: #525a60; line-height: 1.55; }
.theme-evolution .evo-v2-activity-list { display: grid; gap: 13px; }
.theme-evolution .evo-v2-activity-item strong { display: block; margin-bottom: 2px; }
.theme-evolution .evo-v2-activity-item span { color: var(--evo-muted); font-size: 11px; }
.theme-evolution .evo-v2-profile-extra-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.theme-evolution .evo-v2-profile-extra-grid > div { border-right: 1px solid #e1e4e6; padding-right: 12px; }
.theme-evolution .evo-v2-profile-extra-grid > div:last-child { border-right: 0; }
.theme-evolution .evo-v2-profile-extra-grid strong,
.theme-evolution .evo-v2-profile-extra-grid span { display: block; }
.theme-evolution .evo-v2-profile-extra-grid span { margin-top: 5px; color: #5f676d; }
.theme-evolution .evo-v2-friend-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 8px; }
.theme-evolution .evo-v2-friend-card { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 7px; border: 1px solid #d9dde0; border-radius: 4px; background: #fafafa; }
.theme-evolution .evo-v2-friend-card:hover { text-decoration: none; background: #fff; }
.theme-evolution .evo-v2-friend-card img,
.theme-evolution .evo-v2-friend-card > span { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 4px; object-fit: cover; display: grid; place-items: center; background: #e6e9eb; }
.theme-evolution .evo-v2-friend-card strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.theme-evolution .evo-v2-comments-panel { margin-top: 0; }
.theme-evolution .evo-v2-comment-actions { display: flex; gap: 8px; align-items: center; margin-top: 6px; }
.theme-evolution .profile-comment-mini-avatar > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 4px; background: #eceff1; color: #646c72; font-weight: 800; }

/* Member directory: collapse the large discovery treatment back toward the kit's simple directory panel. */
.theme-evolution .evo-v2-members-panel .panel-title { background: linear-gradient(#b64144,#8f2528); color: #fff; border-bottom-color: #752023; }
.theme-evolution .evo-v2-members-panel .panel-title small { color: #f6dfe0; font-weight: 400; }
.theme-evolution .evo-v2-directory-actionbar { margin: 0 0 10px; }
.theme-evolution .evo-v2-find-member { display: flex; gap: 6px; align-items: center; flex: 1; }
.theme-evolution .evo-v2-find-member .field { max-width: 300px; }
.theme-evolution .evo-v2-member-filters { display: flex; flex-wrap: wrap; gap: 7px; align-items: end; margin-bottom: 10px; padding: 8px 10px; background: #f6f7f8; border: 1px solid #d8dde0; border-radius: 4px; }
.theme-evolution .evo-v2-member-filters label { display: grid; gap: 3px; color: #6d7479; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.theme-evolution .evo-v2-member-filters select { min-width: 130px; padding: 5px 7px; }
.theme-evolution .evo-v2-member-index { margin: 0 0 10px; padding: 6px 8px; border: 0; background: transparent; justify-content: flex-start; }
.theme-evolution .evo-v2-member-table th,
.theme-evolution .evo-v2-member-table td { padding: 9px 10px; }
.theme-evolution .evo-v2-member-name strong { display: inline-block; }
.theme-evolution .evo-v2-member-name .smalltext { display: block; margin: 2px 0 0 14px; }
.theme-evolution .evo-v2-members-footer { margin: 10px 0 0; }

/* Forum view: mirror the kit's actionbar + red category header + compact topic table. */
.theme-evolution .evo-v2-forum-category { margin-top: 0; }
.theme-evolution .evo-v2-forum-category .category-title > span { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.theme-evolution .evo-v2-forum-description { display: inline; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 520px; }
.theme-evolution .evo-v2-forum-category .forummaint { border: 0; }
.theme-evolution .evo-v2-forum-category .forummaint th { background: linear-gradient(#f7f8f9,#e9ecef); color: #3b4146; border-color: #cbd0d4; }
.theme-evolution .evo-v2-forum-category .forummaint td { padding-top: 10px; padding-bottom: 10px; }
.theme-evolution .evo-v2-topic-status { display: inline-grid; place-items: center; width: 28px; height: 28px; font-size: 17px; filter: grayscale(.08); }
.theme-evolution .evo-v2-topic-status.is-unread { border-radius: 50%; background: #fff1f1; }
.theme-evolution .evo-v2-forum-category .maincol { text-align: left; }
.theme-evolution .evo-v2-forum-category .topic-row td:nth-child(2) > a:first-of-type { font-weight: 800; }

/* Topic view: make the legacy table semantic structure render like the v2 post cards. */
.theme-evolution .evo-v2-topic-actionbar { margin-top: 0; margin-bottom: 12px; }
.theme-evolution table.evo-v2-post {
    display: block;
    width: 100%;
    margin: 0 0 13px;
    border: 1px solid #c8cdd1;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    border-collapse: separate;
}
.theme-evolution table.evo-v2-post > tbody { display: block; width: 100%; }
.theme-evolution table.evo-v2-post tr.threadhead { display: block; width: 100%; }
.theme-evolution table.evo-v2-post tr.threadhead > td { display: block; width: 100%; padding: 7px 10px; border: 0; background: linear-gradient(#b13a3e,#8d272a); color: #fff; }
.theme-evolution table.evo-v2-post tr.threadhead a,
.theme-evolution table.evo-v2-post tr.threadhead .post-action-button { color: #fff; }
.theme-evolution table.evo-v2-post tr:not(.threadhead) { display: grid; grid-template-columns: 185px minmax(0,1fr); width: 100%; }
.theme-evolution table.evo-v2-post tr:not(.threadhead) > td { display: block; width: auto; border: 0; }
.theme-evolution table.evo-v2-post .threadbith { padding: 14px; border-right: 1px solid #d1d6da; background: #f1f3f4; text-align: center; }
.theme-evolution table.evo-v2-post .threadbitl { min-width: 0; padding: 17px; background: #fff; }
.theme-evolution table.evo-v2-post .post-avatar { display: block; margin: 8px auto; }
.theme-evolution table.evo-v2-post .post-avatar img { width: 88px; height: 88px; object-fit: cover; border: 1px solid #bfc5c9; border-radius: 6px; }
.theme-evolution table.evo-v2-post .post-author { display: block; color: #93262a; font-weight: 900; font-size: 14px; }
.theme-evolution table.evo-v2-post .postmeta { color: #737a80; font-size: 11px; }
.theme-evolution table.evo-v2-post .threadbitl > .postmeta { margin-bottom: 13px; color: #7b8288; }
.theme-evolution table.evo-v2-post .postbody { min-height: 125px; line-height: 1.6; }
.theme-evolution table.evo-v2-post .signature { margin-top: 24px; }
.theme-evolution table.evo-v2-post .post-header-row { gap: 12px; }
.theme-evolution table.evo-v2-post .posttools { flex-wrap: wrap; justify-content: flex-end; }
.theme-evolution table.evo-v2-post .post-action-button,
.theme-evolution table.evo-v2-post .post-number-link { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff !important; }
.theme-evolution table.evo-v2-post .post-action-button:hover,
.theme-evolution table.evo-v2-post .post-number-link:hover { background: rgba(255,255,255,.18); }

@media (max-width: 900px) {
    .theme-evolution .evo-v2-profile-grid { grid-template-columns: 190px minmax(0,1fr); }
    .theme-evolution .evo-v2-profile-facts > div { grid-template-columns: 145px minmax(0,1fr); }
    .theme-evolution .evo-v2-friend-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .theme-evolution .evo-v2-profile-extra-grid { grid-template-columns: 1fr; }
    .theme-evolution .evo-v2-profile-extra-grid > div { border-right: 0; border-bottom: 1px solid #e1e4e6; padding: 0 0 10px; }
    .theme-evolution .evo-v2-profile-extra-grid > div:last-child { border-bottom: 0; padding-bottom: 0; }
    .theme-evolution table.evo-v2-post tr:not(.threadhead) { grid-template-columns: 150px minmax(0,1fr); }
}

@media (max-width: 650px) {
    .theme-evolution .evo-v2-profile-grid { grid-template-columns: 1fr; }
    .theme-evolution .evo-v2-profile-card { text-align: left; display: grid; grid-template-columns: 82px minmax(0,1fr); column-gap: 12px; align-items: center; }
    .theme-evolution .evo-v2-profile-avatar { grid-row: 1 / span 4; width: 78px; height: 78px; margin: 0; font-size: 30px; }
    .theme-evolution .evo-v2-profile-name,
    .theme-evolution .evo-v2-profile-role,
    .theme-evolution .evo-v2-profile-rank,
    .theme-evolution .evo-v2-profile-tagline { grid-column: 2; }
    .theme-evolution .evo-v2-profile-actions,
    .theme-evolution .evo-v2-profile-staff-actions,
    .theme-evolution .evo-v2-profile-groups { grid-column: 1 / -1; justify-content: flex-start; }
    .theme-evolution .evo-v2-profile-facts > div { grid-template-columns: 110px minmax(0,1fr); }
    .theme-evolution .evo-v2-friend-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .theme-evolution .evo-v2-member-filters { align-items: stretch; }
    .theme-evolution .evo-v2-member-filters label { flex: 1 1 140px; }
    .theme-evolution .evo-v2-directory-actionbar { align-items: stretch; }
    .theme-evolution .evo-v2-find-member { width: 100%; }
    .theme-evolution table.evo-v2-post tr:not(.threadhead) { grid-template-columns: 1fr; }
    .theme-evolution table.evo-v2-post .threadbith { border-right: 0; border-bottom: 1px solid #d1d6da; text-align: left; }
    .theme-evolution table.evo-v2-post .post-avatar { display: inline-block; vertical-align: middle; margin: 0 9px 0 0; }
    .theme-evolution table.evo-v2-post .post-avatar img { width: 52px; height: 52px; }
    .theme-evolution .evo-v2-forum-description { display: none; }
}

/* Evolution 0.7 — HTML kit fidelity pass for account/search/auth pages */
.message-page.evo-login-page {
  max-width: 760px;
  margin: 18px auto 28px;
  padding: 22px 24px;
  border: 1px solid var(--evo-border, #c9ced2);
  border-radius: 6px;
  background: var(--evo-surface, #fff);
}
.message-page.evo-login-page h1 { margin: 0 0 4px; font-size: 24px; }
.message-page.evo-login-page .form-table { margin-top: 16px; }
.message-page.evo-login-page .form-table td:first-child { width: 190px; font-weight: 700; }
.evo-register-panel { max-width: 980px; margin: 0 auto 24px; }
.evo-register-panel .notice.info { margin-bottom: 14px; }

.membercp-main > .panel-title {
  margin-top: 13px;
  border: 1px solid #c9ced2;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  padding: 9px 12px;
  background: linear-gradient(#f5f6f7,#e5e8ea);
  color: #30353a;
  font-weight: 800;
}
.membercp-main > .panel-body {
  margin-bottom: 13px;
  border: 1px solid #c9ced2;
  border-radius: 0 0 6px 6px;
  background: #fff;
  padding: 13px;
}
.membercp-user small { display:block; margin-top:4px; color:#747c82; }
.membercp-nav a > span:first-child { display:flex; align-items:center; gap:7px; }
.membercp-nav a b { width:16px; text-align:center; color:#8e2a2e; }
.membercp-nav a.active b { color:#fff; }
.membercp-badge { min-width:20px; padding:1px 6px; border-radius:10px; background:#a52d30; color:#fff; text-align:center; font-size:10px; }
.membercp-nav a.active .membercp-badge { background:#fff; color:#8e2a2e; }
.cp-panel { border:1px solid #c9ced2; border-radius:6px; overflow:hidden; background:#fff; margin-bottom:13px; }
.cp-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; background:linear-gradient(#f3f4f5,#e2e6e8); border-bottom:1px solid #c9ced2; font-weight:800; }
.cp-panel-head.red { color:#fff; background:linear-gradient(#b53a3e,#92282c); border-bottom-color:#7e2023; }
.cp-panel-head.red .small { color:#f8dfe0; }
.cp-panel-body { padding:13px; }
.cp-summary { margin: 0 0 13px; }
.cp-summary-card .label { color:#777f85; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.cp-summary-card strong { display:block; margin:3px 0; font-size:18px; color:#2f3438; }
.cp-summary-card small { color:#7d858b; }

.evo-cp-friend-grid { grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:10px; }
.evo-cp-friend { position:relative; min-height:150px; padding:13px; text-align:center; border:1px solid #d6dade; border-radius:5px; background:#f8f9fa; }
.evo-cp-friend .avatar { width:62px; height:62px; margin:0 auto 8px; border:1px solid #c9ced2; border-radius:5px; overflow:hidden; background:#fff; display:flex; align-items:center; justify-content:center; font-size:26px; }
.evo-cp-friend .avatar img { width:100%; height:100%; object-fit:cover; }
.evo-cp-friend .small { display:block; margin-top:3px; color:#747c82; }
.evo-cp-friend .cp-actions { justify-content:center; margin-top:9px; }
.evo-cp-friend .featured-position { position:absolute; top:7px; right:8px; color:#8c292d; font-size:11px; font-weight:800; }

.pm-cp-shell .pm-summary { margin:0 0 10px; padding:8px 10px; border:1px solid #dde1e4; border-radius:4px; background:#f7f8f9; color:#666f75; }
.pm-cp-shell .pm-table { margin-top:10px; }
.pm-cp-shell .pm-message-meta { margin:0 0 13px; padding:10px; border:1px solid #dde1e4; border-radius:4px; background:#f7f8f9; line-height:1.7; }
.pm-cp-shell .postbody { min-height:120px; padding:8px 2px 16px; line-height:1.7; }

.evo-search-card { margin-bottom:13px; }
.evo-search-card .form-table td:first-child { width:180px; font-weight:700; }
.search-summary { margin:14px 0 9px; padding:8px 10px; border:1px solid #d5dade; background:#f7f8f9; border-radius:4px; }
.search-post-result { padding:12px 0; border-bottom:1px solid #e1e4e6; }
.search-post-result:last-child { border-bottom:0; }
.search-post-head { margin-bottom:4px; font-weight:800; }
.search-post-meta { margin-bottom:7px; color:#7a8288; font-size:11px; }

@media (max-width: 760px) {
  .message-page.evo-login-page { margin: 8px 0 18px; padding: 15px; }
  .message-page.evo-login-page .form-table td:first-child,
  .evo-search-card .form-table td:first-child { width:auto; }
  .cp-summary { grid-template-columns:1fr 1fr; }
  .evo-cp-friend-grid { grid-template-columns:1fr 1fr; }
  .pm-cp-shell .data-table { min-width:680px; }
}
@media (max-width: 480px) {
  .cp-summary, .evo-cp-friend-grid { grid-template-columns:1fr; }
}

/* Evolution 0.8 — v2 kit fidelity for composers, utility messages and moderation actions. */
.theme-evolution .evo-v2-composer-panel { margin-top: 0; }
.theme-evolution .evo-v2-composer-panel > .panel-title { background: linear-gradient(#b64144,#8f2528); color: #fff; border-bottom-color: #752023; }
.theme-evolution .evo-v2-composer-panel .panel-body { padding: 14px; }
.theme-evolution .evo-v2-composer-meta { margin-bottom: 12px; }
.theme-evolution .evo-v2-composer-meta td:first-child { width: 220px; }
.theme-evolution .evo-v2-field-heading { margin: 13px 0 6px; }
.theme-evolution .evo-v2-composer { border: 1px solid #c5cbd0; border-radius: 5px; overflow: hidden; background: #fff; }
.theme-evolution .evo-v2-composer .composer-tools { border: 0; border-bottom: 1px solid #ccd1d5; border-radius: 0; margin: 0; padding: 6px; background: #edf0f2; }
.theme-evolution .evo-v2-composer .bbcode-toolbar { display: flex; flex-wrap: wrap; gap: 3px; }
.theme-evolution .evo-v2-composer .bbcode-toolbar .button { padding: 4px 7px; border: 1px solid #c3c8cc; border-radius: 3px; background: #fff; color: #30353a !important; box-shadow: none; font-size: 12px; }
.theme-evolution .evo-v2-composer .bbcode-toolbar .button:hover { background: #f7e9ea; border-color: #c99598; color: #84282c !important; }
.theme-evolution .evo-v2-composer .smilie-picker { margin-top: 5px; padding-top: 5px; border-top: 1px solid #d7dbde; }
.theme-evolution .evo-v2-composer textarea { display: block; width: 100%; min-height: 230px; margin: 0; padding: 12px; border: 0; border-radius: 0; resize: vertical; background: #fff; box-shadow: none; }
.theme-evolution .form-help { display: block; margin-top: 4px; color: #777f85; font-size: 11px; }
.theme-evolution .evo-v2-subheading { margin: 0 -12px 10px; padding: 7px 12px; border-bottom: 1px solid #d5dade; background: linear-gradient(#f4f5f6,#e5e8ea); color: #383e43; font-weight: 800; }
.theme-evolution .evo-v2-poll-box,
.theme-evolution .evo-v2-attachment-manager { margin: 14px 0; padding: 0 12px 12px; border: 1px solid #d3d8dc; border-radius: 5px; background: #fafbfb; overflow: hidden; }
.theme-evolution .evo-v2-attachment-manager label { display: block; padding: 6px 0; border-bottom: 1px solid #e3e6e8; }
.theme-evolution .evo-v2-attachment-manager label:last-child { border-bottom: 0; }
.theme-evolution .evo-v2-attachment-row { margin: 14px 0; padding: 10px 12px; border: 1px solid #d8dde0; border-radius: 4px; background: #f8f9fa; }
.theme-evolution .evo-v2-form-actions { margin: 14px 0 0; }
.theme-evolution .evo-v2-form-actions .button.secondary { border-color: #bbc1c6; background: linear-gradient(#fff,#e8ecef); color: #3b4247 !important; }
.theme-evolution .post-preview.panel { margin-bottom: 12px; }

.theme-evolution .evo-v2-message-page,
.theme-evolution .evo-v2-account-message { max-width: 760px; margin: 34px auto; padding: 32px; border: 1px solid #cbd0d4; border-radius: 8px; background: #fff; box-shadow: 0 8px 30px rgba(32,39,44,.10); text-align: center; }
.theme-evolution .evo-v2-message-page h1,
.theme-evolution .evo-v2-account-message h1 { margin: 0 0 9px; color: #30353a; font-size: 24px; }
.theme-evolution .evo-v2-account-message > p { color: #697178; }
.theme-evolution .evo-v2-account-message .form-table { margin: 18px auto 0; text-align: left; }
.theme-evolution .evo-v2-account-message .evo-v2-form-actions { text-align: center; }

.theme-evolution .evo-v2-moderation-panel { margin-top: 12px; }
.theme-evolution .evo-v2-moderation-panel > .panel-title { background: linear-gradient(#b64144,#8f2528); color: #fff; border-bottom-color: #752023; }
.theme-evolution .evo-v2-moderation-panel .moderation-summary { margin: 0 0 12px; padding: 10px 12px; border: 1px solid #d4d9dc; border-radius: 4px; background: #f7f8f9; }
.theme-evolution .evo-v2-moderation-panel input[type=text],
.theme-evolution .evo-v2-moderation-panel input[type=number],
.theme-evolution .evo-v2-moderation-panel select,
.theme-evolution .evo-v2-moderation-panel textarea { max-width: 620px; }
.theme-evolution .evo-v2-moderation-panel .moderation-confirm { padding: 9px 11px; border: 1px solid #d6dbde; background: #f8f9fa; border-radius: 4px; }

@media (max-width: 650px) {
  .theme-evolution .evo-v2-composer-meta td:first-child { width: auto; }
  .theme-evolution .evo-v2-message-page,
  .theme-evolution .evo-v2-account-message { margin: 12px 0 22px; padding: 20px 14px; }
  .theme-evolution .evo-v2-composer .bbcode-toolbar .button { min-height: 34px; }
}
.theme-evolution .evo-v2-report-panel { margin-top: 0; }
.theme-evolution .evo-v2-report-panel > .panel-title { background: linear-gradient(#b64144,#8f2528); color:#fff; border-bottom-color:#752023; }
.theme-evolution .evo-v2-report-panel .report-preview-table { margin-bottom: 14px; }
.theme-evolution .evo-v2-report-panel textarea { width: min(100%, 720px); }
.theme-evolution .evo-v2-restriction-page { max-width: 820px; }

/* Evolution 0.9 — remaining staff/detail and utility fidelity pass. */
.theme-evolution .evo-v2-staff-detail {
  margin: 0 0 22px;
}
.theme-evolution .evo-v2-staff-detail > .panel-title {
  margin-top: 12px;
  padding: 9px 12px;
  border: 1px solid #792126;
  border-radius: 5px 5px 0 0;
  background: linear-gradient(#b84045,#92282c);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
}
.theme-evolution .evo-v2-staff-detail > .panel-body {
  margin-bottom: 12px;
  padding: 13px;
  border: 1px solid #cbd0d4;
  border-top: 0;
  border-radius: 0 0 5px 5px;
  background: #fff;
}
.theme-evolution .evo-v2-staff-detail > br { display: none; }
.theme-evolution .evo-v2-staff-detail h3 {
  margin: 16px 0 0;
  padding: 8px 10px;
  border: 1px solid #d0d5d9;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  background: linear-gradient(#f5f6f7,#e5e8ea);
  color: #333a3f;
  font-size: 13px;
}
.theme-evolution .evo-v2-staff-detail h3 + .form-table,
.theme-evolution .evo-v2-staff-detail h3 + .data-table,
.theme-evolution .evo-v2-staff-detail h3 + form,
.theme-evolution .evo-v2-staff-detail h3 + .notice,
.theme-evolution .evo-v2-staff-detail h3 + p,
.theme-evolution .evo-v2-staff-detail h3 + details {
  margin-top: 0;
}
.theme-evolution .evo-v2-staff-detail .form-table {
  border: 1px solid #d4d9dc;
  background: #fff;
}
.theme-evolution .evo-v2-staff-detail .form-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #e2e5e7;
}
.theme-evolution .evo-v2-staff-detail .form-table tr:last-child td { border-bottom: 0; }
.theme-evolution .evo-v2-staff-detail .form-table td:first-child {
  width: 220px;
  background: #f7f8f9;
  font-weight: 700;
  color: #3b4247;
}
.theme-evolution .evo-v2-staff-detail .data-table {
  border: 1px solid #d0d5d8;
  background: #fff;
}
.theme-evolution .evo-v2-staff-detail .data-table th {
  background: #eceff1;
  color: #333a3f;
}
.theme-evolution .evo-v2-staff-detail .filter-form {
  margin-bottom: 12px;
  padding: 10px;
  border: 1px solid #d4d9dc;
  border-radius: 5px;
  background: #f8f9fa;
}
.theme-evolution .evo-v2-staff-detail details.permission-section {
  padding: 10px 12px;
  border: 1px solid #d4d9dc;
  border-radius: 0 0 5px 5px;
  background: #fff;
}
.theme-evolution .evo-v2-staff-detail .permission-grid {
  margin-top: 10px;
}
.theme-evolution .evo-v2-admin-detail .admin-signature-preview,
.theme-evolution .evo-v2-mod-detail .signature {
  margin: 0 0 10px;
  padding: 11px;
  border: 1px solid #d8dcdf;
  border-radius: 4px;
  background: #fafbfb;
}
.theme-evolution .evo-v2-staff-detail .rank-assignment-grid,
.theme-evolution .evo-v2-staff-detail .permission-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
  gap: 6px 10px;
}
.theme-evolution .evo-v2-staff-detail .permission-check {
  display: block;
  padding: 6px 8px;
  border: 1px solid #dde1e4;
  border-radius: 4px;
  background: #fafbfb;
}

.theme-evolution .evo-v2-upgrade-workspace > .panel-title {
  margin-top: 12px;
}
.theme-evolution .evo-v2-upgrade-workspace .upgrade-shell {
  padding: 14px;
}
.theme-evolution .evo-v2-upgrade-workspace .upgrade-step,
.theme-evolution .evo-v2-upgrade-workspace .upgrade-heading,
.theme-evolution .evo-v2-upgrade-workspace .upgrade-change-grid > section {
  border: 1px solid #d3d8db;
  border-radius: 5px;
  background: #fff;
}
.theme-evolution .evo-v2-upgrade-workspace .upgrade-heading,
.theme-evolution .evo-v2-upgrade-workspace .upgrade-step { padding: 13px; margin-bottom: 12px; }
.theme-evolution .evo-v2-upgrade-workspace .upgrade-change-grid { gap: 10px; margin-bottom: 12px; }
.theme-evolution .evo-v2-upgrade-workspace .upgrade-change-grid > section { padding: 12px; }
.theme-evolution .evo-v2-upgrade-workspace .upgrade-step h3,
.theme-evolution .evo-v2-upgrade-workspace .upgrade-heading h3 {
  margin: -13px -13px 12px;
  padding: 8px 11px;
  border: 0;
  border-bottom: 1px solid #d1d6d9;
  border-radius: 5px 5px 0 0;
  background: linear-gradient(#f4f5f6,#e4e8ea);
}

.theme-evolution .evo-v2-confirm-panel {
  max-width: 760px;
  margin: 18px auto 28px;
  border: 1px solid #cbd0d4;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}
.theme-evolution .evo-v2-confirm-panel > .panel-title {
  padding: 9px 12px;
  background: linear-gradient(#b84045,#92282c);
  color: #fff;
  border: 0;
}
.theme-evolution .evo-v2-confirm-panel > .panel-body { border: 0; padding: 15px; }
.theme-evolution .evo-v2-confirm-panel .quote { margin: 12px 0; padding: 12px; border: 1px solid #dde1e4; background: #f8f9fa; }
.theme-evolution .evo-v2-resend-activation { text-align: left; }
.theme-evolution .evo-v2-resend-activation > .panel-title {
  margin: -32px -32px 20px;
  padding: 10px 14px;
  background: linear-gradient(#b84045,#92282c);
  color: #fff;
  text-align: left;
}
.theme-evolution .evo-v2-resend-activation > .panel-body { padding: 0; border: 0; }

@media (max-width: 760px) {
  .theme-evolution .evo-v2-staff-detail .form-table td:first-child { width: auto; }
  .theme-evolution .evo-v2-staff-detail .rank-assignment-grid,
  .theme-evolution .evo-v2-staff-detail .permission-grid { grid-template-columns: 1fr; }
  .theme-evolution .evo-v2-upgrade-workspace .upgrade-change-grid { grid-template-columns: 1fr; }
  .theme-evolution .evo-v2-resend-activation > .panel-title { margin: -20px -14px 16px; }
}


/* Evolution 1.0 — final default-theme fidelity and release polish. */
.theme-evolution .evo-forum-status {
  display: inline-grid;
  place-items: center;
  width: 42px;
  min-height: 36px;
  font-size: 25px;
  line-height: 1;
  filter: saturate(.7);
}
.theme-evolution .evo-forum-status.unread {
  filter: none;
  transform: translateY(-1px);
}
.theme-evolution .evo-forum-status.locked {
  color: #8f2528;
  font-size: 23px;
}
.theme-evolution .evo-category-title,
.theme-evolution .evo-panel-title,
.theme-evolution .panel-title {
  letter-spacing: 0;
}
.theme-evolution .evo-forum-name,
.theme-evolution .topic-title,
.theme-evolution .evo-last-title {
  font-weight: 800;
}
.theme-evolution .evo-content {
  min-width: 0;
}
.theme-evolution .evo-v2-profile-main,
.theme-evolution .evo-v2-profile-rail,
.theme-evolution .postbody,
.theme-evolution .panel-body {
  min-width: 0;
}
.theme-evolution .evo-v2-profile-facts dd,
.theme-evolution .evo-v2-activity-item,
.theme-evolution .evo-v2-about-copy {
  overflow-wrap: anywhere;
}
@media (max-width: 720px) {
  .theme-evolution .evo-forum-status { width: 34px; font-size: 22px; }
}
