/* src/sitestyle/src/_vars.css */
:root {
  --color-fg-body: black;
  --color-bg-body: white;
  --color-bg-code: #e2e2e2;
  --color-border-success: #0a5a0a;
  --color-bg-success: #d4f7d4;
  --color-bg-danger: #f7dcdc;
  --color-border-danger: #7f0505;
  --color-bg-info: #eafcfb;
  --color-fg-deemphasize-text: lightslategray;
  --color-fg-deemphasize-nontext: lightgray;
  --color-fg-strong: #333;
  --color-fg-muted: #666;
  --color-fg-inverse: white;
  --color-fg-success: green;
  --color-fg-warning: #ff8c00;
  --color-fg-error: #c00;
  --color-fg-info: #06c;
  --color-fg-danger: #dc3545;
  --color-fg-link: #06c;
  --color-fg-badge-success: #155724;
  --color-fg-badge-danger: #721c24;
  --color-fg-stack-trace: #d73a49;
  --color-fg-json-key: #0969da;
  --color-fg-json-number: #0969da;
  --color-fg-json-string: #032f62;
  --color-fg-json-boolean: #d73a49;
  --color-fg-json-null: #6a737d;
  --color-fg-json-punctuation: #24292e;
  --color-bg-deemphasize: #f5f5f5;
  --color-bg-panel: #f8f9fa;
  --color-bg-log: #f8f8f8;
  --color-bg-badge-success: #d4edda;
  --color-bg-badge-danger: #f8d7da;
  --color-bg-mock-banner: #ffeaa7;
  --color-bg-tooltip: #333;
  --color-bg-notification: #000c;
  --color-bg-button-primary: #007bff;
  --color-bg-button-disabled: #6c757d;
  --color-bg-transparency-check-dark: #f0f0f0;
  --color-hover-bg-row: #f9f9f9;
  --color-hover-bg-button-primary: #0056b3;
  --color-hover-bg-dropdown: #f0f0f0;
  --color-border-strong: #000;
  --color-border-table: #e0e0e0;
  --color-border-panel: #ddd;
  --color-border-muted: #dee2e6;
  --color-border-dropdown: #ccc;
  --color-border-faint: #0000001a;
  --color-border-mock-banner: #fdcb6e;
  --color-outline-focus: #06c;
  --color-shadow-default: #0000001a;
  --color-shadow-card: #0000001a;
  --color-shadow-dropdown: #0003;
  --font-sans: "Adobe Source Sans Pro", sans-serif;
  --font-serif: "Adobe Source Serif Pro", serif;
  --font-mono: "Adobe Source Code Pro", monospace;
}

/* src/sitestyle/src/_elements.css */
html {
  scrollbar-gutter: stable;
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-serif);
  color: var(--color-fg-body);
  background-color: var(--color-bg-body);
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 1.5em;
  margin-bottom: .5em;
  font-variant-caps: small-caps;
}

main {
  box-sizing: border-box;
  flex-grow: 1;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1em 2em 4em;
}

summary {
  cursor: pointer;
}

details {
  border: 1px dotted var(--color-fg-body);
  border-radius: 5px;
  padding: .5em;
}

button, a.button {
  font-family: var(--font-serif);
  border: 1px dotted var(--color-fg-body);
  color: var(--color-fg-body);
  background: var(--color-bg-body);
  cursor: pointer;
  border-radius: 5px;
  margin: 1em 0;
  padding: .5em;
  font-variant-caps: all-small-caps;
  font-weight: bold;
}

a.button {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  margin: 0;
  padding: 0;
}

button[disabled], a.button.disabled-button {
  color: var(--color-fg-deemphasize-text);
  border-color: var(--color-fg-deemphasize-text);
  cursor: not-allowed;
}

p button {
  margin: 0;
}

pre, code {
  font-family: var(--font-mono);
  background-color: var(--color-bg-code);
  border-radius: 5px;
  font-size: 12px;
}

pre {
  overflow-x: auto;
  padding: .5em;
}

code {
  padding: 0 .5em;
}

footer {
  color: var(--color-fg-deemphasize-text);
  border-top: 2px double var(--color-fg-deemphasize-nontext);
  margin: 2em;
  font-size: .8em;
}

a, a:visited {
  color: inherit;
}

