:root {
    --font-system: var(--fa-kit-system-font, "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
    --font-content: var(--fa-kit-content-font, "Literata", Georgia, "Times New Roman", serif);
    --color-ui-bg: var(--fa-kit-page, #f4f1ea);
    --color-content-bg: rgba(252, 251, 248, 0.98);
    --color-content-border: var(--fa-kit-border, #d3cabc);
    --color-content-muted: var(--fa-kit-text-muted, #5b625d);
    --fa-shell-bg: var(--fa-kit-page, #f4f1ea);
    --fa-surface: rgba(252, 251, 248, 0.94);
    --fa-surface-muted: rgba(247, 243, 236, 0.92);
    --fa-border: rgba(181, 169, 151, 0.72);
    --fa-border-strong: var(--fa-kit-border-strong, #b5a997);
    --fa-shadow: var(--fa-kit-shadow-high, 0 18px 44px rgba(40, 32, 20, 0.12));
    --fa-shadow-soft: var(--fa-kit-shadow-low, 0 10px 26px rgba(40, 32, 20, 0.08));
    --fa-text: var(--fa-kit-text, #1f241f);
    --fa-text-muted: var(--fa-kit-text-muted, #5b625d);
    --fa-link: var(--fa-kit-brand, #2f5a4f);
    --fa-link-strong: var(--fa-kit-brand-strong, #23453d);
    --fa-link-underline: rgba(35, 69, 61, 0.34);
    --entity-accent: var(--fa-kit-brand-strong, #23453d);
    --entity-soft: var(--fa-kit-brand-soft, #dfeae5);
    --entity-border: var(--fa-border);
    --fa-safe-top: env(safe-area-inset-top, 0px);
    --fa-safe-bottom: env(safe-area-inset-bottom, 0px);
    --fa-mobile-nav-height: 0px;
    --fa-shell-nav-height: 83px;
    --fa-group-workspace-chrome-height: 64px;
    --fa-top-offset: 7rem;
    --fa-radius: 16px;
    --fa-radius-sm: 12px;
    --fa-radius-xs: 8px;
    --fa-space-xs: 4px;
    --fa-space-sm: 8px;
    --fa-space-md: 16px;
    --fa-space-lg: 24px;
    --fa-space-xl: 32px;
    --fa-page-max-width: 1040px;
    --fa-page-gutter: 0px;
    --fa-related-gap: var(--fa-space-md);
    --fa-major-gap: var(--fa-space-lg);
    --fa-panel-padding-compact: var(--fa-space-md);
    --fa-panel-padding: var(--fa-space-md);
    --fa-panel-padding-prominent: var(--fa-space-lg);
    --fa-row-padding-block: 0.9rem;
    --fa-row-padding-inline: 1rem;
    --fa-control-height: 44px;
    --fa-control-height-compact: 38px;
    --fa-control-radius: 999px;
    --fa-rounded-panel-radius: 0.375rem;
    --fa-type-overline: 0.75rem;
    --fa-type-metadata: 0.82rem;
    --fa-type-compact: 0.875rem;
    --fa-type-body: 1rem;
    --fa-type-section-title: 1.125rem;
    --fa-type-page-title: 1.375rem;
    --fa-type-display: 1.75rem;
    --fa-motion-fast: 150ms ease;
    --fa-motion-base: 200ms ease;
    --bs-body-bg: var(--fa-shell-bg);
    --bs-body-color: var(--fa-text);
    --bs-border-color: var(--fa-border);
    --bs-primary: #2f5a4f;
    --bs-primary-rgb: 47, 90, 79;
    --bs-success: #3f6a4e;
    --bs-success-rgb: 63, 106, 78;
    --bs-warning: #8a6834;
    --bs-warning-rgb: 138, 104, 52;
    --bs-danger: #8a4742;
    --bs-danger-rgb: 138, 71, 66;
    --bs-info: #2d5f87;
    --bs-info-rgb: 45, 95, 135;
    --bs-secondary: #5b625d;
    --bs-secondary-rgb: 91, 98, 93;
    --bs-light: #f7f3ec;
    --bs-dark: #1f241f;
}

html,
body {
    min-height: 100%;
}

body.fa-app-body {
    margin: 0;
    color: var(--fa-text);
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.68), transparent 30%),
        linear-gradient(180deg, var(--fa-shell-bg) 0%, var(--fa-kit-page-shade, #ebe5db) 100%);
    font-family: var(--font-system);
    line-height: 1.5;
}

body.fa-authenticated-shell {
    --fa-mobile-nav-height: 0px;
}

body,
.fieldaccord-ui,
.navbar,
.btn,
.form-label,
.form-control,
.form-select,
.form-check-label,
.dropdown-menu,
.dropdown-item,
.modal,
.modal-content,
.object-meta,
.phase-label,
.status-badge,
.system-message,
.badge,
.alert,
.list-group-item,
.accordion-button,
.nav-link,
.nav-tabs,
.nav-pills,
.offcanvas,
.fa-view-header,
.fa-view-kicker,
.fa-view-subtitle,
.fa-view-meta-inline {
    font-family: var(--font-system);
}

.fa-content,
.fa-document,
.article-body,
.proposal-body,
.minutes-entry,
.policy-body,
.memo-body,
.directive-body,
.group-charter-body,
.publication-body,
.revision-preview,
.ql-editor {
    font-family: var(--font-content);
    font-size: 1rem;
    line-height: 1.65;
    overflow-wrap: break-word;
}

.fa-authored-title,
.fa-authored-text,
.fa-authored-summary,
.fa-authored-name,
.fa-authored-meta,
.fa-authored-value,
[data-authored-content="true"] {
    font-family: var(--font-content);
}

.fa-view-kicker,
.fa-kit-overline,
.badge,
.status-badge {
    font-family: var(--fa-kit-accent-font, "Roboto Condensed", "Arial Narrow", sans-serif);
}

.fa-authored-title {
    line-height: 1.2;
}

.fa-document {
    max-width: 100%;
    padding: 1rem;
    border: 1px solid var(--color-content-border);
    border-radius: 1rem;
    background: var(--color-content-bg);
    box-shadow: 0 1px 3px rgba(20, 30, 40, 0.06);
}

.fa-content h1,
.fa-content h2,
.fa-content h3,
.fa-content h4,
.fa-content h5,
.fa-content h6 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    font-family: var(--font-content);
    line-height: 1.25;
}

.fa-content p,
.fa-content ul,
.fa-content ol,
.fa-content blockquote {
    margin-bottom: 1em;
}

.fa-content blockquote {
    margin-left: 0;
    padding-left: 1rem;
    border-left: 3px solid var(--color-content-border);
    color: var(--color-content-muted);
}

.fa-content a {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.fa-content > :last-child,
.fa-document > :last-child {
    margin-bottom: 0;
}

.fa-editor-input,
.fa-editor-input.form-control {
    min-height: 9rem;
    background: var(--color-content-bg);
    border-color: var(--color-content-border);
    font-family: var(--font-content);
    font-size: 1rem;
    line-height: 1.65;
}

.chat-message-bubble,
.chat-message-content > .small,
.post-entry__content,
.post-entry__name,
.post-entry__comment-name,
.post-entry__comment-content,
.user-nav-profile-name,
.fa-activity-entry__title.fa-authored-title,
.fa-activity-entry__summary.fa-authored-summary {
    font-family: var(--font-content);
}

.ql-toolbar {
    font-family: var(--font-system);
}

.ql-container,
.ql-editor {
    font-family: var(--font-content);
}

.ql-editor {
    background: var(--color-content-bg);
    line-height: 1.65;
}

textarea.form-control,
input[type="text"].form-control,
input[type="search"].form-control,
input[type="email"].form-control,
input[type="password"].form-control,
input[type="url"].form-control,
input[type="tel"].form-control,
textarea,
[contenteditable="true"],
.fieldaccord-user-input,
.fa-authored-control {
    font-family: var(--font-content);
    line-height: 1.65;
}

input[type="number"].form-control,
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
select.form-control,
select.form-select,
.fa-system-control {
    font-family: var(--font-system);
}

select.fa-authored-control {
    font-family: var(--font-content);
}

select.fa-authored-control option {
    font-family: var(--font-content);
}

select.fa-authored-control option[value=""] {
    font-family: var(--font-system);
}

input.form-control::placeholder,
textarea.form-control::placeholder,
textarea::placeholder {
    font-family: var(--font-system);
}

input.form-control.fa-authored-placeholder::placeholder {
    font-family: var(--font-content);
}

body.fa-app-body::before {
    content: "";
    position: fixed;
    inset: 0 0 auto;
    height: 96px;
    background: linear-gradient(180deg, rgba(47, 90, 79, 0.1), rgba(47, 90, 79, 0));
    pointer-events: none;
    z-index: 0;
}

.fa-info-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--fa-text-muted);
    font: inherit;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.fa-info-link:hover,
.fa-info-link:focus-visible {
    color: var(--bs-primary);
}

.fa-info-link:focus-visible {
    outline: 2px solid rgba(var(--bs-primary-rgb), 0.28);
    outline-offset: 3px;
    border-radius: 50%;
}

.fa-info-link-icon {
    min-width: 1.25rem;
    min-height: 1.25rem;
    flex: 0 0 auto;
}

.fa-info-link .material-symbols-outlined {
    font-size: 1.1rem;
    line-height: 1;
}

.fa-help-support-card .card-body {
    display: grid;
    gap: 1rem;
}

.fa-help-support-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.fa-help-support-card__summary {
    margin: 0.45rem 0 0;
    color: var(--fa-text-muted);
    font-size: 0.93rem;
}

.fa-help-support-card__toggle {
    padding: 0;
    color: var(--fa-text-muted);
    text-decoration: none;
    flex: 0 0 auto;
}

.fa-help-support-card__toggle:hover,
.fa-help-support-card__toggle:focus {
    color: var(--fa-link);
    text-decoration: underline;
}

.fa-help-support-card__body {
    display: none;
    gap: 1rem;
}

[data-help-card-expanded="true"] .fa-help-support-card__body {
    display: grid;
}

.fa-help-support-card__section {
    display: grid;
    gap: 0.55rem;
}

.fa-help-support-card__section-title {
    margin: 0;
    color: var(--fa-text-muted);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.fa-help-support-card__list {
    display: grid;
    gap: 0.55rem;
}

.fa-help-support-card__item {
    display: grid;
    gap: 0.18rem;
    width: 100%;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--fa-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--fa-surface-muted) 74%, white);
    color: var(--fa-text);
    text-align: left;
    transition: border-color var(--fa-motion-fast), background var(--fa-motion-fast), color var(--fa-motion-fast);
}

.fa-help-support-card__item:hover,
.fa-help-support-card__item:focus {
    border-color: var(--fa-border-strong);
    background: var(--fa-surface);
    color: var(--fa-link-strong);
}

.fa-help-support-card__item-title {
    font-weight: 700;
    line-height: 1.3;
}

.fa-help-support-card__item-summary {
    color: var(--fa-text-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.fa-help-modal__eyebrow {
    margin-bottom: 0.6rem;
    color: var(--fa-text-muted);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.fa-help-modal__section-title {
    margin: 1rem 0 0.55rem;
    font-size: 0.95rem;
    font-weight: 700;
}

.fa-help-modal__list {
    margin: 0 0 1rem;
    padding-left: 1.15rem;
    display: grid;
    gap: 0.45rem;
}

.fa-help-modal__related-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fa-help-modal__detail-list {
    display: grid;
    gap: 0;
    border: 1px solid var(--fa-border);
    border-radius: 14px;
    overflow: hidden;
    background: color-mix(in srgb, var(--fa-surface-muted) 72%, white);
}

.fa-help-modal__detail-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    padding: 0.8rem 0.95rem;
    border-bottom: 1px solid var(--fa-border);
}

.fa-help-modal__detail-row:last-child {
    border-bottom: 0;
}

.fa-help-modal__detail-label {
    color: var(--fa-text-muted);
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.fa-help-modal__detail-value {
    color: var(--fa-text);
    font-weight: 600;
    text-align: right;
}

.fa-info-link-inline {
    min-width: 1.25rem;
    min-height: 1.25rem;
    flex: 0 0 auto;
}

.fa-app-frame,
.fa-app-main,
.fa-app-page {
    position: relative;
}

.fa-public-setup-main {
    min-height: 100vh;
    min-height: 100dvh;
    padding: calc(clamp(2.5rem, 5vw, 4.5rem) + var(--fa-safe-top)) 0 calc(var(--fa-space-xl) + var(--fa-safe-bottom));
}

.fa-app-frame {
    min-height: 100vh;
    min-height: 100dvh;
}

.fa-app-main {
    min-height: 100vh;
    min-height: 100dvh;
    padding: var(--fa-top-offset) 0 calc(var(--fa-space-xl) + var(--fa-safe-bottom));
}

body.fa-page-public-home .fa-app-main {
    padding-top: calc(clamp(2.5rem, 5vw, 4.5rem) + var(--fa-safe-top));
}

body.fa-page-public-login .fa-app-main {
    padding-top: calc(clamp(2.5rem, 5vw, 4.5rem) + var(--fa-safe-top));
}

body.fa-page-public-register .fa-app-main {
    padding-top: calc(clamp(2.5rem, 5vw, 4.5rem) + var(--fa-safe-top));
}

.fa-app-page {
    z-index: auto;
}

.fa-page-column {
    width: 100%;
    max-width: calc(var(--fa-page-max-width) + (2 * var(--fa-page-gutter)));
    margin: 0 auto;
    padding-inline: var(--fa-page-gutter);
}

.fa-view-shell {
    display: grid;
    gap: var(--fa-major-gap);
    margin-top: 0;
}

.entity-view-shell {
    gap: var(--fa-major-gap);
}

.entity-breadcrumb-bar {
    padding: 0.1rem 0.25rem 0;
}

.entity-breadcrumb-bar .breadcrumb {
    gap: 0;
    align-items: center;
}

.entity-hero {
    align-items: center;
}

.entity-hero__content {
    min-width: 0;
}

.entity-hero-meta,
.entity-subworkspace-nav,
.entity-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.entity-status-strip {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.entity-status-card,
.entity-workspace-card,
.entity-support-card {
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius);
    background: var(--fa-surface);
    box-shadow: var(--fa-shadow-soft);
}

.entity-status-card {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem;
}

.entity-status-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--fa-kit-brand-soft, #dfeae5) 72%, white);
    color: var(--fa-link-strong);
    flex-shrink: 0;
    font-size: 1.05rem;
    overflow: hidden;
}

.entity-status-card__icon .fa-icon {
    font-size: 1.05rem;
    line-height: 1;
}

.entity-status-card__label {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--fa-text-muted);
}

.entity-status-card__value {
    margin-top: 0.18rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
}

.entity-status-card__note {
    margin-top: 0.2rem;
    color: var(--fa-text-muted);
    font-size: 0.9rem;
}

.entity-status-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.48rem 0.8rem;
    border: 1px solid var(--fa-border);
    border-radius: 999px;
    background: var(--fa-surface-muted);
    color: var(--fa-text);
    font-size: 0.84rem;
    font-weight: 600;
}

.entity-status-chip.is-active,
.entity-workspace-tab.is-active {
    border-color: color-mix(in srgb, var(--fa-link) 28%, white);
    background: color-mix(in srgb, var(--fa-kit-brand-soft, #dfeae5) 74%, white);
    color: var(--fa-link-strong);
}

.entity-workspace-shell {
    display: grid;
    gap: var(--fa-space-md);
}

.entity-workspace-nav {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4rem;
    overflow-x: auto;
    padding: 0.35rem;
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius);
    background: var(--fa-surface);
    box-shadow: var(--fa-shadow-soft);
}

.entity-workspace-tab {
    appearance: none;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: var(--fa-text-muted);
    font-weight: 700;
    padding: 0.8rem 1rem;
    white-space: nowrap;
}

.entity-workspace-layout {
    display: grid;
    gap: var(--fa-space-md);
    grid-template-columns: minmax(0, 1.75fr) minmax(280px, 0.8fr);
    align-items: start;
}

.entity-workspace-body,
.entity-support-panel {
    display: grid;
    gap: var(--fa-space-md);
}

.entity-workspace-panel.is-active {
    display: block;
}

.entity-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fa-space-md);
    margin-bottom: 1rem;
}

.entity-support-stack {
    display: grid;
    gap: 0.45rem;
}

.meeting-packet-panel,
.meeting-packet-panel__links {
    display: grid;
    gap: 0.9rem;
}

.meeting-packet-panel__headline {
    font-weight: 700;
    line-height: 1.35;
}

.meeting-packet-panel__notice {
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--fa-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--fa-surface-muted) 82%, white);
}

.meeting-packet-panel__details {
    margin: 0;
    padding-left: 1.15rem;
    color: var(--fa-text);
}

.meeting-packet-link {
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--fa-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--fa-surface-muted) 74%, white);
}

.entity-quick-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    padding: 0.8rem 0.95rem;
    border: 1px solid var(--fa-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--fa-surface-muted) 74%, white);
    color: var(--fa-text);
    text-decoration: none;
    font-weight: 600;
}

.entity-quick-link:hover,
.entity-quick-link:focus {
    color: var(--fa-link-strong);
    border-color: var(--fa-border-strong);
    background: var(--fa-surface);
}

.entity-roles-panel {
    display: grid;
    gap: 0.95rem;
}

.entity-role-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.entity-role-label {
    color: var(--fa-text-muted);
    font-size: 0.85rem;
    font-weight: 600;
}

.entity-role-value {
    text-align: right;
    font-weight: 600;
}

.fa-view-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fa-related-gap);
    padding: var(--fa-panel-padding-prominent);
    border: 1px solid var(--fa-border);
    border-top-width: 4px;
    border-radius: var(--fa-radius-lg, var(--fa-radius));
    background: var(--fa-surface);
    box-shadow: var(--fa-shadow-soft);
}

.fa-view-heading {
    margin: 0;
    font-size: var(--fa-type-page-title);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.08;
}

.fa-view-kicker {
    margin: 0 0 var(--fa-space-xs);
    font-size: var(--fa-type-overline);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fa-text-muted);
}

