
/* ==========================================================================
   Google Material Symbols
   ========================================================================== */

.material-symbols-outlined.plan-icon {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
  user-select: none;
  vertical-align: middle;
}

.plan-icon--xs { font-size: 16px; }
.plan-icon--sm { font-size: 20px; }
.plan-icon--md { font-size: 22px; }
.plan-icon--lg { font-size: 28px; }
.plan-icon--xl { font-size: 36px; }

.plan-icon--inline {
  vertical-align: -0.2em;
  margin-right: 4px;
}

/* Checklist group headers */
.plan-checklist-group__title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.plan-checklist-group__title .plan-icon {
  width: 32px;
  height: 32px;
  font-size: 20px;
  border-radius: 10px;
  background: var(--plan-surface-alt);
  border: 1px solid var(--plan-border);
  color: var(--plan-primary);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.plan-checklist-group--morning .plan-checklist-group__title .plan-icon { color: #e8923a; }
.plan-checklist-group--workout .plan-checklist-group__title .plan-icon { color: var(--plan-swim); }
.plan-checklist-group--meals .plan-checklist-group__title .plan-icon { color: var(--plan-accent); }
.plan-checklist-group--targets .plan-checklist-group__title .plan-icon { color: var(--plan-success); }
.plan-checklist-group--supplements .plan-checklist-group__title .plan-icon { color: #7b68ee; }

/* Today blocks */
.plan-today-block__icon {
  font-size: 22px;
  color: var(--plan-primary);
}

.plan-today-block__icon--workout { color: var(--plan-swim); }
.plan-today-block__icon--diet { color: var(--plan-accent); }

/* Stats row */
.plan-progress-status__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  opacity: 0.85;
}

.plan-progress-status__item--primary .plan-progress-status__icon {
  color: var(--plan-primary);
  opacity: 1;
}

/* Alerts */
.plan-alert__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 22px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.5);
  color: var(--plan-primary);
  flex-shrink: 0;
}

.plan-alert--warning .plan-alert__icon { color: var(--plan-warning); }
.plan-alert--danger .plan-alert__icon { color: var(--plan-danger); }
.plan-alert--info .plan-alert__icon { color: var(--plan-primary); }

/* Period cards & section titles with icons */
.plan-period-card__title,
.plan-checklist-group__title--icon {
  display: flex;
  align-items: center;
  gap: 8px;
}

.plan-period-card__title .plan-icon,
.plan-checklist-group__title--icon .plan-icon {
  width: auto;
  height: auto;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  font-size: 20px;
  color: var(--plan-primary);
}

/* History list type badge */
.plan-history-item__type {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  font-size: 18px;
  border-radius: 10px;
  background: var(--plan-surface-alt);
  border: 1px solid var(--plan-border);
  grid-row: span 2;
  color: var(--plan-swim);
}

.plan-history-item:not(.is-swim-day) .plan-history-item__type {
  color: var(--plan-accent);
}

/* Day planner panels */
.plan-day-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 22px;
  border-radius: 12px;
  background: var(--plan-surface-alt);
  border: 1px solid var(--plan-border);
  flex-shrink: 0;
  color: var(--plan-primary);
}

/* Exercise tags & focus badges */
.plan-exercise-tag,
.plan-today-focus__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.plan-exercise-tag .plan-icon { font-size: 16px; }
.plan-today-focus__badge .plan-icon { font-size: 18px; }

/* Day picker swim hint */
.plan-day-btn .plan-icon--inline {
  margin-left: 2px;
  margin-right: 0;
}

/* Day card workout line */
.plan-day-card__workout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap;
}

/* Date nav chevrons */
.plan-date-nav__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
}

.plan-header__logout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--plan-text-muted);
  text-decoration: none;
  flex-shrink: 0;
  transition: color 0.25s var(--plan-ease), transform 0.15s var(--plan-ease);
}

.plan-header__logout:hover {
  color: var(--plan-primary);
  background: transparent;
}

.plan-header__logout:active {
  transform: scale(0.94);
}

.plan-header__logout .plan-icon,
.plan-header__logout-icon {
  font-size: 22px;
  line-height: 1;
}

.plan-date-nav__btn .plan-icon {
  font-size: 22px;
}

/* Calendar month nav */
.plan-month-nav__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
}

.plan-month-nav__btn .plan-icon {
  font-size: 22px;
}

/* Swim protocol card title */
.plan-swim-card__title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.plan-swim-card__title .plan-icon {
  font-size: 20px;
  color: var(--plan-swim);
}

/* Bottom nav & hub */
.plan-bottom-nav__icon .material-symbols-outlined,
.plan-hub-card__icon .material-symbols-outlined {
  font-size: 24px;
}

.plan-bottom-nav__link.is-active .plan-bottom-nav__icon .material-symbols-outlined {
  font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}
