body {
  background:linear-gradient(var(--theme-account-surface-1) 1px, transparent 1px),
        linear-gradient(90deg, var(--theme-account-surface-1) 1px, transparent 1px),
        radial-gradient(circle at 80% 12%, var(--theme-account-inset-2), transparent 32rem),
        var(--theme-account-inset-3);
  background-size:68px 68px, 68px 68px, auto, auto;
  color:var(--bb-text-main);
  font-family:var(--font-body, 'Geist', sans-serif);
  padding-top:90px;
}

.auth-shell {
  max-width:560px;
  margin:0 auto;
  padding:70px 20px 100px;
}

.auth-card {
  background:var(--theme-account-surface-4);
  border:1px solid var(--theme-account-border-5);
  border-radius:8px;
  padding:34px;
  box-shadow:0 24px 80px var(--theme-account-shadow-6);
  margin-bottom:24px;
}

.auth-kicker {
  color:var(--bb-kelly);
  font-family:var(--font-code);
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:14px;
}

.auth-card h1 {
  color:var(--bb-kelly);
  letter-spacing:0;
  font-size:clamp(1.8rem, 5vw, 2.2rem);
  margin:12px 0 8px;
}

.auth-card h2 {
  color:var(--bb-kelly);
  font-size:1.1rem;
  margin:0 0 16px;
}

.auth-card p.auth-sub {
  color:var(--bb-text-muted);
  line-height:1.6;
  margin-bottom:0;
}

.form-group {
  margin-bottom:18px;
}

.form-label {
  display:block;
  font-family:var(--font-code);
  font-size:14px;
  color:var(--bb-kelly);
  margin-bottom:10px;
  letter-spacing:1px;
}

.form-input {
  width:100%;
  background:var(--theme-account-surface-8);
  border:1px solid var(--theme-account-border-9);
  border-radius:6px;
  padding:12px 14px;
  color:var(--bb-text-main);
  font-family:var(--font-body);
  font-size:max(14px, 0.95rem);
}

.form-input:focus {
  outline:none;
  border-color:var(--bb-kelly);
  background:var(--theme-account-inset-10);
}

.status-line {
  margin-top:12px;
  font-size:14px;
  line-height:1.5;
  display:none;
}

.status-line.is-error {
  color:var(--bb-error, var(--theme-component-error-1));
  display:block;
}

.status-line.is-ok {
  color:var(--bb-kelly);
  display:block;
}

.badge-row {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
}

.badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--font-code);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:0.5px;
  padding:6px 12px;
  border-radius:20px;
  border:1px solid var(--theme-account-border-18);
  color:var(--bb-kelly);
}

.badge.provider {
  border-color:var(--theme-account-border-19);
  color:var(--theme-component-info-27);
}

.pref-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.pref-label {
  font-family:var(--font-code);
  font-size:14px;
  color:var(--bb-text-main);
  letter-spacing:0.5px;
}

.switch {
  position:relative;
  display:inline-block;
  width:46px;
  height:26px;
  flex-shrink:0;
  cursor:pointer;
}

.switch input {
  opacity:0;
  width:0;
  height:0;
}

.switch-track {
  position:absolute;
  inset:0;
  background:var(--theme-account-surface-21);
  border:1px solid var(--theme-account-border-22);
  border-radius:26px;
  transition:0.2s;
}

.switch-track::before {
  content:"";
  position:absolute;
  height:18px;
  width:18px;
  left:3px;
  top:2px;
  background:var(--theme-component-ink-5);
  border-radius:50%;
  transition:0.2s;
}

.switch input:checked + .switch-track {
  background:var(--bb-kelly);
  border-color:var(--bb-kelly);
}

.switch input:checked + .switch-track::before {
  transform:translateX(20px);
}

.field-row {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:4px;
}

.field-row span:first-child {
  font-family:var(--font-code);
  font-size:14px;
  color:var(--bb-kelly);
  letter-spacing:1px;
  text-transform:uppercase;
}

.field-value {
  color:var(--bb-text-main);
  word-break:break-all;
}

.link-btn {
  background:none;
  border:none;
  color:var(--bb-kelly);
  font-family:var(--font-code);
  font-size:14px;
  text-decoration:underline;
  cursor:pointer;
  padding:0;
}

nav {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:80px;
  background:var(--theme-account-surface-16);
  border-bottom:1px solid var(--theme-account-border-17);
  z-index:1000;
}

nav .bb-container {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

nav img {
  height:45px;
  filter:drop-shadow(0 0 5px var(--bb-kelly));
}

footer {
  text-align:center;
  padding:50px 20px;
  border-top:1px solid var(--theme-account-border-7);
  color:var(--bb-text-muted);
}

/* Border geometry retained from the retired palette layer. */
html.bb-page-38f61eb03b[data-bb-theme="patriotic"] .auth-card{border-width:1px;border-style:solid;border-top-width:1px;border-top-style:solid;border-right-width:1px;border-right-style:solid;border-bottom-width:1px;border-bottom-style:solid;border-left-width:1px;border-left-style:solid;}
html.bb-page-38f61eb03b[data-bb-theme="patriotic"] .form-input{border-width:1px;border-style:solid;border-top-width:1px;border-top-style:solid;border-right-width:1px;border-right-style:solid;border-bottom-width:1px;border-bottom-style:solid;border-left-width:1px;border-left-style:solid;}
html.bb-page-38f61eb03b[data-bb-theme="patriotic"] .badge{border-width:1px;border-style:solid;border-top-width:1px;border-top-style:solid;border-right-width:1px;border-right-style:solid;border-bottom-width:1px;border-bottom-style:solid;border-left-width:1px;border-left-style:solid;}
html.bb-page-38f61eb03b[data-bb-theme="patriotic"] .switch-track{border-width:1px;border-style:solid;border-top-width:1px;border-top-style:solid;border-right-width:1px;border-right-style:solid;border-bottom-width:1px;border-bottom-style:solid;border-left-width:1px;border-left-style:solid;}
html.bb-page-38f61eb03b[data-bb-theme="patriotic"] nav{border-bottom-width:1px;border-bottom-style:solid;}
html.bb-page-38f61eb03b[data-bb-theme="patriotic"] footer{border-top-width:1px;border-top-style:solid;}
