/* Hardening tab — not-started state (REL-120+) */

.harden-section-label {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--v2-text-tertiary, #767169);
  margin-bottom: 8px;
}

.harden-card {
  background: var(--v2-bg-card, #fffefa);
  border: 1px solid var(--v2-border-soft, #e8e0d5);
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 10px;
  box-shadow: 0 1px 3px rgba(44, 41, 38, .07);
}

.harden-meta {
  font-size: 12px;
  color: var(--v2-text-tertiary, #767169);
  margin-bottom: 12px;
  line-height: 1.5;
}

.harden-form-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.harden-form-label {
  font-size: 12px;
  color: var(--v2-text-secondary, #5e5854);
  width: 88px;
  flex-shrink: 0;
}

.harden-input {
  flex: 1;
  background: var(--v2-bg-secondary, #ece7df);
  border: 1px solid var(--v2-edge, #e0d8ce);
  border-radius: 8px;
  padding: 9px 12px;
  font-family: inherit;
  font-size: 14px;
  color: var(--v2-text-primary, #2c2926);
  min-height: 44px;
  -webkit-appearance: none;
  color-scheme: light;
}

.harden-input:focus {
  outline: none;
  border-color: var(--v2-accent-botanical, #4d7050);
}

.harden-notify-hint {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0 12px;
}

.harden-notify-icon {
  width: 32px;
  height: 32px;
  background: var(--v2-pop-slate-bg, #e8eef2);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--v2-pop-slate, #5e7180);
  flex-shrink: 0;
}

.harden-notify-text {
  font-size: 12px;
  color: var(--v2-text-secondary, #5e5854);
}

.harden-warn-banner {
  background: var(--v2-pop-ochre-bg, #f5ede0);
  border: 1px solid var(--v2-pop-ochre, #9C6B1C);
  border-radius: 8px;
  padding: 10px 12px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 12px;
  font-size: 12px;
  color: var(--v2-pop-ochre, #9C6B1C);
  line-height: 1.5;
}

.harden-warn-banner strong {
  font-weight: 600;
  display: block;
  margin-bottom: 2px;
}

.harden-btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  background: var(--v2-accent-botanical, #4d7050);
  color: #fffefa;
  border: none;
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.harden-btn-primary:active {
  opacity: 0.85;
}

.harden-btn-ghost {
  display: block;
  text-align: center;
  font-size: 12px;
  color: var(--v2-text-tertiary, #767169);
  cursor: pointer;
  padding: 10px;
  text-decoration: underline;
  text-underline-offset: 2px;
  background: none;
  border: none;
  width: 100%;
  font-family: inherit;
}

.harden-preview-results {
  background: var(--v2-bg-secondary, #ece7df);
  border-radius: 8px;
  padding: 10px;
  margin-bottom: 12px;
}

.harden-preview-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid var(--v2-border-soft, #e8e0d5);
  font-size: 13px;
}

.harden-preview-row:last-child {
  border-bottom: none;
}

.harden-preview-row span:first-child {
  color: var(--v2-text-secondary, #5e5854);
}

.harden-preview-row .good {
  color: var(--v2-pop-sage, #4d7050);
  font-weight: 500;
}

.harden-preview-row .warn {
  color: var(--v2-pop-ochre, #9C6B1C);
  font-weight: 500;
}

/* Active state — today's step card */
.harden-today-card {
  background: var(--v2-bg-card, #fffefa);
  border: 1px solid var(--v2-border-soft, #e8e0d5);
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 12px;
  box-shadow: 0 1px 3px rgba(44, 41, 38, .07);
}

.harden-today-label {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--v2-text-tertiary, #767169);
  margin-bottom: 4px;
}

.harden-today-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--v2-text-primary, #2c2926);
  margin-bottom: 12px;
}

/* Active state — step actions */
.harden-step-actions { display: flex; gap: 8px; }
.harden-step-actions .harden-btn-primary { flex: 1; font-size: 13px; }
.harden-btn-secondary {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 44px; background: transparent; color: var(--v2-text-secondary, #5e5854);
  border: 1px solid var(--v2-edge, #e0d8ce); border-radius: 8px;
  font-family: inherit; font-size: 13px; font-weight: 500; cursor: pointer; padding: 0 14px;
}

/* Paused state */
.harden-progress-track { height: 5px; background: var(--v2-edge, #e0d8ce); border-radius: 3px; overflow: hidden; margin-bottom: 8px; }
.harden-progress-fill { height: 100%; border-radius: 3px; background: var(--v2-accent-botanical, #4d7050); transition: width 400ms ease; }
.harden-progress-meta { display: flex; justify-content: space-between; font-size: 11px; color: var(--v2-text-tertiary, #767169); margin-bottom: 14px; }
.harden-paused-banner {
  background: var(--v2-pop-ochre-bg, #f5ede0); border: 1px solid var(--v2-pop-ochre, #9C6B1C);
  border-radius: 12px; padding: 14px; margin-bottom: 12px;
}
.harden-paused-title { font-family: var(--v2-font-display, 'Fraunces', serif); font-size: 14px; font-weight: 600; color: var(--v2-pop-ochre, #9C6B1C); margin-bottom: 4px; }
.harden-paused-sub { font-size: 12px; color: var(--v2-text-secondary, #5e5854); line-height: 1.5; }
.harden-btn-ochre {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; min-height: 44px; background: var(--v2-pop-ochre, #9C6B1C);
  color: #fffefa; border: none; border-radius: 8px; font-family: inherit;
  font-size: 14px; font-weight: 600; cursor: pointer; margin-bottom: 10px;
}
