:root {
  --brand: #007DB7;
  --accent: #00A5D2;
  --text-on-brand: #ffffff;
  --brand-font: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --sans-serif: var(--brand-font);
  --serif: var(--brand-font);
  --lh-copy: 1.3;
  --survey-management-control-height: 2.375rem;
  --survey-management-control-radius: 0.45rem;
  --survey-management-control-padding-x: 0.95rem;
  --survey-management-control-bg: var(--theme-background-alt, Canvas);
  --survey-management-control-border: color-mix(in srgb, var(--theme-foreground-alt, CanvasText) 18%, transparent);
  --survey-management-control-text: var(--theme-foreground, CanvasText);
  --survey-management-button-bg: var(--brand);
  --survey-management-button-bg-hover: color-mix(in srgb, var(--brand) 88%, black);
  --survey-management-button-border: color-mix(in srgb, var(--brand) 62%, var(--theme-foreground-alt, CanvasText) 16%);
  --survey-management-button-text: #ffffff;
  --survey-management-secondary-bg: color-mix(in srgb, var(--theme-background-alt, Canvas) 90%, var(--theme-foreground-alt, CanvasText) 10%);
  --survey-management-secondary-bg-hover: color-mix(in srgb, var(--theme-background-alt, Canvas) 82%, var(--theme-foreground-alt, CanvasText) 18%);
  --survey-management-secondary-border: color-mix(in srgb, var(--theme-foreground-alt, CanvasText) 22%, transparent);
  --survey-management-danger-bg: color-mix(in srgb, #e9532b 88%, var(--theme-background-alt, Canvas) 12%);
  --survey-management-danger-bg-hover: color-mix(in srgb, #e9532b 94%, black);
  --survey-management-danger-border: color-mix(in srgb, #e9532b 68%, transparent);
  --survey-management-focus-ring: color-mix(in srgb, var(--brand) 42%, white 58%);
  --survey-table-surface: var(--theme-background, Canvas);
  --survey-table-text: var(--theme-foreground, CanvasText);
  --survey-table-header-text: var(--theme-foreground, CanvasText);
  --survey-table-header-bg: color-mix(
    in srgb,
    var(--theme-background-alt, Canvas) 88%,
    var(--brand) 12%
  );
  --survey-table-header-border: color-mix(
    in srgb,
    var(--brand) 22%,
    var(--theme-foreground-fainter, var(--survey-management-control-border))
  );
  --survey-table-cell-border: color-mix(
    in srgb,
    var(--theme-foreground, CanvasText) 12%,
    transparent
  );
  --survey-table-header-shadow: inset 0 -1px 0 var(--survey-table-header-border);
}

body,
.observablehq,
#observablehq-main,
#observablehq-root {
  font-family: var(--brand-font);
}

.hide { display: none; }
.sticky-top {
  z-index: 1;
  position: sticky;
  top: 0;
}
.sticky-bottom {
  z-index: 1;
  bottom: 0;
}
.lh-copy {
  line-height: var(--lh-copy);
}

a:not([class]),
.observablehq a:not(.observablehq-header-anchor),
#observablehq-main a:not(.observablehq-header-anchor) {
  text-decoration: none;
  color: var(--brand);
}

a:not([class]):hover,
a:not([class]):focus,
a:not([class]):active,
.observablehq a:not(.observablehq-header-anchor):hover,
.observablehq a:not(.observablehq-header-anchor):focus,
.observablehq a:not(.observablehq-header-anchor):active,
#observablehq-main a:not(.observablehq-header-anchor):hover,
#observablehq-main a:not(.observablehq-header-anchor):focus,
#observablehq-main a:not(.observablehq-header-anchor):active {
  text-decoration: underline;
}

.observablehq .observablehq-header-anchor,
#observablehq-main .observablehq-header-anchor {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
  cursor: text;
}

.inputs-3a86ea input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
.inputs-3a86ea select,
.inputs-3a86ea textarea {
  border-color: var(--survey-management-control-border);
  border-radius: var(--survey-management-control-radius);
  background: var(--survey-management-control-bg);
  color: var(--survey-management-control-text);
}

