/* =========================================================
   Sign In page — standalone, no dashboard chrome. Reuses the same
   body background, theme variables, and form components as the
   rest of the app (style.css + components.css must load first).
   ========================================================= */

.auth-theme-toggle{
  position:fixed;
  top:20px;right:20px;
  z-index:5;
}

.auth-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 20px;
  position:relative;
  z-index:1;
}

.auth-card{
  width:100%;
  max-width:420px;
  background:var(--field-bg);
  border:2px solid var(--card-border);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.12);
}

.auth-banner{
  position:relative;
  height:150px;
  overflow:hidden;
}
.auth-banner img{width:100%;height:100%;object-fit:cover;display:block;}
.auth-banner-tint{
  position:absolute;inset:0;
  background:linear-gradient(160deg, rgba(var(--accent-rgb),.55), rgba(var(--accent-rgb),.15));
}

.auth-body{padding:32px 32px 28px;}

.auth-logo{display:flex;justify-content:center;margin-bottom:22px;}
.auth-logo svg{height:44px;width:auto;color:var(--accent);}

.auth-title{
  text-align:center;
  font-weight:400;
  margin-bottom:4px;
  color:var(--text-dark);
}
.auth-sub{
  text-align:center;
  color:var(--text-muted);
  font-size:13.5px;
  margin-bottom:28px;
}

/* Password field needs room for the show/hide toggle button */
.auth-pass-field .field-input{padding-right:44px;}
.auth-pass-toggle{
  position:absolute;
  right:12px;top:17px;
  background:none;border:none;
  color:var(--text-muted);
  cursor:pointer;
  font-size:16px;
  line-height:1;
  padding:4px;
}
.auth-pass-toggle:hover{color:var(--accent);}

.auth-row{
  display:flex;align-items:center;justify-content:space-between;
  margin:-6px 0 22px;
}
.auth-row .field-check{margin-bottom:0;}
.auth-forgot{color:var(--accent);font-size:13px;}
.auth-forgot:hover{color:var(--accent-hover);}

.auth-submit{width:100%;margin-top:4px;}

.auth-signup{
  text-align:center;
  font-size:13.5px;
  color:var(--text-muted);
  margin:22px 0 2px;
}
.auth-signup a{color:var(--accent);}
.auth-signup a:hover{color:var(--accent-hover);}

.auth-brand-credit{
  display:flex;justify-content:center;
  margin-top:26px;
}
.auth-brand-credit img{height:26px;width:auto;}

body.theme-dark .auth-card{box-shadow:0 20px 50px rgba(0,0,0,.35);}
