/* Shared login and registration design, matched to the approved mockup. */
body.auth-screen{min-height:100vh;margin:0;background:#eaf0ec!important;color:#152027;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body.auth-screen .auth-page{display:block!important;min-height:100vh!important;padding:32px 18px 48px;background:#eaf0ec!important}
body.auth-screen .auth-frame{width:min(710px,100%);margin:0 auto;overflow:hidden;border:1px solid #e0e6e2;border-radius:30px;background:#fff;box-shadow:0 22px 64px rgba(17,31,35,.13)}
body.auth-screen .auth-banner{position:relative;isolation:isolate;min-height:238px;overflow:hidden;padding:25px 42px 28px;background:linear-gradient(125deg,#09131b 0%,#142a31 100%);color:#fff}
body.auth-screen .auth-register-page .auth-banner{min-height:184px}
body.auth-screen .auth-banner-glow{position:absolute;z-index:-1;top:-115px;right:-68px;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,rgba(201,255,61,.15),rgba(62,209,222,.06) 43%,transparent 70%);pointer-events:none}
body.auth-screen .auth-brand{position:relative;z-index:1;display:inline-flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
body.auth-screen .auth-brand img{display:block;width:58px;height:58px;flex:0 0 58px;border:2px solid rgba(255,255,255,.8);border-radius:50%;object-fit:cover;background:#fff}
body.auth-screen .auth-brand strong{display:block;font-size:21px;font-weight:850;line-height:1.2}
body.auth-screen .auth-brand small{display:block;margin-top:5px;color:#9aa7aa;font-size:9px;font-weight:800;letter-spacing:.17em}
body.auth-screen .auth-welcome{position:relative;z-index:1;margin-top:25px}
body.auth-screen .auth-eyebrow{color:#d1f66a;font-size:10px;font-weight:850;letter-spacing:.16em}
body.auth-screen .auth-welcome h1{margin:8px 0 4px;color:#fff;font-size:29px;font-weight:850;line-height:1.17;letter-spacing:-.035em}
body.auth-screen .auth-welcome p{margin:0;color:#b4c2c4;font-size:13px}
body.auth-screen .auth-register-page .auth-welcome{margin-top:19px}
body.auth-screen .auth-register-page .auth-welcome h1{font-size:26px}
body.auth-screen .auth-content{padding:39px 50px 34px;background:#fff}
body.auth-screen .auth-register-content{padding-top:29px}
body.auth-screen .auth-heading{margin-bottom:24px}
body.auth-screen .auth-heading h2{margin:0 0 5px;color:#152027;font-size:26px;font-weight:850;letter-spacing:-.035em}
body.auth-screen .auth-heading p{margin:0;color:#788486;font-size:13px}
body.auth-screen .auth-form{margin:0}
body.auth-screen .auth-field{min-width:0;margin:0 0 18px}
body.auth-screen .auth-field label{display:block;margin:0 0 7px;color:#253238;font-size:12px;font-weight:780}
body.auth-screen .auth-field .input{display:block;width:100%;height:50px;min-height:50px;margin:0;padding:0 14px;border:1px solid #dbe2de;border-radius:11px;outline:0;background:#fbfcfb;color:#172129;font:inherit;font-size:13px;transition:border-color .16s,box-shadow .16s}
body.auth-screen .auth-field .input::placeholder{color:#98a2a3;opacity:1}
body.auth-screen .auth-field .input:focus{border-color:#a9cf4c;box-shadow:0 0 0 4px rgba(201,255,61,.17)}
body.auth-screen .auth-input-wrap{position:relative}
body.auth-screen .auth-input-wrap .input{padding-left:46px}
body.auth-screen .auth-field-icon{position:absolute;z-index:1;top:50%;left:16px;display:grid;width:18px;height:18px;place-items:center;transform:translateY(-50%);color:#758486;font-size:16px;pointer-events:none}
body.auth-screen .auth-form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-1px 0 21px}
body.auth-screen .auth-hint{color:#778486;font-size:12px}
body.auth-screen .auth-text-link{color:#466b18;font-size:12px;font-weight:780;text-decoration:none}
body.auth-screen .auth-text-link:hover,body.auth-screen .auth-safety-note a:hover{text-decoration:underline}
body.auth-screen .auth-submit{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border:0;border-radius:12px;background:linear-gradient(135deg,#d7ff55,#b8ed28);box-shadow:0 10px 24px rgba(144,184,42,.17);color:#15200c;font:inherit;font-size:14px;font-weight:850;cursor:pointer;transition:transform .16s,box-shadow .16s}
body.auth-screen .auth-submit:hover{transform:translateY(-1px);box-shadow:0 13px 26px rgba(144,184,42,.24)}
body.auth-screen .auth-divider{display:flex;align-items:center;gap:13px;margin:24px 0 15px;color:#9aa4a5;font-size:9px;font-weight:800;letter-spacing:.12em}
body.auth-screen .auth-divider:before,body.auth-screen .auth-divider:after{height:1px;flex:1;background:#e5eae7;content:""}
body.auth-screen .auth-secondary-action{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #cbd7d0;border-radius:12px;background:#fff;color:#253238;font-size:13px;font-weight:780;text-align:center;text-decoration:none;cursor:pointer}
body.auth-screen .auth-secondary-action:hover{border-color:#8ea968;background:#fafcf8}
body.auth-screen .auth-quiet-action{display:block;margin:0 auto;padding:8px 12px;border:0;background:transparent;color:#627073;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
body.auth-screen .auth-safety-note{display:flex;align-items:center;gap:12px;margin-top:24px;padding:13px 14px;border-radius:12px;background:#edf3eb;color:#34423b}
body.auth-screen .auth-safety-note>span{display:grid;width:21px;height:21px;flex:0 0 21px;place-items:center;border-radius:50%;background:#d9edc4;color:#3b7d42;font-size:12px;font-weight:900}
body.auth-screen .auth-safety-note strong,body.auth-screen .auth-safety-note small{display:block}
body.auth-screen .auth-safety-note strong{font-size:11px;font-weight:800}
body.auth-screen .auth-safety-note small{margin-top:2px;color:#7c8982;font-size:10px;line-height:1.4}
body.auth-screen .auth-safety-note a{margin-left:auto;color:#466b18;font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}
body.auth-screen .auth-otp-actions{display:grid;gap:10px}
body.auth-screen .auth-form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;row-gap:0}
body.auth-screen .auth-field-full{grid-column:1/-1}
body.auth-screen .auth-register-content .auth-heading{margin-bottom:20px}
body.auth-screen .auth-register-content .auth-field{margin-bottom:14px}
body.auth-screen .auth-register-content .auth-field .input{height:46px;min-height:46px}
body.auth-screen .auth-plan-note{display:grid;gap:3px;margin:0 0 14px;padding:12px 14px;border:1px solid #e1e9de;border-radius:12px;background:#f2f6ee}
body.auth-screen .auth-plan-note strong{color:#2b3b2e;font-size:11px;font-weight:850}
body.auth-screen .auth-plan-note span{color:#68776d;font-size:10px;line-height:1.5}
body.auth-screen .auth-consent{display:flex;align-items:flex-start;gap:9px;margin:0 0 16px;color:#687477;font-size:11px;line-height:1.45}
body.auth-screen .auth-consent input{width:15px;height:15px;flex:0 0 15px;margin:1px 0 0;accent-color:#8dbb2e}
body.auth-screen .auth-register-content .auth-divider{margin-top:19px;margin-bottom:11px}
body.auth-screen .auth-register-content .auth-safety-note{margin-top:17px}
@media(max-width:600px){
  body.auth-screen .auth-page{padding:12px 10px 22px}
  body.auth-screen .auth-frame{border-radius:22px}
  body.auth-screen .auth-banner{min-height:218px;padding:20px 22px 24px}
  body.auth-screen .auth-register-page .auth-banner{min-height:177px}
  body.auth-screen .auth-brand img{width:50px;height:50px;flex-basis:50px}
  body.auth-screen .auth-brand strong{font-size:18px}
  body.auth-screen .auth-welcome{margin-top:24px}
  body.auth-screen .auth-welcome h1{font-size:25px}
  body.auth-screen .auth-register-page .auth-welcome{margin-top:16px}
  body.auth-screen .auth-register-page .auth-welcome h1{font-size:22px}
  body.auth-screen .auth-content{padding:29px 22px 23px}
  body.auth-screen .auth-register-content{padding-top:25px}
  body.auth-screen .auth-heading h2{font-size:23px}
  body.auth-screen .auth-form-grid{grid-template-columns:1fr;column-gap:0}
  body.auth-screen .auth-field-full{grid-column:auto}
  body.auth-screen .auth-register-content .auth-field{margin-bottom:12px}
  body.auth-screen .auth-safety-note{align-items:flex-start}
  body.auth-screen .auth-safety-note a{align-self:center}
}
