:root { --bg:#0c0f0d; --card:#151b16; --ink:#edf0e9; --muted:#9da79e; --line:#303931; --green:#a7e22e; --red:#ff6b55; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); font-family:"Segoe UI",sans-serif; background:radial-gradient(circle at 20% 0,#2b3a27 0,transparent 35%),linear-gradient(145deg,#080b09,#111612); }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:20px; }
.login-card { width:min(440px,100%); padding:32px; border:1px solid var(--line); border-radius:22px; background:rgba(21,27,22,.96); box-shadow:0 30px 90px #000b; }
.eyebrow { margin:0 0 10px; color:var(--green); font-size:.74rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(2.6rem,10vw,4.6rem); line-height:.95; letter-spacing:-.06em; }
.lead { margin:16px 0 24px; color:var(--muted); line-height:1.55; }
form { display:grid; gap:10px; }
label { color:var(--muted); font-size:.84rem; font-weight:800; }
input,button { min-height:54px; border:1px solid var(--line); border-radius:11px; font:inherit; }
input { width:100%; padding:0 15px; color:var(--ink); background:#0d110e; outline:none; }
input:focus { border-color:var(--green); box-shadow:0 0 0 3px #a7e22e22; }
button { margin-top:4px; color:#17200e; background:var(--green); font-weight:900; cursor:pointer; }
button:disabled { opacity:.5; cursor:wait; }
.message { min-height:22px; margin-top:12px; color:var(--red); font-size:.86rem; }
