/* ==========================================================================
   CalendarCA theme (en-CA). Atkinson Hyperlegible, deep navy #0b3c5d,
   "observed" green #e2efe9. Dark full-width top block with centred wordmark,
   centred menu and province chips; white body, ruled lists, square corners.
   ========================================================================== */
:root {
  --font: "Atkinson Hyperlegible", "Segoe UI", Arial, sans-serif;
  --navy: #0b3c5d; --navy-2: #134e75; --navy-ink: #072b43;
  --obs: #e2efe9; --obs-line: #b9d6c8; --obs-ink: #24563f;
  --ink: #1b2732; --ink-soft: #3b4853; --muted: #5d6a75;
  --line: #d5dde4; --line-2: #e8edf1; --wash: #f3f6f8;
  --bg: #ffffff; --surface: #ffffff;
  --brand: #0b3c5d; --brand-600: #0b3c5d; --accent: #0b3c5d;
  --ring: 0 0 0 3px rgba(11, 60, 93, .35);
  --radius: 3px; --radius-pill: 3px;
}
body { font-family: var(--font); font-size: 17px; line-height: 1.5; color: var(--ink); background: #fff; }
a { color: var(--navy); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { text-decoration-thickness: 2px; }
h1, h2, h3 { letter-spacing: 0; color: var(--navy-ink); }
.main { padding: 22px 0 48px; }
:focus-visible { box-shadow: var(--ring); border-radius: 2px; }

.cca-wrap { max-width: 1040px; margin: 0 auto; padding: 0 20px; }
.cca-wrap h1 { font-size: 1.75rem; line-height: 1.2; margin: 0 0 8px; }
.cca-wrap h2 { font-size: 1.25rem; margin: 30px 0 10px; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.cca-wrap h3 { font-size: 1.05rem; margin: 20px 0 6px; }
.cca-sub { color: var(--muted); margin: 0 0 16px; }
.cca-upd { font-size: .92rem; color: var(--obs-ink); background: var(--obs); border-left: 3px solid var(--obs-ink); padding: 6px 10px; margin: 12px 0; }
.cca-more { margin: 10px 0 0; }
.cca-more a { font-weight: 700; }
.cca-crumbs { font-size: .88rem; color: var(--muted); margin: 0 0 12px; }
.cca-crumbs a { color: var(--muted); }
.cca-fr { font-size: .82em; color: var(--muted); font-style: italic; font-weight: 400; }
.cca-sw { font-style: normal; font-size: .82em; color: var(--muted); border: 1px solid var(--line); padding: 0 4px; border-radius: 2px; white-space: nowrap; }
.cca-ynav { display: flex; gap: 18px; flex-wrap: wrap; margin: 18px 0; font-weight: 700; }
.cca-note { font-size: .9rem; color: var(--muted); }

/* -- Header: dark block, centred ------------------------------------------- */
.cca-top { background: var(--navy); color: #fff; }
.cca-top__in { max-width: 1040px; margin: 0 auto; padding: 16px 20px 12px; text-align: center; position: relative; }
.cca-logo { display: inline-block; color: #fff; text-decoration: none; font-size: 1.7rem; font-weight: 400; letter-spacing: .01em; line-height: 1.1; }
.cca-logo b { font-weight: 700; color: var(--obs); }
.cca-logo:hover { text-decoration: none; color: #fff; }
.cca-menu { display: none; }
.cca-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 2px 22px; margin: 8px 0 0; font-size: .95rem; }
.cca-nav a { color: #d8e4ee; text-decoration: none; padding: 3px 0; border-bottom: 2px solid transparent; }
.cca-nav a:hover { color: #fff; border-bottom-color: rgba(255,255,255,.5); }
.cca-nav a.cca-nav--on { color: #fff; border-bottom-color: var(--obs); }
.cca-chips { display: flex; justify-content: center; align-items: center; gap: 4px; margin: 12px 0 0; flex-wrap: wrap; }
.cca-chips__l { font-size: .85rem; color: #b9cde0; margin-right: 4px; }
.cca-chip { display: inline-block; min-width: 38px; padding: 3px 6px; font-size: .86rem; font-weight: 700; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.42); border-radius: 3px; }
.cca-chip:hover { border-color: #fff; text-decoration: none; }
.cca-chip.cca-chip--on { background: #fff; color: var(--navy); border-color: #fff; }
.cca-upd--top { background: transparent; color: #d8e4ee; border: 0; }

/* -- Footer ----------------------------------------------------------------- */
.cca-foot { border-top: 4px solid var(--navy); background: var(--wash); margin-top: 20px; font-size: .92rem; }
.cca-foot__in { max-width: 1040px; margin: 0 auto; padding: 24px 20px 6px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.cca-foot h2 { font-size: .98rem; margin: 0 0 8px; color: var(--navy-ink); }
.cca-foot a { display: block; padding: 2px 0; color: var(--ink-soft); text-decoration: none; }
.cca-foot a:hover { text-decoration: underline; color: var(--navy); }
.cca-foot__prov { max-width: 1040px; margin: 10px auto 0; padding: 10px 20px 0; border-top: 1px solid var(--line); line-height: 1.9; }
.cca-foot__prov a { display: inline; }
.cca-foot__src { max-width: 1040px; margin: 0 auto; padding: 8px 20px 24px; color: var(--muted); font-size: .85rem; }

/* -- Province codes inside rows: your province stands out ---------------- */
.cca-c { text-decoration: none; font-size: .84em; font-weight: 700; color: var(--navy); padding: 0 2px; border-radius: 2px; cursor: help; }
.cca-pv[data-prov="ON"] .cca-c[data-c="ON"], .cca-pv[data-prov="QC"] .cca-c[data-c="QC"], .cca-pv[data-prov="BC"] .cca-c[data-c="BC"],
.cca-pv[data-prov="AB"] .cca-c[data-c="AB"], .cca-pv[data-prov="MB"] .cca-c[data-c="MB"], .cca-pv[data-prov="SK"] .cca-c[data-c="SK"],
.cca-pv[data-prov="NS"] .cca-c[data-c="NS"], .cca-pv[data-prov="NB"] .cca-c[data-c="NB"], .cca-pv[data-prov="NL"] .cca-c[data-c="NL"],
.cca-pv[data-prov="PE"] .cca-c[data-c="PE"], .cca-pv[data-prov="YT"] .cca-c[data-c="YT"], .cca-pv[data-prov="NT"] .cca-c[data-c="NT"],
.cca-pv[data-prov="NU"] .cca-c[data-c="NU"] { background: var(--navy); color: #fff; }

/* -- Home ------------------------------------------------------------------- */
.cca-home__h1 { font-size: 1.2rem !important; font-weight: 700; color: var(--ink-soft) !important; margin: 0 0 2px !important; }
.cca-home__today { color: var(--muted); font-size: .92rem; margin: 0 0 16px; }
.cca-next { font-size: 1.6rem; line-height: 1.25; margin: 0; color: var(--navy-ink); }
.cca-next a { text-decoration-thickness: 2px; }
.cca-next__d { font-size: 1.15rem; margin: 4px 0 0; color: var(--ink-soft); }
.cca-next__o { margin: 4px 0 0; font-size: .95rem; color: var(--obs-ink); }
.cca-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0 8px; }
.cca-meter, .cca-lw { border: 1px solid var(--line); border-radius: 3px; padding: 14px 16px; }
.cca-lw { background: var(--obs); border-color: var(--obs-line); }
.cca-meter__l, .cca-lw__l { margin: 0; color: var(--muted); font-size: .95rem; }
.cca-meter__n { margin: 2px 0 8px; font-size: 1.15rem; color: var(--muted); }
.cca-meter__n b { font-size: 2.6rem; line-height: 1; color: var(--navy); margin-right: 4px; }
.cca-meter__bar { height: 10px; background: var(--line-2); border-radius: 2px; overflow: hidden; }
.cca-meter__bar span { display: block; height: 100%; background: var(--navy); }
.cca-meter__s { margin: 8px 0 0; font-size: .88rem; color: var(--muted); }
.cca-lw__n { margin: 4px 0 0; font-size: 1.3rem; font-weight: 700; color: var(--navy-ink); }
.cca-lw__d { margin: 2px 0 0; }
.cca-lw__o { margin: 4px 0 0; font-size: .9rem; color: var(--obs-ink); }
.cca-home__links { margin: 14px 0 0; font-size: .95rem; }
.cca-home__intro { margin-top: 30px; color: var(--ink-soft); max-width: 72ch; font-size: .95rem; }
.cca-sl { border-collapse: collapse; width: 100%; max-width: 640px; }
.cca-sl td { padding: 6px 10px 6px 0; border-bottom: 1px solid var(--line-2); vertical-align: top; }
.cca-sl td:first-child { width: 140px; white-space: nowrap; color: var(--ink-soft); }
.cca-sl--past td, .cca-sl--past a { color: #8a96a0; }
.cca-sl--next td { font-weight: 700; }
.cca-sl--next td:first-child { box-shadow: inset 4px 0 0 var(--navy); padding-left: 8px; }
.cca-sl__o { font-size: .92rem; color: var(--muted); margin: 10px 0 0; max-width: 72ch; }

/* -- Date-grouped "same day, different name" rows ------------------------- */
.cca-dg { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--navy); }
.cca-dg__row { display: grid; grid-template-columns: 130px 1fr; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.cca-dg__date { font-weight: 700; color: var(--navy-ink); white-space: nowrap; }
.cca-dg__names { line-height: 1.7; }
.cca-dg__g b a { color: var(--ink); }
.cca-dg__g.cca-st-optional b, .cca-dg__g.cca-st-federal b, .cca-dg__g.cca-st-government b { font-weight: 400; }
.cca-dg__none { color: var(--muted); font-size: .92em; }
.cca-dg__none .cca-c { color: var(--muted); font-weight: 400; }
.cca-dg__all { font-size: .88em; color: var(--muted); }
.cca-dot { color: #9aa6b0; }
.cca-dg__month { list-style: none; font-size: .82rem; font-weight: 700; color: var(--muted); padding: 14px 0 4px; border-bottom: 1px solid var(--line); }

/* -- Month grid (Sunday first) -------------------------------------------- */
.cca-g { border-collapse: collapse; width: 100%; table-layout: fixed; }
.cca-g caption { text-align: left; font-weight: 700; color: var(--navy-ink); padding: 0 0 4px; }
.cca-g th { font-size: .82rem; font-weight: 700; color: var(--navy); padding: 4px 0; background: var(--wash); border: 1px solid var(--line); }
.cca-g--full td { height: 96px; vertical-align: top; border: 1px solid var(--line); padding: 4px 5px; font-size: .78rem; line-height: 1.25; }
.cca-g__n { display: block; font-size: 1.05rem; font-weight: 700; color: var(--ink); }
.cca-g__we .cca-g__n { color: var(--muted); }
.cca-g__x { background: #fafbfc; }
.cca-g__l { display: block; margin-top: 3px; }
.cca-g__h { display: block; margin-bottom: 2px; color: var(--ink-soft); }
.cca-g__h--optional, .cca-g__h--federal, .cca-g__h--government { color: var(--muted); font-style: italic; }
.cca-g__codes { font-weight: 700; color: var(--navy); }
.cca-g td.cca-g__hol { background: var(--obs); }
.cca-g__today { outline: 2px solid var(--navy); outline-offset: -2px; }
.cca-g__today .cca-g__n { text-decoration: underline; }
.cca-g td.cca-g__on { background: var(--navy); }
.cca-g td.cca-g__on .cca-g__n, .cca-g td.cca-g__on .cca-g__h, .cca-g td.cca-g__on .cca-g__codes { color: #fff; }
/* selected province: stat day = navy fill */
.cca-pv[data-prov="ON"] td[data-st~="ON"], .cca-pv[data-prov="QC"] td[data-st~="QC"], .cca-pv[data-prov="BC"] td[data-st~="BC"],
.cca-pv[data-prov="AB"] td[data-st~="AB"], .cca-pv[data-prov="MB"] td[data-st~="MB"], .cca-pv[data-prov="SK"] td[data-st~="SK"],
.cca-pv[data-prov="NS"] td[data-st~="NS"], .cca-pv[data-prov="NB"] td[data-st~="NB"], .cca-pv[data-prov="NL"] td[data-st~="NL"],
.cca-pv[data-prov="PE"] td[data-st~="PE"], .cca-pv[data-prov="YT"] td[data-st~="YT"], .cca-pv[data-prov="NT"] td[data-st~="NT"],
.cca-pv[data-prov="NU"] td[data-st~="NU"] { background: var(--navy) !important; }
.cca-pv[data-prov="ON"] td[data-st~="ON"] *, .cca-pv[data-prov="QC"] td[data-st~="QC"] *, .cca-pv[data-prov="BC"] td[data-st~="BC"] *,
.cca-pv[data-prov="AB"] td[data-st~="AB"] *, .cca-pv[data-prov="MB"] td[data-st~="MB"] *, .cca-pv[data-prov="SK"] td[data-st~="SK"] *,
.cca-pv[data-prov="NS"] td[data-st~="NS"] *, .cca-pv[data-prov="NB"] td[data-st~="NB"] *, .cca-pv[data-prov="NL"] td[data-st~="NL"] *,
.cca-pv[data-prov="PE"] td[data-st~="PE"] *, .cca-pv[data-prov="YT"] td[data-st~="YT"] *, .cca-pv[data-prov="NT"] td[data-st~="NT"] *,
.cca-pv[data-prov="NU"] td[data-st~="NU"] * { color: #fff !important; }
.cca-g--edit td { height: 104px; }
.cca-g__w { display: block; min-height: 52px; outline: none; white-space: pre-wrap; font-size: .9rem; color: var(--ink); }
.cca-g__w:focus { background: #f7fafc; }

/* -- Month page ------------------------------------------------------------ */
.cca-mhead { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.cca-mhead nav { font-size: .95rem; }
.cca-wd { margin: 6px 0 14px; color: var(--ink-soft); }
.cca-wd b { color: var(--navy-ink); font-size: 1.08rem; }
.cca-key { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .86rem; color: var(--muted); margin: 8px 0 0; }
.cca-key i { display: inline-block; width: 14px; height: 14px; vertical-align: -2px; margin-right: 5px; border: 1px solid var(--line); }
.cca-key .k1 { background: var(--navy); border-color: var(--navy); }
.cca-key .k2 { background: var(--obs); border-color: var(--obs-line); }
.cca-mintro { max-width: 74ch; color: var(--ink-soft); }
.cca-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 10px 0; }
.cca-btn { font: inherit; font-size: .95rem; font-weight: 700; padding: 6px 14px; background: var(--navy); color: #fff; border: 1px solid var(--navy); border-radius: 3px; cursor: pointer; text-decoration: none; display: inline-block; }
.cca-btn:hover { background: var(--navy-ink); text-decoration: none; color: #fff; }
.cca-btn--2 { background: #fff; color: var(--navy); }
.cca-btn--2:hover { background: var(--wash); color: var(--navy); }

/* -- Year page --------------------------------------------------------------- */
.cca-quirk { font-size: 1.08rem; max-width: 76ch; margin: 4px 0 18px; padding: 10px 14px; border-left: 4px solid var(--navy); background: var(--wash); }
.cca-yg { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px 20px; }
.cca-g--mini td { text-align: center; font-size: .82rem; padding: 0; height: 26px; border: 0; }
.cca-g--mini th { background: none; border: 0; border-bottom: 1px solid var(--line); font-size: .74rem; }
.cca-g--mini .cca-g__n { font-size: .82rem; font-weight: 400; }
.cca-g--mini caption a { color: var(--navy-ink); text-decoration: none; }
.cca-g--mini caption a:hover { text-decoration: underline; }
.cca-g--mini td.cca-g__hol .cca-g__n { font-weight: 700; color: var(--obs-ink); }
.cca-g--mini td.cca-g__today { outline-width: 1px; }
.cca-t { border-collapse: collapse; width: 100%; }
.cca-t th { text-align: left; font-size: .9rem; color: var(--navy-ink); border-bottom: 2px solid var(--navy); padding: 6px 10px 6px 0; }
.cca-t td { padding: 7px 10px 7px 0; border-bottom: 1px solid var(--line-2); vertical-align: top; }
.cca-t td small { display: block; color: var(--muted); }
.cca-twrap { overflow-x: auto; }

/* -- Province page --------------------------------------------------------- */
.cca-law { margin: 0 0 14px; color: var(--ink-soft); }
.cca-law a { font-size: .92rem; }
.cca-pt td:nth-child(n+3), .cca-pt th:nth-child(n+3) { white-space: nowrap; }
.cca-pt .cca-pt__obs { display: block; font-size: .85rem; color: var(--obs-ink); }
.cca-pt tr.cca-pt--other td:first-child b { font-weight: 400; }
.cca-pay { border: 1px solid var(--obs-line); background: var(--obs); padding: 12px 16px; border-radius: 3px; max-width: 74ch; }
.cca-pay p:last-child { margin-bottom: 0; }

/* -- Holiday detail ------------------------------------------------------- */
.cca-hd__when { font-size: 1.3rem; margin: 2px 0 2px; color: var(--navy-ink); }
.cca-hd__rule { color: var(--muted); margin: 0 0 14px; }
.cca-who { border-top: 2px solid var(--navy); border-bottom: 1px solid var(--line); padding: 10px 0 12px; margin: 16px 0; }
.cca-who h2 { border: 0; margin: 0 0 6px; padding: 0; }
.cca-who__l { margin: 0 0 4px; line-height: 1.7; }
.cca-who__l b { display: inline-block; min-width: 0; }
.cca-who__n { font-size: .92rem; color: var(--ink-soft); margin: 6px 0 0; }
.cca-years { color: var(--ink-soft); }
.cca-prose { max-width: 74ch; }
.cca-prose ul { padding-left: 20px; }
.cca-faq h3 { font-size: 1.02rem; margin: 18px 0 4px; }
.cca-faq p { margin: 0 0 8px; max-width: 74ch; }

/* -- Matrix (by province) -------------------------------------------------- */
.cca-counts { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 8px 0 16px; padding: 0; list-style: none; }
.cca-counts li { padding: 2px 12px 2px 0; margin-right: 12px; border-right: 1px solid var(--line); }
.cca-counts li:last-child { border-right: 0; }
.cca-counts b { color: var(--navy); }
.cca-same { color: var(--ink-soft); max-width: 76ch; }

/* -- Calculators ---------------------------------------------------------- */
.cca-calc__nav { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0 0 14px; font-size: .95rem; }
.cca-calc__nav a { padding: 2px 12px; border-left: 1px solid var(--line); text-decoration: none; }
.cca-calc__nav a:first-child { border-left: 0; padding-left: 0; }
.cca-calc__nav a.cca-on { font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; }
.cca-hub { list-style: none; padding: 0; margin: 0 0 10px; border-top: 1px solid var(--line); }
.cca-hub li { padding: 10px 0; border-bottom: 1px solid var(--line); }
.cca-hub a { font-weight: 700; font-size: 1.08rem; }
.cca-hub span { display: block; color: var(--muted); font-size: .92rem; }
.cca-scope { margin: 6px 0 14px; padding: 10px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cca-scope__l { font-weight: 700; margin-right: 8px; }
.cca-scope a { margin-right: 14px; white-space: nowrap; }
.cca-scope a.cca-on { font-weight: 700; color: var(--navy-ink); text-decoration: none; border-bottom: 3px solid var(--navy); }
.cca-scope__p { display: block; font-size: .88rem; margin-top: 6px; line-height: 1.9; }
.cca-scope__p a { margin-right: 10px; }
.cca-big { font-size: 1.25rem; margin: 6px 0 12px; }
.cca-big b { font-size: 1.6rem; color: var(--navy); }
.cca-form { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin: 10px 0 14px; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cca-form label { display: block; font-size: .88rem; color: var(--muted); margin-bottom: 3px; }
.cca-form input, .cca-form select { font: inherit; font-size: 1rem; padding: 6px 8px; border: 1px solid #9fb0bf; border-radius: 3px; background: #fff; color: var(--ink); }
.cca-res { font-size: 1.15rem; margin: 10px 0; }
.cca-res b { color: var(--navy); }
.cca-lwl { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--navy); }
.cca-lwl li { display: grid; grid-template-columns: 250px 1fr; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.cca-lwl__d { font-weight: 700; color: var(--navy-ink); }
.cca-lwl__n small { display: block; color: var(--muted); }
.cca-lwl__take { color: var(--obs-ink); }
.cca-lwl li.cca-lwl--take .cca-lwl__d { font-weight: 400; }

/* -- Printables -------------------------------------------------------------- */
.cca-papers { margin: 8px 0; }
.cca-papers a { margin-right: 12px; }
.cca-papers a.cca-on { font-weight: 700; text-decoration: none; border-bottom: 3px solid var(--navy); color: var(--navy-ink); }
.cca-sheet__t { display: none; }
.cca-pyg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 18px; }
.cca-plist { columns: 2; font-size: .9rem; margin: 12px 0 0; padding-left: 18px; }
.cca-plan { display: grid; grid-template-columns: 1fr 240px; gap: 16px; }
.cca-box { border: 1px solid var(--line); padding: 8px 10px; margin-bottom: 12px; }
.cca-box__t { font-weight: 700; color: var(--navy-ink); margin: 0 0 4px; }
.cca-lines { min-height: 120px; outline: none; white-space: pre-wrap; background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 27px, var(--line-2) 27px, var(--line-2) 28px); line-height: 28px; }
.cca-week { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.cca-week .cca-box { margin: 0; }

/* -- FAQ / article --------------------------------------------------------- */
.cca-art { max-width: 1040px; margin: 34px auto 0; padding: 0 20px; }
.cca-art h2 { font-size: 1.2rem; margin: 26px 0 8px; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.cca-art p { max-width: 74ch; color: var(--ink-soft); }

/* -- 404 --------------------------------------------------------------------- */
.cca-404 ul { line-height: 1.9; }

/* -- Phone ------------------------------------------------------------------ */
@media (max-width: 760px) {
  body { font-size: 16px; }
  .cca-top__in { padding: 12px 16px 10px; }
  .cca-logo { font-size: 1.45rem; }
  .cca-menu { display: inline-block; position: absolute; right: 16px; top: 13px; font: inherit; font-size: .9rem; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.5); border-radius: 3px; padding: 3px 9px; cursor: pointer; }
  .cca-nav { display: none; flex-direction: column; gap: 0; text-align: left; margin-top: 10px; border-top: 1px solid rgba(255,255,255,.2); }
  .cca-nav.is-open { display: flex; }
  .cca-nav a { padding: 9px 2px; border-bottom: 1px solid rgba(255,255,255,.12); }
  .cca-chips { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
  .cca-chip { flex: none; }
  .cca-chips__l { flex: none; }
  .cca-wrap { padding: 0 16px; }
  .cca-wrap h1 { font-size: 1.45rem; }
  .cca-next { font-size: 1.3rem; }
  .cca-pair { grid-template-columns: 1fr; }
  .cca-foot__in { grid-template-columns: 1fr 1fr; }
  .cca-dg__row { grid-template-columns: 1fr; gap: 2px; }
  .cca-g--full td { height: 52px; padding: 3px; }
  .cca-g--full .cca-g__l { display: none; }
  .cca-g--edit .cca-g__w { min-height: 30px; font-size: .78rem; }
  .cca-yg { grid-template-columns: 1fr 1fr; gap: 14px; }
  .cca-pyg { grid-template-columns: 1fr 1fr; }
  .cca-lwl li { grid-template-columns: 1fr; gap: 2px; }
  .cca-plan { grid-template-columns: 1fr; }
  .cca-week { grid-template-columns: 1fr; }
  .cca-t { font-size: .92rem; }
  .cca-sl td:first-child { width: 110px; }
}
@media (max-width: 400px) {
  .cca-yg { grid-template-columns: 1fr 1fr; gap: 12px 10px; }
  .cca-g--mini td { height: 22px; font-size: .76rem; }
}

/* -- Print: Letter first; A4 via body class from the printable view -------- */
@media print {
  @page { size: letter; margin: 12mm; }
  body { font-size: 11pt; }
  .cca-wrap { max-width: none; padding: 0; }
  .cca-sheet__t { display: block; font-size: 16pt; font-weight: 700; margin: 0 0 6pt; }
  .cca-g--full td { height: 80px; }
  .cca-g td.cca-g__hol { background: #fff; }
  .cca-pyg { grid-template-columns: repeat(3, 1fr); gap: 8pt 12pt; }
  .cca-art, .cca-crumbs, .cca-actions, .cca-papers, .cca-note.no-print { display: none !important; }
  a { text-decoration: none; }
}
.cca-nw{white-space:nowrap}
.cca-form--col { flex-direction: column; align-items: stretch; max-width: 560px; }
.cca-form--col input, .cca-form--col textarea { width: 100%; font: inherit; padding: 6px 8px; border: 1px solid #9fb0bf; border-radius: 3px; }
.cca-plinks { line-height: 1.9; }
@media (max-width: 760px) {
  .cca-pt thead { display: none; }
  .cca-pt, .cca-pt tbody { display: block; }
  .cca-pt tr { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px 8px; padding: 8px 0; border-bottom: 1px solid var(--line); }
  .cca-pt td { border: 0; padding: 0; white-space: normal !important; font-size: .92rem; }
  .cca-pt td:first-child { grid-column: 1 / -1; }
  .cca-pt td:first-child small { display: inline; margin-left: 6px; }
  .cca-pt td:nth-child(2) { grid-column: 1 / -1; color: var(--muted); font-size: .86rem; }
  .cca-pt td[data-y]::before { content: attr(data-y); display: block; font-size: .74rem; font-weight: 700; color: var(--navy); }
}
.cca-t tbody th { border-bottom: 1px solid var(--line-2); vertical-align: top; width: 210px; padding-top: 8px; }
.cca-scope a { white-space: normal; }
@media (max-width: 760px) {
  .cca-t tbody th { width: auto; display: block; border: 0; padding: 8px 0 0; }
  .cca-paypage .cca-t tr, .cca-paypage .cca-t td { display: block; }
  .cca-paypage .cca-t td { padding-top: 2px; }
  .cca-form > div { flex: 1 1 140px; }
  .cca-form input { max-width: 100%; }
}
@media (max-width: 760px){ .cca-plist { columns: 1; } }
