/* Extras específicos del deck de proceso quincenal */

.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  margin-top: 22px;
}

.col-label {
  font-family: var(--body-font);
  font-size: 11pt;
  color: var(--secondary-color);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.benefit-row {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line-color);
}
.benefit-row:last-child { border-bottom: none; }
.benefit-row .benefit-num {
  font-family: var(--heading-font);
  font-size: 22pt;
  color: var(--secondary-color);
  font-weight: 600;
  line-height: 1;
}
.benefit-row .benefit-title {
  font-size: 16pt;
  font-weight: 600;
  color: var(--primary-color);
  margin: 0 0 4px 0;
}
.benefit-row .benefit-body {
  font-size: 13pt;
  color: var(--muted-color);
  margin: 0;
  line-height: 1.4;
}

/* Sprint calendar grid */
.calendar {
  display: grid;
  grid-template-columns: 110px repeat(5, 1fr);
  gap: 6px;
  margin-top: 14px;
}
.calendar .cal-week-label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-family: var(--heading-font);
  font-size: 18pt;
  color: var(--secondary-color);
  font-weight: 600;
  padding-left: 4px;
}
.calendar .cal-head {
  font-family: var(--body-font);
  font-size: 10pt;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--muted-color);
  text-align: center;
  padding: 6px 0;
}
.calendar .cal-cell {
  background: #FFFFFF;
  border: 1px solid var(--line-color);
  border-radius: var(--box-radius);
  padding: 10px 10px;
  min-height: 90px;
  font-size: 11pt;
  line-height: 1.35;
  color: var(--text-color);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.calendar .cal-cell.ceremony-internal {
  background: #FBF7EE;
  border-color: var(--secondary-color);
}
.calendar .cal-cell.meeting-ulloa {
  background: #F3EAEC;
  border-color: var(--accent-color);
  color: var(--accent-color);
  font-weight: 600;
}
.calendar .cal-cell.testing-ulloa {
  background: #F4F0E6;
  border-color: var(--line-color);
  font-style: italic;
  color: var(--muted-color);
}
.calendar .cal-cell.execution {
  color: var(--muted-color);
}

.legend {
  display: flex;
  gap: 20px;
  margin-top: 18px;
  font-size: 11pt;
  color: var(--muted-color);
  flex-wrap: wrap;
}
.legend .legend-item { display: flex; align-items: center; gap: 8px; }
.legend .legend-swatch {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  border: 1px solid var(--line-color);
}
.legend .legend-swatch.ceremony-internal { background: #FBF7EE; border-color: var(--secondary-color); }
.legend .legend-swatch.meeting-ulloa { background: #F3EAEC; border-color: var(--accent-color); }
.legend .legend-swatch.testing-ulloa { background: #F4F0E6; }
.legend .legend-swatch.execution { background: #FFFFFF; }

/* Day-by-day schedule (week detail slides) */
.week-hero {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 36px;
  align-items: start;
  margin-top: 10px;
}
.week-hero .week-tag {
  font-family: var(--heading-font);
  font-size: 40pt;
  line-height: 1;
  color: var(--secondary-color);
  font-weight: 700;
  white-space: nowrap;
}
.week-hero .week-tag-sub {
  font-family: var(--body-font);
  font-size: 11pt;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--muted-color);
  margin-top: 10px;
}
.week-hero .week-summary {
  font-size: 16pt;
  color: var(--text-color);
  line-height: 1.45;
}

.day-row {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 22px;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid var(--line-color);
}
.day-row:last-child { border-bottom: none; }
.day-row .day-when {
  font-family: var(--heading-font);
  font-size: 18pt;
  color: var(--secondary-color);
  font-weight: 600;
}
.day-row .day-what-title {
  font-size: 15pt;
  font-weight: 600;
  color: var(--primary-color);
  margin: 0 0 4px 0;
}
.day-row .day-what-body {
  font-size: 13pt;
  color: var(--muted-color);
  margin: 0;
  line-height: 1.4;
}

/* Urgent vs Important two panes */
.priority-panel {
  background: #FFFFFF;
  border: 1px solid var(--line-color);
  border-radius: var(--box-radius);
  padding: 24px 26px;
}
.priority-panel.urgent { border-top: 3px solid var(--accent-color); }
.priority-panel.important { border-top: 3px solid var(--secondary-color); }
.priority-panel .panel-tag {
  font-family: var(--body-font);
  font-size: 10pt;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 8px;
}
.priority-panel.urgent .panel-tag { color: var(--accent-color); }
.priority-panel.important .panel-tag { color: var(--secondary-color); }
.priority-panel .panel-title {
  font-family: var(--heading-font);
  font-size: 20pt;
  color: var(--primary-color);
  font-weight: 600;
  margin: 0 0 14px 0;
  line-height: 1.2;
}
.priority-panel ul { margin: 0; }
.priority-panel ul li { font-size: 13pt; margin-bottom: 8px; }

/* Tickets: numbered steps with large ordinal */
.step-row {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line-color);
}
.step-row:last-child { border-bottom: none; }
.step-row .step-num {
  font-family: var(--heading-font);
  font-size: 30pt;
  font-weight: 700;
  color: var(--secondary-color);
  line-height: 1;
}
.step-row.warn .step-num { color: var(--accent-color); }
.step-row .step-title {
  font-size: 16pt;
  font-weight: 600;
  color: var(--primary-color);
  margin: 0 0 4px 0;
}
.step-row .step-body {
  font-size: 13pt;
  color: var(--muted-color);
  margin: 0;
  line-height: 1.45;
}

/* Before/After callout for slide 2 */
.before-after {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-top: 22px;
}
.before-after .pane {
  background: #FFFFFF;
  border: 1px solid var(--line-color);
  border-radius: var(--box-radius);
  padding: 22px 26px;
}
.before-after .pane.after { border-left: 3px solid var(--secondary-color); }
.before-after .pane .pane-tag {
  font-size: 10pt;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--muted-color);
  margin-bottom: 6px;
}
.before-after .pane.after .pane-tag { color: var(--secondary-color); }
.before-after .pane h3 {
  font-size: 20pt;
  margin: 0 0 12px 0;
}
