/* Dynamic form catalogs use the same Arial toolbar and master/detail layout as Quotes. */
.fc-workspace { align-items: start; display: grid; gap: 12px; grid-template-columns: 420px minmax(0, 1fr); }
.fc-list { display: flex; flex-direction: column; gap: 8px; max-height: calc(100dvh - 108px); min-width: 0; padding: 8px; position: sticky; top: 72px; }
.fc-list-filter { display: grid; flex: none; gap: 6px; }
.fc-list { overflow:hidden; }
.fc-list .crm-work-list { overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.fc-document-scope { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.fc-document-scope .is-active { border-color:var(--primary-color,#015e70); color:var(--primary-color,#015e70); }
.fc-document-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:300px; padding:24px; color:#697e8b; text-align:center; }
.fc-document-empty>i { font-size:30px; color:#99adb8; }
.fc-document-empty>strong { color:#29445a; font-weight:500; }
.fc-new-context { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; }
.fc-new-context>div { display:grid; gap:5px; min-width:0; }
.fc-new-context span { font-size:12px; color:#697e8b; overflow-wrap:anywhere; }
.fc-new-dialog { width:min(960px,calc(100vw - 28px)); max-width:none; max-height:calc(100dvh - 28px); padding:0; overflow:auto; color:#243e4c; font-family:Arial,sans-serif; font-size:14px; }
.fc-new-dialog::backdrop { background:#102d3b80; }
.fc-new-dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:16px; border-bottom:1px solid #d2d9de; position:sticky; top:0; z-index:2; background:#fff; }
.fc-new-dialog-heading h2 { font-size:17px; margin:0 0 6px; }
.fc-new-dialog-heading p { color:#697e8b; font-size:13px; margin:0; }
.fc-new-dialog-body { padding:16px; }
.fc-picker-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.fc-picker-columns fieldset { min-width:0; padding:12px; border:1px solid #d2d9de; border-radius:4px; }
.fc-picker-columns legend { float:none; width:auto; padding:0 4px; margin-bottom:6px; font-size:14px; font-weight:600; }
.fc-picker-search { display:grid; gap:6px; font-size:12px; color:#697e8b; }
.fc-picker-search input { width:100%; margin:0; font-size:13px; }
.fc-picker-options { height:250px; overflow:auto; margin:10px 0; border:1px solid #dce4e8; scrollbar-width:thin; }
.fc-picker-option { display:flex; align-items:flex-start; gap:8px; padding:9px; margin:0; cursor:pointer; }
.fc-picker-option+.fc-picker-option { border-top:1px solid #e5eaed; }
.fc-picker-option:hover,.fc-picker-option.is-selected { background:#edf7f8; }
.fc-picker-option input { flex:none; margin:4px 0 0; accent-color:var(--primary-color,#015e70); }
.fc-picker-option>span { min-width:0; display:grid; gap:4px; overflow-wrap:anywhere; }
.fc-picker-option strong { font-size:13px; font-weight:500; }
.fc-picker-option small { font-size:11px; color:#697e8b; }
.fc-picker-selection { color:#697e8b; font-size:12px; margin:8px 0 0; overflow-wrap:anywhere; }
.fc-picker-selection strong { color:#243e4c; font-weight:500; }
.fc-picker-message { display:block; color:#697e8b; font-size:12px; padding:8px; margin:0; }
.fc-new-dialog-footer { display:flex; justify-content:flex-end; gap:8px; padding:12px 16px; border-top:1px solid #d2d9de; position:sticky; bottom:0; z-index:1; background:#fff; }
@media(max-width:650px) { .fc-picker-columns { grid-template-columns:minmax(0,1fr); } .fc-picker-options { height:155px; } .fc-new-dialog-heading,.fc-new-dialog-body { padding:12px; } .fc-new-context { align-items:flex-start; } }
.fc-list .crm-work-list { min-height: 70px; }
.fc-content, .fc-entry { display: grid; gap: 12px; min-width: 0; }
.fc-summary-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.fc-summary-fields:empty { display:none; }
.fc-summary-fields .fc-title-field { min-width:0; }
.fc-entry-footer { display:flex; justify-content:flex-end; padding:12px; }
.fc-template-edit { color:var(--primary-color,#015e70); }
.project-back-link { display:inline-flex; align-items:center; gap:6px; color:var(--primary-color,#015e70); font-size:13px; text-decoration:none; padding:5px 0; }
.project-back-link:hover { text-decoration:underline; }
.fc-entry-more { position:relative; }
.fc-entry-more[open] { z-index:1100; }
.fc-entry-more>summary { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid #ccd5dc; border-radius:4px; background:#fff; cursor:pointer; list-style:none; }
.fc-entry-more>summary::-webkit-details-marker { display:none; }
.fc-entry-more>summary:focus-visible { outline:2px solid var(--primary-color,#015e70); outline-offset:2px; }
.fc-entry-more-menu { position:absolute; right:0; top:calc(100% + 5px); display:grid; gap:4px; min-width:190px; padding:6px; background:#fff; border:1px solid #ccd5dc; border-radius:4px; box-shadow:0 5px 18px #17374c20; }
.fc-entry-more-menu>.button-theme { justify-content:flex-start; width:100%; background:#fff; color:#29445a; border:0; text-align:left; }
.fc-entry-more-menu>.button-theme:hover { background:#edf7f8; }
.fc-catalog-manager .button-theme, .fc-catalog-page .button-theme, .fc-fill-page .button-theme { white-space: nowrap; }
.fc-create-picker { align-items: flex-end; display: flex; gap: 8px; padding: 12px; }
.fc-create-picker > label { display: grid; flex: 1; gap: 6px; margin: 0; }
.fc-title-field { display: grid; gap: 6px; margin-top: 12px; }
.fc-title-field input { max-width: 760px; }
.fc-entry .ff-preview-sheet { margin: 0; max-width: none; padding: 12px; width: 100%; }
.fc-entry .ff-preview-group { border: 0; border-radius: 0; margin: 0; padding: 0; }
.fc-entry .ff-preview-group + .ff-preview-group { border-top: 1px solid #e4e9ed; margin-top: 16px; padding-top: 16px; }
.fc-entry .ff-preview-group h3 { border: 0; color: #173e58; font-size: 14px; font-weight: 700; margin: 0 0 12px; padding: 0; }
.fc-entry .ff-fields-grid { grid-template-columns:repeat(4,minmax(0,1fr)); column-gap: 16px; padding: 0; row-gap: 16px; }
.fc-entry .fc-form-field { min-width:0; }
.fc-entry .fc-form-field-wide { grid-column:1 / -1; }
.fc-entry .ff-input-block { display: grid; gap: 6px; }
.fc-entry .ff-field-heading { margin: 0; }
.fc-entry .ff-field-label { font-size: 14px; font-weight: 500; margin: 0; }
.fc-entry .quote-select-popup { left:auto; min-width:min(320px,calc(100vw - 32px)); }
.fc-entry .quote-select-trigger { min-height:32px; }
.fc-entry .quote-select-option>span { overflow-wrap:anywhere; }
.fc-entry .ff-product-cell { min-width:250px; }
.fc-entry .ff-product-cell .quote-select-header { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.fc-entry .ff-product-cell .quote-select-trigger { min-height:31px; font-size:13px; }
.fc-entry .ff-product-cell .quote-select-popup { z-index:1300; }
.fc-entry .ff-entity-search { margin-bottom: 6px; }
.fc-entry :is(input, textarea, select):disabled { color: #212529; opacity: 1; }
@media(max-width:1199px) { .fc-entry .ff-fields-grid,.fc-summary-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .fc-entry .ff-fields-grid,.fc-summary-fields { grid-template-columns:minmax(0,1fr); } }
.fc-overview { padding: 12px; }
.fc-overview h2 { color: #173e58; font-size: 17px; margin: 0 0 12px; }
.fc-overview-form { align-items: center; border-top: 1px solid #e4e9ed; display: flex; gap: 12px; justify-content: space-between; padding: 12px 0; }
.fc-overview-form small { color: #6c757d; display: block; margin-top: 4px; }
.fc-catalog-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.fc-catalog-card { min-width: 0; padding: 12px; }
.fc-catalog-card-heading { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; }
.fc-catalog-card h2 { color: #173e58; font-size: 17px; margin: 0; overflow-wrap: anywhere; }
.fc-catalog-path { display: block; margin-top: 8px; overflow-wrap: anywhere; }
.fc-catalog-card footer { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.fc-catalog-card .button-theme:disabled { cursor: not-allowed !important; opacity: .5; }
.fc-empty { color: #6c757d; padding: 16px; }
.fc-catalog-dialog { max-width: 720px; }
.fc-catalog-edit { display: grid; gap: 16px; padding: 16px; }
.fc-catalog-edit > label { display: grid; gap: 6px; margin: 0; }
.fc-catalog-edit fieldset { border: 1px solid #bfc6ca; max-height: 320px; overflow: auto; padding: 12px; }
.fc-catalog-edit legend { color: #173e58; float: none; font-size: 14px; font-weight: 700; padding: 0 4px; width: auto; }
.fc-catalog-edit .fc-form-choice { align-items: center; display: flex; gap: 10px; margin: 0; padding: 7px 0; }
.fc-form-choice small { color: #6c757d; display: block; }
@media (max-width: 950px) {
    .fc-workspace { grid-template-columns: minmax(0, 1fr); }
    .fc-list { max-height: 380px; position: static; }
}
@media (max-width: 650px) {
    .fc-catalog-grid { grid-template-columns: minmax(0, 1fr); }
    .fc-create-picker { flex-wrap: wrap; }
    .fc-create-picker > label { flex-basis: 100%; }
}

.fc-catalog-tree,.fc-catalog-tree ul{list-style:none;margin:10px 0;padding-left:0}.fc-catalog-tree ul{padding-left:26px;border-left:1px solid #cbd5df;margin-left:12px}.fc-tree-node{margin:8px 0}.fc-catalog-tree .fc-catalog-card{padding:14px}.fc-catalog-tree .fc-catalog-card h2{font-size:16px}.fc-policy-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.fc-policy-people{max-height:none!important}.fc-policy-people .fc-policy-columns>div{max-height:220px;overflow:auto;padding:8px;border:1px solid #e1e5ea}.fc-policy-people small{display:block;margin-top:8px;color:#697780}.fc-catalog-edit>label,.fc-policy-columns>label{display:grid;gap:6px}.fc-catalog-edit .fc-form-choice{display:flex;align-items:center}.fc-child-catalogs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.fc-catalog-dialog{width:min(960px,95vw)!important}@media(max-width:650px){.fc-policy-columns{grid-template-columns:1fr}.fc-catalog-tree ul{padding-left:12px;margin-left:4px}}
