@import url("fitness-daily.css");

.leader-header { position: sticky; z-index: 60; top: 0; min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 12px clamp(22px, 5vw, 76px); border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(7,17,13,.95); backdrop-filter: blur(16px); }
.leader-brand { display: flex; align-items: center; gap: 12px; }
.leader-brand > span { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(205,170,93,.65); color: var(--gold-light); font: 17px var(--serif); }
.leader-brand strong { color: #fff8ea; font: 600 16px/1.1 var(--serif); }
.leader-brand small { display: block; margin-top: 4px; color: #8c948e; font: 800 .55rem/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.leader-header nav { display: flex; align-items: center; gap: clamp(13px, 2vw, 30px); }
.leader-header nav a { color: #b8b9b3; font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.leader-header nav a:last-child { padding: 10px 13px; border: 1px solid rgba(205,170,93,.5); color: var(--gold-light); }

.leader-hero { min-height: calc(100svh - 78px); display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); overflow: hidden; background: radial-gradient(circle at 13% 18%, rgba(47,105,74,.43), transparent 40%), linear-gradient(135deg, #0b2418, #07110d 62%, #020604); }
.leader-hero .hero-copy { align-self: center; padding: clamp(72px, 9vw, 140px) clamp(28px, 7vw, 112px); }
.leader-hero h1 { margin: 22px 0 25px; color: #fff9ec; font: 400 clamp(3.6rem, 7vw, 7rem)/.88 var(--serif); letter-spacing: -.055em; }
.leader-hero h1 em { color: var(--gold-light); font-weight: 400; }
.leader-hero .hero-copy > p:last-of-type { max-width: 760px; margin: 0; color: #b8beb9; font-size: clamp(.98rem, 1.15vw, 1.15rem); line-height: 1.8; }
.leader-hero .hero-image { min-height: 700px; }
.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 650px; margin: 45px 0 0; border-block: 1px solid rgba(255,255,255,.12); }
.hero-stats div { display: flex; align-items: center; gap: 11px; padding: 16px; }
.hero-stats div + div { border-left: 1px solid rgba(255,255,255,.12); }
.hero-stats dt { color: var(--gold-light); font: 400 2.2rem var(--serif); }
.hero-stats dd { margin: 0; color: #8f9991; font-size: .62rem; font-weight: 850; letter-spacing: .09em; line-height: 1.4; text-transform: uppercase; }

.start-section, .sessions-section, .tools-section { padding: clamp(90px, 10vw, 155px) clamp(22px, 6vw, 96px); background: var(--paper); color: var(--ink); }
.start-grid { max-width: 1440px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin: 55px auto 0; }
.start-grid article { min-height: 320px; padding: 28px; border: 1px solid var(--border); background: #fff; }
.start-grid span { color: #8b672f; font: 400 2.4rem var(--serif); }
.start-grid h3 { margin: 55px 0 10px; font: 400 1.5rem var(--serif); }
.start-grid p { color: #667068; font-size: .78rem; line-height: 1.7; }
.readiness-panel { max-width: 1440px; display: grid; grid-template-columns: .7fr 1.3fr .55fr; gap: 32px; align-items: center; margin: 18px auto 0; padding: clamp(26px, 4vw, 48px); background: var(--green); color: #fff; }
.readiness-panel h3 { margin: 8px 0; font: 400 2rem var(--serif); }
.readiness-panel > div > p:last-child { color: #aeb9b1; font-size: .78rem; }
.readiness-panel fieldset { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0; padding: 0; border: 0; }
.readiness-panel label { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: center; min-height: 57px; padding: 10px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); color: #dbe2dd; font-size: .7rem; cursor: pointer; }
.readiness-panel label:has(input:checked) { border-color: #9aba9e; background: rgba(122,178,135,.15); }
.readiness-panel input { width: 19px; height: 19px; accent-color: var(--gold); }
.readiness-score strong { color: var(--gold-light); font: 400 2.2rem var(--serif); }
.readiness-score > div { height: 6px; margin: 10px 0; background: rgba(255,255,255,.13); }
.readiness-score i { display: block; width: 0; height: 100%; background: var(--gold-light); }
.readiness-score span { color: #aeb9b1; font-size: .7rem; }

.flow-section, .standards-section { padding: clamp(90px, 10vw, 155px) clamp(22px, 6vw, 96px); background: #0b1d14; }
.flow-timeline { max-width: 1440px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin: 55px auto 0; padding: 0; list-style: none; background: rgba(255,255,255,.13); }
.flow-timeline li { min-height: 275px; padding: 28px; background: #10281b; }
.flow-timeline > li > span { color: var(--gold); font: 400 2rem var(--serif); }
.flow-timeline strong { display: block; margin-top: 70px; font: 400 1.25rem var(--serif); }
.flow-timeline p { color: #9da9a0; font-size: .74rem; line-height: 1.7; }

.sessions-section { background: #eee4d4; }
.curriculum-status { min-width: 290px; padding: 20px; border: 1px solid #cfc4b3; background: rgba(255,255,255,.45); }
.curriculum-status > span { color: #765926; font: 400 1.25rem var(--serif); }
.curriculum-status > div { height: 6px; margin: 11px 0; background: #d9d0c1; }
.curriculum-status i { display: block; width: 0; height: 100%; background: var(--green); }
.curriculum-status button { padding: 0; border: 0; border-bottom: 1px solid #9a8d79; background: transparent; color: #697169; font-size: .64rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.session-tabs { max-width: 1440px; display: grid; grid-template-columns: repeat(3, 1fr); margin: 50px auto 0; border: 1px solid #cfc4b3; }
.session-tabs button { min-height: 83px; padding: 16px 22px; border: 0; border-right: 1px solid #cfc4b3; background: rgba(255,255,255,.42); color: #5d665f; font-size: .73rem; font-weight: 900; letter-spacing: .08em; text-align: left; text-transform: uppercase; cursor: pointer; }
.session-tabs button:last-child { border-right: 0; }
.session-tabs button span { display: block; margin-top: 6px; font: 400 1rem var(--serif); letter-spacing: 0; text-transform: none; }
.session-tabs button[aria-selected="true"] { background: var(--gold-light); color: var(--ink); }
.sessions-grid { max-width: 1440px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin: 13px auto 0; }
.session-card { min-height: 300px; display: flex; flex-direction: column; padding: 25px; border: 1px solid #cfc4b3; background: rgba(255,255,255,.68); }
.session-card.is-complete { border-color: #548464; background: #edf5ef; }
.session-card > span { color: #8b672f; font: 400 2rem var(--serif); }
.session-card h3 { margin: 40px 0 9px; font: 400 1.4rem/1.1 var(--serif); }
.session-card p { color: #626b64; font-size: .73rem; line-height: 1.65; }
.session-card button { margin-top: auto; align-self: flex-start; padding: 8px 0; border: 0; border-bottom: 1px solid #80642f; background: transparent; color: #516157; font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.session-detail { max-width: 1440px; margin: 13px auto 0; padding: clamp(30px, 5vw, 63px); border: 1px solid #c9bdab; background: #fffdf7; }
.session-detail header { display: flex; justify-content: space-between; gap: 25px; }
.session-detail h3 { margin: 9px 0; font: 400 clamp(2rem, 3vw, 3.2rem)/1 var(--serif); }
.session-detail header p { max-width: 690px; margin: 0; color: #646d66; font-size: .82rem; }
.session-detail .scripture { min-width: 210px; padding-left: 22px; border-left: 2px solid var(--gold); color: #765926; font: italic 1.05rem/1.5 var(--serif); }
.session-plan { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 35px; }
.session-plan div { padding: 18px; border-top: 1px solid #d9d0c2; }
.session-plan dt { color: #7d827d; font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.session-plan dd { margin: 8px 0 0; color: #455149; font-size: .78rem; line-height: 1.7; }
.session-complete { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; margin-top: 28px; padding: 18px; background: #f0eadf; }
.session-complete input[type="checkbox"] { width: 21px; height: 21px; accent-color: var(--green); }
.session-complete span { color: #405048; font-size: .75rem; font-weight: 800; }
.session-complete input[type="text"] { min-height: 43px; padding: 9px 12px; border: 1px solid #cfc4b3; background: #fff; color: var(--ink); }

.standards-grid { max-width: 1440px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin: 55px auto 0; }
.standards-grid article { min-height: 280px; padding: 28px; border: 1px solid rgba(255,255,255,.12); background: #10281b; }
.standards-grid span { color: var(--gold-light); font-size: .64rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.standards-grid h3 { margin: 50px 0 10px; font: 400 1.5rem var(--serif); }
.standards-grid p { color: #9eaaa1; font-size: .76rem; line-height: 1.7; }
.standards-grid .urgent { border-color: #a65745; background: #321914; }

.tools-section { background: #f7f1e7; }
.tools-grid { max-width: 1440px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 55px auto 0; }
.tools-grid article { min-height: 325px; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--border); background: #fff; }
.tools-grid span { color: #8b672f; font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.tools-grid h3 { margin: 48px 0 10px; font: 400 1.6rem var(--serif); }
.tools-grid p { color: #657068; font-size: .78rem; line-height: 1.7; }
.tools-grid .button { margin-top: auto; }
.print-sheet { display: none; }

.download-section { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: center; padding: clamp(90px, 10vw, 155px) clamp(22px, 8vw, 130px); background: radial-gradient(circle at 16% 25%, rgba(48,104,75,.42), transparent 40%), #07110d; }
.download-section h2 { margin: 14px 0 18px; font: 400 clamp(3rem, 5vw, 5.5rem)/.95 var(--serif); }
.download-section h2 em { color: var(--gold-light); }
.download-section > div > p:not(.section-kicker) { max-width: 750px; color: #abb5ae; font-size: .86rem; }
.download-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.button-outline { border-color: rgba(239,217,142,.55); color: var(--gold-light); }
.download-section aside { padding: 36px; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.04); }
.download-section aside strong { color: var(--gold-light); font: 400 1.7rem var(--serif); }
.download-section aside ul { margin: 20px 0 0; padding-left: 18px; color: #b6c0b9; font-size: .78rem; line-height: 2; }

@media (max-width: 1100px) {
  .leader-header nav a:nth-child(1), .leader-header nav a:nth-child(3) { display: none; }
  .start-grid, .sessions-grid { grid-template-columns: repeat(2, 1fr); }
  .readiness-panel { grid-template-columns: 1fr; }
  .flow-timeline { grid-template-columns: repeat(3, 1fr); }
  .standards-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .leader-header nav a { display: none !important; }
  .leader-header nav a:last-child { display: inline-block !important; }
  .leader-hero { min-height: 0; grid-template-columns: 1fr; }
  .leader-hero .hero-copy { padding: 76px 24px 65px; }
  .leader-hero h1 { font-size: clamp(3.4rem, 16vw, 5.2rem); }
  .hero-stats { grid-template-columns: 1fr; }
  .hero-stats div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .start-grid, .sessions-grid, .flow-timeline, .standards-grid, .tools-grid, .download-section { grid-template-columns: 1fr; }
  .readiness-panel fieldset { grid-template-columns: 1fr; }
  .session-tabs button { padding-inline: 10px; font-size: .62rem; }
  .session-detail header { flex-direction: column; }
  .session-detail .scripture { padding: 14px 0 0; border-left: 0; border-top: 2px solid var(--gold); }
  .session-plan { grid-template-columns: 1fr; }
  .session-complete { grid-template-columns: auto 1fr; }
  .session-complete input[type="text"] { grid-column: 1 / -1; }
}

@media print {
  body.print-roster *, body.print-covenant * { visibility: hidden !important; }
  body.print-roster #roster-sheet, body.print-roster #roster-sheet *, body.print-covenant #covenant-sheet, body.print-covenant #covenant-sheet * { visibility: visible !important; }
  body.print-roster #roster-sheet, body.print-covenant #covenant-sheet { display: block !important; position: absolute; inset: 0; padding: 20px; color: #000; background: #fff; }
  .print-sheet h2 { font: 400 26px var(--serif); }
  .print-sheet table { width: 100%; border-collapse: collapse; margin-top: 24px; }
  .print-sheet th, .print-sheet td { height: 42px; padding: 6px; border: 1px solid #333; font-size: 10px; text-align: left; }
  .print-sheet p, .print-sheet li { font-size: 12px; line-height: 1.6; }
}