.fa-view-subtitle {
    margin: var(--fa-space-sm) 0 0;
    color: var(--fa-text-muted);
    max-width: 58rem;
    font-size: var(--fa-type-body);
}

.fa-view-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fa-space-sm);
    justify-content: flex-end;
}

.fa-view-header--mobile-inline > :first-child {
    min-width: 0;
}

.fa-profile-header {
    align-items: center;
}

.fa-profile-header__identity {
    display: flex;
    align-items: center;
    gap: var(--fa-space-md);
    min-width: 0;
}

.fa-profile-header__avatar {
    width: 88px;
    height: 88px;
    border-radius: 999px;
    object-fit: cover;
    flex-shrink: 0;
    border: 3px solid var(--fa-surface);
    box-shadow: var(--fa-shadow-soft);
    background: var(--fa-surface-muted);
}

.fa-profile-header__role {
    color: var(--fa-link-strong);
    font-weight: 600;
}

.fa-profile-header__actions .btn {
    min-height: auto;
}

.fa-view-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fa-space-sm);
    margin-top: var(--fa-space-md);
    align-items: center;
}

.fa-view-meta-inline {
    margin-top: var(--fa-space-sm);
    color: var(--fa-text-muted) !important;
}

.fa-view-link-inline a,
.fa-parent-context__link,
.breadcrumb-item a,
.list-group-item a {
    color: var(--fa-link-strong);
    text-decoration-line: underline;
    text-decoration-color: var(--fa-link-underline);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.entity-decision .list-group-item-action,
.entity-group .list-group-item-action,
.entity-feedback .list-group-item-action,
.entity-action .list-group-item-action,
.entity-proposal .list-group-item-action,
.entity-publication .list-group-item-action,
.entity-article .list-group-item-action,
.entity-meeting .list-group-item-action,
.entity-chat .list-group-item-action,
.entity-post .list-group-item-action,
.entity-organization .list-group-item-action,
.entity-organization-users .list-group-item-action {
    color: var(--entity-accent, var(--fa-text));
}

.entity-decision .list-group-item-action a,
.entity-group .list-group-item-action a,
.entity-feedback .list-group-item-action a,
.entity-action .list-group-item-action a,
.entity-proposal .list-group-item-action a,
.entity-publication .list-group-item-action a,
.entity-article .list-group-item-action a,
.entity-meeting .list-group-item-action a,
.entity-chat .list-group-item-action a,
.entity-post .list-group-item-action a,
.entity-organization .list-group-item-action a,
.entity-organization-users .list-group-item-action a {
    color: inherit;
}

.fa-view-link-inline a:hover,
.fa-view-link-inline a:focus,
.fa-parent-context__link:hover,
.fa-parent-context__link:focus,
.breadcrumb-item a:hover,
.breadcrumb-item a:focus,
.list-group-item a:hover,
.list-group-item a:focus {
    color: var(--fa-link);
    text-decoration-color: currentColor;
    text-decoration-thickness: 2px;
}

.fa-view-link-inline a:focus-visible,
.fa-parent-context__link:focus-visible,
.breadcrumb-item a:focus-visible,
.list-group-item a:focus-visible {
    outline: 2px solid rgba(35, 69, 61, 0.18);
    outline-offset: 3px;
    border-radius: 0.2rem;
}

.fa-detail-grid dt,
.fa-detail-grid dd {
    margin-bottom: var(--fa-space-sm);
}

.fa-detail-grid dt {
    color: var(--fa-text-muted);
    font-weight: 600;
}

.fa-accordion .accordion-button {
    background: transparent;
    font-weight: 600;
    color: var(--fa-text);
    box-shadow: none;
    padding: 1rem 1.25rem;
}

.fa-accordion .accordion-button:not(.collapsed) {
    color: var(--fa-text);
    background: var(--fa-surface-muted);
    box-shadow: inset 0 -1px 0 var(--fa-border);
}

.fa-accordion .accordion-button:focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.15);
}

.fa-parent-context {
    padding: 0.9rem 1rem;
    border: 1px solid var(--fa-border);
    border-left: 4px solid var(--fa-link);
    border-radius: var(--fa-radius);
    background: var(--fa-surface);
    box-shadow: var(--fa-shadow-soft);
}

.fa-parent-context__link {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.fa-parent-context__name {
    color: var(--fa-link-strong);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    font-family: var(--font-content);
}

.fa-section-nav {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--fa-space-sm);
    overflow-x: auto;
    padding-bottom: 0.15rem;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.fa-section-nav .btn-group {
    flex-wrap: nowrap;
    width: max-content;
    min-width: 100%;
    border-radius: var(--fa-radius-sm);
    background: var(--fa-surface);
    border: 1px solid var(--fa-border);
    box-shadow: var(--fa-shadow-soft);
    overflow: visible;
}

.fa-section-nav .btn {
    white-space: nowrap;
    flex: 0 0 auto;
}

.fa-pane-card,
.card,
.accordion-item {
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius);
    background: var(--fa-surface);
    box-shadow: var(--fa-routine-shadow, var(--fa-shadow-soft));
}

body section.fa-pane-card.entity-post {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.fa-pane-card.rounded,
.card.rounded,
.accordion-item.rounded {
    border-radius: var(--fa-rounded-panel-radius) !important;
}

.fa-pane-card .card,
.fa-pane-card.card {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.card-body {
    padding: var(--fa-panel-padding);
}

/* Shared Posts composer: quiet at rest, fully featured once the author engages it. */
.fa-pane-card .fa-post-composer-card.card,
.fa-post-composer-card.card {
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius);
    background: var(--fa-surface);
    box-shadow: none;
}

.fa-post-composer-card .card-body {
    padding: 0.75rem;
}

.fa-post-composer__input.form-control {
    min-height: 44px;
    max-height: 180px;
    padding: 0.65rem 0.8rem;
    resize: none;
    border-color: var(--fa-border);
    border-radius: var(--fa-radius-sm);
    background: var(--fa-surface-muted);
    color: var(--fa-text);
    line-height: 1.45;
    transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.fa-post-composer__input.form-control:hover {
    border-color: var(--fa-border-strong);
}

.fa-post-composer__input.form-control:focus {
    border-color: var(--entity-accent, var(--fa-link));
    background: var(--fa-surface);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--entity-accent, var(--fa-link)) 14%, transparent);
}

.fa-post-composer__expanded {
    padding-top: 0.7rem;
}

.fa-post-composer__toolbar,
.fa-post-composer__actions {
    display: flex;
    align-items: center;
}

.fa-post-composer__toolbar {
    justify-content: flex-start;
    gap: 0.65rem;
}

.fa-post-composer__toolbar-label {
    color: var(--fa-text-muted);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.fa-post-composer__tool.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 34px;
    padding: 0.35rem 0.65rem;
    border: 1px solid var(--fa-border);
    border-radius: 999px;
    background: var(--fa-surface);
    color: var(--fa-text-muted);
    font-weight: 600;
}

.fa-post-composer__tool.btn:hover,
.fa-post-composer__tool.btn:focus-visible {
    border-color: var(--entity-accent, var(--fa-link));
    background: var(--entity-soft, var(--fa-surface-muted));
    color: var(--entity-accent, var(--fa-link-strong));
}

.fa-post-composer__tool .material-symbols-outlined {
    font-size: 1.15rem;
}

.fa-post-composer__actions {
    justify-content: flex-end;
    gap: 0.4rem;
    margin-top: 0.7rem;
    padding-top: 0.65rem;
    border-top: 1px solid var(--fa-border);
}

.fa-post-composer__cancel.btn-link {
    color: var(--fa-text-muted);
    text-decoration: none;
}

.fa-post-composer__submit.btn {
    min-width: 5.25rem;
    border-radius: 999px;
    font-weight: 700;
}

.fa-post-link-editor {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.7rem;
    padding: 0.65rem;
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius-sm);
    background: var(--fa-surface-muted);
}

.fa-post-link-editor .btn {
    white-space: nowrap;
}

.fa-post-attachment-previews {
    margin-top: 0.7rem;
}

.fa-post-attachment-previews__header {
    margin-bottom: 0.45rem;
    color: var(--fa-text-muted);
    font-size: 0.78rem;
    font-weight: 650;
}

