.paycheck-view{max-width:1260px;margin:0 auto;width:100%}.paycheck-title-row{align-items:center}.tax-year-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:9px 14px;border-radius:999px;background:#e8f7ef;color:#087353;font-size:13px;font-weight:800;border:1px solid #bce8cf}.paycheck-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:22px;align-items:start}.paycheck-form,.paycheck-results{display:grid;gap:18px}.paycheck-results{position:sticky;top:20px}.paycheck-card,.takehome-card,.overtime-card,.state-bracket-card,.pay-breakdown-card,.pay-annual-card,.estimate-notice{background:var(--card,#fff);border:1px solid #dce3f2;border-radius:20px;box-shadow:0 10px 28px rgba(31,52,105,.06)}.paycheck-card{padding:22px}.paycheck-card-heading{display:flex;gap:12px;align-items:center;margin-bottom:18px}.paycheck-card-heading>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#edf1ff;color:#334ab7;font-weight:800}.paycheck-card h3,.paycheck-card p,.pay-breakdown-card h3,.pay-annual-card h3{margin:0}.paycheck-card-heading p{color:#68738b;margin-top:3px;font-size:13px}.pay-mode-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#f1f4fa;border-radius:12px;margin-bottom:18px}.pay-mode-switch button{border:0;background:transparent;border-radius:9px;padding:11px;font-weight:750;color:#68738b}.pay-mode-switch button.active{background:#fff;color:#263b9c;box-shadow:0 3px 10px rgba(32,51,105,.1)}.pay-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pay-field-grid label{display:flex;flex-direction:column;gap:7px;color:#526079;font-size:12px;font-weight:800;letter-spacing:.02em}.pay-field-grid input,.pay-field-grid select{width:100%;box-sizing:border-box;min-height:45px;padding:10px 12px;border:1px solid #ccd5e8;border-radius:11px;background:#fff;color:#182038;font:600 15px/1.2 'DM Sans',sans-serif}.pay-field-grid input:focus,.pay-field-grid select:focus{outline:3px solid rgba(66,94,224,.15);border-color:#6175d8}.pay-field-grid label small{font-weight:500;line-height:1.35;color:#7c879c;letter-spacing:0}.pay-field-grid .pay-check{grid-column:1/-1;flex-direction:row;align-items:center;padding:12px;border-radius:11px;background:#f7f9fd;font-size:13px}.pay-check input{width:18px;min-height:18px}.salary-note{margin:14px 0 0!important;padding:12px 14px;border-radius:10px;background:#fff8e8;color:#7b5a13;font-size:12px;line-height:1.45}.paycheck-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.paycheck-actions button{min-height:43px;padding:0 16px;border-radius:11px;border:1px solid #cbd5e9;background:#fff;color:#334ab7;font-weight:800}.paycheck-actions button.primary{background:#3f55c9;color:#fff;border-color:#3f55c9}.takehome-card{padding:26px;background:linear-gradient(145deg,#263b9c,#4058cf);color:#fff;border:0}.takehome-card .section-kicker{color:#dce3ff}.takehome-card>strong{display:block;font-family:Manrope,sans-serif;font-size:42px;margin:8px 0 1px;letter-spacing:-.04em}.takehome-card p{margin:0;color:#e2e7ff}.takehome-meter{height:8px;border-radius:99px;background:rgba(255,255,255,.2);margin:22px 0 9px;overflow:hidden}.takehome-meter i{display:block;height:100%;border-radius:inherit;background:#8ee0b5;transition:width .2s}.takehome-card small{color:#dce3ff}.overtime-card{display:flex;justify-content:space-between;gap:16px;padding:20px;background:#effaf5;border-color:#bde8d1}.overtime-card h3{margin:5px 0;color:#087353;font-size:24px}.overtime-card p{margin:0;color:#557064;font-size:13px;line-height:1.45}.ot-icon{display:grid;place-items:center;min-width:46px;height:46px;border-radius:14px;background:#087353;color:#fff;font-size:22px}.pay-breakdown-card,.pay-annual-card{padding:20px}.pay-breakdown-card header,.pay-annual-card header{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid #e6eaf3}.pay-breakdown-card header span,.pay-annual-card header span{font-size:12px;color:#6f7a91}.pay-breakdown-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #eef1f7;color:#5f6b81;font-size:13px}.pay-breakdown-row:last-child{border:0}.pay-breakdown-row span{min-width:0}.pay-breakdown-row strong{color:#24304a;white-space:nowrap;flex-shrink:0}.pay-breakdown-row.positive strong,.pay-breakdown-row.total strong{color:#087353}.pay-breakdown-row.total{margin-top:4px;padding:13px 0 4px;font-size:14px;font-weight:800}.estimate-notice{padding:18px;background:#fffaf0;border-color:#ead9ae}.estimate-notice strong{color:#6e5110}.estimate-notice p{margin:6px 0 12px;font-size:12px;line-height:1.5;color:#76684a}.estimate-notice div{display:flex;flex-wrap:wrap;gap:12px}.estimate-notice a{color:#344aad;font-size:12px;font-weight:800;text-decoration:none}.estimate-notice a:hover{text-decoration:underline}
.state-bracket-card{padding:20px}.state-bracket-card h3{margin:5px 0;color:#263b9c;font-size:20px}.state-bracket-card p{margin:0;color:#667188;font-size:13px;line-height:1.5}.dependent-note:empty{display:none}
@media(max-width:980px){.paycheck-layout{grid-template-columns:1fr}.paycheck-results{position:static;grid-template-columns:1fr 1fr}.takehome-card,.pay-estimate-warning,.overtime-card,.state-bracket-card,.estimate-notice{grid-column:1/-1}}
@media(max-width:640px){.paycheck-title-row{align-items:flex-start}.tax-year-badge{margin-top:4px}.pay-field-grid,.paycheck-results{grid-template-columns:1fr}.paycheck-card{padding:18px}.takehome-card>strong{font-size:36px}.paycheck-actions{flex-direction:column}.paycheck-actions button{width:100%}}
.pay-seg-field{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;color:#526079;font-size:12px;font-weight:800;letter-spacing:.02em}
.pay-401k-type{margin:0}
.pay-401k-type button{min-height:44px;padding:10px 8px;line-height:1.2}
.pay-affix-field{display:flex;align-items:center;gap:8px}
.pay-affix-field input{flex:1;min-width:0}
.pay-affix-field>span{min-width:1.2em;color:#526079;font-weight:800}
.pay-help,.pay-retirement-grid .pay-help{grid-column:1/-1;margin:0;color:#68738b;font-size:12px;font-weight:500;line-height:1.4}
.pay-match-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pay-match-fields[hidden]{display:none}
.pay-field-error{display:block;margin-top:4px;color:#9b1d2e;font-size:12px;font-weight:700;line-height:1.35}
.pay-field-error[hidden]{display:none}
.pay-retirement-banner{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#fdecee}
.pay-estimate-warning{margin:0;padding:12px 14px;border-radius:12px;background:#fdecee;color:#9b1d2e;font-size:13px;font-weight:700;line-height:1.4}
.pay-estimate-warning[hidden]{display:none}
.pay-touch{min-height:44px}
.pay-outside-math,.pay-ytd-outside{margin-top:8px;padding:12px 12px 4px;border:1px dashed #c9d3ea;border-radius:12px;background:#f7f9fd}
.pay-outside-math .pay-breakdown-row:last-child,.pay-ytd-outside .pay-breakdown-row:last-child{border:0}
.pay-outside-math .pay-breakdown-row,
.pay-outside-math .pay-breakdown-row.positive,
.pay-outside-math .pay-breakdown-row.total{margin-top:0;padding:10px 0;font-size:13px;font-weight:400}
.pay-outside-math .pay-breakdown-row strong,
.pay-outside-math .pay-breakdown-row.positive strong,
.pay-outside-math .pay-breakdown-row.total strong{color:#24304a;font-weight:400}
.pay-ytd-included{padding-left:18px;margin-left:2px;border-left:2px solid #d5dced;color:#7c879c;font-size:12px}
.pay-ytd-included strong{color:#7c879c;font-weight:650}
.paycheck-view .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){
  .pay-401k-type button,.pay-retirement-grid input,.pay-retirement-grid .pay-check,.paycheck-actions button{min-height:44px}
  .pay-match-fields{grid-template-columns:1fr}
  .pay-retirement-card{min-width:0}
  .pay-retirement-card{padding-bottom:88px}
}
body[data-theme="midnight"] .paycheck-card,
body[data-theme="midnight"] .pay-breakdown-card,
body[data-theme="midnight"] .pay-annual-card,
body[data-theme="midnight"] .state-bracket-card,
body[data-theme="midnight"] .overtime-card,
body[data-theme="midnight"] .estimate-notice{
  background:var(--card,#12172a);
  border-color:var(--line,#29314d);
  color:var(--ink,#f1f3ff);
  box-shadow:0 12px 28px rgba(0,0,0,.28);
}
body[data-theme="midnight"] .paycheck-card-heading>span{background:#2a2452;color:#d7ccff}
body[data-theme="midnight"] .paycheck-card-heading p,
body[data-theme="midnight"] .pay-help,
body[data-theme="midnight"] .pay-seg-field,
body[data-theme="midnight"] .pay-field-grid label,
body[data-theme="midnight"] .pay-affix-field>span,
body[data-theme="midnight"] .pay-breakdown-row,
body[data-theme="midnight"] .pay-breakdown-card header span,
body[data-theme="midnight"] .pay-annual-card header span,
body[data-theme="midnight"] .state-bracket-card p{color:var(--muted,#aeb5d0)}
body[data-theme="midnight"] .paycheck-card h3,
body[data-theme="midnight"] .pay-breakdown-card h3,
body[data-theme="midnight"] .pay-annual-card h3,
body[data-theme="midnight"] .state-bracket-card h3,
body[data-theme="midnight"] .pay-breakdown-row strong{color:var(--ink,#f1f3ff)}
body[data-theme="midnight"] .pay-mode-switch{background:#171e34}
body[data-theme="midnight"] .pay-mode-switch button{color:#aeb5d0}
body[data-theme="midnight"] .pay-mode-switch button.active{background:#2a2452;color:#f1f3ff;box-shadow:none}
body[data-theme="midnight"] .pay-field-grid input,
body[data-theme="midnight"] .pay-field-grid select{
  background:#171e34;
  color:#f1f3ff;
  border-color:#39446b;
}
body[data-theme="midnight"] .pay-field-grid label small{color:#8b94b3}
body[data-theme="midnight"] .pay-field-grid .pay-check,
body[data-theme="midnight"] .pay-outside-math,
body[data-theme="midnight"] .pay-ytd-outside{background:#171e34;border-color:#39446b}
body[data-theme="midnight"] .pay-field-error{color:#ff8da1}
body[data-theme="midnight"] .pay-retirement-banner{background:#3a1824;color:#ffc1cc}
body[data-theme="midnight"] .pay-estimate-warning{background:#3a1824;color:#ffc1cc}
body[data-theme="midnight"] .salary-note{background:#3a2d12;color:#f0d089}
body[data-theme="midnight"] .pay-breakdown-row{border-bottom-color:#29314d}
body[data-theme="midnight"] .pay-breakdown-card header,
body[data-theme="midnight"] .pay-annual-card header{border-bottom-color:#29314d}
body[data-theme="midnight"] .pay-breakdown-row.positive strong,
body[data-theme="midnight"] .pay-breakdown-row.total strong{color:#53f0d0}
body[data-theme="midnight"] .pay-outside-math .pay-breakdown-row strong,
body[data-theme="midnight"] .pay-outside-math .pay-breakdown-row.positive strong,
body[data-theme="midnight"] .pay-outside-math .pay-breakdown-row.total strong{color:var(--ink,#f1f3ff);font-weight:400}
body[data-theme="midnight"] .pay-ytd-included{border-left-color:#39446b;color:#8b94b3}
body[data-theme="midnight"] .pay-ytd-included strong{color:#8b94b3}
body[data-theme="midnight"] .overtime-card{background:#12261f;border-color:#1f4a3b}
body[data-theme="midnight"] .overtime-card h3{color:#53f0d0}
body[data-theme="midnight"] .overtime-card p{color:#9fd4c2}
body[data-theme="midnight"] .estimate-notice{background:#2c2412;border-color:#5a4a24}
body[data-theme="midnight"] .estimate-notice strong{color:#f0d089}
body[data-theme="midnight"] .estimate-notice p{color:#d4c39a}
body[data-theme="midnight"] .estimate-notice a{color:#9ec0ff}
body[data-theme="midnight"] .paycheck-actions button{background:#171e34;color:#d7ccff;border-color:#39446b}
body[data-theme="midnight"] .paycheck-actions button.primary{background:#6d45d7;color:#fff;border-color:#6d45d7}
