/* MyStudio Color System — colors defined in colorname.css */

/* === Apply vars to body === */
body {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
}

html,
body,
p,
code:before,
table {
  color: var(--bs-body-color) !important;
}


/* === Links === */
a:link, a:visited { color: var(--tekbb-link); text-decoration: none; }
a:hover, a:active { color: var(--tekbb-link-hover); text-decoration: none; }

/* Prevent theme link color from overriding Bootstrap button colors */
a.btn:link, a.btn:visited { color: var(--bs-btn-color, #fff); }
a.btn:hover, a.btn:active { color: var(--bs-btn-hover-color, #fff); }
a.btn-outline-primary:link,   a.btn-outline-primary:visited   { color: var(--bs-btn-color, #0d6efd); }
a.btn-outline-primary:hover,  a.btn-outline-primary:active    { color: var(--bs-btn-hover-color, #fff); }
a.btn-outline-secondary:link, a.btn-outline-secondary:visited { color: var(--bs-btn-color, #6c757d); }
a.btn-outline-secondary:hover,a.btn-outline-secondary:active  { color: var(--bs-btn-hover-color, #fff); }
a.btn-outline-success:link,   a.btn-outline-success:visited   { color: var(--bs-btn-color, #198754); }
a.btn-outline-success:hover,  a.btn-outline-success:active    { color: var(--bs-btn-hover-color, #fff); }
a.btn-outline-danger:link,    a.btn-outline-danger:visited    { color: var(--bs-btn-color, #dc3545); }
a.btn-outline-danger:hover,   a.btn-outline-danger:active     { color: var(--bs-btn-hover-color, #fff); }
a.btn-outline-warning:link,   a.btn-outline-warning:visited   { color: var(--bs-btn-color, #ffc107); }
a.btn-outline-warning:hover,  a.btn-outline-warning:active    { color: var(--bs-btn-hover-color, #000); }
a.btn-outline-info:link,      a.btn-outline-info:visited      { color: var(--bs-btn-color, #0dcaf0); }
a.btn-outline-info:hover,     a.btn-outline-info:active       { color: var(--bs-btn-hover-color, #000); }
a.btn-outline-light:link,     a.btn-outline-light:visited     { color: var(--bs-btn-color, #f8f9fa); }
a.btn-outline-light:hover,    a.btn-outline-light:active      { color: var(--bs-btn-hover-color, #000); }
a.btn-outline-dark:link,      a.btn-outline-dark:visited      { color: var(--bs-btn-color, #212529); }
a.btn-outline-dark:hover,     a.btn-outline-dark:active       { color: var(--bs-btn-hover-color, #fff); }
/* .active class on anchor buttons — needs higher specificity to beat :link */
a.btn.active:link, a.btn.active:visited { color: var(--bs-btn-active-color, #fff); }
a.btn-primary:link,    a.btn-primary:visited,
a.btn-secondary:link,  a.btn-secondary:visited,
a.btn-success:link,    a.btn-success:visited,
a.btn-danger:link,     a.btn-danger:visited,
a.btn-warning:link,    a.btn-warning:visited,
a.btn-info:link,       a.btn-info:visited,
a.btn-light:link,      a.btn-light:visited,
a.btn-dark:link,       a.btn-dark:visited  { color: var(--bs-btn-color, #fff); }
a.btn-primary:hover,   a.btn-secondary:hover,
a.btn-success:hover,   a.btn-danger:hover,
a.btn-warning:hover,   a.btn-info:hover,
a.btn-light:hover,     a.btn-dark:hover    { color: var(--bs-btn-hover-color, #fff); }

/* === MyBB structural classes (thead, tcat, trow, tfoot) === */

/* Override Bootstrap primary to follow theme accent */
.btn-primary, .btn-primary:active, .btn-primary:first-child:active {
  --bs-btn-bg: var(--tekbb-accent);
  --bs-btn-border-color: var(--tekbb-accent);
  --bs-btn-hover-bg: var(--tekbb-accent-hover);
  --bs-btn-hover-border-color: var(--tekbb-accent-hover);
  --bs-btn-active-bg: var(--tekbb-accent-hover);
  --bs-btn-active-border-color: var(--tekbb-accent-hover);
  --bs-btn-disabled-bg: var(--tekbb-accent);
  --bs-btn-disabled-border-color: var(--tekbb-accent);
}
.btn-outline-primary {
  --bs-btn-color: var(--tekbb-accent);
  --bs-btn-border-color: var(--tekbb-accent);
  --bs-btn-hover-bg: var(--tekbb-accent);
  --bs-btn-hover-border-color: var(--tekbb-accent);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--tekbb-accent);
  --bs-btn-active-border-color: var(--tekbb-accent);
  --bs-btn-active-color: #fff;
}
.text-primary { color: var(--tekbb-accent) !important; }
.spinner-border.text-primary { color: var(--tekbb-accent) !important; }
.border-primary { border-color: var(--tekbb-accent) !important; }
.bg-primary { background-color: var(--tekbb-accent) !important; }

.thead {
  background: transparent;
  color: var(--tekbb-accent);
  padding: 10px 16px;
  font-weight: 600;
  font-size: .9rem;
  border-bottom: 1px solid var(--glass-border);
}
.thead a:link, .thead a:visited { color: var(--tekbb-accent); }
.thead a:hover { color: var(--tekbb-accent-hover); }

.tcat {
  background: transparent;
  color: var(--tekbb-muted);
  padding: 6px 16px;
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-bottom: 1px solid var(--glass-border);
}
.tcat a:link, .tcat a:visited { color: var(--tekbb-muted); }
.tcat a:hover { color: var(--tekbb-accent); }

.trow1 { background: transparent; padding: 8px 16px; border-bottom: 1px solid var(--glass-border); }
.trow2 { background: transparent; padding: 8px 16px; border-bottom: 1px solid var(--glass-border); }
.trow_sep { background: transparent; color: var(--tekbb-muted); padding: 6px 16px; border-bottom: 1px solid var(--glass-border); font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }

.trow_shaded { background: rgba(254,243,205,.1); padding: 10px 16px; border-bottom: 1px solid var(--tekbb-border); }
.trow_selected, tr.trow_selected td, .inline_row.trow_selected { background: rgba(255,243,205,.15) !important; }

.tfoot { background: transparent; padding: 6px 16px; border-top: 1px solid var(--glass-border); color: var(--tekbb-muted); font-size: .85rem; }
.tfoot a:link, .tfoot a:visited { color: var(--tekbb-muted); }
.tfoot a:hover { color: var(--tekbb-accent); }

/* === tborder (card wrapper) === */
.tborder {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(1.4);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.4);
  border: 1px solid var(--glass-border);
  border-radius: .75rem;
  overflow: hidden;
  margin-bottom: 1rem;
  box-shadow: var(--glass-shadow);
  transition: box-shadow .3s ease, border-color .3s ease;
}
.tborder > :last-child,
.tborder > .trow1:last-child,
.tborder > .trow2:last-child,
.tborder > .trow_sep:last-child { border-bottom: none !important; }
/* Prevent trow border-bottom + tfoot border-top double line */
.trow1 + .tfoot, .trow2 + .tfoot { border-top: none; }

/* === Standalone section styling (no tborder wrapper) === */
div:not(.tborder):has(> .thead) {
  border-radius: .75rem;
  overflow: hidden;
  margin-bottom: 1rem;
  box-shadow: var(--glass-shadow);
}
div:not(.tborder):has(> .thead) :last-child {
  border-bottom: none;
}

/* === Clickable rows === */
.forumbit-row[data-href] { cursor: pointer; transition: background .15s; }
.forumbit-row[data-href]:hover { background: rgba(255,255,255,.04); }

/* === Glass Cards (Bootstrap .card in templates) === */
.card {
  --bs-card-border-radius: .75rem;
  --bs-card-inner-border-radius: calc(.75rem - 1px);
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(1.4);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.4);
  border-color: var(--glass-border);
  border-radius: var(--bs-card-border-radius);
  box-shadow: var(--glass-shadow);
  transition: box-shadow .3s ease, border-color .3s ease, transform .2s ease;
}
main .card:hover {
  box-shadow: var(--glass-shadow), 0 0 0 1px var(--tekbb-accent-subtle);
}
.card > .card-header {
  background: transparent !important;
  color: var(--tekbb-accent);
  font-weight: 600;
  font-size: .9rem;
  border-bottom: 1px solid var(--glass-border);
  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}
.card > .card-header a:link, .card > .card-header a:visited { color: var(--tekbb-accent); }
.card > .card-header a:hover { color: var(--tekbb-accent-hover); }
.card > .card-header.text-white { color: var(--tekbb-accent) !important; }
.card > .card-footer {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}
.card > .card-header.bg-danger {
  background: var(--bs-danger) !important;
}
.card > .bg-body-secondary,
.card > div > .bg-body-secondary {
  background: var(--glass-bg) !important;
  border-bottom-color: var(--glass-border) !important;
}

/* === Forms / inputs === */
input.textbox, textarea, select {
  background: var(--glass-bg-heavy);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--bs-body-color);
  border: 1px solid var(--glass-border);
  padding: 6px 10px;
  border-radius: .5rem;
  outline: 0;
  transition: border-color .2s ease, box-shadow .2s ease;
  max-width: 100%;
  box-sizing: border-box;
}
input.textbox:focus, textarea:focus, select:focus {
  border-color: var(--tekbb-accent);
  box-shadow: 0 0 0 3px var(--tekbb-accent-subtle), var(--glass-glow);
}

/* === Buttons === */
a.button:link, a.button:visited, a.button:hover, a.button:active,
button, input.button {
  display: inline-block;
  padding: 6px 14px;
  font-size: .875rem;
  font-weight: 500;
  background: var(--tekbb-btn-bg);
  color: var(--tekbb-text-inv);
  border: 1px solid var(--tekbb-btn-bg);
  border-radius: .5rem;
  transition: all .2s ease;
  cursor: pointer;
  text-decoration: none;
}
a.button:hover, button:hover, input.button:hover {
  background: var(--tekbb-btn-hover);
  border-color: var(--tekbb-btn-hover);
  box-shadow: var(--glass-glow);
  transform: translateY(-1px);
}
a.button:focus, button:focus, input.button:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--tekbb-accent-subtle);
  border-color: var(--tekbb-btn-bg);
}

/* === Outline Accent Button === */
.btn-outline-accent { color: var(--tekbb-accent) !important; border-color: var(--tekbb-accent) !important; background: transparent !important; }
.btn-outline-accent:hover, .btn-outline-accent:focus { background: var(--tekbb-accent) !important; color: var(--tekbb-text-inv) !important; border-color: var(--tekbb-accent) !important; }

/* === Alerts === */
.pm_alert { background: rgba(255,243,205,.1); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(255,193,7,.3); color: #ffc107; padding: 10px 16px; border-radius: .75rem; margin-bottom: 1rem; text-align: center; }
.red_alert { background: rgba(248,215,218,.1); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(245,194,199,.3); color: #ea868f; padding: 10px 16px; border-radius: .75rem; margin-bottom: 1rem; text-align: center; }

/* === Post controls === */
.post_controls { clear: both; padding: 8px 12px; overflow: visible; background: var(--glass-bg); backdrop-filter: blur(8px) saturate(1.2); -webkit-backdrop-filter: blur(8px) saturate(1.2); border-top: 1px solid var(--glass-border); position: relative; }
.card:has(.dropdown-menu.show) { z-index: 1001; }
.postbit_buttons > a:link, .postbit_buttons > a:visited,
.postbit_buttons .dropdown > a:link, .postbit_buttons .dropdown > a:visited {
  display: inline-block; padding: 4px 10px; margin: 2px;
  border: 1px solid var(--glass-border); border-radius: .5rem;
  color: var(--bs-body-color); background: var(--glass-bg-heavy);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  font-size: .8rem; transition: all .2s ease;
}
.postbit_buttons > a:hover,
.postbit_buttons .dropdown > a:hover {
  background: var(--tekbb-accent); color: var(--tekbb-text-inv); border-color: var(--tekbb-accent);
}

/* === Popup menu === */
.popup_menu { background: var(--glass-bg-heavy); backdrop-filter: blur(16px) saturate(1.5); -webkit-backdrop-filter: blur(16px) saturate(1.5); border: 1px solid var(--glass-border); border-radius: .75rem; box-shadow: var(--glass-shadow); z-index: 1000; overflow: hidden; }
.popup_menu .popup_item { display: block; padding: 6px 12px; color: var(--bs-body-color); }
.popup_menu .popup_item:hover { background: var(--tekbb-accent-subtle); color: var(--tekbb-accent); text-decoration: none; }
.postbit_buttons .dropdown-toggle::after { display: none; }
.postbit_buttons .dropdown-menu { background: var(--glass-bg-heavy); backdrop-filter: blur(16px) saturate(1.5); -webkit-backdrop-filter: blur(16px) saturate(1.5); border: 1px solid var(--glass-border); border-radius: .75rem; box-shadow: var(--glass-shadow); min-width: 10rem; }
.postbit_buttons .dropdown-item { padding: 6px 12px; color: var(--bs-body-color); font-size: .85rem; }
.postbit_buttons .dropdown-item:hover { background: var(--tekbb-accent-subtle); color: var(--tekbb-accent); }

/* === Pagination === */
.pagination { font-size: .85rem; padding-top: 8px; margin: 8px 0; }
.pagination a { padding: 4px 10px; border: 1px solid var(--glass-border); border-radius: .5rem; background: var(--glass-bg); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: all .2s ease; }
.pagination a:hover { background: var(--tekbb-accent); color: var(--tekbb-text-inv); border-color: var(--tekbb-accent); box-shadow: var(--glass-glow); }
.pagination .pagination_current { padding: 4px 10px; font-weight: 700; background: var(--tekbb-accent); color: var(--tekbb-text-inv); border-radius: .5rem; }

/* === Blockquote / codeblock === */
blockquote { background: var(--glass-bg)!important; backdrop-filter: blur(8px) saturate(1.2)!important; -webkit-backdrop-filter: blur(8px) saturate(1.2)!important; border: none!important; border-left: 4px solid var(--tekbb-accent)!important; padding: 12px 16px!important; margin: 8px 0!important; border-radius: 0 .5rem .5rem 0!important; font-size: 100%!important; }
blockquote blockquote { background: var(--tekbb-accent-subtle); backdrop-filter: none; -webkit-backdrop-filter: none; border-left: 4px solid color-mix(in srgb, var(--tekbb-accent) 50%, transparent)!important; margin: 8px 0 4px; padding: 10px 14px; border-radius: 0 .5rem .5rem 0; }
blockquote blockquote blockquote { border-left-color: color-mix(in srgb, var(--tekbb-accent) 30%, transparent)!important; }
blockquote cite { font-weight: 600; border-bottom: 1px solid var(--tekbb-muted); display: flex; align-items: center; text-align: left; gap: 4px; padding-bottom: 6px; margin-bottom: 8px; font-style: normal; color: var(--tekbb-accent); overflow: hidden; font-size: .9rem; }
blockquote cite > span { margin-left: 0; font-weight: normal; color: var(--tekbb-muted); font-size: .8rem; }
blockquote cite span.highlight { margin-left: 0; font-weight: bold; padding-bottom: 0; }
.quick_jump { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; text-decoration: none; margin-left: 2px; background: none; border: none; padding: 0; flex-shrink: 0; }
.quick_jump::before { content: '\F144'; font-family: 'bootstrap-icons'; font-size: .75rem; color: var(--tekbb-muted); transition: color .15s; }
.quick_jump:hover::before { color: var(--tekbb-accent); }
.codeblock { background: var(--glass-bg); backdrop-filter: blur(8px) saturate(1.2); -webkit-backdrop-filter: blur(8px) saturate(1.2); border: 1px solid var(--glass-border); padding: 12px; border-radius: .5rem; }
.codeblock .title { font-weight: 600; border-bottom: 1px solid var(--tekbb-border); padding-bottom: 6px; margin-bottom: 8px; }
.codeblock code { overflow: auto; max-height: 200px; display: block; font-size: .85rem; white-space: pre-wrap; background: #f6f8fa; color: #1f2328; padding: 10px; border-radius: .375rem; font-family: Monaco, Consolas, 'Courier New', monospace; position: relative; border: 1px solid #d1d9e0; }
[data-bs-theme="dark"] .codeblock code { background: #161b22; color: #e6edf3; border-color: #30363d; }

/* === Editor === */
.editor { background: var(--glass-bg-heavy); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid var(--glass-border); border-radius: .5rem; }
.editor_control_bar { background: var(--tekbb-accent-subtle); border-bottom: 1px solid var(--tekbb-border); }

/* === Reputation === */
.reputation_positive { color: #16a34a; }
.reputation_neutral { color: var(--tekbb-muted); }
.reputation_negative { color: #dc2626; }
.repbox { font-size: 1rem; font-weight: 700; padding: 4px 8px; border-radius: .5rem; }
._neutral { background: var(--glass-bg); color: var(--tekbb-muted); border: 1px solid var(--glass-border); border-radius: .5rem; }
._plus { background: rgba(22,163,74,.15); color: #16a34a; border: 1px solid #16a34a; border-radius: .5rem; }
._minus { background: rgba(220,38,38,.15); color: #dc2626; border: 1px solid #dc2626; border-radius: .5rem; }
.trow_reputation_positive { background: rgba(22,163,74,.1); }
.trow_reputation_negative { background: rgba(220,38,38,.1); }

/* === Footer === */
#footer { background: var(--glass-bg-heavy); backdrop-filter: blur(20px) saturate(1.5); -webkit-backdrop-filter: blur(20px) saturate(1.5); color: var(--tekbb-footer-color); border-top: 1px solid var(--glass-border); }
/* Welcome block colors handled via navbar integration */
#footer a:link, #footer a:visited { color: var(--tekbb-footer-color); }
#footer a:hover { color: var(--tekbb-accent); }
#copyright { position: sticky; bottom: 0; }
#copyright a, #copyright a:link, #copyright a:visited { color: rgba(255,255,255,.85) !important; }
#copyright a:hover { color: #fff !important; }
#copyright select, #copyright .btn, #copyright input.button { background: #fff; color: var(--tekbb-heading-bg); border: 1px solid rgba(255,255,255,.7); border-radius: .5rem; font-size: .8rem; }
#copyright select:focus, #copyright .btn:hover, #copyright input.button:hover { background: rgba(255,255,255,.9); border-color: #fff; }

/* === Modal (jQuery Modal — reset BS .modal conflicts) === */
.blocker { position: fixed; inset: 0; width: 100%; height: 100%; overflow: auto; z-index: 9999; padding: 20px; background: rgba(0,0,0,.35); backdrop-filter: blur(10px) saturate(1.3); -webkit-backdrop-filter: blur(10px) saturate(1.3); text-align: center; }
.blocker::before { content:""; display: inline-block; height: 100%; vertical-align: middle; }
.blocker > .modal {
  position: static !important; display: inline-block !important;
  width: 480px; max-width: 92vw; height: auto !important;
  overflow: visible !important; padding: 0 !important;
  text-align: left; vertical-align: middle;
  border-radius: .75rem; box-shadow: var(--glass-shadow);
  background: var(--glass-bg-heavy); backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5); border: 1px solid var(--glass-border);
}
.blocker .modal .tborder { box-shadow: none; margin-bottom: 0; }
.blocker .modal .thead { border-radius: .5rem .5rem 0 0; position: relative; background: var(--tekbb-heading-bg); color: var(--tekbb-text-inv); }\n.blocker .modal .thead a:link, .blocker .modal .thead a:visited, .blocker .modal .thead a:hover { color: var(--tekbb-text-inv); }
.blocker .modal a.close-modal { position: absolute; top: 8px; right: 10px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; color: var(--tekbb-text-inv); font-size: 18px; text-decoration: none; border-radius: 50%; z-index: 10; background: transparent; border: none; line-height: 1; overflow: hidden; }
.blocker .modal a.close-modal::before { content: "\00D7"; }
.blocker .modal a.close-modal:hover { background: rgba(0,0,0,.2); color: #fff; }
.btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
.modal-spinner { width: 48px; height: 48px; position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); background: #1e293b; border-radius: .5rem; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 24px; }

/* === jQuery impromptu === */
.jqifade { background-color: rgba(0,0,0,.5); }
div.jqi { background: var(--glass-bg-heavy); backdrop-filter: blur(16px) saturate(1.5); -webkit-backdrop-filter: blur(16px) saturate(1.5); border: 1px solid var(--glass-border); border-radius: .75rem; }
div.jqi .jqistate { background: transparent; }
div.jqi .jqititle { border-bottom: 1px solid var(--tekbb-border); }
div.jqi .jqimessage { color: var(--bs-body-color); }
div.jqi .jqibuttons { border-top: 1px solid var(--glass-border); background: var(--glass-bg); border-radius: 0 0 .75rem .75rem; }
div.jqi .jqibuttons button { border-left: 1px solid var(--glass-border); color: var(--tekbb-muted); }
div.jqi .jqibuttons button.jqidefaultbutton { color: var(--tekbb-accent); }
div.jqi .jqibuttons button:hover { color: var(--tekbb-accent); }

/* === jGrowl === */
.jGrowl { position: fixed; z-index: 9999; padding: 10px; }
.jGrowl.top-right { top: 10px; right: 10px; }
.jGrowl.top-left { top: 10px; left: 10px; }
.jGrowl.bottom-right { bottom: 10px; right: 10px; }
.jGrowl.bottom-left { bottom: 10px; left: 10px; }
.jGrowl .jGrowl-notification { min-width: 220px; max-width: 360px; margin-bottom: 8px; padding: 12px 16px; border-radius: .75rem; box-shadow: var(--glass-shadow); font-size: 13px; opacity: 0.95; }
.jGrowl .jGrowl-notification:empty { display: none !important; }
.jGrowl .jGrowl-notification, .jGrowl .jGrowl-closer { background: var(--glass-bg-heavy); backdrop-filter: blur(16px) saturate(1.5); -webkit-backdrop-filter: blur(16px) saturate(1.5); color: var(--bs-body-color); border: 1px solid var(--glass-border); }
.jGrowl .jGrowl-notification .jGrowl-close { float: right; font-size: 16px; cursor: pointer; background: none; border: none; color: inherit; opacity: 0.6; padding: 0 0 0 8px; line-height: 1; }
.jGrowl .jGrowl-notification .jGrowl-close:hover { opacity: 1; }
.jGrowl .jGrowl-notification .jGrowl-header { display: none; }
.jGrowl .jGrowl-notification.jgrowl_success { border-left: 4px solid var(--tekbb-accent, #0d9488); }
.jGrowl .jGrowl-notification.jgrowl_error { border-left: 4px solid #ef4444; }
.jGrowl .jGrowl-closer { padding: 6px 12px; text-align: center; cursor: pointer; border-radius: .5rem; font-size: 12px; }

/* === Post styling === */
.post { overflow: visible; }
.post.classic { padding-top: 0; }
.post .post_author { border-bottom: 1px solid var(--tekbb-border); padding: 8px 12px; overflow: hidden; }
.post .post_author div.author_avatar { float: left; margin-right: 8px; }
.post.classic .post_author div.author_avatar { float: none; text-align: center; margin-bottom: 8px; }
.post .post_author div.author_avatar img { padding: 2px; border: 2px solid var(--tekbb-border); border-radius: 50%; max-width: 80px; }
.post .post_author div.author_information { float: left; padding: 6px 8px; }
.post.classic .post_author div.author_information { float: none; text-align: center; padding: 0; }
.post .post_author div.author_statistics { float: right; font-size: .85rem; padding: 3px 10px; color: var(--tekbb-muted); }
.post .post_head { font-size: .85rem; padding-bottom: 6px; border-bottom: 1px solid var(--tekbb-border); margin-bottom: 8px; }
.post_body { padding: 12px 0; }
.post_content { padding: 12px 16px; flex: 1 1 auto; }
.post_content .signature { margin-top: 12px; border-top: 1px dotted var(--tekbb-border); padding: 12px 0 4px; font-size: .9rem; color: var(--tekbb-muted); }
.post .post_meta { margin: 4px 0; font-size: .85rem; color: var(--tekbb-muted); }

/* === Postbit author stat pills === */
.postbit-stat { display: inline-flex; align-items: center; gap: 3px; padding: 2px 8px; background: var(--tekbb-accent-subtle); border-radius: 1rem; font-size: 11px; color: var(--tekbb-muted); white-space: nowrap; line-height: 1.5; }
.postbit-stat i { font-size: 10px; opacity: .7; }
.postbit-stat a { color: inherit; }
.postbit-stat-warn { background: rgba(220,38,38,.15); color: #dc2626; }
.postbit_userstars img { height: 10px; width: auto; }
.postbit_groupimage img { max-height: 16px; width: auto; vertical-align: middle; }

/* === Online status === */
.online_status { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; height: 14px; width: 14px; }
.status_online::after  { content: "\f287"; font-family: "bootstrap-icons"; font-size: 10px; color: #16a34a; }
.status_away::after    { content: "\f287"; font-family: "bootstrap-icons"; font-size: 10px; color: #eab308; }
.status_offline::after { content: "\f287"; font-family: "bootstrap-icons"; font-size: 10px; color: var(--tekbb-muted); }

/* === Poll bar === */
.poll_resultbar { height: 22px; margin-top: 8px; overflow: hidden; background: var(--tekbb-accent-subtle); border-radius: 1rem; }
.poll_resultbar > span { display: inline-block; height: 100%; background: var(--tekbb-heading-bg); border-radius: 1rem; transition: width .6s ease; }

/* === PM Space Bar === */
.pmspace .pmspace_container { display: block; height: 22px; overflow: hidden; background: var(--tekbb-accent-subtle); border-radius: 1rem; margin-bottom: 6px; }
.pmspace .pmspace_used { display: inline-block; height: 100%; background: var(--tekbb-heading-bg); border-radius: 1rem; transition: width .6s ease; }
.pmspace .pmspace_unused { display: inline-block; height: 100%; }

/* Remove border-radius between thread header and first post */
#posts_container { margin-top: 0; }
#posts_container .card:first-child { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: 0; }
#posts_container .card:first-child .bg-body-secondary { border-top-left-radius: 0; border-top-right-radius: 0; }
/* Thread header card: remove bottom radius to connect flush with posts */
.card:has(+ #posts_container) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; margin-bottom: 0; }

/* Go to first unread post icon */
a[title*="unread"] > .bi-arrow-right-circle-fill { font-size: 15px; color: #16a34a; vertical-align: middle; }
a[title*="unread"]:hover > .bi-arrow-right-circle-fill { color: #15803d; }
.forum_on  { color: var(--tekbb-accent); }
.forum_off, .forum_offclose, .forum_offlink { color: var(--bs-body-color); opacity: .4; }

/* === Forum status icons === */
.forum_status { width: 28px; height: 28px; text-align: center; }
.forum_status i { display: inline-block; line-height: 28px; }
.forum_offclose i:before { content: "\f622"; font-family: "bootstrap-icons"; }
.forum_offlink i:before  { content: "\f470"; font-family: "bootstrap-icons"; }

/* === Misc === */
img { border: none; max-width: 100%; }
img.attachment { border: 2px solid var(--tekbb-border); padding: 2px; border-radius: .5rem; }
hr { height: 1px; border: 0; background: var(--tekbb-border); }
.divider { height: 1px; background: var(--tekbb-border); display: block; margin: 9px 0; overflow: hidden; }
.highlight { background: rgba(254,243,199,.1); }
.strong { font-weight: bold; }
form { margin: 0; padding: 0; }
form #message { width: 100%; }
legend { display: block; width: 100%; font-size: 1.125rem; color: var(--bs-body-color); border: 0; border-bottom: 2px solid var(--tekbb-accent); padding-bottom: 4px; margin-bottom: 8px; }
fieldset { padding: 16px; border: 1px solid var(--glass-border); margin: 0; border-radius: .75rem; background: var(--glass-bg); backdrop-filter: blur(8px) saturate(1.2); -webkit-backdrop-filter: blur(8px) saturate(1.2); }
.hidden { display: none; }
.hiddenrow { display: none; }
.no_bottom_border { border-bottom: 0; }
.ignored_post { border-top: 3px solid var(--tekbb-border); padding: 15px; }
#posts_container { padding: 0; }
.tfixed { table-layout: fixed; word-wrap: break-word; }
.subject_new { font-weight: bold; }
.changeavatar { display: flex; align-items: center; }
.post_attachments { display: block; padding: 7px 0; }

/* === Expand/collapse === */
.expcolimage { cursor: pointer; float: right; display: inline-flex; align-items: center; justify-content: center; min-width: 20px; }
img.expander { display: none !important; }
.expcolimage::after { content: "\f282"; font-family: "bootstrap-icons"; font-size: 16px; transition: transform .25s ease; }
.expcolimage[data-collapsed="1"]::after { transform: rotate(-90deg); }
.thead .expcolimage::after { color: var(--tekbb-accent); }
.tcat .expcolimage::after { color: var(--tekbb-muted); }

/* === Scroll to top === */
.top_button { background: var(--glass-bg-heavy); backdrop-filter: blur(12px) saturate(1.5); -webkit-backdrop-filter: blur(12px) saturate(1.5); border: 1px solid var(--glass-border); border-radius: 50%; bottom: 24px; color: var(--tekbb-accent) !important; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; position: fixed; right: 24px; z-index: 999; opacity: 0; transform: translateY(20px); transition: opacity .3s, transform .3s, background .3s, box-shadow .3s; box-shadow: var(--glass-shadow); }
.top_button.visible { opacity: 1; transform: translateY(0); }
.top_button:hover { background: var(--tekbb-accent); color: #fff !important; box-shadow: var(--glass-glow); }

/* === Data widths (MyBB uses these) === */
[data-width="1%"]{width:1%}[data-width="2%"]{width:2%}[data-width="5%"]{width:5%}[data-width="7.5%"]{width:7.5%}[data-width="10%"]{width:10%}[data-width="14%"]{width:14%}[data-width="15%"]{width:15%}[data-width="20%"]{width:20%}[data-width="25%"]{width:25%}[data-width="30%"]{width:30%}[data-width="35%"]{width:35%}[data-width="40%"]{width:40%}[data-width="45%"]{width:45%}[data-width="50%"]{width:50%}[data-width="55%"]{width:55%}[data-width="60%"]{width:60%}[data-width="65%"]{width:65%}[data-width="70%"]{width:70%}[data-width="75%"]{width:75%}[data-width="80%"]{width:80%}[data-width="85%"]{width:85%}[data-width="90%"]{width:90%}[data-width="95%"]{width:95%}[data-width="100%"]{width:100%}

/* === Text helpers (MyBB uses these) === */
.align_right{text-align:right}.align_left{text-align:left}.align_center{text-align:center}
.float_left{float:left}.float_right{float:right}
.smalltext{font-size:.80rem}.mediumtext{font-size:1rem}.largetext{font-size:1.1rem}
.small,small {font-size: 0.8em;}
.vmiddle{vertical-align:middle}.vtop{vertical-align:top}.vbottom{vertical-align:bottom}
.block{display:block}.inline-block{display:inline-block}.none{display:none}.inline{display:inline}
.clear{clear:both}
.clearfix::after,.pagination::after{clear:both;content:".";display:block;height:0;visibility:hidden}

/* === Forumbit layout === */
.forumbit-cat { border: 1px solid var(--glass-border); border-radius: .75rem; overflow: hidden; background: var(--glass-bg); backdrop-filter: blur(12px) saturate(1.3); -webkit-backdrop-filter: blur(12px) saturate(1.3); }
.forumbit-cat-header { border-bottom: 1px solid var(--glass-border); color: var(--tekbb-accent); font-size: .9rem; }
.forumbit-cat-header a { color: inherit; }
.forumbit-cat-header a:hover { color: var(--tekbb-accent); }
.forumbit-row { border-bottom: 1px solid var(--glass-border); transition: background .15s ease; }
.forumbit-row:last-child { border-bottom: 0; }
.forumbit-row:hover { background: var(--tekbb-accent-subtle); }
.forumbit_icon{float:left;text-align:center;vertical-align:middle;width:34px}
.forumbit_title{padding-left:55px;vertical-align:middle}
.subforumicon{display:inline-block;vertical-align:middle;margin-right:4px}
.subforum_minion{color:var(--bs-body-color)}.subforum_minioff{opacity:.35}
.subforum_minioffclose i:before{content:"\f622";font-family:"bootstrap-icons"}
.subforum_miniofflink i:before{content:"\f470";font-family:"bootstrap-icons"}

/* === Threadbit layout === */
.threadbit_folder{float:left;text-align:center;vertical-align:middle;width:32px}
.threadbit_title{margin-left:36px}
.threadbit_icon,.posticons{vertical-align:middle}
.threadbit_main[data-rate-thread="1"][data-width="60%"]{width:45%}
.threadbit_rating .star_rating{margin:0 auto}
.threadbit_modbit{margin-left:auto;text-align:center;vertical-align:middle;flex-shrink:0}
.formbit_label{padding-right:0; padding-bottom: 4px; font-weight: 500; font-size: .875rem; color: var(--tekbb-muted); }

/* === Rowbit === */
.rowbit{display:flex;margin:0;flex-wrap:nowrap;align-items:center}
.rowbit:has(.formbit_label){flex-wrap:wrap;align-items:flex-start}
.rowbit:has(.formbit_label) .formbit_label{flex:0 0 100%;max-width:100%;text-align:left !important}
.rowbit:has(.formbit_label) .formbit_field{flex:0 0 100%;max-width:100%}
.rowbit:has(.formbit_label) .formbit_label[data-width],
.rowbit:has(.formbit_label) .formbit_field[data-width]{width:100% !important}
.formbit_field{margin:4px 0 8px}
.selectall{text-align:center}

/* === List-style (warn / report / form lists) === */
ul.list_style{list-style:none;margin:0;padding:0}
ul.list_style>li{padding:4px 0}

/* === Forum display === */
.forumdisplay_search{display:inline-block}
.forumdisplay_sorting_options{text-align:center}
.thread_legend{list-style:none;margin:0;padding:0 22px 15px 0}
.thread_legend>li{margin:3px 0}.thread_legend>li>span{margin-right:10px;vertical-align:middle}
.threadlist_thread_option{display:flex;justify-content:space-between}

/* === Member profile === */
.profile-page { max-width: 100%; margin: 0 auto; }
.cp_row{display:block}

/* Hero Card */
.profile-hero {
  position: relative;
  border-radius: .75rem;
  overflow: visible;
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(1.4);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.4);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  margin-bottom: .75rem;
}
.profile-banner {
  height: 120px;
  background: #374151;
  background-size: cover;
  background-position: center;
  position: relative;
  border-radius: .75rem .75rem 0 0;
  overflow: hidden;
  padding: 0;
}

/* Hero Body — avatar + identity + actions */
.profile-hero-body {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 20px 0;
  flex-wrap: wrap;
}
.profile-avatar-wrap {
  margin-top: -36px;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  cursor: default;
}
.profile-avatar-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.55);
  border-radius: .5rem;
  opacity: 0;
  transition: opacity .2s;
  cursor: pointer;
  z-index: 3;
  color: #fff;
  font-size: 20px;
}
.profile-avatar-wrap:hover .profile-avatar-overlay { opacity: 1; }
.profile-avatar-wrap img,
.profile-avatar-wrap .profile_avatar img {
  width: 80px;
  height: 80px;
  border-radius: .5rem;
  border: 3px solid var(--tekbb-surface);
  object-fit: cover;
  display: block;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  background: var(--tekbb-surface);
}
.profile-identity { flex: 1; min-width: 0; padding: 10px 0 8px; }
.profile-name-line {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.profile-username {
  font-size: 1.2rem;
  line-height: 1.3;
}
.profile-username a,
.profile-username a:link,
.profile-username a:visited { color: inherit !important; }
.profile-usertitle {
  color: var(--tekbb-muted);
  font-size: .8rem;
}
.profile-meta-line {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 2px;
  color: var(--tekbb-muted);
}
.profile-meta-line img { vertical-align: middle; height: 16px; }
.profile-status-indicator { display: inline-flex; align-items: center; gap: 4px; }
.profile-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.profile-actions a { white-space: nowrap; }
.profile-actions .trow1 { background: none; padding: 0; border: none; }
.profile-actions .trow1.rowbit { display: inline; }
.profile-actions .formbit_label { display: none; }
.profile-actions .formbit_field { display: inline; }

/* Stats Strip — inline row inside hero */
.profile-stats-strip {
  display: flex;
  align-items: center;
  gap: 0;
  border-top: 1px solid var(--glass-border);
  padding: 0;
  overflow: hidden;
}
.profile-stat-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px 12px;
  background: none;
  border: none;
  border-right: 1px solid var(--glass-border);
  color: var(--tekbb-muted);
  font-size: .8rem;
  cursor: pointer;
  transition: background .15s, color .15s;
  font-family: inherit;
}
.profile-stat-btn:last-child { border-right: none; }
.profile-stat-btn:hover { background: var(--tekbb-accent-subtle); color: var(--tekbb-text, #e2e8f0); }
.profile-stat-btn strong {
  font-size: 1rem;
  color: var(--tekbb-accent);
  font-weight: 700;
}
.profile-stat-btn span { text-transform: uppercase; letter-spacing: .03em; font-weight: 600; }

/* Stat Modal */
.stat-modal-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--tekbb-accent);
  line-height: 1.2;
  margin-bottom: .25rem;
}
.stat-modal-detail { font-size: .85rem; }

/* Profile Sections — glass cards */
.profile-section {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(1.4);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.4);
  border: 1px solid var(--glass-border);
  border-radius: .75rem;
  box-shadow: var(--glass-shadow);
  margin-bottom: .75rem;
  overflow: hidden;
}
.profile-section-head {
  padding: 10px 16px;
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--tekbb-muted);
  border-bottom: 1px solid var(--glass-border);
}
.profile-section-body {
  padding: 14px 16px;
}

/* Info Grid — 3-column compact */
.profile-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.profile-info-cell {
  display: flex;
  flex-direction: column;
  padding: 10px 16px;
  border-bottom: 1px solid var(--glass-border);
  border-right: 1px solid var(--glass-border);
}
.profile-info-grid > .profile-info-cell:nth-child(3n) { border-right: none; }
.profile-info-grid > .profile-info-cell:nth-last-child(-n+3) { border-bottom: none; }
.profile-info-label {
  font-size: .7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--tekbb-muted);
  margin-bottom: 2px;
}
.profile-info-label i { font-size: .65rem; }
.profile-info-value {
  font-size: .85rem;
  font-weight: 500;
  word-break: break-word;
}

/* Contact row */
.profile-contacts-row { display: contents; }
.profile-contact-section .profile-contact-items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px;
}
.profile-contact-items .trow1 { background: none; padding: 0; border: none; }
.profile-contact-items .trow1.rowbit { display: inline; }
.profile-contact-items .formbit_label { display: none; }
.profile-contact-items .formbit_field { display: inline; }

/* Custom fields grid */
.profile-fields-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.profile-fields-grid > .profile-info-cell { border-bottom: 1px solid var(--glass-border); border-right: 1px solid var(--glass-border); }
.profile-fields-grid > .profile-info-cell:nth-child(3n) { border-right: none; }
.profile-fields-grid > .profile-info-cell:last-child { border-bottom: none; }

/* Latest Posts */
.profile-latest-section .profile-section-head { display: flex; }
.profile-latest-post {
  padding: 10px 16px;
  border-bottom: 1px solid var(--glass-border);
  transition: background .15s;
}
.profile-latest-post:last-child { border-bottom: none; }
.profile-latest-post:hover { background: var(--tekbb-accent-subtle); }
.profile-latest-post-header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 2px;
}
.profile-latest-post-title {
  font-weight: 600;
  font-size: .85rem;
  color: var(--tekbb-link);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.profile-latest-post-title:hover { color: var(--tekbb-accent-hover); text-decoration: underline; }
.profile-latest-post-meta { white-space: nowrap; flex-shrink: 0; }
.profile-latest-post-excerpt {
  font-size: .82rem;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: var(--tekbb-muted);
}

/* Mod / Admin strip */
.profile-admin-row {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}
.profile-admin-row > * { flex: 1; min-width: 280px; }
.profile-admin-row:empty { display: none; }
.profile-mod-section,
.profile-admin-section { margin-bottom: .75rem; }

/* Banner overlay text (legacy support) */
.profile-banner-left,
.profile-banner-right { display: none; }

@media (max-width: 767.98px) {
  .profile-page { max-width: 100%; }
  .profile-banner { height: 90px; }
  .profile-hero-body { padding: 0 12px; gap: 10px; }
  .profile-avatar-wrap { margin-top: -28px; }
  .profile-avatar-wrap img,
  .profile-avatar-wrap .profile_avatar img { width: 64px; height: 64px; }
  .profile-username { font-size: 1rem; }
  .profile-info-grid,
  .profile-fields-grid { grid-template-columns: repeat(2, 1fr); }
  .profile-info-grid > .profile-info-cell:nth-child(3n) { border-right: 1px solid var(--glass-border); }
  .profile-info-grid > .profile-info-cell:nth-child(2n) { border-right: none; }
  .profile-stats-strip { flex-wrap: wrap; }
  .profile-stat-btn { min-width: 50%; border-bottom: 1px solid var(--glass-border); }
  .profile-actions { width: 100%; margin-top: 4px; }
  .profile-admin-row { flex-direction: column; }
  .profile-admin-row > * { min-width: 0; }
  .profile-latest-post-header { flex-direction: column; gap: 2px; }
  .profile-latest-post-title { white-space: normal; }
}

@media (max-width: 479.98px) {
  .profile-info-grid,
  .profile-fields-grid { grid-template-columns: 1fr; }
  .profile-info-grid > .profile-info-cell,
  .profile-fields-grid > .profile-info-cell { border-right: none !important; }
}

/* === Smilies === */
.smilie{vertical-align:middle}.smilie_pointer{cursor:pointer}
#clickable_smilies{margin:0 auto;text-align:center;float:none !important}
#clickable_smilies>div>span{display:inline-block;vertical-align:middle;width:22%}
#clickable_smilies>span{display:block;margin:0 auto;padding:6px 0;text-align:center}

/* === Buddy list === */
.buddy_avatar{float:left;text-align:center;width:44px}
.buddy_avatar img{display:inline-block;margin:0 auto;width:42px;border-radius:50%}
.buddy_user{padding-right:48px}

/* === Postbit button icons === */
.postbit_buttons a span:before{content:"";display:inline-block;font-family:"bootstrap-icons";margin-right:5px}
.postbit_buttons a.postbit_find span:before{content:"\f52a"}
.postbit_buttons a.postbit_reputation_add span:before{content:"\f4fe"}
.postbit_buttons a.postbit_email span:before{content:"\f32f"}
.postbit_buttons a.postbit_website span:before{content:"\f3ee"}
.postbit_buttons a.postbit_pm span:before{content:"\f32f"}
.postbit_buttons a.postbit_quote span:before{content:"\f254"}
.postbit_buttons a.postbit_multiquote span:before{content:"\f270"}
.postbit_buttons a.postbit_multiquote_on span:before{content:"\f269";color:#dc2626}
.postbit_buttons a.postbit_edit span:before{content:"\f4ca"}
.postbit_buttons a.postbit_qdelete span:before{content:"\f5de"}
.postbit_buttons a.postbit_qrestore span:before{content:"\f4fe"}
.postbit_buttons a.postbit_report span:before{content:"\f339"}
.postbit_buttons a.postbit_warn span:before{content:"\f33a"}
.postbit_buttons a.postbit_purgespammer span:before{content:"\f33a"}
.postbit_buttons a.postbit_reply_pm span:before{content:"\f520"}
.postbit_buttons a.postbit_reply_all span:before{content:"\f51e"}
.postbit_buttons a.postbit_forward_pm span:before{content:"\f3dc"}
.postbit_buttons a.postbit_delete_pm span:before{content:"\f5de"}

/* === Button icons === */
a.button span:before{content:"";display:inline-block;font-family:"bootstrap-icons";font-weight:normal;margin-right:6px}
a.button.new_thread_button span:before{content:"\f270"}
a.button.new_reply_button span:before{content:"\f254"}
a.button.closed_button span:before{content:"\f47a"}
a.button.rate_user_button span:before{content:"\f586"}
a.button.small_button{font-size:.8rem;margin:0;padding:4px 8px}

/* === Alerts === */
.alert{text-align:center;border-radius:.75rem;padding:12px 20px}
.alert a{font-weight:600}.alert a:hover{text-decoration:underline}
.message{border-left:4px solid var(--tekbb-accent);margin:0;padding:20px;border-radius:0 .75rem .75rem 0;background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.message_header{font-size:1.15rem;margin-bottom:8px;font-weight:600}
div.error{padding:10px 16px;border-left:4px solid #eab308;font-size:.85rem;border-radius:0 .75rem .75rem 0;background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
div.error p{margin:0;color:var(--bs-body-color)}
div.error p em{font-style:normal;font-weight:600;padding-left:28px;display:block;color:#dc2626;position:relative}
div.error p em::before{content:"\f33a";font-family:"bootstrap-icons";font-size:16px;color:#dc2626;position:absolute;left:0;top:0}

/* === Alert colors === */
.alert_red{background:rgba(254,226,226,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(254,202,202,.2);color:#fca5a5;border-radius:.75rem}
.alert_yellow{background:rgba(254,252,232,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(254,240,138,.2);color:#fde047;border-radius:.75rem}
.alert_green{background:rgba(240,253,244,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(187,247,208,.2);color:#86efac;border-radius:.75rem}
.alert_blue{background:rgba(239,246,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(191,219,254,.2);color:#93c5fd;border-radius:.75rem}

/* === Poll === */
.poll_option>div>span{display:inline-block;margin:3px 5px 3px 0}

/* === Subject editable === */
.subject_editable form input{display:inline-block;width:auto !important;height:auto !important;border-radius:.5rem}
.subject_editable form{display:inline-block}
label strong,label b{font-weight:500}
label{text-transform:capitalize}

/* === BS3 visibility shims === */
@media(max-width:767.98px){.hidden-xs{display:none !important}}
@media(min-width:768px)and(max-width:991.98px){.hidden-sm{display:none !important}}
@media(min-width:992px)and(max-width:1199.98px){.hidden-md{display:none !important}}
@media(min-width:1200px){.hidden-lg{display:none !important}}
.visible-xs{display:none !important}
@media(max-width:767.98px){.visible-xs{display:block !important}}

/* === Welcome block — now handled via avatar dropdown === */

/* === Calendar mini === */
.calendar-mini-header{padding:7px 10px;text-align:center}
.calendar-mini-grid{display:block}
.calendar-mini-row{display:flex}
.calendar-mini-weeklink{flex:0 0 28px;min-width:28px;padding:3px;text-align:center;font-size:.8rem}
.calendar-mini-cell{flex:1;padding:3px;text-align:center;font-size:.8rem;min-width:0}

/* === Calendar month (ensure 7-column week rows) === */
.calendar_table{width:100%}
.calendar_row.calendar_weekrow{display:flex;flex-wrap:nowrap;align-items:stretch}
.calendar_row.calendar_weekrow>div{flex:0 0 auto;box-sizing:border-box}
.calendar_row.calendar_weekrow>.tcat{flex:0 0 auto}
.calendar_row.calendar_weekrow .trow1,.calendar_row.calendar_weekrow .trow2,.calendar_row.calendar_weekrow .trow_sep{min-height:100px;padding:8px}

/* Calendar-specific overrides: remove row bottom borders and center header */
.calendar_table .trow1, .calendar_table .trow2, .calendar_table .trow_sep { border-bottom: none; }
.calendar_table .thead.calendar_header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.calendar_table .thead.calendar_header .cal-title { flex: 1; text-align: center; font-weight: 600; }
.calendar_table .thead.calendar_header .cal-prev, .calendar_table .thead.calendar_header .cal-next { flex: 0 0 auto; }


/* === Rep stats grid === */
.rep-stats-grid{display:grid;grid-template-columns:minmax(70px,auto) 1fr 1fr 1fr;gap:2px 8px;font-size:.85rem;padding:4px 0}
.rep-stats-row{display:contents}.rep-stats-row>div{padding:2px 4px}
.rep-stats-row.header-row>div{font-weight:bold;text-align:center}
.rep-stats-row:not(.header-row)>div:not(:first-child){text-align:right}

/* === Label shims === */
.label{display:inline-block;padding:.25em .5em;font-size:.75em;font-weight:600;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.5rem;color:var(--tekbb-text-inv);background:var(--tekbb-muted)}
.label_green{background:#16a34a !important}.label_blue{background:var(--tekbb-accent) !important}.label_red{background:#dc2626 !important}

/* === Navigation === */
.navigation{background:transparent;border:none;padding:0;margin:1rem 0}
.breadcrumb{padding:0;margin-bottom:0;list-style:none;font-size:.85rem}
.breadcrumb-item+.breadcrumb-item::before{content:"/";padding:0 6px;color:var(--tekbb-muted)}

/* === Responsive helpers === */
@media(max-width:575.98px){
  .container{padding-right:10px;padding-left:10px}
}

/* === Dark mode checkbox === */
.checkbox,.radio{display:inline}

/* === Checkbox & Radio — theme color + label alignment === */
input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--tekbb-accent);
}
.form-check-input:checked {
  background-color: var(--tekbb-accent) !important;
  border-color: var(--tekbb-accent) !important;
}
.form-check-input:focus {
  border-color: var(--tekbb-accent) !important;
  box-shadow: 0 0 0 .2rem var(--tekbb-accent-subtle) !important;
}
.form-check {
  display: flex;
  align-items: center;
  gap: .4em;
}
.form-check .form-check-input {
  margin-top: 0;
  flex-shrink: 0;
}
.form-check .form-check-label {
  margin-left: .15em;
}
/* MyBB classic checkbox / radio rows */
label > input[type="checkbox"],
label > input[type="radio"] {
  vertical-align: middle;
  margin-right: .35em;
  position: relative;
  top: -1px;
}

/* === Off-canvas === */
.row-offcanvas{position:relative;transition:all .25s ease-out}
@media(max-width:767.98px){
  .row-offcanvas-left{left:0}.row-offcanvas-left .sidebar-offcanvas{left:-50%}
  .row-offcanvas-left.active{left:50%}
  .sidebar-offcanvas{position:absolute;top:0;width:50%;z-index:5;background:var(--tekbb-surface);border-radius:0 .5rem .5rem 0;box-shadow:var(--tekbb-shadow)}
  .offcanvas-toggle-btn{display:inline-block;margin:8px 0 8px 12px}
}
@media(min-width:768px){.offcanvas-toggle-btn{display:none}}

/* === Misc === */
img.mycode_img.img-fluid{display:inline-block}
.navbar{border-radius:0;background:var(--tekbb-nav-bg)!important;color:var(--bs-body-color);border-bottom:1px solid var(--glass-border)!important;box-shadow:0 1px 12px rgba(0,0,0,.04);padding-top:.35rem;padding-bottom:.35rem}
.navbar .navbar-toggler-icon{filter:invert(1)}
.navbar .nav-link{color:var(--tekbb-accent);font-size:.875rem;font-weight:500;padding:.35rem .65rem!important;border-radius:.375rem;transition:background .15s,color .15s}
.navbar .nav-link:hover{color:var(--tekbb-accent-hover);background:var(--tekbb-accent-subtle)}
.navbar .nav-link.active,.navbar .nav-link[aria-current="page"]{background:var(--tekbb-accent-subtle);color:var(--tekbb-accent)}
@media(max-width:767.98px){.navbar-nav .nav-item{width:100%}}

/* --- User avatar dropdown --- */
.ms-nav-avatar{width:34px;height:34px;object-fit:cover;border:2px solid var(--tekbb-accent);transition:border-color .2s,box-shadow .2s}
.ms-user-dropdown>a:hover .ms-nav-avatar,.ms-user-dropdown.show .ms-nav-avatar{border-color:var(--tekbb-accent-hover);box-shadow:0 0 0 3px var(--tekbb-accent-subtle)}
.ms-dd-caret{font-size:.6rem;color:var(--tekbb-muted);transition:transform .2s}
.ms-user-dropdown.show .ms-dd-caret{transform:rotate(180deg)}
.ms-nav-sep{width:1px;height:24px;background:var(--glass-border);flex-shrink:0}
.ms-user-menu{min-width:220px;border:1px solid var(--glass-border);border-radius:.75rem;box-shadow:var(--glass-shadow);background:var(--tekbb-surface);padding:.5rem 0;margin-top:.35rem!important;z-index:1080}
.ms-user-menu .dropdown-item{font-size:.85rem;padding:.45rem 1rem;color:var(--bs-body-color)}
.ms-user-menu .dropdown-item:hover{background:var(--tekbb-accent-subtle);color:var(--tekbb-accent)}
.ms-user-menu .dropdown-item.text-danger:hover{background:rgba(220,38,38,.08)}
.ms-user-menu .dropdown-divider{border-color:var(--glass-border);margin:.35rem 0}
.ms-user-header{text-align:center;padding:.75rem 1rem .5rem;white-space:normal}

/* --- Guest action buttons --- */
.ms-guest-actions .btn{font-size:.82rem}

/* === Memberlist === */
.memberlist_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 16px; }
@media (max-width: 991px) { .memberlist_grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) { .memberlist_grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 479px) { .memberlist_grid { grid-template-columns: 1fr; } }
.memberlist_card { background: var(--glass-bg); backdrop-filter: blur(12px) saturate(1.3); -webkit-backdrop-filter: blur(12px) saturate(1.3); border: 1px solid var(--glass-border); border-radius: .75rem; padding: 16px 12px; transition: box-shadow .3s, border-color .3s, transform .3s; }
.memberlist_card:hover { border-color: var(--tekbb-accent); box-shadow: var(--glass-glow); transform: translateY(-2px); }
.boardstats_card { background: var(--glass-bg); backdrop-filter: blur(12px) saturate(1.3); -webkit-backdrop-filter: blur(12px) saturate(1.3); border: 1px solid var(--glass-border) !important; border-radius: .75rem !important; transition: box-shadow .3s, border-color .3s, transform .3s; }
.boardstats_card:hover { border-color: var(--tekbb-accent) !important; box-shadow: var(--glass-glow); transform: translateY(-2px); }
.memberlist_card_avatar { display: inline-block; }
.memberlist_card_avatar img { width: 64px; height: 64px; object-fit: cover; border-radius: 50%; border: 2px solid var(--glass-border); }
.memberlist_card:hover .memberlist_card_avatar img { border-color: var(--tekbb-accent); }
.memberlist_card_stats { display: flex; justify-content: center; gap: 24px; margin-top: 10px; text-align: center; }
.memberlist_table .search_row { flex-wrap: wrap; gap: 12px; }

/* === Mobile responsive — form layout fixes === */
@media (max-width: 767.98px) {
  /* Stack .rowbit label + field vertically on mobile */
  .rowbit {
    flex-wrap: wrap !important;
  }
  .rowbit > [data-width],
  .rowbit > .formbit_label,
  .rowbit > .formbit_field,
  .rowbit > [class*="col-md-"] {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-right: 0;
  }
  .rowbit .formbit_label {
    padding-bottom: 2px;
  }

  /* Stack inner .rowbit inside search_row children */
  .search_row > [data-width] {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  .search_row > [data-width] .rowbit > [data-width] {
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Wrap d-flex form rows (search options, sorting, etc.) */
  .card-body .d-flex,
  .formbit_field .d-flex {
    flex-wrap: wrap !important;
  }

  /* Ensure form controls don't overflow */
  .form-control, .form-select,
  input.textbox, textarea, select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .form-select[style*="width:auto"],
  .form-control[style*="width:60px"] {
    width: 100% !important;
  }
}

/* ===================================================================
   Liquid Glass — Additional Component Overrides
   =================================================================== */

/* === Bootstrap form controls glass === */
.form-control, .form-select {
  background: var(--glass-bg-heavy) !important;
  border-color: var(--glass-border) !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
.form-control:not(.input-group .form-control),
.form-select:not(.input-group .form-select) {
  /* border-radius: .5rem; */
}
.form-control:focus, .form-select:focus {
  background: var(--glass-bg-heavy) !important;
  border-color: var(--tekbb-accent) !important;
  box-shadow: 0 0 0 3px var(--tekbb-accent-subtle), var(--glass-glow) !important;
}
.input-group>.input-group-text{background:var(--glass-bg-heavy);border-color:var(--glass-border)}

/* === BS5 Modal glass === */
.modal-content {
  background: var(--glass-bg-heavy) !important;
  backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  border: 1px solid var(--glass-border) !important;
  border-radius: .75rem !important;
  box-shadow: var(--glass-shadow);
}
.modal-header {
  border-bottom-color: var(--glass-border) !important;
}
.modal-footer {
  border-top-color: var(--glass-border) !important;
}
.modal-backdrop.show {
  opacity: .5;
}

/* Welcome block is now integrated into the navbar — no separate #welcomeblock needed */

/* === Showthread toolbar glass === */
main .d-flex.rounded-2.border {
  background: var(--glass-bg);
  backdrop-filter: blur(12px) saturate(1.3);
  -webkit-backdrop-filter: blur(12px) saturate(1.3);
  border-color: var(--glass-border) !important;
  border-radius: .75rem !important;
}

/* === Offcanvas sidebar glass === */
@media(max-width:767.98px) {
  .sidebar-offcanvas {
    background: var(--glass-bg-heavy) !important;
    backdrop-filter: blur(20px) saturate(1.5);
    -webkit-backdrop-filter: blur(20px) saturate(1.5);
    border-color: var(--glass-border);
    box-shadow: var(--glass-shadow);
  }
}

/* === Avatar image glass border === */
.post .post_author div.author_avatar img {
  border-color: var(--glass-border);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.profile-avatar-wrap img,
.profile-avatar-wrap .profile_avatar img {
  border-color: var(--glass-bg-heavy);
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
}

/* === Glass link hover glow === */
a:hover { transition: color .2s ease; }

/* === Inline row glass border === */
.inline_row { border-bottom-color: var(--glass-border); transition: background .2s ease; }
.inline_row:hover { background: var(--tekbb-accent-subtle); }

/* === Navigation breadcrumb transparent === */
.navigation { background: transparent; }

/* === List-group glass (inside cards) === */
.card .list-group-item {
  background: transparent;
  border-color: var(--glass-border);
}
.card > .list-group:first-child .list-group-item:first-child {
  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}
.card > .list-group:last-child .list-group-item:last-child {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}

.ms-lastposter-info {
  min-width: 180px!important;
}