body.entry-page{max-width:none;margin:0;padding:36px;min-height:100vh;box-sizing:border-box;display:grid;place-items:center;background:radial-gradient(ellipse at 8% 8%,#dcefeb,transparent 48%),linear-gradient(145deg,#edf2f7,#f7f8fa);color:#173647}
.entry-panel{box-sizing:border-box;width:min(1200px,100%);padding:34px;background:#fff;border:1px solid #dfe8eb;border-radius:20px;box-shadow:0 22px 65px #193c5012;display:grid;grid-template-columns:.68fr 1.32fr;gap:36px;align-items:start}
.entry-panel>*{min-width:0}.entry-panel h1{font-size:32px;line-height:1.28;margin:12px 0 18px;letter-spacing:-.4px}.entry-eyebrow{font-size:13px;color:#009b9c;font-weight:bold;margin:0}.entry-copy{color:#617b92;line-height:1.8;font-size:15px}.entry-panel .entry-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;min-height:44px}.entry-head h2{margin:0;font-size:18px}.entry-head p{font-size:13px;margin:6px 0 0}.entry-head button{white-space:nowrap;font-size:12px;padding:6px 10px;background:#eff3f7;color:#294d6b;border:0}
.department-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.department-grid .department-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;text-align:left;background:#fff;border:1px solid #d8e2ec;border-radius:8px;padding:18px 16px;min-height:128px;color:#182e42;font:inherit;cursor:pointer}.department-card strong{font-size:18px}.department-card span{font-size:13px;line-height:1.6;color:#617b92}.department-card small{font-size:12px;line-height:1.5;color:#52708b}.department-card:hover:not(:disabled),.department-card[aria-pressed=true]{background:#f0faf9;border-color:#079e9d;box-shadow:0 0 0 1px #079e9d}.department-card:focus-visible,.entry-panel button:focus-visible,.entry-panel select:focus-visible,.entry-panel input:focus-visible{outline:3px solid #007f82;outline-offset:3px}.department-grid .department-card:disabled{cursor:not-allowed;background:#f6f8fa;opacity:.62}
.entry-intro header{padding:8px 0}.entry-panel .entry-eyebrow{letter-spacing:1.5px;color:#176d68}.entry-panel h1{font-size:28px;line-height:1.45;color:#173c4b;letter-spacing:0}.entry-panel .entry-copy{font-size:13px;line-height:1.85}.entry-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;color:#1b554f;font-size:13px;font-weight:700}.entry-brand b{display:grid;place-items:center;width:44px;height:44px;background:#147e75;color:#fff;border-radius:12px;letter-spacing:1px}.entry-panel .entry-warning{background:#fff8e8;color:#785b23;border-left:3px solid #ccab61;border-radius:0 7px 7px 0;padding:12px 14px;font-size:12px}.entry-progress{list-style:none;padding:0;margin:22px 0;display:grid;gap:14px}.entry-progress li{display:flex;align-items:center;gap:11px;color:#54717b;font-size:13px}.entry-progress b{width:28px;height:28px;border-radius:50%;background:#e7f1ef;color:#18766b;display:grid;place-items:center}.entry-progress .current{font-weight:700;color:#116c64}.entry-progress .current b{background:#147e75;color:#fff}.entry-panel .department-card{position:relative;border-radius:12px;background:#f8fafb;border-color:#e0e8ed;padding:20px;min-height:132px}.entry-panel .department-card strong{color:#214656}.entry-panel .department-card small{color:#17796e}.entry-panel .department-card:hover:not(:disabled){background:#eff8f5;border-color:#81b7ad;box-shadow:0 5px 16px #144e4010}.entry-panel .department-card[data-department="BOSS"]{background:#fcf7ed;border-color:#dfcca4}.entry-panel .department-card[data-department="BOSS"] strong{color:#80612a;letter-spacing:1px}.entry-panel .department-card[data-department="BOSS"]:hover{background:#faf0d9;border-color:#b7995f}.entry-panel .department-card[data-department="管理后台"]{background:#f4f5f8}.entry-panel #message{padding:10px 0;color:#286b65;font-size:13px}.entry-panel .entry-head{padding-bottom:15px;border-bottom:1px solid #e5edef}.entry-panel #back{border:1px solid #ccdfdc;background:#f1f8f6;color:#176b63;border-radius:7px}.entry-panel #leave{background:#f0f5f6;color:#395d67;border:1px solid #d9e5e8;border-radius:7px}
.entry-panel #signin{margin-top:24px;padding:20px;border:1px solid #d8e2ec;border-radius:8px;background:#fafcfd}.entry-panel form{display:grid;gap:16px;max-width:620px}.entry-panel input,.entry-panel select{width:100%;min-width:0}.entry-panel #signin button,.entry-panel #enter{background:#078985;color:white;border-color:#078985;font-weight:bold;padding:12px}.entry-panel #signin button:disabled,.entry-panel #enter:disabled{opacity:.5;cursor:not-allowed}.entry-panel #department-selection{margin:0;font-size:13px;color:#43627b}.entry-panel #message{grid-column:1/-1;min-height:0;margin:0;overflow-wrap:anywhere}.entry-panel #message:empty{display:none}.entry-panel a{color:#087f79}.entry-panel #account{grid-column:1/-1;min-width:0}.entry-panel #account section{overflow:hidden}.entry-panel #people{overflow:auto}.entry-panel #people table{min-width:540px}.entry-page [hidden]{display:none!important}.entry-authenticated .entry-departments,.entry-authenticated .entry-copy,.entry-authenticated #entry-help{display:none}.entry-authenticated .entry-panel{grid-template-columns:1fr}.entry-authenticated .entry-panel h1{font-size:26px}.entry-role .entry-panel #guide{grid-column:1/-1;margin:0;background:#f7fafc;padding:20px;border:1px solid #d8e2ec;border-radius:8px}.entry-role #person{overflow-wrap:anywhere}.entry-role .role-controls{display:grid;gap:16px;margin-top:24px}.entry-role .entry-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
@media(max-width:800px){body.entry-page{padding:18px}.entry-panel{grid-template-columns:1fr;padding:24px}.entry-panel h1{font-size:27px}.entry-copy{max-width:none}.entry-panel #signin{margin-top:18px}.entry-role .entry-panel #guide{grid-column:1}}
@media(max-width:430px){body.entry-page{padding:10px}.entry-panel{padding:18px;gap:22px}.entry-panel h1{font-size:24px}.department-grid{gap:10px}.department-grid .department-card{padding:14px 11px;min-height:138px}.department-card strong{font-size:16px}.entry-head{flex-wrap:wrap}.entry-panel #signin{padding:14px}}
/* The authenticated transition uses the same shell as the department/person cards. */
body[data-erp-entry-loading]{margin:0;max-width:none;padding:0}
body[data-erp-entry-loading]>:not(#loginView):not(#unifiedEntryView):not(script):not(style){display:none!important}
#unifiedEntryView{box-sizing:border-box;min-height:100vh;padding:36px;display:grid;place-items:center;background:radial-gradient(ellipse at 8% 8%,#dcefeb,transparent 48%),linear-gradient(145deg,#edf2f7,#f7f8fa);color:#173647;font:14px/1.65 "Microsoft YaHei",system-ui,sans-serif}
#unifiedEntryView[hidden]{display:none!important}
#unifiedEntryView .entry-panel{min-height:600px}
#unifiedEntryView .entry-intro header{margin:0;padding:8px 0;background:transparent;border:0}
#unifiedEntryView .entry-head{display:flex;padding:0 0 15px;background:transparent}
.entry-panel .entry-loading-card{padding:26px 22px;border:1px solid #d3e6e2;border-radius:12px;background:#f4faf8;color:#173647}
.entry-panel .entry-loading-card h2{margin:0 0 12px;font-size:20px}
.entry-panel .entry-loading-card p{font-size:13px;color:#52717b;line-height:1.75;overflow-wrap:anywhere}
.entry-panel #workspaceLoadingStatus{color:#087d78;margin:0 0 12px}
.entry-panel .entry-identity{display:grid;grid-template-columns:60px minmax(0,1fr);gap:10px;border-top:1px solid #d9e9e4;border-bottom:1px solid #d9e9e4;padding:16px 0;margin:20px 0;font-size:13px}
.entry-panel .entry-identity dt{color:#627e90}.entry-panel .entry-identity dd{margin:0;overflow-wrap:anywhere}
.entry-panel .entry-retry{padding:10px 16px;background:#107f7b;color:#fff;border:0;border-radius:7px;font:inherit;cursor:pointer}
#unifiedEntryView[data-state=failed] .entry-loading-card,#unifiedEntryView[data-state=slow] .entry-loading-card{background:#fffaf0;border-color:#ecd6a5}
@media(max-width:800px){#unifiedEntryView{padding:18px}#unifiedEntryView .entry-panel{min-height:0}}
@media(max-width:430px){#unifiedEntryView{padding:10px}.entry-panel .entry-loading-card{padding:18px}}
