:root{--auth-accent:#7897c5;--auth-ink:#18212d;--auth-muted:#748093;--auth-line:#dfe6ee}
.auth-entry{border:1px solid #d8e2eb;background:#fff;color:#4d6480;padding:10px 17px;border-radius:11px;font:500 14px/1 inherit;cursor:pointer;box-shadow:0 7px 22px #6c819b12;transition:.2s}.auth-entry:hover{border-color:#b9cbe0;color:#385b82;background:#fafdff;transform:translateY(-1px)}
.nav{position:relative}.auth-entry.is-login:after{content:"";display:inline-block;width:6px;height:6px;margin:0 1px 3px 9px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}.account-menu{position:absolute;z-index:50;top:66px;right:0;width:205px;padding:15px;border:1px solid #e0e7ef;border-radius:14px;background:#fffffff2;box-shadow:0 18px 50px #52677e24;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:accountMenuIn .18s ease both}.account-menu[hidden]{display:none}.account-menu>span{display:block;color:#929daa;font-size:11px}.account-menu>b{display:block;margin:5px 0 13px;color:#34475d;font-size:14px;font-weight:500}.account-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 11px;border:0;border-radius:9px;background:#f5f8fb;color:#65768a;font:400 13px/1 inherit;cursor:pointer;text-align:left}.account-menu button:hover{background:#edf3f8;color:#3e5875}.account-menu button:disabled{opacity:.65}.account-menu i{font-style:normal;font-size:15px}@keyframes accountMenuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.auth-dialog{width:min(820px,calc(100% - 32px));max-width:none;padding:0;border:0;border-radius:24px;background:transparent;color:var(--auth-ink);overflow:visible;box-shadow:0 28px 90px #33445a30}.auth-dialog::backdrop{background:#d9e4ed80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.auth-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:570px;overflow:hidden;border:1px solid #ffffffcc;border-radius:24px;background:#ffffffeb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.auth-aside{position:relative;display:flex;flex-direction:column;padding:44px 34px;overflow:hidden;background:linear-gradient(145deg,#f6fbff 0%,#edf6ff 48%,#f8f7ff 100%)}.auth-aside:before,.auth-aside:after{content:"";position:absolute;border:1px solid #a8c5e042;border-radius:50%}.auth-aside:before{width:280px;height:280px;right:-155px;top:165px}.auth-aside:after{width:170px;height:170px;right:-86px;top:220px}.auth-aside img{width:38px;height:38px;margin-bottom:13px}.auth-aside>span{font-size:13px;letter-spacing:.08em;color:#6983a2}.auth-aside h2{max-width:210px;margin:55px 0 14px;font-size:27px;line-height:1.45;font-weight:500;letter-spacing:-.04em}.auth-aside p{max-width:215px;margin:0;color:#73839a;font-size:13px;line-height:1.8}.auth-ripple{display:flex;gap:7px;margin-top:auto;align-items:center}.auth-ripple i{display:block;width:7px;height:7px;border-radius:50%;background:#b8c9db}.auth-ripple i:nth-child(2){width:28px;border-radius:8px;background:#82a7ce}.auth-ripple i:nth-child(3){background:#d0c8e5}
.auth-main{position:relative;padding:36px 48px 27px}.auth-close{position:absolute;top:22px;right:24px;width:34px;height:34px;border:0;border-radius:50%;background:#f4f7fa;color:#7b8796;font-size:24px;font-weight:300;line-height:30px;cursor:pointer}.auth-heading>span{color:#7591b2;font-size:12px;letter-spacing:.11em}.auth-heading h2{margin:7px 0 5px;font-size:28px;font-weight:500;letter-spacing:-.04em}.auth-heading p{margin:0;color:#8a94a2;font-size:13px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:25px 0 20px;border-bottom:1px solid #e7ebf0}.auth-tabs button{position:relative;padding:10px;border:0;background:none;color:#929ba8;font:500 14px/1 inherit;cursor:pointer}.auth-tabs button.active{color:#3d5878}.auth-tabs button.active:after{content:"";position:absolute;left:28%;right:28%;bottom:-1px;height:2px;border-radius:2px;background:#83a4c9}.login-modes{display:flex;gap:22px;margin-bottom:17px}.login-modes button{padding:0 0 6px;border:0;border-bottom:1px solid transparent;background:none;color:#98a1ad;font:400 13px/1 inherit;cursor:pointer}.login-modes button.active{border-color:#7798bd;color:#49698e}
.auth-form[hidden],.password-field{display:none}.auth-form.password-mode .password-field{display:flex}.auth-form.password-mode #loginCodeField{display:none}.auth-field{display:block;margin:0 0 15px}.auth-field>span{display:block;margin:0 0 7px;color:#5d6877;font-size:12px}.auth-field>div{display:flex;align-items:center;height:48px;border:1px solid var(--auth-line);border-radius:11px;background:#fff;transition:border-color .2s,box-shadow .2s}.auth-field>div:focus-within{border-color:#9bb5d1;box-shadow:0 0 0 3px #9bb5d119}.auth-field b{padding:0 13px;color:#59697b;border-right:1px solid #e7ebef;font-size:13px;font-weight:500}.auth-field input{min-width:0;flex:1;height:100%;padding:0 13px;border:0;outline:0;background:transparent;color:#1c2632;font:400 14px/1 inherit}.auth-field input::placeholder{color:#aeb6c1}.send-code,.password-toggle{flex:0 0 auto;margin-right:7px;border:0;background:#f1f6fa;color:#57789d;border-radius:8px;padding:9px 11px;font:500 12px/1 inherit;cursor:pointer}.password-toggle{width:34px;padding:9px;color:#8794a4;background:transparent;font-size:15px}
.auth-row{align-items:center;justify-content:space-between;margin:-2px 0 15px;color:#8993a0;font-size:12px}.auth-row label{display:flex;align-items:center}.auth-row button{border:0;background:none;color:#7189a5;font:inherit;cursor:pointer}.auth-submit{width:100%;height:47px;margin-top:2px;border:0;border-radius:11px;background:linear-gradient(135deg,#88a9ce,#6f91ba);color:#fff;font:500 14px/1 inherit;letter-spacing:.05em;cursor:pointer;box-shadow:0 10px 24px #6689b02b;transition:filter .2s,transform .2s,box-shadow .2s}.auth-submit:hover{filter:brightness(1.04);transform:translateY(-1px)}.auth-switch{text-align:center;margin:15px 0 0;color:#9aa2ad;font-size:12px}.auth-switch button{padding:0;border:0;background:none;color:#587ba2;font:inherit;cursor:pointer}.auth-consent{display:flex;align-items:flex-start;gap:6px;margin:1px 0 13px;color:#8a94a1;font-size:11px;line-height:1.6}.auth-consent input{margin-top:2px;accent-color:#7899bf}.auth-consent a{color:#607fa2;text-decoration:none}.auth-security{display:flex;align-items:center;justify-content:center;gap:6px;margin:18px 0 0;color:#9aa3ae;font-size:11px}.auth-security i{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#edf5f1;color:#668c7c;font-style:normal;font-size:10px}body.auth-open{overflow:hidden}
@media(max-width:680px){.auth-dialog{width:calc(100% - 20px);margin:auto}.auth-shell{display:block;min-height:0;border-radius:19px}.auth-aside{display:none}.auth-main{padding:28px 20px 22px}.auth-close{top:14px;right:14px}.auth-heading h2{font-size:25px}.auth-tabs{margin-top:20px}.auth-security{margin-top:15px}.auth-entry{padding:9px 12px;font-size:12px}}
@media(max-width:680px){.account-menu{top:56px;right:0;width:190px}}
@supports(-webkit-touch-callout:none){.auth-dialog{max-height:calc(100dvh - 20px);overflow:auto;-webkit-overflow-scrolling:touch}.auth-field input{font-size:16px}}
.auth-dialog.dialog-fallback[open]{position:fixed;z-index:1100;inset:10px;margin:auto}.auth-dialog.dialog-fallback[open]::before{content:"";position:fixed;z-index:-1;inset:0;background:#d9e4edaa;backdrop-filter:blur(10px)}
.auth-main{height:570px;display:flex;flex-direction:column}.auth-tabs{flex:0 0 auto}.auth-form{flex:0 0 295px}.auth-form .auth-submit{margin-top:6px}.auth-message{min-height:18px;margin:-3px 0 5px;color:#b45f68;font-size:11px;line-height:1.5}.auth-message.success{color:#5b8877}.send-code:disabled,.auth-submit:disabled{cursor:default;opacity:.68;transform:none}.auth-security{margin-top:auto}.login-modes{display:none}
@media(max-width:680px){.auth-main{height:520px;min-height:520px}.auth-form{flex-basis:280px}}
@media(prefers-reduced-motion:reduce){.auth-form{animation:none}}
.nav{z-index:100}
.account-menu>small{display:block;margin:-8px 0 13px;color:#8c98a6;font-size:11px}.account-menu>small:empty{display:none}
@media(max-width:680px){.auth-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.auth-main{height:470px;min-height:470px;padding:20px 16px 14px}.auth-close{top:10px;right:10px;width:32px;height:32px}.auth-heading>span{font-size:10px}.auth-heading h2{margin:4px 0 2px;font-size:22px}.auth-heading p{font-size:11px}.auth-tabs{margin:12px 0 12px}.auth-tabs button{padding:8px}.auth-form{flex-basis:276px}.auth-field{margin-bottom:10px}.auth-field>span{margin-bottom:5px}.auth-field>div{height:43px}.auth-submit{height:43px}.auth-consent{margin-bottom:8px;line-height:1.45}.auth-switch{margin-top:10px}.auth-security{margin-top:auto;font-size:10px}}
@media(max-width:380px){.auth-main{height:452px;min-height:452px;padding-left:13px;padding-right:13px}.auth-field>div{height:41px}.auth-submit{height:41px}}

/* Both forms share one grid cell so switching keeps the dialog size stable. */
.auth-shell{min-height:0}
.auth-main{height:auto;min-height:0}
.auth-forms{display:grid}
.auth-form,.auth-form[hidden]{display:block;grid-area:1/1;min-width:0}
.auth-form[hidden]{visibility:hidden;opacity:0;pointer-events:none}
.auth-message{min-height:33px;margin:0 0 5px;overflow-wrap:anywhere}
.auth-security{margin-top:18px}
.auth-dialog{max-height:calc(100dvh - 24px);overflow:auto}
.auth-entry{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-menu>b{overflow-wrap:anywhere}
@media(max-width:680px){.auth-dialog{width:min(400px,calc(100% - 24px));max-height:calc(100dvh - 24px)}.auth-main{height:auto;min-height:0;padding:20px 16px 14px}.auth-security{margin-top:12px}.auth-entry{max-width:135px}.auth-field input{font-size:16px}}
@media(max-width:380px){.auth-main{padding:16px 13px 12px}}

@media(max-width:680px){.auth-heading>span{display:none}.auth-tabs{margin:8px 0}.auth-tabs button{padding:6px}.auth-field{margin-bottom:8px}.auth-field>div{height:40px}.auth-security{margin-top:8px}.auth-main{padding-top:16px}}

/* Compact typography and spacing for the account dialog. */
.auth-dialog{width:min(740px,calc(100% - 32px));border-radius:20px}
.auth-shell{grid-template-columns:230px minmax(0,1fr);border-radius:20px}
.auth-aside{padding:30px 26px}
.auth-aside img{width:32px;height:32px;margin-bottom:9px}
.auth-aside>span{font-size:12px;letter-spacing:.04em}
.auth-aside h2{margin:30px 0 12px;font-size:20px;line-height:1.5;letter-spacing:0}
.auth-aside p{font-size:12px;line-height:1.65}
.auth-main{padding:26px 32px 20px}
.auth-heading>span{font-size:11px;letter-spacing:.04em}
.auth-heading h2{margin:4px 0;font-size:22px;line-height:1.35;letter-spacing:0}
.auth-heading p{font-size:12px;line-height:1.5}
.auth-close{top:14px;right:16px;width:30px;height:30px;font-size:22px;line-height:28px}
.auth-tabs{margin:14px 0 12px}
.auth-tabs button{padding:8px;font-family:inherit;font-size:13px;line-height:1.3}
.auth-field{margin-bottom:10px}
.auth-field>span{margin-bottom:4px;font-size:12px;line-height:1.4}
.auth-field>div{height:42px;border-radius:9px}
.auth-field input{font-family:inherit;font-size:13px}
.send-code{padding:7px 9px;font-family:inherit;font-size:12px;line-height:1.2}
.auth-consent{margin:0 0 4px;line-height:1.5}
.auth-message{margin:0;min-height:18px}
.auth-form .auth-submit{height:42px;margin-top:2px;border-radius:9px;font-family:inherit;font-size:13px;box-shadow:0 5px 14px #6689b01c}
.auth-switch{margin-top:10px;line-height:1.5}
.auth-security{margin-top:10px;line-height:1.5}
@media(max-width:680px){
  .auth-dialog{width:min(380px,calc(100% - 24px))}
  .auth-main{padding:18px 18px 14px}
  .auth-heading h2{font-size:20px}
  .auth-heading p{font-size:11px}
  .auth-tabs{margin:10px 0}
  .auth-tabs button{padding:6px}
  .auth-field{margin-bottom:8px}
  .auth-field input{font-size:16px}
  .auth-security{margin-top:8px;font-size:10px}
}
@media(max-width:380px){.auth-main{padding:16px 13px 12px}}

/* Quiet brand panel with a small spreadsheet illustration. */
.auth-aside{padding:28px 25px 24px;background:linear-gradient(155deg,#f0f5f9,#e8eff6);border-right:1px solid #e4ebf2}
.auth-aside:before,.auth-aside:after{display:none}
.auth-brand{display:flex;align-items:center;gap:10px}
.auth-brand img{width:32px;height:32px;margin:0}
.auth-brand>span{font-size:16px;font-weight:500;line-height:1.3;color:#435971}
.auth-brand small{display:block;margin-top:3px;font-size:10px;font-weight:400;letter-spacing:.04em;color:#8393a5}
.auth-aside-content{margin:auto 0;padding:28px 0 32px}
.auth-aside-content h2{margin:0 0 12px;color:#3c536b;font-size:23px;font-weight:500;line-height:1.5;letter-spacing:.02em}
.auth-aside-content p{font-size:12px;line-height:1.8;color:#8393a5}
.auth-sheet-art{position:relative;width:162px;margin:26px 0 0 3px;padding:13px;border:1px solid #fff;border-radius:12px;background:#ffffffc9;box-shadow:0 12px 26px #6a819314;transform:rotate(-4deg)}
.auth-sheet-top{display:flex;align-items:center;gap:4px;height:12px;margin-bottom:10px}
.auth-sheet-top>span{height:5px;width:40px;margin-right:auto;border-radius:3px;background:#afc1d2}
.auth-sheet-top i{width:4px;height:4px;border-radius:50%;background:#d6e0e9}
.auth-sheet-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:4px}
.auth-sheet-grid>*{height:15px;border-radius:3px;background:#edf2f7}
.auth-sheet-grid>b{background:#d4e1ec}
.auth-sheet-grid>span:nth-child(3n+1){background:#e1ebf3}
.auth-sheet-done{position:absolute;right:-12px;bottom:-10px;display:grid;place-items:center;width:32px;height:32px;border:3px solid #f1f6f8;border-radius:50%;background:#8bafa6;color:#fff;transform:rotate(4deg)}
.auth-sheet-done svg{width:20px;height:20px}
.auth-aside-note{display:flex;align-items:center;gap:6px;color:#7d929e;font-size:10px;white-space:nowrap}
.auth-aside-note svg{width:15px;height:15px;flex-shrink:0}

.auth-aside-content h2{font-size:18px;line-height:1.5;letter-spacing:0;white-space:nowrap;margin-bottom:8px}
.auth-aside-content p{white-space:nowrap}

/* Quiet input hints; entered values retain their normal size and contrast. */
.auth-field input::placeholder{font-size:12px;font-weight:400;letter-spacing:0;color:#b8c0ca;opacity:1}
