.auth-gate { min-height:100vh; display:grid; grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr); background:#f5f7f9; color:#172936; font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
.auth-brand-panel { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:100vh; padding:48px 56px; overflow:hidden; color:#eff7fb; background:linear-gradient(145deg,#17354e 0%,#214b68 58%,#1b6170 100%); }
.auth-brand-panel::after { content:""; position:absolute; right:-190px; bottom:-230px; width:540px; height:540px; border:1px solid rgba(134,200,197,.32); border-radius:50%; box-shadow:0 0 0 55px rgba(134,200,197,.07),0 0 0 112px rgba(134,200,197,.04); }
.auth-logo { position:relative; z-index:1; width:190px; padding:9px 12px; border-radius:10px; background:#f7fafb; }
.auth-brand-copy { position:relative; z-index:1; max-width:455px; padding:42px 0 68px; }.auth-brand-copy span,.auth-kicker { display:block; color:#88b8bc; font-size:10px; font-weight:800; letter-spacing:.17em; }.auth-brand-copy h1 { margin:15px 0 14px; font-size:clamp(34px,4vw,53px); line-height:1.08; letter-spacing:-.065em; }.auth-brand-copy p { max-width:400px; margin:0; color:#b7cad7; font-size:14px; line-height:1.8; }.auth-brand-foot { position:relative; z-index:1; color:#9db6c5; font-size:10px; letter-spacing:.05em; }
.auth-form-panel { display:grid; place-items:center; padding:34px; }.auth-card { width:min(100%,440px); }.auth-card h2 { margin:10px 0 9px; color:#172936; font-size:29px; letter-spacing:-.06em; }.auth-card > p { margin:0 0 26px; color:#81919b; font-size:12px; line-height:1.7; }.auth-form { display:grid; gap:14px; }.auth-form[hidden],.auth-user-menu[hidden] { display:none; }.auth-form label,.auth-add-user-form label { display:grid; gap:7px; color:#6d808b; font-size:11px; font-weight:700; }.auth-form input,.auth-add-user-form input { width:100%; min-height:42px; padding:9px 11px; border:1px solid #d7e2e7; border-radius:8px; outline:0; color:#172936; background:#fff; font:inherit; font-size:12px; }.auth-form input:focus,.auth-add-user-form input:focus { border-color:#3eaa9b; box-shadow:0 0 0 3px #e4f4f0; }.auth-submit,.auth-add-user-form button { min-height:43px; margin-top:5px; border-radius:8px; color:#fff; background:#18364f; font-size:12px; font-weight:800; transition:.2s; }.auth-submit:hover,.auth-add-user-form button:hover { background:#285570; transform:translateY(-1px); }.auth-message { min-height:18px; margin:16px 0 0; color:#8c9aa2; font-size:11px; }.auth-message.error { color:#c35e53; }.auth-message.success { color:#287f65; }.auth-note { margin:26px 0 0; padding:13px 14px; border:1px solid #dce9e6; border-radius:9px; color:#6f847d; background:#eff8f4; font-size:10px; line-height:1.65; }.auth-note strong { color:#357b67; }
.user-card { position:relative; }.user-menu-trigger { margin-left:auto; padding:4px 2px; color:#9bb0bd; background:transparent; font-size:11px; letter-spacing:2px; }.user-menu-trigger:hover { color:#fff; }.auth-user-menu { position:absolute; right:0; bottom:calc(100% + 9px); z-index:40; width:175px; padding:7px; border:1px solid #365976; border-radius:9px; color:#eaf4f8; background:#17364f; box-shadow:0 12px 28px rgba(8,24,35,.25); }.auth-user-menu[hidden] { display:none; }.auth-menu-user { display:block; padding:6px 7px 8px; color:#9eb8c7; border-bottom:1px solid rgba(255,255,255,.1); font-size:9px; }.auth-user-menu button { display:block; width:100%; padding:8px 7px; border-radius:5px; color:#eaf4f8; background:transparent; text-align:left; font-size:10px; }.auth-user-menu button:hover { background:#285570; }
.auth-top-user-card { position:relative; }.auth-top-user-card .auth-user-menu { top:calc(100% + 9px); bottom:auto; border-color:#dce5eb; color:#405660; background:#fff; box-shadow:0 12px 28px rgba(23,41,54,.18); }.auth-top-user-card .auth-menu-user { color:#78909b; border-bottom-color:#edf1f3; }.auth-top-user-card .auth-user-menu button { color:#405660; }.auth-top-user-card .auth-user-menu button:hover { color:#1d665f; background:#edf8f5; }
.auth-account-modal { position:fixed; inset:0; z-index:90; display:grid; place-items:center; padding:20px; }.auth-account-backdrop { position:absolute; inset:0; background:rgba(17,37,50,.45); }.auth-account-panel { position:relative; width:min(500px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:25px 26px 23px; border:1px solid #dce5eb; border-radius:14px; background:#fff; box-shadow:0 20px 54px rgba(23,41,54,.25); }.auth-account-panel h2 { margin:8px 0 5px; font-size:21px; letter-spacing:-.05em; }.auth-account-panel > p { margin:0 0 19px; color:#8c9aa4; font-size:10px; }.auth-close { position:absolute; top:15px; right:15px; width:29px; height:29px; border-radius:7px; color:#91a0aa; background:#f3f6f7; font-size:20px; }.auth-account-section,.auth-add-user-form { padding-top:14px; border-top:1px solid #edf1f3; }.auth-account-heading { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:10px; }.auth-account-heading strong { font-size:11px; }.auth-account-heading small { color:#8b9ba3; font-size:9px; }.auth-account-section ul { display:grid; gap:7px; margin:0 0 17px; padding:0; list-style:none; }.auth-account-section li { display:flex; align-items:center; gap:8px; min-height:47px; padding:7px 8px; border:1px solid #e3ebee; border-radius:8px; }.auth-account-avatar { display:grid; width:27px; height:27px; place-items:center; flex:none; border-radius:50%; color:#217354; background:#d9efe5; font-size:10px; font-weight:800; }.auth-account-section li div { min-width:0; flex:1; }.auth-account-section li strong,.auth-account-section li small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.auth-account-section li strong { font-size:10px; }.auth-account-section li small { margin-top:3px; color:#84949e; font-size:9px; }.auth-account-section li em { color:#51957d; font-size:9px; font-style:normal; }.auth-account-section li button { padding:4px 6px; border-radius:5px; color:#a35d55; background:#fff2ef; font-size:9px; }.auth-empty-account { justify-content:center; color:#94a2aa; font-size:10px; }.auth-add-user-form { display:grid; gap:10px; }.auth-add-user-form .auth-account-heading { margin:0 0 1px; }.auth-add-user-form button { margin-top:3px; }
@media (max-width:760px) { .auth-gate { grid-template-columns:1fr; }.auth-brand-panel { min-height:auto; padding:28px 29px; }.auth-brand-panel::after { display:none; }.auth-logo { width:155px; }.auth-brand-copy { padding:48px 0 20px; }.auth-brand-copy h1 { font-size:34px; }.auth-brand-foot { display:none; }.auth-form-panel { padding:32px 26px 45px; }.auth-card { width:100%; }.auth-account-panel { padding:22px 18px 18px; }.auth-account-heading { align-items:flex-start; flex-direction:column; gap:3px; } }
[hidden] { display: none !important; }
.auth-wecom-button { width: 100%; margin-top: 24px; }
/* Official WeCom quick-login panel, with QR fallback. */
.auth-wecom-panel { width: 320px; max-width: 100%; margin: 8px auto; min-height: 380px; }
.auth-wecom-panel iframe { width: 100%; max-width: 100%; border: 0; }
.auth-wecom-status { font-size: 13px; line-height: 1.7; color: #567485; }
.auth-wecom-refresh { display: block; margin: 8px auto 16px; padding: 5px 10px; border: 0; background: transparent; color: #167f76; cursor: pointer; }

/* WENHAI_TECH_LOGIN_START */
/* Generated by tools/build-tech-palette.cjs; source layouts remain unchanged. */
html[data-tech-page="login"] .auth-gate { background:#f6f9fd; color:#2c67b0
}
html[data-tech-page="login"] .auth-brand-panel { color:#ffffff; background:linear-gradient(145deg,#2a68c3 0%,#2a68c3 58%,#2a68c3 100%)
}
html[data-tech-page="login"] .auth-brand-panel::after { border:1px solid rgba(218,229,240,0.32); box-shadow:0 0 0 55px rgba(52,83,115,0.07),0 0 0 112px rgba(52,83,115,0.04)
}
html[data-tech-page="login"] .auth-logo { background:#ffffff
}
html[data-tech-page="login"] .auth-brand-copy span,html[data-tech-page="login"] .auth-kicker { color:#62788e
}
html[data-tech-page="login"] .auth-brand-copy p { color:#62788e
}
html[data-tech-page="login"] .auth-brand-foot { color:#62788e
}
html[data-tech-page="login"] .auth-card h2 { color:#2c67b0
}
html[data-tech-page="login"] .auth-card > p { color:#62788e
}
html[data-tech-page="login"] .auth-form label,html[data-tech-page="login"] .auth-add-user-form label { color:#62788e
}
html[data-tech-page="login"] .auth-form input,html[data-tech-page="login"] .auth-add-user-form input { border:1px solid #dae5f0; outline:0; color:#2c67b0; background:#ffffff
}
html[data-tech-page="login"] .auth-form input:focus,html[data-tech-page="login"] .auth-add-user-form input:focus { border-color:#5d96c8; box-shadow:0 0 0 3px #345373
}
html[data-tech-page="login"] .auth-submit,html[data-tech-page="login"] .auth-add-user-form button { color:#ffffff; background:#2a68c3
}
html[data-tech-page="login"] .auth-submit:hover,html[data-tech-page="login"] .auth-add-user-form button:hover { background:#2a68c3
}
html[data-tech-page="login"] .auth-message { color:#62788e
}
html[data-tech-page="login"] .auth-message.error { color:#b43a52
}
html[data-tech-page="login"] .auth-message.success { color:#23719e
}
html[data-tech-page="login"] .auth-note { border:1px solid #dae5f0; color:#62788e; background:#f6f9fd
}
html[data-tech-page="login"] .auth-note strong { color:#23719e
}
html[data-tech-page="login"] .user-menu-trigger { color:#62788e; background:transparent
}
html[data-tech-page="login"] .user-menu-trigger:hover { color:#ffffff
}
html[data-tech-page="login"] .auth-user-menu { border:1px solid #5d96c8; color:#ffffff; background:#2a68c3; box-shadow:0 12px 28px rgba(52,83,115,0.25)
}
html[data-tech-page="login"] .auth-menu-user { color:#62788e; border-bottom:1px solid rgba(218,229,240,0.1)
}
html[data-tech-page="login"] .auth-user-menu button { color:#ffffff; background:transparent
}
html[data-tech-page="login"] .auth-user-menu button:hover { background:#2a68c3
}
html[data-tech-page="login"] .auth-top-user-card .auth-user-menu { border-color:#dae5f0; color:#2c67b0; background:#ffffff; box-shadow:0 12px 28px rgba(52,83,115,0.18)
}
html[data-tech-page="login"] .auth-top-user-card .auth-menu-user { color:#62788e; border-bottom-color:#dae5f0
}
html[data-tech-page="login"] .auth-top-user-card .auth-user-menu button { color:#2c67b0
}
html[data-tech-page="login"] .auth-top-user-card .auth-user-menu button:hover { color:#23719e; background:#f6f9fd
}
html[data-tech-page="login"] .auth-account-backdrop { background:rgba(36,58,80,0.45)
}
html[data-tech-page="login"] .auth-account-panel { border:1px solid #dae5f0; background:#ffffff; box-shadow:0 20px 54px rgba(52,83,115,0.25)
}
html[data-tech-page="login"] .auth-account-panel > p { color:#62788e
}
html[data-tech-page="login"] .auth-close { color:#62788e; background:#f6f9fd
}
html[data-tech-page="login"] .auth-account-section,html[data-tech-page="login"] .auth-add-user-form { border-top:1px solid #dae5f0
}
html[data-tech-page="login"] .auth-account-heading small { color:#62788e
}
html[data-tech-page="login"] .auth-account-section li { border:1px solid #dae5f0
}
html[data-tech-page="login"] .auth-account-avatar { color:#23719e; background:#edf7fa
}
html[data-tech-page="login"] .auth-account-section li small { color:#62788e
}
html[data-tech-page="login"] .auth-account-section li em { color:#23719e
}
html[data-tech-page="login"] .auth-account-section li button { color:#b43a52; background:#f6f9fd
}
html[data-tech-page="login"] .auth-empty-account { color:#62788e
}
html[data-tech-page="login"] .auth-wecom-panel iframe { border: 0
}
html[data-tech-page="login"] .auth-wecom-status { color: #2c67b0
}
html[data-tech-page="login"] .auth-wecom-refresh { border: 0; background: transparent; color: #23719e
}
/* WENHAI / DAYLIGHT — a calm, light technology theme for daily work. */
html[data-tech-page="login"] { color-scheme:light; --tech-bg:#f4f7fb; --tech-panel:#fff; --tech-raised:#f0f5fb; --tech-line:#dbe5ef; --tech-ink:#21364d; --tech-muted:#63788e; --tech-cyan:#138b9f; --tech-blue:#2468d3; }
html[data-tech-page="login"] body { margin:0; background:var(--tech-bg); color:var(--tech-ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; }
html[data-tech-page="login"] body * { box-sizing:border-box; scrollbar-color:#c2d0df #f4f7fb; scrollbar-width:thin; }
html[data-tech-page="login"] body .app-shell { background:#f4f7fb; }
html[data-tech-page="login"] body :is(h1,h2,h3,h4) { color:#21364d!important; letter-spacing:-.02em; }
html[data-tech-page="login"] body :is(button,input,select,textarea) { font-family:inherit; }
html[data-tech-page="login"] body :is(input,textarea)::placeholder { color:#7b8da0; opacity:1; }
html[data-tech-page="login"] body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid #3278d7; outline-offset:3px; }
html[data-tech-page="login"] body :is(button,input,select,textarea):disabled { opacity:.5; cursor:not-allowed; }
html[data-tech-page="login"] body ::selection { color:#173858; background:#cce5ff; }
html[data-tech-page="login"] body .topbar { background:#fffffffa!important; border-bottom:1px solid #dce6f0; box-shadow:0 2px 12px #25466d04; }
html[data-tech-page="login"] body .sidebar { background:linear-gradient(180deg,#fafdff,#f0f5fb)!important; border-right:1px solid #dce6f0; }
html[data-tech-page="login"] body .workspace-module-heading { border-bottom:1px solid #dce6f0; }
html[data-tech-page="login"] body .workspace-module-heading>span { color:#70869c; font-size:10px; letter-spacing:.15em; }
html[data-tech-page="login"] body .workspace-module-heading>strong { color:#253c54; }
html[data-tech-page="login"] body .workspace-heading>strong { font-weight:650; color:#233b53; letter-spacing:.01em; }
html[data-tech-page="login"] body :is(.breadcrumb,.eyebrow,.crm-side-title,.delivery-side-title,.perf-side-title) { color:#69839d; letter-spacing:.1em; }
html[data-tech-page="login"] body :is(.workspace-brand-link img,.brand-logo,.auth-logo) { filter:none; background:transparent; border-radius:0; }
html[data-tech-page="login"] body .workspace-brand-link { border-right-color:#dce6f0; }
html[data-tech-page="login"] body :is(.auth-profile-trigger,.workspace-web-open,.workspace-switcher>summary) { background:#fff; border-color:#dce6f0; color:#4e6781; border-radius:9px; }
html[data-tech-page="login"] body :is(.workspace-switch-panel,.auth-user-menu,.hr-flyout,.customer-subnav) { background:#fff; border-color:#d4e1ee; box-shadow:0 12px 36px #2a50731a; }
html[data-tech-page="login"] body :is(.workspace-switch-panel a:hover,.hr-flyout>a:hover,.customer-subnav a:hover) { background:#edf5ff; color:#2167c2; }
html[data-tech-page="login"] body :is(.crm-side-item,.delivery-side-item,.perf-side-item,.hr-nav-group,.hr-navigation>a) { color:#536c84; transition:background .15s ease,color .15s ease; }
html[data-tech-page="login"] body :is(.crm-side-item.active,.delivery-side-item.active,.perf-side-item[aria-current],.hr-navigation>a[aria-current],.hr-nav-group.is-current) { background:#e9f2ff!important; color:#2468c7!important; border:1px solid #cee1fb; box-shadow:inset 3px 0 #3982e7; }
html[data-tech-page="login"] body .workspace-switch-icon { display:grid; place-items:center; color:#2c78c7; background:#edf5ff; border:1px solid #d7e6f7; }
html[data-tech-page="login"] body .tech-icon { width:23px; height:23px; flex:none; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
html[data-tech-page="login"] body :is(.home-module-icon,.mobile-entry-icon) .tech-icon { width:28px; height:28px; }
html[data-tech-page="login"] body :is(.crm-icon,.delivery-icon,.hr-navigation svg,.perf-side-item svg,.hr-nav-group svg) { stroke-width:1.65; }
html[data-tech-page="login"] body :is(.top-avatar,.avatar,.perf-portrait,.auth-account-avatar) { color:#377bb8; background:#e8f3ff; border-color:#c9dff2; }

/* Airy home dashboard, with a soft blueprint pattern and quiet blue accents. */
html[data-tech-page="login"] body .home-content { padding-top:30px; }
html[data-tech-page="login"] body .home-welcome { position:relative; overflow:hidden; min-height:216px; padding:34px; margin-bottom:28px; border:1px solid #d5e4f4; border-radius:18px; background:radial-gradient(ellipse at 90% 20%,#d6f1f6aa,transparent 60%),linear-gradient(120deg,#f6faff,#edf4fe); box-shadow:0 4px 16px #25466d04; }
html[data-tech-page="login"] body .home-welcome::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(#3377b90a 1px,transparent 1px),linear-gradient(90deg,#3377b90a 1px,transparent 1px); background-size:32px 32px; mask-image:linear-gradient(90deg,transparent,#000); }
html[data-tech-page="login"] body .home-welcome>div { position:relative; }
html[data-tech-page="login"] body .home-welcome h1 { max-width:720px; font-size:clamp(26px,2.4vw,36px); font-weight:650; letter-spacing:-.03em; }
html[data-tech-page="login"] body .home-welcome p { max-width:680px; color:#637d96; font-size:14px; }
html[data-tech-page="login"] body .home-welcome .eyebrow { color:#2d7db4; font-size:10px; letter-spacing:.2em; }
html[data-tech-page="login"] body .home-date { min-width:222px; gap:10px; padding:22px; border-color:#cbdfee; background:#ffffffb8; border-radius:12px; box-shadow:0 5px 18px #26609905; }
html[data-tech-page="login"] body .home-date strong { color:#286baf; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:26px; letter-spacing:.02em; }
html[data-tech-page="login"] body .home-section-heading { margin-bottom:18px; }
html[data-tech-page="login"] body .home-module-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
html[data-tech-page="login"] body .home-module { --entry-color:#316dcc; position:relative; overflow:hidden; padding:24px; border:1px solid #dce6f0; border-radius:14px; background:#fff; box-shadow:0 4px 16px #25466d06; }
html[data-tech-page="login"] body .home-module::before { content:""; position:absolute; inset:0 24px auto; height:2px; background:linear-gradient(90deg,var(--entry-color),transparent); opacity:.65; }
html[data-tech-page="login"] body .home-module-crm { --entry-color:#1686a0; }
html[data-tech-page="login"] body .home-module-delivery { --entry-color:#218b7d; }
html[data-tech-page="login"] body .home-module-hr { --entry-color:#7862bd; }
html[data-tech-page="login"] body .home-module:hover { border-color:color-mix(in srgb,var(--entry-color) 45%,#dce6f0); box-shadow:0 10px 24px #28547b12; transform:translateY(-2px); }
html[data-tech-page="login"] body .home-module-icon { width:56px; height:56px; border:1px solid color-mix(in srgb,var(--entry-color) 16%,white); border-radius:13px; color:var(--entry-color); background:color-mix(in srgb,var(--entry-color) 7%,white); box-shadow:none; }
html[data-tech-page="login"] body .home-module-number { max-width:110px; text-align:right; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:9px; color:#7890a7; }
html[data-tech-page="login"] body .home-module h3 { margin-top:23px; font-size:21px; }
html[data-tech-page="login"] body .home-module p { min-height:73px; font-size:12px; color:#657d92; line-height:1.9; }
html[data-tech-page="login"] body .home-module-tags { flex-wrap:wrap; gap:5px; margin-bottom:24px; }
html[data-tech-page="login"] body .home-module-tags span { color:#667f97; background:#f5f8fc; border:1px solid #e3ebf3; padding:4px 6px; font-size:10px; }
html[data-tech-page="login"] body .home-module-enter { border-top-color:#e5ecf4; color:var(--entry-color); font-size:12px; }
html[data-tech-page="login"] body .home-navigation-note { background:#edf4fb; border:1px solid #dce8f3; border-radius:12px; }
html[data-tech-page="login"] body .page-footer { color:#73899d; border-top-color:#dce6f0; }

/* White business surfaces keep dense tables and forms easy to read. */
html[data-tech-page="login"] body :is(.panel,.table-card,.hr-panel,.perf-kpi,.perf-chart-panel,.perf-rest-panel,.perf-podium-panel,.delivery-kanban-card,.mobile-record-card) { border-color:#dce6f0; box-shadow:0 3px 12px #25466d04; }
html[data-tech-page="login"] body :is(.crm-metrics>article,.metric-card,.delivery-metric,.hr-kpi,.perf-kpi) { position:relative; overflow:hidden; color:#526d85!important; border-radius:12px; background:#fff!important; border-color:#dce6f0!important; }
html[data-tech-page="login"] body :is(.crm-metrics>article,.metric-card,.delivery-metric,.hr-kpi,.perf-kpi)::before { content:""; position:absolute; left:0; top:20px; bottom:20px; width:3px; background:#64a4e5; box-shadow:none; }
html[data-tech-page="login"] body :is(.crm-metrics>article strong,.metric-card strong,.delivery-metric strong,.hr-kpi strong,.perf-kpi>strong) { color:#245987!important; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
html[data-tech-page="login"] body .perf-kpis .perf-kpi:first-child { background:linear-gradient(120deg,#edf5ff,#f3fbfd)!important; border-color:#c8dff2!important; }
html[data-tech-page="login"] body :is(table,td,th) { border-color:#dfe7f0; }
html[data-tech-page="login"] body table { font-variant-numeric:tabular-nums; }
html[data-tech-page="login"] body :is(.filter-bar,.hr-filterbar,.delivery-filter-bar,.perf-toolbar,.crm-table-toolbar) { border-color:#dce6f0; background:#f6f9fd; }
html[data-tech-page="login"] body :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]),select,textarea) { border-color:#cfdeeb; color:#29445e; background-color:#fff; caret-color:#2d71bd; }
html[data-tech-page="login"] body :is(input,select,textarea):focus { border-color:#6a9ee1; box-shadow:0 0 0 3px #3c8bd512; }
html[data-tech-page="login"] body :is(.crud-button.primary,.hr-primary,.perf-primary,.delivery-button.primary,.auth-submit,.primary-button,button.primary,.wa-primary) { background:linear-gradient(110deg,#286bd2,#247fad)!important; border-color:#2b71bf!important; color:#fff!important; box-shadow:0 2px 7px #306bc01a; }
html[data-tech-page="login"] body :is(.crud-button.primary,.hr-primary,.perf-primary,.delivery-button.primary,.auth-submit,.primary-button,button.primary,.wa-primary):hover { background:linear-gradient(110deg,#225fbc,#216f98)!important; }
html[data-tech-page="login"] body :is(.page-button.active,.page-button[aria-current]) { background:#e5f0ff!important; color:#2465ba!important; border-color:#bdd5f3!important; }
html[data-tech-page="login"] body :is(.hr-danger,.danger,.danger-text,.auth-message.error) { color:#bb4355; }
html[data-tech-page="login"] body :is(dialog,.crud-panel,.crm-drawer,.settings-portal-panel,.crm-admin-panel,.auth-account-panel) { border-color:#d6e3ee; box-shadow:0 22px 70px #27415b26; }
html[data-tech-page="login"] body dialog::backdrop { background:#243d6152; backdrop-filter:blur(2px); }
html[data-tech-page="login"] body :is(.crud-backdrop,.crm-admin-backdrop,.auth-account-backdrop) { background:#243d6152; }
html[data-tech-page="login"] body .perf-trend polyline { stroke:#307fd0; filter:none; }
html[data-tech-page="login"] body .perf-trend>path { stroke:#dbe7f2; }
html[data-tech-page="login"] body .perf-trend text { fill:#6d8399; }
html[data-tech-page="login"] body .perf-podium-panel { background:linear-gradient(135deg,#fff,#f6f9fe); }
html[data-tech-page="login"] body .perf-trophy { color:#ab802c; filter:none; }
html[data-tech-page="login"] body .perf-podium-entry.slot-1 { border-color:#dfcca0; }
html[data-tech-page="login"] body .perf-trend-tooltip { background:#fff; border-color:#d2e1ef; color:#294761; }

/* Login uses the same light palette; the official WeCom QR panel stays white. */
html[data-tech-page="login"] body .auth-gate { background:#f6f9fd; color:#27435d; }
html[data-tech-page="login"] body .auth-brand-panel { background:radial-gradient(circle at 15% 20%,#e6f8fc,transparent 55%),linear-gradient(150deg,#edf5ff,#eaf2fc 65%,#e2f1f6); color:#57758f; }
html[data-tech-page="login"] body .auth-brand-panel::after { border-color:#77a9d33d; box-shadow:0 0 0 55px #70afd209,0 0 0 112px #70afd207; }
html[data-tech-page="login"] body .auth-brand-copy h1 { font-size:clamp(34px,3.5vw,50px); letter-spacing:-.035em; line-height:1.35; }
html[data-tech-page="login"] body .auth-brand-copy span { color:#3583b3; letter-spacing:.2em; }
html[data-tech-page="login"] body .auth-brand-copy p { color:#607f99; }
html[data-tech-page="login"] body .auth-card { padding:30px; border:1px solid #d8e4f1; border-radius:18px; background:#fff; box-shadow:0 18px 55px #42678710; }
html[data-tech-page="login"] body .auth-wecom-panel { background:#fff; color:#29445e; border-radius:12px; overflow:hidden; }
html[data-tech-page="login"] body .auth-card h2 { letter-spacing:-.02em; }
html[data-tech-page="login"] body .auth-note { color:#496e85; background:#f0f7fc; border-color:#d5e7f4; }
html[data-tech-page="login"] body .auth-brand-foot { color:#6b879f; }

@media(min-width:681px) and (max-width:1120px) {
 html[data-tech-page="login"] body .home-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 html[data-tech-page="login"] body .home-welcome { padding:26px; }
 html[data-tech-page="login"] body .home-date { min-width:185px; }
}
@media(max-width:680px) {
 html[data-tech-page="login"] body .app-shell { background:#f3f7fc; }
 html[data-tech-page="login"] body .topbar { background:#fff; min-height:72px; }
 html[data-tech-page="login"] body .workspace-mobile-directory { padding:8px 16px 28px; background:transparent; }
 html[data-tech-page="login"] body .mobile-entry-group { margin-top:12px; padding:19px 12px 8px; border:1px solid #dce7f1; border-radius:14px; background:#fff; box-shadow:0 3px 12px #355a8005; }
 html[data-tech-page="login"] body .mobile-entry-group+.mobile-entry-group { margin-top:14px; }
 html[data-tech-page="login"] body .mobile-entry-group h2 { display:flex; align-items:center; gap:8px; margin-bottom:18px; color:#526d84; font-size:13px; font-weight:600; }
 html[data-tech-page="login"] body .mobile-entry-group h2::before { content:""; width:3px; height:12px; background:#5e9ad9; border-radius:2px; }
 html[data-tech-page="login"] body .mobile-entry-grid { gap:20px 6px; }
 html[data-tech-page="login"] body .mobile-entry { min-height:88px; color:#42617e; font-size:12px; gap:10px; }
 html[data-tech-page="login"] body .mobile-entry:active { background:#f1f6fd; }
 html[data-tech-page="login"] body .mobile-entry-icon { color:#2884b2; background:linear-gradient(135deg,#eff9fd,#eaf3fc); border:1px solid #d4e8f4; border-radius:13px; box-shadow:0 2px 5px #377cb208; }
 html[data-tech-page="login"] body .tone-purple { color:#7967bb; background:linear-gradient(135deg,#f4f1fc,#eeecfa); border-color:#e3ddf5; }
 html[data-tech-page="login"] body .tone-blue { color:#3477cc; background:linear-gradient(135deg,#f0f6ff,#e8f1ff); border-color:#d5e4fa; }
 html[data-tech-page="login"] body .tone-orange { color:#a47a32; background:linear-gradient(135deg,#fcf7ed,#faf0df); border-color:#eee1c8; }
 html[data-tech-page="login"] body .tone-red { color:#bd667b; background:linear-gradient(135deg,#fff3f6,#fceaf0); border-color:#f2dbe3; }
 html[data-tech-page="login"] body .tone-teal { color:#238779; background:linear-gradient(135deg,#edf9f5,#e6f5f1); border-color:#d2e9e2; }
 html[data-tech-page="login"] body .tone-slate { color:#617d99; background:linear-gradient(135deg,#f3f7fb,#edf2f8); border-color:#dce5ef; }
 html[data-tech-page="login"] body .workspace-mobile-nav { background:#ffffffef; border-top:1px solid #d8e5f1; backdrop-filter:blur(12px); box-shadow:0 -3px 16px #345c7f07; }
 html[data-tech-page="login"] body .workspace-mobile-nav a { color:#71869b; font-size:11px; }
 html[data-tech-page="login"] body .workspace-mobile-nav a[aria-current] { color:#2469c3!important; position:relative; }
 html[data-tech-page="login"] body .workspace-mobile-nav a[aria-current]::before { content:""; position:absolute; top:-6px; width:26px; height:2px; border-radius:2px; background:#4e8edf; }
 html[data-tech-page="login"] body .workspace-mobile-back { color:#3d74a4; background:#f9fbfe; border-bottom-color:#dce6f0; }
 html[data-tech-page="login"] body .mobile-home-date { margin:12px 2px 14px; color:#70869c; font-size:11px; }
 html[data-tech-page="login"] body .mobile-home-version { color:#7c90a4; }
 html[data-tech-page="login"] body .mobile-record-card { background:#fff; border-color:#dce7f1; }
 html[data-tech-page="login"] body .auth-form-panel { padding:24px 16px 38px; }
 html[data-tech-page="login"] body .auth-card { padding:22px 18px; }
 html[data-tech-page="login"] body .auth-brand-panel { padding:24px; }
 html[data-tech-page="login"] body .auth-brand-copy { padding:28px 0 10px; }
 html[data-tech-page="login"] body .auth-brand-copy h1 { font-size:31px; }
}
@media(prefers-reduced-motion:reduce) {
 html[data-tech-page="login"] body *,html[data-tech-page="login"] body *::before,html[data-tech-page="login"] body *::after { transition:none!important; scroll-behavior:auto!important; animation:none!important; }
}
/* Existing settings dialogs declare inline colors. Keep their frames consistent. */
html[data-tech-page="login"] body dialog[aria-label="Agent 接入管理"] { background:#fff!important; border-color:#d6e3ee!important; }
html[data-tech-page="login"] body dialog[aria-label="Agent 接入管理"]>div { background:#f7faff!important; border-color:#d6e3ee!important; }
html[data-tech-page="login"] body dialog[aria-label="Agent 接入管理"] strong { color:#21364d!important; }
html[data-tech-page="login"] body dialog[aria-label="Agent 接入管理"] button { background:#eaf2fa!important; color:#54748f!important; }
html[data-tech-page="login"] body dialog[aria-label="Agent 接入管理"] iframe { background:#f4f7fb!important; }
html[data-tech-page="agent-access"] body { margin:24px auto; }
html[data-tech-page="agent-access"] body.embedded { margin:0 auto; }
/* Navigation labels and flyouts previously inherited white from the dark sidebar. */
html[data-tech-page="login"] body .sidebar { color:#536d85!important; }
html[data-tech-page="login"] body .sidebar :is(.user-card strong,.workspace-state strong) { color:#334f6c!important; }
html[data-tech-page="login"] body .sidebar :is(.crm-side-item.active,.delivery-side-item.active,.perf-side-item[aria-current],.hr-nav-group.is-current) :is(span,svg,path,circle) { color:inherit!important; }
html[data-tech-page="login"] body :is(.customer-subnav,.hr-flyout,.workspace-switch-panel) { background:#fff!important; border-color:#d4e1ee!important; }
html[data-tech-page="login"] body .customer-subnav button { color:#546f88!important; }
html[data-tech-page="login"] body .customer-subnav :is(button.active,button:hover) { color:#2467be!important; background:#edf4fe!important; }

html[data-tech-page="login"] body .delivery-metric.emphasis { background:linear-gradient(120deg,#edf5ff,#f3fbfd)!important; border-color:#c8dff2!important; }
html[data-tech-page="login"] body .delivery-metric.warning strong { color:#b54559!important; }

/* WENHAI_TECH_LOGIN_END */
