/* Product composition of the shared Harmonized primitives, on native Filament. */
.ct-product { --font-sans:'CTrial Inter',Inter,sans-serif; --font-mono:'CTrial Mono',monospace; --sidebar-width:238px; }
/* The two native Livewire shell components share the prototype's composition. */
.ct-product .fi-main { width:100%; max-width:1600px; margin-inline:auto; padding-inline:36px; }
.ct-product[data-variant=header] .fi-main { max-width:1460px; }
.ct-product .fi-page { padding:0; }
.ct-product .fi-page-header-main-ctn { gap:30px; padding-block:38px; }
.ct-product .fi-page-content { gap:28px; }
.ct-product .fi-header { align-items:center; gap:20px; }
.ct-product .fi-header-heading { color:var(--ct-text); }
.ct-product .fi-header-subheading { color:var(--ct-muted); font-size:13px; line-height:1.6; margin-top:6px; }
.ct-product .fi-resource-list-records-page .fi-page-header-main-ctn { gap:30px; }
.ct-product .fi-resource-list-records-page .fi-header-subheading { line-height:1.5; margin-top:7px; }
.ct-product .fi-page-header-main-ctn:has(> .ct-record-header) { gap:26px; }
.ct-product .ct-record-header > .fi-header { margin-bottom:30px; }
.ct-product .ct-record-header .fi-header > div:first-child { flex:0 1 auto; min-width:0; }
.ct-product .ct-record-header .fi-header-actions-ctn { flex:none; }
.ct-product .ct-record-header .fi-header-subheading { margin-top:7px; line-height:1.5; }
.ct-product .ct-record-header > .ct-record-context { margin:-6px 0 0; }
.ct-product .fi-breadcrumbs { font-size:12px; }
.ct-product .ct-workspace-topbar { position:sticky; top:0; z-index:30; }
.ct-product .ct-workspace-topbar .ct-topbar { position:relative; height:66px; min-height:66px; padding-inline:36px; border-bottom:1px solid var(--ct-border); box-shadow:none; background:var(--ct-surface); }
.ct-product .ct-workspace-breadcrumbs { flex:1; min-width:0; }
.ct-product .ct-breadcrumb-list { display:flex; align-items:center; gap:12px; margin:0; padding:0; list-style:none; line-height:18px; }
.ct-product .ct-breadcrumb-list > li { display:flex; align-items:center; gap:12px; min-width:0; }
.ct-product .ct-breadcrumb-list [aria-current=page] { color:#525252; }
.ct-product .ct-workspace-breadcrumbs .fi-breadcrumbs-list { flex-wrap:nowrap; }
.ct-product .ct-workspace-breadcrumbs .fi-breadcrumbs-item-label { font-size:12px; font-weight:400; }
.ct-product .ct-workspace-breadcrumbs .fi-breadcrumbs-item:last-child .fi-breadcrumbs-item-label { color:var(--ct-text); font-weight:500; }
.ct-product .ct-workspace-topbar .fi-topbar-end { gap:20px; margin-inline-start:auto; }
.ct-product .ct-workspace-topbar .ct-topbar > .fi-icon-btn { width:30px; height:30px; }
.ct-product .ct-workspace-topbar .ct-topbar > .fi-icon-btn > svg { width:18px; height:18px; }
.ct-product .ct-workspace-topbar :is(.fi-topbar-database-notifications-btn,[data-layout-toggle]) { width:30px; height:30px; margin:0; padding:0; border-radius:7px; color:var(--ct-muted); }
.ct-product .ct-workspace-topbar :is(.fi-topbar-database-notifications-btn,[data-layout-toggle]):hover { background:var(--ct-subtle); }
.ct-product .ct-workspace-topbar .fi-topbar-database-notifications-btn > svg { width:18px; height:18px; }
.ct-product .ct-mobile-brand { display:none; }
.ct-product .fi-sidebar.ct-workspace-sidebar { position:fixed; top:0; height:100dvh; padding:28px 16px 16px; border-inline-end:1px solid var(--ct-border); background:var(--ct-surface); box-shadow:none; gap:0; }
.ct-product .ct-workspace-sidebar .ct-brand-row { flex-shrink:0; }
.ct-product .ct-workspace-sidebar .ct-brand .fi-logo { width:123px; height:36px!important; }
.ct-product .ct-workspace-sidebar .ct-brand { margin-inline:0; }
.ct-product .ct-workspace-sidebar .fi-tenant-menu,.ct-product .ct-workspace-sidebar .ct-current-organization { margin-inline:0; margin-block:24px 14px; flex-shrink:0; }
.ct-product .fi-tenant-menu-trigger { min-height:64px; display:flex; align-items:center; gap:10px; padding:13px 9px; border:1px solid var(--ct-border); border-radius:8px; background:var(--ct-control); }
.ct-product .fi-tenant-menu-trigger-tenant-name { font-size:12px; line-height:18px; font-weight:600; }
.ct-product .fi-tenant-menu-trigger-text small { font-size:10px; font-weight:400; color:var(--ct-muted); }
.ct-product .fi-tenant-menu-trigger > svg { width:14px; height:14px; }
.ct-product .ct-workspace-search { margin-bottom:0; }
.ct-product .ct-workspace-search .fi-global-search-ctn { margin:0; width:100%; }
.ct-product .ct-workspace-search .fi-global-search { padding:0; width:100%; }
.ct-product .ct-workspace-search .fi-global-search-field { width:100%; }
.ct-product .ct-workspace-search .fi-input { font-size:11px; }
.ct-product .ct-workspace-sidebar .fi-sidebar-nav { display:block; flex:0 1 auto; padding:8px 0 0; margin-block:0 16px; gap:normal; min-height:0; }
.ct-product .ct-workspace-sidebar .fi-sidebar-group-items { gap:2px; padding-block:2px; }
.ct-product .fi-sidebar-item-btn { min-height:37px; padding:8px 12px; border-radius:7px; gap:10px; }
.ct-product .fi-sidebar-item-label { font-size:13px; line-height:1.5; font-weight:500; color:#525252; }
.ct-product .fi-sidebar-item-icon { width:18px; height:18px; color:var(--ct-muted); }
.ct-product .fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background:var(--ct-primary-soft); color:var(--ct-primary); }
.ct-product .fi-sidebar-item.fi-active :is(.fi-sidebar-item-label,.fi-sidebar-item-icon) { color:var(--ct-primary); }
.ct-product .fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-sidebar-item-label { font-weight:600; }
.ct-product .ct-workspace-sidebar .fi-sidebar-footer { padding:10px 0 0; margin:auto 0 0; box-shadow:none; display:block; }
.ct-product .ct-workspace-sidebar .fi-user-menu-trigger { width:100%; line-height:21px; justify-content:flex-start; }
.ct-product .fi-user-menu-trigger-text { min-width:0; text-align:start; }
.ct-product .fi-user-menu-trigger-text strong { display:block; font-size:12px; line-height:18px; font-weight:600; }
.ct-product .fi-user-menu-trigger-text small { display:inline; font-size:10px; line-height:15px; color:var(--ct-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ct-product .fi-user-menu-trigger > svg { width:14px; height:14px; }
.ct-product .ct-workspace-sidebar .fi-user-menu-trigger > svg { margin-inline-start:auto; }
/* Preserve the rendered reference width when the account's menu labels are shorter. */
.ct-product .fi-dropdown-panel:has(> .ct-profile-menu-heading) { min-width:min(215.125px,calc(100vw - 32px)); }
.ct-product .ct-profile-menu-heading small { overflow-wrap:anywhere; }
.ct-product .ct-header-brand .fi-logo { width:94px; height:34px!important; }
.ct-product .ct-header-navigation .fi-tenant-menu { flex:none; width:max-content; min-width:0; }
.ct-product .ct-header-navigation .fi-tenant-menu-trigger { width:auto; min-width:0; min-height:0; justify-content:flex-start; gap:8px; padding:6px 8px; white-space:nowrap; background:transparent; border-color:transparent; }
.ct-product .ct-header-navigation .fi-tenant-menu-trigger-text { flex:none; max-width:160px; }
.ct-product .ct-header-navigation .fi-tenant-menu-trigger-tenant-name { max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.ct-product .ct-header-navigation .fi-tenant-menu-trigger > svg { margin-inline:0; }
.ct-product .ct-header-search { width:max-content; min-width:205px; flex-shrink:0; margin-inline-start:auto; }
.ct-product .ct-command-status { padding:12px 0 0; color:var(--ct-muted); font-size:12px; }
.ct-product .ct-command-group > h3 { padding:12px; font-size:12px; color:var(--ct-muted); font-weight:500; }
.ct-product .ct-command-record-actions { display:flex; gap:12px; padding:0 12px 12px 44px; }
.ct-product .ct-header-profile .ct-avatar { width:30px; height:30px; }
.ct-product :is([data-sidebar-layer=rail],.ct-header-profile) .ct-profile { background:transparent; border-color:transparent; }
.ct-product :is([data-sidebar-layer=rail],.ct-header-profile) .ct-profile > .ct-avatar { transition:background-color 150ms,border-color 150ms; }
.ct-product :is([data-sidebar-layer=rail],.ct-header-profile) .ct-profile:is(:hover,:focus-visible,[aria-expanded=true]) > .ct-avatar { background:var(--ct-border); border-color:var(--ct-border-strong); }
@media(min-width:1024px) {
    .ct-product[data-variant=sidebar] .ct-workspace-topbar,.ct-product[data-variant=sidebar] .fi-main-ctn { margin-inline-start:var(--sidebar-width); }
    .ct-product[data-variant=header] .ct-workspace-sidebar { display:none; }
}
@media(max-width:1023px) {
    .ct-product .ct-workspace-topbar .ct-header-navigation { display:none; }
    .ct-product .ct-workspace-topbar .ct-topbar { height:60px; min-height:60px; padding-inline:16px; gap:8px; }
    .ct-product .ct-workspace-breadcrumbs { display:none; }
    .ct-product .ct-workspace-topbar .ct-topbar > .ct-mobile-menu { display:inline-flex; width:32px; height:40px; margin:0; }
    .ct-product .ct-mobile-brand { display:flex; align-items:center; position:absolute; inset-inline:auto; left:50%; top:50%; height:32px; transform:translate(-50%,-50%); }
    .ct-product .ct-mobile-brand .fi-logo { width:auto; height:32px!important; object-fit:contain; }
    .ct-product .ct-workspace-topbar .fi-topbar-end { gap:6px; }
    .ct-product .ct-workspace-topbar .ct-language-trigger { width:28px; height:32px; padding:4px; justify-content:center; }
    .ct-product .ct-topbar .ct-language-trigger > span,.ct-product .ct-header-profile { display:none; }
    /* Above the sidebar backdrop (30), below native Filament dialogs (40). */
    .ct-product .fi-sidebar.ct-workspace-sidebar { width:260px; padding:28px 12px 16px; z-index:35; }
    .ct-product .ct-workspace-sidebar .ct-mobile-menu { display:inline-flex; }
    .ct-product .ct-workspace-sidebar .fi-tenant-menu,.ct-product .ct-workspace-sidebar .ct-current-organization { margin-block-start:20px; }
    .ct-product .fi-sidebar-close-overlay { background:#17171750; }
}
.ct-product .fi-section { padding:0; border:1px solid var(--ct-border); border-radius:12px; box-shadow:none; }
.ct-product .fi-section-header { padding:20px 24px; }
.ct-product .fi-section-content-ctn { box-shadow:none; border:0; border-radius:0; background:transparent; }
.ct-product .fi-section-content { padding:24px; background:transparent; }
.ct-product .fi-section.fi-section-not-contained { border:0; background:transparent; }
.ct-product .fi-tabs { box-shadow:none; border:0; background:transparent; padding-inline:0; gap:8px; }
.ct-product .fi-tabs-item { font-size:12px; min-height:38px; border-radius:7px; }
.ct-product .fi-tabs-item.fi-active { background:var(--ct-primary-soft); color:var(--ct-primary); }
.ct-product .fi-btn:not(.ct-notification-actions .fi-btn):not(:where(.fi-create-action,.fi-sc-form > .ct-form-footer .fi-btn,.fi-section-footer .fi-btn,.fi-modal-footer-actions .fi-btn,.ct-document-readiness .fi-btn,.ct-budget-revision .fi-btn,.fi-ta-ctn .fi-btn,.fi-resource-list-records-page .fi-header-actions-ctn .fi-btn)) { font-family:inherit; letter-spacing:-.01em; border-radius:7px; }
.ct-product .ct-layout-switch { display:none; flex:none; }
.ct-product .ct-layout-switch :is(.fi-icon,.ct-layout-icon) { flex:none; width:20px; height:20px; color:var(--ct-muted); }
@media(min-width:1024px) {
    .ct-product[data-variant=header] .ct-layout-switch,
    .ct-product[data-variant=sidebar] .ct-layout-switch { display:flex; }
}
.ct-product .ct-language-tools { display:block; }
.ct-product .ct-appearance-form { margin-top:20px; }
.ct-product .ct-appearance-body { padding:24px; display:grid; gap:24px; }
.ct-product .ct-appearance-body > p { font-size:13px; color:var(--ct-muted); }
.ct-product :is(.ct-study-source-summary,.ct-document-identity) .fi-ta-text-description { white-space:nowrap; }
.ct-product .fi-wi-stats-overview-stat { box-shadow:none; }
.ct-product[data-widget-style=canvas] .fi-wi-stats-overview-stat { background:transparent; border-color:transparent; }
.ct-product ::selection { background:#d1fae5; color:var(--ct-text); }
.ct-product .ct-workspace-metrics .fi-wi-stats-overview-stat-label { white-space:normal; }
.ct-product[data-widget-style=page] .ct-workspace-metrics { background:var(--ct-subtle); }
.ct-product input,.ct-product textarea { caret-color:var(--ct-primary); }
.ct-product input.fi-input:is(:autofill,:-webkit-autofill) { box-shadow:inset 0 0 0 1000px var(--ct-surface); -webkit-text-fill-color:var(--gray-950); }
@media(forced-colors:active) {
    .ct-product input.fi-input:is(:autofill,:-webkit-autofill) { box-shadow:none; -webkit-text-fill-color:CanvasText; }
}
.ct-product .fi-sidebar-nav { scrollbar-width:thin; scrollbar-color:transparent transparent; scrollbar-gutter:stable; }
.ct-product .fi-sidebar-nav:is(:hover,:focus-within) { scrollbar-color:var(--ct-border-strong) transparent; }
@media(min-width:1024px) {
    .ct-product[data-variant=header] .fi-main-ctn { padding-inline-start:0; }
}
@media(max-width:1200px) {
    .ct-product .fi-main { padding-inline:24px; }
}
@media(max-width:700px) {
    .ct-product .fi-main { padding-inline:16px; }
}
@media(max-width:767px) {
    .ct-product .fi-page-header-main-ctn { padding-block:24px; gap:24px; }
    .ct-product .fi-header { flex-direction:column; align-items:flex-start; text-align:start; gap:16px; }
    .ct-product .fi-header-heading { font-size:24px; }
    .ct-product .fi-header-actions-ctn,.ct-product .fi-header-actions-ctn > .fi-ac { justify-content:flex-start; }
    .ct-product .fi-section-header,.ct-product .fi-section-content,.ct-product .ct-appearance-body { padding:16px; }
}
@media(prefers-reduced-motion:reduce) { .ct-product * { scroll-behavior:auto; transition-duration:0s; animation-duration:0s; } }

.ct-product .ct-progress-cell { cursor:pointer; margin:4px 0; }
.ct-product .ct-process { min-width:0; padding:20px 24px; border:1px solid var(--ct-border); border-radius:12px; background:var(--ct-surface); }
.ct-product .ct-process-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.ct-product .ct-process-heading h2 { font-size:14px; font-weight:600; }
.ct-product .ct-process-status { color:var(--ct-muted); font-size:12px; }
.ct-product .ct-process-status[data-state=failed],.ct-product .ct-process-error { color:var(--ct-danger); }
.ct-product .ct-process-status:is([data-state=waiting],[data-state=incomplete]) { color:var(--ct-warning); }
.ct-product .ct-process-measure { display:flex; align-items:center; gap:12px; margin-top:14px; font-size:11px; font-variant-numeric:tabular-nums; }
.ct-product .ct-process-meter { position:relative; flex:1; height:6px; overflow:hidden; background:var(--ct-subtle); border-radius:3px; }
.ct-product .ct-process-meter > span { height:100%; display:block; background:var(--ct-progress-fill); }
.ct-product .ct-process-meter > span[data-state=failed] { background:var(--ct-danger); }
.ct-product .ct-process-phases { display:flex; gap:16px; margin:20px 0; padding:0; list-style:none; overflow:auto; }
.ct-product .ct-process-phases > li { display:flex; align-items:center; gap:8px; flex:1; min-width:110px; }
.ct-product .ct-process-number { display:grid; place-items:center; width:25px; height:25px; flex-shrink:0; border:1px solid var(--ct-border); border-radius:6px; color:var(--ct-muted); font-size:11px; }
.ct-product .ct-process-phases [aria-current=step] .ct-process-number { background:var(--ct-progress-fill); color:var(--ct-progress-on-fill); border-color:transparent; }
.ct-product .ct-process-phases strong { display:block; font-size:11px; font-weight:500; }
.ct-product .ct-process-phases li > div > span { color:var(--ct-muted); font-size:10px; }
.ct-product .ct-process-note,.ct-product .ct-process-output,.ct-product .ct-process-error { font-size:12px; margin-top:10px; overflow-wrap:anywhere; }
.ct-product .ct-process-note { color:var(--ct-muted); }
.ct-product .ct-process-history { margin-top:16px; font-size:12px; }
.ct-product .ct-process-history summary { cursor:pointer; color:var(--ct-primary); }
.ct-product .ct-process-history li { display:flex; flex-wrap:wrap; gap:12px; padding:10px 0; border-bottom:1px solid var(--ct-border); }
.ct-product .ct-process-history li p { width:100%; }
.ct-product[data-progress-style=rail] .ct-process-phases { flex-direction:column; gap:14px; }
.ct-product[data-progress-style=rail] .ct-process-details { display:grid; grid-template-columns:200px minmax(0,1fr); gap:16px; }
.ct-product[data-progress-style=rail] .ct-process-phases { grid-row:span 5; }
.ct-product[data-progress-style=summary] .ct-process { border:0; padding-inline:0; background:transparent; }
@media(max-width:767px) {
 .ct-product .ct-process { padding:16px; }
 .ct-product[data-progress-style=rail] .ct-process-details { grid-template-columns:minmax(0,1fr); }
}

.ct-product .ct-catalog-workspace { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; min-width:0; }
.ct-product .ct-catalog-workspace .ct-review-workspace { margin-top:0; }
.ct-product .ct-catalog-workspace > * { min-width:0; }
.ct-product .ct-catalog-workspace > .fi-tabs { margin-bottom:0; }
.ct-product .ct-catalog-workspace .ct-review-workspace > * { min-width:0; }
.ct-product .ct-catalog-browse > details > summary { display:none; }
.ct-product .ct-catalog-queue { border:1px solid var(--ct-border); border-radius:8px; background:white; overflow:hidden; }
.ct-product .ct-catalog-queue summary { padding:16px; border-bottom:1px dashed var(--ct-border); font-size:13px; font-weight:600; cursor:pointer; }
.ct-product .ct-catalog-queue-items { max-height:70vh; overflow-y:auto; }
.ct-product .ct-catalog-queue .ct-review-queue-item.fi-btn { display:flex; width:100%; height:auto; padding:16px 14px; border:0; border-bottom:1px solid var(--ct-border); border-inline-start:1px solid transparent; border-radius:0; background:white; box-shadow:none; white-space:normal; text-align:start; }
.ct-product .ct-catalog-queue .ct-review-queue-item .fi-btn-label { display:flex; flex-direction:column; align-items:flex-start; gap:5px; width:100%; overflow-wrap:anywhere; }
.ct-product .ct-catalog-queue .ct-review-queue-item.fi-btn.ct-selected { background:var(--ct-primary-soft); border-inline-start-color:var(--ct-primary); }
.ct-product .ct-catalog-queue .ct-review-queue-item strong { white-space:pre-wrap; }
.ct-product .ct-catalog-queue-return { padding:12px; }
.ct-product .ct-catalog-queue-return .fi-btn { width:100%; white-space:normal; height:auto; }
.ct-product .ct-catalog-context .fi-in-repeatable { display:grid; grid-template-columns:minmax(0,1fr); }
@media (min-width:701px) { .ct-product .ct-catalog-queue summary { list-style:none; pointer-events:none; } }
@media (max-width:1250px) { .ct-product .ct-catalog-context { display:block; } }
.ct-product .ct-catalog-source-table { margin-top:16px; }
.ct-product .ct-catalog-back { display:flex; align-items:center; }
.ct-product .ct-catalog-workspace .fi-sc-form-footer { position:sticky; bottom:0; padding:16px 0; background:var(--ct-canvas); border-top:1px solid var(--ct-border); z-index:5; }
.ct-product .ct-catalog-workspace .fi-section-content .fi-section { background:transparent; }

/* Jobs keep their registered page links above the actual statistics and table. */
.ct-product .ct-job-monitor-page .fi-page-sub-navigation-dropdown { display:none; }
.ct-product .ct-job-monitor-page .fi-page-main { row-gap:24px; }
.ct-product .ct-job-monitor-page .fi-tabs { margin-bottom:0; }

.ct-product .ct-job-monitor-page .fi-page-content > .fi-sc:not(:has(*)) { display:none; }
.ct-product .ct-job-monitor-page .fi-page-content > .fi-sc { row-gap:24px; }

/* Record navigation uses the same hierarchy tracks as the approved reference. */
.ct-product[data-mail-settings] .fi-page-sub-navigation-dropdown { display:none; }
.ct-product[data-mail-settings] .fi-page-main { row-gap:24px; }
.ct-product[data-mail-settings] .fi-page-content { row-gap:24px; }
.ct-product[data-mail-settings] .fi-page-sub-navigation-tabs { margin-bottom:0; gap:var(--ct-tab-gap); }

.ct-record-hierarchy { min-width:0; }
.ct-product .ct-workspace-record-tabs { min-width:0; }
.ct-product .ct-workspace-record-tabs > .fi-sc-tabs-tab.fi-active { margin-top:0; }
.ct-product .ct-record-section-tab { display:inline-flex; align-items:center; gap:8px; position:relative; min-height:38px; padding:10px var(--ct-tab-padding-inline,12px); border-radius:var(--ct-tab-radius,7px); color:var(--ct-muted); font-size:12px; font-weight:500; text-align:start; }
.ct-product .ct-record-section-tab[aria-current=page] { color:var(--ct-primary); }
.ct-product .ct-version-unavailable { display:inline-flex; align-items:center; gap:8px; padding:10px 12px; font-size:12px; color:var(--ct-muted); opacity:.65; }
.ct-product .ct-record-section-tab .fi-badge { font-size:10px; font-weight:400; min-width:18px; background:var(--ct-subtle); border:1px solid var(--ct-border); color:var(--ct-muted); }
.ct-product .ct-record-context { margin-top:24px; }
.ct-product .ct-record-context:not([data-shared-context]) dt { font-size:11px; color:var(--ct-muted); margin-bottom:6px; }
.ct-product .ct-record-context:not([data-shared-context]) dd { font-size:13px; color:var(--ct-text); font-weight:500; }
.ct-product .ct-workspace-overview { display:grid; gap:28px; }
.ct-product .ct-workspace-overview .ct-home-grid { margin:0; }
.ct-product .ct-workspace-overview .ct-summary-strip { margin:0; }
.ct-product .ct-work-title { font-size:13px; font-weight:600; }
.ct-product .ct-workspace-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:40px 20px; color:var(--ct-muted); font-size:12px; text-align:center; }
.ct-product .ct-workspace-empty .ct-icon { width:24px; height:24px; }
.ct-product .ct-activity-measure { display:flex; justify-content:space-between; gap:12px; font-size:11px; color:var(--ct-muted); }
.ct-product .ct-activity-measure[data-state=failed] { color:var(--ct-danger); }
.ct-product .ct-agent-activity > div:last-child { min-width:0; flex:1; }
.ct-product .ct-agent-activity p { overflow-wrap:anywhere; }
.ct-product .ct-workspace-metrics { margin-bottom:0; }
.ct-product .ct-record-fields .fi-section.fi-section-not-contained { border:0; background:transparent; border-radius:0; }
.ct-product .ct-record-fields .fi-section.fi-section-not-contained .fi-section-header { padding:0 0 20px; }
.ct-product .ct-record-fields .fi-section.fi-section-not-contained .fi-section-content { padding:0; }
/* Native FilePond owns uploads and URLs; these are the reference upload surfaces. */
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--root { border:1px dashed var(--ct-border-strong); border-radius:8px; background:#fdfdfd; box-shadow:none; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--root[data-upload-count] { height:var(--ct-upload-height) !important; transition:height 260ms var(--ct-ease); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--panel-root { background:transparent; box-shadow:none; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--drop-label { min-height:64px; color:var(--ct-text); font-family:var(--font-sans); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .ct-upload-target { display:grid; grid-template-columns:32px minmax(0,auto); justify-content:center; column-gap:10px; row-gap:2px; padding:0 8px; text-align:start; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .ct-upload-icon { grid-column:1; grid-row:1 / span 2; width:32px; height:32px; margin:0; border-radius:8px; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .ct-upload-target strong { grid-column:2; align-self:end; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .ct-upload-target > [data-upload-formats] { grid-column:2; text-align:start; align-self:start; }
/* Keep the prompt measurable so removing the last file can restore it. */
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-count] .filepond--drop-label { transform:none !important; transition:opacity 160ms var(--ct-ease),transform 260ms var(--ct-ease); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-count="0"] .filepond--drop-label { transform:translateY(calc((var(--ct-upload-height) - var(--ct-upload-prompt-height) - 2px) / 2)) !important; }
/* Filament declares prompt opacity !important in its components layer. */
@layer components {
    :is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-multiple=false]:not([data-upload-count="0"]) .filepond--drop-label { opacity:0 !important; pointer-events:none; }
    :is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-count="0"] .filepond--drop-label,
    :is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-multiple=true] .filepond--drop-label { opacity:1 !important; }
}
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-count] .filepond--list-scroller { height:var(--ct-upload-list-height) !important; max-height:none; margin:0; inset-inline:4px; transform:translateY(var(--ct-upload-prompt-height)) !important; overflow:hidden; scrollbar-gutter:auto; transition:height 260ms var(--ct-ease),transform 260ms var(--ct-ease); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-overflow] .filepond--list-scroller { overflow-y:auto; overscroll-behavior:contain; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--label-action { color:var(--ct-text); text-decoration:none; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--item { margin-block:4px; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--item-panel { background:var(--ct-surface); border:1px solid var(--ct-border); border-radius:6px; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-multiple=false][data-upload-count="1"] .filepond--item-panel { border-width:0; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-multiple=true] .filepond--item { border-radius:6px; box-shadow:0 1px 2px #0000000a; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-multiple=false][data-upload-count="1"] .filepond--item-panel { box-shadow:none; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--file { padding:12px; min-height:58px; color:var(--ct-text); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--file-info { position:relative; margin:0; padding-inline-start:28px; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--file-info::before { content:""; position:absolute; inset-inline-start:0; top:2px; width:18px; height:18px; background:currentColor; mask:url('/icons/harmonized/document-text.svg') center/contain no-repeat; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--file-info-main { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px; font-family:var(--font-sans); font-size:12px; line-height:18px; white-space:normal; overflow-wrap:anywhere; text-overflow:clip; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--file-info-sub { font-family:var(--font-sans); font-size:11px; line-height:16px; color:var(--ct-muted); opacity:1; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload :is(.filepond--open-icon,.filepond--download-icon) { grid-row:1; width:18px; height:18px; margin:0; background:var(--ct-muted); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--open-icon { grid-column:2; mask-image:url('/icons/harmonized/arrow-top-right-on-square.svg'); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--download-icon { grid-column:3; mask-image:url('/icons/harmonized/arrow-down-tray.svg'); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload :is(.filepond--open-icon,.filepond--download-icon):hover { background:var(--ct-primary); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--action-remove-item { color:var(--ct-muted); background:transparent; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--action-remove-item > svg { width:18px; height:18px; background:currentColor; mask:url('/icons/harmonized/x-mark.svg') center/contain no-repeat; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--action-remove-item > svg > * { visibility:hidden; }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--action-remove-item:hover { color:var(--ct-danger); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-filepond-item-state*=error] .filepond--item-panel { border-color:var(--ct-danger); background:var(--ct-danger-soft); }
:is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-filepond-item-state*=error] .filepond--file-status { color:var(--ct-danger); }
/* The saved source keeps native file actions in the reference's single file row. */
.ct-product .ct-source-upload-section[data-source-operation] .ct-upload-target { color:var(--ct-text); line-height:1.5; }
.ct-product:dir(rtl) .ct-source-upload-section .ct-upload-target { direction:rtl; }
.ct-product .ct-source-upload-section[data-source-operation=edit] .filepond--file { min-height:44px; align-items:center; font-weight:400; }
.ct-product .ct-source-upload-section[data-source-operation=edit] .filepond--file-info { display:grid; grid-template-columns:16px minmax(0,1fr) auto 16px 16px; align-items:center; gap:10px; flex:1; margin:0; padding:0; font-size:12px; line-height:18px; }
.ct-product .ct-source-upload-section[data-source-operation=edit] .filepond--file-info::before { position:static; grid-column:1; grid-row:1; width:16px; height:16px; }
.ct-product .ct-source-upload-section[data-source-operation=edit] .filepond--file-info-main { display:contents; }
.ct-product .ct-source-upload-section[data-source-operation=edit] .filepond--file-info-sub { grid-column:3; grid-row:1; font-size:.8em; line-height:1.5; white-space:nowrap; }
.ct-product .ct-source-upload-section[data-source-operation=edit] :is(.filepond--open-icon,.filepond--download-icon) { width:16px; height:16px; color:var(--ct-text); background:transparent; mask:none; }
.ct-product .ct-source-upload-section[data-source-operation=edit] :is(.filepond--open-icon,.filepond--download-icon)::before { content:""; display:block; width:100%; height:100%; background:currentColor; mask:var(--ct-file-action-icon) center/contain no-repeat; }
.ct-product .ct-source-upload-section[data-source-operation=edit] .filepond--open-icon { grid-column:4; --ct-file-action-icon:url('/icons/harmonized/arrow-top-right-on-square.svg'); }
.ct-product .ct-source-upload-section[data-source-operation=edit] .filepond--download-icon { grid-column:5; --ct-file-action-icon:url('/icons/harmonized/arrow-down-tray.svg'); }
.ct-product .ct-source-upload-section[data-source-operation=edit] :is(.filepond--open-icon,.filepond--download-icon):hover { color:var(--ct-primary); }
.ct-product .ct-source-upload-section[data-source-operation=edit] [data-filepond-item-state=idle] .filepond--file-status { display:none; }
/* FilePond caches its loading height. Let a saved PDF row follow its real wrapped
   content; native pending/error layouts and the surrounding list measurement remain. */
.ct-product .ct-source-upload-section[data-source-operation=edit] [data-filepond-item-state=idle] { height:auto !important; }
.ct-product .ct-source-upload-section[data-source-operation=edit] [data-filepond-item-state=idle] :is(.filepond--file-wrapper,.filepond--file) { height:auto; }
.ct-product .ct-source-upload-section[data-source-operation=edit] [data-filepond-item-state=idle] .filepond--file { border:1px solid var(--ct-border); border-radius:6px; background:var(--ct-surface); }
.ct-product .ct-source-upload-section[data-source-operation=edit] [data-upload-multiple=false][data-upload-count="1"] [data-filepond-item-state=idle] .filepond--file { border-width:0; }
.ct-product .ct-source-upload-section[data-source-operation=edit] [data-filepond-item-state=idle] .filepond--item-panel { display:none; }
@media(prefers-reduced-motion:reduce) {
    :is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload .filepond--root[data-upload-count],
    :is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-count] .filepond--list-scroller { transition:none; }
    :is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-count] .filepond--drop-label { transition:opacity 100ms var(--ct-ease); }
    :is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-count] .filepond--list { display:flex; flex-direction:column; }
    :is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-count] .filepond--item { position:relative; flex:none; transform:none !important; }
    :is(.ct-product, .ct-record-authoring-reference) .ct-workspace-upload [data-upload-removing] { display:none; }
}
.ct-product .ct-form-footer .fi-sc-actions { justify-content:flex-end; }
.ct-product .fi-sc-form > .ct-form-footer { padding-top:0; }
.ct-product .fi-sc-form > .ct-form-footer .fi-ac { gap:8px; }
.ct-product .ct-backlog-import-form .ct-form-footer { padding-bottom:0; }
.ct-product .ct-backlog-import-repair { margin-bottom:24px; }

