* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #f5f6f8; color: #1d2433; font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.login-shell { width: min(420px,100%); }
.login-card { padding: 30px; border: 1px solid #e5e7eb; border-radius: 16px; background: #fff; box-shadow: 0 18px 50px rgba(15,23,42,.09); }
.login-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; }
.login-brand > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; background: #111827; color: #fff; font-size: 20px; font-weight: 800; }
.login-brand strong,.login-brand small { display: block; }
.login-brand small { margin-top: 3px; color: #64748b; }
h1 { margin: 0; font-size: 26px; }
p { margin: 8px 0 22px; color: #64748b; }
form { display: grid; gap: 16px; }
label { display: grid; gap: 7px; font-size: 13px; font-weight: 650; }
input { width: 100%; height: 43px; padding: 0 12px; border: 1px solid #d1d5db; border-radius: 8px; font: inherit; outline: none; }
input:focus { border-color: #27633f; box-shadow: 0 0 0 3px rgba(39,99,63,.1); }
button { height: 43px; border: 0; border-radius: 8px; background: #111827; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
button:hover { background: #1f2937; }
.login-error { margin-bottom: 16px; padding: 11px 12px; border: 1px solid #fecaca; border-radius: 8px; background: #fef2f2; color: #991b1b; font-size: 13px; }
.login-back { display: block; margin-top: 18px; text-align: center; color: #64748b; font-size: 14px; text-decoration: none; }
.login-back:hover { color: #1d2433; }
