/* Accueco Step 50C-P1A2B: scoped planning-auth presentation layer. */

.accueco-planning-auth {
  --planning-auth-panel: #08241d;
  --planning-auth-panel-strong: #0c2b23;
  --planning-auth-text: #f3faf6;
  --planning-auth-muted: #c1d1ca;
  --planning-auth-green: #76d7ad;
  --planning-auth-gold: #f0c65f;
  --planning-auth-border: rgba(118, 215, 173, 0.26);
  --planning-auth-border-strong: rgba(118, 215, 173, 0.46);
  --planning-auth-error: #ffd6cc;
  --planning-auth-error-border: #f0c65f;
  --planning-auth-error-bg: rgba(99, 45, 29, 0.62);

  min-width: 0;
}

[data-planning-auth-boundary][hidden] {
  display: none !important;
}

.accueco-planning-auth__boundary,
[data-planning-auth-boundary] {
  width: min(1120px, calc(100% - 32px));
  min-width: 0;
  margin: clamp(28px, 5vw, 44px) auto 22px;
  padding: clamp(18px, 4vw, 26px);
  border: 1px solid var(--planning-auth-border);
  border-radius: 18px;
  background:
    linear-gradient(
      145deg,
      rgba(12, 43, 35, 0.98),
      rgba(7, 28, 23, 0.98)
    );
  color: var(--planning-auth-text);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.24),
    inset 0 0 0 1px rgba(240, 198, 95, 0.08);
  box-sizing: border-box;
}

.accueco-planning-auth__boundary > *,
[data-planning-auth-boundary] > * {
  max-width: 760px;
}

.accueco-planning-auth__boundary h2,
[data-planning-auth-boundary] h2 {
  margin: 0;
  color: var(--planning-auth-text);
  font-size: clamp(1.35rem, 1.1rem + 1.1vw, 2rem);
  line-height: 1.16;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.accueco-planning-auth__boundary p,
[data-planning-auth-boundary] p {
  margin: 12px 0 0;
  color: var(--planning-auth-muted);
  font-size: 1rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

[data-planning-auth-signin] {
  min-height: 44px;
  min-width: 0;
  margin-top: 18px;
  padding: 12px 18px;
  border: 2px solid var(--planning-auth-green);
  border-radius: 999px;
  background: var(--planning-auth-green);
  color: #062019;
  font: inherit;
  font-weight: 850;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
}

[data-planning-auth-signin]:focus-visible {
  outline: 3px solid var(--planning-auth-gold);
  outline-offset: 4px;
}

[data-planning-auth-status] {
  margin-top: 14px;
  max-width: 820px;
  padding: 12px 14px;
  border: 1px solid var(--planning-auth-border-strong);
  border-radius: 12px;
  background: rgba(118, 215, 173, 0.1);
  color: var(--planning-auth-text);
  font-weight: 750;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

[data-planning-auth-status]:empty {
  display: none;
}

[data-planning-auth-state="error"] [data-planning-auth-boundary] {
  border-color: var(--planning-auth-error-border);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.24),
    inset 0 0 0 1px rgba(240, 198, 95, 0.22);
}

[data-planning-auth-state="error"] [data-planning-auth-status] {
  border-color: var(--planning-auth-error-border);
  background: var(--planning-auth-error-bg);
  color: var(--planning-auth-error);
}

[data-planning-auth-root] [data-planning-auth-locked="true"].energy-scenario-selector,
[data-planning-auth-root] [data-planning-auth-locked="true"].energy-planning-estimator {
  border-color: rgba(118, 215, 173, 0.2);
}

[data-planning-auth-root] [data-planning-auth-locked="true"] .energy-scenario-card {
  cursor: not-allowed;
}

[data-planning-auth-root] [data-planning-auth-locked="true"] .energy-scenario-card:has(
  .energy-scenario-card__input:checked
),
[data-planning-auth-root] [data-planning-auth-locked="true"] .energy-scenario-card.is-selected {
  border-color: rgba(240, 198, 95, 0.42);
  background:
    linear-gradient(
      145deg,
      rgba(17, 58, 46, 0.95),
      rgba(8, 36, 29, 0.96)
    );
  box-shadow:
    inset 0 0 0 1px rgba(240, 198, 95, 0.16);
}

[data-planning-auth-root] [data-planning-auth-locked="true"] .energy-scenario-card__selected {
  border-color: rgba(240, 198, 95, 0.52);
  background: rgba(240, 198, 95, 0.16);
  color: #ffe397;
}

[data-planning-auth-root] [data-planning-auth-locked="true"] .energy-scenario-card__input:disabled
~ .energy-scenario-card__body,
[data-planning-auth-root] [data-planning-auth-locked="true"] .energy-scenario-card__input:disabled
~ .energy-scenario-card__selected {
  cursor: not-allowed;
}

@media (hover: hover) and (pointer: fine) {
  [data-planning-auth-root] [data-planning-auth-locked="true"] .energy-scenario-card:hover {
    border-color: rgba(145, 206, 179, 0.25);
    box-shadow: none;
  }
}

[data-planning-auth-root] [data-planning-auth-locked="true"] #energyPlanningSpend:disabled,
[data-planning-auth-root] [data-planning-auth-locked="true"] #energyPlanningTarget:disabled,
[data-planning-auth-root] [data-planning-auth-locked="true"] #energyPlanningHorizon:disabled {
  opacity: 1;
  border-color: rgba(243, 250, 246, 0.34);
  background: rgba(243, 250, 246, 0.88);
  color: #10231d;
  cursor: not-allowed;
}

[data-planning-auth-root] [data-planning-auth-locked="true"] #energyPlanningTarget:disabled {
  accent-color: #94b8a9;
  background: transparent;
}

