/* Shared comparison component. Controls, status and tables own their layout. */
.fc-compare{margin:16px 0;padding:16px;border:1px solid #aab5ae;background:#f8f9f7;color:#172129;font:14px/1.45 'Segoe UI',Arial,sans-serif;min-width:0}
.fc-compare h2{font-size:20px;margin:0 0 10px;color:#172129}
.fc-compare p{margin:10px 0}
.fc-compare .cmp-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
html body .fc-compare .cmp-tools>label:not(.cmp-check){display:flex;flex-direction:column;gap:4px;flex:0 1 auto;width:auto;max-width:100%;margin:0}
.fc-compare button,.fc-compare select,.fc-compare a{font:inherit}
html body .fc-compare select{border:1px solid #718078;border-radius:3px;background:#fff;color:#172129;padding:7px 10px;min-height:40px;height:40px;max-width:280px;cursor:pointer}
.fc-compare a{color:#365c76}
/* Checkboxes must never inherit full-width text-field dimensions or padding. */
html body .fc-compare input[type=checkbox]{appearance:auto!important;display:inline-block!important;flex:0 0 16px!important;width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;min-height:16px!important;max-height:16px!important;padding:0!important;margin:0!important;vertical-align:middle!important;box-shadow:none!important;transform:none!important;position:static!important;accent-color:#365c76}
html body .fc-compare .cmp-check{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;width:auto!important;max-width:100%;min-width:0;margin:0!important;padding:0!important;line-height:1.45!important;cursor:pointer}
html body .fc-compare .cmp-tools>.cmp-check{min-height:40px;flex:0 1 auto}
.fc-compare .cmp-item-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.fc-compare .cmp-scroll{overflow:auto;max-width:100%}
html body .fc-compare table{display:table!important;border-collapse:collapse!important;width:100%;background:#fff;table-layout:auto!important}
html body .fc-compare thead{display:table-header-group!important}
html body .fc-compare tbody{display:table-row-group!important}
html body .fc-compare tr{display:table-row!important}
html body .fc-compare th,html body .fc-compare td{display:table-cell!important;float:none!important;position:static!important;width:auto!important;max-width:none!important;box-sizing:border-box!important;color:#172129!important;opacity:1!important;border:1px solid #aab5ae;padding:9px 12px;min-width:180px;text-align:left;vertical-align:top;white-space:normal;font-weight:400}
.fc-compare thead th{font-weight:700;background:#eef1ee}
.fc-compare tbody th{min-width:240px}
.fc-compare tr:hover td,.fc-compare tr:hover th{background:#e8f1f5}
.fc-compare small{display:block;color:#53625b;font-size:12px;margin-top:4px}
.fc-compare details{margin:12px 0;border:1px solid #aab5ae;padding:10px}
.fc-compare summary{cursor:pointer;font-weight:600}
.fc-compare .cmp-items>div{padding:10px 0;border-bottom:1px solid #aab5ae}
.fc-compare .cmp-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:8px;margin-top:10px}
.fc-compare .cmp-fields>div{display:flex;gap:4px;align-items:center}
.fc-compare .cmp-fields label{flex:1}
.fc-compare .cmp-status{min-height:20px}
.fc-compare pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
/* One standard 40px control. Calculate remains primary; comparison/reset secondary. */
html body .fc-compare-button,
html body .cmp-button-link,
html body .fc-action-row>button,
html body .fc-action-row>input[type=button],
html body .fc-action-row>input[type=submit],
html body .fc-action-row>input[type=reset],
html body .fc-calculation-actions button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 flex:0 0 auto!important;width:auto!important;height:40px!important;min-height:40px!important;max-height:40px!important;
 margin:0!important;padding:8px 14px!important;box-sizing:border-box!important;
 border:1px solid #718078!important;border-radius:3px!important;
 background:#eef1ee!important;color:#000!important;opacity:1;
 font:600 14px/22px 'Segoe UI',Arial,sans-serif!important;
 white-space:nowrap!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer
}
html body .fc-action-row>.fc-comparison-calculate,
html body .fc-calculation-actions [data-action],
html body .fc-calculation-actions [data-fx50-calc]{background:#365c76!important;color:#fff!important;border-color:#365c76!important}
html body .fc-compare-button:hover,html body .cmp-button-link:hover{filter:brightness(.95)}
html body .fc-compare-button:focus-visible,.fc-compare :focus-visible{outline:2px solid #365c76;outline-offset:2px}
html body .fc-action-panel{display:grid!important;grid-template-rows:22px auto;flex:1 1 100%!important;grid-column:1/-1;min-width:0;width:100%;margin:0;padding:0;border:0;background:transparent}
html body .fc-action-row,html body .fc-calculation-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-width:0;grid-column:1/-1}
html body .fc-action-row{grid-area:2/1;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
html body .fc-comparison-actions,html body .fc-calculation-actions>.fc-scenario-actions,html body .fc-calculation-actions>#fc-compare-actions{display:contents!important}
html body .fc-calculation-actions{margin:12px 0}
.fc-scenario-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0;color:#172129}
/* Reserve one status line, including the empty state. It cannot resize the row. */
html body .fc-comparison-status,html body .fc-scenario-actions [role=status],html body #fc-compare-action-status{display:block!important;box-sizing:border-box;height:22px!important;min-height:22px!important;max-height:22px!important;flex:0 0 100%;order:-1;min-width:0;margin:0!important;padding:0!important;color:#172129!important;font:12px/20px 'Segoe UI',Arial,sans-serif!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#fc-page-content .fc-pair-top-row>.fc-fit-manual-wrap{grid-column:1 / -1}
#fc-compare-fold,.fc-scenario-fold{margin:16px 0;border:1px solid #aab5ae;background:#f8f9f7;scroll-margin-top:76px;min-width:0;grid-column:1/-1}
#fc-compare-fold>summary,.fc-scenario-fold>summary{padding:12px 16px;cursor:pointer;font-weight:600;color:#172129}
#fc-compare-fold>.fc-compare,.fc-scenario-fold>.fc-compare{margin:0;border:0;border-top:1px solid #aab5ae}
#fc-page-content .fx50-trace,#fc-page-content .fx50-trace *{color:#000!important;opacity:1!important}
@media(max-width:600px){.fc-compare{padding:10px}.fc-compare select{max-width:100%}.fc-compare .cmp-tools>label:not(.cmp-check){flex:1 1 150px}.fc-compare .cmp-fields{grid-template-columns:1fr}}

html body .fc-action-panel>.fc-comparison-status{grid-area:1/1;}

.fc-compare td details.cmp-value-details{border:0;background:transparent;margin:0;padding:0}
.fc-compare td .cmp-value-details summary{padding:0;cursor:pointer;overflow-wrap:anywhere}
.fc-compare td .cmp-value-details>span{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px}

.fc-compare .cmp-set-difference{font-size:12px;margin-top:6px}
.fc-compare .cmp-set-difference>span{white-space:pre-line}

/* A comparison fills its own result card; never expands the neighbouring input column. */
html body [data-fc-comparison-result-owner]{min-width:0!important;max-width:100%;box-sizing:border-box;}
html body [data-fc-comparison-result-owner] > .fc-scenario-fold{box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:16px 0 0;}
html body [data-fc-comparison-result-owner] .fc-compare{min-width:0;max-width:100%;box-sizing:border-box;}