/* Review documents retain native infolist content inside the shared panel anatomy. */
.ct-product :is(.ct-history-items,.ct-timeline,.ct-key-values) { min-width:0; overflow-wrap:anywhere; }
@media(max-width:700px) {
}
@media(max-width:767px) {
    .ct-product .ct-summary-strip { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:24px; }
    .ct-product .ct-home-grid { grid-template-columns:minmax(0,1fr); }
    .ct-product .ct-record-section-tab { min-height:44px; }
}

.ct-product .ct-process { --cp-signal:var(--ct-primary); --cp-fill:var(--ct-progress-fill); --cp-soft:var(--ct-primary-soft); }
.ct-product .ct-process[data-tone=danger] { --cp-signal:var(--ct-danger); --cp-fill:var(--ct-danger); --cp-soft:var(--ct-danger-soft); }
.ct-product .ct-process[data-tone=warning] { --cp-signal:var(--ct-warning); --cp-fill:var(--ct-warning); --cp-soft:var(--ct-warning-soft); }
.ct-product .ct-process .cp-measure { margin-top:12px; }
.ct-product .ct-process .cp-measure-track { display:block; }
.ct-product .ct-process.cp-track:has(.cp-phases) .cp-measure-track { display:none; }
.ct-product .ct-process .cp-live-status { flex-wrap:wrap; }
.ct-product .ct-progress-cell { min-width:0; text-align:start; }
.ct-product[dir=rtl] :is(.cp-measure-track,.cp-phase-fill,.cp-cell-meter) > span { transform-origin:right center; }
.ct-product .ct-process.cp-header-progress .cp-phases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-block:20px; }
@media(max-width:767px) {
 .ct-product .ct-process .cp-track-heading { flex-wrap:wrap; }
 .ct-product .ct-process.cp-header-progress .cp-phases { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ct-product .ct-process .cp-batch-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Variations restyle native stateful controls. Validation and step navigation remain Filament's. */
.ct-product[data-widget-style=page] .fi-wi-stats-overview-stat { background:var(--ct-subtle); }
.ct-product[data-wizard-style=rail] .fi-sc-wizard-header { flex-direction:column; border:0; gap:8px; }
.ct-product[data-wizard-style=rail] .fi-sc-wizard-header-step { width:100%; }
.ct-product[data-wizard-style=rail] .fi-sc-wizard-header-step-separator { display:none; }
.ct-product:is([data-wizard-style=ribbon],[data-wizard-style=stages]) .fi-sc-wizard-header { gap:8px; padding:12px; border:0; }
.ct-product[data-wizard-style=ribbon] .fi-sc-wizard-header-step { border-radius:8px; background:var(--ct-subtle); }
.ct-product[data-wizard-style=ribbon] .fi-sc-wizard-header-step.fi-active { background:var(--ct-primary-soft); }
.ct-product[data-wizard-style=stages] .fi-sc-wizard-header-step { border-bottom:3px solid var(--ct-border); }
.ct-product[data-wizard-style=stages] .fi-sc-wizard-header-step:is(.fi-active,.fi-completed) { border-color:var(--ct-progress-fill); }
.ct-product:is([data-wizard-style=ribbon],[data-wizard-style=stages]) .fi-sc-wizard-header-step-separator { display:none; }
@media(min-width:1024px) {
 .ct-product[data-wizard-style=rail] .fi-sc-wizard { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; }
 .ct-product[data-wizard-style=rail] .fi-sc-wizard-header { grid-column:1; grid-row:1/span 2; }
 .ct-product[data-wizard-style=rail] .fi-sc-wizard > :not(.fi-sc-wizard-header) { grid-column:2; }
}
.ct-product #catalog-evidence,.ct-product #catalog-editor { min-width:0; }
.ct-product #catalog-evidence .fi-section-header,.ct-product #catalog-evidence .fi-section-content { padding:18px; }
.ct-product #catalog-evidence .fi-section-header { padding-bottom:0; }
.ct-product #catalog-evidence .fi-section .fi-section-content .fi-section { border:0; }
.ct-product .ct-suggestion-status { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:11px; color:var(--ct-muted); }
.ct-product .ct-suggestion-coverage { font-size:11px; color:var(--ct-muted); }
.ct-product .ct-suggestion-coverage summary { cursor:pointer; }
.ct-product .ct-suggestion-coverage p { margin-top:8px; }
.ct-product .ct-suggestion-assessment,.ct-product .ct-suggestion-list { font-size:12px; line-height:1.65; }
.ct-product .ct-suggestion-list { display:grid; gap:16px; margin-top:16px; }
.ct-product .ct-suggestion { display:grid; justify-items:start; gap:8px; border-top:1px solid var(--ct-border); padding-top:16px; }
.ct-product .ct-suggestion h4 { font-size:13px; font-weight:600; }
.ct-product .ct-suggestion p { color:var(--ct-muted); }
.ct-product .ct-suggestions .fi-tabs { flex-wrap:nowrap; gap:4px; overflow-x:auto; }
.ct-product .ct-suggestions .fi-tabs-item { font-size:11px; padding-inline:8px; }
.ct-product .ct-intake-table { min-width:0; }
.ct-product .ct-intake-table .fi-ta-content-ctn { max-height:420px; overflow:auto; }
.ct-product .ct-original-source-wording { white-space:pre-wrap; overflow-wrap:anywhere; }
.ct-product .ct-intake-table th { position:sticky; top:0; background:inherit; z-index:1; }
.ct-product .ct-intake-table .fi-ta-row:hover { background:var(--ct-subtle); }
@media(max-width:767px) {
 .ct-product .ct-suggestion-list { font-size:13px; }
 .ct-product .ct-suggestions .fi-tabs-item { min-height:44px; }
 .ct-product .fi-fo-table-repeater { overflow-x:auto; }
}

/* The rail occupies a real second column; native widgets and record forms keep their DOM state. */
@media(min-width:961px) {
 .ct-product[data-progress-style=rail] .fi-page-content:has(.ct-process-widget) { display:grid; grid-template-columns:minmax(0,1fr) 304px; grid-template-rows:auto auto; align-items:start; gap:24px; }
 .ct-product[data-progress-style=rail] .fi-page-content:has(.ct-process-widget) > * { grid-column:1; min-width:0; }
 .ct-product[data-progress-style=rail] .fi-page-content :is(.fi-sc,.fi-grid-col,.fi-sc-component):has(.ct-process-widget),
 .ct-product[data-progress-style=rail] .fi-page-content :is(.fi-sc,.fi-grid-col,.fi-sc-component) > div:has(.ct-process-widget) { display:contents; }
 .ct-product[data-progress-style=rail] .fi-page-content .fi-sc:has(.ct-process-widget) > .fi-wi-widget:not(.ct-process-widget) { grid-column:1; min-width:0; }
 .ct-product[data-progress-style=rail] .fi-page-content .ct-process-widget { grid-column:2; grid-row:1/-1; align-self:start; position:sticky; top:90px; }
 .ct-product[data-progress-style=rail] .ct-process .cp-track-heading { flex-wrap:wrap; }
 .ct-product[data-progress-style=rail] .ct-process .cp-live-status { display:grid; }
 .ct-product[data-progress-style=rail] .ct-process .cp-batch-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.ct-product #catalog-editor .fi-sc-actions .fi-btn:not([data-action-purpose=create]) { background:var(--ct-surface); color:var(--ct-text); border:1px solid var(--ct-border-strong); }
.ct-product #catalog-editor .fi-sc-actions .fi-btn:not([data-action-purpose=create]):hover { background:var(--ct-subtle); }

/* Metrics without a chart keep their copy padding and their domain color. */
.ct-product .ct-workspace-metrics .ct-header-metric { --ct-metric-color:var(--ct-muted); }
.ct-product .ct-workspace-metrics .ct-header-metric[data-tone=warning] { --ct-metric-color:var(--ct-warning); }
.ct-product .ct-workspace-metrics .ct-header-metric[data-tone=danger] { --ct-metric-color:var(--ct-danger); }
.ct-product .ct-workspace-metrics .ct-header-metric:is([data-tone=primary],[data-tone=success]) { --ct-metric-color:var(--ct-primary); }
.ct-product .ct-workspace-metrics .ct-header-metric[data-tone=info] { --ct-metric-color:var(--ct-info); }
.ct-product .ct-workspace-metrics .ct-header-metric > .fi-wi-stats-overview-stat-content:last-child { padding:12px 16px 16px; flex:1; }
.ct-product .ct-workspace-metrics .ct-metric-money { display:inline-flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.ct-product .ct-workspace-metrics .ct-metric-money small { color:var(--ct-muted); font-size:12px; line-height:18px; font-weight:400; letter-spacing:0; }
.ct-product .ct-workspace-metrics :is(.ct-current-data-note,.ct-metric-history-note) { max-width:none; }
.ct-product .ct-workspace-metrics:is([data-metric-history=processing],[data-metric-history=invoicing]) .fi-wi-stats-overview-stat-chart { --ct-metric-color:var(--ct-info); --ct-metric-fill:var(--ct-info-soft); }
.ct-product .ct-workspace-metrics:is([data-metric-history=processing],[data-metric-history=invoicing]) [data-chart-tone=success] .fi-wi-stats-overview-stat-chart { --ct-metric-color:var(--ct-primary); --ct-metric-fill:var(--ct-primary-soft); }
.ct-product .ct-workspace-metrics:is([data-metric-history=processing],[data-metric-history=invoicing]) [data-chart-tone=danger] .fi-wi-stats-overview-stat-chart { --ct-metric-color:var(--ct-danger); --ct-metric-fill:var(--ct-danger-soft); }
.ct-product .ct-workspace-metrics:is([data-metric-history=processing],[data-metric-history=invoicing]) .ct-header-metric:not(:has(.fi-wi-stats-overview-stat-chart)) > .fi-wi-stats-overview-stat-content:last-child { padding-block-end:52px; }
@container ct-metrics (max-width:900px) {
    .ct-product .ct-workspace-metrics .ct-header-metric:last-child:nth-child(odd) { grid-column:1 / -1; }
}
.ct-product .ct-agent-activity:has([data-state=failed]) .ct-progress > span { background:var(--ct-danger); }

/* Native relation headers sit above the search/results frame, like collection headings. */
.ct-product[data-table-style] .fi-ta-ctn:has(.fi-ta-header),.ct-product[data-table-style] .fi-ta-main:has(.fi-ta-header) { border:0; border-radius:0; background:transparent; box-shadow:none; }
.ct-product .fi-ta-header-ctn:has(.fi-ta-header) { border:0; background:transparent; }
.ct-product .fi-ta-header { padding:0 0 18px; border:0; background:transparent; }
.ct-product .fi-ta-header.fi-ta-header-adaptive-actions-position { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.ct-product .fi-ta-header.fi-ta-header-adaptive-actions-position > .fi-ta-actions { margin-inline-start:auto; }
.ct-product .fi-ta-main:has(.fi-ta-header) .fi-ta-header-toolbar { border:1px solid var(--ct-border); border-radius:12px 12px 0 0; }
.ct-product .fi-ta-main:has(.fi-ta-header) .fi-ta-content-ctn { border-inline:1px solid var(--ct-border); background:var(--ct-surface); }
.ct-product .fi-ta-main:has(.fi-ta-header) .fi-ta-content-ctn:last-child { border-bottom:1px solid var(--ct-border); border-radius:0 0 12px 12px; }
.ct-product .fi-ta-main:has(.fi-ta-header) > .fi-ta-empty-state { border:1px solid var(--ct-border); border-top:0; border-radius:0 0 12px 12px; background:var(--ct-surface); }
.ct-product .fi-ta-main:has(.fi-ta-header) .fi-pagination { border:1px solid var(--ct-border); background:var(--ct-surface); }

/* Alpine retains hidden toolbars; the first results surface owns their missing top edge. */
.ct-product .fi-ta-header-ctn:has(> .fi-ta-header):not(:has(> .fi-ta-header-toolbar:not([x-cloak], [style*="display: none"])))
    ~ :is(.fi-ta-content-ctn, .fi-ta-empty-state):not(.fi-ta-content-ctn ~ .fi-ta-empty-state) {
    border-top:1px solid var(--ct-border);
    border-start-start-radius:12px;
    border-start-end-radius:12px;
}

.ct-product .ct-appearance-source { font-size:11px; line-height:1.5; color:var(--ct-muted); }
.ct-product .ct-appearance-form .fi-fo-field-label { width:100%; }

/* Header summary has the approved compact measure and a separately disclosed history. */
.ct-product .ct-process.cp-header-progress { padding:0 0 16px; border-block:1px dashed var(--ct-border-strong); border-radius:0; }
.ct-product .ct-process .cp-header-summary { grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto; }
.ct-product .ct-process .cp-header-summary .cp-position { display:block; padding-inline-start:0; }
.ct-product .ct-process .cp-header-summary .cp-measure { margin-top:0; }
.ct-product .ct-process .cp-header-summary + .ct-process-error { margin-top:0; }
.ct-product .ct-process .cp-header-history { margin-top:16px; }
/* Native progress shares the reference compositions without moving Livewire owners. */
.ct-product :is(.ct-process,.ct-quick-process) :is(.ct-progress-header,.ct-progress-title) { min-width:0; }
.ct-product :is(.ct-process,.ct-quick-process).cp-rail { padding:20px 20px 0; }
.ct-product :is(.ct-process,.ct-quick-process).cp-rail.ct-progress-collapsed:not(:has(> .cp-output-gate)) { padding-bottom:20px; }
.ct-product :is(.ct-process,.ct-quick-process).cp-rail > .ct-progress-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 10px; align-items:center; }
.ct-product :is(.ct-process,.ct-quick-process).cp-rail .ct-progress-title { display:contents; }
.ct-product :is(.ct-process,.ct-quick-process).cp-rail .ct-progress-title > .cp-eyebrow { grid-column:1; grid-row:1; margin:0; }
.ct-product :is(.ct-process,.ct-quick-process).cp-rail .ct-progress-title > .cp-live-status { grid-column:1/-1; grid-row:2; display:flex; }
.ct-product :is(.ct-process,.ct-quick-process).cp-rail .ct-progress-header > .cp-heading-actions { grid-column:2; grid-row:1; }
.ct-product .ct-quick-process.cp-header-progress { padding:0 0 16px; border-inline:0; border-radius:0; background:transparent; }
.ct-product .ct-quick-process .cp-header-measure { font-size:12px; color:var(--ct-muted); }
.ct-product .ct-quick-process .cp-header-summary .cp-position { display:block; padding-inline-start:0; }
.ct-product :is(.ct-process,.ct-quick-process) .cp-header-summary .cp-heading-actions { grid-column:3; grid-row:1; }
.ct-product :is(.ct-process,.ct-quick-process):dir(rtl) .cp-phase-fill > span { transform-origin:right center; }
.ct-product .ct-progress-cell[data-legacy=true] { grid-template-areas:"phase phase" "position position" "status status"; }
.ct-product .ct-progress-cell[data-legacy=true] :is(.cp-cell-meter,.cp-cell-percent) { display:none; }
.ct-product .ct-progress-cell[data-legacy=true] .cp-cell-position { white-space:normal; text-align:start; justify-content:flex-start; border:0; }
@media(min-width:961px) {
 .ct-product[data-progress-style=rail] .ct-progress-authoring:has(.ct-quick-process) { grid-template-columns:minmax(0,1fr) 304px; gap:24px; align-items:start; }
 .ct-product[data-progress-style=rail] .ct-progress-authoring:has(.ct-quick-process) > * { grid-column:1; min-width:0; }
 .ct-product[data-progress-style=rail] .ct-progress-authoring:has(.ct-quick-process) > :has(> .fi-sc-component > .ct-quick-process) { grid-column:2; grid-row:1/span 3; align-self:start; position:sticky; top:90px; }
}
@media(max-width:960px) {
 .ct-product[data-progress-style=rail] .ct-progress-authoring:has(.ct-quick-process) > :has(> .fi-sc-component > .ct-quick-process) { order:-1; }
}
@media(max-width:767px) {
    .ct-product .ct-process .cp-header-summary { grid-template-columns:minmax(0,1fr) auto; }
    .ct-product .ct-process .cp-header-measure { grid-row:2; grid-column:1/-1; }
    .ct-product :is(.ct-process,.ct-quick-process) .cp-header-summary .cp-heading-actions { grid-column:2; }
}

/* Financial record metrics keep text readable and give each summary an intentional row. */
.ct-product .ct-workspace-metrics .ct-header-metric[data-value-kind=text] .fi-wi-stats-overview-stat-value { font-size:18px; line-height:26px; letter-spacing:-.015em; overflow-wrap:anywhere; }
@container ct-metrics (min-width:901px) {
 .ct-product .ct-workspace-metrics:is([data-metric-count="5"],[data-metric-count="7"]) .ct-header-metrics-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
 .ct-product .ct-workspace-metrics[data-metric-count="5"] .ct-header-metric { grid-column:span 4; }
 .ct-product .ct-workspace-metrics[data-metric-count="5"] .ct-header-metric:nth-child(n+4) { grid-column:span 6; border-block-start:1px dashed var(--ct-border); }
 .ct-product .ct-workspace-metrics[data-metric-count="5"] .ct-header-metric:nth-child(4) { border-inline-start:0; }
 .ct-product .ct-workspace-metrics[data-metric-count="6"] .ct-header-metrics-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .ct-product .ct-workspace-metrics[data-metric-count="6"] .ct-header-metric:nth-child(n+4) { border-block-start:1px dashed var(--ct-border); }
 .ct-product .ct-workspace-metrics[data-metric-count="6"] .ct-header-metric:nth-child(4) { border-inline-start:0; }
 .ct-product .ct-workspace-metrics[data-metric-count="7"] .ct-header-metric { grid-column:span 3; }
 .ct-product .ct-workspace-metrics[data-metric-count="7"] .ct-header-metric:nth-child(n+5) { grid-column:span 4; border-block-start:1px dashed var(--ct-border); }
 .ct-product .ct-workspace-metrics[data-metric-count="7"] .ct-header-metric:nth-child(5) { border-inline-start:0; }
}

/* AIPROF-002: platform Model Timeline — planned versus used model, attempt by attempt. */
.ct-product .ct-model-timeline { display:grid; gap:20px; min-width:0; }
.ct-product .ct-model-timeline-empty { padding:24px 22px; }
.ct-product .ct-model-timeline-empty h2 { font-size:14px; font-weight:600; }
.ct-product .ct-model-timeline-empty p { margin-top:4px; font-size:12px; color:var(--ct-muted); max-width:70ch; }
.ct-product .ct-model-timeline-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:20px; align-items:start; }
.ct-product .ct-model-timeline-readings ul { display:grid; gap:6px; padding:12px; margin:0; list-style:none; }
.ct-product .ct-model-timeline-reading { display:grid; gap:4px; width:100%; padding:10px 12px; text-align:start; border:1px solid var(--ct-border); border-radius:8px; background:var(--ct-surface); color:var(--ct-text); }
.ct-product .ct-model-timeline-reading:hover { background:var(--ct-subtle); }
.ct-product .ct-model-timeline-reading:focus-visible { outline:2px solid var(--ct-primary); outline-offset:2px; }
.ct-product .ct-model-timeline-reading[aria-current=true] { border-color:color-mix(in srgb,var(--ct-primary) 40%,var(--ct-border)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ct-primary) 22%,transparent); }
.ct-product .ct-model-timeline-reading strong { font-size:12px; font-weight:600; }
.ct-product .ct-model-timeline-reading small { font-size:11px; color:var(--ct-muted); font-variant-numeric:tabular-nums; }
.ct-product .ct-model-timeline-badges { display:flex; flex-wrap:wrap; gap:4px; }
.ct-product .ct-model-timeline-main { display:grid; gap:20px; min-width:0; }
.ct-product .ct-model-timeline-alert { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; padding:12px 14px; border:1px solid color-mix(in srgb,var(--ct-warning) 30%,var(--ct-border)); border-radius:10px; background:var(--ct-warning-soft); color:#713f12; font-size:12px; }
.ct-product .ct-model-timeline-alert p + p { margin-top:4px; }
.ct-product .ct-model-timeline-alert strong { font-weight:600; }
.ct-product .ct-model-timeline-alert-icon { width:16px; height:16px; color:var(--ct-warning); margin-top:1px; }
.ct-product .ct-model-timeline-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; border:1px solid var(--ct-border); border-radius:10px; background:var(--ct-surface); }
.ct-product .ct-model-timeline-facts > div { display:grid; gap:3px; padding:12px 14px; min-width:0; }
.ct-product .ct-model-timeline-facts > div + div { border-inline-start:1px dashed var(--ct-border); }
.ct-product .ct-model-timeline-facts dt { font-size:11px; color:var(--ct-muted); }
.ct-product .ct-model-timeline-facts dd { margin:0; font-size:15px; font-weight:600; letter-spacing:-.01em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ct-product .ct-model-timeline-facts small { display:block; font-size:11px; font-weight:400; letter-spacing:0; color:var(--ct-muted); }
.ct-product .ct-model-timeline-track { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.ct-product .ct-model-timeline-track li { display:flex; gap:8px; align-items:flex-start; padding-top:10px; border-top:4px solid var(--ct-progress-fill); min-width:0; }
.ct-product .ct-model-timeline-track li[data-fell-back=true] { border-top-color:var(--ct-warning); }
.ct-product .ct-model-timeline-track strong { display:block; font-size:13px; font-weight:600; }
.ct-product .ct-model-timeline-track small { display:block; font-size:11px; color:var(--ct-muted); font-variant-numeric:tabular-nums; }
.ct-product .ct-model-timeline-node { display:inline-flex; flex:none; align-items:center; justify-content:center; width:21px; height:21px; border:1px solid var(--ct-border); border-radius:50%; background:var(--ct-surface); color:var(--ct-muted); font-size:10px; font-weight:600; }
.ct-product .ct-model-timeline-calls { display:grid; margin:0; padding:14px 22px 18px; list-style:none; }
.ct-product .ct-model-timeline-call { position:relative; display:grid; grid-template-columns:62px minmax(0,1fr); column-gap:22px; padding-block:6px; }
.ct-product .ct-model-timeline-call::before { content:""; position:absolute; inset-block:0; inset-inline-start:73px; width:1px; background:var(--ct-border); }
.ct-product .ct-model-timeline-call:first-child::before { top:22px; }
.ct-product .ct-model-timeline-call:last-child::before { bottom:auto; height:22px; }
.ct-product .ct-model-timeline-call::after { content:""; position:absolute; top:17px; inset-inline-start:69px; width:9px; height:9px; border:2px solid var(--ct-primary); border-radius:50%; background:var(--ct-surface); }
.ct-product .ct-model-timeline-call[data-state=fallback]::after { border-color:var(--ct-warning); }
.ct-product .ct-model-timeline-call[data-state=unanswered]::after { border-color:var(--ct-danger); }
.ct-product .ct-model-timeline-call-time { padding-top:12px; font-size:11px; color:var(--ct-muted); text-align:end; font-variant-numeric:tabular-nums; }
.ct-product .ct-model-timeline-call details { min-width:0; border:1px solid var(--ct-border); border-radius:10px; background:var(--ct-surface); }
.ct-product .ct-model-timeline-call[data-state=fallback] details { border-color:color-mix(in srgb,var(--ct-warning) 28%,var(--ct-border)); }
.ct-product .ct-model-timeline-call[data-state=unanswered] details { border-color:color-mix(in srgb,var(--ct-danger) 28%,var(--ct-border)); }
.ct-product .ct-model-timeline-call summary { display:grid; gap:8px; padding:10px 12px; cursor:pointer; list-style:none; border-radius:10px; }
.ct-product .ct-model-timeline-call summary::-webkit-details-marker { display:none; }
.ct-product .ct-model-timeline-call summary:focus-visible { outline:2px solid var(--ct-primary); outline-offset:2px; }
.ct-product .ct-model-timeline-call-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.ct-product .ct-model-timeline-call-head strong { font-size:13px; font-weight:600; }
.ct-product .ct-model-timeline-call-duration { margin-inline-start:auto; font-size:11px; color:var(--ct-muted); font-variant-numeric:tabular-nums; }
.ct-product .ct-model-timeline-plan { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:12px; color:var(--ct-muted); }
.ct-product .ct-model-timeline :is(.ct-model-timeline-plan,.ct-model-timeline-table) code { font-family:'CTrial Mono',ui-monospace,monospace; font-size:11px; color:var(--ct-text); overflow-wrap:anywhere; }
.ct-product .ct-model-timeline-chain { display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin:0; padding:0; list-style:none; }
.ct-product .ct-model-timeline-chain li { display:inline-flex; align-items:center; gap:4px; }
.ct-product .ct-model-timeline-chain li + li::before { content:""; width:10px; height:1px; background:var(--ct-border-strong); }
.ct-product .ct-model-timeline-step { display:inline-flex; align-items:center; height:24px; padding:0 8px; border:1px solid var(--ct-border); border-radius:6px; font-family:'CTrial Mono',ui-monospace,monospace; font-size:11px; white-space:nowrap; }
.ct-product .ct-model-timeline-chain [data-outcome=answered] .ct-model-timeline-step { color:var(--ct-primary); background:var(--ct-primary-soft); border-color:color-mix(in srgb,var(--ct-primary) 30%,var(--ct-border)); }
.ct-product .ct-model-timeline-chain :is([data-outcome=refused],[data-outcome=failed]) .ct-model-timeline-step { color:var(--ct-danger); background:var(--ct-danger-soft); border-color:color-mix(in srgb,var(--ct-danger) 30%,var(--ct-border)); text-decoration:line-through; text-decoration-thickness:1px; }
.ct-product .ct-model-timeline-chain :is([data-outcome=output_limit],[data-outcome=rejected]) .ct-model-timeline-step { color:var(--ct-warning); background:var(--ct-warning-soft); border-color:color-mix(in srgb,var(--ct-warning) 30%,var(--ct-border)); }
.ct-product .ct-model-timeline-table { overflow-x:auto; border-top:1px dashed var(--ct-border); }
.ct-product .ct-model-timeline-models .ct-model-timeline-table { border-top:0; }
.ct-product .ct-model-timeline-table table { width:100%; min-width:760px; border-collapse:collapse; font-size:12px; }
.ct-product .ct-model-timeline-models table { min-width:600px; }
.ct-product .ct-model-timeline-table th { padding:8px 12px; text-align:start; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ct-muted); background:var(--ct-subtle); border-bottom:1px dashed var(--ct-border); white-space:nowrap; }
.ct-product .ct-model-timeline-table td { padding:8px 12px; vertical-align:top; border-bottom:1px dashed var(--ct-border); }
.ct-product .ct-model-timeline-table tr:last-child td { border-bottom:0; }
.ct-product .ct-model-timeline-table [data-numeric] { text-align:end; white-space:nowrap; font-variant-numeric:tabular-nums; }
.ct-product .ct-model-timeline-table td small { display:block; max-width:44ch; margin-top:3px; font-size:11px; color:var(--ct-muted); overflow-wrap:anywhere; }
@media(max-width:1023px) {
    .ct-product .ct-model-timeline-layout { grid-template-columns:minmax(0,1fr); }
    .ct-product .ct-model-timeline-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ct-product .ct-model-timeline-facts > div:nth-child(3) { border-inline-start:0; }
    .ct-product .ct-model-timeline-facts > div:nth-child(n+3) { border-top:1px dashed var(--ct-border); }
}
@media(max-width:640px) {
    .ct-product .ct-model-timeline-calls { padding-inline:12px; }
    .ct-product .ct-model-timeline-call { grid-template-columns:minmax(0,1fr); }
    .ct-product .ct-model-timeline-call::before, .ct-product .ct-model-timeline-call::after, .ct-product .ct-model-timeline-call-time { display:none; }
}
/* The composer's assistant panel stays below the sticky product topbar while the page scrolls. */
.ct-product .ct-assistant-panel { top:90px; }
/* User decision 2026-09-24: the buttons in a page or table header bar — the green "+ New …" and the ones beside it —
   are tall (38px) like "+ Create Study"; footer and modal buttons keep their own size. */
.ct-product .fi-ta-header-ctn .fi-ta-actions .fi-btn, .ct-product .fi-header-actions-ctn .fi-btn { min-height:38px; padding:6px 12px; font-size:14px; font-weight:500; line-height:20px; gap:4px; border-radius:.375rem; }
