
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: #1a1a1a; font-family: system-ui, sans-serif; color: #eee; }
.card { background: #2a2a2a; border-radius: 12px; padding: 2.5rem 2rem; width: min(360px, 90vw); box-shadow: 0 4px 24px rgba(0,0,0,.5); }
h1 { font-size: 1.4rem; margin-bottom: 1.5rem; text-align: center; }
label { display: block; font-size: .85rem; color: #aaa; margin-bottom: .35rem; }
input[type=text], input[type=password] { width: 100%; padding: .6rem .8rem; background: #333; border: 1px solid #444; border-radius: 6px; color: #eee; font-size: 1rem; margin-bottom: 1rem; outline: none; }
input:focus { border-color: #f97316; }
button { width: 100%; padding: .7rem; background: #f97316; border: none; border-radius: 6px; color: #fff; font-size: 1rem; font-weight: 600; cursor: pointer; }
button:hover { background: #ea6c0a; }
.error { background: #3d1a1a; border: 1px solid #7f2020; border-radius: 6px; padding: .6rem .8rem; color: #f87171; font-size: .875rem; margin-bottom: 1rem; }
