/* Functional controls inherit Foxbyte/Astra tokens. Pages AI owns placement and branding. */
.fxl-system { box-sizing:border-box; max-inline-size:100%; overflow-wrap:anywhere; }
.fxl-system *, .fx12-form * { box-sizing:border-box; }
.fxl-system [hidden] { display:none !important; }
.fxl-system button,.fxl-system .fb-btn,.fx12-form button,#masthead .fb10-sub-toggle { min-block-size:44px; min-inline-size:44px; touch-action:manipulation; }
.fxl-system input:not([type=checkbox]),.fxl-system textarea,.fxl-system select,.fx12-form input:not([type=checkbox]):not([type=hidden]),.fx12-form textarea,.fx12-form select { max-inline-size:100%; inline-size:100%; font:inherit; }
.fxl-system input[type=checkbox],.fx12-form input[type=checkbox] { inline-size:1.25em; block-size:1.25em; vertical-align:middle; }
.fxl-system label,.fx12-form label { display:inline-block; padding-block:.4rem; }
.fxl-system :focus-visible,.fx12-form :focus-visible,#masthead .fb10-sub-toggle:focus-visible { outline:3px solid currentColor; outline-offset:4px; }
.fxl-system [role=status],.fx12-form [data-fx12-result] { min-block-size:2em; }
.fxl-system [data-fxl-answers] { block-size:clamp(8rem,28vh,16rem); max-block-size:55vh; overflow:auto; overscroll-behavior:contain; padding:.5rem; }
.fxl-system [data-fxl-handoff] { margin-block:1.5rem; border-block-start:1px solid currentColor; padding-block-start:1rem; }
.fxl-system table { inline-size:100%; table-layout:fixed; border-collapse:collapse; }
.fxl-system td,.fxl-system th { padding:.5rem; vertical-align:top; border:1px solid currentColor; text-align:start; }
.fxl-dialog { inline-size:min(44rem,calc(100% - 2rem)); max-block-size:calc(100dvh - 2rem); overflow:auto; border:1px solid currentColor; padding:1.25rem; color:var(--ast-global-color-2,#172333); background:var(--ast-global-color-5,#fff); }
.fxl-dialog::backdrop { background:rgb(0 0 0 / .5); }
.fxl-dialog [data-fxl-close-ai] { position:sticky; inset-block-start:0; z-index:1; }
@media (prefers-reduced-motion:reduce) { .fxl-system *,.fx12-form *,#masthead .sub-menu { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media (forced-colors:active) { .fxl-system button,.fxl-system a,.fx12-form button { border:1px solid ButtonText; } }
