@import url("./design-system/tokens.css?v=20260730-nohover1");
@import url("./design-system/components.css?v=20260730-footer2");

.jb-auth-page {
  padding-block: var(--jb-space-7) var(--jb-space-10);
  background: var(--jb-color-surface-subtle);
}

.jb-auth-entry {
  display: grid;
  grid-template-columns: minmax(25rem, 0.85fr) minmax(32rem, 1.15fr);
  width: min(100%, 78rem);
  margin-inline: auto;
  border: 1px solid var(--jb-color-border);
  border-radius: var(--jb-radius-lg);
  background: var(--jb-color-surface);
  overflow: hidden;
}

.jb-auth-intro {
  padding: var(--jb-space-7);
  border-right: 1px solid var(--jb-color-border);
  background: var(--jb-color-primary-subtle);
}

.jb-auth-intro h1 {
  margin: var(--jb-space-2) 0 var(--jb-space-3);
}

.jb-auth-intro__lead {
  margin: 0;
  color: var(--jb-color-text-muted);
  font-size: var(--jb-text-lg);
  line-height: var(--jb-leading-body);
}

.jb-auth-benefits {
  display: grid;
  gap: var(--jb-space-3);
  margin: var(--jb-space-6) 0 0;
  padding: var(--jb-space-5) 0 0;
  border-top: 1px solid var(--jb-color-border);
  list-style: none;
}

.jb-auth-benefits li {
  position: relative;
  margin: 0;
  padding-left: var(--jb-space-6);
  color: var(--jb-color-text-muted);
  line-height: var(--jb-leading-body);
}

.jb-auth-benefits li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--jb-color-primary);
  font-weight: 700;
}

.jb-auth-card {
  border: 0;
  border-radius: 0;
}

.jb-auth-card > .card-content {
  display: block;
  padding: var(--jb-space-7);
}

.jb-auth-card--workspace {
  border: 1px solid var(--jb-color-border);
  border-radius: var(--jb-radius-lg);
}

.jb-auth-card h1 { margin-top: 0; }
.jb-auth-card #Access form { margin: 0; }
.jb-auth-card #Access .AccessFields {
  display: grid;
  gap: var(--jb-space-4);
}
.jb-auth-card #Access .AccessField { margin: 0; }
.jb-auth-card #Access .AccessLabel { display: block; margin: 0 0 var(--jb-space-1); font-weight: 700; line-height: 1.4; }
.jb-auth-card #Access #login_remember_wrap label {
  display: inline-flex !important;
  align-items: center;
  gap: var(--jb-space-2) !important;
  margin: 0;
  line-height: 1.4;
}
.jb-auth-card #Access input[type="checkbox"] {
  width: 2rem;
  height: 2rem;
  min-height: 2rem;
  flex: 0 0 2rem;
  margin: 0;
  accent-color: var(--jb-color-primary);
  appearance: auto;
}
.jb-auth-card #Access input[type="text"],
.jb-auth-card #Access input[type="email"],
.jb-auth-card #Access input[type="password"] {
  width: 100%;
  max-width: none;
  min-height: var(--jb-size-touch);
  padding: var(--jb-space-3);
  border: 1px solid var(--jb-color-border-strong);
  border-radius: var(--jb-radius-md);
  background: var(--jb-color-surface);
  font: inherit;
}
.jb-auth-card #Access input:focus-visible { outline: 3px solid var(--jb-color-focus); outline-offset: 2px; }
.jb-auth-card #Access button[type="submit"],
.jb-auth-card #Access input[type="submit"] {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  min-height: var(--jb-size-touch);
  align-items: center;
  margin: 0;
  padding: var(--jb-space-2) var(--jb-space-5);
  color: var(--jb-color-on-primary);
  background: var(--jb-color-primary);
  border: 2px solid var(--jb-color-primary);
  border-radius: var(--jb-radius-md);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.jb-auth-card #Access button[type="submit"]:focus-visible,
.jb-auth-card #Access input[type="submit"]:focus-visible {
  outline: 3px solid var(--jb-color-focus);
  outline-offset: 2px;
}

.jb-auth-card .AccessError,
.jb-auth-card .AccessMessage {
  margin: 0 0 var(--jb-space-4);
  padding: var(--jb-space-3) var(--jb-space-4);
  border-left: 4px solid currentcolor;
  background: var(--jb-color-surface-subtle);
  line-height: var(--jb-leading-body);
}

.jb-auth-card .AccessError { color: var(--jb-color-error); }
.jb-auth-card .AccessMessage { color: var(--jb-color-success); }

.jb-auth-card .AccessLinks {
  display: grid;
  gap: var(--jb-space-2);
  margin: var(--jb-space-5) 0 0;
  padding: var(--jb-space-4) 0 0;
  border-top: 1px solid var(--jb-color-border);
  list-style: none;
}

.jb-auth-card .AccessLinks li {
  margin: 0;
  padding: 0;
}

.jb-auth-card .AccessLinks li::before {
  display: none;
  content: none;
}

.jb-auth-card .AccessLinks a {
  display: inline-flex;
  min-height: var(--jb-size-control);
  align-items: center;
}

.jb-auth-privacy {
  margin: var(--jb-space-5) 0 0;
  color: var(--jb-color-text-muted);
  font-size: var(--jb-font-size-sm);
  line-height: var(--jb-leading-body);
}

@media (max-width: 48rem) {
  .jb-auth-entry {
    grid-template-columns: 1fr;
  }

  .jb-auth-intro {
    padding: var(--jb-space-5);
    border-right: 0;
    border-bottom: 1px solid var(--jb-color-border);
  }

  .jb-auth-benefits {
    margin-top: var(--jb-space-4);
    padding-top: var(--jb-space-4);
  }

  .jb-auth-card > .card-content {
    padding: var(--jb-space-5);
  }
}

@media (max-width: 40rem) {
  .jb-auth-page {
    padding-block: var(--jb-space-3) var(--jb-space-6);
  }

  .jb-auth-page > .jb-container {
    padding-inline: var(--jb-space-3);
  }

  .jb-auth-entry,
  .jb-auth-card--workspace {
    border-radius: var(--jb-radius-md);
  }
}
