/* Login page — styles unique to the sign-in screen.
   Shared tokens (colors/fonts) come from theme.css */

body{ min-height:100vh; }
.stage{ min-height:100vh; display:flex; }

.aside{
  flex:1 1 46%;
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,0.035) 0 2px, transparent 2px 14px),
    repeating-linear-gradient(25deg, rgba(255,255,255,0.03) 0 2px, transparent 2px 14px),
    linear-gradient(160deg, var(--indigo-deep), var(--indigo-darker) 85%);
  color:#EDE7D8;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:56px 60px; position:relative; overflow:hidden;
}
.mark{
  width:46px; height:46px; border-radius:9px;
  background:linear-gradient(155deg, var(--gold-soft), var(--gold));
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:20px; color:var(--indigo-darker);
}
.brand-row{ display:flex; align-items:center; gap:14px; }
.brand{ font-size:22px; font-weight:700; letter-spacing:2px; color:#F7F3E8; }
.brand small{
  display:block; font-family:'Inter',sans-serif; font-weight:400;
  letter-spacing:.5px; font-size:11px; color:#B9C4CF; margin-top:2px;
}
.pitch{ max-width:420px; margin-top:60px; }
.pitch h2{ font-size:32px; font-weight:700; line-height:1.28; color:#F7F3E8; }
.pitch p{ color:#AEBBC7; font-size:15px; line-height:1.65; margin-top:14px; }
.stat-row{ display:flex; gap:34px; margin-top:38px; }
.stat-row .n{ font-family:'JetBrains Mono',monospace; font-size:22px; font-weight:500; color:var(--gold-soft); }
.stat-row .l{ font-size:11.5px; color:#93A2AF; letter-spacing:.4px; margin-top:3px; }
.selvage{ display:flex; gap:6px; height:4px; width:180px; border-radius:2px; overflow:hidden; }
.selvage span{ flex:1; display:block; }
.foot-note{ font-size:12px; color:#8496A3; display:flex; align-items:center; gap:10px; }

.form-side{ flex:1 1 54%; display:flex; align-items:center; justify-content:center; padding:40px; }
.card-login{ width:100%; max-width:400px; }
.card-login .eyebrow{ font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); font-weight:600; }
.card-login h1{ font-size:26px; font-weight:700; margin-top:8px; color:var(--ink); }
.card-login .sub{ color:var(--slate); font-size:14px; margin-top:6px; margin-bottom:30px; }
.form-label{ font-size:13px; font-weight:600; color:var(--ink); }
.branch-field{ position:relative; }
.branch-field i{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--slate); font-size:14px; }
.branch-field select{ padding-left:36px; }
.btn-signin{
  background:var(--indigo-deep); border:none; color:#fff; font-weight:600; font-size:14.5px;
  padding:11px 0; border-radius:8px; width:100%; letter-spacing:.2px; transition:background .15s ease;
}
.btn-signin:hover{ background:var(--indigo-deeper); color:#fff; }
.btn-signin .stripe{ display:inline-block; width:16px; height:2px; background:var(--gold); margin-right:8px; vertical-align:middle; }
.aux-row{ display:flex; justify-content:space-between; align-items:center; margin:16px 0 26px; }
.aux-row a{ font-size:13px; color:var(--indigo-deep); text-decoration:none; font-weight:500; }
.form-check-label{ font-size:13px; color:var(--slate); }
.divider-note{ text-align:center; font-size:12px; color:var(--slate); margin-top:26px; }

@media (max-width:900px){ .aside{ display:none; } .form-side{ flex:1 1 100%; } }