.fa-post-image-preview-grid {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.fa-post-image-preview {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-width: 120px;
    min-height: 96px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius-sm);
    background: var(--fa-surface-muted);
}

.fa-post-image-preview img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 260px;
    object-fit: contain;
}

.fa-post-attachment-preview {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius-sm);
    background: var(--fa-surface-muted);
}

.fa-post-attachment-preview__link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 76px;
    padding: 0.85rem 3.25rem 0.85rem 0.9rem;
}

.fa-post-attachment-preview__link > .material-symbols-outlined {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 50%;
    background: var(--entity-soft, var(--fa-surface));
    color: var(--entity-accent, var(--fa-link));
}

.fa-post-attachment-preview__link-copy {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
}

.fa-post-attachment-preview__link-copy strong,
.fa-post-attachment-preview__link-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fa-post-attachment-preview__link-copy span {
    color: var(--fa-text-muted);
    font-size: 0.82rem;
}

.fa-post-attachment-preview__remove.btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--fa-border);
    border-radius: 50%;
    background: color-mix(in srgb, var(--fa-surface) 92%, transparent);
    color: var(--fa-text);
}

.fa-post-attachment-preview__remove .material-symbols-outlined {
    font-size: 1rem;
}

.fa-post-entry-images {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.fa-post-entry-image {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 360px;
    object-fit: contain;
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius-sm);
    background: var(--fa-surface-muted);
}

.fa-post-action.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
}

.fa-post-action .material-symbols-rounded {
    font-size: 1.1rem;
    line-height: 1;
}

.fa-post-action--icon.btn {
    width: 2rem;
    min-width: 2rem;
    padding-right: 0;
    padding-left: 0;
}

.fa-post-entry--hidden {
    border-style: dashed;
    background: var(--fa-surface-muted);
}

.fa-post-entry--targeted {
    outline: 3px solid color-mix(in srgb, var(--bs-primary) 40%, transparent);
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    .fa-post-composer__toolbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.4rem;
    }

    .fa-post-link-editor {
        grid-template-columns: 1fr auto;
    }

    .fa-post-link-editor .form-control {
        grid-column: 1 / -1;
    }

    .fa-post-image-preview {
        width: 100%;
    }
}

.fa-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
}

.fa-list-empty {
    padding: 0.95rem 1rem;
    border: 1px dashed var(--fa-border-strong);
    border-radius: var(--fa-radius-sm);
    color: var(--fa-text-muted);
    background: var(--fa-surface-muted);
}

.fa-context-card {
    border-left: 4px solid var(--fa-link);
}

.fa-context-card__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
    color: var(--fa-link-strong);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.fa-context-card__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.fa-context-card__subtitle {
    margin: 0.45rem 0 0;
    color: var(--fa-text-muted);
}

.fa-auth-stage {
    display: flex;
    justify-content: center;
}

.fa-auth-column {
    width: min(100%, 44rem);
}

.fa-auth-card {
    width: 100%;
}

.fa-auth-form {
    display: grid;
    gap: 0;
}

.fa-auth-form .mb-3 {
    margin-bottom: 1rem !important;
}

.fa-auth-form button[type="submit"] {
    margin-top: 0.25rem;
}

@media (min-width: 768px) {
    .fa-document {
        padding: 1.5rem;
    }

    .fa-auth-column {
        width: min(100%, 48rem);
    }

    .fa-auth-form--two-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1rem;
    }

    .fa-auth-form--two-column button[type="submit"] {
        grid-column: 1 / -1;
    }
}

.fa-context-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fa-space-sm);
}

.fa-context-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--fa-border);
    border-radius: 999px;
    background: var(--fa-surface-muted);
    color: var(--fa-text);
    font-size: 0.75rem;
    font-weight: 600;
}

.fa-context-badge--status {
    border-color: color-mix(in srgb, var(--fa-link) 20%, white);
    background: color-mix(in srgb, var(--fa-kit-brand-soft, #dfeae5) 72%, white);
    color: var(--fa-link-strong);
}

.fa-breadcrumbs {
    color: var(--fa-text-muted);
    font-family: var(--font-system);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
}

.fa-app-body[data-breadcrumbs-visible="false"] .fa-breadcrumbs {
    display: none !important;
}

.fa-breadcrumbs .breadcrumb {
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.fa-breadcrumbs .breadcrumb-item,
.fa-breadcrumbs .breadcrumb-item a,
.fa-breadcrumbs .breadcrumb-item span {
    color: inherit;
    font: inherit;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.fa-breadcrumbs .breadcrumb-item a {
    color: var(--fa-link-strong);
}

.fa-breadcrumbs .breadcrumb-item a:hover,
.fa-breadcrumbs .breadcrumb-item a:focus {
    color: var(--fa-link);
    text-decoration-color: currentColor;
    text-decoration-thickness: 2px;
}

.fa-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
    color: var(--fa-text-muted);
    content: "›";
    font: inherit;
}

.fa-meta-tile {
    height: 100%;
    padding: var(--fa-panel-padding-compact);
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius);
    background: var(--fa-surface-muted);
}

.fa-meta-tile__label {
    color: var(--fa-text-muted);
    font-size: var(--fa-type-metadata);
}

.fa-meta-tile__value {
    margin-top: 0.2rem;
    font-size: 0.9rem;
    font-weight: 600;
}

.fa-dashboard {
    gap: var(--fa-major-gap);
}

.fa-dashboard-hero {
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(223, 234, 229, 0.76), transparent 34%),
        linear-gradient(180deg, rgba(252, 251, 248, 0.96), rgba(247, 243, 236, 0.96));
}

.fa-list-header-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    line-height: 1;
}

.fa-list-header-kicker .entity-symbol-chip {
    align-self: center;
}

.fa-list-header-kicker .entity-symbol-chip .fa-icon {
    display: block;
    line-height: 1;
    vertical-align: middle;
}

.fa-view-kicker .entity-symbol-chip .fa-icon,
.fa-context-card__eyebrow .entity-symbol-chip .fa-icon {
    display: block;
    line-height: 1;
    vertical-align: middle;
}

.fa-context-card__eyebrow .entity-symbol-chip {
    font-size: 0.82rem;
    letter-spacing: 0.04em;
}

.fa-dashboard-shortcuts .card-body,
.fa-dashboard-section .card-body {
    padding: var(--fa-panel-padding);
}

.fa-dashboard-shortcuts {
    display: none;
}

.fa-dashboard-shortcuts__grid {
    display: grid;
    gap: var(--fa-space-sm);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fa-dashboard-shortcut {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius-sm);
    background: color-mix(in srgb, var(--fa-surface-muted) 88%, white);
    color: var(--fa-text);
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.fa-dashboard-shortcut:hover,
.fa-dashboard-shortcut:focus {
    border-color: var(--fa-border-strong);
    color: var(--fa-text);
    transform: translateY(-1px);
}

.fa-dashboard-shortcut strong,
.fa-dashboard-shortcut small {
    display: block;
}

.fa-dashboard-shortcut small {
    margin-top: 0.25rem;
    color: var(--fa-text-muted);
    line-height: 1.4;
}

.fa-dashboard-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--fa-related-gap);
    margin-bottom: var(--fa-related-gap);
}

.fa-dashboard-group-grid {
    display: grid;
    gap: var(--fa-related-gap);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fa-dashboard-group-grid--single {
    grid-template-columns: minmax(0, 1fr);
}

.fa-dashboard-subpanel {
    min-width: 0;
}

.fa-dashboard-subpanel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fa-related-gap);
    margin-bottom: var(--fa-related-gap);
}

.fa-dashboard-group-tiles {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.fa-dashboard-group-tile {
    display: block;
    min-height: 100%;
    border-radius: var(--fa-radius);
    border: 1px solid var(--fa-border);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--fa-surface-muted) 62%, white) 0%, var(--fa-surface) 100%);
    box-shadow: none;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.fa-dashboard-group-tile:hover,
.fa-dashboard-group-tile:focus {
    transform: translateY(-2px);
    box-shadow: var(--fa-shadow);
    border-color: var(--fa-border-strong);
}

