/* CureAdvantage — Timely Filing Limits reference + deadline calculator (Batch 88).
   Page content is scoped to .tfl-page; the calculator is scoped to #tflc. Tokens match the ICD-10 and claim tools. */
.tfl-page{
  --tfl-navy:#001347; --tfl-navy2:#00287a; --tfl-ink:#16233d; --tfl-body:#1f2733; --tfl-grey:#55606e; --tfl-line:#e2e5e8; --tfl-line2:#d8dde6;
  --tfl-paper:#f5f6fa; --tfl-ok:#1f6f4f; --tfl-okbg:#eef5f1; --tfl-warn:#7a4f06; --tfl-warnbg:#fbf4e4; --tfl-bad:#a13d2e; --tfl-badbg:#f9eeea;
  --tfl-neu:#3f4a5a; --tfl-neubg:#f1f3f6; --tfl-shadow:0 1px 2px rgba(22,35,61,.06),0 8px 24px rgba(22,35,61,.08);
  max-width:780px; margin:0 auto; color:var(--tfl-body); font-family:Inter,Arial,Helvetica,sans-serif;
}
.tfl-page *,.tfl-page *::before,.tfl-page *::after{box-sizing:border-box}
.tfl-page > h1{font-size:clamp(2rem,1.35rem + 2.2vw,2.75rem);line-height:1.15;letter-spacing:-.015em;margin:0 0 .75rem;color:#0d0d0d}
.tfl-page > h1 + p{font-size:1.125rem;line-height:1.65;color:#3b4453;margin-top:.6rem}
.tfl-page > h2{font-size:clamp(1.5rem,1.2rem + 1vw,1.875rem);line-height:1.25;letter-spacing:-.01em;margin:2.75rem 0 .25rem;color:#0d0d0d}
.tfl-page > h3{font-size:1.1875rem;line-height:1.35;margin:1.75rem 0 .25rem;color:#0d0d0d}
.tfl-page > p,.tfl-page > ul,.tfl-page > ol{font-size:1.0625rem;line-height:1.7;margin:1rem 0 0}
.tfl-page > h2 + p,.tfl-page > h3 + p{margin-top:.6rem}
.tfl-page > ul,.tfl-page > ol{padding-left:1.35rem}
.tfl-page > ul > li,.tfl-page > ol > li{margin:.4rem 0}
.tfl-page > ul > li::marker,.tfl-page > ol > li::marker{color:#6b7482}
.tfl-page a{color:var(--tfl-navy);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.tfl-page a:hover{color:var(--tfl-navy2)}
.tfl-page a:focus-visible{outline:3px solid rgba(0,19,71,.4);outline-offset:2px;border-radius:2px}
.tfl-page .tfl-meta{font-size:.9375rem;color:var(--tfl-grey);margin-top:.75rem}

/* Key-fact tiles */
.tfl-page > ul.tfl-keyfacts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:1.1rem}
.tfl-page > ul.tfl-keyfacts > li{margin:0;background:#fff;border:1px solid var(--tfl-line);border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px rgba(22,35,61,.05);font-size:.9375rem;line-height:1.5}
.tfl-page > ul.tfl-keyfacts > li strong{display:block;font-family:Poppins,Inter,Arial,sans-serif;font-size:1.25rem;line-height:1.25;color:var(--tfl-navy);margin-bottom:4px}

/* Plain fact cards (Medicare, federal programs, payers) */
.tfl-page > ul.tfl-cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tfl-page > ul.tfl-cards > li{margin:0;background:#fff;border:1px solid var(--tfl-line);border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px rgba(22,35,61,.05);font-size:.9844rem;line-height:1.6}
.tfl-page > ul.tfl-cards > li > strong:first-child{display:block;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:var(--tfl-navy);margin-bottom:6px}

/* State filter (built by JS) */
.tfl-page .tfl-filter{margin:1.25rem 0 0;padding:14px 16px;background:var(--tfl-paper);border:1px solid var(--tfl-line);border-radius:12px}
.tfl-page .tfl-filter label{display:block;font-size:.875rem;font-weight:600;color:var(--tfl-ink);margin:0 0 6px}
.tfl-page .tfl-filter input{display:block;width:100%;height:48px;padding:0 14px;font:inherit;font-size:1rem;color:var(--tfl-ink);background:#fff;border:1.5px solid var(--tfl-line2);border-radius:10px;-webkit-appearance:none;appearance:none}
.tfl-page .tfl-filter input:focus{outline:3px solid rgba(0,19,71,.35);outline-offset:1px;border-color:var(--tfl-navy)}
.tfl-page .tfl-filter p{font-size:.875rem;color:var(--tfl-grey);margin:8px 0 0}

/* State rule list */
.tfl-page > ul.tfl-states{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:1rem}
.tfl-page > ul.tfl-states > li{margin:0;background:#fff;border:1px solid var(--tfl-line);border-left:3px solid var(--tfl-navy);border-radius:10px;padding:14px 16px;font-size:.9531rem;line-height:1.55;scroll-margin-top:96px}
.tfl-page > ul.tfl-states > li.tfl-unverified{border-left-color:#9aa3b1;background:#fbfbfc}
.tfl-page > ul.tfl-states > li[hidden]{display:none}
.tfl-page .tfl-states h3{font-size:1.0625rem;line-height:1.3;margin:0;color:#0d0d0d}
.tfl-page .tfl-states p.tfl-limit{font-family:Poppins,Inter,Arial,sans-serif;font-weight:600;font-size:1rem;line-height:1.35;color:var(--tfl-navy);margin:4px 0 8px}
.tfl-page .tfl-states .tfl-unverified p.tfl-limit{color:var(--tfl-grey)}
.tfl-page .tfl-states p{margin:0 0 6px}
.tfl-page .tfl-states p.tfl-src{font-size:.8438rem;line-height:1.5;color:var(--tfl-grey);margin:8px 0 0}
.tfl-page .tfl-states p.tfl-src a{font-weight:500}
.tfl-page .tfl-empty{margin:1rem 0 0;padding:14px 16px;border:1px dashed var(--tfl-line2);border-radius:10px;background:var(--tfl-paper);color:var(--tfl-grey);font-size:.9375rem}

/* Callout */
.tfl-page > p.tfl-note{background:var(--tfl-warnbg);border:1px solid #ecdcb6;border-left:4px solid var(--tfl-warn);border-radius:10px;padding:12px 16px;font-size:.9844rem;line-height:1.6}

/* ---------- Calculator ---------- */
#tflc{margin:2rem 0 .5rem;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--tfl-ink);line-height:1.5}
#tflc:not(.tflc-ready){min-height:22rem;background:#fff;border:1px solid var(--tfl-line);border-radius:14px;padding:1.25rem;box-shadow:var(--tfl-shadow);font-size:.9375rem;color:var(--tfl-grey)}
#tflc .tflc-tool{background:#fff;border:1px solid var(--tfl-line);border-radius:14px;box-shadow:var(--tfl-shadow);overflow:hidden}
#tflc .tflc-head{display:flex;align-items:flex-start;gap:14px;background:var(--tfl-navy);color:#fff;padding:22px 28px 20px}
#tflc .tflc-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.12);color:#fff}
#tflc .tflc-head-text{flex:1 1 auto;min-width:0}
#tflc .tflc-head h2{font-family:Poppins,Inter,Arial,sans-serif;font-size:1.25rem;line-height:1.3;font-weight:600;letter-spacing:-.01em;color:#fff;margin:0 0 4px}
#tflc .tflc-head p{font-size:.875rem;line-height:1.5;color:rgba(255,255,255,.76);margin:0}
#tflc .tflc-free{flex:0 0 auto;align-self:center;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:4px 11px;white-space:nowrap}
#tflc form{padding:22px 28px 6px;margin:0}
#tflc .tflc-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px}
#tflc .tflc-field{display:flex;flex-direction:column;min-width:0}
#tflc label{font-size:.875rem;font-weight:600;color:var(--tfl-ink);margin:0 0 7px}
#tflc select,#tflc input{display:block;width:100%;height:48px;margin:0;padding:0 14px;font-family:inherit;font-size:1rem;line-height:1.2;color:var(--tfl-ink);background:#fff;border:1.5px solid var(--tfl-line2);border-radius:10px;-webkit-appearance:none;appearance:none}
#tflc select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2355606e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
#tflc select:focus,#tflc input:focus{outline:3px solid rgba(0,19,71,.35);outline-offset:1px;border-color:var(--tfl-navy)}
#tflc input[aria-invalid="true"],#tflc select[aria-invalid="true"]{border-color:var(--tfl-bad)}
#tflc .tflc-hint{font-size:.8125rem;line-height:1.45;color:var(--tfl-grey);margin:6px 0 0}
#tflc .tflc-err{font-size:.8125rem;line-height:1.45;color:var(--tfl-bad);font-weight:600;margin:6px 0 0}
#tflc .tflc-err:empty{display:none}
#tflc .tflc-custom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px;padding:14px;border:1px dashed var(--tfl-line2);border-radius:10px;background:var(--tfl-paper)}
#tflc .tflc-custom[hidden]{display:none}
#tflc .tflc-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:18px 0 0;padding:12px 18px;font-family:inherit;font-size:1rem;font-weight:600;color:#fff;background:var(--tfl-navy);border:0;border-radius:10px;cursor:pointer}
#tflc .tflc-btn:hover{background:var(--tfl-navy2)}
#tflc .tflc-btn:focus-visible{outline:3px solid rgba(0,19,71,.45);outline-offset:2px}
#tflc .tflc-result{padding:0 28px 22px}
#tflc .tflc-result:empty{padding-bottom:10px}
#tflc .tflc-card{margin-top:18px;border:1px solid var(--tfl-line);border-radius:12px;overflow:hidden}
#tflc .tflc-status{display:flex;align-items:center;gap:10px;padding:14px 16px;font-weight:600}
#tflc .tflc-status svg{flex:0 0 auto}
#tflc .tflc-status h3{font-size:1rem;line-height:1.35;margin:0;color:inherit}
#tflc .is-ok .tflc-status{background:var(--tfl-okbg);color:var(--tfl-ok)}
#tflc .is-soon .tflc-status{background:var(--tfl-warnbg);color:var(--tfl-warn)}
#tflc .is-past .tflc-status{background:var(--tfl-badbg);color:var(--tfl-bad)}
#tflc .tflc-body{padding:16px}
#tflc .tflc-date{font-family:Poppins,Inter,Arial,sans-serif;font-size:1.5rem;line-height:1.25;font-weight:600;color:var(--tfl-navy);margin:0}
#tflc .tflc-sub{font-size:.9375rem;color:var(--tfl-grey);margin:4px 0 0}
#tflc dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px;margin:16px 0 0}
#tflc dl div{min-width:0}
#tflc dt{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tfl-grey);font-weight:600;margin:0}
#tflc dd{font-size:.9531rem;line-height:1.5;color:var(--tfl-ink);margin:2px 0 0}
#tflc .tflc-notes{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--tfl-line)}
#tflc .tflc-notes li{position:relative;padding-left:1.1rem;font-size:.875rem;line-height:1.55;color:var(--tfl-neu);margin:.3rem 0}
#tflc .tflc-notes li::before{content:"";position:absolute;left:.15rem;top:.62em;width:.4rem;height:.4rem;border-radius:50%;background:#9aa3b1}
#tflc .tflc-notes a{color:var(--tfl-navy);font-weight:500}
#tflc .tflc-foot{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between;border-top:1px solid var(--tfl-line);background:var(--tfl-paper);padding:14px 28px;font-size:.8125rem;line-height:1.5;color:var(--tfl-grey)}
#tflc .tflc-sr{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){
  .tfl-page > ul.tfl-keyfacts,.tfl-page > ul.tfl-cards,.tfl-page > ul.tfl-states{grid-template-columns:1fr}
  #tflc .tflc-head{padding:18px 18px 16px;gap:12px}
  #tflc .tflc-head h2{font-size:1.125rem}
  #tflc .tflc-free{align-self:flex-start}
  #tflc form{padding:18px 18px 4px}
  #tflc .tflc-grid,#tflc .tflc-custom,#tflc dl{grid-template-columns:1fr}
  #tflc .tflc-result{padding:0 18px 18px}
  #tflc .tflc-foot{padding:12px 18px}
  #tflc .tflc-date{font-size:1.3125rem}
}
@media (prefers-reduced-motion:reduce){#tflc *,.tfl-page *{transition:none !important;scroll-behavior:auto !important}}
