:root {
  --forest: #153e36;
  --forest-2: #245a4d;
  --cream: #f4f1e9;
  --paper: #fff;
  --ink: #1c2926;
  --muted: #73807c;
  --line: #dfe5e1;
  --gold: #d5ad64;
  font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { min-height:100vh; margin:0; color:var(--ink); background:var(--cream); }
.auth-shell { display:grid; grid-template-columns:minmax(350px,.92fr) 1.08fr; min-height:100vh; }
.auth-panel { display:flex; flex-direction:column; justify-content:center; padding:48px clamp(35px,7vw,110px); background:#fff; }
.brand { display:flex; align-items:center; gap:11px; position:absolute; top:34px; color:var(--forest); text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:var(--forest); background:#f0d9aa; font-family:"DM Serif Display",serif; font-size:23px; }
.brand-mark img { width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.brand strong,.brand small { display:block; }.brand strong { font-size:14px; letter-spacing:.13em; }.brand small { margin-top:1px; color:#7f8c87; font-size:9px; }
.auth-content { width:min(430px,100%); margin:auto; }
.eyebrow { margin:0 0 8px; color:#a87523; font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1 { margin:0; font-family:"DM Serif Display",serif; font-size:40px; font-weight:400; line-height:1.08; }
.intro { margin:12px 0 29px; color:var(--muted); font-size:13px; line-height:1.6; }
label { display:block; margin:15px 0; color:#52615c; font-size:10px; font-weight:700; }
input,textarea,select { width:100%; margin-top:7px; padding:12px 13px; border:1px solid var(--line); border-radius:9px; outline:0; color:var(--ink); background:#fff; font:inherit; font-size:12px; }
input:focus,textarea:focus,select:focus { border-color:var(--forest-2); box-shadow:0 0 0 3px rgba(21,62,54,.09); }
.primary { width:100%; margin-top:10px; padding:13px; border:0; border-radius:9px; color:#fff; background:var(--forest); font-weight:700; cursor:pointer; }
.primary:hover { background:var(--forest-2); }.primary:disabled { opacity:.65; cursor:wait; }
.message { min-height:18px; margin:10px 0 0; color:#aa4938; font-size:10px; }
.message.success { color:#267257; }
.auth-link-row { display:flex; justify-content:flex-end; margin:-5px 0 12px; }
.auth-link-row a { color:var(--forest-2); font-size:10px; font-weight:700; text-decoration:none; }
.auth-link-row a:hover { text-decoration:underline; }
.auth-aside { position:relative; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:65px; color:#fff; background:var(--forest); }
.auth-aside::before { content:""; position:absolute; width:520px; height:520px; top:-190px; right:-150px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02); }
.aside-content { position:relative; z-index:1; max-width:560px; }
.aside-content blockquote { margin:0; font-family:"DM Serif Display",serif; font-size:34px; line-height:1.25; }
.aside-content p { max-width:480px; margin:18px 0 0; color:#aec6be; font-size:12px; line-height:1.7; }
.feature-row { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:38px; }
.feature { padding:17px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.05); }
.feature span { color:#ebca88; }.feature strong,.feature small { display:block; }.feature strong { margin-top:10px; font-size:10px; }.feature small { margin-top:4px; color:#91afa5; font-size:8px; line-height:1.4; }
.setup-steps { display:flex; gap:7px; margin-bottom:24px; }.setup-steps i { flex:1; height:3px; border-radius:5px; background:#e6e9e6; }.setup-steps i.active { background:var(--forest); }
.setup-section { display:none; }.setup-section.active { display:block; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.actions { display:flex; gap:9px; margin-top:18px; }.actions .primary { margin:0; }.secondary { padding:12px 18px; border:1px solid var(--line); border-radius:9px; color:var(--forest); background:#fff; font-weight:700; cursor:pointer; }
.key-box { padding:13px; border-radius:9px; color:var(--forest); background:#e7f0ec; font-family:monospace; font-size:10px; overflow-wrap:anywhere; }
@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{min-height:100vh;padding:35px 24px}.brand{top:24px}.two-col{grid-template-columns:1fr}}
