/* SPDX-License-Identifier: GPL-2.0-or-later — styles are scoped to IdeaHub. */
.ih-foundation {
  --ih-font-title: 14px; --ih-font-body: 12px; --ih-button-height: 32px;
  --ih-input-height: 34px; --ih-space: 8px; --ih-border: #d8dee7;
  --ih-muted: #536171; --ih-accent: var(--link-color, #0b54ac);
  font-size: var(--ih-font-body); line-height: 1.5; overflow-wrap: anywhere;
}
.ih-foundation h1, .ih-foundation h2 { font-size: var(--ih-font-title); font-weight: 600; margin: 0 0 12px; }
.ih-foundation h2 { margin-top: 20px; }
.ih-foundation .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: var(--ih-button-height); padding: 6px 10px; font-size: var(--ih-font-body); line-height: 1.3; border-radius: 6px; text-decoration: none; }
.ih-foundation :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--ih-accent); outline-offset: 3px; }
.ih-foundation :is(input,select,textarea) { font-size: var(--ih-font-body); max-width: 100%; }
.ih-foundation :is(input:not([type=hidden]),select) { min-height: var(--ih-input-height); }
.ih-foundation label { font-size: var(--ih-font-body); }
.ih-foundation [hidden] { display: none !important; }
.ih-nav { display: flex; flex-wrap: wrap; gap: 4px 16px; border-bottom: 1px solid var(--ih-border); margin-bottom: 16px; }
.ih-nav a { display: inline-flex; align-items: center; min-height: var(--ih-button-height); padding: 6px 0; border-bottom: 2px solid transparent; text-decoration: none; color: inherit; }
.ih-nav a[aria-current=page] { color: var(--ih-accent); border-bottom-color: currentColor; font-weight: 600; }
.ih-nav .ih-nav-create { margin-left: auto; color: var(--ih-accent); font-weight: 600; }
.ih-lead, .ih-hint, .ih-meta, .ih-result-count { color: var(--ih-muted); }
.ih-lead { margin: 0 0 14px; }
.ih-hint { font-size: var(--ih-font-body); margin: 6px 0; }
.ih-editor .ih-nav { max-width: 800px; }
.ih-form { max-width: 800px; margin-top: 12px; }
.ih-form-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px 20px; }
.ih-span-full { grid-column: 1 / -1; }
.ih-field { min-width: 0; }
.ih-field .control-group { margin: 0; }
.ih-field .control-label { float: none; width: auto; padding: 0 0 5px; }
.ih-field .controls { margin: 0; }
.ih-field .form-text { font-size: var(--ih-font-body); color: var(--ih-muted); margin-top: 5px; }
.ih-field :is(input:not([type=hidden]),select,textarea), .ih-community textarea { width: 100%; }
.ih-field textarea { min-height: 120px; resize: vertical; }
.ih-access-panel { border: 0; border-top: 1px solid var(--ih-border); padding: 12px 0 0; margin: 16px 0; min-width: 0; }
.ih-access-panel legend { float: none; width: auto; font-size: var(--ih-font-body); font-weight: 600; padding: 0 8px 0 0; margin-bottom: 8px; }
.ih-form-actions { position: sticky; bottom: 0; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 0; margin-top: 12px; border-top: 1px solid var(--ih-border); background: var(--bs-body-bg, #fff); }
.ih-form-actions .ih-hint { margin: 0; flex: 1 1 180px; }
.ih-error-summary { max-width: 800px; padding: 10px 12px; margin-bottom: 14px; border-left: 3px solid #a11b22; background: #fff2f2; color: #711319; }
.ih-error-summary ul { margin: 5px 0 0; padding-left: 18px; }
.ih-error-summary a { color: inherit; }
.ih-foundation [aria-invalid=true] { border-color: #a11b22; }
.ih-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ih-toolbar { display: flex; flex-wrap: wrap; gap: var(--ih-space); align-items: center; }
.ih-filters { margin: 12px 0 8px; align-items: end; }
.ih-filters label { display: flex; flex: 0 1 150px; min-width: 0; flex-direction: column; gap: 4px; }
.ih-filters label:first-of-type { flex: 1 1 180px; }
.ih-filters :is(input,select) { width: 100%; }
.ih-filter-reset { display: inline-flex; align-items: center; min-height: var(--ih-button-height); padding: 6px 2px; }
.ih-result-count { margin: 8px 0; }
.ih-ideas { list-style: none; padding: 0; margin: 0 0 16px; }
.ih-ideas li { padding: 12px 0; border-bottom: 1px solid var(--ih-border); }
.ih-ideas li > a:first-child { font-weight: 600; text-decoration: none; }
.ih-meta { display: block; margin-top: 5px; }
.ih-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 7px; border-radius: 4px; background: #eef2f6; color: #334155; font-size: 11px; font-weight: 500; line-height: 1.5; }
.ih-pending { background: #fff3cd; color: #6b4800; }
.ih-published { background: #e8f5ed; color: #14532d; }
.ih-empty { margin: 16px 0; padding: 16px 0; }
.ih-description { white-space: normal; overflow-wrap: anywhere; margin: 20px 0; }
.ih-archive { margin-top: 16px; }
.ih-archive .btn { color: #9b1c1c; border-color: #ebcbcb; background: transparent; }
.ih-community { margin-top: 20px; }
.ih-voting { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; border-block: 1px solid var(--ih-border); padding: 10px 0; margin-bottom: 14px; }
.ih-voting .ih-meta, .ih-community .ih-voting form { margin: 0; }
.ih-vote-feedback { flex: 1 1 160px; color: var(--ih-muted); }
.ih-foundation .ih-vote-button.is-voted { background: #e8f5ed; color: #14532d; border-color: #9ecfb0; }
.ih-thread { border-bottom: 1px solid var(--ih-border); padding: 12px 0; }
.ih-comment { padding: 4px 0; overflow-wrap: anywhere; scroll-margin-top: 5rem; }
.ih-comment > p { margin: 0 0 5px; }
.ih-reply { margin: 10px 0 0 16px; padding-left: 12px; border-left: 2px solid var(--ih-border); }
.ih-comment-form { max-width: 800px; margin: 12px 0; }
.ih-comment-form label, .ih-community .ih-form label { display: block; margin: 8px 0 4px; }
.ih-comment-form textarea, .ih-community .ih-form textarea { width: 100%; min-height: 88px; font-size: var(--ih-font-body); resize: vertical; }
.ih-community form { margin: 12px 0; }
.ih-community .ih-toolbar label { display: flex; flex-direction: column; gap: 4px; flex: 1 1 180px; }
.ih-community .ih-toolbar { align-items: end; }
.ih-community .ih-toolbar :is(input,select) { width: 100%; }
.ih-community :is(.ih-moderation-panel,.ih-history-panel,.ih-audit-panel) { border-top: 1px solid var(--ih-border); padding: 10px 0; margin: 12px 0; }
.ih-community summary { cursor: pointer; min-height: var(--ih-button-height); padding: 5px 0; font-weight: 600; }
.ih-comment-moderation summary, .ih-reply-compose summary { display: list-item; color: var(--ih-accent); font-weight: 500; width: fit-content; }
.ih-history li, .ih-audit li { margin: 0 0 10px; padding-left: 4px; }
.ih-history { border-left: 1px solid var(--ih-border); padding-left: 20px; list-style-position: outside; }
.ih-workflow, #ih-publication { scroll-margin-top: 5rem; }
@media (max-width: 640px) {
  .ih-foundation { --ih-button-height: 44px; --ih-input-height: 44px; }
  .ih-foundation :is(input,select,textarea) { font-size: 16px; }
  .ih-form-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .ih-nav { gap: 0 14px; }
  .ih-nav .ih-nav-create { margin-left: 0; }
  .ih-filters label { flex: 1 1 140px; }
  .ih-filters label:first-of-type { flex-basis: 100%; }
  .ih-form-actions { position: static; }
  .ih-form-actions .ih-hint { flex-basis: 100%; }
  .ih-reply { margin-left: 8px; padding-left: 8px; }
  .ih-voting { gap: 8px; }
}

/* Product workspace: shared navigation, data views, discussion and contribution. */
.ih-foundation.ih-workspace {
  --ih-accent: #b41c36; --ih-border: #e5e7eb; --ih-muted: #626b7a;
  --ih-type-small: 12px; --ih-type-body: 14px; --ih-type-section: 16px;
  --ih-font-body: var(--ih-type-body); --ih-font-title: 28px; --ih-button-height: 40px; --ih-input-height: 40px;
  display: grid; grid-template-columns: 170px minmax(0,1fr); min-height: 660px;
  background: #f7f8fa; color: #202733; border: 1px solid var(--ih-border); border-radius: 14px;
  overflow: clip; font-family: var(--ih-font-family, system-ui, -apple-system, "Segoe UI", sans-serif); text-align: left; isolation: isolate;
}
.ih-workspace *, .ih-workspace *::before, .ih-workspace *::after { box-sizing: border-box; }
.ih-workspace .ih-sidebar { background: #fff; border-right: 1px solid var(--ih-border); padding: 28px 14px; display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.ih-workspace .ih-brand { display: flex; align-items: center; gap: 10px; color: #202733; font-weight: 750; font-size: 21px; letter-spacing: -.6px; text-decoration: none; padding-inline: 8px; }
.ih-workspace .ih-brand-mark { width: 30px; height: 32px; display: grid; place-items: center; background: var(--ih-accent); color: #fff; font: italic 700 26px Georgia,serif; border-radius: 9px 9px 9px 3px; }
.ih-workspace .ih-sidebar-caption { margin: 12px 10px -14px; font-size: var(--ih-type-small); letter-spacing: 1.5px; text-transform: uppercase; color: var(--ih-muted); font-weight: 650; }
.ih-workspace .ih-side-links { display: grid; gap: 5px; }
.ih-workspace .ih-side-links a { display: flex; gap: 11px; padding: 11px 12px; border-radius: 7px; text-decoration: none; color: #596171; font-size: var(--ih-type-body); font-weight: 550; }
.ih-workspace .ih-side-links a > span { width: 18px; font-size: var(--ih-type-section); line-height: 20px; }
.ih-workspace .ih-side-links a:hover { background: #f7f8fa; color: #202733; }
.ih-workspace .ih-side-links a[aria-current] { background: #fbedef; color: #a01c32; box-shadow: inset 3px 0 #b41c36; }
.ih-workspace .ih-sidebar-note { margin-top: auto; padding: 16px 12px; background: #f7f8fa; border: 1px solid #eef0f3; border-radius: 9px; font-size: var(--ih-type-body); color: var(--ih-muted); }
.ih-workspace .ih-sidebar-note strong { display: block; color: #333c49; margin: 8px 0; font-size: var(--ih-type-body); }
.ih-workspace .ih-sidebar-note p { margin: 0 0 10px; }
.ih-workspace .ih-sidebar-note a { color: #a01c32; font-weight: 650; text-decoration: none; }
.ih-workspace .ih-note-icon { color: #a01c32; font-size: 24px; }
.ih-workspace .ih-workspace-main { min-width: 0; padding: 24px; }
.ih-workspace .ih-page-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 26px; }
.ih-workspace h1 { font-size: 28px; font-weight: 720; letter-spacing: -.7px; line-height: 1.2; margin: 0 0 9px; color: #202733; }
.ih-workspace .ih-eyebrow { font-size: var(--ih-type-small); color: var(--ih-muted); margin: 0 0 18px; }
.ih-workspace .ih-eyebrow > span { color: #a4aab4; margin: 0 9px; }
.ih-workspace .ih-page-intro { color: var(--ih-muted); margin: 0; font-size: var(--ih-type-body); max-width: 500px; }
.ih-workspace .btn { font-size: var(--ih-type-body); font-weight: 600; min-height: 40px; padding: 9px 14px; border-radius: 7px; box-shadow: none; }
.ih-workspace .btn-primary { background: var(--ih-accent); border: 1px solid var(--ih-accent); color: #fff; }
.ih-workspace .btn-primary:hover { background: #94182c; border-color: #94182c; }
.ih-workspace .btn-secondary { background: #fff; border: 1px solid #d7dce3; color: #343e4d; }
.ih-workspace .btn-secondary:hover { background: #f3f4f6; border-color: #a9b1bf; }
.ih-workspace .ih-create { white-space: nowrap; flex-shrink: 0; }
.ih-workspace .ih-create > span { font-size: 20px; line-height: 18px; }
.ih-workspace .ih-stage-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; margin-bottom: 22px; border-bottom: 1px solid var(--ih-border); }
.ih-workspace .ih-stage-tabs a { display: inline-flex; align-items: center; gap: 6px; color: #626b7a; font-size: var(--ih-type-body); text-decoration: none; padding: 10px 0 12px; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.ih-workspace .ih-stage-tabs a[aria-current] { color: #a01c32; border-bottom-color: #b41c36; font-weight: 650; }
.ih-workspace .ih-stage-tabs a > span { background: #eceef1; color: #626b7a; border-radius: 4px; min-width: 19px; padding: 1px 4px; font-size: var(--ih-type-small); text-align: center; }
.ih-workspace .ih-stage-tabs a[aria-current] > span { background: #f6dfe4; color: #93192d; }
.ih-workspace .ih-board-panel { background: #fff; border: 1px solid var(--ih-border); border-radius: 10px; overflow: clip; }
.ih-workspace .ih-board-tools { padding: 18px; display: flex; align-items: end; gap: 10px; }
.ih-workspace .ih-filters { flex: 1; gap: 10px; margin: 0; min-width: 0; }
.ih-workspace .ih-filters label { flex: 1 1 110px; font-size: var(--ih-type-small); font-weight: 600; color: var(--ih-muted); }
.ih-workspace .ih-filters label:first-of-type { flex: 2 1 180px; }
.ih-workspace :is(input:not([type=hidden]),select,textarea) { border: 1px solid #d7dce3; border-radius: 6px; padding: 9px 10px; color: #303a49; background: #fff; box-shadow: none; }
.ih-workspace .ih-filters :is(input,select) { font-size: var(--ih-type-body); font-weight: 400; }
.ih-workspace input::placeholder { color: #727b8a; }
.ih-workspace .ih-view-switch { display: flex; border: 1px solid #d7dce3; border-radius: 6px; overflow: clip; flex-shrink: 0; }
.ih-workspace .ih-view-switch a { width: 34px; height: 38px; display: grid; place-items: center; color: #677181; text-decoration: none; font-size: 21px; }
.ih-workspace .ih-view-switch a[aria-current] { background: #fbedef; color: #9f1b31; }
.ih-workspace .ih-view-switch a + a { border-left: 1px solid #e5e7eb; }
.ih-workspace .ih-filter-reset { font-size: var(--ih-type-body); color: #a01c32; }
.ih-workspace .ih-idea-table { width: 100%; border-collapse: collapse; font-size: var(--ih-type-body); table-layout: auto; margin: 0; }
.ih-workspace .ih-idea-table th { background: #f8f9fb; border-block: 1px solid #e9ecf0; color: #626b7a; font-size: var(--ih-type-small); font-weight: 650; white-space: nowrap; padding: 13px 10px; }
.ih-workspace .ih-idea-table td { padding: 18px 10px; border-bottom: 1px solid #edf0f3; vertical-align: middle; color: #525d6c; }
.ih-workspace .ih-idea-table tr:last-child td { border-bottom: 0; }
.ih-workspace .ih-idea-table tbody tr:hover { background: #fcf8f9; }
.ih-workspace .ih-idea-table :is(th,td):first-child { padding-left: 20px; }
.ih-workspace .ih-idea-table :is(th,td):last-child { padding-right: 20px; }
.ih-workspace .ih-title-cell { width: 32%; min-width: 170px; }
.ih-workspace .ih-idea-title { color: #273241; font-size: var(--ih-type-body); font-weight: 600; text-decoration: none; line-height: 1.5; }
.ih-workspace .ih-idea-title:hover { color: #a01c32; text-decoration: underline; text-underline-offset: 3px; }
.ih-workspace .ih-row-reference { display: block; font-size: var(--ih-type-small); color: #626b7a; margin-top: 4px; }
.ih-workspace .ih-person { white-space: nowrap; display: flex; align-items: center; gap: 7px; font-size: var(--ih-type-small); }
.ih-workspace .ih-avatar { display: inline-grid; flex-shrink: 0; place-items: center; width: 26px; height: 26px; background: #eeeaf8; color: #65518a; border-radius: 50%; font-size: var(--ih-type-small); font-weight: 650; }
.ih-workspace .ih-number { text-align: center; font-variant-numeric: tabular-nums; }
.ih-workspace .ih-date { white-space: nowrap; font-size: var(--ih-type-small); }
.ih-workspace .ih-badge { border-radius: 5px; font-size: var(--ih-type-small); font-weight: 600; padding: 3px 6px; white-space: nowrap; }
.ih-workspace .ih-status::before { content: ''; width: 5px; height: 5px; background: currentColor; border-radius: 50%; }
.ih-workspace .ih-status-submitted { background: #edf4ff; color: #285a9a; }
.ih-workspace .ih-status-under_review { background: #fff5dc; color: #805a0d; }
.ih-workspace .ih-status-accepted { background: #e7f5f2; color: #22665b; }
.ih-workspace .ih-status-planned { background: #f0ebfa; color: #695198; }
.ih-workspace .ih-status-in_progress { background: #fff0e3; color: #9b5014; }
.ih-workspace .ih-status-implemented { background: #e7f5ed; color: #286540; }
.ih-workspace .ih-status-declined, .ih-workspace .ih-status-duplicate { background: #f2f3f5; color: #626b7a; }
.ih-workspace .ih-board-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--ih-border); }
.ih-workspace .ih-result-count { margin: 0; font-size: var(--ih-type-small); }
.ih-workspace .pagination { margin: 0; gap: 3px; }
.ih-workspace .pagination .page-link { font-size: var(--ih-type-small); padding: 6px 10px; border-radius: 4px; color: #596171; border-color: #e5e7eb; }
.ih-workspace .pagination .active .page-link { background: #fbedef; color: #a01c32; border-color: #f1d0d8; }
.ih-workspace .ih-empty-state { padding: 64px 24px; text-align: center; }
.ih-workspace .ih-empty-state > span { font-size: 40px; color: #9ca5b3; }
.ih-workspace .ih-empty-state h2 { font-size: 18px; margin: 12px 0 6px; }
.ih-workspace .ih-empty-state p { color: var(--ih-muted); margin: 0 0 20px; font-size: var(--ih-type-body); }
.ih-workspace .ih-notice { margin: 0 18px 16px; padding: 10px 12px; background: #fff5dc; font-size: var(--ih-type-body); border-radius: 6px; color: #805a0d; }
.ih-workspace .ih-card-list { padding: 0 20px; }
.ih-workspace .ih-idea-card { display: flex; align-items: center; gap: 18px; padding: 22px 0; border-top: 1px solid #edf0f3; }
.ih-workspace .ih-vote-tile { width: 48px; min-height: 58px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #596171; border: 1px solid #e0e4ea; border-radius: 7px; text-decoration: none; flex-shrink: 0; line-height: 1.2; }
.ih-workspace .ih-vote-tile > span { font-size: 23px; line-height: 16px; }
.ih-workspace .ih-vote-tile strong { font-size: var(--ih-type-body); margin-top: 5px; }
.ih-workspace .ih-vote-tile:hover { border-color: #b41c36; color: #a01c32; background: #fdf5f7; }
.ih-workspace .ih-card-content { min-width: 0; flex: 1; }
.ih-workspace .ih-card-content h2 { font-size: var(--ih-type-section); margin: 7px 0; }
.ih-workspace .ih-card-content .ih-idea-title { font-size: var(--ih-type-section); }
.ih-workspace .ih-card-labels { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--ih-muted); font-size: var(--ih-type-small); }
.ih-workspace .ih-card-meta { font-size: var(--ih-type-small); color: var(--ih-muted); margin: 0; }
.ih-workspace .ih-card-meta > span { margin: 0 5px; }
.ih-workspace .ih-comment-count { color: #626b7a; font-size: var(--ih-type-body); display: flex; gap: 6px; align-items: center; text-decoration: none; padding: 8px; }
.ih-workspace .ih-roadmap { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding: 0 18px 22px; }
.ih-workspace .ih-roadmap-column { min-width: 0; background: #f7f8fa; border: 1px solid #edf0f3; border-radius: 8px; padding: 12px; }
.ih-workspace .ih-roadmap-column > h2 { display: flex; align-items: center; gap: 8px; font-size: var(--ih-type-body); margin: 0 0 16px; }
.ih-workspace .ih-status-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.ih-workspace .ih-column-count { color: #626b7a; background: #e9ecf0; border-radius: 4px; padding: 1px 6px; font-size: var(--ih-type-small); margin-left: auto; }
.ih-workspace .ih-roadmap-column .ih-idea-card { display: flex; align-items: start; flex-wrap: wrap; gap: 9px; background: #fff; border: 1px solid #e5e7eb; border-radius: 7px; padding: 12px; margin-bottom: 10px; box-shadow: 0 2px 3px #20273304; }
.ih-workspace .ih-roadmap-column .ih-card-content { flex-basis: 100%; order: -1; }
.ih-workspace .ih-roadmap-column .ih-vote-tile { min-height: 30px; width: auto; flex-direction: row; padding: 5px 8px; gap: 5px; }
.ih-workspace .ih-roadmap-column .ih-vote-tile strong { margin: 0; font-size: var(--ih-type-small); }
.ih-workspace .ih-roadmap-column .ih-comment-count { margin-left: auto; }
.ih-workspace .ih-column-empty { font-size: var(--ih-type-body); color: var(--ih-muted); text-align: center; padding: 30px 5px; border: 1px dashed #d7dce3; border-radius: 6px; }
.ih-workspace .ih-back { display: inline-block; color: #626b7a; text-decoration: none; font-size: var(--ih-type-body); margin-bottom: 22px; }
.ih-detail .ih-page-header { margin-bottom: 24px; }
.ih-detail .ih-page-header h1 { font-size: 26px; max-width: 700px; }
.ih-workspace .ih-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 200px; gap: 22px; align-items: start; }
.ih-workspace .ih-detail-content { min-width: 0; }
.ih-workspace .ih-content-panel, .ih-workspace .ih-community, .ih-workspace .ih-detail-properties, .ih-workspace .ih-editor-panel { border: 1px solid var(--ih-border); background: #fff; border-radius: 10px; padding: 24px; }
.ih-workspace .ih-author-line { display: flex; align-items: center; gap: 9px; font-size: var(--ih-type-body); }
.ih-workspace .ih-author-line .ih-meta { font-size: var(--ih-type-small); margin-top: 2px; }
.ih-workspace .ih-description { font-size: var(--ih-type-body); line-height: 1.8; margin: 22px 0 4px; }
.ih-workspace .ih-detail-properties { padding: 20px; }
.ih-workspace .ih-detail-properties h2 { font-size: var(--ih-type-body); margin: 0 0 20px; }
.ih-workspace .ih-detail-properties dl { margin: 0 0 20px; }
.ih-workspace .ih-detail-properties dt { font-size: var(--ih-type-small); color: #626b7a; font-weight: 500; margin: 18px 0 5px; }
.ih-workspace .ih-detail-properties dd { margin: 0; font-size: var(--ih-type-body); }
.ih-workspace .ih-detail-properties .btn { width: 100%; }
.ih-workspace .ih-danger-zone { margin-top: 20px; font-size: var(--ih-type-small); color: #626b7a; }
.ih-workspace .ih-danger-zone summary { cursor: pointer; }
.ih-workspace .ih-community { margin-top: 18px; }
.ih-workspace .ih-voting { margin-top: 0; border-top: 0; padding-top: 0; }
.ih-workspace .ih-vote-summary { font-size: var(--ih-type-small); }
.ih-workspace .ih-vote-feedback { font-size: var(--ih-type-small); flex-basis: 100%; }
.ih-workspace .ih-community h2 { font-size: var(--ih-type-section); margin: 28px 0 16px; display: flex; align-items: center; gap: 10px; }
.ih-workspace .ih-community h2 .ih-column-count { margin-left: 0; }
.ih-workspace .ih-thread { padding: 20px 0; }
.ih-workspace .ih-comment { font-size: var(--ih-type-body); line-height: 1.7; }
.ih-workspace .ih-comment .ih-meta { font-size: var(--ih-type-small); }
.ih-workspace .ih-community summary { font-size: var(--ih-type-body); }
.ih-workspace .ih-reply-compose summary { color: #9f1b31; }
.ih-workspace .ih-hint { font-size: var(--ih-type-small); line-height: 1.6; }
.ih-workspace .ih-community .ih-form label, .ih-workspace .ih-comment-form label { font-size: var(--ih-type-body); font-weight: 600; }
.ih-workspace .ih-community .ih-form :is(select,input,textarea) { width: 100%; }
.ih-workspace .ih-editor-panel { max-width: 850px; }
.ih-workspace .ih-idea-form { margin-top: 26px; }
.ih-workspace .ih-field .control-label { font-size: var(--ih-type-body); font-weight: 600; }
.ih-workspace .ih-field :is(input,select,textarea) { font-size: var(--ih-type-body); }
.ih-workspace .ih-field textarea { min-height: 180px; }
.ih-workspace .ih-access-panel { margin-top: 26px; padding-top: 20px; }
.ih-workspace .ih-form-actions { background: #fff; padding-bottom: 0; }
@media (max-width: 1100px) {
 .ih-foundation.ih-workspace { grid-template-columns: 165px minmax(0,1fr); }
 .ih-workspace .ih-workspace-main { padding: 22px; }
 .ih-workspace .ih-idea-table :is(th,td) { padding-inline: 7px; }
 .ih-workspace .ih-idea-table :is(th,td):first-child { padding-left: 14px; }
 .ih-workspace .ih-idea-table :is(th,td):last-child { padding-right: 14px; }
 .ih-workspace .ih-detail-grid { grid-template-columns: minmax(0,1fr) 170px; gap: 14px; }
 .ih-workspace .ih-content-panel, .ih-workspace .ih-community { padding: 20px; }
}
@media (max-width: 850px) {
 .ih-foundation.ih-workspace { grid-template-columns: minmax(0,1fr); }
 .ih-workspace .ih-sidebar { padding: 14px 20px; flex-direction: row; align-items: center; gap: 20px; border-right: 0; border-bottom: 1px solid var(--ih-border); }
 .ih-workspace .ih-sidebar-caption, .ih-workspace .ih-sidebar-note { display: none; }
 .ih-workspace .ih-side-links { display: flex; flex-wrap: wrap; margin-left: auto; gap: 4px; }
 .ih-workspace .ih-side-links a { padding: 8px 10px; }
 .ih-workspace .ih-side-links a > span { display: none; }
 .ih-workspace .ih-detail-grid { grid-template-columns: minmax(0,1fr); }
 .ih-workspace .ih-detail-properties { grid-row: 1; }
 .ih-workspace .ih-detail-properties dl { display: flex; gap: 8px 16px; flex-wrap: wrap; align-items: center; }
 .ih-workspace .ih-detail-properties dt { margin: 0; }
 .ih-workspace .ih-detail-properties dd { margin-right: 10px; }
 .ih-workspace .ih-detail-properties .btn { width: auto; }
}
@media (max-width: 640px) {
 .ih-foundation.ih-workspace { border-radius: 9px; --ih-button-height: 44px; --ih-input-height: 44px; }
 .ih-workspace .ih-sidebar { padding: 16px; flex-wrap: wrap; gap: 12px; }
 .ih-workspace .ih-brand { font-size: 18px; padding: 0; }
 .ih-workspace .ih-side-links { margin: 0; width: 100%; }
 .ih-workspace .ih-side-links a { font-size: var(--ih-type-body); min-height: 44px; align-items: center; }
 .ih-workspace .ih-workspace-main { padding: 20px 14px; }
 .ih-workspace .ih-page-header { flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
 .ih-workspace h1, .ih-detail .ih-page-header h1 { font-size: 24px; }
 .ih-workspace .ih-eyebrow { margin-bottom: 12px; }
 .ih-workspace .ih-page-intro { font-size: var(--ih-type-body); }
 .ih-workspace .btn { min-height: 44px; }
 .ih-workspace .ih-stage-tabs { gap: 2px 15px; margin-bottom: 16px; }
 .ih-workspace .ih-stage-tabs a { min-height: 44px; }
 .ih-workspace .ih-board-tools { padding: 14px; flex-wrap: wrap; }
 .ih-workspace .ih-filters { flex-basis: 100%; }
 .ih-workspace .ih-filters label { flex-basis: 100%; }
 .ih-workspace .ih-filters :is(input,select), .ih-workspace :is(input,select,textarea), .ih-workspace .ih-field :is(input,select,textarea) { font-size: 16px; }
 .ih-workspace .ih-view-switch a { height: 44px; width: 44px; }
 .ih-workspace .ih-idea-table, .ih-workspace .ih-idea-table tbody { display: block; }
 .ih-workspace .ih-idea-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .ih-workspace .ih-idea-table tr { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; padding: 18px 14px; border-top: 1px solid #e5e7eb; }
 .ih-workspace .ih-idea-table :is(td,td:first-child,td:last-child) { display: block; padding: 0; border: 0; text-align: left; min-width: 0; }
 .ih-workspace .ih-idea-table td::before { content: attr(data-label); display: block; color: #626b7a; font-size: var(--ih-type-small); margin-bottom: 5px; }
 .ih-workspace .ih-idea-table .ih-title-cell { grid-column: 1 / -1; width: auto; min-width: 0; }
 .ih-workspace .ih-title-cell::before { display: none; }
 .ih-workspace .ih-idea-title { font-size: var(--ih-type-body); }
 .ih-workspace .ih-person { font-size: var(--ih-type-body); }
 .ih-workspace .ih-board-footer { flex-wrap: wrap; padding: 14px; }
 .ih-workspace .pagination { flex-wrap: wrap; }
 .ih-workspace .ih-roadmap { grid-template-columns: minmax(0,1fr); padding: 0 14px 14px; }
 .ih-workspace .ih-card-list { padding: 0 14px; }
 .ih-workspace .ih-idea-card { gap: 12px; flex-wrap: wrap; }
 .ih-workspace .ih-card-content { flex-basis: calc(100% - 70px); }
 .ih-workspace .ih-content-panel, .ih-workspace .ih-community, .ih-workspace .ih-editor-panel, .ih-workspace .ih-detail-properties { padding: 16px; }
 .ih-workspace .ih-detail-properties dl { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .ih-workspace .ih-field textarea { min-height: 150px; }
 .ih-workspace .ih-form-actions .ih-hint { flex-basis: 100%; }
}

.ih-workspace .ih-filter-options { display: contents; }
.ih-workspace .ih-filter-options > summary { display: none; }
.ih-workspace .ih-idea-table td:nth-child(4) { overflow-wrap: normal; min-width: 72px; }
@media (max-width: 640px) {
 .ih-workspace .ih-filter-options { display: block; width: 100%; }
 .ih-workspace .ih-filter-options > summary { display: list-item; cursor: pointer; color: #525d6c; font-size: var(--ih-type-body); min-height: 44px; padding: 12px 0; }
 .ih-workspace .ih-filter-options label { margin-bottom: 10px; }
}

.ih-workspace .ih-view-switch { margin-left: auto; }
@media (max-width: 640px) {
 .ih-workspace .ih-stage-tabs { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: thin; padding-bottom: 5px; }
 .ih-workspace .ih-idea-table td.ih-title-cell::before { display: none; }
}

.ih-workspace .ih-filter-options { display: block; flex: 2 1 230px; min-width: 0; }
.ih-workspace .ih-filter-fields { display: flex; align-items: end; gap: 10px; }
.ih-workspace .ih-filter-fields label { width: 50%; }
@media (max-width: 640px) {
 .ih-workspace .ih-filter-options { flex-basis: 100%; }
 .ih-workspace .ih-filter-fields { display: block; }
 .ih-workspace .ih-filter-fields label { width: 100%; }
}

/* Keep template heading, link and control fonts out of the component typography. */
.ih-workspace :is(h1,h2,h3,p,a,button,input,select,textarea,label,summary,table,th,td,dt,dd,span,strong,legend) { font-family: inherit; }
.ih-workspace .ih-brand-mark { font-family: Georgia, serif; }
.ih-workspace .ih-idea-table { line-height: 1.5; }
.ih-workspace .ih-table-wrap { max-width: 100%; overflow-x: auto; }
.ih-workspace .ih-filters label { font-size: var(--ih-type-small); }
.ih-workspace .ih-field .form-text { font-size: var(--ih-type-small); }
.ih-workspace .ih-brand { white-space: nowrap; font-size: 20px; padding-inline: 0; }
.ih-workspace .ih-brand-mark { flex-shrink: 0; }

.ih-workspace .ih-board-voting form { margin: 0; }
.ih-workspace .ih-board-voting { flex-shrink: 0; }
.ih-workspace .ih-board-voting button { background: #fff; font-family: inherit; cursor: pointer; }
.ih-workspace .ih-board-voting button.is-voted { background: #fbedef; border-color: #b41c36; color: #9f1b31; }
.ih-workspace .ih-board-voting button:disabled { cursor: progress; opacity: .65; }
.ih-workspace .ih-board-voting button:focus-visible { outline: 2px solid var(--ih-accent); outline-offset: 3px; }
.ih-workspace .ih-board-vote-feedback { display: block; max-width: 180px; font-size: var(--ih-type-small); color: var(--ih-muted); }
.ih-workspace .ih-board-vote-feedback:empty { display: none; }
.ih-workspace .ih-number .ih-board-voting { display: grid; justify-items: center; }
.ih-workspace .ih-number .ih-vote-tile { width: 44px; min-height: 44px; }
.ih-workspace .ih-vote-total { display: inline-flex; align-items: center; gap: 5px; }
.ih-workspace .ih-roadmap-column .ih-board-voting { margin-right: auto; }
.ih-workspace .ih-stage-more { display: block; padding: 8px; font-size: var(--ih-type-small); color: var(--ih-accent); }
.ih-workspace .ih-suggestions { padding: 16px; border: 1px solid #e1d9ec; background: #f8f5fc; border-radius: 8px; }
.ih-workspace .ih-suggestions h2 { font-size: var(--ih-type-section); margin: 0 0 8px; }
.ih-workspace .ih-suggestions p { margin: 6px 0; font-size: var(--ih-type-small); }
.ih-workspace .ih-suggestions ul { padding-left: 20px; margin: 12px 0; }
.ih-workspace .ih-suggestions a { color: #674380; font-size: var(--ih-type-body); }
.ih-latest { font: 14px/1.5 var(--ih-font-family,system-ui,-apple-system,"Segoe UI",sans-serif); }
.ih-latest ul { list-style: none; padding: 0; margin: 0; }
.ih-latest li { padding: 12px 0; border-bottom: 1px solid #e5e7eb; }
.ih-latest li > a { display: block; font-family: inherit; font-size: 14px; line-height: 1.5; font-weight: 600; color: #273241; text-decoration: none; overflow-wrap: anywhere; }
.ih-latest a:focus-visible { outline: 2px solid #b41c36; outline-offset: 3px; }
.ih-latest-meta { display: flex; gap: 12px; flex-wrap: wrap; color: #626b7a; font-size: 12px; margin-top: 5px; }
.ih-latest-all { display: inline-block; padding-top: 12px; color: #a01c32; }
.ih-workspace .ih-board-vote-feedback { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ih-workspace .ih-board-feedback { margin: 0; padding: 10px 18px; color: #343e4d; background: #f7f8fa; border-top: 1px solid #e5e7eb; font-size: var(--ih-type-small); }
.ih-workspace .ih-board-feedback:empty { display: none; }

/* Preferences and discussion updates share the frontend type scale. */
.ih-workspace .ih-pref-row { padding: 14px 0; border-bottom: 1px solid #e5e7eb; }
.ih-workspace .ih-pref-row label { display: flex; align-items: center; gap: 12px; font-size: var(--ih-type-body); }
.ih-workspace .ih-pref-row input[type=checkbox] { min-height: 0; width: 18px; height: 18px; padding: 0; flex-shrink: 0; accent-color: var(--ih-accent); }
.ih-workspace #ih-notification-preferences > button { margin-top: 20px; }
.ih-workspace .ih-followed-panel { margin-top: 28px; }
.ih-workspace .ih-followed-panel h2 { font-size: var(--ih-type-section); }
.ih-workspace .ih-followed-list { list-style: none; padding: 0; }
.ih-workspace .ih-followed-list li { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 14px 0; border-bottom: 1px solid #e5e7eb; }
.ih-workspace .ih-followed-list form { margin: 0; }
.ih-workspace #ih-follow { margin-bottom: 10px; }
.ih-workspace .ih-notification-settings { display: block; font-size: var(--ih-type-small); margin-bottom: 20px; color: var(--ih-muted); }
.ih-foundation .ih-status-update { border-left: 3px solid #8056a3; background: #f6f2fa; padding: 16px; margin: 20px 0; font-size: 14px; border-radius: 0 7px 7px 0; }
.ih-foundation .ih-status-update p { margin: 8px 0; }
.ih-foundation.ih-admin { --ih-font-body:14px; --ih-font-title:26px; --ih-button-height:40px; --ih-input-height:40px; --ih-accent:#b41c36; font: 14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; color:#273241; background:#f6f7f9; border:1px solid #e3e6eb; border-radius:12px; padding:26px; }
.ih-admin :is(h1,h2,p,a,button,label,input,select,textarea,th,td) { font-family:inherit; }
.ih-admin h1 { font-size:26px; letter-spacing:-.5px; margin:0 0 8px; }
.ih-admin h2 { font-size:18px; margin:0; }
.ih-admin .ih-admin-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.ih-admin .ih-admin-eyebrow { font-size:12px; color:#626b7a; margin:0 0 14px; }
.ih-admin .ih-admin-intro { color:#626b7a; margin:0; max-width:760px; }
.ih-admin .ih-admin-nav { display:flex; flex-wrap:wrap; gap:8px 24px; border-bottom:1px solid #dce1e8; margin-bottom:24px; }
.ih-admin .ih-admin-nav a { display:inline-flex; align-items:center; min-height:44px; padding:10px 0; color:#626b7a; text-decoration:none; border-bottom:2px solid transparent; }
.ih-admin .ih-admin-nav a[aria-current] { border-color:#b41c36; color:#a01c32; font-weight:600; }
.ih-admin .btn { font-size:14px; font-weight:600; border-radius:7px; min-height:40px; padding:8px 12px; }
.ih-admin .btn-primary { color:#fff; background:#b41c36; border:1px solid #b41c36; }
.ih-admin .btn-secondary { color:#343e4d; background:#fff; border:1px solid #d7dce3; }
.ih-admin :is(input:not([type=hidden]),select,textarea) { border:1px solid #d7dce3; border-radius:6px; padding:8px 10px; font-size:14px; }
.ih-admin .ih-admin-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.ih-admin .ih-stat-card { padding:20px; display:flex; flex-direction:column; gap:12px; border:1px solid #e3e6eb; background:#fff; border-radius:9px; color:inherit; text-decoration:none; }
.ih-admin .ih-stat-card > span { color:#626b7a; font-size:14px; }
.ih-admin .ih-stat-card strong { font-size:32px; line-height:1.2; }
.ih-admin .ih-stat-card .ih-stat-detail { color:#a01c32; font-size:12px; }
.ih-admin .ih-admin-dashboard-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(240px,1fr); gap:20px; align-items:start; }
.ih-admin .ih-admin-panel { border:1px solid #e3e6eb; border-radius:9px; background:#fff; padding:22px; min-width:0; }
.ih-admin .ih-admin-panel > header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.ih-admin .ih-admin-panel > header > a { font-size:12px; color:#a01c32; }
.ih-admin .ih-admin-recent { list-style:none; padding:0; margin:0; }
.ih-admin .ih-admin-recent li { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px 0; border-top:1px solid #e5e7eb; }
.ih-admin .ih-admin-recent li > div { flex:1 1 200px; }
.ih-admin .ih-meta, .ih-admin .ih-hint { font-size:12px; color:#626b7a; }
.ih-admin .ih-badge { font-size:12px; padding:4px 8px; border-radius:5px; }
.ih-admin .ih-status-submitted { background:#edf4ff; color:#285a9a; }
.ih-admin .ih-status-under_review { background:#fff5dc; color:#805a0d; }
.ih-admin .ih-status-accepted, .ih-admin .ih-status-implemented { background:#e7f5ed; color:#286540; }
.ih-admin .ih-status-planned { background:#f0ebfa; color:#695198; }
.ih-admin .ih-status-in_progress { background:#fff0e3; color:#9b5014; }
.ih-admin .ih-admin-table-wrap { overflow-x:auto; }
.ih-admin .ih-admin-table { width:100%; border-collapse:collapse; font-size:14px; }
.ih-admin .ih-admin-table :is(th,td) { padding:16px 12px; border-bottom:1px solid #e5e7eb; text-align:left; }
.ih-admin .ih-admin-table th { font-size:12px; color:#626b7a; background:#f8f9fb; font-weight:600; }
.ih-admin .ih-admin-table td:first-child { min-width:220px; }
.ih-admin .ih-admin-table td.ih-admin-actions { min-width:190px; }
.ih-admin .ih-admin-actions .btn { margin:3px; }
.ih-admin .ih-admin-comment { padding:22px 0; border-bottom:1px solid #e5e7eb; }
.ih-admin .ih-admin-comment > h2 { font-size:16px; margin-bottom:14px; }
.ih-admin .ih-admin-comment > h2 a { color:#273241; text-decoration:none; }
.ih-admin .ih-admin-comment > p { font-size:14px; }
.ih-admin .ih-queue-summary { display:grid; grid-template-columns:1fr auto; gap:12px; border-block:1px solid #e5e7eb; padding:16px 0; }
.ih-admin .ih-queue-summary dt { color:#626b7a; font-weight:400; }
.ih-admin .ih-queue-summary dd { margin:0; font-weight:600; }
.ih-admin .ih-filters { margin-bottom:22px; gap:12px; }
.ih-admin .ih-filters label { font-size:12px; color:#626b7a; }
.ih-admin .ih-admin-empty { padding:24px 0; color:#626b7a; }
@media(max-width:900px) {
 .ih-admin .ih-admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ih-admin .ih-admin-dashboard-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:640px) {
 .ih-foundation.ih-admin { padding:16px; }
 .ih-admin .ih-admin-header { flex-wrap:wrap; }
 .ih-admin .ih-admin-panel { padding:16px; }
 .ih-admin :is(input,select,textarea) { font-size:16px; }
 .ih-admin .btn { min-height:44px; }
}
.ih-admin .ih-admin-table th, .ih-admin .ih-badge { white-space: nowrap; }
.ih-admin .ih-admin-table td:nth-child(4) { overflow-wrap: normal; min-width: 90px; }
.ih-admin .ih-stat-card > span:first-child { min-height: 42px; }

/* Informational landing page, also rendered in Joomla's native component options. */
.ih-overview { font:14px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif; color:#263b56; margin-bottom:28px; }
.ih-overview *, .ih-overview *::before, .ih-overview *::after { box-sizing:border-box; }
.ih-overview .ih-product-card { background:#fff; border:1px solid #d8e2ed; border-radius:12px; padding:26px 28px; }
.ih-overview .ih-product-top { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.ih-overview .ih-product-top img { width:288px; max-width:80%; height:auto; display:block; }
.ih-overview .ih-version-badge { display:inline-flex; border:1px solid #d5e3f0; background:#f2f7fc; color:#082957; font-size:12px; font-weight:600; white-space:nowrap; border-radius:20px; padding:3px 10px; }
.ih-overview .ih-product-tagline { color:#082957; font-weight:650; font-size:20px; margin:22px 0 12px; }
.ih-overview .ih-product-copy { max-width:850px; margin:0; color:#52647a; font-size:14px; line-height:1.8; }
.ih-overview .ih-product-license { font-size:12px; color:#62758d; margin:20px 0 0; }
.ih-overview .ih-product-license span { margin:0 8px; }
.ih-overview .ih-docs-heading { font-size:12px; text-transform:uppercase; letter-spacing:1px; color:#52647a; font-weight:600; margin:24px 0 10px; }
.ih-overview .ih-documentation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ih-overview .ih-documentation-card { padding:22px; background:#f7f9fc; border:1px solid #d8e2ed; border-radius:10px; }
.ih-overview .ih-documentation-card h2 { font:600 16px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif; margin:0 0 9px; color:#082957; display:flex; gap:10px; align-items:center; }
.ih-overview .ih-documentation-card h2 > span { color:#087c83; font-size:20px; }
.ih-overview .ih-documentation-card p { margin:0 0 16px; font-size:14px; color:#52647a; }
.ih-overview .ih-documentation-links { display:flex; flex-wrap:wrap; gap:8px; }
.ih-overview .ih-documentation-links a { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:7px 12px; font-size:13px; font-weight:600; color:#082957; background:#fff; border:1px solid #cedcec; border-radius:5px; text-decoration:none; }
.ih-overview .ih-documentation-links a:hover { background:#edf4fa; }
.ih-overview a:focus-visible { outline:2px solid #087c83; outline-offset:3px; }
.ih-overview-field { min-width:0; width:100%; }
.ih-config-settings-head h2 { font:600 20px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif; color:#082957; margin:26px 0 6px; }
.ih-config-settings-head p { font-size:14px; color:#52647a; margin:0 0 20px; }
.form-grid:has(> .ih-overview-field) { display:block; }
.form-grid:has(> .ih-overview-field) > .control-group { display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,2fr); gap:20px; align-items:start; background:#fff; border:1px solid #d8e2ed; border-radius:9px; padding:22px; margin-bottom:14px; }
.form-grid:has(> .ih-overview-field) > .control-group .controls { min-width:0; }
.ih-admin .ih-admin-activity-heading { margin:30px 0 18px; }
.ih-admin .ih-admin-nav a[aria-current] { color:#082957; border-color:#087c83; }
.ih-admin .btn-primary { background:#082957; border-color:#082957; }
.ih-admin .ih-stat-card .ih-stat-detail, .ih-admin .ih-admin-panel > header > a { color:#082957; }
.ih-foundation.ih-admin { --ih-accent:#087c83; }
@media(max-width:700px) {
 .ih-overview .ih-product-card { padding:20px; }
 .ih-overview .ih-product-top img { width:220px; max-width:70%; }
 .ih-overview .ih-product-tagline { font-size:18px; }
 .ih-overview .ih-documentation-grid { grid-template-columns:minmax(0,1fr); }
 .ih-overview .ih-documentation-links a { min-height:44px; }
 .form-grid:has(> .ih-overview-field) > .control-group { grid-template-columns:minmax(0,1fr); gap:8px; padding:18px; }
}
.ih-overview .ih-product-top img { min-width:0; }
.ih-overview .ih-version-badge { flex-shrink:0; }

/* Compact reading and contribution layouts; retain the established text/touch sizes. */
.ih-foundation.ih-detail, .ih-foundation.ih-editor { min-height: 0; }
.ih-workspace.ih-detail .ih-workspace-main, .ih-workspace.ih-editor .ih-workspace-main { padding: 18px 22px; }
.ih-workspace.ih-detail .ih-page-header, .ih-workspace.ih-editor .ih-page-header { margin-bottom: 14px; gap: 12px; }
.ih-workspace.ih-detail h1, .ih-workspace.ih-editor h1 { margin-bottom: 0; }
.ih-workspace.ih-detail .ih-back { margin-bottom: 10px; }
.ih-workspace.ih-detail .ih-eyebrow, .ih-workspace.ih-editor .ih-eyebrow { margin-bottom: 8px; }
.ih-workspace .ih-detail-grid { gap: 16px; }
.ih-workspace.ih-detail .ih-content-panel, .ih-workspace.ih-detail .ih-community, .ih-workspace.ih-editor .ih-editor-panel { padding: 16px 18px; }
.ih-workspace.ih-editor .ih-editor-panel { max-width: 960px; }
.ih-workspace.ih-editor .ih-lead { margin-bottom: 10px; }
.ih-workspace.ih-editor .ih-idea-form { margin-top: 12px; }
.ih-workspace.ih-editor .ih-form-grid { gap: 10px 18px; }
.ih-workspace.ih-editor .ih-field textarea { min-height: 108px; }
.ih-workspace.ih-editor .ih-access-panel { margin: 16px 0 10px; padding-top: 12px; }
.ih-workspace.ih-editor .ih-form-actions { margin-top: 10px; padding-top: 10px; }
.ih-workspace.ih-detail .ih-description { margin: 12px 0 0; line-height: 1.65; }
.ih-workspace.ih-detail .ih-community { margin-top: 12px; }
.ih-workspace.ih-detail .ih-voting { padding-bottom: 8px; margin-bottom: 6px; }
.ih-workspace.ih-detail .ih-community .ih-moderation-panel { border-top: 0; border-bottom: 1px solid var(--ih-border); margin: 6px 0; padding: 4px 0; }
.ih-workspace.ih-detail .ih-community summary { min-height: 32px; }
.ih-workspace.ih-detail .ih-community h2 { margin: 16px 0 10px; }
.ih-workspace.ih-detail .ih-comment-form { margin: 10px 0; }
.ih-workspace.ih-detail .ih-detail-properties { padding: 16px; }
.ih-workspace.ih-detail .ih-detail-properties h2 { margin-bottom: 12px; }
.ih-workspace.ih-detail .ih-detail-properties dt { margin-top: 12px; }
.ih-workspace.ih-detail .ih-detail-properties dl { margin-bottom: 14px; }
.ih-workspace.ih-detail .ih-notification-settings { margin-bottom: 12px; }
.ih-workspace.ih-detail .ih-danger-zone { margin-top: 12px; }
.ih-foundation.ih-admin { padding: 18px 22px; }
.ih-admin .ih-admin-header { margin-bottom: 14px; }
.ih-admin .ih-admin-nav { margin-bottom: 18px; }
.ih-admin .ih-admin-about { margin-bottom: 18px; }
.ih-admin .ih-admin-about > summary { cursor: pointer; min-height: 40px; padding: 9px 12px; border: 1px solid #d8e2ed; border-radius: 7px; color: #082957; background: #fff; }
.ih-admin .ih-admin-about[open] > summary { margin-bottom: 14px; }
.ih-admin .ih-admin-activity-heading { margin-top: 18px; }
@media(max-width:640px) {
 .ih-workspace.ih-detail .ih-workspace-main, .ih-workspace.ih-editor .ih-workspace-main { padding: 16px 12px; }
 .ih-workspace.ih-detail .ih-content-panel, .ih-workspace.ih-detail .ih-community, .ih-workspace.ih-editor .ih-editor-panel { padding: 14px; }
 .ih-workspace.ih-detail .ih-community summary { min-height: 44px; }
 .ih-foundation.ih-admin { padding: 16px; }
}
/* One spacing rhythm across boards, settings and both editors. */
.ih-foundation.ih-workspace { min-height: 0; }
.ih-workspace .ih-workspace-main { padding: 18px 22px; }
.ih-workspace .ih-page-header { margin-bottom: 18px; }
.ih-workspace .ih-stage-tabs { margin-bottom: 16px; }
.ih-workspace .ih-board-tools { padding: 14px 16px; }
.ih-workspace .ih-idea-table td { padding-block: 13px; }
.ih-workspace .ih-idea-card { padding-block: 16px; }
.ih-workspace .ih-editor-panel, .ih-workspace .ih-content-panel { padding: 16px 18px; }
.ih-workspace .ih-thread { padding-block: 14px; }
.ih-workspace .ih-followed-panel { margin-top: 20px; }
.ih-workspace .ih-pref-row { padding-block: 10px; }
.ih-workspace #ih-notification-preferences > button { margin-top: 16px; }
.ih-admin .ih-admin-panel { padding: 18px; }
.ih-admin .ih-admin-table :is(th,td) { padding-block: 12px; }
.ih-admin .ih-admin-comment { padding-block: 16px; }
.ih-admin .ih-admin-stats { margin-bottom: 18px; gap: 12px; }
.ih-admin .ih-stat-card { padding: 16px; gap: 8px; }
.ih-foundation .ih-idea-form { container-type: inline-size; max-width: none; }
.ih-foundation .ih-compose-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 24px; align-items: start; }
.ih-foundation .ih-compose-content, .ih-foundation .ih-compose-details { min-width: 0; }
.ih-foundation .ih-compose-content .ih-field textarea { min-height: 136px; }
.ih-foundation .ih-compose-details .ih-access-panel { margin: 16px 0 0; }
.ih-foundation .ih-compose-details > .ih-field { margin-top: 12px; }
@container (max-width:600px) {
 .ih-foundation .ih-compose-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
}
@media(max-width:640px) {
 .ih-workspace .ih-workspace-main { padding: 16px 12px; }
 .ih-workspace .ih-board-tools { padding: 14px; }
 .ih-workspace .ih-editor-panel, .ih-workspace .ih-content-panel { padding: 14px; }
 .ih-foundation .ih-compose-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .ih-admin .ih-admin-panel { padding: 16px; }
}
.ih-workspace .ih-side-links a { gap: 8px; padding-inline: 10px; }
.ih-foundation .ih-compose-details .ih-form-grid { align-items: end; }
.ih-admin .ih-admin-table td.ih-admin-actions { white-space: nowrap; min-width: 210px; }

/* Keep filter text subordinate to idea titles across every board and admin list. */
.ih-foundation .ih-filters :is(input:not([type=hidden]),select,.btn),
.ih-workspace .ih-filter-reset { font-size: 13px; font-weight: 400; line-height: 1.5; }
.ih-foundation .ih-filters input::placeholder { font-size: inherit; }
@media (max-width: 640px) {
 /* Preserve native mobile focus without automatic browser zoom. */
 .ih-foundation .ih-filters :is(input:not([type=hidden]),select) { font-size: 16px; }
}
