.login{
	max-width:380px;margin:0 auto;
	background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);
	padding:1.75rem 1.5rem;
	box-shadow:0 4px 18px rgba(0,0,0,.28);
}
.login h1{font-size:1.25rem;margin:0 0 .25rem}
.login .sub{margin-bottom:1.5rem; justify-content:center;align-items:center;display:flex;}
.field{margin-bottom:1.1rem}
.field label{display:block}
.field input{
	width:100%;
	font-family:var(--sans);font-size:.96rem;color:var(--ink);
	background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
	padding:.65rem .85rem;
	transition:border-color .15s;
}
.field input::placeholder{color:#B4B0A4}
.field input:focus{outline:none;border-color:var(--ink)}
button.submit{
	width:100%;margin-top:.4rem;
	font-family:var(--sans);font-size:.92rem;font-weight:600;
	background:var(--accent);color:var(--accent-contrast);
	border:0;border-radius:var(--radius-sm);padding:.7rem 1rem;
	cursor:pointer;transition:opacity .15s, transform .1s;
}
button.submit:hover{opacity:.85}
button.submit:active{transform:scale(.98)}
button.submit:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.login .error{margin-bottom:1rem}