.auth-page main{background:linear-gradient(170deg,#f3fbf4 0%,var(--bg-warm) 30%,var(--bg-light) 100%);padding:calc(var(--header-height) + 80px) 24px 96px;min-height:100vh}.auth-shell{max-width:440px;margin:0 auto}.auth-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:40px 32px}.auth-brand{display:flex;justify-content:center;align-items:center;gap:8px;color:var(--green);margin-bottom:18px}.auth-brand-mark{display:inline-flex;width:36px;height:36px;border-radius:50%;background:var(--green-pale);color:var(--green);align-items:center;justify-content:center}.auth-title{font-family:var(--font-heading);font-size:clamp(22px,3vw,28px);font-weight:800;color:var(--text-dark);margin-bottom:8px;text-align:center}.auth-subtitle{font-size:15px;color:var(--text-medium);line-height:1.6;text-align:center;margin-bottom:28px}.auth-form-group{margin-bottom:18px}.auth-form-group:last-of-type{margin-bottom:0}.auth-label{display:block;font-family:var(--font-heading);font-size:14px;font-weight:700;color:var(--text-dark);margin-bottom:8px}.auth-input{display:block;width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;color:var(--text-dark);background:var(--bg-white);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.auth-input::placeholder{color:var(--text-light)}.auth-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #39b54a1a}.auth-input.has-error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.auth-field-hint{display:block;margin-top:6px;font-size:13px;color:var(--text-light);line-height:1.5}.auth-field-error{display:block;margin-top:6px;font-size:13px;color:#e53e3e;font-weight:600;line-height:1.5}.auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;margin-bottom:24px}.auth-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-medium);user-select:none}.auth-checkbox input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--border);border-radius:4px;background:var(--bg-white);cursor:pointer;position:relative;transition:border-color var(--transition),background var(--transition);margin:0}.auth-checkbox input:hover{border-color:var(--green-light)}.auth-checkbox input:checked{border-color:var(--green);background:var(--green)}.auth-checkbox input:checked:after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.auth-checkbox input:focus-visible{box-shadow:0 0 0 3px #39b54a33}.auth-forgot-link{font-size:13px;font-weight:600;color:var(--green);text-decoration:none;transition:color var(--transition)}.auth-forgot-link:hover{color:var(--green-dark);text-decoration:underline}.auth-submit,.auth-secondary{width:100%;display:inline-flex;justify-content:center}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--text-light);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:24px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-alt-link{text-align:center;color:var(--text-medium);font-size:14px;margin-top:20px}.auth-alt-link a{color:var(--green);font-weight:700;text-decoration:none;transition:color var(--transition)}.auth-alt-link a:hover{color:var(--green-dark);text-decoration:underline}.auth-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 0 8px}.auth-success[hidden]{display:none}.auth-success-spinner{width:44px;height:44px;border-radius:50%;border:3px solid var(--green-pale);border-top-color:var(--green);animation:auth-spin .9s linear infinite;margin-bottom:18px}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-success-title{font-family:var(--font-heading);font-size:18px;font-weight:800;color:var(--text-dark);margin-bottom:6px}.auth-success-body{font-size:14px;color:var(--text-medium);line-height:1.6;max-width:320px}@media(max-width:480px){.auth-card{padding:28px 20px}.auth-page main{padding:calc(var(--header-height) + 40px) 16px 64px}}
