:root { --primary:#6366f1; --primary-dark:#4f46e5; --text:#17212b; --muted:#7d8996; --line:#e1e7e5; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--text); font-family:"Plus Jakarta Sans",sans-serif; background:#f6f8f7; }
.auth-shell { min-height:100vh; display:grid; place-items:center; padding:24px; }
.auth-card { width:min(100%,430px); padding:36px; border:1px solid #e2e8e5; border-radius:16px; background:#fff; box-shadow:0 12px 38px rgba(32,61,54,.07); }
.auth-brand { display:block; width:210px; margin-bottom:38px; text-decoration:none; }
.auth-brand img { display:block; width:100%; height:70px; object-fit:contain; object-position:left center; }
.auth-heading { margin-bottom:26px; }.auth-heading p { margin:0 0 7px; color:#88958f; font-size:10px; font-weight:600; letter-spacing:.12em; }.auth-heading h1 { margin:0 0 8px; font-family:"Plus Jakarta Sans",sans-serif; font-size:25px; font-weight:600; line-height:1.2; }.auth-heading span { color:var(--muted); font-size:12px; }
.auth-alert { display:flex; gap:9px; align-items:flex-start; margin-bottom:18px; padding:11px 13px; border-radius:10px; background:#fbeeee; color:#a84f4f; font-size:12px; }
.auth-form { display:grid; }.auth-form label { margin:0 0 7px; color:#5d6964; font-size:11px; font-weight:700; }.input-wrap { position:relative; margin-bottom:18px; }.input-wrap i { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#94a19b; }.input-wrap input { width:100%; height:46px; padding:0 14px 0 42px; border:1px solid var(--line); border-radius:11px; outline:none; color:var(--text); font:inherit; font-size:13px; }.input-wrap input:focus { border-color:#8eaaa3; box-shadow:0 0 0 3px rgba(49,93,85,.09); }
.auth-form button { height:44px; margin-top:3px; border:0; border-radius:9px; background:var(--primary); color:white; font:600 13px "Plus Jakarta Sans",sans-serif; cursor:pointer; }.auth-form button:hover { background:var(--primary-dark); }.auth-form button i { margin-left:7px; }
.auth-help { margin:20px 0 0; text-align:center; color:#909b96; font-size:11px; }
@media(max-width:520px){.auth-card{padding:28px 22px}.auth-heading h1{font-size:23px}}

.input-wrap input {
    height: 50px;
    padding: 0 18px 0 44px;
    border: 1px solid #dfe3e8;
    border-radius: 17px;
    background: #fff;
    color: #25282d;
    font-size: 14px;
    box-shadow: none;
    transition: border-color .14s ease, background-color .14s ease, box-shadow .14s ease;
}
.input-wrap input:hover { border-color: #cfd5dc; }
.input-wrap input:focus { border-color: #6366f1; background: #edf3ff; box-shadow: 0 0 0 1px #6366f1; }
.input-wrap input:-webkit-autofill { -webkit-text-fill-color:#25282d; -webkit-box-shadow:0 0 0 1000px #eaf2ff inset !important; }
.input-wrap input:-webkit-autofill:focus { -webkit-box-shadow:0 0 0 1000px #edf3ff inset,0 0 0 1px #6366f1 !important; border-color:#6366f1; }
