@layer ll-service-extension.components {
  .ll-service-extension .ll-se-state-panel {
    display: grid;
    justify-items: center;
    gap: var(--ll-se-space-3);
    min-block-size: 7rem;
    padding: var(--ll-se-space-6);
    color: var(--ll-se-color-text-secondary);
    text-align: center;
    background: var(--ll-se-color-surface-subtle);
    border: 0.0625rem solid var(--ll-se-color-border);
    border-radius: var(--ll-se-radius-md);
  }

  .ll-service-extension .ll-se-state-panel[hidden] {
    display: none;
  }

  .ll-service-extension .ll-se-state-panel[data-state="partial_error"],
  .ll-service-extension .ll-se-state-panel[data-state="error"],
  .ll-service-extension .ll-se-state-panel[data-state="unavailable"] {
    color: var(--ll-se-color-danger);
    background: var(--ll-se-color-danger-soft);
  }

  .ll-service-extension .ll-se-state-panel__message {
    max-inline-size: 42rem;
    margin: 0;
    overflow-wrap: anywhere;
  }

  .ll-service-extension .ll-se-state-panel__retry {
    min-block-size: 2.75rem;
    padding: var(--ll-se-space-2) var(--ll-se-space-4);
    color: var(--ll-se-color-text-primary);
    cursor: pointer;
    background: var(--ll-se-color-surface-raised);
    border: 0.0625rem solid var(--ll-se-color-border-strong);
    border-radius: var(--ll-se-radius-sm);
  }

  .ll-service-extension .ll-se-state-panel__retry:disabled {
    color: var(--ll-se-color-text-muted);
    cursor: not-allowed;
  }
}