.fa-dashboard-group-tile--pending {
    border-style: dashed;
    border-color: color-mix(in srgb, var(--fa-kit-warning, #8a6834) 42%, var(--fa-border));
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--fa-kit-warning-soft, #efe1c9) 52%, white) 0%, var(--fa-surface) 100%);
}

.fa-dashboard-group-tile__badge {
    background: var(--fa-kit-warning-soft, #efe1c9);
    color: var(--fa-kit-warning, #8a6834);
    border: 1px solid color-mix(in srgb, var(--fa-kit-warning, #8a6834) 24%, white);
}

.fa-dashboard-group-image,
.fa-dashboard-group-fallback {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
}

.fa-dashboard-group-image {
    object-fit: cover;
}

.fa-dashboard-group-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--fa-surface-muted);
    color: var(--fa-link-strong);
    font-weight: 700;
    border: 1px solid var(--fa-border);
}

.fa-dashboard-activity-grid {
    display: grid;
    gap: var(--fa-space-md);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fa-dashboard-personal-grid {
    display: grid;
    gap: var(--fa-space-md);
    grid-template-columns: minmax(0, 1fr);
}

.fa-dashboard-command-header {
    align-items: center;
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.fa-dashboard-command-header .fa-view-heading {
    font-family: var(--fa-kit-heading-font, Georgia, serif);
}

.fa-dashboard-compact-identity {
    font-size: 0.875rem;
}

.fa-dashboard-header-meta {
    display: grid;
    justify-items: end;
    gap: 0.2rem;
    margin-left: auto;
    line-height: 1;
}

.fa-dashboard-header-meta__item {
    display: grid;
    justify-items: end;
    gap: 0;
    text-align: right;
    line-height: 1;
}

.fa-dashboard-header-meta__label {
    color: var(--fa-text-muted);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.fa-dashboard-header-meta__item time {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.fa-dashboard-page-actions .btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.fa-dashboard-command-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(260px, 0.8fr);
    gap: var(--fa-space-md);
    align-items: start;
}

.fa-dashboard-command-main,
.fa-dashboard-command-summary {
    min-width: 0;
    display: grid;
    gap: var(--fa-space-md);
}

.fa-dashboard-command-summary {
    position: sticky;
    top: calc(var(--fa-top-offset, 5rem) + 0.75rem);
}

.fa-dashboard-group-tiles {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius-sm);
    overflow: hidden;
}

.fa-dashboard-group-tile {
    min-height: 58px;
    padding: 0.65rem 0.75rem;
    border: 0;
    border-bottom: 1px solid var(--fa-border);
    border-radius: 0;
    background: var(--fa-surface);
}

.fa-dashboard-group-tile:last-child {
    border-bottom: 0;
}

.fa-dashboard-group-tile:hover,
.fa-dashboard-group-tile:focus-visible {
    transform: none;
    box-shadow: none;
    background: var(--fa-surface-muted);
}

.fa-dashboard-group-image,
.fa-dashboard-group-fallback {
    width: 36px;
    height: 36px;
}

.fa-dashboard-group-tile__arrow {
    color: var(--fa-link-strong);
    font-size: 1.1rem;
}

.fa-dashboard-notification-list .list-group-item {
    padding: 0.65rem 0;
    border-inline: 0;
}

.fa-dashboard-notification-list .list-group-item.is-unread {
    background-color: color-mix(in srgb, var(--entity-notifications-soft, #fae2cf) 62%, var(--fa-surface, #fcfbf8)) !important;
}

.fa-dashboard-notification-list .list-group-item.is-unread:hover,
.fa-dashboard-notification-list .list-group-item.is-unread:focus-visible {
    background-color: color-mix(in srgb, var(--entity-notifications-soft, #fae2cf) 82%, var(--fa-surface, #fcfbf8)) !important;
}

.fa-dashboard-notification-list .list-group-item:first-child {
    border-top: 0;
}

.fa-dashboard-notification-list .btn {
    display: none;
}

.fa-dashboard-profile-summary__identity {
    margin-bottom: 0.5rem;
    font-family: var(--fa-kit-heading-font, Georgia, serif);
    font-weight: 600;
}

.fa-dashboard-profile-summary__about {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

@media (min-width: 768px) {
    .fa-dashboard-personal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.fa-dashboard-decision-accordion {
    grid-column: 1 / -1;
    min-width: 0;
}

.navbar.bg-light {
    background: rgba(252, 251, 248, 0.96) !important;
    border-bottom: 1px solid var(--fa-border);
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
    backdrop-filter: blur(10px);
}

.navbar-brand,
.navbar .nav-link,
.navbar .btn {
    color: var(--fa-text);
}

.navbar .nav-link {
    font-weight: 500;
}

.navbar-toggler {
    border-color: var(--fa-border-strong);
}

.fa-shell-nav {
    padding-block: calc(0.9rem + var(--fa-safe-top)) 0.9rem !important;
}

.fa-shell-nav__bar,
.fa-shell-nav__start,
.fa-shell-nav__brand,
.fa-shell-nav__brand-copy {
    display: flex;
    align-items: center;
    min-width: 0;
}

.fa-shell-nav__bar {
    justify-content: space-between;
    gap: 1rem;
    position: relative;
}

.fa-shell-nav__start {
    gap: 0.75rem;
}

.fa-shell-nav__brand {
    gap: 0.35rem;
    min-width: 0;
    text-decoration: none;
}

.fa-shell-nav__brand-copy {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

.fa-shell-nav__brand-name {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.12;
    color: var(--fa-text);
    overflow-wrap: anywhere;
}

.fa-shell-nav__toggle {
    appearance: none;
    border: 1px solid var(--fa-border);
    background: rgba(255, 255, 255, 0.82);
    color: var(--fa-text);
    transition:
        background-color var(--fa-motion-base),
        border-color var(--fa-motion-fast),
        box-shadow var(--fa-motion-base),
        transform var(--fa-motion-fast);
}

.fa-shell-nav__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.3rem;
    border-radius: 999px;
    box-shadow: var(--fa-shadow-soft);
}

.fa-shell-nav__toggle:hover,
.fa-shell-nav__toggle:focus-visible {
    border-color: color-mix(in srgb, var(--bs-primary) 24%, white);
    background: var(--fa-surface);
    box-shadow: var(--fa-shadow-soft);
    transform: translateY(-1px);
}

.fa-shell-nav__menu-image {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 999px;
    object-fit: cover;
    background: var(--fa-surface);
}

@media (min-width: 1200px) {
    .fa-shell-nav__bar {
        --fa-shell-org-name-min-width: 12rem;
        --fa-shell-identity-lane-min-width: calc(2.7rem + 0.75rem + var(--fa-shell-org-name-min-width));
        display: grid;
        grid-template-columns:
            minmax(var(--fa-shell-identity-lane-min-width), 1fr)
            auto
            minmax(var(--fa-shell-identity-lane-min-width), 1fr);
    }

    .fa-shell-nav__start {
        min-width: 0;
        overflow: hidden;
    }

    .fa-shell-nav__toggle {
        flex: 0 0 auto;
    }

    .fa-shell-nav__brand {
        flex: 1 1 auto;
        min-width: var(--fa-shell-org-name-min-width);
        width: auto;
        overflow: hidden;
    }

    .fa-shell-nav__brand-copy {
        width: 100%;
        overflow: hidden;
    }

    .fa-shell-nav__brand-name {
        display: -webkit-box;
        max-width: 100%;
        max-height: 2.36em;
        overflow: hidden;
        line-height: 1.18;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .fa-desktop-primary-nav {
        position: static;
        grid-column: 2;
        transform: none;
    }
}

.fa-mobile-primary-nav {
    display: none;
}

.offcanvas {
    border-left: 1px solid var(--fa-border);
}

.fa-system-tray {
    border-left: 0;
    border-right: 1px solid var(--fa-border);
}

.btn,
.form-control,
.form-select,
.form-check-input,
.list-group-item,
.accordion-button,
.badge,
.progress-bar,
.alert,
.modal-content {
    transition:
        background-color var(--fa-motion-base),
        border-color var(--fa-motion-fast),
        color var(--fa-motion-fast),
        box-shadow var(--fa-motion-base),
        transform var(--fa-motion-fast);
}

.btn {
    font-weight: 600;
    min-height: var(--fa-control-height);
    border-radius: var(--fa-control-radius);
    padding: 0.5rem 0.875rem;
    font-family: var(--fa-kit-reference-font, var(--font-system));
    font-size: var(--fa-type-compact);
}

.fa-desktop-primary-nav {
    position: absolute;
    left: 50%;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    transform: translate(-50%, -50%);
}

.fa-desktop-primary-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 42px;
    padding: 0.45rem 0.7rem;
    border-radius: var(--fa-radius-sm);
    color: var(--fa-text-muted);
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.fa-desktop-primary-nav__link:hover,
.fa-desktop-primary-nav__link:focus-visible {
    color: var(--fa-text);
    background: var(--fa-surface-muted);
}

.fa-desktop-primary-nav__link.is-active {
    color: var(--fa-link-strong);
    background: color-mix(in srgb, var(--bs-primary) 10%, var(--fa-surface));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bs-primary) 20%, var(--fa-border));
}

.fa-desktop-primary-nav__icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.fa-desktop-primary-nav__avatar {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid var(--fa-border);
}

#notificationNavDesktopBadge {
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    min-height: 1.15rem;
    padding: 0.15rem 0.3rem;
    font-size: 0.62rem;
    line-height: 1;
    vertical-align: middle;
}

#notificationNavDesktopBadge:not(.d-none) {
    display: inline-flex;
}

.fa-notification-count-badge {
    background-color: var(--entity-notifications, #a94f16) !important;
    color: var(--entity-notifications-contrast, #ffffff) !important;
}

.btn-sm {
    min-height: var(--fa-control-height-compact);
    border-radius: var(--fa-control-radius);
    padding: 0.375rem 0.75rem;
    font-size: var(--fa-type-compact);
}

.btn-primary {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #f7f5ef;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background: var(--fa-kit-brand-strong, #23453d);
    border-color: var(--fa-kit-brand-strong, #23453d);
}

.btn-success {
    background: var(--bs-success);
    border-color: var(--bs-success);
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background: color-mix(in srgb, var(--bs-success) 84%, black);
    border-color: color-mix(in srgb, var(--bs-success) 84%, black);
}

.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
    background: var(--fa-surface);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active {
    color: #ffffff;
    background: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-outline-secondary {
    color: var(--fa-text-muted);
    border-color: var(--fa-border-strong);
    background: var(--fa-surface);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.btn-outline-secondary.active {
    color: var(--fa-text);
    border-color: var(--fa-border-strong);
    background: var(--fa-surface-muted);
}

.btn-link {
    font-weight: 600;
    color: var(--fa-link-strong);
    text-decoration-line: underline;
    text-decoration-color: var(--fa-link-underline);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.btn-link:hover,
.btn-link:focus {
    color: var(--fa-link);
    text-decoration-color: currentColor;
    text-decoration-thickness: 2px;
}

.form-control,
.form-select {
    min-height: var(--fa-control-height);
    border-color: var(--fa-border-strong);
    border-radius: var(--fa-radius-sm);
    background: var(--fa-surface);
    color: var(--fa-text);
}

textarea.form-control {
    min-height: 120px;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.55);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.14);
}

.form-label,
label {
    font-size: var(--fa-type-compact);
    font-weight: 600;
    color: var(--fa-text);
}

.list-group {
    border-radius: var(--fa-radius-sm);
    overflow: hidden;
}

.list-group-item {
    border-color: var(--fa-border);
    padding: var(--fa-row-padding-block) var(--fa-row-padding-inline);
    background: var(--fa-surface);
}

.list-group-item-action:hover,
.list-group-item-action:focus {
    background: var(--fa-surface-muted);
}

.entity-decision .list-group-item-action:hover,
.entity-decision .list-group-item-action:focus,
.entity-group .list-group-item-action:hover,
.entity-group .list-group-item-action:focus,
.entity-feedback .list-group-item-action:hover,
.entity-feedback .list-group-item-action:focus,
.entity-action .list-group-item-action:hover,
.entity-action .list-group-item-action:focus,
.entity-proposal .list-group-item-action:hover,
.entity-proposal .list-group-item-action:focus,
.entity-publication .list-group-item-action:hover,
.entity-publication .list-group-item-action:focus,
.entity-article .list-group-item-action:hover,
.entity-article .list-group-item-action:focus,
.entity-meeting .list-group-item-action:hover,
.entity-meeting .list-group-item-action:focus,
.entity-chat .list-group-item-action:hover,
.entity-chat .list-group-item-action:focus,
.entity-post .list-group-item-action:hover,
.entity-post .list-group-item-action:focus,
.entity-organization .list-group-item-action:hover,
.entity-organization .list-group-item-action:focus,
.entity-organization-users .list-group-item-action:hover,
.entity-organization-users .list-group-item-action:focus {
    color: var(--entity-accent, var(--fa-text));
    background: color-mix(in srgb, var(--entity-soft, var(--fa-surface-muted)) 58%, white);
}

.badge {
    padding: 0.42rem 0.65rem;
    font-weight: 600;
    border-radius: 999px;
}

.badge.text-bg-primary,
.text-bg-primary.badge {
    background: var(--fa-kit-brand, #2f5a4f) !important;
    color: #f7f5ef !important;
}

.badge.text-bg-secondary,
.text-bg-secondary.badge,
.badge.bg-secondary,
.bg-secondary.badge {
    background: rgba(91, 98, 93, 0.16) !important;
    color: var(--fa-text, #1f241f) !important;
    border: 1px solid rgba(91, 98, 93, 0.2);
}

.badge.text-bg-success,
.text-bg-success.badge,
.badge.bg-success,
.bg-success.badge {
    background: var(--fa-kit-success-soft, #dce8df) !important;
    color: var(--fa-kit-success, #3f6a4e) !important;
    border: 1px solid rgba(63, 106, 78, 0.22);
}

.badge.text-bg-warning,
.text-bg-warning.badge,
.badge.bg-warning,
.bg-warning.badge {
    background: var(--fa-kit-warning-soft, #efe1c9) !important;
    color: var(--fa-kit-warning, #8a6834) !important;
    border: 1px solid rgba(138, 104, 52, 0.24);
}

.badge.text-bg-danger,
.text-bg-danger.badge,
.badge.bg-danger,
.bg-danger.badge {
    background: var(--fa-kit-danger-soft, #eed9d7) !important;
    color: var(--fa-kit-danger, #8a4742) !important;
    border: 1px solid rgba(138, 71, 66, 0.22);
}

.badge.text-bg-dark,
.text-bg-dark.badge,
.badge.bg-dark,
.bg-dark.badge {
    background: var(--fa-text, #1f241f) !important;
    color: #f7f5ef !important;
}

.badge.text-bg-info,
.text-bg-info.badge,
.badge.bg-info,
.bg-info.badge {
    background: var(--fa-kit-info-soft, #d7e6f1) !important;
    color: var(--fa-kit-info, #2d5f87) !important;
    border: 1px solid rgba(45, 95, 135, 0.22);
}

.text-bg-light.border,
.badge.text-bg-light.border {
    background: var(--fa-surface-muted) !important;
    color: var(--fa-text) !important;
    border-color: var(--fa-border) !important;
}

.fa-meeting-agenda-summary {
    min-height: 0;
}

.fa-agenda-summary-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.fa-agenda-summary-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--fa-border);
    border-radius: 999px;
    background: var(--fa-surface-muted);
    color: var(--fa-text-muted);
    font-size: 0.82rem;
}

.fa-agenda-summary-chip strong {
    color: var(--fa-text);
}

.fa-agenda-summary-chip__label {
    font-weight: 600;
    color: var(--fa-text);
}

.fa-meeting-agenda-list {
    display: grid;
    gap: 0.9rem;
    border-radius: 0;
    overflow: visible;
}

.fa-agenda-item-card {
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius-sm);
    padding: 1rem 1.1rem;
    background: linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, var(--fa-surface-muted) 45%, white) 100%);
}

.fa-agenda-item-card__header,
.fa-agenda-item-card__supporting {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.fa-agenda-item-card__body {
    min-width: 0;
}

.fa-agenda-item-card__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.6rem;
}

.fa-agenda-item-card__index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: var(--fa-surface-muted);
    color: var(--fa-text-muted);
    font-weight: 700;
    flex-shrink: 0;
}

.fa-agenda-item-card__title {
    color: var(--fa-text);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
}

.fa-agenda-item-card__title:hover,
.fa-agenda-item-card__title:focus {
    color: var(--bs-primary);
    text-decoration: underline;
}

.fa-agenda-item-card__description {
    color: var(--fa-text);
    line-height: 1.55;
}

.fa-agenda-item-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 0.9rem;
    color: var(--fa-text-muted);
    font-size: 0.88rem;
}

.fa-agenda-item-card__side-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fa-agenda-inline-panel {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius-sm);
    background: rgba(255, 255, 255, 0.88);
}

.fa-agenda-inline-panel--active {
    border-color: rgba(var(--bs-warning-rgb), 0.55);
    background: color-mix(in srgb, rgba(var(--bs-warning-rgb), 0.12) 55%, white);
}

.fa-agenda-inline-panel__header {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.fa-agenda-inline-panel__title {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--fa-text-muted);
}

.fa-meeting-agenda-form {
    background: color-mix(in srgb, var(--fa-surface-muted) 78%, white) !important;
}

.fa-participant-row {
    border-radius: 14px;
}

.entity-meeting-view .entity-status-card {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 18%, white);
    background: var(--fa-surface);
}

.entity-meeting-view .entity-status-card__label,
.entity-meeting-view .entity-status-card__note {
    color: color-mix(in srgb, var(--entity-accent, var(--fa-text-muted)) 36%, var(--fa-text-muted));
}

.entity-meeting-view .entity-status-card__value {
    color: var(--entity-accent, var(--fa-text));
}

.entity-meeting-view .entity-workspace-nav {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 20%, white);
    background: linear-gradient(180deg, var(--fa-surface-muted) 0%, var(--fa-surface) 100%);
}

.entity-meeting-view .entity-workspace-tab {
    color: color-mix(in srgb, var(--entity-accent, var(--fa-text-muted)) 45%, var(--fa-text-muted));
}

.entity-meeting-view .entity-workspace-tab:hover,
.entity-meeting-view .entity-workspace-tab:focus {
    color: var(--entity-accent, var(--fa-text));
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 26%, white);
    background: color-mix(in srgb, var(--entity-soft, var(--fa-surface-muted)) 58%, white);
}

.entity-meeting-view .entity-status-chip {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 22%, white);
    background: color-mix(in srgb, var(--entity-soft, var(--fa-surface-muted)) 66%, white);
    color: var(--entity-accent, var(--fa-text));
}

.entity-meeting-view .btn-primary,
.entity-meeting-view .btn-outline-primary {
    color: var(--fa-link-strong);
    border-color: color-mix(in srgb, var(--fa-link) 38%, white);
}

.entity-meeting-view .btn-primary {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #ffffff;
}

.entity-meeting-view .btn-primary:hover,
.entity-meeting-view .btn-primary:focus,
.entity-meeting-view .btn-primary:active,
.entity-meeting-view .btn-outline-primary:hover,
.entity-meeting-view .btn-outline-primary:focus,
.entity-meeting-view .btn-outline-primary:active,
.entity-meeting-view .btn-outline-primary.active {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #ffffff;
}

.entity-meeting-view .btn-outline-primary,
.entity-meeting-view .btn-outline-secondary {
    background: var(--fa-surface);
}

.entity-meeting-view .btn-outline-secondary:hover,
.entity-meeting-view .btn-outline-secondary:focus,
.entity-meeting-view .btn-outline-secondary:active,
.entity-meeting-view .btn-outline-secondary.active {
    background: var(--fa-surface-muted);
    border-color: var(--fa-border-strong);
    color: var(--fa-text);
}

.entity-meeting-view .fa-agenda-summary-chip {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 22%, white);
    background: color-mix(in srgb, var(--entity-soft, var(--fa-surface-muted)) 64%, white);
    color: color-mix(in srgb, var(--entity-accent, var(--fa-text-muted)) 42%, var(--fa-text-muted));
}

.entity-meeting-view .fa-agenda-summary-chip strong,
.entity-meeting-view .fa-agenda-summary-chip__label,
.entity-meeting-view .fa-agenda-item-card__title,
.entity-meeting-view .fa-agenda-inline-panel__title {
    color: var(--entity-accent, var(--fa-text));
}

.entity-meeting-view .fa-agenda-item-card {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 18%, white);
    background: linear-gradient(180deg, var(--fa-surface-muted) 0%, #ffffff 100%);
}

.entity-meeting-view .fa-agenda-item-card__index {
    background: color-mix(in srgb, var(--entity-soft, var(--fa-surface-muted)) 78%, white);
    color: var(--entity-accent, var(--fa-text));
}

.entity-meeting-view .fa-agenda-item-card__title:hover,
.entity-meeting-view .fa-agenda-item-card__title:focus {
    color: color-mix(in srgb, var(--entity-accent, var(--bs-primary)) 88%, black);
}

.entity-meeting-view .badge.text-bg-light.border,
.entity-meeting-view .text-bg-light.border {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 18%, white) !important;
    background: var(--fa-surface-muted) !important;
    color: var(--entity-accent, var(--fa-text)) !important;
}

.entity-meeting-view .fa-meeting-agenda-form,
.entity-meeting-view .fa-agenda-inline-panel {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 18%, white);
    background: var(--fa-surface) !important;
}

.entity-decision-view .btn-primary,
.entity-decision-view .btn-outline-primary {
    color: var(--fa-link-strong);
    border-color: color-mix(in srgb, var(--fa-link) 38%, white);
}

.entity-decision-view .btn-primary {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #ffffff;
}

.entity-decision-view .btn-primary:hover,
.entity-decision-view .btn-primary:focus,
.entity-decision-view .btn-primary:active,
.entity-decision-view .btn-outline-primary:hover,
.entity-decision-view .btn-outline-primary:focus,
.entity-decision-view .btn-outline-primary:active,
.entity-decision-view .btn-outline-primary.active {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #ffffff;
}

.entity-decision-view .btn-outline-primary,
.entity-decision-view .btn-outline-secondary,
.entity-decision-view .proposal-metric-card,
.entity-decision-view .decision-gate-card {
    background: var(--fa-surface);
}

.entity-decision-view .btn-outline-secondary:hover,
.entity-decision-view .btn-outline-secondary:focus,
.entity-decision-view .btn-outline-secondary:active,
.entity-decision-view .btn-outline-secondary.active {
    background: var(--fa-surface-muted);
    border-color: var(--fa-border-strong);
    color: var(--fa-text);
}

.entity-decision-view .badge.text-bg-light.border,
.entity-decision-view .text-bg-light.border {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 18%, white) !important;
    background: var(--fa-surface-muted) !important;
    color: var(--entity-accent, var(--fa-text)) !important;
}

.entity-decision-view .proposal-metric-card,
.entity-decision-view .decision-gate-card {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 18%, white);
}

.decision-lifecycle-step,
.decision-gate-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.48rem 0.8rem;
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 600;
}

.entity-decision-view .decision-lifecycle-step.is-complete,
.entity-decision-view .decision-lifecycle-step.is-upcoming,
.entity-decision-view .decision-gate-badge {
    border: 1px solid color-mix(in srgb, var(--entity-accent, var(--fa-border)) 22%, white);
    background: color-mix(in srgb, var(--entity-soft, var(--fa-surface-muted)) 66%, white);
    color: var(--entity-accent, var(--fa-text));
}

.entity-decision-view .decision-lifecycle-step.is-current {
    border: 1px solid color-mix(in srgb, var(--entity-accent, var(--fa-border-strong)) 32%, white);
    background: var(--fa-surface);
    color: var(--entity-accent, var(--fa-text));
}

.entity-action-view .btn-primary,
.entity-action-view .btn-outline-primary {
    color: var(--fa-link-strong);
    border-color: color-mix(in srgb, var(--fa-link) 38%, white);
}

.entity-action-view .btn-primary {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #ffffff;
}

.entity-action-view .btn-primary:hover,
.entity-action-view .btn-primary:focus,
.entity-action-view .btn-primary:active,
.entity-action-view .btn-outline-primary:hover,
.entity-action-view .btn-outline-primary:focus,
.entity-action-view .btn-outline-primary:active,
.entity-action-view .btn-outline-primary.active {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #ffffff;
}

.entity-action-view .btn-outline-primary,
.entity-action-view .btn-outline-secondary {
    background: var(--fa-surface);
}

.entity-action-view .btn-outline-secondary:hover,
.entity-action-view .btn-outline-secondary:focus,
.entity-action-view .btn-outline-secondary:active,
.entity-action-view .btn-outline-secondary.active {
    background: var(--fa-surface-muted);
    border-color: var(--fa-border-strong);
    color: var(--fa-text);
}

.entity-action-view .badge.text-bg-light.border,
.entity-action-view .text-bg-light.border {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 18%, white) !important;
    background: var(--fa-surface-muted) !important;
    color: var(--entity-accent, var(--fa-text)) !important;
}

.entity-action-view .fa-editor-input,
.entity-action-view #actionTaskFormWrapper,
.entity-action-view #actionAssignmentFormWrapper,
.entity-action-view #actionDeliverableFormWrapper {
    background: var(--fa-surface) !important;
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 18%, white);
}

@media (min-width: 992px) {
    .fa-agenda-item-card__header {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }

    .fa-agenda-item-card__side {
        flex: 0 0 auto;
        min-width: 11rem;
    }

    .fa-agenda-item-card__side-actions {
        justify-content: flex-end;
    }

    .fa-agenda-item-card__supporting {
        display: grid;
        grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
        align-items: start;
    }
}

.alert {
    border-width: 1px;
    border-radius: var(--fa-radius-sm);
}

.progress {
    height: 0.65rem;
    background: #e2e8f0;
    border-radius: 999px;
}

.table {
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--fa-border);
}

.modal-content {
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius);
    box-shadow: var(--fa-shadow);
}

.shadow-sm,
.shadow {
    box-shadow: var(--fa-shadow-soft) !important;
}

@media (max-width: 991.98px) {
    .fa-app-main {
        padding-top: 6.25rem;
    }

    body.fa-authenticated-shell {
        --fa-mobile-nav-height: 74px;
    }

    body.fa-authenticated-shell .fa-app-main {
        padding-bottom: calc(1.25rem + var(--fa-mobile-nav-height) + var(--fa-safe-bottom));
    }

    .entity-status-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .entity-workspace-layout {
        grid-template-columns: 1fr;
    }

    .fa-dashboard-group-grid,
    .fa-dashboard-activity-grid {
        grid-template-columns: 1fr;
    }

    .fa-dashboard-command-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .fa-dashboard-command-summary {
        position: static;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    body.fa-authenticated-shell {
        --fa-mobile-nav-height: 74px;
    }

    body.fa-authenticated-shell .fa-app-main {
        padding-bottom: calc(1.25rem + var(--fa-mobile-nav-height) + var(--fa-safe-bottom));
    }

    .fa-desktop-primary-nav {
        display: none;
    }

    .fa-mobile-primary-nav {
        position: fixed;
        left: 50%;
        bottom: 0;
        z-index: 1035;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        width: min(100%, 680px);
        gap: 0.2rem;
        padding: 0.45rem 0.65rem calc(0.45rem + var(--fa-safe-bottom));
        border: 1px solid rgba(148, 163, 184, 0.28);
        border-bottom: 0;
        border-radius: 1rem 1rem 0 0;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(18px);
        box-shadow: 0 -10px 24px rgba(15, 23, 42, 0.08);
        transform: translateX(-50%);
    }

    .fa-mobile-primary-nav__link {
        --mobile-nav-accent: var(--fa-text);
        --mobile-nav-soft: var(--fa-surface-muted);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.22rem;
        min-height: 3.35rem;
        padding: 0.35rem 0.2rem;
        border-radius: 0.9rem;
        color: color-mix(in srgb, var(--mobile-nav-accent) 70%, var(--fa-text-muted) 30%);
        text-decoration: none;
    }

    .fa-mobile-primary-nav__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
        color: var(--mobile-nav-accent);
    }

    .fa-mobile-primary-nav__avatar {
        width: 1.35rem;
        height: 1.35rem;
        border: 1px solid color-mix(in srgb, var(--mobile-nav-accent) 28%, white);
        border-radius: 999px;
        background: var(--mobile-nav-soft);
        object-fit: cover;
    }

    .fa-mobile-primary-nav__label {
        font-size: var(--fa-type-overline);
        font-weight: 700;
        letter-spacing: 0.01em;
        line-height: 1;
    }

    .fa-mobile-primary-nav__link.is-active {
        color: var(--mobile-nav-accent);
        background: color-mix(in srgb, var(--mobile-nav-soft) 72%, white);
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mobile-nav-accent) 18%, white);
    }

    .fa-mobile-primary-nav__link.entity-organization,
    .fa-mobile-primary-nav__link.entity-home {
        --mobile-nav-accent: var(--entity-organization);
        --mobile-nav-soft: var(--entity-organization-soft);
    }

    .fa-mobile-primary-nav__link.entity-group {
        --mobile-nav-accent: var(--entity-group);
        --mobile-nav-soft: var(--entity-group-soft);
    }

    .fa-mobile-primary-nav__link.entity-action {
        --mobile-nav-accent: var(--entity-action);
        --mobile-nav-soft: var(--entity-action-soft);
    }

    .fa-mobile-primary-nav__link.entity-chat,
    .fa-mobile-primary-nav__link.entity-post,
    .fa-mobile-primary-nav__link.entity-publication {
        --mobile-nav-accent: var(--entity-chat);
        --mobile-nav-soft: var(--entity-chat-soft);
    }

    .fa-mobile-primary-nav__link.entity-organization-users,
    .fa-mobile-primary-nav__link.entity-profile,
    .fa-mobile-primary-nav__link.entity-account {
        --mobile-nav-accent: var(--entity-organization);
        --mobile-nav-soft: var(--entity-organization-soft);
    }
}

