.erp-login { margin: 0; padding: 32px 20px; min-height: 100svh; display: grid; place-items: center; background: #0f0f0f; color: #e0e0e0; }
.login-shell { width: min(100%, 420px); }
.login-brand { display: block; width: fit-content; margin: 0 auto 28px; }.login-brand img { display: block; object-fit: contain; }
.login-card { margin: 0; padding: 32px; border: 1px solid #272727; border-radius: 12px; background: #141414; }
.login-symbol { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 20px; background: #142338; color: #93bdf5; border-radius: 10px; }.login-symbol .erp-icon { margin: 0; width: 23px; height: 23px; }
.login-card .eyebrow { margin-bottom: 8px; font-size: 10px; }.login-card h1 { margin: 0 0 8px; font-size: 24px; line-height: 1.25; font-weight: 650; }
.login-description { margin-bottom: 26px; font-size: 13px; color: #999; }
.login-field { margin-top: 18px; }.login-field label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 8px; }
.login-input { display: flex; align-items: center; gap: 8px; border: 1px solid #383838; border-radius: 8px; padding: 0 12px; background: #101010; }
.login-input:focus-within { border-color: #60a5fa; outline: 2px solid #60a5fa33; outline-offset: 2px; }.login-input .erp-icon { color: #888; margin: 0; }
.login-input input { min-width: 0; width: 100%; height: 46px; background: transparent; color: #e0e0e0; border: 0; font: inherit; font-size: 14px; outline: none; }
.login-input input:is(:autofill, :-webkit-autofill) { box-shadow: 0 0 0 1000px #101010 inset !important; -webkit-box-shadow: 0 0 0 1000px #101010 inset !important; -webkit-text-fill-color: #e0e0e0 !important; color: #e0e0e0 !important; caret-color: #e0e0e0; }
.login-options { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; font-size: 12px; }
.login-submit { width: 100%; min-height: 44px; margin-top: 46px; justify-content: center; gap: 10px; border-color: #3b82f6; color: #bfdbfe; --button-rest-color: #0a1628; --button-hover-color: #142c4c; }.login-submit .erp-icon { margin: 0; }
.login-notice,.login-error { padding: 12px; border: 1px solid #344963; border-radius: 8px; font-size: 12px; margin: 18px 0; background: #172333; }.login-error { border-color: #663636; color: #f7b2b2; background: #2a1717; }
.login-footer { text-align: center; margin-top: 22px; font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace; color: #777; font-size: 10px; }
@media(max-width:480px) { .erp-login { padding: 24px 16px; }.login-card { padding: 24px; }.login-options { align-items: flex-start; } }

.login-brand { display:flex; align-items:center; gap:12px; color:#e0e0e0; text-decoration:none; }
.login-brand span { font-size:30px; font-weight:600; }
.login-remember { display:flex; align-items:center; gap:8px; margin-top:18px; font-size:12px; color:#aaa; }
