:root {
  color-scheme: light;
  --forest: #174d35;
  --forest-dark: #103727;
  --green: #4f9160;
  --mint: #e1f0dd;
  --lime: #d8f36f;
  --cream: #f7f8f4;
  --ink: #173126;
  --muted: #687a70;
  --line: #d7e1d4;
  --danger: #9b4138;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { min-height:100vh; margin:0; color:var(--ink); background:var(--cream); }
button,input { font:inherit; }
.skip-link { position:fixed; z-index:10; top:10px; left:10px; padding:10px 14px; color:white; background:var(--forest); border-radius:10px; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.auth-layout { min-height:100vh; display:grid; grid-template-columns:minmax(360px,.82fr) minmax(480px,1.18fr); }
.auth-intro { min-height:100%; padding:clamp(32px,5vw,72px); display:flex; flex-direction:column; color:white; background:radial-gradient(circle at 85% 15%,rgba(216,243,111,.18),transparent 34%),linear-gradient(145deg,var(--forest-dark),var(--forest)); }
.brand { width:max-content; display:flex; align-items:center; gap:11px; color:white; text-decoration:none; font-size:21px; font-weight:760; letter-spacing:-.04em; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:var(--forest); background:var(--lime); font-family:Georgia,serif; font-size:19px; font-style:italic; }
.intro-copy { max-width:570px; margin:auto 0; padding-block:70px; }
.eyebrow,.panel-kicker { margin:0 0 18px; color:#b9d8bc; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.intro-copy h1 { max-width:620px; margin:0; font-size:clamp(42px,5vw,68px); line-height:1.01; letter-spacing:-.06em; font-weight:630; }
.intro-copy > p:last-child { max-width:560px; margin:25px 0 0; color:rgba(255,255,255,.7); font-size:16px; line-height:1.7; }
.trust-list { margin:0; padding:0; display:grid; gap:12px; list-style:none; color:rgba(255,255,255,.72); font-size:12px; }
.trust-list li { display:flex; gap:10px; align-items:center; }
.trust-list span { width:23px; height:23px; display:grid; place-items:center; border-radius:50%; color:var(--forest); background:var(--lime); font-size:10px; font-weight:900; }
.auth-panel { padding:40px; display:grid; align-content:center; justify-items:center; background:radial-gradient(circle at 50% 35%,#fff 0,transparent 46%); }
.panel-card { width:min(100%,500px); padding:clamp(30px,5vw,52px); border:1px solid var(--line); border-radius:28px; background:rgba(255,255,255,.92); box-shadow:0 28px 70px rgba(23,77,53,.1); }
.panel-kicker { color:var(--green); margin-bottom:10px; }
.panel-card h2 { margin:0; font-size:clamp(30px,3.8vw,43px); letter-spacing:-.05em; }
.panel-lead { margin:12px 0 28px; color:var(--muted); font-size:14px; line-height:1.6; }
form { display:grid; gap:17px; }
label { display:grid; gap:8px; color:#4c6356; font-size:12px; font-weight:720; }
input { width:100%; min-height:52px; padding:0 15px; border:1px solid var(--line); border-radius:13px; color:var(--ink); background:#fbfcfa; outline:none; transition:.18s; }
input:focus { border-color:#80a384; background:white; box-shadow:0 0 0 4px rgba(79,145,96,.12); }
.form-row { display:flex; justify-content:flex-end; margin-top:-5px; }
.form-row a,.back-link { color:var(--green); font-size:12px; font-weight:720; }
.form-status { min-height:19px; margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.form-status[data-type="error"] { color:var(--danger); }
.form-status[data-type="success"] { color:var(--green); }
button { min-height:52px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; border:0; border-radius:13px; color:white; background:var(--forest); cursor:pointer; font-weight:760; box-shadow:0 13px 26px rgba(23,77,53,.16); }
button:hover { background:var(--forest-dark); }
button:focus-visible,.back-link:focus-visible,a:focus-visible { outline:3px solid rgba(79,145,96,.3); outline-offset:3px; }
button:disabled { opacity:.6; cursor:wait; }
.invite-note { margin:27px 0 0; padding:16px; border-radius:14px; color:#5d7065; background:var(--mint); font-size:11px; line-height:1.55; }
.invite-note strong { display:block; margin-bottom:4px; color:var(--forest); }
.back-link { margin-top:21px; text-decoration:none; }

@media (max-width:840px) {
  .auth-layout { grid-template-columns:1fr; }
  .auth-intro { min-height:auto; padding:28px 24px 34px; }
  .intro-copy { padding:60px 0 38px; }
  .intro-copy h1 { font-size:44px; }
  .trust-list { display:none; }
  .auth-panel { padding:36px 18px; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; }
}
