/* Account access: a compact, legible surface shared by login and registration. */
.auth-dialog{width:min(830px,calc(100vw - 40px));max-height:calc(100dvh - 36px);border:1px solid #c8d8d0;border-radius:16px;background:#fff;box-shadow:0 28px 90px #071f1a55}
.auth-dialog::backdrop{background:#1028218c;backdrop-filter:blur(5px)}
.auth-dialog .portal-dialog-header{position:relative;padding:16px 24px;border-bottom:1px solid #e4ece7;background:#fff}
.auth-dialog .modal-eyebrow{display:none}
.auth-dialog .portal-dialog-header h2{font-size:15px;line-height:1.3;font-weight:700;letter-spacing:-.01em;margin:0}
.auth-dialog .dialog-close{position:relative;display:block;width:34px;height:34px;flex:0 0 34px;padding:0;border:1px solid #e1e9e3;background:#f8faf8}
.auth-dialog .dialog-close svg{position:absolute;top:50%;left:50%;display:block;width:18px;height:18px;margin:0;transform:translate(-50%,-50%)}
.auth-dialog .portal-dialog-content{padding:0}
.auth-dialog .modal-footer{padding:11px 24px;background:#fff;border-top:1px solid #e4ece7;color:#627369;font-size:10px}
.auth-dialog .modal-footer a{color:#315f49;text-decoration:none}
.auth-dialog .modal-auth-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-width:0}
.auth-dialog .modal-auth-aside{display:flex;flex-direction:column;min-width:0;min-height:490px;padding:30px 30px 25px;background:#153c34;color:#f3f8f2;border-right:0}
.auth-dialog .auth-aside-brand{display:flex;align-items:center;gap:10px;font-size:17px;letter-spacing:-.04em}
.auth-dialog .auth-aside-brand img{width:39px;height:39px}
.auth-dialog .auth-aside-brand strong{font-weight:750}
.auth-dialog .auth-aside-copy{margin:auto 0 42px}
.auth-dialog .auth-aside-copy .eyebrow{margin:0 0 17px;color:#a7c9b4;font-size:10px;letter-spacing:.13em;font-weight:700}
.auth-dialog .auth-aside-copy h3{margin:0 0 17px;color:#f6fbf5;font-size:39px;line-height:1.06;letter-spacing:-.05em;font-weight:600}
.auth-dialog .auth-aside-copy>p:last-child{max-width:240px;margin:0;color:#c3d9ca;font-size:13px;line-height:1.65}
.auth-dialog .auth-aside-note{display:flex;gap:13px;flex-wrap:wrap;border-top:1px solid #426b59;padding-top:17px;color:#b7d1bf;font-size:10px;font-weight:600}
.auth-dialog .modal-auth-form{min-width:0;padding:28px 32px 26px;background:#fff}
.auth-dialog .auth-mode-tabs{display:flex;gap:24px;align-items:center;padding:0;margin:0 0 29px;border:0;border-bottom:1px solid #e1e9e3;border-radius:0;background:none}
.auth-dialog .auth-mode-tabs a{position:relative;display:block;min-height:0;padding:0 0 13px;border-radius:0;color:#65766b;font-size:13px;font-weight:600;box-shadow:none}
.auth-dialog .auth-mode-tabs a[aria-current=page]{background:none;color:#174b37;box-shadow:none;font-weight:750}
.auth-dialog .auth-mode-tabs a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#1e7151;border-radius:2px}
.auth-dialog .auth-form h2{margin:0 0 23px;font-size:27px;line-height:1.15;letter-spacing:-.035em;font-weight:650;color:#1b3028}
.auth-dialog .auth-form .field{margin-bottom:16px;color:#304b3b;font-size:12px;font-weight:650}
.auth-dialog .auth-form .field input:not([type=checkbox]){width:100%;min-height:46px;margin-top:7px;padding:10px 13px;border:1px solid #cbd9d0;border-radius:8px;background:#fbfcfb;box-shadow:none;color:#172d23;font-size:15px}
.auth-dialog .auth-form .field input:focus{border-color:#327958;outline:3px solid #dbece1;outline-offset:0}
.auth-dialog .auth-form .field small{display:block;margin-top:6px;color:#65776b;font-size:10px;line-height:1.45}
.auth-dialog .password-reveal{height:32px;min-width:52px;border-radius:6px;background:#eaf2eb;color:#24543d;font-size:11px}
.auth-dialog .auth-form .checkbox{display:flex;align-items:flex-start;gap:9px;margin:13px 0 18px;color:#52675a;font-size:11px;line-height:1.55}
.auth-dialog .auth-form .checkbox input{margin-top:2px}
.auth-dialog .auth-form .checkbox a,.auth-dialog .auth-form .form-foot a{color:#1b6749;text-decoration:none;font-weight:650}
.auth-dialog .auth-form .checkbox a:hover,.auth-dialog .auth-form .form-foot a:hover{text-decoration:underline}
.auth-dialog .auth-form>.button{min-height:48px;border-radius:8px;background:#174938;color:#fff;font-size:13px;font-weight:700;box-shadow:none}
.auth-dialog .auth-form>.button:hover{background:#23654a}
.auth-dialog .auth-form .form-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 0;color:#64766b;font-size:11px;line-height:1.5}
.auth-dialog .notice{margin:0 0 16px}
.auth-dialog .verification-required{padding:0}
.auth-dialog .verification-required h2{margin-bottom:16px}
.auth-dialog .verification-required>p:not(.eyebrow){color:#52665b;font-size:13px;line-height:1.65}
.auth-dialog .verification-required>p strong{color:#193f30;overflow-wrap:anywhere}
.auth-dialog .verification-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:24px}
.auth-dialog .verification-actions form{display:flex;margin:0;min-width:0}
.auth-dialog .verification-actions button{min-height:46px;padding:10px 16px;border-radius:8px;font-size:12px;font-weight:700;line-height:1.3;white-space:normal;cursor:pointer}
.auth-dialog .verification-actions .button{background:#174938;color:#fff;border:1px solid #174938}
.auth-dialog .verification-actions .button:hover{background:#23654a}
.auth-dialog .verification-logout button{border:1px solid #cbd9d0;background:#fff;color:#285741}
.auth-dialog .verification-logout button:hover{background:#f1f7f1;border-color:#87ad95}
@media(min-width:701px){
 dialog.auth-dialog:not(.auth-dialog--verification){width:min(900px,calc(100vw - 48px));max-height:calc(100dvh - 48px);margin:auto;border-radius:18px}
 dialog.auth-dialog:not(.auth-dialog--verification) .modal-auth-form{display:flex;flex-direction:column;justify-content:center}
}
@media(max-width:700px){
 .auth-dialog{width:100vw;max-width:100vw;max-height:calc(100dvh - 12px);margin:auto 0 0;border:0;border-radius:18px 18px 0 0}
 .auth-dialog .portal-dialog-header{padding:15px 19px}
 .auth-dialog .modal-auth-layout{display:block}
 .auth-dialog .modal-auth-aside{display:none}
 .auth-dialog .modal-auth-form{padding:22px 22px 25px}
 .auth-dialog .auth-mode-tabs{margin-bottom:25px}
 .auth-dialog .auth-form h2{font-size:25px;margin-bottom:21px}
 .auth-dialog .auth-form .field{margin-bottom:15px}
 .auth-dialog .auth-form .field input:not([type=checkbox]){min-height:49px;font-size:16px}
 .auth-dialog .auth-form .checkbox{font-size:11px}
 .auth-dialog .modal-footer{padding:11px 22px calc(12px + env(safe-area-inset-bottom))}
 .auth-dialog .verification-actions{flex-direction:column}
 .auth-dialog .verification-actions form,.auth-dialog .verification-actions button{width:100%}
}
@media(max-width:380px){.auth-dialog .modal-auth-form{padding:19px 18px 23px}.auth-dialog .auth-form h2{font-size:23px}.auth-dialog .auth-form .form-foot{font-size:10px}}

/* Verification is a single task, so it uses a focused dialog. */
dialog.auth-dialog--verification{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border-radius:16px}
dialog.auth-dialog--verification .portal-dialog-header{padding:16px 23px}
dialog.auth-dialog--verification .portal-dialog-header h2{font-size:14px;letter-spacing:-.015em}
dialog.auth-dialog--verification .modal-auth-layout{display:block}
dialog.auth-dialog--verification .modal-auth-aside{display:none}
dialog.auth-dialog--verification .modal-auth-form{padding:30px 34px 34px}
dialog.auth-dialog--verification .modal-footer{display:none}
dialog.auth-dialog--verification .verification-symbol{display:grid;place-items:center;width:48px;height:48px;margin:0 0 26px;border:1px solid #d4e6d9;border-radius:12px;background:#edf5ed;color:#205740}
dialog.auth-dialog--verification .verification-symbol svg{width:25px;height:25px}
dialog.auth-dialog--verification .verification-required>.eyebrow{margin:0 0 9px;color:#47735b;font-size:10px;letter-spacing:.12em}
dialog.auth-dialog--verification .verification-required h2{margin:0 0 18px;color:#1d3329;font-size:29px;line-height:1.12;letter-spacing:-.035em}
dialog.auth-dialog--verification .verification-required>p:not(.eyebrow){margin:0;color:#52685b;font-size:14px;line-height:1.65}
dialog.auth-dialog--verification .verification-required>p strong{color:#193f30;font-weight:750;overflow-wrap:anywhere}
dialog.auth-dialog--verification .verification-required>.verification-hint{margin-top:14px!important;color:#6b7b70!important;font-size:12px!important}
dialog.auth-dialog--verification .verification-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:27px}
dialog.auth-dialog--verification .verification-actions form{display:block;width:100%;margin:0}
dialog.auth-dialog--verification .verification-actions button{display:block;width:100%;min-height:46px;padding:10px 15px;border-radius:8px;font-size:13px;line-height:1.35;text-align:center;text-decoration:none;cursor:pointer}
dialog.auth-dialog--verification .verification-actions .button{border:1px solid #174938;background:#174938;color:#fff}
dialog.auth-dialog--verification .verification-actions .button:hover{background:#23654a}
dialog.auth-dialog--verification .verification-logout button{min-height:38px;border:0;background:transparent;color:#3e6550;font-weight:650}
dialog.auth-dialog--verification .verification-logout button:hover{background:#f1f6f1;color:#174938}
@media(max-width:700px){
 dialog.auth-dialog--verification{width:100vw;max-width:100vw;max-height:calc(100dvh - 10px);border-radius:18px 18px 0 0}
 dialog.auth-dialog--verification .modal-auth-form{padding:25px 24px calc(26px + env(safe-area-inset-bottom))}
 dialog.auth-dialog--verification .verification-symbol{margin-bottom:22px}
 dialog.auth-dialog--verification .verification-required h2{font-size:27px}
}
