:root {
  color-scheme: light;
  --impromptu-canvas: #f4f5f2;
  --impromptu-surface: #ffffff;
  --impromptu-soft: #f7f3ee;
  --impromptu-ink: #202833;
  --impromptu-muted: #68716d;
  --impromptu-line: #d9ded8;
  --impromptu-coral: #cf604f;
  --impromptu-coral-strong: #b94c3c;
  --impromptu-amber: #c88922;
  --impromptu-focus: #476fd1;
  --impromptu-red: var(--impromptu-coral);
  --ink: var(--impromptu-ink);
  --paper: var(--impromptu-surface);
  --muted: var(--impromptu-muted);
  --line: var(--impromptu-line);
  --red: var(--impromptu-coral);
  --caption: var(--impromptu-amber);
  --ui-border: var(--impromptu-line);
  --ui-surface: var(--impromptu-surface);
  --ui-surface-muted: var(--impromptu-soft);
  --ui-ink: var(--impromptu-ink);
  --ui-ink-muted: var(--impromptu-muted);
  --ui-muted: var(--impromptu-muted);
  --ui-focus: var(--impromptu-focus);
}

body[data-dashboard-app],
body[data-dashboard-login],
body[data-dashboard-billing-return] {
  min-height: 100vh;
  color: var(--impromptu-ink);
  background:
    radial-gradient(circle at 100% 0, rgba(207, 96, 79, .08), transparent 28rem),
    linear-gradient(180deg, #fafaf8 0, var(--impromptu-canvas) 22rem);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body[data-dashboard-app]::before,
body[data-dashboard-login]::before,
body[data-dashboard-billing-return]::before,
body[data-dashboard-app]::after,
body[data-dashboard-login]::after,
body[data-dashboard-billing-return]::after {
  background: none;
  box-shadow: none;
  opacity: 0;
}

body[data-dashboard-app] .site-header,
body[data-dashboard-login] .site-header,
body[data-dashboard-billing-return] .site-header {
  border-bottom: 1px solid var(--impromptu-line);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 6px 22px rgba(32, 40, 51, .06);
  backdrop-filter: blur(14px);
}

.brand .brand-lockup {
  width: clamp(174px, 20vw, 224px);
  height: auto;
  filter: none;
}

body[data-dashboard-app] .brand-name,
body[data-dashboard-login] .brand-name,
body[data-dashboard-billing-return] .brand-name {
  color: var(--impromptu-ink);
}

body[data-dashboard-app] .brand-label,
body[data-dashboard-login] .brand-label,
body[data-dashboard-billing-return] .brand-label {
  color: var(--impromptu-muted);
}

.dashboard-page,
.member-page {
  position: relative;
  z-index: 1;
}

.member-topbar h1,
.dashboard-hero h1,
.document-titlebar h1 {
  color: var(--impromptu-ink);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-weight: 760;
  letter-spacing: -.025em;
  text-transform: none;
}

body[data-dashboard-app] .eyebrow,
body[data-dashboard-login] .eyebrow,
body[data-dashboard-billing-return] .eyebrow {
  color: var(--impromptu-coral-strong);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: .72rem;
  font-weight: 760;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.button,
.nav-cta {
  border: 1px solid var(--impromptu-coral);
  border-radius: 9px;
  background: var(--impromptu-coral);
  color: #fff;
  box-shadow: 0 1px 2px rgba(32, 40, 51, .08);
  font-family: inherit;
  font-weight: 700;
  letter-spacing: 0;
}

.button:hover,
.nav-cta:hover {
  border-color: var(--impromptu-coral-strong);
  background: var(--impromptu-coral-strong);
  color: #fff;
}

.button:focus-visible,
.nav-cta:focus-visible {
  outline: 3px solid rgba(71, 111, 209, .28);
  outline-offset: 2px;
}

.button-secondary,
.button-quiet,
.document-icon-button,
.document-zoom-value {
  border-color: var(--impromptu-line);
  background: var(--impromptu-surface);
  color: var(--impromptu-ink);
}

.button-secondary:hover,
.button-quiet:hover,
.document-icon-button:hover,
.button-secondary:focus-visible,
.button-quiet:focus-visible,
.document-icon-button:focus-visible {
  border-color: #c5ccc4;
  background: var(--impromptu-soft);
  color: var(--impromptu-ink);
}

.button:disabled,
.dashboard-context-action:disabled {
  border-color: var(--impromptu-line);
  background: #ecefeb;
  color: #929a95;
  cursor: not-allowed;
  opacity: 1;
}

.dashboard-panel,
.member-panel,
.member-panel-wide,
.ui-panel,
.dashboard-access,
.voice-subpanel,
.document-stage,
.document-scope-bar {
  border-color: var(--impromptu-line);
  background: var(--impromptu-surface);
  box-shadow: 0 10px 30px rgba(32, 40, 51, .06);
}

.dashboard-panel-header,
.ui-panel__header {
  border-color: var(--impromptu-line);
  background: #fbfbf9;
}

.dashboard-panel-header span,
.dashboard-panel-header > div:first-child > span,
.ui-component-copy,
.ui-empty-state,
.dashboard-empty,
.dashboard-item-meta,
.dashboard-context-copy span,
.dashboard-auth-status,
.voice-field,
.document-scope-bar span {
  color: var(--impromptu-muted);
}

.dashboard-metric,
.ui-status-tile,
.ui-fact,
.dashboard-item,
.member-choice,
.member-detail,
.member-tool,
.member-oneoff-item,
.member-invoice,
.dashboard-context-row,
.voice-status-tile,
.voice-target-context,
.voice-audio-current {
  border-color: var(--impromptu-line);
  background: #fbfcfa;
  box-shadow: none;
}

.dashboard-metric strong,
.member-status-grid .dashboard-metric strong,
.dashboard-context-copy strong,
.dashboard-item-title strong,
.dashboard-item-title a,
.member-choice-body strong,
.ui-component-heading,
.ui-fact dd,
.voice-status-tile strong {
  color: var(--impromptu-ink);
}

.dashboard-metric span,
.ui-fact dt {
  color: var(--impromptu-muted);
}

.dashboard-identity-strip .dashboard-metric[data-tone="positive"] {
  border-color: #b9dbc5;
  background: #f1faf4;
}

.dashboard-identity-strip .dashboard-metric[data-tone="warning"] {
  border-color: #e7cf9e;
  background: #fff9eb;
}

.dashboard-identity-strip .dashboard-metric[data-tone="negative"] {
  border-color: #edc0b9;
  background: #fff4f2;
}

.dashboard-badge,
.ui-pill {
  border-color: var(--impromptu-line);
  background: #f0f2ef;
  color: var(--impromptu-ink);
}

.dashboard-badge.is-good,
.ui-pill[data-tone="positive"] {
  border-color: #b9dbc5;
  background: #eaf7ef;
  color: #27643d;
}

.dashboard-badge.is-warn,
.ui-pill[data-tone="warning"] {
  border-color: #e7cf9e;
  background: #fff4d9;
  color: #79520d;
}

.ui-pill[data-tone="negative"],
.ui-alert--error {
  border-color: #edc0b9;
  background: #fff0ed;
  color: #8f3328;
}

input,
select,
textarea,
.dashboard-release-control select {
  border-color: var(--impromptu-line);
  background: var(--impromptu-surface);
  color: var(--impromptu-ink);
}

input::placeholder,
textarea::placeholder {
  color: #929a95;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--impromptu-focus);
  outline: 3px solid rgba(71, 111, 209, .16);
}

select option {
  background: var(--impromptu-surface);
  color: var(--impromptu-ink);
}

.dashboard-header [data-dashboard-nav],
.dashboard-tool-menu .voice-line-menu,
.ui-menu {
  border-color: var(--impromptu-line);
  background: var(--impromptu-surface);
  box-shadow: 0 16px 42px rgba(32, 40, 51, .14);
}

.dashboard-tool-menu .voice-line-menu button,
.dashboard-tool-menu .voice-line-menu a,
.dashboard-tool-menu-item {
  color: var(--impromptu-ink);
}

.dashboard-tool-menu .voice-line-menu button:hover,
.dashboard-tool-menu .voice-line-menu a:hover,
.dashboard-tool-menu-item:hover,
.dashboard-tool-menu-item:focus-visible {
  background: var(--impromptu-soft);
}

.dashboard-period-selector button {
  border-color: var(--impromptu-line);
  color: var(--impromptu-muted);
}

.dashboard-period-selector button[aria-pressed="true"] {
  border-color: var(--impromptu-coral);
  background: #fae9e5;
  color: #87372d;
}

.dashboard-message,
.ui-alert,
.dashboard-preview-banner,
.dashboard-release-banner,
.document-change-notice {
  border-color: var(--impromptu-line);
  background: var(--impromptu-surface);
  color: var(--impromptu-ink);
}

dialog,
.ui-dialog,
.voice-dialog,
.voice-modal {
  border-color: var(--impromptu-line);
  background: var(--impromptu-surface);
  color: var(--impromptu-ink);
  box-shadow: 0 28px 90px rgba(32, 40, 51, .24);
}

dialog::backdrop,
.ui-dialog::backdrop,
.voice-dialog::backdrop {
  background: rgba(32, 40, 51, .42);
  backdrop-filter: blur(3px);
}

.voice-signal,
.document-status-dot {
  border-color: var(--impromptu-line);
}

.voice-workspace-columns,
.dashboard-component-grid {
  align-items: start;
}

.document-toolbar,
.document-stage-status,
.document-component-shell,
.voice-component-shell {
  border-color: var(--impromptu-line);
  background: var(--impromptu-soft);
  color: var(--impromptu-ink);
}

.document-sheet,
.document-page {
  color-scheme: light;
}

@media (max-width: 720px) {
  .brand .brand-lockup {
    width: 168px;
  }
}
