/* Scoped to the unified entry; existing recovery and business pages keep their styles. */
body.entry-page{--entry-muted:#6d7e96;--entry-blue:#2563eb;background:radial-gradient(ellipse at 20% 35%,#edf4ff 0,transparent 55%),#f7f9fc;display:flex;flex-direction:column;min-height:100vh;font-family:"Segoe UI","Microsoft YaHei",sans-serif}
.entry-page button,.entry-page input{font:inherit}
.entry-page button,.entry-page a{ -webkit-tap-highlight-color:transparent }
.entry-page button{cursor:pointer}
.entry-page svg{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.entry-page .entry-skip{position:fixed;left:20px;top:-80px;z-index:20;padding:12px 18px;border-radius:8px;background:#fff;color:#1d4ed8}
.entry-page .entry-skip:focus{top:12px}
body.entry-page>.entry-header{height:88px;min-height:88px;padding:0 max(40px,calc((100vw - 1240px)/2));gap:25px;background:#ffffffd9;border-bottom:1px solid #e5ebf4}
.entry-header .header-divider{height:25px;width:1px;background:#e0e7f1}
.entry-header .platform-name{color:#65748b;font-size:13px;letter-spacing:1px;white-space:nowrap}
.entry-header .header-caption{margin-left:auto;color:#738399;font-size:12px;letter-spacing:1px;white-space:nowrap}
body.entry-page>.entry-main{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);align-items:center;gap:72px;max-width:1200px;width:calc(100% - 80px);margin:48px auto 42px;min-height:640px;border:0;border-radius:0;box-shadow:none;background:none}
.entry-intro{min-width:0;padding:4px 0}
.entry-eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:600;letter-spacing:2px;color:#5175a6}
.entry-eyebrow>span{width:6px;height:6px;background:#4384ed;border-radius:50%;box-shadow:0 0 0 4px #e4edff;flex-shrink:0}
body.entry-page .entry-intro h1{font-size:46px;line-height:1.48;letter-spacing:1px;font-weight:650;margin:23px 0 16px;color:#1f3354}
.entry-intro h1>span{color:var(--entry-blue)}
.entry-intro .intro-description{font-size:14px;line-height:1.95;color:var(--entry-muted);margin:0}
.wafer-scene{height:257px;position:relative;isolation:isolate;margin:8px 0 3px;overflow:hidden}
.wafer-disc{position:absolute;width:227px;height:227px;left:50%;top:6px;margin-left:-120px;transform:rotate(-24deg) rotateX(48deg) rotateY(-10deg);border:4px solid #c3d7ff;border-radius:50%;background:linear-gradient(145deg,#eaf6ff 0%,#93c8fd 18%,#bdd0ff 38%,#dfe9ff 49%,#7faafb 69%,#a5d7e9 95%);box-shadow:0 6px 0 #8eaded,0 11px 0 #bed0ef,0 18px 26px #4976bf1f,inset 0 0 23px #edfaff;overflow:hidden;z-index:2}
.wafer-grid{position:absolute;inset:0;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 21px,#f8fcffb3 21px 22px),repeating-linear-gradient(90deg,transparent 0 21px,#f8fcffb3 21px 22px);box-shadow:inset 0 0 0 10px #dceaff77}
.wafer-grid:after{content:"";position:absolute;width:60%;height:160%;top:-30%;left:26%;transform:rotate(34deg);background:linear-gradient(90deg,transparent,#ffffff8f,transparent)}
.wafer-notch{position:absolute;width:13px;height:13px;border-radius:50%;bottom:-7px;left:50%;background:#b9d0f2}
.wafer-shadow{position:absolute;left:50%;top:186px;margin-left:-92px;width:185px;height:26px;border-radius:50%;background:#4f78b92b;filter:blur(13px)}
.scene-ring{position:absolute;left:50%;top:18px;border:1px solid #d2def16e;border-radius:50%;transform:rotate(-13deg)}
.ring-outer{width:413px;height:180px;margin-left:-207px;top:40px}
.ring-inner{width:350px;height:154px;margin-left:-175px;top:54px;border-style:dashed;border-color:#c0d4ed}
.scene-label{position:absolute;color:#7091bc;font-size:8px;font-weight:600;letter-spacing:1.6px;z-index:3}
.label-top{left:6px;top:67px;display:flex;gap:7px;align-items:center}
.label-top span{width:5px;height:5px;border:1px solid #87a8d0;border-radius:50%}
.label-bottom{right:0;bottom:17px;display:flex;gap:20px;align-items:center;letter-spacing:1.1px}
.label-bottom i{font-size:20px;font-style:normal;color:#567fac}
.scene-cross{position:absolute;color:#b0c6e4;font-size:22px;font-weight:300}
.cross-one{right:26px;top:18px}.cross-two{left:31px;bottom:32px}
.intro-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:23px;border-top:1px solid #dce5f1;gap:16px}
.intro-services>div{min-width:0}
.mini-icon{display:block;width:29px;height:29px;margin-bottom:9px;color:#497ed0}
.mini-icon svg{width:25px;height:25px}
.intro-services strong{font-size:13px;display:block;font-weight:600;color:#3b506c;white-space:nowrap}
.intro-services small{display:block;font-size:10px;color:#78899f;margin-top:5px;white-space:nowrap}
.intro-services em{font-size:9px;color:#6b7f9c;font-style:normal;font-weight:400;background:#e8eef7;border:1px solid #dde6f1;border-radius:4px;padding:1px 4px;margin-left:3px;vertical-align:1px}
.entry-login{width:100%;max-width:460px;justify-self:end;min-width:0}
.entry-page .login-card{width:100%;max-width:none;background:#fff;padding:36px 38px 30px;border:1px solid #e2e9f3;border-radius:20px;box-shadow:0 18px 55px #2b507c08,0 2px 6px #234b7803}
.login-kicker{display:inline-block;padding:5px 10px;border-radius:5px;font-size:10px;letter-spacing:1px;color:#4f77b6;background:#eef4ff}
body.entry-page .login-card h2{font-size:27px;margin:16px 0 8px;line-height:1.5;color:#22334f}
body.entry-page .login-card>p{font-size:12px;color:var(--entry-muted);margin:0 0 29px}
.entry-page .login-card label{display:block;font-size:12px;font-weight:550;color:#3c506c;margin-bottom:9px}
body.entry-page .login-card input{width:100%;min-height:48px;height:48px;margin:0 0 21px;padding:0 14px;font-size:13px;background:#fcfdff;border:1px solid #dce4f0;border-radius:8px;outline:0}
body.entry-page .login-card input:focus{border-color:#81a7f1;box-shadow:0 0 0 3px #2563eb12;background:#fff}
.entry-page .password-field{position:relative}
body.entry-page .password-field input{padding-right:64px;margin-bottom:17px}
.password-field button{position:absolute;top:0;right:5px;height:48px;border:0;background:none;color:#587193;padding:0 12px;font-size:11px}
.entry-page .form-tools{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;font-size:10px;color:#7a8ba1;gap:8px}
.form-tools>span{display:flex;align-items:center;gap:5px}.form-tools svg{width:14px;height:14px;color:#7297bf}
.form-tools button,.register-line button{padding:2px 0;border:0;background:none;color:#2563eb;font-size:11px;white-space:nowrap}
body.entry-page .login-card .submit{display:flex;align-items:center;justify-content:space-between;width:100%;height:49px;padding:0 18px;border-radius:8px;box-shadow:0 5px 14px #2563eb1c;font-size:13px;font-weight:550}
.entry-page .submit>span:last-child{font-size:18px}
.entry-page .submit:disabled{opacity:.7}
.entry-page .register-line{text-align:center;font-size:11px;margin:21px 0 27px;color:#7d8ca1}
.register-line button{margin-left:7px}
.access-note{display:flex;align-items:flex-start;gap:9px;padding:17px 14px;border:1px solid #e6ecf6;border-radius:9px;background:#f8faff}
.access-note-icon{display:inline-grid;place-items:center;width:16px;height:16px;flex-shrink:0;border:1px solid #8ba5c8;border-radius:50%;font:11px Georgia,serif;color:#6787b4;margin-top:2px}
.access-note strong{font-size:11px;font-weight:550;color:#4d6484}
.access-note p{font-size:11px;line-height:1.85;color:#697e9b;margin:7px 0 5px}
.access-note small{font-size:10px;line-height:1.8;color:#7b8da6}
.entry-page .entry-security{font-size:10px;text-align:center;color:#7c8ea7;margin:20px 0 0;line-height:1.8}
.entry-security>span{margin:0 8px;color:#b4c2d3}
.entry-page .email-hint{display:block;margin:-11px 0 20px;font-size:10px;line-height:1.8;color:#7689a2}
.entry-page #error,.entry-page #sessionError{padding:11px 13px;margin:0 0 18px;background:#fff1f3;border-radius:7px;color:#a73f59;font-size:12px;line-height:1.8}
.entry-page .help-note{padding:12px 14px;margin:0 0 18px;border:1px solid #cfe6dc;background:#f0faf5;border-radius:8px;color:#37735c;font-size:12px;line-height:1.8}
.existing-session{display:flex;flex-direction:column;gap:5px;padding:12px;margin:-8px 0 23px;border-radius:8px;background:#eff6ff;font-size:11px;color:#58769d;overflow-wrap:anywhere}
.entry-page .existing-session a{font-size:12px;color:#2563eb}
body.entry-page>.entry-footer{display:flex;flex-direction:column;align-items:center;gap:5px;max-width:none;width:100%;margin:auto 0 0;padding:20px 24px 22px;color:#7e8fa6;font-size:10px;line-height:1.8}
.entry-page .entry-footer .icp-registration{padding:0;font-size:10px;color:#8292a8}
/* The authenticated application directory. */
.portal-session{margin-left:auto;display:flex;align-items:center;gap:12px;min-width:0;font-size:12px;color:#405a7d}
.session-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eaf1ff;color:#5a7bbb;font-size:13px;flex-shrink:0}
.session-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.role-pill{color:#5477aa;background:#edf3ff;border-radius:5px;font-size:10px;padding:3px 8px;white-space:nowrap}
.portal-session button{background:none;border:0;border-left:1px solid #e2e8f0;padding:2px 0 2px 14px;font-size:11px;color:#6b7e99;white-space:nowrap}
body.entry-page>.portal-main{width:calc(100% - 80px);max-width:1160px;margin:40px auto 35px;min-height:0;background:none;border:0;box-shadow:none;border-radius:0}
.portal-welcome{display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:206px;margin-bottom:34px;padding:6px 0}
body.entry-page .portal-welcome h1{font-size:34px;line-height:1.5;color:#233855;margin:17px 0 10px;overflow-wrap:anywhere}
.portal-welcome h1 span{color:#2563eb}
.portal-welcome p{font-size:13px;color:#7587a1;margin:0}
.welcome-emblem{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:210px;height:180px;flex-shrink:0}
.welcome-emblem>span{display:grid;place-items:center;width:78px;height:78px;border:1px solid #c0d7f8;border-radius:22px;color:#497ac8;font-size:39px;background:linear-gradient(145deg,#f5fbff,#dfeaff);transform:rotate(-10deg);box-shadow:8px 15px 30px #6791ce16}
.welcome-emblem>small{font-size:8px;letter-spacing:2px;color:#879eba;margin-top:24px}
.emblem-orbit{position:absolute;width:205px;height:95px;border-radius:50%;border:1px solid #ccdaed;transform:rotate(-27deg);top:35px}
.emblem-orbit:after{content:"";position:absolute;inset:-20px 25px;border:1px dashed #c9d9f0;border-radius:50%;transform:rotate(75deg)}
.applications-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
body.entry-page .applications-heading h2{display:flex;align-items:center;gap:10px;font-size:18px;color:#314561;margin:0 0 5px}
.applications-heading h2 span{display:grid;place-items:center;width:22px;height:22px;background:#eaf0fa;border-radius:6px;font-size:11px;font-weight:500;color:#6382b0}
.applications-heading p{margin:0;color:#7e8da3;font-size:11px}
.permission-caption{color:#8092aa;font-size:11px;white-space:nowrap}
.application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body[data-account-role="user"] .application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.entry-page .application-card{display:block;position:relative;padding:27px 28px 0;min-width:0;background:#fff;border:1px solid #dfe7f2;border-radius:14px;box-shadow:0 6px 18px #254b7803;transition:border-color .18s,box-shadow .18s,transform .18s;color:#304660}
.entry-page .application-card:hover{border-color:#91b2ef;box-shadow:0 12px 24px #356cb50d;transform:translateY(-3px)}
.application-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:12px}
.application-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:14px;background:#eff4ff;color:#638beb}
.application-icon svg{width:37px;height:37px;stroke-width:1.45}
.application-category{font-size:10px;color:#7b8da8;border:1px solid #e4eaf3;border-radius:5px;padding:3px 8px;white-space:nowrap}
.testing-application .application-icon{background:#eaf7f7;color:#4b9ca6}
.management-application .application-icon{background:#eff0ff;color:#8883d0}
.management-application .employee-category{color:#817bb4;background:#f7f6ff;border-color:#e9e5f8}
.application-en{font-size:8px;letter-spacing:1.6px;color:#8499b7;font-weight:600}
body.entry-page .application-card h3{font-size:22px;font-weight:600;line-height:1.5;margin:7px 0 10px;color:#304761}
.application-card>p{min-height:48px;font-size:12px;line-height:1.9;color:#7a8ca5;margin:0}
.application-tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 25px}
.application-tags>span{font-size:10px;color:#7c8ca4;background:#f5f7fb;border-radius:4px;padding:3px 7px}
.application-action{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eaf0f7;min-height:63px;font-size:12px;font-weight:550;color:#4b78bf}
.application-action>span{font-size:21px;font-weight:400}
.portal-access-note{display:flex;align-items:center;gap:12px;border:1px solid #e2e9f2;border-radius:10px;background:#f0f4fa99;padding:17px 20px;margin:26px 0 0}
.portal-access-note p{display:flex;flex-direction:column;gap:4px;margin:0;line-height:1.7;font-size:11px;color:#788ba6}
.portal-access-note strong{font-size:11px;font-weight:550;color:#617997}
.portal-access-note>small{margin-left:auto;font-size:10px;color:#8192aa;flex-shrink:0}
.entry-page #sessionError{margin:20px 0 0}
@media(min-width:1500px){body.entry-page>.entry-main{margin-top:70px;margin-bottom:65px}}
@media(max-width:1100px){
 body.entry-page>.entry-header{padding:0 32px;gap:19px}
 body.entry-page>.entry-main{width:calc(100% - 64px);gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:40px}
 body.entry-page .entry-intro h1{font-size:37px}
 .entry-page .login-card{padding:30px 27px 25px}
 .intro-services{gap:9px}.intro-services small{font-size:9px}.intro-services em{margin-left:0}
 .wafer-disc{width:210px;height:210px;margin-left:-105px;top:20px}.label-top{font-size:7px;left:0;top:53px}
 body.entry-page>.portal-main{width:calc(100% - 64px);margin-top:28px}
 .application-grid{gap:16px}.entry-page .application-card{padding:24px 21px 0}.application-card>p{font-size:11px}
 .portal-session{gap:8px}.session-name{max-width:130px}
}
@media(max-width:850px){
 .entry-header .header-caption{display:none}
 body.entry-page>.entry-main{gap:28px;grid-template-columns:minmax(0,.92fr) minmax(0,1fr)}
 body.entry-page .entry-intro h1{font-size:30px;letter-spacing:0}
 .entry-intro .intro-description{font-size:12px}.desktop-break{display:none}
 .intro-services{gap:12px}.intro-services strong{font-size:11px}.intro-services small{white-space:normal}.intro-services em{display:none}
 .entry-page .login-card{padding:28px 22px 24px}.access-note{padding:14px 10px}.access-note small{font-size:9px}
 .entry-eyebrow{font-size:8px;letter-spacing:1.4px}.scene-label{display:none}
 .portal-page .platform-name,.portal-page .header-divider{display:none}
 .application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-access-note>small{display:none}
}
@media(max-width:680px){
 body.entry-page>.entry-header{padding:18px 22px;height:auto;min-height:76px;gap:12px;flex-wrap:wrap}
 .entry-header .platform-name{font-size:11px;letter-spacing:0;margin-left:auto}.entry-header .header-divider{display:none}
 body.entry-page>.entry-main{display:flex;flex-direction:column;gap:25px;min-height:0;width:calc(100% - 40px);margin:29px auto 15px}
 .entry-intro{width:100%;padding:0 4px}.entry-eyebrow{font-size:8px;letter-spacing:1.4px}
 body.entry-page .entry-intro h1{font-size:30px;line-height:1.45;margin:16px 0 10px}.entry-intro h1 br{display:none}
 .entry-intro .intro-description{font-size:12px;max-width:390px}.wafer-scene,.intro-services{display:none}
 .entry-login{max-width:none;width:100%}.entry-page .login-card{padding:27px 25px 25px;border-radius:15px}
 body.entry-page .login-card h2{font-size:25px;margin-top:13px}body.entry-page .login-card>p{margin-bottom:24px}
 .entry-page .register-line{margin:20px 0 24px}.access-note{padding:15px}.access-note small{font-size:10px}
 .entry-page .entry-security{margin-top:17px;font-size:9px}body.entry-page>.entry-footer{font-size:9px;padding:20px 20px}.entry-page .entry-footer .icp-registration{font-size:9px}
 .portal-session{gap:8px;font-size:11px}.portal-session .session-avatar{display:none}.portal-session .session-name{max-width:100px}.role-pill{font-size:9px}
 body.entry-page>.portal-main{width:calc(100% - 40px);margin:25px auto 12px}
 .portal-welcome{min-height:0;margin-bottom:28px;gap:0;padding:0}.welcome-emblem{display:none}
 body.entry-page .portal-welcome h1{font-size:28px;margin:15px 0 10px}.portal-welcome p{font-size:12px}
 .applications-heading{margin-bottom:17px}.permission-caption{display:none}
 .application-grid,body[data-account-role="user"] .application-grid{grid-template-columns:1fr;gap:16px}
 .entry-page .application-card{padding:22px 24px 0}.application-top{margin-bottom:17px}.application-icon{width:48px;height:48px;border-radius:12px}.application-icon svg{width:31px;height:31px}
 .application-en{font-size:8px}body.entry-page .application-card h3{font-size:21px;margin-top:5px}.application-card>p{font-size:12px;min-height:0}.application-card>p br{display:none}
 .application-tags{margin:17px 0}.application-action{min-height:55px}.portal-access-note{padding:15px;margin-top:21px;align-items:flex-start}.portal-access-note p{font-size:10px}
}
@media(max-width:390px){.entry-header .platform-name{display:none}.entry-page .login-card{padding:24px 20px}.portal-session{width:100%;margin:2px 0 0}.session-name{flex:1}.portal-session .session-name{max-width:none}}
@media(prefers-reduced-motion:reduce){.entry-page .application-card{transition:none}.entry-page .application-card:hover{transform:none}}
.portal-shortcuts{margin:22px 0;color:#64748b;font-size:13px}.portal-shortcuts a{color:#2563eb;text-decoration:none}.portal-shortcuts a:hover{text-decoration:underline}.portal-shortcuts a:focus-visible{outline:2px solid #2563eb;outline-offset:4px}
