:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#087c7a;--primary:#13b8b1;--action-blue:#2f7cf6;--purple:#8b5cf6;--coral:#ff7f7f;--amber:#ffb84d;--green:#36c275;--background:#f5f7fa;--foreground:#1f2937;--muted:#a8b2c1;--text-secondary:#7a8797;--panel:#fff;--border:#e7ecf3;--soft-teal:#e7fbf8;--soft-blue:#eef6ff;--soft-amber:#fff8e8;--shadow-soft:0 12px 30px #1f293714;--workspace-title-size:24px;--workspace-title-line-height:30px;--workspace-subtitle-size:15px;--workspace-control-size:14px;--workspace-card-title-size:16px;--workspace-meta-size:13px;--workspace-small-size:12px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);letter-spacing:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.app-shell{place-items:center;min-height:100vh;padding:32px;display:grid}.welcome-panel{border:1px solid var(--border);background:var(--panel);border-radius:8px;width:min(720px,100%);padding:32px}.welcome-panel h1{margin:8px 0 12px;font-size:32px;line-height:1.2}.welcome-panel p{color:var(--muted);margin:0;font-size:16px;line-height:1.7}.welcome-panel .eyebrow{color:var(--action-blue);letter-spacing:0;font-size:13px;font-weight:700}.dashboard-layout{background:#f3f4f6;min-height:100vh;padding:12px}.dashboard-layout>.ant-layout{background:0 0;border-radius:28px;overflow:hidden}.dashboard-layout>.ant-layout>.ant-layout{z-index:1;background:#fff;border-radius:28px;position:relative;overflow:hidden}.dashboard-sider{height:calc(100vh - 24px);box-shadow:none;z-index:2;border:0;border-radius:24px;margin-right:16px;position:sticky;top:12px;overflow:visible;background:#1f2937!important}.dashboard-sider .ant-layout-sider-children{flex-direction:column;align-items:center;height:100%;min-height:0;padding:0 0 12px;display:flex}.dashboard-brand{border:0;justify-content:center;align-items:center;width:100%;height:auto;margin:0 0 14px;padding:20px 0 0;display:flex}.dashboard-brand-mark{color:#fff;background:#f64d86;border-radius:16px;place-items:center;width:40px;height:40px;font-size:24px;font-weight:800;display:inline-grid;box-shadow:0 10px 26px #04413f33}.dashboard-brand-text{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dashboard-menu{scrollbar-width:none;background:0 0;flex-direction:column;flex:1;align-items:center;gap:8px;width:100%;min-height:0;padding:8px 0 12px;display:flex;overflow:hidden auto}.dashboard-menu::-webkit-scrollbar{display:none}.dashboard-nav-link{color:#ffffffb3;border-radius:16px;flex:none;place-items:center;width:54px;height:46px;margin:0 auto;font-size:19px;line-height:1;text-decoration:none;transition:width .24s cubic-bezier(.22,1,.36,1),height .24s cubic-bezier(.22,1,.36,1),margin .24s cubic-bezier(.22,1,.36,1),border-radius .24s cubic-bezier(.22,1,.36,1),background-color .18s,color .18s;display:grid;position:relative}.dashboard-nav-link:hover{color:#fff;background:#ffffff1f}.dashboard-nav-link.is-active{color:#2f7cf6;background:#fff;border-radius:20px;width:64px;height:54px;margin:0 auto}.dashboard-nav-link.is-active:before,.dashboard-nav-link.is-active:after{display:none}.dashboard-nav-link .anticon{z-index:1;justify-content:center;align-items:center;width:20px;height:20px;line-height:1;transition:color .18s,transform .24s cubic-bezier(.22,1,.36,1);display:inline-flex;position:relative}.dashboard-nav-link.is-active .anticon{position:relative;top:auto;left:auto;transform:none}.dashboard-settings-dock{color:#ffffffb8;border-radius:16px;flex:none;place-items:center;width:54px;height:48px;margin:10px auto 0;padding:0;font-size:17px;text-decoration:none;display:grid}.dashboard-settings-dock:hover,.dashboard-settings-dock.is-active{color:#2f7cf6;background:#fff}.dashboard-settings-dock span:not(.anticon){display:none}.dashboard-settings-dock .anticon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.dashboard-header{background:#fff;border-bottom:0;justify-content:space-between;align-items:center;gap:24px;height:72px;padding:0 28px 0 24px;display:flex}.dashboard-search{width:min(440px,100%);max-width:440px}.dashboard-search.ant-input-affix-wrapper{background:#ffffffdb;border:0;border-radius:18px;align-items:center;height:42px;display:inline-flex;box-shadow:0 10px 26px #04413f0f}.dashboard-search .ant-input-prefix,.dashboard-search .ant-input-suffix{align-items:center;height:100%;line-height:1;display:inline-flex}.dashboard-search .ant-input{height:100%;line-height:40px}.dashboard-header-actions,.dashboard-header-actions .ant-space-item,.dashboard-header-actions .ant-space{align-items:center;display:flex}.dashboard-header-icon{color:#1f2937;cursor:pointer;justify-content:center;align-items:center;width:30px;height:30px;font-size:18px;line-height:1;display:inline-flex}.dashboard-header .ant-avatar{background:#4f88c9}.dashboard-login-link{color:var(--brand);font-size:13px;font-weight:700}.dashboard-notice-panel{border:1px solid var(--border);background:#fff;border-radius:14px;width:340px;max-width:calc(100vw - 32px);padding:12px;box-shadow:0 18px 44px #0f172a24}.dashboard-notice-head,.dashboard-notice-item{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-notice-list{gap:10px;display:grid}.dashboard-notice-item{border:1px solid #edf2f7;border-radius:10px;justify-content:flex-start;padding:10px}.dashboard-notice-item>span{min-width:38px;color:var(--brand);text-align:center;background:#eef9f8;border-radius:999px;padding:2px 6px;font-size:12px;font-weight:700}.dashboard-notice-item.is-error>span{color:#cf1322;background:#fff1f0}.dashboard-notice-item.is-warning>span{color:#ad6800;background:#fff7e6}.dashboard-notice-item>div{gap:2px;display:grid}.dashboard-content{background:#fff;padding:28px 28px 28px 24px}.dashboard-transition-stage{transform-origin:50% 18px;will-change:opacity, transform, filter;min-height:calc(100vh - 100px);animation:.26s cubic-bezier(.22,1,.36,1) both dashboard-page-enter}.login-page{background:#f6fbfa;place-items:center;min-height:100vh;padding:32px;display:grid}.login-shell{grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);align-items:stretch;gap:24px;width:min(1080px,100%);display:grid}.login-copy,.login-card{border:1px solid var(--border);background:#fff;border-radius:18px}.login-copy{flex-direction:column;justify-content:center;gap:18px;padding:42px;display:flex}.login-copy h1{color:var(--brand);margin:0}.login-checklist{color:var(--text-secondary);gap:10px;display:grid}.login-checklist span{align-items:center;gap:8px;display:flex}.login-card .ant-card-body,.login-empty,.login-qr{text-align:center;place-items:center;gap:18px;min-height:420px;display:grid}.login-empty{padding:24px}#dingtalk-login-frame{width:300px;height:300px}@keyframes dashboard-page-enter{0%{opacity:0;filter:blur(4px);transform:translateY(10px)scale(.992)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.dashboard-transition-stage{animation:none}.dashboard-nav-link,.dashboard-nav-link .anticon{transition:none}}.dashboard-layout.is-workspace-page .dashboard-brand,.dashboard-layout.is-workspace-page .dashboard-header{display:flex}.dashboard-page{max-width:1280px;margin:0 auto}.dashboard-page-heading{display:none}.job-detail-page>.dashboard-page-heading{display:flex}.dashboard-hero-panel{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:18px;margin-bottom:20px;display:grid}.dashboard-hero-panel>div{border-radius:24px;min-height:150px;padding:24px 28px;box-shadow:0 18px 40px #04413f14}.dashboard-hero-panel>div:first-child{background:radial-gradient(circle at 88% 32%,#ffffff6b,#0000 22%),linear-gradient(135deg,#ffc477,#ffb565);position:relative;overflow:hidden}.dashboard-hero-panel>div:first-child:after{content:"";opacity:.9;background:radial-gradient(circle at 50% 16%,#2e2b65 0 15px,#0000 16px),linear-gradient(135deg,#086c69,#13b8b1);border-radius:44% 44% 20px 20px;width:126px;height:106px;position:absolute;bottom:0;right:34px}.dashboard-hero-panel>div:first-child h3{color:#1f2937;max-width:520px;margin:12px 0 8px;font-size:26px;line-height:1.22}.dashboard-hero-panel>div:first-child .ant-typography{color:#1f2937b8;max-width:520px;display:block}.dashboard-hero-actions{background:radial-gradient(circle at 84% 18%,#13b8b133,#0000 24%),#fff;flex-direction:column;justify-content:center;gap:14px;display:flex}.dashboard-hero-actions:before{content:"Invite your team to 羽动";color:#1f2937;font-size:18px;font-weight:700}.dashboard-hero-actions:after{content:"同步岗位进度、AI 建议和面试反馈，让协作更轻。";color:var(--text-secondary);order:-1;font-size:13px}.dashboard-hero-actions .ant-btn{border-radius:14px;width:fit-content}.dashboard-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.dashboard-metric-card{background:#ffffffe6;border-radius:24px;min-height:128px;padding:20px;position:relative;overflow:hidden;box-shadow:0 18px 38px #04413f12}.dashboard-metric-card:before{content:"";background:var(--soft-teal);border-radius:16px;width:42px;height:42px;margin-bottom:18px;display:block}.dashboard-metric-card:after{content:"";background:#13b8b1;border-radius:999px;width:88px;height:4px;position:absolute;bottom:20px;right:20px}.dashboard-metric-card span,.dashboard-metric-card small{color:var(--text-secondary);font-size:13px;display:block}.dashboard-metric-card strong{color:#1f2937;margin:4px 0;font-size:30px;line-height:1;display:block}.dashboard-metric-card.is-blue:before,.dashboard-metric-card.is-blue:after{background:#dcecff}.dashboard-metric-card.is-blue:after{background:#2f7cf6}.dashboard-metric-card.is-amber:before,.dashboard-metric-card.is-amber:after{background:#fff2d6}.dashboard-metric-card.is-amber:after{background:#ffb84d}.dashboard-metric-card.is-purple:before,.dashboard-metric-card.is-purple:after{background:#efe9ff}.dashboard-metric-card.is-purple:after{background:#8b5cf6}.dashboard-workbench{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;display:grid}.dashboard-main-column,.dashboard-side-column{gap:18px;display:grid}.dashboard-two-up{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;display:grid}.dashboard-panel.ant-pro-card,.dashboard-two-up>.ant-pro-card{overflow:hidden;box-shadow:0 18px 38px #04413f12;background:#ffffffeb!important;border:0!important;border-radius:24px!important}.dashboard-panel .ant-pro-card-title,.dashboard-two-up .ant-pro-card-title{color:#1f2937;font-size:16px}.dashboard-job-row,.dashboard-compact-row{min-height:64px;border-block-end:1px solid #087c7a14!important}.dashboard-notice-item{gap:10px;border-block-end:0!important;justify-content:flex-start!important}.dashboard-notice-icon{background:var(--soft-teal);color:#086c69;border-radius:12px;flex:none;place-items:center;width:30px;height:30px;display:inline-grid}.dashboard-notice-icon.is-coral{color:var(--coral);background:#fff0f0}.dashboard-notice-icon.is-amber{color:#d88300;background:#fff8e8}.dashboard-notice-icon.is-green{color:#22a35d;background:#e9fbf1}.dashboard-notice-icon.is-blue{color:#2f7cf6;background:#eef6ff}.dashboard-progress-summary{background:var(--soft-teal);border-radius:18px;margin-top:12px;padding:14px}.component-actions,.score-tags{margin-top:14px}.score-total{justify-items:center;gap:8px;margin-bottom:12px;display:grid}.jobs-page,.job-detail-page,.candidates-page,.candidate-detail-page{max-width:1480px;margin:0 auto}.job-detail-workspace{background:#fff;min-height:100vh;margin:-24px;padding:28px 32px 44px}.job-detail-heading{align-items:flex-start;margin-bottom:18px}.job-detail-title-block h2{color:var(--foreground);font-size:var(--workspace-title-size);font-weight:800;line-height:var(--workspace-title-line-height);margin:0 0 8px}.job-detail-actions{padding-top:4px}.job-summary-panel,.job-detail-tabs,.candidate-summary-panel,.candidate-detail-tabs{margin-bottom:16px}.job-summary-panel,.candidate-summary-panel,.candidate-resume-panel,.candidate-form-panel{border:1px solid var(--border);background:#fff;border-radius:8px;padding:20px 24px 8px}.candidate-form-panel,.candidate-resume-panel{padding-bottom:20px}.job-summary-panel h5,.candidate-summary-panel h5{margin-top:0}.job-detail-tabs .ant-tabs-nav{margin-bottom:14px}.job-detail-tabs .ant-tabs-tab{padding:10px 18px;font-size:15px}.job-detail-tabs .ant-tabs-tab-active{background:var(--soft-blue);border-radius:6px 6px 0 0}.job-detail-card{border:1px solid var(--border);border-radius:8px}.job-profile-form-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:0 18px;display:grid}.job-summary-grid,.candidate-summary-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.job-summary-item,.candidate-summary-item{border-right:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:minmax(84px,.38fr) minmax(0,.62fr);min-height:48px;display:grid}.job-summary-item dt,.job-summary-item dd,.candidate-summary-item dt,.candidate-summary-item dd{align-items:center;min-width:0;margin:0;padding:10px 12px;line-height:1.45;display:flex}.job-summary-item dt,.candidate-summary-item dt{color:var(--muted);background:#f8fafc;font-weight:600}.job-summary-item dd,.candidate-summary-item dd{overflow-wrap:anywhere}.jobs-filter-bar,.candidates-filter-bar{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.jobs-keyword,.candidates-keyword{width:min(360px,100%)}.jobs-filter-select,.candidates-filter-select{width:180px}.job-detail-grid,.candidate-detail-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr) minmax(240px,.6fr);align-items:start;gap:16px;display:grid}.candidate-detail-grid{grid-template-columns:minmax(360px,1fr) minmax(260px,.5fr)}.candidate-info-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:16px;display:grid}.candidate-resume-identity{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:20px 24px;display:flex}.candidate-resume-identity h3{margin:0 0 8px}.candidate-resume-meta{margin-top:14px}.candidate-match-score{flex:none}.candidate-resume-workbench{grid-template-columns:190px minmax(460px,1fr) minmax(320px,.72fr);align-items:stretch;gap:16px;display:grid}.candidate-attachment-rail,.candidate-original-viewer,.candidate-resume-side .ant-pro-card{border:1px solid var(--border);background:#fff;border-radius:8px}.candidate-attachment-rail{flex-direction:column;min-height:620px;padding:16px;display:flex}.candidate-attachment-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.candidate-attachment-title h5{margin:0}.candidate-attachment-list{gap:10px;margin-bottom:12px;display:grid}.candidate-file-card{border:1px solid var(--border);width:100%;min-height:78px;color:inherit;text-align:left;cursor:pointer;background:#f8fafc;border-radius:8px;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:12px;display:grid}.candidate-file-card.is-active{background:#e7fbf8;border-color:#13b8b1}.candidate-file-card strong,.candidate-file-card small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.candidate-file-card small{color:var(--muted);margin-top:4px;font-size:12px}.candidate-file-icon{color:#fff;background:linear-gradient(135deg,#2f7cf6,#8b5cf6);border-radius:8px;place-items:center;width:34px;height:42px;font-size:18px;display:grid}.candidate-original-viewer{object-fit:contain;border:0;width:100%;min-height:620px;display:block}.candidate-fullscreen-preview{object-fit:contain;border:0;width:100%;height:78vh;display:block}.candidate-viewer-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.candidate-viewer-toolbar h5{margin:0}.candidate-viewer-canvas{background-color:#f3f6fa;background-image:linear-gradient(90deg,#d9e2efb3 1px,#0000 1px),linear-gradient(#d9e2efb3 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;padding:24px;overflow:auto}.candidate-original-page{background:#fff;border-radius:4px;width:min(440px,100%);min-height:560px;margin:0 auto;padding:32px;position:relative;box-shadow:0 18px 42px #1f293729}.candidate-original-page h3{margin-bottom:8px}.candidate-original-page h5{margin:24px 0 12px}.candidate-original-photo{background:linear-gradient(135deg,#d8f6f2,#e7ddff);border-radius:8px;width:74px;height:92px;position:absolute;top:32px;right:32px}.candidate-original-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.resume-line{background:#dbe4ef;border-radius:999px;height:9px;margin:12px 0}.resume-line.is-long{width:88%}.resume-line.is-medium{width:72%}.resume-line.is-short{width:52%}.candidate-resume-side{align-content:start;gap:12px;display:grid}.candidate-mini-resume{gap:8px;margin:0;display:grid}.candidate-mini-resume div{grid-template-columns:76px minmax(0,1fr);gap:8px;display:grid}.candidate-mini-resume dt{color:var(--muted)}.candidate-mini-resume dd{margin:0;font-weight:600}.candidate-portfolio-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.candidate-portfolio-strip span{background:radial-gradient(circle at 72% 22%,#ffffff73,#0000 28%),linear-gradient(135deg,#8b5cf6,#2f7cf6);border-radius:8px;height:58px}.candidate-portfolio-strip span:nth-child(2){background:linear-gradient(135deg,#13b8b1,#2f7cf6)}.candidate-portfolio-strip span:nth-child(3){background:linear-gradient(135deg,#ffb84d,#ff7f7f)}.candidate-record-stack{gap:10px;display:grid}.candidate-record-item{grid-template-columns:9px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.candidate-record-item>span{border-radius:50%;width:9px;height:9px;margin-top:6px}.candidate-record-item strong,.candidate-record-item small{display:block}.candidate-record-item small,.candidate-record-item time{color:var(--muted);font-size:12px}.candidate-ai-report-card{background:linear-gradient(135deg,#8b5cf614,#2f7cf60f);border-color:#8b5cf640}.candidate-ai-score{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.candidate-ai-score strong{color:#8b5cf6;font-size:30px;line-height:1}.candidate-resume-header,.candidate-ai-report-full{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.candidate-ai-report-full{justify-content:flex-start}.candidate-ai-report-full>.anticon{color:#8b5cf6;margin-top:6px;font-size:32px}.lu-detail-page{background:#eef2f7;min-height:calc(100vh - 112px);margin:-24px;padding:20px 24px}.lu-detail-page .ant-btn-primary{box-shadow:none;background:#13b8b1;border-color:#13b8b1}.lu-detail-page .ant-btn-primary:hover{background:#087c7a!important;border-color:#087c7a!important}.lu-detail-page .ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn,.lu-detail-page .ant-tabs .ant-tabs-tab:hover,.lu-detail-page .ant-typography a{color:#087c7a}.lu-detail-page .ant-tabs .ant-tabs-ink-bar{background:#13b8b1}.lu-detail-shell{border:1px solid var(--border);background:#fff;border-radius:14px;max-width:1200px;min-height:calc(100vh - 112px);margin:0 auto;overflow:hidden;box-shadow:0 18px 45px #1f29371f}.lu-detail-titlebar{background:#fff;border-bottom:1px solid #eef1f5;justify-content:space-between;align-items:center;min-height:64px;padding:0 22px;display:flex}.lu-detail-titlebar h3{margin:0 18px 0 0;font-size:20px;display:inline-block}.lu-detail-body{background:#f7f8fa;padding:16px 22px 22px}.lu-talent-card{background:linear-gradient(135deg,#f4fbfc,#fff);border:1px solid #087c7a14;border-radius:16px;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:154px;padding:28px 32px;transition:max-height .18s,min-height .18s,margin .18s,opacity .14s,padding .18s;display:grid;box-shadow:0 10px 30px #087c7a05}.lu-avatar-wrap{width:72px;position:relative}.lu-avatar{color:#fff;background:linear-gradient(135deg,#13b8b1,#087c7a);border:2px solid #fff;border-radius:50%;place-items:center;width:72px;height:72px;font-size:28px;font-weight:800;display:grid;box-shadow:0 8px 24px #087c7a29}.lu-avatar.has-image{background:#eef2f7;overflow:hidden}.lu-avatar img{object-fit:cover;width:100%;height:100%}.lu-gender-dot{color:#fff;background:#ff6f9f;border:1.5px solid #fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid;position:absolute;bottom:0;right:0;box-shadow:0 2px 6px #0000001a}.lu-name-row{align-items:center;gap:8px;display:flex}.lu-name-row h2{color:#1f2937;margin:0 6px 0 0;font-size:24px;font-weight:700}.lu-talent-meta-tag{font-weight:600;color:#087c7a!important;background:#087c7a0f!important;border:0!important;border-radius:5px!important;padding:2px 8px!important;font-size:12px!important}.lu-star-button{color:#a8b2c1;transition:color .2s}.lu-star-button:hover{color:#ffb84d!important}.lu-contact-row{color:#4b5563;align-items:center;gap:12px;margin-top:10px;font-size:13px;display:flex}.lu-contact-row .anticon{color:#a8b2c1;margin-right:6px}.lu-contact-val{font-weight:500}.lu-contact-divider{color:#e2e8f0;font-weight:300}.lu-tag-row{align-items:center;gap:8px;margin-top:14px;display:flex}.lu-tag-label-wrap{color:#8b98aa;align-items:center;font-size:13px;display:inline-flex}.lu-tag-label-wrap .anticon{margin-right:4px}.lu-talent-tag{color:#64748b!important;background:#f1f5f9!important;border:0!important;border-radius:5px!important;padding:2px 8px!important;font-size:12px!important}.lu-tag-add-btn.ant-btn{color:#087c7a;background:0 0;border:1px dashed #cbd5e1;border-radius:5px;font-size:12px;transition:all .2s}.lu-tag-add-btn.ant-btn:hover{background:#e6f7f7!important;border-color:#087c7a!important}.lu-talent-actions{align-items:center;gap:12px;display:flex}.lu-talent-actions .lu-btn-join.ant-btn{border-radius:8px;height:38px;padding:0 16px;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #087c7a33;color:#fff!important;background:#087c7a!important;border:1px solid #087c7a!important}.lu-talent-actions .lu-btn-join.ant-btn:hover{box-shadow:0 6px 16px #087c7a4d;background:#13b8b1!important;border-color:#13b8b1!important}.lu-talent-actions .ant-btn-text{color:#64748b;border-radius:8px;height:38px;padding:0 12px;font-weight:500;transition:all .2s}.lu-talent-actions .ant-btn-text:hover{color:#1f2937!important;background:#f1f5f9!important}.lu-ai-bar{color:#5b64ff;background:#eef3ff;border:1px solid #dfe7ff;border-radius:8px;justify-content:space-between;align-items:center;height:54px;margin:14px 0;padding:0 22px;display:flex}.lu-ai-bar>div{align-items:center;gap:8px;display:flex}.lu-ai-icon{font-size:22px}.lu-detail-content-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:stretch;gap:16px;display:grid}.lu-main-panel,.lu-side-panel{background:#fff;border-radius:10px;min-height:620px}.lu-main-panel{overflow:hidden}.lu-resume-tabs>.ant-tabs-nav{border-bottom:1px solid #eef1f5;margin:0;padding:0 22px}.lu-resume-tabs .ant-tabs-tab{padding:17px 0}.lu-resume-tabs>.ant-tabs-content-holder,.lu-resume-pane{min-height:568px}.lu-resume-toolbar{background:#fafbfc;border-bottom:1px solid #eef1f5;justify-content:space-between;align-items:center;min-height:60px;padding:0 20px;display:flex}.lu-resume-toolbar .ant-dropdown-trigger{text-align:left;color:#475569;border-radius:6px;justify-content:space-between;align-items:center;max-width:320px;font-weight:500;display:inline-flex}.lu-resume-toolbar .ant-dropdown-trigger>span{text-overflow:ellipsis;white-space:nowrap;margin-right:4px;overflow:hidden}.lu-resume-toolbar .ant-btn-text{color:#64748b;border-radius:6px;font-weight:500;transition:all .2s}.lu-resume-toolbar .ant-btn-text:hover{color:#087c7a!important;background:#087c7a0f!important}.lu-attachment-scroll{background:#fff;height:506px;margin:0;padding:28px 34px 42px;overflow:auto}.candidate-pdf-pages{flex-direction:column;align-items:center;gap:22px;width:100%;display:flex}.candidate-pdf-page{background:#fff;border-radius:6px;width:min(100%,900px);height:auto;box-shadow:0 12px 36px #0f172a14}.lu-contact-qr{align-items:center;gap:18px;margin-bottom:34px;display:flex}.lu-qr{background:#fff;border:1px solid #d9e2ef;grid-template-columns:repeat(2,1fr);gap:5px;width:76px;height:76px;padding:7px;display:grid}.lu-qr span{background:#1f2937}.lu-contact-qr p{margin:6px 0 4px}.lu-original-resume-paper{background:#fff;min-height:620px;padding:16px 120px 40px 70px;position:relative}.lu-resume-rail{width:18px;position:absolute;top:0;bottom:0;left:18px}.lu-resume-rail:before{content:"";background:#8ddbd8;width:1px;position:absolute;top:0;bottom:0;left:8px}.lu-resume-rail span{background:#39c7c0;border-radius:50%;width:10px;height:10px;position:absolute;left:3px}.lu-resume-rail span:first-child{top:92px}.lu-resume-rail span:last-child{top:252px}.lu-resume-photo{background:linear-gradient(135deg,#d8f6f2,#dfe9ff);border-radius:8px;width:86px;height:112px;position:absolute;top:24px;right:44px}.lu-original-resume-paper h1{margin:0 0 14px;font-size:34px}.lu-original-resume-paper h3{margin:32px 0 14px}.lu-original-resume-paper ol{color:#3f4a5a;margin:0;padding-left:20px;line-height:1.8}.lu-resume-subtitle{color:#1f2937}.lu-side-panel{padding:22px 0}.lu-join-button{height:44px;margin-bottom:20px;padding:0 12px;font-size:14px;font-weight:700}.lu-note-card{background:#fff;border-radius:10px;min-height:230px;box-shadow:0 8px 24px #1f293714}.lu-note-card textarea{resize:none;color:#1f2937;width:100%;height:178px;font:inherit;border:0;outline:0;padding:18px;font-size:14px}.lu-note-card textarea::placeholder{color:#a8b2c1}.lu-note-footer{justify-content:space-between;align-items:center;padding:0 12px 12px;display:flex}.lu-standard-pane,.lu-empty-pane,.lu-record-pane{background:#fff;min-height:568px;padding:28px 34px}.lu-standard-actions{justify-content:flex-end;gap:18px;margin-bottom:24px;display:flex}.lu-standard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 42px;margin:24px 0 42px;display:grid}.lu-standard-grid div{gap:8px;display:flex}.lu-standard-grid dt{color:#7a8797}.lu-standard-grid dd{margin:0}.lu-standard-item{margin-bottom:30px}.lu-standard-item-head{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:10px;display:flex}.lu-standard-item-head span,.lu-standard-meta dt,.lu-standard-block>.ant-typography{color:#7a8797}.lu-standard-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px;margin:0 0 12px;display:grid}.lu-standard-meta div{gap:6px;display:flex}.lu-standard-meta dd{margin:0}.lu-standard-block{grid-template-columns:72px minmax(0,1fr);gap:8px;margin-top:8px;line-height:1.8;display:grid}.lu-standard-block span{display:block}.lu-empty-pane{text-align:center;align-content:center;place-items:center;display:grid}.lu-empty-pane>.anticon{color:#a8b2c1;margin-bottom:14px;font-size:46px}.lu-record-pane{align-content:start;gap:16px;display:grid}.lu-ai-report-summary{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:18px;display:grid}.lu-ai-report-summary>strong{color:#8b5cf6;background:#f0eaff;border-radius:50%;place-items:center;width:72px;height:72px;font-size:28px;display:grid}.lu-candidates-page{background:#fff;min-height:calc(100vh - 64px);margin:-24px;padding:28px 36px 24px}.lu-list-header,.lu-list-filter-row,.lu-list-batch-row,.lu-resume-row,.lu-list-pagination{max-width:1480px;margin-left:auto;margin-right:auto}.lu-list-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.lu-list-header h2{margin:0;font-size:28px;font-weight:700}.lu-list-header .ant-btn,.lu-row-actions .ant-btn{color:#2f7cf6;border-color:#2f7cf6}.lu-list-header .ant-btn{border-radius:5px;height:36px}.lu-list-filter-row{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.lu-list-filter-chips{flex-wrap:wrap;gap:14px;display:flex}.lu-list-filter-chip{color:#a8b2c1;min-width:130px;height:40px;font:inherit;cursor:pointer;background:#f5f7fa;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:inline-flex}.lu-list-filter-chip .anticon{color:#7a8797;font-size:12px}.lu-list-filter-actions .ant-btn{color:#4b5563}.lu-list-batch-row{justify-content:space-between;align-items:center;min-height:42px;margin-bottom:18px;display:flex}.lu-list-batch-row .ant-btn{color:#7a8797;border-color:#eef1f5}.lu-list-count{color:#13b8b1;font-weight:700}.lu-resume-list{max-width:1480px;margin:0 auto}.lu-resume-row{background:#fff;border-bottom:1px solid #edf1f6;grid-template-columns:28px 390px minmax(440px,1fr) 210px;align-items:center;gap:12px;min-height:126px;display:grid}.lu-row-check{justify-self:center}.lu-row-person{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;text-decoration:none;display:grid}.lu-row-person:hover .lu-row-name-line strong{color:#087c7a}.lu-list-avatar-wrap{width:42px;height:42px;position:relative}.lu-list-avatar{color:#087c7a;background:linear-gradient(135deg,#d8f6f2,#dfe9ff);width:42px;height:42px;font-weight:800}.lu-list-avatar.is-text{color:#fff;background:linear-gradient(135deg,#7b8cff,#5d6dff)}.lu-list-avatar.has-image{background:#eef2f7}.lu-list-gender{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:17px;height:17px;font-size:10px;line-height:1;display:grid;position:absolute;bottom:-2px;right:-4px}.lu-list-gender.female{background:#ff6f9f}.lu-list-gender.male{background:#4f88ff}.lu-row-name-line{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.lu-row-name-line strong{color:#1f2937;font-size:16px}.lu-row-name-line .ant-typography-secondary{color:#8b98aa}.lu-row-tag{color:#98a3b3;background:#f2f4f7;border:0;border-radius:4px}.lu-list-track{gap:8px;display:grid}.lu-list-track-line{color:#627084;grid-template-columns:18px 140px minmax(0,max-content) auto;align-items:center;gap:6px;min-height:20px;font-size:14px;display:grid}.lu-list-track-line .anticon{color:#c5ccd6}.lu-list-track-line a{color:#56657a;text-underline-offset:4px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.lu-list-track-line .ant-typography-secondary,.lu-list-track-line .lu-track-meta{color:#8b98aa;font-size:13px}.lu-row-actions{justify-content:flex-end}.lu-row-actions .ant-btn{color:#2f7cf6;background:#eef3ff;border:0;border-radius:5px;height:36px;font-weight:600}.lu-list-pagination{justify-content:flex-end;padding:24px 0 8px;display:flex}.candidate-upload-modal .ant-modal-content{border-radius:12px;max-width:calc(100vw - 32px);min-height:82vh;padding:28px 34px}.candidate-upload-modal .ant-tabs-nav{margin-bottom:28px}.candidate-upload-modal .ant-tabs-tab{padding:8px 28px;font-size:20px}.candidate-upload-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:28px;display:grid}.candidate-upload-choice{color:#8a95a5;cursor:pointer;background:#fff;border:2px dashed #eef1f5;border-radius:10px;align-content:center;place-items:center;gap:16px;min-height:260px;display:grid}.candidate-upload-choice strong{color:#4b5563;font-size:24px}.candidate-upload-choice-icon{color:#4d8df7;font-size:56px}.candidate-upload-placeholder{color:#8a95a5;min-height:52vh;padding:48px}.email-ingest-panel{grid-template-columns:minmax(320px,.9fr) minmax(360px,1fr);align-items:center;gap:48px;min-height:52vh;padding:48px 64px;display:grid}.email-ingest-visual{gap:24px;padding:24px 0;display:grid;position:relative}.email-ingest-visual:before{content:"";background:linear-gradient(#22c7bd,#e4eaf1);border-radius:999px;width:2px;position:absolute;top:48px;bottom:48px;left:17px}.email-ingest-step{z-index:1;color:#728094;align-items:center;gap:16px;font-size:16px;display:flex;position:relative}.email-ingest-step span{background:#fff;border:8px solid #eef4f8;border-radius:50%;width:36px;height:36px;box-shadow:0 0 0 1px #d8e2ea}.email-ingest-step.is-active span{background:#22c7bd;border-color:#22c7bd33;animation:1.1s ease-in-out infinite email-ingest-pulse;box-shadow:0 0 0 8px #22c7bd1a}.email-ingest-step.is-active strong{color:#182230}.email-ingest-status{gap:18px;display:grid}.email-ingest-status h4.ant-typography{color:#182230;margin:0;font-size:24px}.email-ingest-progress{background:#edf2f7;border-radius:999px;height:10px;overflow:hidden}.email-ingest-progress span{border-radius:inherit;background:linear-gradient(90deg,#22c7bd,#2f7cf6);width:0;height:100%;transition:width .3s;display:block}.email-ingest-stats{flex-wrap:wrap;gap:10px;display:flex}.email-ingest-stats .ant-tag{border-radius:6px;margin:0;padding:5px 10px;font-size:14px}@keyframes email-ingest-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media (max-width:900px){.email-ingest-panel{grid-template-columns:1fr;gap:28px;padding:32px 20px}}.candidate-detail-modal{max-width:none;padding-bottom:0;top:40px;width:calc(100vw - 240px)!important;margin:0 80px 0 160px!important}.candidate-detail-modal .ant-modal-content{background:#fff;border-radius:28px;width:100%;max-width:none;height:calc(100vh - 80px);padding:0;overflow:hidden;box-shadow:0 24px 70px #1f29372e}.candidate-detail-modal .ant-modal-body{height:100%;padding:0}.candidate-detail-modal .ant-modal-close{display:none}.candidate-detail-modal .lu-detail-page{background:#fff;border-radius:28px;height:100%;min-height:0;margin:0;padding:0}.candidate-detail-modal .lu-detail-shell{max-width:none;height:100%;min-height:0;box-shadow:none;background:#fff;border:0;border-radius:28px;flex-direction:column;margin:0;display:flex;overflow:hidden}.candidate-detail-modal .lu-detail-body{background:#f7f8fa;flex-direction:column;flex:1;min-height:0;padding:20px 28px 28px;display:flex;overflow:hidden}.candidate-detail-modal .lu-detail-content-grid{flex:1;grid-template-columns:minmax(0,1fr) 220px;min-height:0}.candidate-detail-modal .lu-detail-page.is-compact .lu-talent-card{opacity:0;pointer-events:none;min-height:0;max-height:0;margin:0;padding-top:0;padding-bottom:0;overflow:hidden}.candidate-detail-modal .lu-detail-page.is-compact .lu-ai-bar{margin-top:0}.candidate-detail-modal .lu-main-panel,.candidate-detail-modal .lu-side-panel{min-height:0}.candidate-detail-modal .lu-side-panel{overflow:hidden}.candidate-detail-modal .lu-join-button{text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;height:38px;margin-bottom:14px;margin-left:auto;margin-right:auto;padding:0 10px;font-size:13px;display:flex;overflow:hidden;width:190px!important}.candidate-detail-modal .lu-note-card{min-height:210px}.candidate-detail-modal .lu-note-card textarea{height:158px;padding:14px;font-size:13px}.candidate-detail-modal .lu-note-footer{padding:0 10px 10px}.candidate-detail-modal .lu-resume-tabs{flex-direction:column;height:100%;min-height:0;display:flex}.candidate-detail-modal .lu-resume-tabs>.ant-tabs-content-holder{flex:1;min-height:0;overflow:auto}.candidate-detail-modal .candidate-detail-pager{display:none}.candidate-detail-modal .candidate-detail-page-button{z-index:1200;-webkit-backdrop-filter:blur(20px);cursor:pointer;font-size:16px;position:fixed;top:50%;transform:translateY(-50%);box-shadow:0 4px 16px #0000000a;color:#4b5563!important;background:#ffffff73!important;border:1px solid #00000014!important;border-radius:50%!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:0!important;transition:all .25s!important;display:inline-flex!important}.candidate-detail-page-button svg{transition:transform .2s}.candidate-detail-page-button.is-left{left:110px}.candidate-detail-page-button.is-right{right:30px}.candidate-detail-page-button:hover:not(:disabled){box-shadow:0 6px 20px #00000014;color:#111!important;background:#ffffffbf!important;border-color:#00000026!important}.candidate-detail-page-button.is-left:hover:not(:disabled) svg{transform:translate(-2px)}.candidate-detail-page-button.is-right:hover:not(:disabled) svg{transform:translate(2px)}.candidate-detail-page-button:disabled{opacity:0;pointer-events:none}.candidate-detail-pager .ant-btn{border-radius:999px;width:38px;height:38px}.candidate-detail-pager{margin-right:10px}.lu-standard-date{float:right;color:#667085}@media (max-width:1200px){.lu-resume-row{grid-template-columns:28px 310px minmax(380px,1fr) 190px}.lu-list-track-line{grid-template-rows:auto auto;grid-template-columns:18px auto 1fr}.lu-list-track-line .lu-track-empty{display:none}.lu-list-track-line .lu-track-meta{grid-area:2/2/auto/-1}.lu-list-track-line .anticon{grid-area:1/1}.lu-list-track-line .lu-track-name{grid-area:1/2}.lu-list-track-line .lu-track-title{grid-area:1/3}}.candidate-dedup-alert{margin-bottom:12px}.jd-version-stack{gap:16px;display:grid}.jd-generator-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start;gap:16px;display:grid}.jd-compliance-alert{margin-bottom:12px}.jd-meta{margin-bottom:8px}.jd-preview{border:1px solid var(--border);color:#1f2937;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border-radius:8px;min-height:520px;max-height:720px;margin:0;padding:16px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.7;overflow:auto}.planned-badge{background:var(--soft-blue);min-width:38px;height:18px;color:var(--action-blue);vertical-align:middle;border-radius:4px;place-items:center;margin-left:6px;font-size:11px;font-weight:600;line-height:1;display:inline-grid}.job-management-page,.pipeline-page,.interview-page{--workspace-title-size:24px;--workspace-title-line-height:30px;--workspace-subtitle-size:15px;--workspace-control-size:14px;--workspace-card-title-size:16px;--workspace-meta-size:13px;--workspace-small-size:12px;min-height:100vh;font-size:var(--workspace-control-size);background:#fff;margin:-24px}.job-management-page{padding:26px 26px 40px}.job-management-header,.pipeline-header,.interview-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.job-management-header h2,.lu-list-header h2,.pipeline-header h1,.pipeline-header h2,.interview-title-row h1,.interview-title-row h2,.offers-page header h2,.reports-page header h2,.knowledge-base-page header h2,.settings-header h2{color:var(--foreground)!important;font-size:var(--workspace-title-size)!important;font-weight:700!important;line-height:var(--workspace-title-line-height)!important;letter-spacing:0!important;margin:0!important}.pipeline-header h1,.pipeline-header h2,.interview-title-row h1,.interview-title-row h2,.offers-page header h2,.reports-page header h2,.knowledge-base-page header h2{margin-bottom:6px!important}.job-header-search{width:260px}.job-status-tabs{gap:42px;margin:22px 0 14px;display:flex}.job-status-tabs button{height:26px;color:var(--text-secondary);font-size:var(--workspace-control-size);cursor:pointer;background:0 0;border:0;border-radius:4px}.job-status-tabs button.is-active{background:var(--soft-teal);min-width:42px;color:var(--brand);font-weight:700}.job-filter-row,.job-filter-chips{align-items:center;gap:12px;display:flex}.job-filter-row{justify-content:space-between;margin-bottom:16px}.job-filter-chip{min-width:118px;height:30px;color:var(--muted);font-size:var(--workspace-control-size);cursor:pointer;background:#f4f7f9;border:0;border-radius:4px;align-items:center;gap:10px;display:inline-flex}.job-filter-chip .filter-close{color:var(--text-secondary)}.job-filter-select{width:152px}.job-card-list{gap:14px;display:grid}.job-management-card{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) 180px;gap:24px;min-height:114px;padding:16px 20px 12px;display:grid}.job-card-title{align-items:center;gap:8px;margin-bottom:12px;display:flex}.job-card-title strong{color:var(--foreground);font-size:var(--workspace-card-title-size);line-height:22px}.job-title-link{color:var(--foreground);font-size:var(--workspace-card-title-size);font-weight:700;line-height:22px;text-decoration:none}.job-title-link:hover{color:var(--action-blue)}.job-card-title .ant-typography-secondary{font-size:var(--workspace-meta-size)}.job-card-meta{color:var(--text-secondary);font-size:var(--workspace-meta-size);grid-template-columns:1fr 1fr 1fr 1fr;gap:8px 34px;margin:0;display:grid}.job-card-meta div{grid-template-columns:auto minmax(0,1fr);display:grid}.job-card-meta dt,.job-card-meta dd{margin:0}.job-card-meta dd{color:var(--foreground)}.job-card-counters{border-top:1px solid #eef1f5;gap:10px;margin-top:16px;padding-top:10px;display:flex}.job-card-counters span{height:20px;color:var(--text-secondary);font-size:var(--workspace-small-size);background:#f1f6f8;border-radius:3px;padding:2px 8px}.job-card-actions{flex-direction:column;justify-content:space-between;align-items:flex-end;display:flex}.job-board-link{color:var(--brand);font-size:var(--workspace-meta-size)}.pipeline-page{grid-template-columns:280px minmax(0,1fr);align-items:stretch;display:grid;overflow:visible}.pipeline-sidebar{border-right:1px solid var(--border);min-height:100vh;padding:28px 22px;overflow-y:auto}.pipeline-job-select{background:var(--soft-teal);width:100%;height:54px;color:var(--brand);font-size:var(--workspace-card-title-size);cursor:pointer;border:0;border-radius:6px;justify-content:space-between;align-items:center;font-weight:700;display:flex}.pipeline-job-search{height:44px;margin-top:12px}.pipeline-sidebar-title{color:var(--text-secondary);font-size:var(--workspace-meta-size);margin-top:24px;font-weight:700;display:block}.pipeline-job-list{gap:20px;margin-top:14px;display:grid}.pipeline-job-list button{color:var(--foreground);font-size:var(--workspace-control-size);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:16px;display:flex}.pipeline-job-list button span{background:var(--primary);border-radius:999px;width:5px;height:16px}.pipeline-job-list button.is-active{color:var(--brand);font-weight:700}.pipeline-main{min-width:0;padding:38px 32px 28px;overflow:visible}.pipeline-summary{color:var(--text-secondary);font-size:var(--workspace-control-size);margin-top:22px}.pipeline-summary span{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.pipeline-summary strong{font-size:var(--workspace-card-title-size)}.pipeline-board-scroll{height:auto;margin-top:30px;padding-bottom:16px;overflow:auto}.pipeline-board{grid-template-columns:repeat(4,minmax(250px,1fr));gap:16px;min-width:1048px;display:grid}.pipeline-column{background:#f4f7f8;border-radius:8px;min-height:calc(100vh - 270px);padding:18px 10px}.pipeline-column>header{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:0 10px 14px;display:grid}.pipeline-column>header strong{font-size:var(--workspace-card-title-size);line-height:22px}.pipeline-column>header>span:not(.ant-typography){border:1px solid var(--border);min-width:44px;height:30px;color:var(--text-secondary);background:#fff;border-radius:999px;place-items:center;font-weight:700;display:inline-grid}.pipeline-column>header .ant-typography{color:var(--foreground);font-size:var(--workspace-card-title-size);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:22px;overflow:hidden}.pipeline-column-body{gap:12px;max-height:none;padding:0 4px;display:grid;overflow-y:auto}.pipeline-card{border:1px solid var(--border);cursor:grab;background:#fff;border-radius:8px;padding:18px}.pipeline-card:active{cursor:grabbing}.pipeline-card-head,.pipeline-name-line{align-items:center;display:flex}.pipeline-card-head{gap:16px}.pipeline-avatar-wrap{position:relative}.pipeline-avatar{background:linear-gradient(135deg, var(--primary), var(--brand));color:#fff;font-size:26px;font-weight:800}.pipeline-gender{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:grid;position:absolute;bottom:-4px;right:-4px}.pipeline-gender.female{background:var(--coral)}.pipeline-gender.male{background:var(--action-blue)}.pipeline-name-line{gap:12px}.pipeline-name-line strong{font-size:var(--workspace-card-title-size);line-height:22px}.pipeline-name-line .ant-typography-secondary{font-size:var(--workspace-meta-size)}.pipeline-tag{color:var(--text-secondary);background:#f1f6f8;margin-top:8px}.pipeline-card-lines{gap:8px;margin:18px 0;display:grid}.pipeline-card-lines p{min-width:0;color:var(--text-secondary);font-size:var(--workspace-meta-size);align-items:center;gap:10px;margin:0;display:flex}.pipeline-card-lines a{border-bottom:1px dashed var(--action-blue);max-width:190px;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pipeline-icon-box,.pipeline-edu-icon{background:#8996a6;border-radius:3px;flex:none;width:16px;height:14px}.pipeline-edu-icon{clip-path:polygon(50% 0,100% 30%,50% 60%,0 30%)}.pipeline-card-actions{border-top:1px solid #eef1f5;flex-wrap:wrap;gap:4px 8px;margin:14px -12px -14px;padding-top:8px;display:flex}.pipeline-card-actions .ant-btn{font-size:var(--workspace-small-size);flex:none;padding-inline:2px}.pipeline-card-actions .planned-badge{min-width:30px;margin-left:3px;font-size:10px}.pipeline-list-table{margin-top:34px}.interview-page{min-height:100vh;padding:58px 54px 0;overflow-x:clip}.interview-header{align-items:center}.interview-title-row{align-items:baseline;gap:28px;display:flex}.interview-title-row>span.ant-typography{color:var(--text-secondary);font-size:var(--workspace-subtitle-size);line-height:22px}.interview-count{color:var(--brand);font-weight:700}.interview-filters{grid-template-columns:repeat(4,minmax(190px,1fr));gap:28px 24px;margin-top:42px;display:grid}.interview-filter{color:var(--text-secondary);font-size:var(--workspace-control-size);grid-template-columns:76px minmax(110px,1fr) auto;align-items:center;gap:10px;display:grid}.interview-filter .ant-select{width:100%}.interview-week-toolbar{justify-content:space-between;align-items:center;margin-top:44px;display:flex}.interview-range-switch{border:1px solid var(--border);border-radius:4px;display:flex;overflow:hidden}.interview-range-switch button{min-width:64px;height:42px;color:var(--text-secondary);font-size:var(--workspace-control-size);cursor:pointer;background:#fff;border:0}.interview-range-switch button.is-active{border:1px solid var(--primary);background:var(--soft-teal);color:var(--brand)}.interview-week-grid{margin:34px -54px 0}.interview-week-days,.interview-week-body{grid-template-columns:repeat(7,minmax(140px,1fr));display:grid}.interview-week-days{border-bottom:1px solid var(--border);align-items:center;height:64px;box-shadow:0 3px 8px #1f293714}.interview-week-days strong{font-size:var(--workspace-card-title-size);padding-left:34px;line-height:22px}.interview-week-body{min-height:calc(100vh - 472px)}.interview-week-body>div{border-right:1px solid var(--border);position:relative}.interview-week-body>div:first-child{border-left:1px solid var(--border)}.interview-week-body>div.is-today{background:#f1f6f8}.interview-calendar-card{border-left:5px solid var(--primary);background:var(--soft-teal);border-radius:6px;width:min(230px,100%);min-height:80px;padding:14px 18px;position:absolute;top:0;left:0}.interview-calendar-card span{font-size:var(--workspace-control-size);line-height:22px;display:block}.interview-list-view{margin-top:48px}.interview-section-title{align-items:center;gap:18px;margin-bottom:34px;display:flex}.interview-section-title h3{font-size:var(--workspace-card-title-size);margin:0;line-height:22px}.interview-section-title.is-collapsed{margin-top:34px}.interview-table{border-radius:8px;overflow:hidden}.interview-table-head,.interview-table-row{grid-template-columns:2.4fr 1fr 1.2fr 1.4fr 1.4fr 1fr 1fr 1fr 1.8fr;align-items:center;gap:18px;display:grid}.interview-table-head{height:58px;color:var(--muted);font-size:var(--workspace-control-size);background:#f4f7f8;padding:0 30px}.interview-table-row{border-bottom:1px solid var(--border);min-height:88px;color:var(--text-secondary);font-size:var(--workspace-control-size);padding:0 30px}.interview-table-row>span:first-child{color:#364153;align-items:center;gap:8px;display:flex}.interview-table-row>span:last-child{align-items:center;gap:10px;display:flex}.settings-page{max-width:1480px;margin:0 auto}.settings-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.settings-header h2{color:var(--brand);margin:0 0 6px;font-size:24px;line-height:30px}.settings-tabs{margin-bottom:18px}.settings-grid{grid-template-columns:310px minmax(0,1fr);align-items:start;gap:16px;display:grid}.settings-section-list{gap:12px;display:grid}.settings-mini-card,.settings-panel{border-color:var(--border);border-radius:14px}.settings-mini-card{border:1px solid var(--border);width:100%;color:inherit;cursor:pointer;text-align:left;background:#fff;gap:8px;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.settings-mini-card:hover,.settings-mini-card.is-active{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 10px 26px #13b8b11f}.settings-mini-card .anticon,.settings-panel .ant-card-head-title .anticon{color:var(--brand)}.settings-mini-card ul{color:var(--text-secondary);margin:12px 0 0;padding-left:18px;font-size:13px;line-height:1.8}.settings-main{gap:16px;display:grid}.settings-panel .ant-card-head-title{font-weight:700}.settings-alert{margin-bottom:16px}.settings-status-row{color:var(--text-secondary);flex-wrap:wrap;gap:10px 18px;margin-bottom:16px;display:flex}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.settings-switches{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-config-summary{gap:16px;display:grid}.settings-config-summary h4{margin:4px 0 0}.settings-summary-grid,.settings-dingtalk-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-summary-grid span,.settings-dingtalk-map span{color:var(--text-secondary);background:#f8fcfb;border:1px solid #e6f4f1;border-radius:10px;gap:4px;padding:12px;font-size:12px;display:grid}.settings-summary-grid strong,.settings-dingtalk-map strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:14px}.settings-dingtalk-guide{background:linear-gradient(135deg,#f7fffd,#fff);border:1px solid #d8f1ed;border-radius:14px;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:16px;margin-bottom:16px;padding:16px;display:grid}.settings-dingtalk-guide ol{color:var(--text-secondary);margin:8px 0 0;padding-left:20px;line-height:1.8}@media (max-width:920px){.dashboard-header{padding:0 16px}.dashboard-page-heading{flex-direction:column;align-items:flex-start}.dashboard-grid,.job-summary-grid,.candidate-summary-grid,.job-profile-form-grid,.candidate-info-grid{grid-template-columns:1fr}.candidate-resume-identity,.candidate-resume-header,.candidate-ai-report-full{flex-direction:column}.candidate-resume-workbench{grid-template-columns:1fr}.candidate-attachment-rail,.candidate-original-viewer{min-height:auto}.job-detail-grid,.candidate-detail-grid,.jd-generator-grid{grid-template-columns:1fr}.jobs-filter-select,.jobs-keyword,.candidates-filter-select,.candidates-keyword{width:100%}.settings-grid,.settings-form-grid,.settings-summary-grid,.settings-dingtalk-guide,.settings-dingtalk-map,.login-shell{grid-template-columns:1fr}.login-page{padding:16px}.login-copy{padding:24px}}.tp-root{color:#1e293b;flex-direction:column;gap:28px;max-width:1150px;margin:0 auto;display:flex}.tp-title{text-align:center;margin-bottom:8px}.tp-h1{color:#0f172a;margin:0;font-size:28px;font-weight:700}.tp-divider{background:#13b8b1;border-radius:2px;width:80px;height:3px;margin:12px auto}.tp-subtitle{color:#64748b;letter-spacing:.1em;margin:0;font-size:13px}.tp-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d}.tp-card-header{align-items:center;padding:16px 24px;font-size:16px;font-weight:700;display:flex}.tp-card-header.header-rose{color:#e11d48;background:#fff5f5;border-left:5px solid #e11d48}.tp-card-header.header-teal{color:#0d9488;background:#f0fdfa;border-left:5px solid #0d9488}.tp-card-header.header-green{color:#16a34a;background:#f0fdf4;border-left:5px solid #16a34a}.tp-card-header.header-violet{color:#7c3aed;background:#f5f3ff;border-left:5px solid #7c3aed}.tp-card-header.header-slate{color:#334155;background:#f1f5f9;border-left:5px solid #334155}.tp-card-body{padding:24px}.tp-grid-2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.tp-column{border-radius:12px;flex-direction:column;gap:12px;padding:20px;display:flex}.tp-column-gen{color:#047857;background:#ecfdf566;border:1px solid #d1fae5}.tp-column-exc{color:#b45309;background:#fffbeb66;border:1px solid #fef3c7}.tp-column-title{border-bottom:1px solid #0000000f;margin-bottom:8px;padding-bottom:8px;font-size:15px;font-weight:700}.tp-column-gen .tp-column-title{color:#065f46;border-color:#10b98126}.tp-column-exc .tp-column-title{color:#92400e;border-color:#f59e0b26}.tp-section-subtitle{margin:8px 0 4px;font-size:13px;font-weight:700}.tp-column-gen .tp-section-subtitle{color:#047857}.tp-column-exc .tp-section-subtitle{color:#b45309}.tp-ul{margin:0;padding:0;list-style:none}.tp-ul li{color:#334155;margin-bottom:6px;padding-left:14px;font-size:13px;line-height:1.6;position:relative}.tp-ul li:before{content:"•";font-weight:700;position:absolute;top:0;left:0}.tp-column-gen .tp-ul li:before{color:#10b981}.tp-column-exc .tp-ul li:before{color:#f59e0b}.tp-cycle{color:#475569;vertical-align:middle;background:#e2e8f0;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:11px;display:inline-block}.tp-vdim{color:#ea580c;vertical-align:middle;margin-left:6px;font-size:11px;font-weight:600}.tp-table-wrap{width:100%;overflow-x:auto}.tp-compare-table{border-collapse:collapse;table-layout:fixed;width:100%}.tp-compare-table th,.tp-compare-table td{vertical-align:middle;word-break:break-word;border:1px solid #e2e8f0;padding:14px 16px;font-size:13px;line-height:1.6}.tp-compare-table th{color:#475569;text-align:center;background:#f8fafc;font-weight:700}.tp-compare-table td.tp-label{color:#475569;text-align:center;background:#f8fafc;font-weight:600}.tp-compare-table td.cell-gen{color:#047857;background:#ecfdf526}.tp-compare-table td.cell-exc{color:#b45309;background:#fffbeb26}.tp-salary-struct{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;font-weight:700}.tp-money{text-align:center;font-variant-numeric:tabular-nums}.tp-strong{font-weight:700}.tier-gen{color:#047857;text-align:center;background:#ecfdf54d;font-weight:700}.tier-exc{color:#b45309;text-align:center;background:#fffbeb4d;font-weight:700}.tp-radar-cell{text-align:center;flex-direction:column;align-items:center;padding:16px;display:flex}.tp-radar-scores-table{border-collapse:collapse;width:100%;max-width:320px;margin:12px auto 0;font-size:11px}.tp-radar-scores-table th,.tp-radar-scores-table td{text-align:center;border:1px solid #e2e8f0;padding:5px 6px}.tp-radar-scores-table th{color:#475569;background:#f8fafc;font-weight:700}.tp-remark{text-align:center;color:#94a3b8;padding-top:8px;font-size:12px}
