.logo{display:flex;align-items:center;gap:8px;margin-bottom:2.5rem;}
.logo img{width:var(--logo-size-header);height:var(--logo-size-header);object-fit:contain;}
.logo-text{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:0.08em;font-variant:small-caps;color:var(--text-primary);}
.logo-text span{color:var(--red);}
:not(.brand-in) > .logo:first-child{margin:calc(-1 * var(--card-shell-pad-y)) calc(-1 * var(--card-shell-pad-x)) 2.5rem;padding:1.1rem var(--card-shell-pad-x);background:var(--panel);border-radius:var(--radius-card) var(--radius-card) 0 0;}
:not(.brand-in) > .logo:first-child .logo-text{color:var(--side-text);}
:not(.brand-in) > .logo:first-child:focus-visible{outline:2px solid var(--side-text);outline-offset:-4px;}
h1{font-family:var(--font-display);font-size:30px;font-weight:700;text-transform:uppercase;letter-spacing:0.01em;margin-bottom:4px;}
h1 .red{color:var(--red);}
.btn-submit{margin-bottom:1.25rem;}
.form-sub{font-size:13px;color:var(--text-tertiary);margin-bottom:2rem;line-height:1.6;}
.login-outer{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--card-shell-outer-pad);}
.back-link{text-align:center;font-size:13px;color:var(--text-muted);}
.error-msg{background:var(--red-tint-bg);border:0.5px solid var(--red-border);border-radius:var(--radius-control);padding:10px 12px;font-size:12px;color:var(--red);margin-bottom:1rem;display:none;}
.success-msg{background:var(--ok-bg);border:0.5px solid var(--ok-border);border-radius:var(--radius-control);padding:10px 12px;font-size:12px;color:var(--ok-text);margin-bottom:1rem;display:none;}
.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--hairline-soft);border-top-color:var(--red);border-radius:50%;animation:spin 0.7s linear infinite;vertical-align:middle;margin-right:8px;}
@keyframes spin{to{transform:rotate(360deg);}}