@media (max-width: 767.98px) {
    :root {
        --fa-top-offset: calc(5.8rem + var(--fa-safe-top));
        --fa-radius: 14px;
        --fa-radius-sm: 10px;
        --fa-space-md: 14px;
        --fa-space-lg: 18px;
        --fa-space-xl: 24px;
    }

    body.fa-authenticated-shell {
        --fa-mobile-nav-height: 74px;
    }

    .navbar.fixed-top.bg-light {
        padding-top: calc(0.8rem + var(--fa-safe-top)) !important;
        padding-bottom: 0.8rem !important;
    }

    .fa-app-main {
        padding-bottom: calc(1.25rem + var(--fa-mobile-nav-height) + var(--fa-safe-bottom));
    }

    .fa-page-column {
        padding-inline: 0.35rem;
    }

    .fa-view-header {
        flex-direction: column;
        align-items: stretch;
        padding: 1rem;
        gap: 0.9rem;
    }

    .fa-view-actions {
        width: 100%;
        justify-content: flex-start;
        gap: 0.625rem;
    }

    .fa-view-header--mobile-inline {
        flex-direction: row;
        align-items: center;
    }

    .fa-view-header--mobile-inline > :first-child {
        flex: 1 1 auto;
    }

    .fa-view-header--mobile-inline .fa-view-kicker,
    .fa-view-header--mobile-inline .entity-label {
        margin-bottom: 0;
    }

    .fa-view-header--mobile-inline .fa-view-actions {
        width: auto;
        flex: 0 0 auto;
        margin-left: auto;
        justify-content: flex-end;
    }

    .fa-profile-header,
    .fa-profile-header__identity {
        align-items: flex-start;
    }

    .fa-profile-header__identity {
        gap: 0.875rem;
    }

    .fa-profile-header__avatar {
        width: 64px;
        height: 64px;
    }

    .fa-view-heading {
        font-size: clamp(1.15rem, 7vw, 1.9rem);
        line-height: 1.1;
    }

    .fa-view-subtitle {
        font-size: 0.95rem;
    }

    .entity-status-strip {
        grid-template-columns: 1fr;
    }

    .entity-status-card {
        padding: 0.9rem;
    }

    .entity-section-header,
    .entity-role-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .entity-role-value {
        text-align: left;
    }

    .fa-dashboard-shortcuts__grid {
        grid-template-columns: 1fr;
    }

    .fa-dashboard-command-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        padding: 0.9rem;
    }

    .fa-dashboard-command-heading {
        grid-column: 1;
        grid-row: 1;
    }

    .fa-dashboard-page-actions {
        grid-column: 1 / -1;
        grid-row: 2;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .fa-dashboard-header-meta {
        grid-column: 2;
        grid-row: 1;
        justify-items: end;
        margin-left: auto;
    }

    .fa-dashboard-header-meta__item {
        text-align: right;
    }

    .fa-dashboard-page-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .fa-dashboard-command-grid,
    .fa-dashboard-command-main,
    .fa-dashboard-command-summary {
        gap: 0.75rem;
    }

    .fa-dashboard {
        display: flex;
        flex-direction: column;
        gap: var(--fa-major-gap);
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .fa-dashboard-command-grid,
    .fa-dashboard-command-main,
    .fa-dashboard-command-summary {
        display: contents;
    }

    .fa-dashboard-command-main > [data-dashboard-section="user-groups"] {
        order: 1;
    }

    .fa-dashboard-command-summary > [data-dashboard-section="notifications-mini"] {
        order: 2;
    }

    .fa-dashboard-command-summary > .fa-dashboard-profile-summary {
        order: 3;
    }

    .fa-dashboard-command-main > [data-dashboard-section="personal-activity"] {
        order: 4;
    }

    .fa-dashboard > .fa-dashboard-personal-grid {
        order: 1;
    }

    .fa-dashboard > .fa-dashboard-activity-grid {
        order: 5;
    }

    .fa-dashboard > [data-dashboard-section="proxy"] {
        order: 6;
    }

    .fa-dashboard-shortcuts .card-body,
    .fa-dashboard-section .card-body {
        padding: var(--fa-panel-padding);
    }

    .fa-dashboard-section__header,
    .fa-dashboard-subpanel__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .fa-context-card__title {
        font-size: 1.05rem;
    }

    .fa-context-card__subtitle,
    .fa-view-meta-inline,
    .fa-meta-tile__value {
        font-size: 0.95rem;
    }

    .fa-view-kicker {
        font-size: var(--fa-type-overline);
    }

    .fa-pane-card,
    .card,
    .accordion-item {
        border-radius: var(--fa-radius);
    }

    .card-body,
    .accordion-body {
        padding: var(--fa-space-md);
    }

    .fa-section-nav {
        margin-inline: -0.125rem;
        padding-inline: 0.125rem;
    }

    .fa-section-nav .btn-group {
        min-width: 0;
    }

    .fa-section-nav .btn {
        padding: 0.7rem 0.9rem;
        font-size: 0.98rem;
    }

    .btn {
        min-height: var(--fa-control-height);
        padding: 0.625rem 0.875rem;
    }

    .btn-sm {
        min-height: var(--fa-control-height-compact);
        padding: 0.625rem 0.75rem;
        font-size: var(--fa-type-compact);
    }

    .fa-view-actions .btn {
        flex: 1 1 calc(50% - 0.3125rem);
    }

    .fa-mobile-primary-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1035;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.15rem;
        padding:
            0.45rem
            max(0.45rem, var(--fa-safe-bottom))
            calc(0.45rem + var(--fa-safe-bottom));
        border-top: 1px solid rgba(148, 163, 184, 0.28);
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(18px);
        box-shadow: 0 -10px 24px rgba(15, 23, 42, 0.08);
    }

    .fa-shell-nav {
        padding-block: calc(0.8rem + var(--fa-safe-top)) 0.8rem !important;
    }

    .fa-shell-nav__bar {
        gap: 0.65rem;
    }

    .fa-shell-nav__brand-name {
        font-size: 0.92rem;
    }

    .fa-shell-nav__menu-image {
        width: 2.35rem;
        height: 2.35rem;
    }

    .fa-mobile-primary-nav__link {
        --mobile-nav-accent: var(--fa-text);
        --mobile-nav-soft: var(--fa-surface-muted);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.22rem;
        min-height: 3.35rem;
        padding: 0.35rem 0.2rem;
        border-radius: 0.9rem;
        color: color-mix(in srgb, var(--mobile-nav-accent) 70%, var(--fa-text-muted) 30%);
        text-decoration: none;
    }

    .fa-mobile-primary-nav__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
        color: var(--mobile-nav-accent);
    }

    .fa-mobile-primary-nav__avatar {
        width: 1.35rem;
        height: 1.35rem;
        border-radius: 999px;
        object-fit: cover;
        border: 1px solid color-mix(in srgb, var(--mobile-nav-accent) 28%, white);
        background: var(--mobile-nav-soft);
    }

    .fa-mobile-primary-nav__label {
        font-size: var(--fa-type-overline);
        font-weight: 700;
        letter-spacing: 0.01em;
        line-height: 1;
    }

    .fa-mobile-primary-nav__link.is-active {
        color: var(--mobile-nav-accent);
        background: color-mix(in srgb, var(--mobile-nav-soft) 72%, white);
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mobile-nav-accent) 18%, white);
    }

    .fa-mobile-primary-nav__link.entity-organization,
    .fa-mobile-primary-nav__link.entity-home {
        --mobile-nav-accent: var(--entity-organization);
        --mobile-nav-soft: var(--entity-organization-soft);
    }

    .fa-mobile-primary-nav__link.entity-group {
        --mobile-nav-accent: var(--entity-group);
        --mobile-nav-soft: var(--entity-group-soft);
    }

    .fa-mobile-primary-nav__link.entity-action {
        --mobile-nav-accent: var(--entity-action);
        --mobile-nav-soft: var(--entity-action-soft);
    }

    .fa-mobile-primary-nav__link.entity-chat,
    .fa-mobile-primary-nav__link.entity-post,
    .fa-mobile-primary-nav__link.entity-publication {
        --mobile-nav-accent: var(--entity-chat);
        --mobile-nav-soft: var(--entity-chat-soft);
    }

    .fa-mobile-primary-nav__link.entity-organization-users,
    .fa-mobile-primary-nav__link.entity-profile,
    .fa-mobile-primary-nav__link.entity-account {
        --mobile-nav-accent: var(--entity-organization);
        --mobile-nav-soft: var(--entity-organization-soft);
    }

    .accordion-button {
        padding: 0.95rem 1rem;
    }

    .list-group-item {
        padding: 0.8rem 0.9rem;
    }

    .badge {
        padding: 0.38rem 0.58rem;
    }

    textarea.form-control {
        min-height: 104px;
    }
}

