/* Pixel3DLab v12 – dashboard forum and glass dialogs. Calm blue/steel surfaces; no glow. */
:root {
  --pxh-v12-blue: #2877b8;
  --pxh-v12-blue-soft: rgba(48, 123, 184, .10);
  --pxh-v12-border: rgba(104, 128, 153, .24);
  --pxh-v12-surface: rgba(249, 251, 254, .94);
  --pxh-v12-surface-raised: rgba(255, 255, 255, .94);
  --pxh-v12-muted: #65758a;
}
[data-theme="dark"] {
  --pxh-v12-blue: #8fcaff;
  --pxh-v12-blue-soft: rgba(82, 160, 224, .13);
  --pxh-v12-border: rgba(148, 163, 184, .22);
  --pxh-v12-surface: rgba(20, 31, 46, .93);
  --pxh-v12-surface-raised: rgba(27, 40, 57, .94);
  --pxh-v12-muted: #aebccd;
}

/* Forum as a calm, information-dense dashboard. */
body.pxh-page-forum .pxh-legacy-forum .card.border-blue,
body.pxh-page-forum_category .pxh-legacy-forum .card.border-blue,
body.pxh-page-forum_topic .pxh-legacy-forum .card.border-blue {
  border: 1px solid var(--pxh-v12-border) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, var(--pxh-v12-surface-raised), var(--pxh-v12-surface)) !important;
  box-shadow: 0 5px 18px rgba(15, 35, 58, .055) !important;
  -webkit-backdrop-filter: blur(18px) saturate(118%) !important;
  backdrop-filter: blur(18px) saturate(118%) !important;
}
body.pxh-page-forum .pxh-legacy-forum .card.border-blue,
body.pxh-page-forum_category .pxh-legacy-forum .card.border-blue { padding: clamp(18px, 2.7vw, 30px) !important; }
.forum-dashboard-header { align-items: center !important; margin-bottom: 22px !important; padding-bottom: 20px; border-bottom: 1px solid var(--pxh-v12-border); }
.forum-title-block { min-width: 0; flex: 1 1 360px; }
.forum-eyebrow { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 8px; color: var(--pxh-v12-blue); font-size: 10px; line-height: 1.4; font-weight: 850; letter-spacing: .13em; }
.forum-eyebrow svg { display: block; width: 14px !important; height: 14px !important; stroke-width: 2.1; }
.forum-dashboard-title { display: flex !important; align-items: center; gap: 10px !important; margin: 0 !important; color: var(--text-main) !important; font-size: clamp(23px, 2.8vw, 32px) !important; line-height: 1.2 !important; letter-spacing: -.045em !important; }
.forum-dashboard-title > svg { display: block; width: 25px !important; height: 25px !important; flex: 0 0 25px; color: var(--pxh-v12-blue) !important; stroke-width: 1.8; }
.forum-dashboard-subtitle { margin: 7px 0 0 !important; color: var(--pxh-v12-muted) !important; font-size: 13px !important; line-height: 1.6 !important; }
.forum-new-topic-btn { flex: 0 0 auto; min-height: 42px; border-radius: 11px !important; padding: 11px 15px !important; background: #2f76ad !important; border: 1px solid #2a6c9f !important; color: #fff !important; box-shadow: 0 2px 5px rgba(15, 35, 58, .10) !important; }
.forum-new-topic-btn:hover { transform: translateY(-1px); background: #286b9f !important; filter: none !important; box-shadow: 0 4px 9px rgba(15, 35, 58, .13) !important; }

/* Separate dashboard rows; use a rounded square with a properly centered icon. */
.forum-dashboard-list { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; overflow: visible !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.forum-dashboard-list > .forum-list-item { display: grid !important; grid-template-columns: 48px minmax(0, 1fr) minmax(100px, 132px) !important; gap: 15px !important; align-items: center !important; min-height: 82px; padding: 15px 16px !important; border: 1px solid var(--pxh-v12-border) !important; border-radius: 14px !important; background: linear-gradient(120deg, var(--pxh-v12-surface-raised), var(--pxh-v12-surface)) !important; box-shadow: 0 2px 7px rgba(15, 35, 58, .035) !important; transition: border-color .16s ease, background-color .16s ease, transform .16s ease !important; }
.forum-dashboard-list > .forum-list-item:last-child { border-bottom: 1px solid var(--pxh-v12-border) !important; }
.forum-dashboard-list > .forum-list-item::before { display: none !important; }
.forum-dashboard-list > .forum-list-item:hover,
.forum-dashboard-list > .forum-list-item:focus-visible { border-color: rgba(51, 125, 183, .42) !important; background: var(--pxh-v12-blue-soft) !important; transform: translateY(-1px); box-shadow: 0 3px 9px rgba(15,35,58,.06) !important; }
.forum-icon-box { display: grid !important; place-items: center !important; align-content: center !important; justify-content: center !important; flex: 0 0 48px !important; width: 48px !important; height: 48px !important; min-width: 48px !important; min-height: 48px !important; box-sizing: border-box !important; margin: 0 !important; padding: 0 !important; border-radius: 13px !important; border: 1px solid rgba(78, 133, 177, .22) !important; background: linear-gradient(145deg, rgba(79, 151, 207, .17), rgba(100, 116, 139, .075)) !important; color: var(--pxh-v12-blue) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 2px 5px rgba(15,35,58,.035) !important; line-height: 0 !important; overflow: hidden; }
.forum-icon-box i { display: grid !important; place-items: center !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; line-height: 0 !important; }
.forum-icon-box svg { display: block !important; position: static !important; width: 21px !important; height: 21px !important; margin: 0 !important; padding: 0 !important; flex: 0 0 21px !important; stroke-width: 1.8 !important; transform: none !important; }
.forum-icon-box.is-pinned { background: linear-gradient(145deg, rgba(48,123,184,.19), rgba(100,116,139,.12)) !important; color: var(--pxh-v12-blue) !important; }
.forum-icon-box.is-closed { background: rgba(100,116,139,.10) !important; color: var(--pxh-v12-muted) !important; }
.forum-dashboard-list .forum-list-item > div:nth-child(2) { min-width: 0 !important; }
.forum-dashboard-list .forum-list-item h4 { margin: 0 0 5px !important; font-size: 14px !important; font-weight: 780 !important; line-height: 1.4 !important; color: var(--text-main) !important; }
.forum-dashboard-list .forum-list-item p { margin: 0 !important; color: var(--pxh-v12-muted) !important; font-size: 12px !important; line-height: 1.5 !important; }
.forum-dashboard-list .forum-topic-meta { gap: 6px 10px !important; color: var(--pxh-v12-muted) !important; font-size: 11px !important; }
.forum-dashboard-list .forum-topic-meta span:first-child { color: var(--text-main); }
.forum-dashboard-list .f-stats { display: grid !important; gap: 5px !important; flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; font-size: 11px !important; line-height: 1.35 !important; text-align: right !important; color: var(--pxh-v12-muted) !important; }
.forum-dashboard-list .f-stats > div { padding: 5px 7px; border: 1px solid rgba(104,128,153,.14); border-radius: 8px; margin: 0 !important; background: rgba(100,116,139,.045); white-space: nowrap; }
.forum-dashboard-list .f-stats strong { color: var(--pxh-v12-blue) !important; font-size: 12px; font-weight: 850 !important; }
.forum-dashboard-list .forum-list-item.is-pinned { border-left: 3px solid #4b8fc4 !important; }
.forum-header-flex .forum-title-block > p { max-width: 680px; }

/* Topic content: author pane and post body read as two clear dashboard columns. */
body.pxh-page-forum_topic .pxh-legacy-forum .card.border-blue > h2 { padding-bottom: 16px; border-bottom: 1px solid var(--pxh-v12-border); }
body.pxh-page-forum_topic .forum-post { display: flex !important; align-items: stretch !important; gap: 19px !important; padding: 19px 0 !important; border-bottom: 1px solid var(--pxh-v12-border) !important; }
body.pxh-page-forum_topic .forum-user-col { box-sizing: border-box; padding: 12px !important; border: 1px solid var(--pxh-v12-border) !important; border-radius: 13px !important; background: rgba(100,116,139,.055) !important; }
body.pxh-page-forum_topic .forum-content-col { flex: 1 1 0 !important; min-width: 0 !important; padding: 13px 16px !important; border: 1px solid var(--pxh-v12-border) !important; border-radius: 13px !important; background: var(--pxh-v12-surface-raised) !important; }
body.pxh-page-forum_topic .forum-avatar { box-shadow: none !important; border: 1px solid var(--pxh-v12-border) !important; }
body.pxh-page-forum_topic .forum-content-col > div[style*="min-height: 100px"] { color: var(--text-main) !important; }

/* One reusable frosted-glass confirmation window for upgrades and destructive actions. */
.pxh-glass-confirm-layer { position: fixed; inset: 0; z-index: 30000; display: grid; place-items: center; padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); box-sizing: border-box; background: rgba(11, 24, 41, .43); -webkit-backdrop-filter: blur(9px) saturate(112%); backdrop-filter: blur(9px) saturate(112%); animation: pxhGlassLayerIn .14s ease-out both; }
.pxh-glass-confirm-window { position: relative; width: min(450px, 100%); max-height: min(88vh, 760px); overflow: auto; box-sizing: border-box; padding: 26px; border: 1px solid rgba(143, 169, 194, .42); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.91), rgba(237,244,251,.84)); color: #233348; box-shadow: 0 18px 55px rgba(5,18,34,.20), inset 0 1px 0 rgba(255,255,255,.72); -webkit-backdrop-filter: blur(25px) saturate(135%); backdrop-filter: blur(25px) saturate(135%); animation: pxhGlassWindowIn .18s ease-out both; }
.pxh-glass-confirm-head { display: flex; align-items: flex-start; gap: 13px; margin: 0 0 14px; }
.pxh-glass-confirm-icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid rgba(48,123,184,.20); border-radius: 13px; background: rgba(48,123,184,.105); color: #2f76ad; }
.pxh-glass-confirm-icon svg { display: block; width: 21px; height: 21px; }
.pxh-glass-confirm-window[data-tone="danger"] .pxh-glass-confirm-icon { color: #b94b55; border-color: rgba(185,75,85,.19); background: rgba(185,75,85,.09); }
.pxh-glass-confirm-title { margin: 2px 0 4px; font-size: 20px; line-height: 1.25; letter-spacing: -.025em; font-weight: 780; color: inherit; }
.pxh-glass-confirm-kicker { margin: 0; color: #718196; font-size: 10px; letter-spacing: .13em; font-weight: 850; text-transform: uppercase; }
.pxh-glass-confirm-message { margin: 0; color: #53657b; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.pxh-glass-confirm-actions { display: flex; justify-content: flex-end; align-items: center; gap: 9px; margin-top: 23px; padding-top: 17px; border-top: 1px solid rgba(104,128,153,.20); }
.pxh-glass-confirm-button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 42px; padding: 10px 15px; border: 1px solid rgba(104,128,153,.24); border-radius: 11px; background: rgba(255,255,255,.62); color: #43556b; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; transition: background .15s ease, border-color .15s ease, transform .15s ease; }
.pxh-glass-confirm-button:hover { background: rgba(232,240,248,.9); border-color: rgba(87,129,166,.38); transform: translateY(-1px); }
.pxh-glass-confirm-button.is-primary { border-color: #2f76ad; background: #2f76ad; color: #fff; }
.pxh-glass-confirm-button.is-primary:hover { background: #286b9f; border-color: #286b9f; }
.pxh-glass-confirm-window[data-tone="danger"] .pxh-glass-confirm-button.is-primary { background: #b94b55; border-color: #b94b55; color: #fff; }
.pxh-glass-confirm-window[data-tone="danger"] .pxh-glass-confirm-button.is-primary:hover { background: #a33e48; border-color: #a33e48; }
.pxh-glass-confirm-button:focus-visible { outline: 3px solid rgba(47,118,173,.34); outline-offset: 2px; }

/* Existing edit-order dialog and Impressum dialog use the same restrained glass treatment. */
dialog.pxh-dialog, dialog.pxh-glass-native-dialog { color: var(--text-main, #243447) !important; border: 1px solid var(--pxh-v12-border) !important; border-radius: 22px !important; padding: 26px !important; background: linear-gradient(145deg, rgba(255,255,255,.93), rgba(237,244,251,.88)) !important; box-shadow: 0 18px 52px rgba(5,18,34,.18), inset 0 1px 0 rgba(255,255,255,.75) !important; -webkit-backdrop-filter: blur(25px) saturate(135%) !important; backdrop-filter: blur(25px) saturate(135%) !important; }
dialog.pxh-dialog::backdrop, dialog.pxh-glass-native-dialog::backdrop { background: rgba(11,24,41,.43) !important; -webkit-backdrop-filter: blur(8px) saturate(110%) !important; backdrop-filter: blur(8px) saturate(110%) !important; }
dialog.pxh-dialog h2 { margin: 0 0 17px !important; padding-bottom: 13px; border-bottom: 1px solid var(--pxh-v12-border); font-size: 22px; letter-spacing: -.03em; }
dialog.pxh-dialog .form-group { margin: 0 0 15px; }
dialog.pxh-dialog input, dialog.pxh-dialog textarea { background: rgba(255,255,255,.68) !important; border-color: var(--pxh-v12-border) !important; color: #233348 !important; border-radius: 10px !important; }
[data-theme="dark"] dialog.pxh-dialog, [data-theme="dark"] dialog.pxh-glass-native-dialog { background: linear-gradient(145deg, rgba(24,37,54,.96), rgba(18,29,44,.94)) !important; color: #e6edf5 !important; }
[data-theme="dark"] dialog.pxh-dialog input, [data-theme="dark"] dialog.pxh-dialog textarea { background: rgba(10,19,31,.72) !important; border-color: rgba(148,163,184,.24) !important; color: #e6edf5 !important; }
.pxh-impressum-modal .pxh-impressum-backdrop { background: rgba(11,24,41,.43) !important; -webkit-backdrop-filter: blur(9px) saturate(112%) !important; backdrop-filter: blur(9px) saturate(112%) !important; }
.pxh-impressum-modal .pxh-impressum-dialog { border: 1px solid var(--pxh-v12-border) !important; border-radius: 22px !important; background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(237,244,251,.86)) !important; box-shadow: 0 18px 55px rgba(5,18,34,.19), inset 0 1px 0 rgba(255,255,255,.68) !important; -webkit-backdrop-filter: blur(25px) saturate(135%) !important; backdrop-filter: blur(25px) saturate(135%) !important; }
[data-theme="dark"] .pxh-impressum-modal .pxh-impressum-dialog { background: linear-gradient(145deg, rgba(24,37,54,.96), rgba(18,29,44,.94)) !important; }
/* Older modal components are also surfaced in the same theme if a legacy tool uses them. */
.modal-overlay { background: rgba(11,24,41,.43) !important; -webkit-backdrop-filter: blur(9px) saturate(112%) !important; backdrop-filter: blur(9px) saturate(112%) !important; }
.modal-overlay .modal-content, .modal-content { border: 1px solid var(--pxh-v12-border) !important; border-radius: 20px !important; background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(237,244,251,.85)) !important; color: #233348 !important; box-shadow: 0 18px 55px rgba(5,18,34,.19) !important; -webkit-backdrop-filter: blur(25px) saturate(135%) !important; backdrop-filter: blur(25px) saturate(135%) !important; }
[data-theme="dark"] .modal-overlay .modal-content, [data-theme="dark"] .modal-content { background: linear-gradient(145deg, rgba(24,37,54,.96), rgba(18,29,44,.94)) !important; color: #e6edf5 !important; }

@keyframes pxhGlassLayerIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes pxhGlassWindowIn { from { opacity: 0; transform: translateY(7px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 650px) {
  body.pxh-page-forum .forum-dashboard-header,
  body.pxh-page-forum_category .forum-dashboard-header { align-items: stretch !important; flex-direction: column !important; }
  .forum-title-block { width: 100%; }
  .forum-new-topic-btn { width: 100%; }
  .forum-dashboard-list > .forum-list-item { grid-template-columns: 44px minmax(0,1fr) !important; gap: 12px !important; min-height: 0; padding: 13px !important; }
  .forum-icon-box { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; flex-basis: 44px !important; }
  .forum-icon-box svg { width: 20px !important; height: 20px !important; flex-basis: 20px !important; }
  .forum-dashboard-list .f-stats { grid-column: 2; grid-template-columns: repeat(2, max-content); justify-content: start; padding: 0 !important; margin-top: 2px !important; }
  .forum-dashboard-list .f-stats > div { padding: 4px 6px; }
  body.pxh-page-forum_topic .forum-post { flex-direction: column !important; gap: 10px !important; }
  body.pxh-page-forum_topic .forum-user-col { display: grid !important; grid-template-columns: 46px minmax(0,1fr); align-items: center !important; column-gap: 11px !important; padding: 10px !important; }
  body.pxh-page-forum_topic .forum-user-col > a { display: contents !important; }
  body.pxh-page-forum_topic .forum-user-col .forum-avatar { grid-row: 1 / span 2; width: 46px !important; height: 46px !important; min-width: 46px !important; min-height: 46px !important; }
  body.pxh-page-forum_topic .forum-user-col > div { grid-column: 2; }
  body.pxh-page-forum_topic .forum-user-col > div:last-child { margin-left: 0 !important; text-align: left !important; }
  body.pxh-page-forum_topic .forum-content-col { padding: 12px !important; }
  .pxh-glass-confirm-window { padding: 21px 19px 18px; border-radius: 19px; }
  .pxh-glass-confirm-title { font-size: 18px; }
  .pxh-glass-confirm-actions { justify-content: stretch; }
  .pxh-glass-confirm-button { flex: 1 1 0; padding: 10px 9px; }
  dialog.pxh-dialog, dialog.pxh-glass-native-dialog { padding: 21px 18px !important; border-radius: 19px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .forum-dashboard-list > .forum-list-item,
  .pxh-glass-confirm-layer,
  .pxh-glass-confirm-window { transition: none !important; animation: none !important; }
}

/* Higher-specificity reset for legacy forum rules that previously pinned icon tiles to the old circle layout. */
body.pxh-page-forum .pxh-legacy-forum .forum-icon-box,
body.pxh-page-forum_category .pxh-legacy-forum .forum-icon-box {
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  flex: 0 0 48px !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg, rgba(79,151,207,.17), rgba(100,116,139,.075)) !important;
  border: 1px solid rgba(78,133,177,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 2px 5px rgba(15,35,58,.035) !important;
  line-height: 0 !important;
}
body.pxh-page-forum .pxh-legacy-forum .forum-icon-box svg,
body.pxh-page-forum_category .pxh-legacy-forum .forum-icon-box svg {
  position: static !important;
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  margin: 0 !important;
  transform: none !important;
}
@media (max-width: 650px) {
  body.pxh-page-forum .pxh-legacy-forum .forum-icon-box,
  body.pxh-page-forum_category .pxh-legacy-forum .forum-icon-box {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    flex-basis: 44px !important;
  }
  body.pxh-page-forum .pxh-legacy-forum .forum-icon-box svg,
  body.pxh-page-forum_category .pxh-legacy-forum .forum-icon-box svg {
    width: 20px !important;
    height: 20px !important;
  }
}

/* Final layout precedence over the legacy inner-layout helper's !important values. */
body.pxh-page-forum .pxh-legacy-forum .forum-dashboard-list > .forum-list-item,
body.pxh-page-forum_category .pxh-legacy-forum .forum-dashboard-list > .forum-list-item {
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) minmax(100px,132px) !important;
  gap: 15px !important;
  align-items: center !important;
  min-height: 82px !important;
  padding: 15px 16px !important;
}
body.pxh-page-forum .pxh-legacy-forum .forum-dashboard-list .f-stats,
body.pxh-page-forum_category .pxh-legacy-forum .forum-dashboard-list .f-stats {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 5px !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  padding-left: 0 !important;
  text-align: right !important;
}
body.pxh-page-forum_topic .pxh-legacy-forum .forum-post {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: stretch !important;
  gap: 19px !important;
  padding: 19px 0 !important;
}
body.pxh-page-forum_topic .pxh-legacy-forum .forum-user-col {
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 158px !important;
  width: 158px !important;
  min-width: 0 !important;
  align-items: flex-start !important;
  padding: 12px !important;
  border: 1px solid var(--pxh-v12-border) !important;
  border-radius: 13px !important;
  background: rgba(100,116,139,.055) !important;
  text-align: left !important;
}
@media (max-width: 650px) {
  body.pxh-page-forum .pxh-legacy-forum .forum-dashboard-list > .forum-list-item,
  body.pxh-page-forum_category .pxh-legacy-forum .forum-dashboard-list > .forum-list-item {
    grid-template-columns: 44px minmax(0,1fr) !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 13px !important;
  }
  body.pxh-page-forum .pxh-legacy-forum .forum-dashboard-list .f-stats,
  body.pxh-page-forum_category .pxh-legacy-forum .forum-dashboard-list .f-stats {
    grid-column: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(2, max-content) !important;
    justify-content: start !important;
    min-width: 0 !important;
    width: auto !important;
    padding-left: 0 !important;
    text-align: left !important;
  }
  body.pxh-page-forum_topic .pxh-legacy-forum .forum-post { flex-direction: column !important; gap: 10px !important; }
  body.pxh-page-forum_topic .pxh-legacy-forum .forum-user-col {
    display: grid !important;
    grid-template-columns: 46px minmax(0,1fr) !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    align-items: center !important;
    column-gap: 11px !important;
    padding: 10px !important;
  }
  body.pxh-page-forum_topic .pxh-legacy-forum .forum-user-col > a { display: contents !important; }
  body.pxh-page-forum_topic .pxh-legacy-forum .forum-user-col .forum-avatar { grid-row: 1 / span 2 !important; width: 46px !important; height: 46px !important; min-width: 46px !important; min-height: 46px !important; }
  body.pxh-page-forum_topic .pxh-legacy-forum .forum-user-col > div { grid-column: 2 !important; }
  body.pxh-page-forum_topic .pxh-legacy-forum .forum-user-col > div:last-child { margin-left: 0 !important; text-align: left !important; }
}
