.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:#f1f7f3;color:#0f1c17}.auth-shell *,.auth-shell :after,.auth-shell :before{box-sizing:border-box}.auth-shell button,.auth-shell input{font-family:inherit}.auth-side{background:linear-gradient(160deg,#2d5942,#3f7d5b 55%,#4a8d6a);color:white;padding:56px 64px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-side:after{content:"";position:absolute;right:-120px;bottom:-160px;width:460px;height:460px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}.auth-side__brand{font-size:22px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:6px}.auth-side__brand sup{font-size:11px;opacity:.7;font-weight:500}.auth-side__hero h1{margin:0 0 16px;font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.auth-side__hero p{margin:0;font-size:16px;color:rgba(255,255,255,.82);line-height:1.6;max-width:460px}.auth-side__features{display:grid;gap:16px;margin-top:28px}.auth-side__feature{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,.88);line-height:1.5}.auth-side__feature-icon{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;flex-shrink:0;margin-top:1px;font-weight:700}.auth-side__footer{font-size:13px;color:rgba(255,255,255,.6)}.auth-main{padding:56px 64px;display:flex;flex-direction:column;justify-content:center;background:#f9fbfa}.auth-main__inner{width:100%;max-width:420px;margin:0 auto}.auth-main__title{margin:0 0 8px;font-size:30px;font-weight:700;letter-spacing:-.015em;color:#0f1c17}.auth-main__sub{margin:0 0 28px;font-size:15px;color:#6b7a72}.auth-field{display:grid;gap:6px;margin-bottom:14px}.auth-field label{font-size:13px;font-weight:600;color:#2d3e36}.auth-input{width:100%;padding:11px 14px;border:1px solid #d7ded9;border-radius:10px;background:white;font-size:14px;color:#0f1c17;outline:none;transition:border-color .12s,box-shadow .12s}.auth-input:focus{border-color:#4a8d6a;box-shadow:0 0 0 3px rgba(74,141,106,.15)}.auth-input--error{border-color:#c2453a}.auth-error{background:#fbeceb;color:#c2453a;border:1px solid #f0b0aa;border-radius:8px}.auth-error,.auth-success{padding:10px 12px;font-size:13px;margin-bottom:14px;line-height:1.4}.auth-success{background:#e7f4ed;color:#2d6b47;border:1px solid #a8d2bd;border-radius:8px}.auth-primary{width:100%;padding:12px 16px;background:#2d5942;color:white;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .12s,transform 60ms;display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-primary:hover{background:#386b50}.auth-primary:active{transform:translateY(1px)}.auth-primary:disabled{background:#b4c0b8;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:12px;font-size:12px;color:#8b9a91;margin:22px 0}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:#ecf0ed}.auth-google{width:100%;padding:11px 16px;background:white;color:#0f1c17;border:1px solid #d7ded9;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .12s,border-color .12s}.auth-google:hover{background:#f5f7f5;border-color:#b4c0b8}.auth-meta{margin-top:22px;text-align:center;font-size:13px;color:#6b7a72}.auth-meta a{color:#2d5942;font-weight:600;text-decoration:none}.auth-meta a:hover{text-decoration:underline}.auth-link{display:inline-block;margin-top:6px;font-size:13px;color:#2d5942;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-row-flex{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.auth-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#2d3e36}.auth-checkbox input{accent-color:#2d5942}@media (max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-side{padding:36px 28px 48px}.auth-side__hero h1{font-size:30px}.auth-side__features{display:none}.auth-main{padding:36px 24px;min-height:70vh}}