@media (max-width: 479.98px) {
    .fa-page-column {
        padding-inline: 0.15rem;
    }

    .fa-shell-nav__brand-name {
        max-width: 9rem;
        overflow-wrap: anywhere;
    }

    .fa-view-actions .btn {
        flex-basis: 100%;
    }

    .fa-profile-header__avatar {
        width: 58px;
        height: 58px;
    }

    .fa-section-nav .btn {
        padding: 0.65rem 0.85rem;
        font-size: 0.94rem;
    }

    .fa-view-heading {
        font-size: clamp(1.1rem, 8vw, 1.5rem);
    }

}

.material-symbols-outlined {
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24;
}

.fa-icon {
    font-variation-settings:
        'FILL' 0,
        'wght' 500,
        'GRAD' 0,
        'opsz' 24;
    font-size: 1.2em;
    line-height: 1;
    vertical-align: -0.2em;
}

.fa-icon.is-active,
.fa-icon[aria-current="true"] {
    font-variation-settings:
        'FILL' 1,
        'wght' 500,
        'GRAD' 0,
        'opsz' 24;
}

.fa-user-reference {
    --fa-user-reference-size: 28px;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    max-width: 100%;
    color: inherit;
    font-weight: 600;
    min-height: var(--fa-user-reference-size);
    line-height: 1;
    text-decoration: none;
    vertical-align: middle;
}

