.fk-panel { min-width: 0; }
.fk-connect { margin-top: 18px; }
.fk-connect summary { cursor: pointer; font-weight: 600; }
.fk-connect form { max-width: 640px; margin-top: 12px; }
.fk-preview { margin-top: 24px; padding-top: 16px; border-top: 1px solid #dce4ed; }
.fk-preview h3 { margin: 0 0 8px; }
.fk-table-scroll { max-width: 100%; overflow-x: auto; }
.fk-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.fk-table th, .fk-table td { padding: 12px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid #e4eaf1; }
.fk-table th { color: #506078; font-size: 12px; background: #f4f7fb; }
.fk-table td { max-width: 260px; overflow-wrap: anywhere; }
.fk-table small { display: block; color: #65758a; margin: 5px 0; }
.fk-money { white-space: nowrap; font-variant-numeric: tabular-nums; }
.fk-match { color: #85600b; }
.fk-pages { margin-top: 12px; align-items: center; }
.br-card { margin-top: 24px; padding: 20px; border: 1px solid #dce4ed; border-radius: 12px; }
.br-allocation { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin-bottom:12px; }
.br-allocation .di-field { flex:1; min-width:150px; }
.br-consent { display:flex; gap:10px; align-items:start; margin:16px 0; }
@media (max-width: 700px) { .fk-table { min-width: 820px; } }
.ft-dialog { width: min(920px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); box-sizing: border-box; overflow: auto; border: 1px solid #dce4ed; border-radius: 16px; padding: 24px; color: #23344b; background: #fff; }
.ft-dialog::backdrop { background: rgb(15 25 40 / .5); }
.ft-heading { display: flex; justify-content: space-between; align-items: start; gap: 16px; }
.ft-heading h2 { margin-top: 0; }
.ft-evidence { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; padding: 12px; background: #f4f7fb; }
.ft-grid, .ft-summary { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 20px; }
.ft-summary dt { color: #65758a; font-size: 12px; }
.ft-summary dd { margin: 4px 0 12px; overflow-wrap: anywhere; }
.ft-fields { margin: 20px 0; border: 1px solid #dce4ed; border-radius: 8px; padding: 16px; }
.ft-fields[hidden] { display: none; }
.ft-candidates { max-height: 250px; overflow: auto; margin: 12px 0; }
.ft-candidate { display: flex; align-items: start; gap: 10px; padding: 12px; border-bottom: 1px solid #dce4ed; }
.ft-dialog input[type="checkbox"], .ft-dialog input[type="radio"] { width: auto; flex: 0 0 auto; margin-top: 4px; }
.ft-dialog input, .ft-dialog select { max-width: 100%; box-sizing: border-box; }
@media (max-width: 600px) { .ft-grid, .ft-summary { grid-template-columns: 1fr; } .ft-dialog { padding: 16px; } }
