/* v15.4.7 — Premium Delight + product personality (final layer) */

/* ——— Motion tokens ——— */
:root {
  --delight-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --delight-fast: 160ms;
  --delight-mid: 180ms;
}

/* ——— Aegis personality accents ——— */
.brand-mark {
  transition: box-shadow var(--delight-mid) var(--delight-ease), transform var(--delight-fast) var(--delight-ease);
}

.brand:hover .brand-mark,
.brand:focus-within .brand-mark {
  box-shadow: 0 0 0 2px rgba(4, 78, 120, 0.12), 0 6px 18px rgba(4, 78, 120, 0.08);
}

.eyebrow {
  letter-spacing: 0.06em;
}

/* ——— Buttons: press, hover, focus, loading ——— */
.btn {
  transition:
    transform var(--delight-fast) var(--delight-ease),
    box-shadow var(--delight-mid) var(--delight-ease),
    border-color var(--delight-mid) ease,
    background-color var(--delight-mid) ease,
    opacity var(--delight-mid) ease;
}

.btn:hover:not(:disabled) {
  transform: translateY(-1px);
}

.btn:active:not(:disabled) {
  transform: translateY(0) scale(0.985);
}

.btn:focus-visible {
  outline: 2px solid rgba(4, 78, 120, 0.55);
  outline-offset: 2px;
}

.btn:disabled,
.btn.is-refreshing {
  opacity: 0.72;
  cursor: wait;
  transform: none;
}

.btn.is-refreshing::after {
  content: '';
  display: inline-block;
  width: 0.85em;
  height: 0.85em;
  margin-left: 0.45em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  vertical-align: -0.12em;
  animation: aegis-delight-spin 0.65s linear infinite;
}

@keyframes aegis-delight-spin {
  to { transform: rotate(360deg); }
}

/* ——— Cards & queue items ——— */
.card,
.cmd-next-card,
.onboarding-card,
.event-log-item,
.review-queue-item {
  transition:
    border-color var(--delight-mid) ease,
    box-shadow var(--delight-mid) var(--delight-ease),
    transform var(--delight-fast) var(--delight-ease);
}

.review-queue-item:hover,
.review-queue-item:focus-visible {
  border-color: rgba(4, 78, 120, 0.22);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
  transform: translateY(-1px);
}

.review-queue-item:focus-visible {
  outline: 2px solid rgba(4, 78, 120, 0.45);
  outline-offset: 2px;
}

/* ——— Empty & onboarding states ——— */
.empty,
.onboarding-card,
.cmd-onboarding-card,
.premium-empty-state {
  border-radius: 16px;
}

.premium-empty-state {
  padding: 18px 16px;
  border: 1px dashed var(--aegis-border, var(--line));
  background: rgba(255, 255, 255, 0.72);
}

.premium-quiet-copy {
  line-height: 1.5;
}

.empty-state-steps li {
  margin-bottom: 6px;
}

/* ——— Refresh status line ——— */
.status-line.is-loading {
  color: var(--muted, #5c6470);
  font-style: normal;
}

.status-line.is-loading::before {
  content: '◦ ';
  opacity: 0.55;
}

/* ——— Toasts: enter/exit + mobile safe area ——— */
.toast-container {
  bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  pointer-events: none;
}

@media (min-width: 981px) {
  .toast-container {
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }
}

.toast {
  pointer-events: auto;
  opacity: 0;
  transform: translateY(10px) scale(0.98);
  transition:
    opacity var(--delight-mid) var(--delight-ease),
    transform var(--delight-mid) var(--delight-ease);
}

.toast.toast-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.toast.toast-exit {
  opacity: 0;
  transform: translateY(8px) scale(0.98);
}

.toast.info {
  border-color: rgba(4, 78, 120, 0.24);
}

/* ——— Dossier overlay polish ——— */
.aegis-dossier-overlay:not([hidden]) {
  animation: aegis-dossier-fade-in var(--delight-mid) var(--delight-ease);
}

.aegis-dossier-panel {
  transition: transform var(--delight-mid) var(--delight-ease), opacity var(--delight-mid) ease;
}

.aegis-dossier-overlay:not([hidden]) .aegis-dossier-panel {
  animation: aegis-dossier-slide-in var(--delight-mid) var(--delight-ease);
}

.aegis-dossier-close {
  min-width: 44px;
  min-height: 44px;
}

.aegis-dossier-close:focus-visible {
  outline: 2px solid rgba(4, 78, 120, 0.55);
  outline-offset: 2px;
}

.aegis-dossier-evidence-timeline li {
  transition: background-color var(--delight-mid) ease;
}

.aegis-dossier-evidence-timeline li:hover {
  background: rgba(4, 78, 120, 0.04);
}

.alert-source-pill,
.aegis-dossier-source-badge {
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}

@keyframes aegis-dossier-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes aegis-dossier-slide-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ——— Admin diagnostics quiet polish ——— */
.admin-diagnostics-row b {
  font-weight: 600;
}

.admin-diagnostics-group-title {
  letter-spacing: 0.03em;
}

.admin-status-card {
  transition: border-color var(--delight-mid) ease, box-shadow var(--delight-mid) ease;
}

.admin-status-card:focus-within {
  box-shadow: 0 0 0 2px rgba(4, 78, 120, 0.12);
}

/* ——— Reduced motion ——— */
@media (prefers-reduced-motion: reduce) {
  .btn,
  .card,
  .cmd-next-card,
  .onboarding-card,
  .event-log-item,
  .review-queue-item,
  .toast,
  .brand-mark,
  .aegis-dossier-panel {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }

  .btn.is-refreshing::after {
    animation: none;
    border-right-color: currentColor;
    opacity: 0.45;
  }

  .aegis-dossier-overlay:not([hidden]),
  .aegis-dossier-overlay:not([hidden]) .aegis-dossier-panel {
    animation: none !important;
  }
}
