:root{--ink:#17211d;--muted:#68736e;--line:#dfe5e1;--paper:#f4f6f4;--surface:#fff;--brand:#0d654a;--brand-hover:#084f3a;--brand-soft:#e5f2ed;--danger:#a9342c;--danger-soft:#f8e7e5;--radius:14px;--shadow:0 18px 55px rgba(25,48,38,.09);--font:Inter,"Segoe UI",system-ui,sans-serif;--display:Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font)}a{color:inherit}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--brand);font-size:10px;font-weight:800;margin:0}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:19px;font-weight:800}.brand span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#56c69a;color:#10231c}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr}.auth-story{background:#14271f;color:#fff;padding:42px 54px;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-story:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(86,198,154,.18);border-radius:50%;right:-260px;bottom:-170px;box-shadow:0 0 0 80px rgba(86,198,154,.035),0 0 0 160px rgba(86,198,154,.025)}.story-copy{margin:auto 0;position:relative;z-index:1}.story-copy .eyebrow{color:#68d5aa}.story-copy h1{font:48px/1.08 var(--display);margin:16px 0 22px}.story-copy>p:last-child{color:#b8c9c2;line-height:1.7;max-width:430px}.legal{font-size:11px;color:#81978e;text-transform:uppercase;letter-spacing:.1em}.auth-panel{display:grid;place-items:center;padding:50px}.login-card{width:min(430px,100%)}.login-card header h2{font:34px var(--display);margin:8px 0}.login-card header>p:last-child{color:var(--muted);line-height:1.6;margin:0 0 30px}.stack-form{display:grid;gap:18px}.field,.stack-form label,.generated-field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:750;color:#38433e}.field input,.stack-form input{width:100%;border:1px solid #cbd5d0;border-radius:9px;padding:13px 14px;background:#fff;font:14px var(--font);outline:none}.field input:focus,.stack-form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(13,101,74,.11)}.field em{color:var(--brand);font-style:normal}.field small,.stack-form small{color:var(--danger);font-weight:500}.invalid input{border-color:var(--danger)}button,.secondary-button{display:flex;justify-content:center;align-items:center;gap:12px;border:0;border-radius:9px;padding:14px 18px;font:700 13px var(--font);cursor:pointer;text-decoration:none}button{background:var(--brand);color:#fff;box-shadow:0 8px 20px rgba(13,101,74,.18)}button:hover{background:var(--brand-hover)}.secondary-button{border:1px solid #b9c7c1;color:var(--brand);background:#fff}.divider{display:flex;align-items:center;gap:12px;color:#87918d;font-size:11px;margin:26px 0 16px}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.alert{padding:12px 14px;border-radius:9px;font-size:13px;margin:16px 0}.alert.success{background:var(--brand-soft);color:var(--brand)}.alert.error{background:var(--danger-soft);color:var(--danger)}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#15241e;color:#fff;padding:30px 20px;display:flex;flex-direction:column;gap:9px}.sidebar .brand{padding:0 10px 28px}.side-link{padding:12px 13px;border-radius:9px;color:#aebdb7;text-decoration:none;font-size:14px}.side-link.active{background:#263b33;color:#fff}.content-shell{margin-left:248px;min-height:100vh}.topbar{height:110px;background:#fff;border-bottom:1px solid var(--line);padding:25px 48px;display:flex;align-items:center;justify-content:space-between}.topbar h1{font:29px var(--display);margin:2px 0}.badge,.step{border:1px solid #b8cec5;color:var(--brand);border-radius:99px;padding:7px 11px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.workspace{max-width:1080px;margin:auto;padding:44px 48px 70px}.intro{display:flex;justify-content:space-between;align-items:start;gap:30px;margin-bottom:28px}.intro h2{font:31px var(--display);margin:0 0 8px}.intro p,.card-heading p{color:var(--muted);margin:0;line-height:1.55}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:18px 0;padding:30px}.card-heading{display:flex;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:25px}.number{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:12px}.card-heading h3{margin:0 0 4px;font-size:17px}.card-heading p{font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 24px}.generated-field strong{display:flex;align-items:center;min-height:45px;border:1px dashed #b8cec5;background:#f4faf7;color:var(--brand);border-radius:9px;padding:12px 13px;font-size:13px}.generated-field small{color:var(--muted);font-weight:400}.actions{display:flex;justify-content:space-between;align-items:center;padding:15px 2px}.actions p{font-size:12px;color:var(--muted);line-height:1.5}.actions strong{color:var(--ink)}.portal-home{min-height:100vh;display:grid;place-items:center}.portal-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:45px;box-shadow:var(--shadow);text-align:center}.portal-card h1{font:34px var(--display)}.portal-card p{color:var(--muted)}.portal-card form{display:flex;justify-content:center;margin-top:25px}@media(max-width:800px){.auth-layout{grid-template-columns:1fr}.auth-story{min-height:300px;padding:28px}.story-copy h1{font-size:38px}.auth-panel{padding:35px 22px}.sidebar{position:static;width:auto}.content-shell{margin:0}.topbar{padding:20px 24px}.workspace{padding:28px 20px}.grid{grid-template-columns:1fr}.intro,.actions{flex-direction:column}.actions button{width:100%}}
