.fx-page{
    --fx-navy:#023047;
    --fx-teal:#1a9ba8;
    --fx-teal-dark:#158793;
    --fx-surface:#f6f9fb;
    --fx-border:#d9e3e8;
    --fx-text:#294b5b;
    --fx-muted:#627783;
    --fx-danger:#b42318;
    background:#fff;
    color:var(--fx-text);
    font-family:"Poppins",Arial,sans-serif;
}
.fx-page*,.fx-page*::before,.fx-page*::after{box-sizing:border-box}
.fx-page button,.fx-page input,.fx-page select,.fx-page textarea{font:inherit}
.fx-page [hidden]{display:none!important}
.fx-main{padding:40px 0 64px;background:#fff;scroll-margin-top:90px;overflow:visible}
.fx-container{width:100%;max-width:1220px;margin:0 auto;padding:0 12px}
.fx-layout-row{overflow:visible}
.fx-form-column,.fx-preview{min-width:0}
@media(min-width:1200px){
    .fx-layout-row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,13fr);gap:24px;margin:0}
    .fx-layout-row>.fx-form-column,.fx-layout-row>.fx-preview{width:100%;max-width:none;padding:0}
}
@media(min-width:992px) and (max-width:1199.98px){
    .fx-layout-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:22px;margin:0}
    .fx-layout-row>.fx-form-column,.fx-layout-row>.fx-preview{width:100%;max-width:none;padding:0}
}
.fx-errors{margin:0;padding:13px 15px;border:1px solid #f1b9b4;border-radius:10px;background:#fff3f2;color:var(--fx-danger);font-size:.82rem;line-height:1.55}
.fx-errors ul{margin:7px 0 0;padding-left:20px}
.fx-card{min-width:0;margin:0 0 24px;padding:24px 26px;border:1px solid var(--fx-border);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(2,48,71,.07)}
.fx-card__head{display:block;margin:0 0 18px;padding:0 0 14px;border-bottom:2px solid #e8eef1}
.fx-card__head>div{width:100%;min-width:0}
.fx-card__head h2{margin:0;color:var(--fx-navy);font-size:1.2rem;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.fx-card__head p{margin:5px 0 0;color:var(--fx-muted);font-size:.78rem;line-height:1.55;text-align:left;overflow-wrap:anywhere}
.fx-grid,.fx-grid--3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fx-span-2{grid-column:1/-1}
.fx-field{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;min-width:0}
.fx-field>span,.fx-label{display:block;margin:0;color:var(--fx-navy);font-size:.8rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.fx-field input,.fx-field select,.fx-field textarea,.fx-credit-list>input{
    width:100%;min-width:0;height:44px;min-height:44px;margin:0;padding:9px 12px;border:1px solid #cfdbe1;border-radius:9px;
    background:var(--fx-surface);color:var(--fx-navy);font-size:.86rem;line-height:1.35;outline:0;box-shadow:none
}
.fx-field textarea{height:auto;min-height:170px;padding:11px 12px;resize:vertical;line-height:1.55}
.fx-field input:focus,.fx-field select:focus,.fx-field textarea:focus,.fx-credit-list>input:focus{border-color:var(--fx-teal);background:#fff;box-shadow:0 0 0 3px rgba(26,155,168,.14)}
.fx-checks,.fx-radio-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:16px}
.fx-checks label,.fx-radio-row label,.fx-checkline,.fx-confirm,.fx-mini{
    display:flex;align-items:flex-start;gap:9px;min-width:0;min-height:44px;margin:0;padding:10px 11px;border:1px solid #dce5e9;
    border-radius:10px;background:#fbfdfe;color:var(--fx-navy);font-size:.76rem;font-weight:600;line-height:1.48;cursor:pointer
}
.fx-checks input,.fx-radio-row input,.fx-checkline input,.fx-confirm input,.fx-mini input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:var(--fx-teal)}
.fx-checks span,.fx-radio-row span,.fx-confirm span,.fx-mini span{min-width:0;overflow-wrap:anywhere}
.fx-radio-row{margin:0 0 16px}
.fx-radio-row label:has(input:checked),.fx-checks label:has(input:checked),.fx-confirm:has(input:checked),.fx-mini:has(input:checked){border-color:#9bcbd5;background:#effbfd}
.fx-help{margin:0 0 15px;padding:12px 13px;border-left:4px solid var(--fx-teal);border-radius:10px;background:#f0fbfd;color:#425f6d;font-size:.74rem;line-height:1.55;overflow-wrap:anywhere}

/* 1040-X A/B/C section: compact line cards instead of an 860px horizontal table. */
.fx-money-table-wrap{width:100%;overflow:visible;border:0;background:transparent}
.fx-money-table{display:block;width:100%;min-width:0;border-collapse:separate}
.fx-money-table thead{display:none}
.fx-money-table tbody{display:grid;grid-template-columns:minmax(0,1fr);gap:11px}
.fx-money-table tr{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px 10px;min-width:0;padding:11px 12px;border:1px solid #dce5e9;border-radius:11px;background:#fbfdfe}
.fx-money-table td{display:block;min-width:0;padding:0;border:0;color:var(--fx-text);font-size:.76rem;line-height:1.4}
.fx-money-table td:first-child{grid-column:1;color:var(--fx-navy);font-size:.82rem;font-weight:800;text-align:center}
.fx-money-table td:nth-child(2){grid-column:2;color:var(--fx-navy);font-weight:650;overflow-wrap:anywhere}
.fx-money-table td:nth-child(3),.fx-money-table td:nth-child(4),.fx-money-table td:nth-child(5){
    grid-column:1/-1;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:9px
}
.fx-money-table td:nth-child(3)::before{content:"A · Original"}
.fx-money-table td:nth-child(4)::before{content:"B · Change"}
.fx-money-table td:nth-child(5)::before{content:"C · Correct"}
.fx-money-table td:nth-child(3)::before,.fx-money-table td:nth-child(4)::before,.fx-money-table td:nth-child(5)::before{color:var(--fx-muted);font-size:.7rem;font-weight:700;line-height:1.25}
.fx-money-table input,.fx-money-table output{
    display:flex;align-items:center;justify-content:flex-end;width:100%;min-width:0;height:42px;min-height:42px;margin:0;padding:8px 10px;
    border:1px solid #cfdbe1;border-radius:8px;background:var(--fx-surface);color:var(--fx-navy);font-size:.8rem;text-align:right;outline:0
}
.fx-money-table input:focus{border-color:var(--fx-teal);background:#fff;box-shadow:0 0 0 3px rgba(26,155,168,.12)}
.fx-money-table output{border-color:#b9dfe6;background:#effbfd;font-weight:800}
.fx-money-table td:nth-child(2)>input{height:42px;margin-top:8px;text-align:left}
.fx-money-table .fx-mini{width:100%;margin-top:8px;padding:7px 9px;font-size:.7rem}
.fx-credit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px;padding:14px;border:1px solid #dce5e9;border-radius:11px;background:#fbfdfe}
.fx-credit-list>strong,.fx-credit-list>input{grid-column:1/-1}
.fx-credit-list>strong{color:var(--fx-navy);font-size:.82rem;font-weight:800}
.fx-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin-top:16px}
.fx-summary span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid #b9dfe6;border-radius:10px;background:#effbfd;color:var(--fx-muted);font-size:.76rem;line-height:1.4}
.fx-summary strong{color:var(--fx-teal);font-size:.88rem;font-weight:800;white-space:nowrap}
.fx-dependent{min-width:0;margin:16px 0 0;padding:15px;border:1px solid #dce5e9;border-radius:12px;background:#fbfdfe}
.fx-dependent legend{float:none;width:auto;margin:0 0 13px;padding:0 3px;color:var(--fx-navy);font-size:.88rem;font-weight:800}
.fx-dependent .fx-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
.fx-confirm{margin:0 0 15px;padding:12px;border-color:#cfe7ec;background:#effbfd;font-size:.78rem}
.fx-field-error{display:block;margin-top:5px;color:var(--fx-danger);font-size:.72rem;font-weight:600;line-height:1.42}
.fx-page .is-invalid{border-color:#d92d20!important;box-shadow:0 0 0 3px rgba(217,45,32,.1)!important}

.fx-preview{position:sticky;top:96px;align-self:flex-start;height:fit-content}
.fx-preview-card{position:relative;width:100%;padding:12px;border:1px solid var(--fx-border);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(2,48,71,.1)}
.fx-preview-head{margin:0 0 16px;text-align:center}
.fx-preview-head strong{display:block;margin:0 0 5px;color:var(--fx-navy);font-size:1.2rem;font-weight:800;line-height:1.35}
.fx-preview-head small{display:block;margin:0;color:var(--fx-muted);font-size:.82rem;line-height:1.5}
.fx-preview-year{display:flex;width:max-content;max-width:100%;align-items:center;justify-content:center;margin:0 auto 12px;padding:5px 10px;border:1px solid #c9dbe3;border-radius:999px;background:#eef8fa;color:var(--fx-navy);font-size:.78rem;font-weight:700}
.fx-preview-frame-wrap{position:relative;width:100%;max-width:100%;height:clamp(560px,calc(100vh - 220px),940px);min-height:560px;max-height:940px;overflow:hidden;border:1px solid #cfdbe1;border-radius:10px;background:#fff}
.fx-original-preview,.fx-pdf-pages{box-sizing:border-box;width:100%;max-width:100%;height:100%;padding:8px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#eef3f5}
.fx-original-page,.fx-pdf-page{position:relative;box-sizing:border-box;width:100%;max-width:100%;margin:0 auto 10px;overflow:hidden;background:#fff;box-shadow:0 2px 10px rgba(2,48,71,.1)}
.fx-original-page:last-child,.fx-pdf-page:last-child{margin-bottom:0}
.fx-original-page img,.fx-pdf-page canvas{display:block;width:100%;max-width:100%;height:auto;margin:0}
.fx-original-page::after{
    content:"ePaystubs";position:absolute;top:50%;left:50%;z-index:2;width:max-content;max-width:90%;
    transform:translate(-50%,-50%) rotate(-28deg);color:rgba(2,48,71,.16);font-family:"Open Sans",sans-serif;
    font-size:clamp(24px,4.2vw,52px);font-weight:800;line-height:1;letter-spacing:.03em;text-align:center;white-space:nowrap;
    pointer-events:none;user-select:none;-webkit-user-select:none
}
#fx-preview-frame,#fx-modal-preview{display:block;width:100%;max-width:100%;min-width:0;height:100%;border:0;background:#fff}
#fx-preview-frame.fx-pdfjs-active,#fx-modal-preview.fx-pdfjs-active{display:none}
.fx-pdf-pages--modal{height:100%;padding:10px;border-radius:8px}
.fx-preview-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:580px;margin:30px auto 8px}
.fx-preview-button,.fx-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;height:44px;min-height:44px;margin:0;padding:8px 12px;border-radius:10px;font-size:.88rem;font-weight:800;line-height:1.25;text-align:center;white-space:nowrap;cursor:pointer;box-shadow:none}
.fx-preview-button{border:1px solid var(--fx-navy);background:#fff;color:var(--fx-navy)}
.fx-preview-button:hover,.fx-preview-button:focus{background:#f7fafc}
.fx-preview-button:disabled{cursor:not-allowed;opacity:.55}
.fx-submit{border:0;background:var(--fx-teal);color:#fff}
.fx-submit:hover,.fx-submit:focus{background:var(--fx-teal-dark);color:#fff}
.fx-submit:disabled{cursor:progress;opacity:.68}

.fx-modal{position:fixed;inset:0;z-index:2147483647;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,40px);overflow:auto;background:rgba(2,48,71,.72)}
.fx-modal.is-open{display:flex}
.fx-modal__dialog{position:relative;width:min(960px,75vw,calc((100dvh - 64px) * 17 / 11));height:auto;aspect-ratio:17/11;margin:auto;padding:6px;border:1px solid #cfdbe1;border-radius:12px;background:#edf2f5;box-shadow:0 16px 42px rgba(0,18,27,.24)}
.fx-modal__body{width:100%;height:100%;overflow:hidden;border-radius:8px;background:#fff}
.fx-modal__close{position:absolute;top:-16px;right:-16px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:2px solid #fff;border-radius:50%;background:#009bb5;color:#fff;font:400 26px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 5px 16px rgba(0,18,27,.24)}
.fx-modal__close:hover,.fx-modal__close:focus-visible{background:#007f96;outline:3px solid rgba(0,155,181,.28);outline-offset:2px}
html.fx-modal-open,body.fx-modal-open{overflow:hidden}
@media(max-width:991.98px){
    .fx-preview{position:static;top:auto;height:auto}
    .fx-preview-frame-wrap{height:clamp(540px,72dvh,760px);min-height:0;max-height:760px}
    .fx-modal{padding:16px}
    .fx-modal__dialog{width:min(720px,calc(100vw - 32px));max-width:100%;height:calc(100dvh - 32px);max-height:900px;aspect-ratio:auto}
    .fx-modal__close{top:8px;right:8px}
}
@media(max-width:767.98px){
    .fx-main{padding-top:24px;padding-bottom:44px}
    .fx-card{padding:20px;border-radius:14px}
    .fx-grid,.fx-grid--3,.fx-checks,.fx-radio-row,.fx-credit-list,.fx-dependent .fx-checks{grid-template-columns:minmax(0,1fr)}
    .fx-span-2,.fx-credit-list>strong,.fx-credit-list>input{grid-column:1}
    .fx-preview-card{padding:10px;border-radius:14px}
    .fx-preview-frame-wrap{height:clamp(460px,70dvh,640px);min-height:0;max-height:640px}
    .fx-modal{align-items:stretch;padding:12px}
    .fx-modal__dialog{width:100%;max-width:100%;height:calc(100dvh - 24px);max-height:none;margin:auto;padding:4px;border-radius:10px}
    .fx-modal__close{top:8px;right:8px;width:38px;height:38px;font-size:24px}
}
@media(max-width:575.98px){
    .fx-container{width:calc(100% - 24px);padding:0}
    .fx-card{padding:16px}
    .fx-preview-card{padding:8px}
    .fx-preview-frame-wrap{height:clamp(420px,68dvh,560px);min-height:0;max-height:560px}
    .fx-original-preview,.fx-pdf-pages{padding:5px}
    .fx-pdf-pages--modal{padding:5px}
    .fx-original-page,.fx-pdf-page{margin-bottom:7px}
    .fx-original-page::after{font-size:clamp(22px,8vw,36px)}
}
@media(max-width:479.98px){
    .fx-preview-actions{grid-template-columns:minmax(0,1fr);max-width:100%}
    .fx-preview-button,.fx-submit{white-space:normal}
}
