/* Apple-inspired web typography and spacing; no Apple branding or native materials. */
.auth-page{--auth-ink:#1d1d1f;--auth-muted:#6e6e73;--auth-blue:#0066cc;min-height:100dvh;background:#f5f5f7;color:var(--auth-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
.auth-page *{box-sizing:border-box}
.auth-header{width:100%;max-width:1440px;margin:0 auto;padding:24px 48px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.auth-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--auth-ink);font-size:15px;font-weight:600;letter-spacing:-.3px}
.auth-monogram{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d5d5da;border-radius:10px;font-size:13px;letter-spacing:-1px;background:#fff}
.auth-brand-sub{font-weight:400;color:var(--auth-muted);font-size:12px;margin-left:10px;letter-spacing:0}
.auth-environment{color:var(--auth-muted);font-size:12px}
.auth-main{width:100%;flex:1;display:flex;flex-direction:column;align-items:center;padding:28px 24px 34px}
.auth-heading{text-align:center}
.auth-app-icon{height:72px;width:72px;margin:0 auto 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:21px;background:linear-gradient(145deg,#fff,#e9e9ee);border:1px solid #fff;box-shadow:0 6px 18px #2525350c,inset 0 0 0 1px #dcdce14d;font-size:29px;letter-spacing:-2px;font-weight:500;line-height:1.1}
.auth-app-icon span{font-size:7px;letter-spacing:1.7px;margin-top:6px;padding-left:2px;font-weight:600;color:#68686e}
.auth-heading h1{font-family:inherit;font-size:36px;line-height:1.35;font-weight:600;letter-spacing:-1.3px;margin:0}
.auth-heading>p{font-size:14px;color:var(--auth-muted);margin:14px 0 27px;line-height:1.7}
.auth-form{width:100%;max-width:400px;background:#fff;border:1px solid #e9e9ed;border-radius:22px;padding:30px 32px 23px;box-shadow:0 8px 32px #20203004}
.auth-form h2{font-size:21px;letter-spacing:-.5px;font-weight:600;margin:0 0 8px}
.auth-subtitle{font-size:12px;line-height:1.7;color:var(--auth-muted);margin:0 0 26px}
.auth-fields>label,.auth-password-label label{font-size:13px;color:var(--auth-ink);font-weight:500;display:block;margin:0 0 9px}
.auth-fields input{font-family:inherit;font-size:15px;background:#fff;border:1px solid #c8c8cd;border-radius:10px;min-height:50px;padding:13px 14px;color:var(--auth-ink);transition:border-color .15s,box-shadow .15s}
.auth-fields input::placeholder{color:#818188;font-size:14px}
.auth-page input:focus{outline:3px solid #0071e32e;outline-offset:1px;border-color:#0071e3}
.auth-password-label{display:flex;align-items:center;justify-content:space-between;margin-top:16px;min-height:32px}
.auth-password-label label{margin-bottom:0}
.auth-page .auth-link{background:none;border:0;border-radius:5px;padding:7px 0 7px 12px;font-size:12px;color:var(--auth-blue);min-height:36px}
.auth-password{position:relative;margin-top:4px}
.auth-password input{padding-right:64px}
.auth-password button{position:absolute;right:4px;top:4px;height:42px;min-width:52px;padding:0 10px;font-size:12px;background:transparent;border:0;color:#626269;border-radius:7px}
.auth-password button:hover{background:#f5f5f7;color:#1d1d1f}
.auth-error{font-size:12px;color:#b42318;line-height:1.6;margin:0;overflow-wrap:anywhere}
.auth-error:not(:empty){margin-top:14px;padding:10px 12px;background:#fff2f0;border-radius:8px}
.auth-hint,.auth-help{font-size:12px;line-height:1.7;color:#62512d;background:#f8f5ed;padding:10px 12px;border-radius:8px;margin:12px 0 0}
.auth-page .auth-submit{position:relative;margin:22px 0 0;min-height:49px;width:100%;display:flex;justify-content:center;align-items:center;gap:9px;background:#0071e3;border:1px solid #0071e3;border-radius:10px;color:#fff;font-size:15px;font-weight:500;transition:background .15s,transform .15s}
.auth-page .auth-submit:hover{background:#0066cc;border-color:#0066cc}
.auth-page .auth-submit:active{transform:scale(.99)}
.auth-page .auth-submit:disabled{opacity:.7;cursor:wait}
.auth-arrow{position:absolute;right:17px;font-size:20px;font-weight:400}
.auth-access-note{text-align:center;font-size:11px;color:var(--auth-muted);margin:18px 0 0;line-height:1.6}
.auth-trust{font-size:11px;color:var(--auth-muted);margin:24px 0 0;display:flex;gap:14px;align-items:center}
.auth-footer{text-align:center;padding:14px 24px 24px;color:var(--auth-muted);font-size:11px;line-height:1.8;background:none}
.auth-footer p{margin:5px 0 0;font-size:10px}
.auth-page button:focus-visible,.auth-page a:focus-visible{outline:3px solid #0071e380;outline-offset:3px}
.auth-spinner{display:none;width:15px;height:15px;border:2px solid #ffffff65;border-top-color:#fff;border-radius:50%;animation:auth-spin .75s linear infinite}
.auth-form[aria-busy=true] .auth-spinner{display:block}.auth-form[aria-busy=true] .auth-arrow{display:none}
@keyframes auth-spin{to{transform:rotate(360deg)}}
@media(min-height:900px){.auth-main{justify-content:center;padding-top:30px;padding-bottom:64px}.auth-heading h1{font-size:40px}.auth-heading>p{margin-bottom:32px}}
@media(max-width:640px){.auth-header{padding:20px 22px}.auth-brand-sub{display:none}.auth-environment{font-size:10px}.auth-main{padding:22px 20px 28px}.auth-heading h1{font-size:31px}.auth-app-icon{width:62px;height:62px;border-radius:18px;margin-bottom:22px;font-size:25px}.auth-form{padding:26px 24px 22px;border-radius:18px}.auth-fields input{font-size:16px}.auth-footer{padding:12px 20px 20px}.auth-footer p{max-width:290px;margin:6px auto 0}}
@media(prefers-reduced-motion:reduce){.auth-page *{transition:none!important;animation:none!important}}
/* Preserve the supplied logo, including its original proportions and transparency. */
.auth-monogram{width:42px;height:35px;object-fit:contain;border:0;border-radius:0;background:transparent}
.auth-app-icon{display:block;width:112px;height:92px;object-fit:contain;margin-bottom:20px;border:0;border-radius:0;background:none;box-shadow:none}
@media(max-width:640px){.auth-app-icon{width:98px;height:80px;margin-bottom:18px}}
@media(min-width:641px) and (max-height:820px){.auth-header{padding-top:18px;padding-bottom:18px}.auth-main{padding-top:8px;padding-bottom:16px}.auth-app-icon{width:86px;height:70px;margin-bottom:12px}.auth-heading h1{font-size:28px;line-height:1.3}.auth-heading>p{margin:10px 0 20px;font-size:13px}.auth-form{padding:24px 30px 20px}.auth-subtitle{margin-bottom:18px}.auth-trust{margin-top:18px}.auth-footer{padding-top:8px;padding-bottom:16px}}
/* Center the visible mark: artwork midpoint x=223.5, canvas midpoint x=201. */
.auth-app-icon{transform:translateX(-5.58%)}

/* Approved split layout: original illustration remains uncropped. */
.auth-split{display:grid;grid-template-columns:minmax(0,65fr) minmax(360px,35fr);grid-template-rows:auto 1fr auto;background:#faf9f6}
.auth-split .auth-header{grid-column:1/-1;grid-row:1;z-index:1;max-width:none;padding:24px 38px;margin:0;background:linear-gradient(to right,#eee3d1 65%,#faf9f6 65%)}
.auth-artwork{grid-column:1;grid-row:2/4;display:flex;align-items:center;background:#eee3d1;min-width:0;overflow:hidden}
.auth-artwork img{display:block;width:100%;height:auto;object-fit:contain}
.auth-split .auth-main{grid-column:2;grid-row:2;padding:32px clamp(24px,3vw,56px) 20px;justify-content:center;min-width:0}
.auth-split .auth-heading{width:100%;max-width:360px}
.auth-split .auth-app-icon{width:112px;height:92px;margin:0 auto 20px}
.auth-split .auth-heading h1{font-size:32px;line-height:1.4;letter-spacing:-.8px}
.auth-split .auth-heading>p{font-size:13px;margin:13px 0 34px}
.auth-split .auth-form{max-width:360px;background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.auth-split .auth-subtitle{margin-bottom:24px}
.auth-split .auth-trust{margin-top:32px}
.auth-split .auth-footer{grid-column:2;grid-row:3;padding:12px 20px 20px}
@media(min-width:901px) and (max-height:800px){.auth-split .auth-main{padding-top:12px;padding-bottom:12px}.auth-split .auth-app-icon{width:82px;height:67px;margin-bottom:10px}.auth-split .auth-heading h1{font-size:27px}.auth-split .auth-heading>p{margin-bottom:24px}.auth-split .auth-trust{margin-top:22px}}
@media(max-width:900px){.auth-split{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.auth-split .auth-header{grid-column:1;grid-row:1;padding:18px 22px;background:#eee3d1}.auth-split .auth-artwork{grid-column:1;grid-row:2}.auth-split .auth-main{grid-column:1;grid-row:3;padding:28px 24px 24px}.auth-split .auth-footer{grid-column:1;grid-row:4}.auth-split .auth-app-icon{width:80px;height:65px;margin-bottom:12px}.auth-split .auth-heading h1{font-size:28px}.auth-split .auth-heading>p{margin-bottom:26px}.auth-split .auth-trust{margin-top:24px}}

/* Keep the complete illustration flush with the desktop viewport bottom. */
@media(min-width:901px){.auth-split .auth-artwork{align-items:flex-end}}