.inputs-3a86ea input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
.inputs-3a86ea select,
.inputs-3a86ea button {
  min-height: var(--survey-management-control-height);
}

.inputs-3a86ea input::placeholder,
.inputs-3a86ea textarea::placeholder {
  color: var(--theme-foreground-alt, GrayText);
  opacity: 0.88;
}

[data-theme="spectre"] .nav-item,
[data-theme="spectre"] .nav-item .nav-link,
[data-theme="spectre"] .nav-item .nav-link * {
  color: var(--survey-management-button-text, #ffffff) !important;
}

[data-theme="spectre"] .nav-tabs .nav-item,
[data-theme="spectre"] .nav-tabs .nav-item a,
[data-theme="spectre"] .nav-tabs .nav-item button,
[data-theme="spectre"] .nav-tabs .nav-item a *,
[data-theme="spectre"] .nav-tabs .nav-item button * {
  color: var(--survey-management-button-text, #ffffff) !important;
}

[data-theme="spectre"] .nav-item {
  background: var(--survey-management-button-bg, var(--brand));
  border-color: var(--survey-management-button-border, var(--brand));
}

[data-theme="spectre"] .nav-item:hover {
  background: var(--survey-management-button-bg-hover, var(--brand));
}

[data-theme="spectre"] .nav-item .nav-link {
  background: transparent;
}

[data-theme="spectre"] [class*="json-editor-btn"] {
  background: var(--survey-management-button-bg, var(--brand)) !important;
  border-color: var(--survey-management-button-border, var(--brand)) !important;
  color: var(--survey-management-button-text, #ffffff) !important;
}

[data-theme="spectre"] [class*="json-editor-btn"]:hover,
[data-theme="spectre"] [class*="json-editor-btn"]:focus {
  background: var(--survey-management-button-bg-hover, var(--brand)) !important;
}

[data-theme="spectre"] [class*="json-editor-btntype-"],
[data-theme="spectre"] [class*="json-editor-btntype-"] * {
  color: var(--survey-management-button-text, #ffffff) !important;
}

[data-theme="spectre"] [class*="json-editor-btntype-"] {
  background: var(--survey-management-button-bg, var(--brand)) !important;
  border-color: var(--survey-management-button-border, var(--brand)) !important;
}

[data-theme="spectre"] [class*="json-editor-btntype-"]:hover,
[data-theme="spectre"] [class*="json-editor-btntype-"]:focus {
  background: var(--survey-management-button-bg-hover, var(--brand)) !important;
}

.json-editor-btns button,
.json-editor-btns a,
.json-editor-btns [class*="json-editor-btntype-"] {
  background: var(--survey-management-button-bg, var(--brand)) !important;
  border-color: var(--survey-management-button-border, var(--brand)) !important;
  color: var(--survey-management-button-text, #ffffff) !important;
}

.json-editor-btns button:hover,
.json-editor-btns a:hover,
.json-editor-btns [class*="json-editor-btntype-"]:hover {
  background: var(--survey-management-button-bg-hover, var(--brand)) !important;
}

.json-editor-btns button *,
.json-editor-btns a *,
.json-editor-btns [class*="json-editor-btntype-"] * {
  color: var(--survey-management-button-text, #ffffff) !important;
}

[data-theme="spectre"] .je-tab,
[data-theme="spectre"] .je-tab--top {
  background: var(--survey-management-button-bg, var(--brand));
  border-color: var(--survey-management-button-border, var(--brand));
  color: var(--survey-management-button-text, #ffffff);
}

[data-theme="spectre"] .form-input,
[data-theme="spectre"] .form-select,
[data-theme="spectre"] select,
[data-theme="spectre"] textarea {
  background: var(--survey-management-control-bg) !important;
  color: var(--survey-management-control-text) !important;
  border-color: var(--survey-management-control-border) !important;
}

[data-theme="spectre"] .form-input::placeholder,
[data-theme="spectre"] textarea::placeholder {
  color: var(--theme-foreground-alt, GrayText) !important;
  opacity: 0.9;
}

[data-theme="spectre"] .form-input:hover,
[data-theme="spectre"] .form-input:focus,
[data-theme="spectre"] .form-select:hover,
[data-theme="spectre"] .form-select:focus,
[data-theme="spectre"] select:hover,
[data-theme="spectre"] select:focus,
[data-theme="spectre"] textarea:hover,
[data-theme="spectre"] textarea:focus {
  background: var(--survey-management-control-bg) !important;
  color: var(--survey-management-control-text) !important;
  border-color: var(--survey-management-control-border) !important;
  box-shadow: 0 0 0 0.1rem var(--survey-management-focus-ring);
  outline: none;
}

[data-theme="spectre"] div[data-schematype]:not([data-schematype='object']):hover,
[data-theme="spectre"] div[data-schematype]:not([data-schematype='object']):focus-within {
  background: color-mix(in srgb, var(--survey-management-secondary-bg) 80%, transparent) !important;
}

.inputs-3a86ea button,
.inputs-3a86ea input[type="button"],
.inputs-3a86ea input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0.5rem var(--survey-management-control-padding-x);
  border: 1px solid var(--survey-management-button-border);
  border-radius: var(--survey-management-control-radius);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
  background: var(--survey-management-button-bg);
  color: var(--survey-management-button-text) !important;
  box-shadow: 0 1px 2px color-mix(in srgb, black 14%, transparent);
  cursor: pointer;
}

.inputs-3a86ea button:hover,
.inputs-3a86ea button:focus-visible,
.inputs-3a86ea input[type="button"]:hover,
.inputs-3a86ea input[type="submit"]:hover,
.inputs-3a86ea input[type="button"]:focus-visible,
.inputs-3a86ea input[type="submit"]:focus-visible {
  background: var(--survey-management-button-bg-hover) !important;
}

.inputs-3a86ea button:focus-visible,
.inputs-3a86ea input[type="button"]:focus-visible,
.inputs-3a86ea input[type="submit"]:focus-visible,
.survey-selection-table tbody tr:focus-visible {
  outline: 2px solid var(--survey-management-focus-ring);
  outline-offset: 2px;
}

.inputs-3a86ea button:disabled,
.inputs-3a86ea input[type="button"]:disabled,
.inputs-3a86ea input[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

button.survey-ui__primary-button,
input[type="button"].survey-ui__primary-button,
input[type="submit"].survey-ui__primary-button,
button.survey-ui__danger-button,
input[type="button"].survey-ui__danger-button,
input[type="submit"].survey-ui__danger-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: var(--survey-management-control-height);
  padding: 0.5rem var(--survey-management-control-padding-x);
  border: 1px solid var(--survey-management-button-border);
  border-radius: var(--survey-management-control-radius);
  font-family: var(--sans-serif);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
  box-shadow: 0 1px 2px color-mix(in srgb, black 14%, transparent);
  cursor: pointer;
}

.survey-ui__primary-button {
  background: var(--survey-management-button-bg, var(--brand));
  border-color: var(--survey-management-button-border, var(--brand));
  color: var(--survey-management-button-text, #ffffff) !important;
}

a.survey-ui__button-link,
.observablehq a.survey-ui__button-link,
#observablehq-main a.survey-ui__button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--survey-management-control-height);
  padding: 0.5rem 1rem;
  border: 1px solid var(--survey-management-button-border, var(--brand));
  border-radius: var(--survey-management-control-radius);
  background: var(--survey-management-button-bg, var(--brand));
  color: var(--survey-management-button-text, #ffffff) !important;
  font-family: var(--sans-serif);
  font-size: 13px;
  line-height: 1.2;
  text-decoration: none !important;
}

.inputs-3a86ea .survey-ui__primary-button {
  background: var(--survey-management-button-bg, var(--brand));
  border-color: var(--survey-management-button-border, var(--brand));
  color: var(--survey-management-button-text, #ffffff);
}

.survey-ui__primary-button:hover,
.survey-ui__primary-button:focus-visible {
  background: var(--survey-management-button-bg-hover, var(--brand));
  border-color: var(--survey-management-button-border, var(--brand));
}

.inputs-3a86ea .survey-ui__primary-button:hover,
.inputs-3a86ea .survey-ui__primary-button:focus-visible {
  background: var(--survey-management-button-bg-hover, var(--brand));
  border-color: var(--survey-management-button-border, var(--brand));
}

a.survey-ui__button-link:hover,
a.survey-ui__button-link:focus-visible,
.observablehq a.survey-ui__button-link:hover,
.observablehq a.survey-ui__button-link:focus-visible,
#observablehq-main a.survey-ui__button-link:hover,
#observablehq-main a.survey-ui__button-link:focus-visible {
  background: var(--survey-management-button-bg-hover, var(--brand));
  border-color: var(--survey-management-button-border, var(--brand));
  color: var(--survey-management-button-text, #ffffff) !important;
}

.survey-ui__danger-button {
  background: var(--survey-management-danger-bg, #e9532b);
  border-color: var(--survey-management-danger-border, #e9532b);
  color: #ffffff !important;
}

.inputs-3a86ea .survey-ui__danger-button {
  background: var(--survey-management-danger-bg, #e9532b);
  border-color: var(--survey-management-danger-border, #e9532b);
  color: #ffffff;
}

.survey-ui__danger-button:hover,
.survey-ui__danger-button:focus-visible {
  background: var(--survey-management-danger-bg-hover, #d9482a);
  border-color: var(--survey-management-danger-border, #e9532b);
}

button.survey-ui__primary-button:disabled,
input[type="button"].survey-ui__primary-button:disabled,
input[type="submit"].survey-ui__primary-button:disabled,
button.survey-ui__danger-button:disabled,
input[type="button"].survey-ui__danger-button:disabled,
input[type="submit"].survey-ui__danger-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.inputs-3a86ea .survey-ui__danger-button:hover,
.inputs-3a86ea .survey-ui__danger-button:focus-visible {
  background: var(--survey-management-danger-bg-hover, #d9482a);
  border-color: var(--survey-management-danger-border, #e9532b);
}

.survey-ui__primary-button .icon,
.survey-ui__danger-button .icon {
  color: currentColor;
}

form.roles-action-btn,
form.users-accounts-action {
  display: block;
  width: fit-content;
  max-width: 100%;
  min-height: auto;
  margin: 0.75rem 0;
}

.roles-action-btn button,
.users-accounts-action button {
  max-width: 100%;
  white-space: normal;
}

.users-accounts-action--secondary button {
  background: var(--survey-management-secondary-bg);
  color: var(--survey-management-control-text);
  border-color: var(--survey-management-secondary-border);
  box-shadow: none;
}

.users-accounts-action--secondary button:hover,
.users-accounts-action--secondary button:focus-visible {
  background: var(--survey-management-secondary-bg-hover);
}

.users-accounts-action--danger button {
  background: var(--survey-management-danger-bg);
  border-color: var(--survey-management-danger-border);
  box-shadow: none;
}

.survey-management-action--danger button,
.access-key-control--danger button,
.users-accounts-action--danger button {
  background: var(--survey-management-danger-bg);
  border-color: var(--survey-management-danger-border);
  box-shadow: none;
}

.survey-management-action--danger button:hover,
.survey-management-action--danger button:focus-visible,
.access-key-control--danger button:hover,
.access-key-control--danger button:focus-visible,
.users-accounts-action--danger button:hover,
.users-accounts-action--danger button:focus-visible {
  background: var(--survey-management-danger-bg-hover);
}

.observablehq table,
#observablehq-main table {
  border-collapse: collapse;
  border-spacing: 0;
  color: var(--survey-table-text);
}

.observablehq table thead th,
.observablehq table th,
#observablehq-main table thead th,
#observablehq-main table th {
  background: var(--survey-table-header-bg);
  color: var(--survey-table-header-text);
  font-weight: 700;
  text-align: left;
  box-shadow: var(--survey-table-header-shadow);
}

.observablehq table thead th,
#observablehq-main table thead th {
  border-bottom: 1px solid var(--survey-table-header-border);
}

.observablehq table td,
.observablehq table tbody th,
#observablehq-main table td,
#observablehq-main table tbody th {
  color: var(--survey-table-text);
  border-bottom: 1px solid var(--survey-table-cell-border);
}

.observablehq .inputs-3a86ea-table thead th,
#observablehq-main .inputs-3a86ea-table thead th {
  background: var(--survey-table-header-bg);
  color: var(--survey-table-header-text);
  font-weight: 700;
  box-shadow: var(--survey-table-header-shadow);
}

.observablehq .inputs-3a86ea-table thead tr th,
#observablehq-main .inputs-3a86ea-table thead tr th {
  border-bottom: 1px solid var(--survey-table-header-border);
}

.observablehq .inputs-3a86ea-table td,
.observablehq .inputs-3a86ea-table tbody th,
#observablehq-main .inputs-3a86ea-table td,
#observablehq-main .inputs-3a86ea-table tbody th {
  border-bottom: 1px solid var(--survey-table-cell-border);
}

.aws-credentials-control {
  max-width: min(100%, 48rem);
  margin: 0.75rem 0 1rem;
}

.aws-credentials-control form.inputs-3a86ea {
  width: 100%;
  align-items: start;
  gap: 0.85rem;
}

.aws-credentials-control .inputs-3a86ea > label {
  color: var(--theme-foreground, CanvasText);
  font-weight: 600;
}

.aws-credentials-control textarea {
  min-height: 7rem;
  width: 100%;
  background: color-mix(in srgb, var(--theme-background-alt, Canvas) 92%, var(--theme-background, Canvas));
  border-color: color-mix(in srgb, var(--brand) 20%, var(--theme-foreground-fainter, CanvasText));
  box-shadow: inset 0 1px 1px color-mix(in srgb, black 12%, transparent);
}

.aws-credentials-control button {
  justify-self: start;
}

.aws-credentials-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.aws-credentials-control textarea:focus {
  border-color: color-mix(in srgb, var(--brand) 58%, white 8%);
  outline: 2px solid color-mix(in srgb, var(--brand) 24%, transparent);
  outline-offset: 1px;
}

.aws-credentials-control--masked textarea {
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-shadow:
    0 0 4px color-mix(in srgb, var(--theme-foreground, CanvasText) 42%, transparent),
    0 0 9px color-mix(in srgb, var(--theme-foreground, CanvasText) 22%, transparent),
    0 0 16px color-mix(in srgb, var(--theme-foreground, CanvasText) 12%, transparent);
  caret-color: var(--theme-foreground, CanvasText);
}

.aws-credentials-control--masked textarea:not(:focus) {
  filter: blur(3px);
}

.survey-editor-load-status {
  margin: 0.75rem 0 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid color-mix(in srgb, var(--brand, #007DB7) 38%, var(--theme-foreground-fainter, CanvasText));
  border-left: 4px solid var(--brand, #007DB7);
  border-radius: 0;
  background: color-mix(in srgb, var(--brand, #007DB7) 10%, var(--theme-background-alt, Canvas));
  color: var(--theme-foreground, CanvasText);
  font-family: var(--sans-serif);
}

.survey-editor-load-status[hidden] {
  display: none !important;
}

.survey-editor-load-status__title {
  margin: 0 0 0.15rem;
  font-weight: 700;
}

.survey-editor-load-status__message {
  color: color-mix(in srgb, var(--theme-foreground, CanvasText) 82%, var(--brand, #007DB7));
  font-size: 0.95rem;
  line-height: 1.35;
}

.survey-editor-load-status[data-stage="error"] {
  border-color: color-mix(in srgb, #d1432f 55%, var(--theme-foreground-fainter, CanvasText));
  border-left-color: #d1432f;
  background: color-mix(in srgb, #d1432f 10%, var(--theme-background-alt, Canvas));
}
