.legacy-timeline { border-top: 1px solid rgba(245,240,230,.22); }
.timeline-tabs { display: grid; grid-template-columns: repeat(5, 1fr); }
.timeline-tabs button { position: relative; min-height: 110px; padding: 1.2rem; border: 0; border-right: 1px solid rgba(245,240,230,.18); color: rgba(245,240,230,.62); background: transparent; text-align: left; cursor: pointer; }
.timeline-tabs button::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; background: #d5b878; transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.timeline-tabs button span { display: block; margin-bottom: .7rem; color: #d5b878; font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.timeline-tabs button[aria-selected="true"] { color: #f5f0e6; background: rgba(255,255,255,.04); }
.timeline-tabs button[aria-selected="true"]::after { transform: scaleX(1); }
.timeline-panel { display: grid; grid-template-columns: 1fr .8fr; gap: 7rem; padding: clamp(2.5rem, 5vw, 5rem) clamp(1rem, 4vw, 4rem); background: rgba(255,255,255,.035); }
.timeline-panel h3 { max-width: 620px; color: #f5f0e6; font-size: clamp(2.5rem, 4vw, 4rem); }
.timeline-panel > div > p:last-child { max-width: 620px; margin: 1.5rem 0 0; color: rgba(245,240,230,.7); }
.timeline-panel ul { display: grid; align-content: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.timeline-panel li { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(245,240,230,.14); color: rgba(245,240,230,.86); font-size: .86rem; }
.timeline-panel li span { color: #d5b878; }

.legacy-checklist { margin: 4rem 0; }
.checklist-privacy { display: flex; gap: 1rem; margin-bottom: 2rem; padding: 1.25rem; border: 1px solid #d5b878; color: #202428; background: #fffaf0; }
.checklist-privacy > span { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border: 1px solid #b58a42; border-radius: 50%; color: #b58a42; }
.checklist-privacy p { margin: .35rem 0 0; color: #5b6268; font-size: .76rem; }
.checklist-dashboard { display: grid; grid-template-columns: 150px 1fr; gap: 2.5rem; align-items: center; margin-bottom: 3rem; padding: clamp(1.5rem, 4vw, 3rem); color: #f5f0e6; background: #0b1f33; }
.checklist-dashboard h2 { color: #f5f0e6; font-size: clamp(2rem, 4vw, 3.8rem); }
.checklist-dashboard > div > p:last-child { margin: 1rem 0 0; color: rgba(245,240,230,.7); font-size: .82rem; }
.progress-ring { --progress: 0; position: relative; display: grid; width: 136px; aspect-ratio: 1; place-items: center; border-radius: 50%; background: conic-gradient(#d5b878 calc(var(--progress) * 1%), rgba(245,240,230,.14) 0); }
.progress-ring::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: #0b1f33; }
.progress-ring span { position: relative; color: #f5f0e6; font: 500 2.25rem/1 Georgia, serif; }
.checklist-form { display: grid; gap: 1rem; }
.checklist-group { margin: 0; padding: 0; border: 1px solid #e9e0d0; background: rgba(255,255,255,.46); }
.checklist-group legend { display: flex; width: 100%; gap: 1rem; align-items: center; padding: 1.2rem 1.4rem; color: #0b1f33; background: #f5f0e6; font-family: Georgia, serif; font-size: 1.4rem; font-weight: 600; }
.checklist-group legend > span { color: #b58a42; font: 800 .65rem/1 system-ui, sans-serif; letter-spacing: .12em; }
.checklist-group legend small { margin-left: auto; color: #346b50; font: 800 .68rem/1 system-ui, sans-serif; }
.checklist-items { display: grid; grid-template-columns: 1fr 1fr; }
.checklist-item { display: grid; min-height: 92px; grid-template-columns: 28px 1fr; gap: 1rem; align-items: center; padding: 1.2rem; border-right: 1px solid #e9e0d0; border-bottom: 1px solid #e9e0d0; cursor: pointer; }
.checklist-item:nth-child(even) { border-right: 0; }
.checklist-item input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.custom-check { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid #8b8f92; background: #fff; transition: .2s ease; }
.checklist-item input:checked + .custom-check { border-color: #346b50; background: #346b50; }
.checklist-item input:checked + .custom-check::after { content: "✓"; color: #fff; font-size: .82rem; font-weight: 900; }
.checklist-item input:focus-visible + .custom-check { outline: 3px solid #a65f46; outline-offset: 4px; }
.checklist-item:has(input:checked) { color: #346b50; background: rgba(52,107,80,.04); }
.checklist-actions { display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #e9e0d0; }
.secondary-button { min-height: 50px; padding: .7rem 1rem; border: 0; color: #8b3434; background: transparent; font-size: .75rem; font-weight: 800; text-decoration: underline; text-underline-offset: .3rem; cursor: pointer; }
.checklist-actions > p { width: 100%; margin: 0; color: #5b6268; font-size: .7rem; }
.print-report { display: none; }

@media (max-width: 720px) {
  .timeline-tabs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .timeline-tabs button { min-width: 150px; scroll-snap-align: start; }
  .timeline-panel { grid-template-columns: 1fr; gap: 2rem; padding-inline: 1.2rem; }
  .checklist-dashboard { grid-template-columns: 1fr; text-align: center; }.progress-ring { margin-inline: auto; }
  .checklist-items { grid-template-columns: 1fr; }.checklist-item, .checklist-item:nth-child(even) { border-right: 0; }
  .checklist-actions { align-items: stretch; }.checklist-actions button { width: 100%; }
}

@media print {
  body > * { visibility: hidden !important; }
  .print-report, .print-report * { visibility: visible !important; }
  .print-report { position: absolute; inset: 0; display: block !important; padding: 14mm; color: #111; background: #fff; }
  .print-report header { padding-bottom: 8mm; border-bottom: 2px solid #0b1f33; }.print-report h1 { color: #0b1f33; font-size: 28pt; }.print-report header > p:first-child { color: #a65f46; font-size: 9pt; font-weight: 700; text-transform: uppercase; }
  .report-group { break-inside: avoid; margin-top: 8mm; }.report-group h2 { margin-bottom: 3mm; color: #0b1f33; font-size: 17pt; }.report-group ul { margin: 0; padding-left: 5mm; }.report-group li { margin-bottom: 2mm; font-size: 10pt; }.report-group li.pending { color: #555; }
  .print-report footer { margin-top: 10mm; padding-top: 4mm; border-top: 1px solid #bbb; font-size: 8pt; }
  @page { margin: 10mm; }
}

