.form-control { border: 1px solid var(--border-color); border-radius: 10px; padding: .72rem .85rem; }
.form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 .2rem rgba(37, 99, 235, .12); }
.btn-primary { background: var(--primary); border: none; border-radius: 10px; padding: .72rem 1rem; }
.btn-primary:hover, .btn-primary:focus { background: var(--primary-dark); }
.auth-page { background: var(--background); min-height: 100vh; }
.auth-layout { display: flex; min-height: 100vh; }
.auth-panel { background: linear-gradient(145deg, #0f172a, #172554); color: #fff; flex: 1 1 50%; padding: 3rem; position: relative; overflow: hidden; }
.auth-panel::after { background: radial-gradient(circle, rgba(59, 130, 246, .35), transparent 65%); content: ""; height: 620px; position: absolute; right: -260px; top: -210px; width: 620px; }
.auth-panel__content { display: flex; flex-direction: column; height: 100%; max-width: 540px; position: relative; z-index: 1; }
.auth-brand { align-items: center; color: #fff; display: inline-flex; font-size: 1.25rem; font-weight: 700; gap: .7rem; text-decoration: none; }
.auth-brand--dark { color: var(--text); }
.auth-brand__mark { align-items: center; background: linear-gradient(135deg, #3b82f6, #8b5cf6); border-radius: 10px; color: #fff; display: inline-flex; height: 38px; justify-content: center; width: 38px; }
.auth-panel__copy { margin: auto 0; }
.auth-panel__eyebrow { color: #60a5fa; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.auth-panel h1 { font-size: clamp(2.25rem, 4vw, 3.5rem); font-weight: 700; letter-spacing: -.05em; line-height: 1.1; margin: 1rem 0; }
.auth-panel p { color: #cbd5e1; font-size: 1.05rem; line-height: 1.7; max-width: 460px; }
.auth-panel__footer { font-size: .8rem; margin: 0; }
.auth-form-panel { align-items: center; background: #fff; display: flex; flex: 0 1 50%; justify-content: center; padding: 2rem; }
.auth-card { max-width: 420px; width: 100%; }
.auth-card__title { color: var(--text); font-size: 2rem; font-weight: 700; letter-spacing: -.04em; margin: .6rem 0 .5rem; }
.auth-card .form-label { color: var(--text); font-size: .875rem; font-weight: 600; }
.auth-input-group .input-group-text { background: var(--surface-muted); border-color: var(--border-color); border-radius: 10px 0 0 10px; color: var(--text-muted); }
.auth-input-group .form-control { border-left: 0; }
.auth-input-group .form-control:focus { border-color: var(--primary); box-shadow: none; }
.auth-input-group:focus-within { border-radius: 10px; box-shadow: 0 0 0 .2rem rgba(37, 99, 235, .12); }
.auth-submit { font-weight: 600; }
