.ka-panel [data-plan-quote] {
  --ka-quote-time: var(--ka-time, 200ms);
  transition: border-color var(--ka-quote-time) var(--ka-ease, ease), background var(--ka-quote-time) var(--ka-ease, ease);
}
.ka-panel .ka-quote-validity {
  display: grid;
  gap: 6px;
  margin: 12px 0 4px;
  padding: 12px 14px;
  border: 1px solid var(--ka-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--ka-accent) 4%, var(--ka-bg));
  color: var(--ka-text);
  animation: ka-quote-enter var(--ka-quote-time) var(--ka-ease, ease) both;
  transition: background var(--ka-quote-time) var(--ka-ease, ease), border-color var(--ka-quote-time) var(--ka-ease, ease);
}
.ka-panel .ka-quote-validity p { margin: 0; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.ka-panel .ka-quote-clock { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; min-height: 20px; }
.ka-panel [data-plan-quote-status] { font-weight: 600; color: var(--ka-text); }
.ka-panel [data-plan-quote-deadline], .ka-panel [data-plan-quote-hint] { color: var(--ka-muted); }
.ka-panel [data-plan-quote-remaining] { color: var(--ka-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ka-panel .has-quote-error [data-plan-quote-hint] { color: var(--ka-danger, #dc2626); }
.ka-panel [data-quote-state="expired"] .ka-quote-validity { background: color-mix(in srgb, var(--ka-text) 4%, var(--ka-bg)); }
.ka-panel [data-plan-quote-action] {
  min-height: 40px;
  min-width: 104px;
  white-space: nowrap;
  cursor: pointer;
  transition: transform var(--ka-quote-time) var(--ka-ease, ease), opacity var(--ka-quote-time) var(--ka-ease, ease), background var(--ka-quote-time) var(--ka-ease, ease);
}
.ka-panel [data-plan-quote-action]:hover:not(:disabled) { transform: scale(1.02); }
.ka-panel [data-plan-quote-action]:active:not(:disabled) { transform: scale(.98); }
.ka-panel [data-plan-quote-action]:focus-visible { outline: 2px solid var(--ka-accent); outline-offset: 3px; }
.ka-panel [data-plan-quote-action]:disabled { cursor: not-allowed; opacity: .6; transform: none; }
@keyframes ka-quote-enter { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .ka-panel [data-plan-quote], .ka-panel .ka-quote-validity, .ka-panel [data-plan-quote-action] { animation: none; transition: none; }
  .ka-panel [data-plan-quote-action]:hover:not(:disabled), .ka-panel [data-plan-quote-action]:active:not(:disabled) { transform: none; }
}
