:root { color-scheme:light; --bg:#f3f0eb; --surface:#fffefa; --line:#ded8d0; --text:#2b2622; --muted:#746d65; --orange:#f2552c; --orange-dark:#b83c1c; --red:#b94037; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:grid; place-items:center; background:radial-gradient(circle at 72% 0,rgba(242,85,44,.1),transparent 34%),var(--bg); color:var(--text); font-family:Manrope,sans-serif; }
.login-shell { width:min(100% - 32px,460px); }
.login-card { padding:38px; background:rgba(255,254,250,.97); border:1px solid var(--line); border-radius:20px; box-shadow:0 28px 80px rgba(66,52,39,.14); }
.login-brand{display:flex;align-items:center;gap:12px}.login-brand>div{display:flex;flex-direction:column}.brand-mark { position:relative; width:46px; height:46px; display:grid; place-items:center; border:0; border-radius:12px; background:var(--orange); box-shadow:0 7px 20px rgba(184,50,16,.22) }.brand-mark:before{content:"";width:22px;height:22px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#792008 0 3deg,transparent 3deg 22.5deg)}.brand-wordmark{font:700 18px "Libre Baskerville",Georgia,serif;letter-spacing:-.05em}.brand-wordmark span{color:var(--orange)}.brand-subtitle{margin:4px 0 0!important;color:var(--muted)!important;font:500 8px DM Mono!important;letter-spacing:.08em;text-align:left!important;text-transform:uppercase}
.eyebrow { margin:30px 0 12px; color:var(--orange-dark); font:600 10px DM Mono; letter-spacing:.16em; }
h1 { margin:0; font:700 38px/1.08 "Libre Baskerville",Georgia,serif; letter-spacing:-.045em; }
.intro { margin:14px 0 28px; color:var(--muted); font-size:13px; line-height:1.6; }
.error { margin:0 0 18px; padding:11px 13px; border:1px solid #e5b7b1; border-radius:10px; background:#fff0ee; color:#aa3932; font-size:12px; }
.error[hidden] { display:none; }
label { display:block; margin-top:14px; color:var(--muted); font:500 10px DM Mono; letter-spacing:.05em; text-transform:uppercase; }
input { width:100%; height:50px; margin-top:8px; padding:0 14px; border:1px solid var(--line); border-radius:12px; outline:0; background:#faf7f2; color:var(--text); font:600 14px Manrope; }
input:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(237,75,29,.1); }
button { width:100%; height:50px; margin-top:22px; padding:0 16px; border:0; border-radius:12px; background:var(--orange); color:#fff; text-align:left; font-weight:800; cursor:pointer; box-shadow:0 8px 22px rgba(184,50,16,.18) }
button span { float:right; }
small { display:block; margin-top:24px; color:var(--muted); font:9px DM Mono; text-align:center; }
@media(max-width:520px){.login-card{padding:28px 22px}h1{font-size:33px}}