/* src/sitestyle/src/adminPages.css */
.admin-container {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.admin-login-container {
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
}

.admin-header {
  border-bottom: 2px solid var(--color-fg-deemphasize-nontext);
  margin-bottom: 2em;
  padding-bottom: 1em;
}

.admin-email {
  color: var(--color-fg-deemphasize-text);
}

.job-run-detail {
  max-width: 1200px;
  margin: 2rem auto;
  padding: 0 1rem;
}

.job-run-header {
  background-color: var(--color-bg-deemphasize);
  border-radius: 8px;
  margin-bottom: 2rem;
  padding: 1.5rem;
}

.job-run-header h1 {
  margin: 0 0 1rem;
  font-size: 1.75rem;
}

.job-run-metadata {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

.metadata-item {
  display: flex;
  flex-direction: column;
}

.metadata-label {
  color: var(--color-fg-muted);
  margin-bottom: .25rem;
  font-size: .875rem;
  font-weight: 600;
}

.metadata-value {
  font-size: 1rem;
}

.status-running {
  color: var(--color-fg-info);
}

.status-completed {
  color: var(--color-fg-success);
}

.status-failed {
  color: var(--color-fg-error);
}

.status-retrying {
  color: var(--color-fg-warning);
}

.job-run-logs {
  background-color: var(--color-bg-log);
  border: 1px solid var(--color-border-panel);
  overflow-x: auto;
  border-radius: 4px;
  padding: 1rem;
}

.job-run-logs h2 {
  margin: 0 0 1rem;
  font-size: 1.5rem;
}

.log-entries {
  white-space: pre-wrap;
  word-break: break-word;
  font-family: monospace;
  font-size: .875rem;
  line-height: 1.5;
}

.log-entry {
  margin-bottom: .5rem;
  padding: .25rem 0;
}

.log-time {
  color: var(--color-fg-muted);
  margin-right: 1rem;
}

.log-level-info {
  color: var(--color-fg-strong);
}

.log-level-warn {
  color: var(--color-fg-warning);
}

.log-level-error {
  color: var(--color-fg-error);
}

.log-level-debug {
  color: var(--color-fg-muted);
}

.back-link {
  display: inline-block;
  color: var(--color-fg-link);
  text-decoration: none;
  margin-bottom: 1rem;
}

.back-link:hover {
  text-decoration: underline;
}

/* src/sitestyle/src/asideError.css */
aside.error-message {
  background-color: var(--color-bg-danger);
  margin: 1em;
  padding: .25em 1em;
}

aside.error-message h3 {
  margin-top: .5em;
}

/* src/sitestyle/src/dashboardManagement.css */
button.unlink-item {
  background-color: var(--color-bg-danger);
}

#stripe-checkout-result {
  background-color: var(--color-bg-info);
  border-radius: 5px;
  margin: 1em 0;
  padding: .5em;
}

.account-links-danger-zone {
  border: 1px solid var(--color-border-danger);
  background-color: var(--color-bg-danger);
  margin-top: 1em;
  padding: 1em;
}

.account-links-danger-zone summary {
  cursor: pointer;
  font-weight: bold;
}

.account-links-danger-zone plaid-unlink-all-connections {
  display: block;
  margin-top: 1em;
}

/* src/sitestyle/src/docs.css */
.docs-layout {
  display: grid;
  grid-template-columns: minmax(10rem, 13rem) minmax(0, 48rem);
  align-items:  start;
  gap: clamp(2rem, 6vw, 5rem);
  margin-top: 2em;
}

.docs-navigation {
  position: sticky;
  border: 1px dotted var(--color-fg-body);
  border-radius: 5px;
  padding: 1em;
  top: 1em;
}

.docs-navigation h2 {
  margin: 0 0 .75em;
  font-size: 1.1rem;
}

.docs-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.docs-navigation li + li {
  margin-top: .4em;
}

.docs-navigation .site-pages {
  border-top: 1px dotted var(--color-fg-deemphasize-nontext);
  margin-top: 1em;
  padding-top: 1em;
}

.docs-content {
  min-width: 0;
}

.docs-content > :first-child {
  margin-top: 0;
}

.docs-content table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 1.5em;
}

.docs-content th, .docs-content td {
  border: 1px dotted var(--color-fg-body);
  text-align: left;
  padding: .75em 1em;
}

.docs-content th {
  background: var(--color-bg-deemphasize);
  font-variant-caps: small-caps;
}

@media (max-width: 700px) {
  .docs-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 2em;
  }

  .docs-navigation {
    position: static;
  }

  .docs-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: .4em 1.25em;
  }

  .docs-navigation li + li {
    margin-top: 0;
  }
}

/* src/sitestyle/src/loginRegisterForm.css */
form.login-register-form section {
  display: flex;
  align-items:  center;
  margin-bottom: .5em;
}

form.login-register-form section label {
  width: 8em;
  margin-right: 1em;
}

/* src/sitestyle/src/spinner.css */
.spinner {
  border: 2px solid var(--color-fg-deemphasize-nontext);
  border-top: 2px solid var(--color-fg-body);
  animation: 1s linear infinite spin;
  display: inline-block;
  vertical-align: top;
  border-radius: 50%;
  width: .9em;
  height: .9em;
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* src/sitestyle/src/svgsprite.css */
svg.sprite {
  display: inline-block;
  vertical-align: -.125em;
  width: 1em;
  height: 1em;
}

/* src/sitestyle/src/unlinkAllSessionsForm.css */
form.unlink-all-sessions-form {
  border: 1px dotted var(--color-border-danger);
  background-color: var(--color-bg-danger);
  border-radius: 5px;
  margin: 1em 0;
  padding: .25em 1em;
}

/* src/sitestyle/src/userAccountDetails.css */
details.user-account summary {
  display: flex;
  justify-content: space-between;
  align-items:  center;
  width: 100%;
}

details.user-account summary span {
  display: inline-block;
  margin-right: auto;
}

details.user-account summary form {
  display: inline-block;
  margin-left: auto;
}

details.user-account summary form button {
  margin: 0;
}

/* src/sitestyle/src/utility.css */
.display-none {
  display: none;
}

.tabnum {
  font-variant-numeric: tabular-nums lining-nums slashed-zero;
}

/* src/sitestyle/src/visual.css */
.visual-page {
  background-color: var(--color-bg-body);
  background-image: conic-gradient(var(--color-bg-transparency-check-dark) 25%, var(--color-bg-body) 0 50%, var(--color-bg-transparency-check-dark) 0 75%, var(--color-bg-body) 0);
  background-size: 24px 24px;
}

.visual-mockup {
  margin-top: 3em;
}

.visual-mockup > hr {
  margin-bottom: 2em;
}

.visual-mockup > h3 {
  margin-top: 0;
}

.visual-mockup-surface {
  background-color: var(--color-bg-body);
  overflow-x: auto;
  margin-top: 1.5em;
  padding: clamp(2em, 5vw, 4em);
}

/* src/sitestyle/src/index.css */

