.auth-page{min-height:100vh;padding:24px;background:var(--bg)}.auth-modal-page,.auth-page{display:flex;align-items:center;justify-content:center}.auth-modal-page{position:fixed;inset:0;z-index:40;padding:16px;background:rgba(11,42,58,.55);backdrop-filter:blur(2px)}.auth-modal-card{position:relative;max-width:400px;padding:30px 28px 28px;border-radius:16px;border:1px solid var(--border-lt);box-shadow:var(--shadow-lg),0 24px 48px rgba(11,42,58,.16);animation:auth-modal-enter .15s ease-out}@keyframes auth-modal-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.auth-modal-close{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--r-inner);background:transparent;color:var(--text-3);font-size:22px;line-height:1;text-decoration:none;cursor:pointer}.auth-inline-switch{display:inline;padding:0;border:none;background:none;color:var(--primary);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.listing-auth-overlay{z-index:80;padding:12px}.listing-auth-overlay__card{position:relative;z-index:1;width:100%;max-width:400px;max-height:min(92vh,720px);overflow-y:auto}.listing-auth-overlay .auth-title{font-size:22px}.listing-auth-overlay .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-modal-card .auth-separator{margin:16px 0}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-md);padding:28px 24px}.auth-card-wide{max-width:520px}.auth-brand{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--deep-blue);margin-bottom:8px}.auth-title{font-size:22px;font-weight:700;color:var(--text-1);margin-bottom:6px}.auth-sub{font-size:14px;color:var(--text-2);line-height:1.45;margin-bottom:22px}.auth-transition-note{margin:-10px 0 20px;padding:10px 12px 10px 14px;font-size:13px;line-height:1.45;color:var(--text-3);background:var(--accent-lt);border-left:3px solid var(--accent-border);border-radius:0 var(--r-inner) var(--r-inner) 0}.auth-field{margin-bottom:16px}.auth-label{display:block;font-size:13px;font-weight:700;color:var(--text-1);margin-bottom:8px}.auth-radio-group{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-top:8px}.auth-field .auth-radio-line,.auth-radio-line{display:flex;align-items:center;gap:10px;margin-bottom:0;min-height:44px;font-size:14px;font-weight:500;color:var(--text-2);cursor:pointer;line-height:1.4}.auth-field .auth-radio-line input[type=radio],.auth-radio-line input{appearance:revert;width:auto;height:auto;margin:0;flex-shrink:0;padding:0;border:revert;border-radius:revert;background:revert;box-shadow:none;color:revert}.auth-field .auth-radio-line input[type=radio]:focus{outline:none;box-shadow:0 0 0 3px var(--primary-lt)}.auth-field label{display:block;font-size:13px;font-weight:600;color:var(--text-1);margin-bottom:6px}.auth-field input,.auth-field select{width:100%;border:1px solid var(--border);border-radius:var(--r-inner);padding:10px 12px;font-size:14px;color:var(--text-1);background:var(--surface)}.auth-field input:focus,.auth-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-lt)}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:44px}.auth-password-reveal{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;border:none;border-radius:var(--r-inner);background:transparent;color:var(--text-3);cursor:pointer}.auth-password-reveal:hover{color:var(--text-1);background:var(--bg)}.auth-password-reveal:focus-visible{outline:none;color:var(--text-1);box-shadow:0 0 0 3px var(--primary-lt)}.auth-password-checklist{display:flex;flex-wrap:wrap;gap:4px 10px;list-style:none;margin:8px 0 0;padding:0;font-size:12px;line-height:1.35;color:var(--text-3)}.auth-password-checklist__item{display:inline-flex;align-items:center;gap:4px}.auth-password-checklist__item.is-ok{color:var(--text-2)}.auth-password-checklist__mark{display:inline-block;width:.85em;text-align:center;font-weight:600}.auth-password-checklist__item.is-ok .auth-password-checklist__mark{color:var(--primary)}.auth-field--legal-consent label{display:flex;align-items:flex-start;gap:10px;font-weight:400;margin-bottom:0;cursor:pointer}.auth-field--legal-consent input[type=checkbox]{width:auto;flex-shrink:0;margin-top:3px;padding:0}.auth-field--legal-consent label span{flex:1;line-height:1.5;font-size:13px}.auth-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:520px){.auth-row2{grid-template-columns:1fr}}.auth-submit{width:100%;margin-top:8px;padding:12px 16px;border-radius:var(--r-inner);font-size:15px;font-weight:700;background:var(--deep-blue);color:#fff;border:none;cursor:pointer}.auth-submit:hover{background:var(--deep-blue-dk)}.auth-submit--link{display:block;box-sizing:border-box;text-align:center;text-decoration:none;color:#fff}.auth-submit--link:hover{color:#fff;background:var(--deep-blue-dk)}.auth-submit--secondary{background:var(--surface);color:var(--text-1);border:1px solid var(--border)}.auth-submit--secondary:hover{background:var(--bg)}.auth-submit--oauth{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;justify-content:center;align-items:center;gap:10px;margin-top:0;min-height:44px;text-align:center}.auth-submit--oauth svg{flex-shrink:0;display:block}.auth-separator{display:flex;align-items:center;gap:12px;margin:20px 0}.auth-separator__line{height:1px;flex:1;background:var(--border-lt)}.auth-separator__label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:20px;padding-top:18px;border-top:1px solid var(--border-lt);font-size:14px;color:var(--text-2);text-align:center}.auth-footer a{color:var(--deep-blue);font-weight:600;text-decoration:underline;text-underline-offset:2px}.auth-legal-links{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-lt);font-size:12px;color:var(--text-3);text-align:center;line-height:1.65}.auth-legal-links a{color:var(--deep-blue);font-weight:600;text-decoration:none}.auth-legal-links a:hover{text-decoration:underline}.auth-error{font-size:14px;color:var(--accent-dk);margin-bottom:12px}.auth-rate-limit-exit{margin:-4px 0 14px;font-size:14px}.auth-welcome{background:#ecfdf5;border:1px solid #a7f3d0;border-left:3px solid #059669;border-radius:var(--r-inner);padding:12px 14px;margin:0 0 16px;text-align:left}.auth-welcome__title{margin:0 0 4px;font-size:14px;font-weight:800;color:#065f46}.auth-welcome__body{margin:0;font-size:13px;line-height:1.45;color:#047857}.auth-welcome__body+.auth-welcome__body{margin-top:6px}.auth-later{margin:-8px 0 16px;text-align:left}.auth-later__btn{padding:0;border:none;background:none;color:var(--text-3);font:inherit;font-size:13px;font-weight:700;text-decoration:underline;cursor:pointer}.auth-already-exists{margin-bottom:14px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--accent-dk);border-radius:var(--r-inner);text-align:left}.auth-already-exists__text{margin:0 0 10px;font-size:14px;font-weight:600;line-height:1.45;color:var(--accent-dk)}.auth-already-exists .auth-submit{margin-top:0}.auth-troubleshoot{margin-bottom:14px}.auth-troubleshoot__toggle{display:flex;align-items:center;gap:6px;background:none;border:none;padding:0;font-size:13px;font-weight:600;color:var(--deep-blue);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.auth-troubleshoot__toggle:hover{color:var(--deep-blue-dk)}.auth-troubleshoot__chevron{font-size:10px;line-height:1}.auth-troubleshoot__body{margin-top:10px;background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--r-inner);padding:14px 16px;text-align:left}.auth-troubleshoot__title{font-size:13px;font-weight:700;color:var(--text-1);margin:0 0 8px}.auth-troubleshoot__list{margin:0;padding:0 0 0 18px;font-size:13px;color:var(--text-2);line-height:1.55}.auth-troubleshoot__list li{margin-bottom:8px}.auth-troubleshoot__list li:last-child{margin-bottom:0}.auth-troubleshoot__list strong{color:var(--text-1)}.auth-troubleshoot__contact{margin:10px 0 0;font-size:12px;color:var(--text-3)}.auth-troubleshoot__contact a,.auth-troubleshoot__link{color:var(--deep-blue);font-weight:600}.auth-troubleshoot__link{text-decoration:underline;text-underline-offset:2px}.auth-success{font-size:14px;color:var(--green);margin-bottom:12px}.auth-info{background:var(--bg);color:var(--text-2);border:1px solid var(--border);border-left:3px solid var(--primary);padding:10px 14px;border-radius:var(--radius-sm);font-size:var(--text-sm);margin:0 0 12px;text-align:left}.onb-kyc-justify{background:var(--primary-lt);border:1px solid var(--primary-border);border-radius:var(--radius-md);color:var(--text-1)}.onb-kyc-justify,.onb-kyc-reassure{padding:16px 20px;margin-bottom:14px;text-align:left;font-size:var(--text-sm);line-height:1.5}.onb-kyc-reassure{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2)}.onb-kyc-delay{color:var(--text-2);font-size:var(--text-sm);margin:0 0 14px;text-align:left;font-style:italic}.onb-kyc-upload{width:100%;border:1px dashed var(--border);border-radius:var(--radius-md);padding:32px;text-align:center;cursor:pointer;background:var(--surface);color:var(--text-2)}.onb-kyc-upload:hover{background:var(--bg)}.onb-kyc-upload--filled{background:var(--green-lt);border-color:var(--green-border);color:var(--green)}.onb-kyc-upload--error{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.onb-kyc-cert{display:flex;align-items:flex-start;gap:8px;font-size:var(--text-sm);color:var(--text-2);line-height:1.45;margin-bottom:12px}.onb-kyc-warning{color:var(--accent-dk);font-size:var(--text-sm);margin-top:12px;text-align:left}.onb-kyc-warning,.onb-recap-id-warning{background:var(--accent-lt);border-left:3px solid var(--accent);padding:10px 14px;border-radius:var(--radius-sm)}