[data-planning-auth-root] [data-planning-auth-locked="true"] [data-energy-planner-copy]:disabled,
[data-planning-auth-root] [data-planning-auth-locked="true"] [data-energy-planner-download]:disabled {
  opacity: 1;
  border: 1px solid rgba(243, 250, 246, 0.32);
  background: rgba(193, 209, 202, 0.18);
  color: rgba(243, 250, 246, 0.74);
  cursor: not-allowed;
}

[data-planning-auth-root] a[aria-disabled="true"] {
  border-color: rgba(193, 209, 202, 0.36) !important;
  background: rgba(193, 209, 202, 0.14) !important;
  color: rgba(243, 250, 246, 0.72) !important;
  cursor: not-allowed;
  text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
  [data-planning-auth-root] a[aria-disabled="true"]:hover {
    border-color: rgba(193, 209, 202, 0.36) !important;
    background: rgba(193, 209, 202, 0.14) !important;
    color: rgba(243, 250, 246, 0.72) !important;
    text-decoration: none;
  }
}

@media (max-width: 420px) {
  .accueco-planning-auth__boundary,
  [data-planning-auth-boundary] {
    width: min(100% - 24px, 1120px);
    margin-top: 22px;
    border-radius: 16px;
  }

  [data-planning-auth-signin] {
    width: 100%;
    border-radius: 14px;
    white-space: normal;
  }
}

@media (forced-colors: active) {
  .accueco-planning-auth__boundary,
  [data-planning-auth-boundary] {
    border: 2px solid CanvasText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
    forced-color-adjust: auto;
  }

  .accueco-planning-auth__boundary h2,
  [data-planning-auth-boundary] h2,
  .accueco-planning-auth__boundary p,
  [data-planning-auth-boundary] p,
  [data-planning-auth-status] {
    color: CanvasText;
  }

  [data-planning-auth-signin] {
    border-color: ButtonText;
    background: ButtonFace;
    color: ButtonText;
  }

  [data-planning-auth-signin]:focus-visible {
    outline: 3px solid Highlight;
  }

  [data-planning-auth-status] {
    border: 2px solid CanvasText;
    background: Canvas;
  }

  [data-planning-auth-state="error"] [data-planning-auth-status] {
    border-color: Highlight;
    background: Canvas;
    color: CanvasText;
  }

  [data-planning-auth-root] a[aria-disabled="true"],
  [data-planning-auth-root] [data-planning-auth-locked="true"] [data-energy-planner-copy]:disabled,
  [data-planning-auth-root] [data-planning-auth-locked="true"] [data-energy-planner-download]:disabled,
  [data-planning-auth-root] [data-planning-auth-locked="true"] #energyPlanningSpend:disabled,
  [data-planning-auth-root] [data-planning-auth-locked="true"] #energyPlanningTarget:disabled,
  [data-planning-auth-root] [data-planning-auth-locked="true"] #energyPlanningHorizon:disabled {
    border: 2px solid GrayText !important;
    background: Canvas !important;
    color: GrayText !important;
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-planning-auth-signin],
  [data-planning-auth-status],
  [data-planning-auth-root] a[aria-disabled="true"] {
    transition: none !important;
    animation: none !important;
  }
}

@media print {
  .accueco-planning-auth__boundary,
  [data-planning-auth-boundary],
  [data-planning-auth-status] {
    display: none !important;
  }
}
