.auth-page-shell{--auth-green: #3f8a5b;--auth-green-light: #4da06c;--auth-ink: #2d3748;--auth-muted: #718096;--auth-border: #e2e8f0;min-height:100vh;display:flex;flex-direction:column;padding:2rem;background:radial-gradient(60% 60% at 10% 0%,rgba(77,160,108,.18),transparent 70%),radial-gradient(60% 60% at 100% 30%,rgba(77,160,108,.14),transparent 70%),linear-gradient(180deg,#ecf6ee,#f6faf5 80%);color:var(--auth-ink)}.auth-page-back{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 17px;border:1px solid rgba(88,133,103,.16);border-radius:999px;background:#ffffffc2;color:var(--auth-green);font:700 14px/1 system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s ease,transform .2s ease}.auth-page-back span{font-size:25px;font-weight:400;line-height:0;transform:translateY(-1px)}.auth-page-back:hover{background:#fff;transform:translate(-2px)}.auth-page-stage{flex:1 0 auto;display:grid;place-items:center;width:100%;padding:2rem 0}.auth-page-card{width:min(500px,100%);padding:3rem 2.5rem;border-radius:24px;background:#fff;box-shadow:0 20px 60px #2d374826}.auth-page-card--compact{width:min(470px,100%)}.auth-page-header{margin-bottom:2rem;text-align:center}.auth-page-logo{display:block;width:auto;height:44px;margin:0 auto 1.25rem}.auth-page-header h1{margin:0 0 .5rem;color:var(--auth-ink);font-size:28px;font-weight:700;letter-spacing:-.5px}.auth-page-header h1:last-child{margin-bottom:0}.auth-page-header p{margin:0;color:var(--auth-muted);font-size:15px;line-height:1.6}.auth-field{margin-bottom:1.25rem}.auth-field label{display:block;margin-bottom:.5rem;color:var(--auth-ink);font-size:14px;font-weight:600}.auth-required{margin-left:2px;color:#c24132}.auth-field-control{position:relative}.auth-field input{width:100%;min-height:50px;padding:.875rem;border:2px solid var(--auth-border);border-radius:12px;box-sizing:border-box;background:#fff;color:var(--auth-ink);font:400 16px/1.3 system-ui,-apple-system,Segoe UI,sans-serif;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.auth-field-control input{padding-right:44px}.auth-field input::-moz-placeholder{color:#a0aec0}.auth-field input::placeholder{color:#a0aec0}.auth-field input:focus{border-color:var(--auth-green-light);box-shadow:0 0 0 3px #4da06c1f}.auth-field-note{margin:.5rem 0 0;color:var(--auth-muted);font-size:12px;line-height:1.55}.auth-alert{margin-bottom:1.25rem;padding:.875rem 1rem;border:1px solid #f3b5b5;border-radius:12px;background:#fff1f1;color:#991b1b;font-size:14px;font-weight:500;line-height:1.55}.auth-success{padding:1.25rem;border:1px solid rgba(77,160,108,.28);border-radius:12px;background:#e8f3ea;color:#2f6e48;text-align:center;font-size:15px;line-height:1.7}.auth-success-link{display:table;margin:.75rem auto 0;color:var(--auth-green);font-weight:700;text-decoration:none}.auth-success-link:hover{text-decoration:underline}.auth-primary-button{width:100%;min-height:52px;padding:0 1rem;border:0;border-radius:12px;background:linear-gradient(180deg,var(--auth-green-light) 0%,var(--auth-green) 100%);box-shadow:0 8px 18px #3f8a5b47;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.auth-primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 11px 24px #3f8a5b52}.auth-primary-button:disabled{background:#cbd5e0;box-shadow:none;cursor:not-allowed}.auth-page-footer{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--auth-border);color:var(--auth-muted);text-align:center;font-size:14px;line-height:1.6}.auth-page-footer a{margin-left:.5rem;color:#5472d3;font-weight:600;text-decoration:none}.auth-page-footer a:hover{text-decoration:underline}.auth-page-icp{padding-top:.75rem;text-align:center}@media (max-width: 640px){.auth-page-shell{padding:1rem}.auth-page-stage{padding:1.25rem 0}.auth-page-card{padding:2rem 1.25rem;border-radius:20px}.auth-page-header{margin-bottom:1.5rem}}@media (prefers-reduced-motion: reduce){.auth-page-back,.auth-primary-button{transition:none}}
