:root { --cream:#f6efe2; --paper:#fffdf8; --ink:#29251f; --muted:#6f665a; --sage:#49685a; --sage-dark:#30493e; --line:#ded4c5; --terracotta:#b84f3c; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; display:grid; place-items:center; padding:24px; background:var(--cream); color:var(--ink); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.login-shell { width:min(100%,440px); padding:clamp(30px,8vw,48px); border:1px solid rgba(94,77,56,.12); border-radius:28px; background:var(--paper); box-shadow:0 22px 60px rgba(72,53,30,.12); text-align:center; }
.brand-mark { display:grid; width:62px; height:62px; margin:0 auto 18px; place-items:center; border-radius:50%; background:var(--sage); color:white; font:34px Georgia,serif; }
.eyebrow { margin:0; color:var(--sage); font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
h1 { margin:8px 0 12px; font:500 clamp(2rem,8vw,2.7rem) Georgia,serif; }
.intro { margin:0 0 28px; color:var(--muted); line-height:1.5; }
form { text-align:left; } label { display:block; margin-bottom:8px; font-weight:750; }
input { width:100%; min-height:54px; padding:12px 14px; border:1px solid var(--line); border-radius:13px; font:inherit; }
form button { width:100%; min-height:56px; margin-top:14px; border:0; border-radius:14px; background:var(--sage); color:white; cursor:pointer; font:750 1.05rem inherit; }
.switch-role { margin-top:22px; border:0; background:transparent; color:var(--sage-dark); cursor:pointer; font:700 .94rem inherit; text-decoration:underline; }
.error { margin-top:16px; padding:12px; border-radius:10px; background:#fae4df; color:#7a281b; line-height:1.4; }