.fa-user-reference:hover .fa-user-reference__name,
.fa-user-reference:focus-visible .fa-user-reference__name {
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.fa-user-reference__avatar {
    width: var(--fa-user-reference-size);
    height: var(--fa-user-reference-size);
    flex: 0 0 var(--fa-user-reference-size);
    border: 1px solid var(--fa-border, #d3cabc);
    border-radius: 50%;
    background: var(--fa-surface, #fcfbf8);
    object-fit: cover;
    display: block;
}

.fa-user-reference__avatar--fallback {
    display: inline-grid;
    place-items: center;
    color: var(--fa-field, #0f766e);
    background: color-mix(in srgb, var(--fa-field, #0f766e) 10%, white);
}

.fa-user-reference__avatar--fallback .fa-icon {
    font-size: calc(var(--fa-user-reference-size) * 0.68);
    line-height: 1;
}

.fa-user-reference__name {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    min-height: var(--fa-user-reference-size);
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.fa-user-reference__role {
    flex: 0 0 auto;
    color: var(--fa-text-muted, #6b6258);
    font-size: 0.9em;
    font-weight: 500;
    line-height: 1.1;
}

.fa-profile-preview__identity {
    display: flex;
    align-items: center;
    gap: var(--fa-related-gap);
}

.fa-profile-preview__avatar {
    width: 3.25rem;
    height: 3.25rem;
    flex: 0 0 3.25rem;
    display: grid;
    place-items: center;
    border: 1px solid var(--fa-border, #d3cabc);
    border-radius: 50%;
    background: var(--fa-surface, #fcfbf8);
    object-fit: cover;
}

.fa-profile-preview__avatar .fa-icon {
    font-size: 2rem;
    line-height: 1;
}

.fa-profile-preview__name {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.fa-profile-preview__about {
    margin: 0;
    max-height: 8rem;
    overflow-y: auto;
    line-height: 1.55;
    white-space: pre-wrap;
}

.chat-header {
    position: sticky;
    top: var(--fa-safe-top, 0px);
    z-index: 1000;
    padding: calc(12px + var(--fa-safe-top, 0px)) 15px 15px;
    background: #0f766e;
    color: #fff;
    text-align: center;
}

.chat-messages {
    padding: 15px;
    max-width: 600px;
    margin: 0 auto;
}

.message {
    margin-bottom: 4px;
    max-width: 75%;
    padding: 8px 12px;
    border-radius: 16px;
}

.user {
    background: #0f766e;
    color: #fff;
    margin-left: auto;
}

.bot {
    background: #e9ecef;
}

.timestamp {
    font-size: 0.7rem;
    opacity: 0.6;
    margin-bottom: 8px;
}

.chat-input {
    position: sticky;
    bottom: calc(var(--fa-mobile-nav-height, 0px) + var(--fa-safe-bottom, 0px));
    display: flex;
    max-width: 600px;
    margin: 0 auto;
    background: var(--fa-surface, #fcfbf8);
    border-top: 1px solid var(--fa-border, #d3cabc);
    padding-bottom: var(--fa-safe-bottom, 0px);
}

.chat-input input {
    border: none;
    padding: 15px;
    flex: 1;
}

.new-msg-indicator {
    position: fixed;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    background: #dc2626;
    color: #fff;
    padding: 6px 12px;
    border-radius: 20px;
    display: none;
    cursor: pointer;
}

.chat-message-row {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.chat-message-row.is-own {
    flex-direction: row-reverse;
}

.chat-message-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid #dee2e6;
    background: #f8f9fa;
}

.chat-message-content {
    max-width: min(75%, 580px);
}

.chat-message-bubble {
    border-radius: 14px;
    padding: 10px 12px;
    line-height: 1.35;
}

.chat-message-bubble.other {
    background: #f1f3f5;
    color: #212529;
}

.chat-message-bubble.own {
    background: #0f766e;
    color: #fff;
}

.entity-tray {
    background: #0f172a;
    color: #fff;
}

.entity-tray .offcanvas-body {
    padding: 1rem;
}

.user-nav-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: 0.75rem;
}

.user-nav-brand {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    min-width: 0;
    width: 100%;
    margin-right: 0;
    white-space: normal;
}

.user-nav-brand-image {
    width: 24px;
    height: 24px;
    object-fit: cover;
    flex-shrink: 0;
}

.user-nav-brand-name {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.2;
}

.user-nav-toggle {
    flex-shrink: 0;
    justify-self: end;
    align-self: start;
}

.entity-tray .offcanvas-header {
    align-items: flex-start;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding: 1rem 1rem 0.9rem;
}

.entity-tray .entity-tray-header-copy {
    min-width: 0;
}

.entity-tray .offcanvas-title {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.entity-tray .entity-tray-header-subtitle {
    color: #94a3b8;
    font-size: 0.82rem;
    line-height: 1.3;
    margin-top: 0.2rem;
}

.entity-tray .entity-tray-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.entity-tray .entity-tray-brand-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.85rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 1rem;
    background:
        linear-gradient(180deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.98));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.entity-tray .entity-tray-brand-card--profile {
    color: inherit;
    text-decoration: none;
    transition:
        border-color 140ms ease,
        transform 140ms ease,
        box-shadow 140ms ease;
}

.entity-tray .entity-tray-brand-card--profile:hover,
.entity-tray .entity-tray-brand-card--profile:focus-visible {
    color: inherit;
    border-color: rgba(96, 165, 250, 0.38);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.03),
        0 10px 24px rgba(15, 23, 42, 0.28);
    transform: translateY(-1px);
}

.entity-tray .entity-tray-brand-image {
    width: 3rem;
    height: 3rem;
    border-radius: 0.95rem;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.entity-tray .entity-tray-brand-image--profile {
    border-radius: 999px;
}

.entity-tray .entity-tray-brand-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.entity-tray .entity-tray-brand-eyebrow {
    color: #94a3b8;
    font-size: var(--fa-type-overline, 0.75rem);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.entity-tray .entity-tray-brand-name {
    color: #f8fafc;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.entity-tray .entity-tray-section {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.entity-tray .entity-tray-list {
    gap: 0.45rem;
}

.entity-tray .entity-nav-label {
    font-size: var(--fa-type-overline, 0.75rem);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.72;
    margin: 0;
    padding: 0 0.35rem;
}

.entity-tray .tray-utility-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 2.8rem;
    border-radius: 0.85rem;
    color: #e2e8f0;
    padding: 0.75rem 0.95rem;
    background: rgba(15, 23, 42, 0.36);
    border: 1px solid rgba(148, 163, 184, 0.14);
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.entity-tray .tray-utility-link:hover,
.entity-tray .tray-utility-link:focus {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(148, 163, 184, 0.28);
    color: #fff;
    transform: translateY(-1px);
}

.entity-tray .tray-utility-button {
    width: 100%;
    text-align: left;
    background: transparent;
    font: inherit;
    border: 1px solid rgba(148, 163, 184, 0.14);
}

.entity-tray .nav-link.entity-nav-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.9rem;
    color: #e2e8f0;
    padding: 0.78rem 0.9rem;
    border: 1px solid rgba(148, 163, 184, 0.14);
    background: rgba(15, 23, 42, 0.36);
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.entity-tray .nav-link.entity-nav-link:hover,
.entity-tray .nav-link.entity-nav-link:focus {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(148, 163, 184, 0.28);
    color: #fff;
    transform: translateY(-1px);
}

.entity-tray .entity-symbol {
    width: 2rem;
    height: 2rem;
    border-radius: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 700;
    flex-shrink: 0;
}

.entity-tray .entity-link-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.entity-tray .entity-link-title {
    font-weight: 600;
}

.entity-tray .entity-link-subtitle {
    font-size: 0.75rem;
    color: #94a3b8;
}

.entity-tray .entity-decision .entity-symbol {
    background: var(--entity-decision-soft);
    color: var(--entity-decision);
}

.entity-tray .entity-group .entity-symbol {
    background: var(--entity-group-soft);
    color: var(--entity-group);
}

.entity-tray .entity-publication .entity-symbol {
    background: var(--entity-publication-soft);
    color: var(--entity-publication);
}

.entity-tray .entity-meeting .entity-symbol {
    background: var(--entity-meeting-soft);
    color: var(--entity-meeting);
}

.entity-tray .entity-organization-users .entity-symbol,
.entity-tray .entity-organization .entity-symbol,
.entity-tray .entity-profile .entity-symbol,
.entity-tray .entity-account .entity-symbol,
.entity-tray .entity-settings .entity-symbol,
.entity-tray .entity-logout .entity-symbol {
    background: var(--entity-organization-soft);
    color: var(--entity-organization);
}

.entity-tray .entity-home .entity-symbol {
    background: var(--fa-kit-brand-soft, #dfeae5);
    color: var(--fa-kit-brand, #2f5a4f);
}

.entity-tray .entity-chat .entity-symbol {
    background: var(--entity-chat-soft);
    color: var(--entity-chat);
}

.entity-tray .entity-post .entity-symbol {
    background: var(--entity-post-soft);
    color: var(--entity-post);
}

.entity-action-view .entity-workspace-nav {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 20%, white);
    background: linear-gradient(180deg, var(--fa-surface-muted) 0%, #ffffff 100%);
}

.entity-action-view .entity-workspace-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: color-mix(in srgb, var(--entity-accent, var(--fa-text-muted)) 42%, var(--fa-text-muted));
}

.entity-action-view .entity-workspace-tab:hover,
.entity-action-view .entity-workspace-tab:focus {
    color: var(--entity-accent, var(--fa-text));
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 26%, white);
    background: color-mix(in srgb, var(--entity-soft, var(--fa-surface-muted)) 58%, white);
}

.action-primary-actions {
    align-items: stretch;
}

.action-status-command {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.action-status-command__select {
    min-width: 11rem;
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border-strong)) 26%, white);
}

.action-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.25rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid color-mix(in srgb, var(--entity-accent, var(--fa-border)) 18%, white);
    border-radius: 999px;
    background: color-mix(in srgb, var(--entity-soft, var(--fa-surface-muted)) 36%, white);
    color: var(--fa-text);
}

.action-meta-chip__label {
    color: var(--fa-text-muted);
    font-size: 0.8rem;
    font-weight: 600;
}

.action-meta-chip__value {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.92rem;
    font-weight: 600;
}

.action-state-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.9rem;
    padding: 0.28rem 0.7rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.action-state-badge--neutral {
    border-color: var(--fa-border);
    background: var(--fa-surface-muted);
    color: var(--fa-text);
}

.action-state-badge--success {
    border-color: rgba(63, 106, 78, 0.24);
    background: var(--fa-kit-success-soft, #dce8df);
    color: var(--fa-kit-success, #3f6a4e);
}

.action-state-badge--warning {
    border-color: rgba(138, 104, 52, 0.24);
    background: var(--fa-kit-warning-soft, #efe1c9);
    color: var(--fa-kit-warning, #8a6834);
}

.action-state-badge--danger {
    border-color: rgba(138, 71, 66, 0.24);
    background: var(--fa-kit-danger-soft, #eed9d7);
    color: var(--fa-kit-danger, #8a4742);
}

.action-focus-strip {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 18%, white);
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--entity-soft) 35%, white), transparent 42%),
        #ffffff;
}

.action-focus-strip__body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.action-focus-strip__main {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-width: 0;
}

.action-focus-strip__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--entity-soft, var(--fa-surface-muted)) 68%, white);
    color: var(--entity-accent, var(--fa-text));
    flex-shrink: 0;
}

.action-focus-strip__copy {
    min-width: 0;
}

.action-focus-strip__eyebrow {
    color: var(--entity-accent, var(--fa-text-muted));
    font-size: 0.8rem;
    font-weight: 700;
}

.action-focus-strip__title {
    margin: 0.2rem 0 0;
    font-size: clamp(1.15rem, 1vw + 1rem, 1.45rem);
    line-height: 1.2;
}

.action-focus-strip__note,
.action-focus-strip__meta {
    margin-top: 0.35rem;
    color: var(--fa-text-muted);
}

.action-focus-strip__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.action-focus-strip.is-complete {
    border-color: rgba(63, 106, 78, 0.22);
    background:
        radial-gradient(circle at top right, rgba(220, 232, 223, 0.72), transparent 42%),
        var(--fa-surface, #fcfbf8);
}

.action-focus-strip.is-complete .action-focus-strip__icon {
    background: var(--fa-kit-success, #3f6a4e);
    color: #ffffff;
}

.action-focus-strip.is-complete .action-focus-strip__eyebrow,
.action-focus-strip.is-complete .action-focus-strip__title {
    color: var(--fa-kit-success, #3f6a4e);
}

.action-focus-strip.is-attention .action-focus-strip__eyebrow,
.action-focus-strip.is-attention .action-focus-strip__title {
    color: var(--entity-accent, var(--fa-text));
}

.action-workspace-layout {
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.85fr);
}

.action-section-card,
.action-support-card {
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 14%, white);
}

.action-inline-form {
    margin-top: 1rem;
    border-color: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 16%, white) !important;
    background: var(--fa-surface, #fcfbf8) !important;
}

.action-card-list {
    display: grid;
    gap: 1rem;
}

.action-record-card {
    padding: 1rem;
    border: 1px solid color-mix(in srgb, var(--entity-accent, var(--fa-border)) 14%, white);
    border-radius: 1rem;
    background: linear-gradient(180deg, var(--fa-surface-muted) 0%, #ffffff 100%);
}

.action-record-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
}

.action-record-card__eyebrow {
    color: var(--fa-text-muted);
    font-size: 0.85rem;
}

.action-record-card__title {
    margin: 0.22rem 0 0;
    font-size: 1.05rem;
    line-height: 1.3;
}

.action-record-card__summary,
.action-record-card__meta {
    margin-top: 0.75rem;
}

.action-record-card__meta {
    color: var(--fa-text-muted);
    font-size: 0.92rem;
}

.action-record-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.9rem;
}

.action-record-card__actions .btn {
    --bs-btn-padding-y: 0.34rem;
    --bs-btn-padding-x: 0.72rem;
    --bs-btn-font-size: 0.84rem;
}

.action-command-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.action-command-card__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.action-support-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.action-support-card__toggle {
    color: var(--entity-accent, var(--bs-primary));
    text-decoration: none;
}

.action-history-list {
    display: grid;
    gap: 0.95rem;
}

.action-history-entry {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
}

.action-history-entry__rail {
    position: relative;
    width: 0.9rem;
}

.action-history-entry__rail::before {
    content: "";
    position: absolute;
    left: 0.28rem;
    top: 0.15rem;
    bottom: -1rem;
    width: 2px;
    background: color-mix(in srgb, var(--entity-accent, var(--fa-border)) 24%, white);
}

.action-history-entry:last-child .action-history-entry__rail::before {
    bottom: 0.9rem;
}

.action-history-entry__rail::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0.28rem;
    width: 0.58rem;
    height: 0.58rem;
    border-radius: 999px;
    background: var(--entity-accent, var(--fa-text));
    box-shadow: 0 0 0 3px #ffffff;
}

.action-history-entry__meta {
    color: var(--fa-text-muted);
    font-size: 0.84rem;
}

.action-history-entry__title {
    margin: 0.2rem 0 0;
    font-size: 1rem;
    line-height: 1.3;
}

.action-history-entry__summary,
.action-history-entry__details {
    margin-top: 0.3rem;
    color: var(--fa-text-muted);
}

.alert {
    border-width: 1px;
    border-radius: var(--fa-radius-sm);
}

.progress {
    height: 0.65rem;
    background: #e2e8f0;
    border-radius: 999px;
}

.table {
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--fa-border);
}

.modal-content {
    border: 1px solid var(--fa-border);
    border-radius: var(--fa-radius);
}

@media (max-width: 991.98px) {
    #organizationDashboardApp .btn-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    #organizationDashboardApp .btn-group > .btn {
        width: 100%;
    }

    #organizationDashboardApp .d-flex.gap-2,
    #organizationDashboardApp .d-flex.gap-2.mb-3,
    #organizationDashboardApp #filesUploadForm {
        flex-direction: column;
    }

    #organizationDashboardApp .input-group {
        flex-wrap: wrap;
    }

    #organizationDashboardApp .input-group > .form-control,
    #organizationDashboardApp .input-group > .btn,
    #organizationDashboardApp .d-flex.gap-2 > .btn,
    #organizationDashboardApp .d-flex.gap-2.mb-3 > .btn,
    #organizationDashboardApp #filesUploadForm > .form-control,
    #organizationDashboardApp #filesUploadForm > .btn {
        width: 100%;
    }

    #organizationDashboardApp .list-group-item.d-flex.justify-content-between,
    #organizationDashboardApp .list-group-item .d-flex.justify-content-between {
        align-items: flex-start !important;
    }

    .action-workspace-layout {
        grid-template-columns: 1fr;
    }

    .action-support-panel {
        grid-template-columns: 1fr;
    }

    .action-support-card__header {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .action-support-card__header > * {
        min-width: 0;
    }

    .action-support-card__body .fa-detail-grid {
        margin-left: 0;
        margin-right: 0;
    }

    .action-support-card__body .fa-detail-grid dt,
    .action-support-card__body .fa-detail-grid dd {
        padding-left: 0;
        padding-right: 0;
    }

    .action-focus-strip__body,
    .action-command-card,
    .action-record-card__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .action-focus-strip__actions,
    .action-command-card__actions,
    .action-status-command {
        width: 100%;
    }

    .action-focus-strip__actions .btn,
    .action-focus-strip__actions a,
    .action-command-card__actions .btn,
    .action-status-command .btn,
    .action-status-command .form-select {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .user-nav-bar {
        column-gap: 0.5rem;
    }

    .user-nav-brand {
        gap: 0.55rem !important;
    }

    .user-nav-brand-image {
        width: 22px;
        height: 22px;
    }

    .user-nav-brand-name {
        font-size: 0.9rem;
        line-height: 1.15;
    }

    .user-nav-toggle {
        padding: 0.5rem 0.65rem;
    }

    .entity-action-view .entity-workspace-tab {
        justify-content: center;
        flex: 1 1 0;
        min-width: 0;
    }

    .entity-action-view .entity-workspace-tab span:last-child {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

.fa-instance-portal-hero {
    position: relative;
    overflow: hidden;
}

.fa-instance-portal-hero::after {
    content: "";
    position: absolute;
    inset: auto -10% -35% 40%;
    height: 220px;
    background: radial-gradient(circle, rgba(35, 69, 61, 0.14) 0%, rgba(35, 69, 61, 0) 72%);
    pointer-events: none;
}

.fa-instance-portal-panel,
.fa-instance-portal-warning {
    border-radius: 1.25rem;
    margin-bottom: 1.25rem;
}

.fa-instance-portal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fa-instance-portal-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    background: rgba(35, 69, 61, 0.08);
    color: #23453d;
    font-size: 0.875rem;
    font-weight: 600;
}

.fa-instance-portal-list {
    padding-left: 1.1rem;
}

.fa-instance-portal-list li + li {
    margin-top: 0.65rem;
}

.fa-instance-portal-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.fa-instance-portal-form-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 2.65rem;
    padding: 0.6rem 1rem;
    line-height: 1.2;
    white-space: nowrap;
    align-self: center;
}

.fa-instance-portal-progress {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.fa-instance-portal-progress__item {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgba(35, 69, 61, 0.12);
    color: inherit;
    text-decoration: none;
    transition: transform 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

.fa-instance-portal-progress__item:hover,
.fa-instance-portal-progress__item:focus {
    transform: translateY(-1px);
    border-color: rgba(35, 69, 61, 0.28);
    box-shadow: 0 10px 24px rgba(35, 69, 61, 0.08);
}

.fa-instance-portal-progress__item.is-active {
    border-color: rgba(35, 69, 61, 0.42);
    background: linear-gradient(180deg, rgba(223, 234, 229, 0.6) 0%, rgba(255, 255, 255, 1) 100%);
}

.fa-instance-portal-progress__item.is-complete {
    border-color: rgba(35, 69, 61, 0.22);
}

.fa-instance-portal-progress__eyebrow {
    display: block;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #5f6f6a;
}

.fa-instance-portal-summary {
    display: grid;
    gap: 0.9rem;
}

.fa-instance-portal-summary div {
    display: grid;
    gap: 0.2rem;
}

.fa-instance-portal-summary dt {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6c757d;
}

.fa-instance-portal-summary dd {
    margin: 0;
    font-weight: 600;
}

@media (max-width: 991.98px) {
    .fa-instance-portal-progress {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .fa-instance-portal-form-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .fa-instance-portal-form-actions .btn {
        width: 100%;
    }

    .fa-instance-portal-progress {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
.fa-group-hero-media {
  width: 100%;
  max-height: 320px;
  aspect-ratio: 16 / 5;
  overflow: hidden;
  background: var(--fa-surface-subtle, #eef1f4);
}

.fa-group-hero-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fa-stable-feed-media,
.fa-journal__image > img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: var(--fa-surface-subtle, #eef1f4);
}

.fa-proposal-list-loading {
  display: grid;
  gap: 1rem;
}

.fa-proposal-loading-card {
  display: grid;
  gap: 0.75rem;
  min-height: 15rem;
  padding: 1.25rem;
  border: 1px solid var(--fa-border-color, #d9dee5);
  border-radius: 1rem;
  background: var(--fa-surface, #fff);
}

.fa-proposal-loading-card__line,
.fa-proposal-loading-card__body {
  display: block;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--fa-surface-subtle, #e8ecef) 25%, var(--fa-surface, #fff) 45%, var(--fa-surface-subtle, #e8ecef) 65%);
  background-size: 220% 100%;
  animation: fa-proposal-loading-shimmer 1.25s ease-in-out infinite;
}

.fa-proposal-loading-card__line { height: 0.8rem; }
.fa-proposal-loading-card__line--label { width: 18%; }
.fa-proposal-loading-card__line--title { width: min(75%, 32rem); height: 1.35rem; }
.fa-proposal-loading-card__line--meta { width: min(45%, 19rem); }
.fa-proposal-loading-card__line--action { width: 7.5rem; height: 2.25rem; justify-self: end; }
.fa-proposal-loading-card__body { width: 100%; height: 5rem; border-radius: 0.75rem; }

@keyframes fa-proposal-loading-shimmer {
  from { background-position: 100% 0; }
  to { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .fa-proposal-loading-card__line,
  .fa-proposal-loading-card__body { animation: none; }
}

[data-loading-placeholder][aria-busy="true"]:empty {
  display: grid;
  gap: 0.75rem;
  min-height: 11.5rem;
  padding: 0.75rem;
  border-radius: 0.85rem;
  background: var(--fa-surface-subtle, #eef1f4);
}

[data-loading-placeholder][aria-busy="true"]:empty::before,
[data-loading-placeholder][aria-busy="true"]:empty::after {
  content: "";
  display: block;
  min-height: 4.6rem;
  border: 1px solid var(--fa-border-color, #d9dee5);
  border-radius: 0.7rem;
  background:
    linear-gradient(90deg, transparent 0 25%, rgba(255,255,255,.72) 45%, transparent 65%) 0 0 / 220% 100%,
    linear-gradient(var(--fa-surface, #fff), var(--fa-surface, #fff));
  animation: fa-section-loading-shimmer 1.25s ease-in-out infinite;
}

[data-loading-placeholder="compact"][aria-busy="true"]:empty {
  min-height: 5.8rem;
}

[data-loading-placeholder="compact"][aria-busy="true"]:empty::after {
  display: none;
}

@keyframes fa-section-loading-shimmer {
  from { background-position: 100% 0, 0 0; }
  to { background-position: -100% 0, 0 0; }
}

@media (prefers-reduced-motion: reduce) {
  [data-loading-placeholder][aria-busy="true"]:empty::before,
  [data-loading-placeholder][aria-busy="true"]:empty::after { animation: none; }
}
/* Persistent Group workspace shell */
.fa-group-workspace {
    display: grid;
    gap: var(--fa-related-gap);
    min-width: 0;
    margin-top: calc(var(--fa-shell-nav-height) - var(--fa-top-offset));
    padding-top: calc(var(--fa-group-workspace-chrome-height) + var(--fa-related-gap));
}

html.has-group-workspace-chrome {
    overflow-x: clip;
    scroll-padding-top: calc(var(--fa-shell-nav-height) + var(--fa-group-workspace-chrome-height) + var(--fa-related-gap));
}

.fa-group-workspace__chrome {
    position: fixed;
    top: calc(var(--fa-shell-nav-height) - 1px);
    right: 0;
    left: 0;
    z-index: 1020;
    border-block: 1px solid var(--fa-border);
    background: var(--bs-gray-200, #e9ecef);
    color: var(--fa-text);
    box-shadow: 0 6px 18px rgba(40, 32, 20, 0.08);
    backdrop-filter: blur(16px);
}

.fa-group-workspace__chrome-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 32rem);
    align-items: center;
    gap: var(--fa-related-gap);
    width: min(calc(100% - 2rem), var(--fa-page-max-width));
    min-height: 64px;
    margin-inline: auto;
    padding-block: 8px;
}

.fa-group-workspace__identity,
.fa-group-workspace__identity > .min-w-0 {
    min-width: 0;
}

.fa-group-workspace__identity .fa-view-kicker {
    margin-bottom: 1px !important;
    font-size: var(--fa-type-overline);
    line-height: 1.2;
}

.fa-group-workspace__title {
    margin: 0;
    overflow: hidden;
    font-size: var(--fa-type-section-title);
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fa-group-workspace__title a { display: block; overflow: hidden; color: inherit; text-decoration: none; text-overflow: ellipsis; }
.fa-group-workspace__title a:hover { text-decoration: underline; }

.fa-group-workspace__modules {
    display: flex;
    align-items: stretch;
    gap: 6px;
    min-width: 0;
}

.fa-group-workspace__module {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    min-height: 38px;
    padding: 5px 12px;
    border: 1px solid transparent;
    border-radius: var(--fa-radius-sm);
    color: var(--fa-text);
    font-size: var(--fa-type-compact);
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.fa-group-workspace__module:hover { background: var(--fa-surface-subtle); }
.fa-group-workspace__module.is-active { border-color: var(--bs-primary); background: var(--bs-primary); color: #fff; font-weight: 750; box-shadow: var(--fa-shadow-sm); }
.fa-group-workspace__module:focus-visible { outline: 3px solid var(--fa-focus-ring, var(--fa-brand)); outline-offset: 2px; }

.fa-group-workspace__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--fa-related-gap);
    min-width: 0;
}

.fa-group-workspace__canvas { min-width: 0; display: grid; gap: var(--fa-related-gap); }
.fa-group-workspace__canvas[aria-busy="true"] { opacity: .62; }
.fa-group-workspace.is-navigating .fa-group-workspace__modules { pointer-events: none; }

.fa-group-workspace__card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: var(--fa-panel-padding-compact);
    padding-top: var(--fa-panel-padding-compact);
    border-top: 1px solid var(--fa-border);
}

.fa-group-workspace__owner {
    flex: 1 1 12rem;
    color: var(--fa-text-muted);
    font-size: var(--fa-type-metadata);
    line-height: 1.4;
}
.fa-group-workspace__owner .fa-user-reference { gap: .35rem; }
.fa-group-workspace__card-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 8px;
}
.fa-group-workspace__card-controls .fa-kit-status-chip {
    min-height: 24px;
    padding: 4px 8px;
    font-size: var(--fa-type-overline);
    line-height: 1.4;
}
.fa-group-workspace__card-actions,
.fa-group-workspace__membership-actions { display: inline-flex; align-items: center; gap: 8px; }
.fa-group-workspace__membership-actions:empty { display: none; }
.fa-group-workspace__card-actions .btn,
.fa-group-workspace__membership-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    flex: 0 0 auto;
    min-height: var(--fa-control-height-compact);
    padding: 4px 8px;
    font-size: var(--fa-type-compact);
    line-height: 1.4;
}
.fa-group-workspace__action-icon { display: inline-flex; font-size: .8rem; line-height: 1; }

.fa-feedback-question-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(13rem, 1fr);
    gap: 1rem;
    align-items: start;
}
.fa-feedback-question-field {
    display: block;
    min-width: 0;
    margin: 0;
}
.fa-feedback-question-field--settings,
.fa-feedback-question-field--required {
    grid-column: 1 / -1;
}

.fa-feedback-preview-modal {
    width: min(48rem, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    overflow: auto;
    border: 0;
    border-radius: var(--bs-border-radius-lg);
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .25);
}
.fa-feedback-preview-modal::backdrop { background: rgba(0, 0, 0, .55); }
.fa-feedback-result-bar { height: .75rem; overflow: hidden; border-radius: 999px; background: var(--bs-secondary-bg); }
.fa-feedback-result-bar > span { display: block; height: 100%; background: var(--bs-primary); }
[data-ranking-list] .list-group-item:focus-within { outline: .2rem solid color-mix(in srgb, var(--bs-primary) 35%, transparent); outline-offset: .1rem; }

.proposal-create-header-stack { display: grid; gap: .75rem; }
.proposal-create-form-note {
    padding: .9rem 1rem;
    border: 1px solid var(--fa-border);
    border-radius: .9rem;
    background: var(--fa-surface-subtle);
    color: var(--fa-text);
}
.proposal-create-session-list { gap: .85rem; }
.proposal-create-session-card { color: inherit; text-decoration: none; }
.proposal-create-session-card:hover,
.proposal-create-session-card:focus-visible { color: inherit; }

@media (max-width: 991.98px) {
    :root {
        --fa-group-workspace-chrome-height: 108px;
    }

    .fa-desktop-primary-nav {
        display: none;
    }

    .fa-group-workspace__chrome-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
        min-height: 108px;
        padding-block: 7px;
    }

    .fa-group-workspace__modules { gap: 4px; }
    .fa-group-workspace__module { padding-inline: 6px; font-size: var(--fa-type-overline); }
}

@media (max-width: 767.98px) {
    :root { --fa-shell-nav-height: calc(75px + var(--fa-safe-top)); }
    .fa-feedback-question-grid { grid-template-columns: minmax(0, 1fr); }
    .fa-group-workspace__trail .breadcrumb-item:nth-last-child(n + 3) { display: none; }
    .fa-group-workspace__trail .breadcrumb-item:nth-last-child(2)::before { content: "←"; padding-right: 8px; }
    .fa-group-workspace__card-meta { align-items: flex-start; }
    .fa-group-workspace__owner { flex-basis: 100%; }
    .fa-group-workspace__card-controls { justify-content: flex-start; flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .fa-group-workspace *, .fa-group-workspace *::before, .fa-group-workspace *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
