@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap");

.fi-body:has(.fi-layout) { background: #f3f6f4; }
.fi-topbar > nav { border-bottom: 1px solid #e1e7e3; box-shadow: none; }
body.fi-body aside.fi-sidebar { background: #123c32; border-right: 1px solid #244e43; }
.fi-body .fi-sidebar .fi-sidebar-header { background: #10372e; box-shadow: none; border-bottom: 1px solid #ffffff14; }
.fi-body .fi-sidebar .fi-logo.dark\:hidden { display: none; }
.fi-body .fi-sidebar .fi-logo.dark\:flex { display: flex; }
.fi-body .fi-sidebar .fi-sidebar-nav { scrollbar-color: #56786a #123c32; scrollbar-width: thin; }
.fi-body .fi-sidebar .fi-sidebar-group-label { color: #afc8bb; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.fi-body .fi-sidebar .fi-sidebar-group-button, .fi-sidebar .fi-icon-btn-icon { color: #afc8bb; }
.fi-body .fi-sidebar .fi-sidebar-item-button { min-height: 42px; padding-inline: 12px; border-left: 3px solid transparent; border-radius: 8px; transition: background-color 150ms ease, color 150ms ease; }
.fi-body .fi-sidebar .fi-sidebar-item-label { color: #e8f1ec; font-size: 15px; }
.fi-body .fi-sidebar .fi-sidebar-item-icon { color: #acc8b9; width: 21px; height: 21px; }
.fi-body .fi-sidebar .fi-sidebar-item-button:hover { background: #255447; }
.fi-body .fi-sidebar .fi-sidebar-item-button:hover .fi-sidebar-item-label,
.fi-body .fi-sidebar .fi-sidebar-item-button:hover .fi-sidebar-item-icon { color: #fff; }
.fi-body .fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button { background: #f4d36b; border-left-color: #ffebaa; }
.fi-body .fi-sidebar .fi-sidebar-item-active .fi-sidebar-item-label,
.fi-body .fi-sidebar .fi-sidebar-item-active .fi-sidebar-item-icon,
.fi-body .fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button:hover .fi-sidebar-item-label,
.fi-body .fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button:hover .fi-sidebar-item-icon { color: #153c31; font-weight: 600; }
.fi-body .fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button:hover { background: #ffe18b; }
.fi-body .fi-sidebar .fi-sidebar-item-button:focus-visible,
.fi-body .fi-sidebar .fi-sidebar-group-button:focus-visible,
.fi-body .fi-sidebar .fi-icon-btn:focus-visible,
.fi-body .fi-sidebar-header a:focus-visible { outline: 2px solid #f4d36b; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .fi-sidebar .fi-sidebar-item-button { transition: none; } }
.fi-header-heading { color: #16372f; font-size: 26px; }
.fi-main { padding-top: 24px; }
.fi-section, .fi-ta-ctn { border-radius: 12px; box-shadow: 0 4px 20px #16372f05; }
.fi-section-header { padding-block: 18px; }
.fi-section-header-heading { font-size: 16px; color: #16372f; }
.fi-fo-field-wrp-label { font-size: 13px; }
.fi-input { min-height: 40px; }
.fi-ta-header-cell-label { font-size: 12px; }
.fi-tabs { border-radius: 10px; }
.cms-edit-status { display: flex; flex-wrap: wrap; gap: 8px 20px; border-left: 3px solid #b78b00; background: #edf3ef; color: #315b4b; padding: 12px 16px; font-size: 12px; line-height: 1.6; border-radius: 6px; }
.cms-quick-links { display: flex; flex-wrap: wrap; gap: 12px; }
.cms-quick-links a { display: inline-flex; gap: 10px; align-items: center; padding: 12px 18px; border: 1px solid #e1e7e3; border-radius: 8px; background: white; color: #16372f; font-size: 14px; font-weight: 600; }
.cms-quick-links a:hover { border-color: #b78b00; }
.dark .fi-body:has(.fi-layout) { background: #0e211b; }
.dark .fi-topbar > nav { border-color: #ffffff1a; }
.dark .fi-header-heading, .dark .fi-section-header-heading { color: #e5eee8; }
.dark .cms-edit-status { background: #1a392d; color: #dbe8df; }
.dark .cms-quick-links a { background: #16372f; color: #fff; border-color: #ffffff26; }
@media(max-width: 767px) { .fi-header-heading { font-size: 22px; } }
.cms-attention-list { display: grid; gap: 8px; }
.cms-attention-list a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid #e1e7e3; color: #315b4b; font-size: 13px; }
.cms-attention-list small { display: block; color: #667a6d; margin-top: 4px; }
.cms-attention-list a:last-child { border: 0; }
.dark .cms-attention-list a { color: #e1eee5; border-color: #ffffff1a; }
.dark .cms-attention-list small { color: #a6b9ae; }
.fi-fo-file-upload .filepond--drop-label { font-size: 13px; }
.fi-fo-file-upload .filepond--panel-root { border-radius: 10px; }

/* Match the public site's Inter body text and Manrope heading hierarchy. */
body.fi-body { --font-family: 'Inter'; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 1.65; }
.fi-body :is(button, input, select, textarea, trix-editor) { font-family: 'Inter', sans-serif; }
.fi-body :is(h1, h2, h3, h4, h5, h6, .fi-wi-stats-overview-stat-value) { font-family: 'Manrope', sans-serif; font-weight: 700; }
.fi-body :is(.fi-header-heading, .fi-simple-header-heading), .fi-body .tq-login-form .fi-simple-header-heading { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.25; }
.fi-body :is(.fi-section-header-heading, .fi-modal-heading) { font-size: 18px; line-height: 1.4; }
.fi-body :is(.fi-section-header-description, .fi-header-subheading, .fi-simple-header-subheading, .cms-attention-list a, .tq-login-welcome p) { font-size: 15px; line-height: 1.65; }
.fi-body :is(.fi-btn, .fi-btn-label, .fi-tabs-item-label, .fi-link, .cms-quick-links a, .tq-login-back) { font-size: 14px; line-height: 1.5; }
.fi-body :is(.fi-ta-header-cell-label, .fi-fo-field-wrp-helper-text, .fi-breadcrumbs-item-label, .filepond--drop-label) { font-size: 13px; line-height: 1.5; }
.fi-body .fi-wi-stats-overview-stat-label { font-size: 15px; }

.fi-body .tq-login-form .fi-simple-header-subheading { font-size: 15px; line-height: 1.65; }

/* Compact text for data entry and tables. */
.fi-body :is(.fi-input, .fi-select-input, .fi-fo-textarea textarea, .fi-fo-select .choices__item, .fi-fo-select .choices__input, .fi-ta-text-item-label, trix-editor),
.fi-body .tq-login-form .fi-input { font-size: 14px; line-height: 1.6; }
.fi-body :is(.fi-fo-field-wrp-label, .fi-ta-text-description, .fi-fo-field-wrp-helper-text, .fi-fo-field-wrp-error-message, .fi-fo-tabs .fi-tabs-item-label) { font-size: 13px; line-height: 1.5; }
.fi-body .fi-ta :is(.fi-ta-header-cell-label, .fi-badge, .fi-pagination-overview) { font-size: 12px; line-height: 1.5; }
.fi-body .fi-ta :is(.fi-link, .fi-btn-label) { font-size: 13px; }
.fi-body .fi-fo-component-ctn .fi-section-header-heading { font-size: 16px; }

.fi-body .fi-btn.cms-cancel-action { background: #dc2626; color: #fff; --tw-ring-color: #dc2626; }
.fi-body .fi-btn.cms-cancel-action:not(:disabled):hover { background: #b91c1c; --tw-ring-color: #b91c1c; }
.fi-body .fi-btn.cms-cancel-action:focus-visible { outline: 2px solid #ef4444; outline-offset: 3px; }
.fi-body .fi-btn.cms-cancel-action :is(.fi-btn-label, .fi-btn-icon) { color: #fff; }

/* Keep the editor's hierarchy close to the public content typography. */
.fi-body trix-editor h2 { margin: 1.75rem 0 .75rem; font-family: 'Manrope', sans-serif; font-size: 1.75rem; line-height: 1.3; }
.fi-body trix-editor h3 { margin: 1.35rem 0 .65rem; font-family: 'Manrope', sans-serif; font-size: 1.35rem; line-height: 1.35; }
.fi-body trix-editor :is(ul, ol) { margin-bottom: 1.25rem; padding-left: 1.4rem; }
.fi-body trix-editor blockquote { margin: 1.5rem 0; padding: 1rem 1.25rem; border-left: 4px solid #72b84a; background: #f4f8f2; color: #315b4b; }
.dark .fi-body trix-editor blockquote { background: #18382e; color: #e5eee8; }
.fi-body trix-editor pre { overflow-x: auto; margin: 1.5rem 0; padding: 1rem; border-radius: 6px; background: #102b25; color: #f4f8f2; }
