/* Public entry: Sanniao's original logo palette and a spacious brand composition. */
.auth-brand{--auth-ink:var(--text-primary);--auth-muted:var(--text-secondary);position:relative;isolation:isolate;overflow:hidden;min-height:100dvh;background:radial-gradient(ellipse at 29% 69%,#ddf3ff80,transparent 52%),radial-gradient(ellipse at 91% 15%,#edf8ffc4,transparent 48%),var(--surface-subtle);color:var(--auth-ink)}
.auth-brand::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;background:linear-gradient(125deg,transparent 32%,#ffffff9e 32.1%,#ffffff14 62%,transparent 62.1%);opacity:.85}
.auth-brand::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:820px;height:820px;right:-500px;bottom:-410px;border:1px solid #dceff98c;border-radius:50%;box-shadow:0 0 0 85px #e8f5fc4a,0 0 0 170px #e8f5fc24}
.auth-brand .auth-header{display:flex;align-items:center;justify-content:space-between;gap:24px;width:calc(100% - 112px);max-width:1344px;margin:0 auto;padding:32px 0;min-height:112px}
.auth-brand-home{display:flex;align-items:center;gap:25px;min-width:0}.auth-brand .auth-header .brand-lockup{width:180px}.auth-brand .auth-header .brand-lockup img{width:151.70796%;max-width:none;height:auto}
.auth-product-name{display:block;padding-left:25px;border-left:1px solid var(--border-default);font-size:var(--font-body);font-weight:600;letter-spacing:.02em;color:var(--text-secondary);white-space:nowrap}.auth-product-name>span{display:block;font-size:var(--font-caption);font-weight:400;color:var(--text-secondary);letter-spacing:.12em;margin-top:3px}
.auth-official-link{display:inline-flex;align-items:center;gap:9px;color:var(--text-secondary);font-size:var(--font-body-sm);padding:10px 0;border-bottom:1px solid var(--border-default);transition:color .15s,border-color .15s}.auth-official-link:hover{color:var(--brand-strong);border-color:var(--brand-blue)}
.auth-brand .auth-main{width:calc(100% - 128px);max-width:1280px;min-height:654px;margin:auto;padding:20px 0 26px;display:grid;grid-template-columns:minmax(0,1fr) 448px;gap:90px;align-items:center}
.auth-brand .auth-copy{position:relative;min-width:0;animation:none;padding:8px 0}.auth-eyebrow{display:flex;align-items:center;gap:11px;color:var(--text-secondary);font-size:var(--font-eyebrow);font-weight:500;letter-spacing:.15em;line-height:1.6}.auth-eyebrow>span{height:2px;width:27px;background:var(--brand-blue)}
.auth-brand .auth-copy h1{font-size:clamp(40px,4.1vw,58px);font-weight:500;line-height:1.32;letter-spacing:0;margin:24px 0;color:var(--text-primary);white-space:nowrap}.auth-brand .auth-copy h1>span{color:var(--brand-display)}.auth-brand .auth-copy>p{font-size:var(--font-body);line-height:1.95;color:var(--text-secondary);max-width:560px;margin:0}
.auth-sculpture{position:relative;max-width:548px;height:215px;margin-top:25px;perspective:1000px}.auth-orbit{position:absolute;left:16px;top:48px;width:460px;height:120px;border:1px solid #c5e7f97a;border-radius:50%;transform:rotate(-13deg);box-shadow:0 0 0 18px #ffffff3d}.auth-orbit.orbit-inner{left:75px;top:72px;width:339px;height:78px;border-color:#afd9ef91;box-shadow:0 0 0 7px #f4fbff60}
.auth-brand-disc{position:absolute;left:184px;top:15px;display:grid;place-items:center;width:154px;height:154px;border:1px solid var(--surface-raised);border-radius:42px;transform:rotateX(18deg) rotateY(-22deg) rotateZ(-8deg);background:linear-gradient(136deg,var(--surface-raised),#e6f6ffb8);box-shadow:8px 11px 0 -1px #aed4ea40,17px 21px 0 -2px #afd6ed21,4px 29px 36px -15px #4d9dcc3d,inset 0 0 25px var(--surface-raised)}.auth-brand-disc img{width:95px;height:95px;filter:drop-shadow(2px 4px 1px #3c8eba0e)}
.auth-orbit-node{position:absolute;display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffffed;border-radius:16px;box-shadow:0 8px 20px #3089b611;background:#f8fdffe6;color:var(--brand-strong);transform:rotate(-8deg)}.auth-orbit-node.node-contract{left:40px;top:107px}.auth-orbit-node.node-growth{left:421px;top:51px;color:var(--brand-strong);background:linear-gradient(145deg,var(--surface-subtle),var(--surface-raised))}.auth-orbit-light{position:absolute;left:365px;top:163px;width:7px;height:7px;border:1px solid var(--surface-raised);border-radius:50%;background:var(--surface-subtle);box-shadow:0 0 0 6px #fff7}.auth-visual-caption{position:absolute;bottom:4px;left:186px;font-size:var(--font-caption);color:var(--text-secondary);letter-spacing:.15em}
.auth-capabilities{display:flex;align-items:center;gap:24px;margin-top:11px;color:var(--text-secondary);font-size:var(--font-body-sm);letter-spacing:.03em}.auth-capabilities>span{display:flex;align-items:center;gap:9px}.auth-capabilities>span>svg{color:var(--text-secondary)}.auth-capabilities>i{height:14px;width:1px;background:var(--surface-subtle)}
.auth-access{min-width:0;position:relative;padding:8px 0}.auth-brand wa-card.auth-card{display:block;--spacing:0;min-width:0;color:var(--auth-ink);font:inherit;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:22px;padding:34px 35px;box-shadow:0 25px 70px #234f7110,0 3px 8px #2f648f03;animation:none;backdrop-filter:blur(20px)}.auth-brand wa-card.auth-card::part(body){display:block;padding:0;gap:0}
.auth-card-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:var(--font-caption);letter-spacing:.03em;color:var(--text-secondary);margin-bottom:25px}.auth-card-topline>span:first-child{display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:var(--font-caption)}.auth-card-topline svg{color:var(--brand-blue)}
.auth-brand .portal-tabs{margin-bottom:32px;border:1px solid var(--border-default);background:var(--surface-subtle);border-radius:10px;padding:4px;gap:4px}.auth-brand .portal-tabs a{padding:10px 8px;min-height:39px;border-radius:7px;font-size:var(--font-body-sm);gap:6px;color:var(--text-secondary)}.auth-brand .portal-tabs a.active{background:var(--surface-raised);color:var(--brand-strong);box-shadow:0 2px 6px #325c760a;font-weight:500}.auth-brand .portal-tabs a:hover{color:var(--brand-strong)}
.auth-card-eyebrow{display:block;font-size:var(--font-eyebrow);color:var(--text-secondary);font-weight:500;letter-spacing:.16em}.auth-brand .auth-card h2{font-size:var(--font-report-title);line-height:1.4;letter-spacing:0;color:var(--text-primary);font-weight:600;margin:9px 0 10px}.auth-card-intro>p{color:var(--text-secondary);font-size:var(--font-body);line-height:1.9;margin-bottom:27px}
.auth-brand .auth-card .field{margin-bottom:22px}.auth-brand .auth-card .field>label{color:var(--text-secondary);font-size:var(--font-control);font-weight:500;margin-bottom:9px}.auth-brand .auth-card .required{color:var(--text-secondary);margin-left:1px}.auth-brand .auth-card .field input{height:48px;padding:12px 14px;font-size:var(--font-input);color:var(--text-primary);background:var(--surface-subtle);border-color:var(--border-control);border-radius:9px;box-shadow:0 1px 2px #35516b03}.auth-brand .auth-card .field input::placeholder{color:var(--text-secondary);font-size:var(--font-control)}.auth-brand .auth-card .field input:focus{outline:0;border-color:var(--brand-focus);box-shadow:0 0 0 3px #009fe812;background:var(--surface-raised)}.auth-brand .auth-card .password-input input{padding-right:65px}.auth-brand .auth-card .password-toggle{right:9px;top:50%;transform:translateY(-50%);min-height:32px;font-size:var(--font-caption);color:var(--text-secondary);border-radius:6px;padding:5px 8px}.auth-brand .auth-card .password-toggle:hover{background:var(--surface-accent);color:var(--brand-strong)}
.auth-brand .auth-card .auth-submit{display:flex;align-items:center;justify-content:center;gap:12px;min-height:49px;padding:13px 18px;margin-top:7px;border:0;border-radius:9px;background:var(--action-primary);box-shadow:0 4px 10px #007bb51a;color:var(--action-on-primary);font-size:var(--font-input);font-weight:var(--font-weight-control);line-height:1.5;letter-spacing:0}.auth-brand .auth-card .auth-submit:hover{background:var(--action-primary-hover);box-shadow:0 5px 12px #007bb51f}.auth-brand .auth-card .auth-submit:active{transform:translateY(1px)}.auth-brand .auth-card .auth-submit:disabled{opacity:.6;cursor:wait}
.auth-brand .auth-card .auth-links{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:12px;line-height:1.8;font-size:var(--font-caption);color:var(--text-secondary)}.auth-brand .auth-links a{color:var(--text-secondary)}.auth-brand .auth-links a:hover{color:var(--brand-strong)}.auth-brand .auth-card .form-error{color:var(--status-error);background:var(--status-error-soft);border:1px solid var(--status-error-border);line-height:1.8;font-size:var(--font-body-sm);border-radius:8px;padding:10px 12px;margin-bottom:16px}.auth-brand .auth-card .notice{padding:16px;font-size:var(--font-body);line-height:1.9;border-radius:9px;color:var(--text-secondary);background:var(--surface-subtle);border:1px solid var(--border-default)}
.auth-access-note{display:block;text-align:center;font-size:var(--font-caption);color:var(--text-secondary);letter-spacing:.04em;margin:21px 0 0}.auth-brand .auth-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;width:calc(100% - 112px);max-width:1344px;margin:0 auto;padding:23px 0 26px;border-top:1px solid #dce9f1a3;color:var(--text-secondary);font-size:var(--font-caption);letter-spacing:.03em}.auth-brand .auth-foot nav{display:flex;align-items:center;gap:15px;white-space:nowrap}.auth-brand .auth-foot nav>i{height:10px;width:1px;background:var(--surface-subtle)}.auth-brand .auth-foot a:hover{color:var(--brand-strong)}
@media(min-width:1700px){.auth-brand .auth-main{max-width:1360px;grid-template-columns:minmax(0,1fr) 470px;gap:148px}.auth-brand .auth-copy h1{font-size:64px}.auth-brand wa-card.auth-card{padding:39px 40px}.auth-brand .auth-copy>p{font-size:16px}.auth-sculpture{margin-top:35px;height:236px;transform:scale(1.08);transform-origin:left center}.auth-capabilities{margin-top:19px}.auth-brand .auth-header,.auth-brand .auth-foot{max-width:1420px}}
@media(max-width:1190px){.auth-brand .auth-header,.auth-brand .auth-foot{width:calc(100% - 72px)}.auth-brand .auth-main{width:calc(100% - 80px);gap:44px;grid-template-columns:minmax(0,1fr) 410px;min-height:640px}.auth-brand .auth-copy h1{font-size:clamp(36px,4vw,48px)}.auth-brand .auth-copy>p{font-size:var(--font-body)}.auth-brand wa-card.auth-card{padding:30px 28px}.auth-sculpture{width:480px;max-width:none;transform:scale(.83);transform-origin:left center;margin-top:8px;margin-bottom:-25px}.auth-capabilities{gap:15px;font-size:var(--font-caption)}.auth-capabilities>span{gap:7px}.auth-product-name{padding-left:19px}.auth-brand-home{gap:19px}}
@media(max-width:960px){.auth-brand .auth-main{grid-template-columns:minmax(0,1fr) 385px;gap:30px;width:calc(100% - 56px);min-height:650px}.auth-brand .auth-header,.auth-brand .auth-foot{width:calc(100% - 56px)}.auth-brand .auth-copy h1{font-size:35px}.auth-brand .auth-copy>p{font-size:var(--font-body);line-height:2}.auth-eyebrow{font-size:var(--font-eyebrow);letter-spacing:.08em;gap:8px}.auth-eyebrow>span{width:16px}.auth-sculpture{transform:scale(.67);margin-top:0;margin-bottom:-47px}.auth-capabilities{gap:11px;font-size:var(--font-caption)}.auth-capabilities>span{gap:5px}.auth-capabilities>span>svg{width:14px;height:14px}.auth-brand .auth-header .brand-lockup{width:156px}.auth-product-name{font-size:var(--font-body-sm)}.auth-product-name>span{font-size:var(--font-caption)}.auth-brand .auth-header{padding:27px 0;min-height:100px}.auth-brand .auth-foot>span:nth-child(2){display:none}}
@media(max-width:800px){.auth-brand .auth-main{display:grid;grid-template-columns:minmax(0,1fr);width:calc(100% - 64px);max-width:530px;gap:26px;min-height:0;margin:0 auto;padding:23px 0 30px}.auth-brand .auth-copy{padding:0;text-align:center}.auth-eyebrow{justify-content:center;font-size:var(--font-eyebrow);letter-spacing:.1em}.auth-brand .auth-copy h1{font-size:38px;line-height:1.32;margin:17px 0 15px;white-space:normal}.auth-brand .auth-copy>p{font-size:var(--font-body);max-width:none;line-height:1.9}.auth-sculpture,.auth-capabilities{display:none}.auth-access{padding:0}.auth-brand wa-card.auth-card{padding:29px 33px;border-radius:19px}.auth-card-topline{margin-bottom:22px}.auth-brand .portal-tabs{margin-bottom:26px}.auth-brand .auth-card h2{font-size:25px}.auth-brand .auth-header{width:calc(100% - 48px);padding:23px 0;min-height:92px}.auth-brand .auth-foot{width:calc(100% - 48px);font-size:var(--font-caption);padding:21px 0;gap:10px}.auth-access-note{font-size:var(--font-caption);margin-top:18px}}
@media(max-width:480px){.auth-brand .auth-header{width:calc(100% - 40px);padding:21px 0;min-height:80px}.auth-brand .auth-header .brand-lockup{width:134px}.auth-product-name{display:none}.auth-official-link{font-size:var(--font-caption);gap:6px;padding:7px 0}.auth-official-link>svg{width:12px;height:12px}.auth-brand .auth-main{width:calc(100% - 36px);gap:25px;padding:19px 0 25px}.auth-eyebrow{font-size:var(--font-eyebrow);letter-spacing:.12em;gap:8px}.auth-eyebrow>span{width:17px}.auth-brand .auth-copy h1{font-size:32px;letter-spacing:0;margin:17px 0 13px}.auth-brand .auth-copy>p{font-size:var(--font-body);line-height:1.85}.auth-brand wa-card.auth-card{padding:25px 22px;border-radius:17px;box-shadow:0 14px 34px #3261820b}.auth-card-topline{margin-bottom:20px;font-size:var(--font-caption)}.auth-card-topline>span:first-child{font-size:var(--font-caption)}.auth-brand .portal-tabs{margin-bottom:25px}.auth-brand .portal-tabs a{font-size:var(--font-caption);padding:8px 5px;gap:5px;min-height:36px}.auth-brand .portal-tabs a>svg{width:14px;height:14px}.auth-brand .auth-card h2{font-size:23px}.auth-card-intro>p{font-size:var(--font-body);margin-bottom:23px}.auth-brand .auth-card .field{margin-bottom:19px}.auth-brand .auth-card .field>label{font-size:var(--font-control)}.auth-brand .auth-card .field input{font-size:16px;height:47px}.auth-brand .auth-card .auth-submit{min-height:48px;font-size:var(--font-input)}.auth-brand .auth-card .auth-links{font-size:var(--font-caption);margin-top:19px}.auth-access-note{font-size:var(--font-caption);margin-top:16px}.auth-brand .auth-foot{width:calc(100% - 40px);justify-content:center;flex-wrap:wrap;gap:8px 16px;font-size:var(--font-caption);padding:18px 0}.auth-brand .auth-foot nav{gap:10px}}
@media(max-width:360px){.auth-brand .auth-copy h1{font-size:29px}.auth-brand wa-card.auth-card{padding:24px 17px}.auth-brand .portal-tabs a{font-size:var(--font-caption)}.auth-brand .auth-card h2{font-size:21px}}
@media(min-width:801px) and (max-height:850px){.auth-brand .auth-header{min-height:86px;padding:22px 0}.auth-brand .auth-main{min-height:0;padding:8px 0 17px}.auth-brand wa-card.auth-card{padding-top:26px;padding-bottom:26px}.auth-card-topline{margin-bottom:19px}.auth-brand .portal-tabs{margin-bottom:24px}.auth-card-intro>p{margin-bottom:19px}.auth-brand .auth-card .field{margin-bottom:17px}.auth-access-note{margin-top:15px}.auth-brand .auth-foot{padding-top:17px;padding-bottom:18px}.auth-sculpture{margin-top:9px}}
@media(prefers-reduced-motion:reduce){.auth-brand *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Four role choices share one login form at every viewport. */
.auth-brand .portal-tabs a{min-width:0}
@media(max-width:480px){.auth-brand .portal-tabs a>svg{display:none}}
