.auth-page,.account-page{font-family:FoodnoteUI,var(--font-body);background:#f7f9fc;color:#182b45;--auth-sub:#62738a;--auth-line:#dce3ed;--auth-blue:#2457d6}
.auth-page .fn-header>.fn-shell,.account-page .fn-header>.fn-shell{max-width:1420px;width:100%;box-sizing:border-box;padding-inline:28px}
.login-wrap{width:100%;display:flex;flex-direction:column;align-items:center;padding:52px 20px 32px;min-height:calc(100dvh - 124px)}
.login-card{display:block;width:min(440px,100%);padding:32px;border:1px solid #e1e7f0;border-radius:12px;background:#fff;box-shadow:0 4px 20px #172b4403}
.auth-heading{margin-bottom:24px;text-align:left}.auth-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#eef3ff;margin-bottom:18px}.auth-heading h1{font-size:27px;font-weight:720;line-height:1.35;letter-spacing:-.04em;margin:0 0 9px}.auth-heading>p{font-size:14px;color:var(--auth-sub);line-height:1.7;margin:0;max-width:36ch}
.auth-field{margin-top:18px;min-width:0}.auth-field:first-child{margin-top:0}.auth-field>label{display:block;font-size:14px;font-weight:600;line-height:1.5;margin-bottom:8px}
.login-card input:not([type=hidden]){display:block;width:100%;min-width:0;height:46px;min-height:46px;padding:10px 12px;border:1px solid #a8b6c9;border-radius:7px;background:#fff;font:inherit;font-size:16px;line-height:1.4;color:#182b45;box-sizing:border-box}.login-card input:hover{border-color:#7c90aa}.login-card input:focus{outline:2px solid #2457d632;outline-offset:1px;border-color:var(--auth-blue)}.login-card input[aria-invalid=true]{border-color:#b12e42;outline:1px solid #b12e42}
.login-password{position:relative}.login-card .login-password input{padding-right:52px}.login-reveal{position:absolute;right:1px;top:1px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:6px;background:transparent;color:var(--auth-sub);cursor:pointer}.login-reveal:hover{background:#f1f5fc;color:var(--auth-blue)}.login-reveal[aria-pressed=true]{color:var(--auth-blue)}.login-reveal svg{width:20px;height:20px}
.login-error{min-height:22px;margin:10px 0 6px;font-size:13px;line-height:1.65;color:#ae2b40;overflow-wrap:anywhere}.login-error.is-success{color:#22694e}
.login-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:10px 16px;border:1px solid var(--auth-blue);border-radius:7px;background:var(--auth-blue);color:#fff;font:inherit;font-size:15px;font-weight:650;text-align:center;text-decoration:none;cursor:pointer;box-sizing:border-box}.login-submit:hover:not(:disabled){background:#1c48bc;border-color:#1c48bc;color:#fff}.login-submit:active:not(:disabled){background:#163c9d}.login-submit:disabled{opacity:.5;cursor:default}
.auth-find-links{display:flex;align-items:center;justify-content:center;gap:16px;margin:12px 0 0}.auth-find-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--auth-sub);font-size:13px;text-decoration:none}.auth-find-links a:hover{color:var(--auth-blue);text-decoration:underline;text-underline-offset:4px}.auth-find-links>span{width:1px;height:12px;background:#d7dfea}
.auth-switch{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:16px 0 0;padding-top:18px;border-top:1px solid #edf0f5;font-size:14px;line-height:1.5;color:var(--auth-sub)}.auth-switch a{display:inline-flex;align-items:center;min-height:44px;color:var(--auth-blue);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline;text-underline-offset:4px}.auth-support{font-size:12px;line-height:1.7;color:var(--auth-sub);margin:18px 0 0}
.auth-guest{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:14px;padding:8px;color:var(--auth-sub);font-size:13px;text-decoration:none}.auth-guest:hover{color:var(--auth-blue)}.auth-footer{padding:18px;text-align:center;font-size:12px;color:var(--auth-sub)}
.auth-inline{display:flex;align-items:stretch;gap:8px}.auth-inline input{flex:1}.auth-outline{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #b8c6da;border-radius:7px;background:#fff;color:#2e4b77;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.auth-outline:hover:not(:disabled){background:#f2f6ff;border-color:var(--auth-blue)}.auth-field-note{min-height:40px;line-height:1.6;font-size:12px;color:var(--auth-sub);margin:5px 0 0}.auth-field-note.is-error{color:#ae2b40}.auth-field-note.is-success{color:#22694e}.auth-helper{font-size:13px;line-height:1.7;color:var(--auth-sub);margin:6px 0 0}
.auth-config-note{padding:11px 12px;margin:0 0 20px;border:1px solid #e6d3ad;border-radius:7px;background:#fff9ed;font-size:13px;line-height:1.7;color:#76571b}.auth-verified-account{padding:11px 12px;margin:0 0 20px;border-radius:7px;background:#f1f5fc;font-size:14px;color:#2c4770;overflow-wrap:anywhere}.auth-completed{text-align:center;padding-top:8px}.auth-completed>p{font-size:15px;line-height:1.8;margin:18px 0 24px}.auth-success-mark{display:grid;place-items:center;width:54px;height:54px;margin:auto;border-radius:50%;background:#eaf6ef;color:#24704d;font-size:25px}
.auth-tabs{display:flex;gap:24px;border-bottom:1px solid var(--auth-line);margin:0 0 24px}.auth-tabs>button{position:relative;min-height:48px;padding:10px 0;border:0;background:none;color:var(--auth-sub);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.auth-tabs>button[aria-selected=true]{color:var(--auth-blue)}.auth-tabs>button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;border-radius:2px;background:var(--auth-blue)}
.account-page .login-card h2{font-size:19px;line-height:1.5;margin:0 0 12px}.account-page .login-card .notice{font-size:13px;line-height:1.7;color:#78551b;background:#fff8e9;border-radius:7px;padding:10px 12px;margin:0 0 18px}.account-page .login-card .helper{font-size:13px;line-height:1.7;color:var(--auth-sub)}.account-page #feedback{min-height:22px;margin:10px 0 6px;font-size:13px;line-height:1.65;color:#ae2b40}.account-page .login-card .field{margin-top:18px}.account-page .login-card .field label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}
.auth-page :is(a,button,input):focus-visible,.account-page :is(a,button,input):focus-visible{outline:3px solid #2457d688;outline-offset:3px}
@media(max-width:600px){.auth-page .fn-header>.fn-shell,.account-page .fn-header>.fn-shell{padding-inline:16px;gap:8px;flex-wrap:nowrap}.auth-page .fn-nav,.account-page .fn-nav{flex-wrap:nowrap;gap:0}.auth-page .fn-nav a,.account-page .fn-nav a{font-size:13px;padding:8px}.auth-page .fn-brand,.account-page .fn-brand{font-size:17px;gap:7px}.login-wrap{padding:28px 16px 20px}.login-card{padding:25px 22px}.auth-heading h1{font-size:25px}.auth-heading{margin-bottom:22px}}
@media(max-width:350px){.auth-page .fn-brand,.account-page .fn-brand{font-size:0}.login-card{padding:24px 18px}}
.login-card form>.login-submit{margin-top:20px}

.auth-heading #auth-description:empty { display: none; }
