.weeklypay-page { color:#172333; }
.weeklypay-page * { box-sizing:border-box; }
.weeklypay-page [hidden] { display:none!important; }
.weeklypay-heading { margin-bottom:16px; }
.weeklypay-heading h1 { font-size:34px; line-height:1.3; }
.weeklypay-heading > p { font-size:15px; color:#506478; }
.weeklypay-disclaimer { margin:0 0 18px; padding:12px 14px; border-left:3px solid #087f6d; background:#eef7f4; color:#365d60; font-size:13px; line-height:1.65; }
.weeklypay-calculator,.weeklypay-guide { border:0; border-radius:0; box-shadow:none; overflow:visible; }
.weeklypay-calculator { border-top:1px solid #d9e3e9; }
.weeklypay-intro { grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px 0; gap:18px; background:transparent; }
.weeklypay-intro > div { padding:0; border:0; border-radius:0; background:transparent; }
.weeklypay-intro strong { font-size:18px; color:#173c40; }
.weeklypay-intro p { margin-top:3px; font-size:12px; }
.weeklypay-form { display:block; padding:0; }
.weeklypay-panel { padding:20px 0; }
.weeklypay-panel-head h2,.weeklypay-guide h2,.weeklypay-comparison h2,.weeklypay-related h2 { color:#172b3b; font-size:22px; }
.weeklypay-panel-head p { font-size:13px; }
.weeklypay-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.weeklypay-top-fields { grid-template-columns:minmax(0,1fr); max-width:360px; }
.weeklypay-grid label { display:block; font-size:13px; color:#294252; }
.weeklypay-grid input,.weeklypay-grid select { display:block; width:100%; min-width:0; height:44px; margin:6px 0 0; padding:7px 10px; border:1px solid #cbd9e2; border-radius:5px; background:#fff; color:#172333; font-size:15px; font-weight:650; box-shadow:none; }
.weeklypay-grid small { display:block; margin-top:5px; font-size:11px; }
.weeklypay-presets { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 18px; }
.weeklypay-page .weeklypay-presets button { min-height:34px; margin:0; padding:5px 9px; border:1px solid #cbd9e2; border-radius:5px; background:#fff; color:#36556b; font-size:11px; font-weight:750; box-shadow:none; }
.weeklypay-page .weeklypay-presets button:hover { border-color:#86b8aa; background:#f0f8f5; }
.weeklypay-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:16px 0 18px; border:1px solid #cbd9e2; border-radius:5px; overflow:hidden; }
.weeklypay-page .weeklypay-modes button { width:100%; min-width:0; min-height:43px; margin:0; padding:6px; border:0; border-right:1px solid #dce5ea; border-radius:0; background:#fff; color:#466073; font-size:12px; font-weight:800; box-shadow:none; }
.weeklypay-page .weeklypay-modes button:last-child { border-right:0; }
.weeklypay-page .weeklypay-modes button[aria-checked=true] { background:#e9f5f0; color:#08745f; }
.weeklypay-week-grid { margin-top:16px; }
.weeklypay-hint,.weeklypay-checks small { display:block; margin:8px 0; color:#63798a; font-size:11px; line-height:1.55; }
.weeklypay-checks { gap:0; margin-top:18px; }
.weeklypay-checks label { padding:11px 0; border:0; border-bottom:1px solid #e3eaee; border-radius:0; background:transparent; font-size:13px; }
.weeklypay-checks input { width:17px; height:17px; margin:0; }
.weeklypay-advanced { margin-top:12px; border-top:1px solid #dce5ea; }
.weeklypay-advanced summary { padding:14px 0; color:#294b57; font-size:13px; font-weight:800; cursor:pointer; }
.weeklypay-advanced .weeklypay-grid { margin:2px 0 12px; }
.weeklypay-actions { margin-top:17px; }
.weeklypay-page .weeklypay-actions button { min-height:43px; padding:7px 14px; border:1px solid #087f6d; border-radius:5px; background:#087f6d; font-size:12px; }
.weeklypay-page .weeklypay-actions button + button { border-color:#cbd9e2; background:#fff; color:#365465; }
.weeklypay-status { margin:7px 0 0; min-height:18px; color:#ae503b; font-size:12px; }
.weeklypay-result { margin-top:0; padding:20px 0; border:0; border-top:1px solid #d9e3e9; border-radius:0; background:#fff; }
.weeklypay-state { padding:17px; border:1px solid #c7dfd6; border-radius:6px; background:#eef7f3; }
.weeklypay-state > strong { font-size:32px; color:#123c40; }
.weeklypay-state p { font-size:13px; color:#385d60; }
.weeklypay-state p b { color:#086a59; }
.weeklypay-state p b[data-eligible=false] { color:#a44338; }
.weeklypay-state p span { display:inline; color:inherit; font-size:13px; font-weight:400; }
.weeklypay-results-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:19px; }
.weeklypay-results-split > section { margin:0; }
.weeklypay-results-split h3 { margin:0 0 8px; font-size:17px; color:#172b3b; }
.weeklypay-results-split dl { margin:0; }
.weeklypay-results-split dl div { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid #e1e8ed; }
.weeklypay-results-split dt { color:#627688; font-size:11px; line-height:1.5; }
.weeklypay-results-split dd { margin:0; color:#253f4e; font-size:12px; font-weight:800; text-align:right; line-height:1.5; }
.weeklypay-results-split .weeklypay-total dd { color:#08745f; font-size:16px; }
.weeklypay-effective { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:5px 12px; margin-top:18px; padding:12px 0; border-bottom:1px solid #e1e8ed; }
.weeklypay-effective span { font-size:13px; }
.weeklypay-effective strong { color:#173c40; font-size:18px; }
.weeklypay-effective small { flex-basis:100%; color:#627688; font-size:11px; }
.weeklypay-calculation { padding:14px 0; border-bottom:1px solid #e1e8ed; }
.weeklypay-calculation summary { color:#25495a; font-size:14px; font-weight:800; cursor:pointer; }
.weeklypay-calculation p,.weeklypay-result-note { margin:9px 0 0; color:#627688; font-size:12px; line-height:1.65; overflow-wrap:anywhere; }
.weeklypay-comparison { margin-top:20px; padding-top:20px; border-top:1px solid #d9e3e9; }
.weeklypay-comparison h2 { margin:0 0 5px; }
.weeklypay-comparison p { margin:0 0 12px; color:#627688; font-size:12px; }
.weeklypay-table-wrap { max-width:100%; overflow-x:auto; }
.weeklypay-comparison table { width:100%; margin:0; border-collapse:collapse; font-size:12px; }
.weeklypay-comparison th,.weeklypay-comparison td { padding:9px 7px; border-bottom:1px solid #e1e8ed; text-align:right; white-space:nowrap; }
.weeklypay-comparison th:first-child,.weeklypay-comparison td:first-child { text-align:left; }
.weeklypay-comparison th { background:#f2f7f7; color:#25495a; }
.weeklypay-guide { margin-top:28px; padding:0; border-top:1px solid #d9e3e9; }
.weeklypay-guide h2 { margin:26px 0 8px; line-height:1.35; }
.weeklypay-guide p { margin:0; color:#526578; font-size:13px; line-height:1.75; }
.weeklypay-faq { margin-top:26px; border-top:1px solid #d9e3e9; }
.weeklypay-faq details { padding:12px 0; border-bottom:1px solid #e1e8ed; }
.weeklypay-faq summary { color:#284959; font-size:13px; font-weight:800; cursor:pointer; }
.weeklypay-faq details p { margin-top:8px; }
.weeklypay-reference { margin-top:26px; padding:15px; border:1px solid #c7dfd6; border-radius:5px; background:#f1f8f5; }
.weeklypay-reference h2 { margin:0 0 8px; font-size:18px; }
.weeklypay-reference p + p { margin-top:8px; }
.weeklypay-reference a { color:#08745f; }
.weeklypay-related { margin-top:25px; padding-top:5px; border-top:1px solid #d9e3e9; }
.weeklypay-related h2 { margin:19px 0 13px; font-size:21px; }
.weeklypay-related > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.weeklypay-related a { padding:11px; border:1px solid #d5e0e8; border-radius:5px; color:#2b4b5c; font-size:13px; font-weight:700; text-decoration:none; }
.weeklypay-page input:focus-visible,.weeklypay-page select:focus-visible,.weeklypay-page button:focus-visible,.weeklypay-page summary:focus-visible,.weeklypay-page a:focus-visible { outline:3px solid #1783aa; outline-offset:2px; }
@media(max-width:760px) { body.weekly-holiday-page .modern-sidebar .modern-sidebar-toggle { position:static!important; width:100%!important; min-width:0!important; } }
@media(max-width:640px) {
  .weeklypay-heading { margin-bottom:12px; }
  .weeklypay-heading h1 { margin-bottom:8px; font-size:27px; }
  .weeklypay-heading > p { font-size:13px; line-height:1.5; }
  .weeklypay-disclaimer { margin-bottom:13px; padding:9px 11px; font-size:11px; line-height:1.5; }
  .weeklypay-intro { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:11px 0; }
  .weeklypay-intro span { font-size:10px; }
  .weeklypay-intro strong { font-size:14px; line-height:1.35; }
  .weeklypay-intro p { display:none; }
  .weeklypay-panel { padding:13px 0; }
  .weeklypay-grid,.weeklypay-results-split,.weeklypay-related > div { grid-template-columns:1fr; }
  .weeklypay-week-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .weeklypay-result { padding:17px 0; }
  .weeklypay-actions button { width:100%; }
}
@media(max-width:350px) { .weeklypay-week-grid { grid-template-columns:1fr; } .weeklypay-modes button { font-size:11px; } }
