:root{color:#172026;background:#f5f6f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}.app-shell{width:min(100%,900px);margin:0 auto;padding:18px}.topbar,.user-panel,.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.topbar{padding:18px 0 12px}.eyebrow{margin:0 0 6px;color:#69736f;font-size:12px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:28px;line-height:1.15}h2{margin-bottom:12px;font-size:20px;line-height:1.25}h3{margin-bottom:8px;font-size:15px}.status,.count,.tag{display:inline-flex;align-items:center;min-height:28px;border:1px solid #bac6c0;border-radius:8px;padding:4px 9px;color:#3f5b50;background:#fff;font-size:12px;font-weight:700;white-space:nowrap}.panel{margin-bottom:12px;border:1px solid #d9dfda;border-radius:8px;background:#fff;box-shadow:0 1px 2px #13281f0f;padding:16px}.quick-actions{display:grid;gap:14px}.page-nav-panel{padding:12px 16px}.page-nav{display:flex;flex-wrap:wrap;gap:10px}.profile-section-first{margin-top:0;padding-top:0;border-top:0}.quick-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-action-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;min-height:104px;border:1px solid #d9dfda;background:#f8fbf9;color:#172026;padding:14px;text-align:left}.quick-action-copy{display:grid;gap:6px;min-width:0}.quick-action-copy strong{display:block}.quick-action-copy small{color:#60706a;line-height:1.5}.panel p,.empty,.detail-list p,.job-item small{color:#626e68;line-height:1.55}.auth-panel{max-width:460px}.form-grid{display:grid;gap:13px}.form-grid label{display:grid;gap:6px;color:#365247;font-size:14px;font-weight:700}.form-grid input,.form-grid textarea,.form-grid select{width:100%;min-height:44px;border:1px solid #bac6c0;border-radius:8px;padding:10px 12px;color:#172026;background:#fff}.form-grid textarea{resize:vertical}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}button{min-height:44px;border:0;border-radius:8px;background:#176f5b;color:#fff;cursor:pointer;font-weight:750}button:disabled{cursor:not-allowed;opacity:.62}.secondary{border:1px solid #bac6c0;background:#fff;color:#365247;padding:0 14px}.danger{border-color:#efc4bf;color:#b42318}.tag.inactive{border-color:#d6dcd8;color:#6a746f;background:#f3f6f4}.error{margin-bottom:0;color:#b42318;font-weight:700}.banner{margin:0 0 12px;border:1px solid #f3b4ac;border-radius:8px;background:#fff4f2;padding:10px 12px}.workspace{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:12px}.job-list,.follow-up-list{display:grid;gap:10px}.user-card-list{display:grid;gap:12px;margin-top:14px}.user-card{display:grid;gap:12px;padding:14px;border:1px solid #d9dfda;border-radius:8px;background:#fbfcfa}.user-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.user-card-header strong{display:block;margin-bottom:4px}.follow-up-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:64px;border:1px solid #d9dfda;background:#fbfcfa;color:#172026;padding:10px 12px;text-align:left}.follow-up-card span:first-child{display:grid;gap:4px;min-width:0}.follow-up-card strong,.follow-up-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:68px;border:1px solid #d9dfda;background:#fbfcfa;color:#172026;padding:10px 12px;text-align:left}.job-item.active{border-color:#176f5b;background:#eef8f4}.job-item span:first-child{display:grid;gap:4px;min-width:0}.job-item strong,.job-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-panel{min-height:360px}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.meta-grid span{min-height:36px;border:1px solid #d9dfda;border-radius:8px;background:#fbfcfa;padding:8px 10px;color:#365247;font-size:13px}.detail-list{border-top:1px solid #edf0ed;padding-top:12px}.detail-list ul{display:grid;gap:8px;margin:0 0 12px;padding-left:18px;color:#273730}.profile-section{border-top:1px solid #edf0ed;margin-top:16px;padding-top:16px}.profile-section h3{margin-bottom:10px}.candidate-section{margin-top:14px}.candidate-list{display:grid;gap:12px}.candidate-card{border:1px solid #d9dfda;border-radius:8px;background:#fbfcfa;padding:14px}.candidate-card-select{margin-bottom:10px}.candidate-detail-panel{border-top:1px solid #edf0ed;margin-top:14px;padding-top:14px}.candidate-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.candidate-header div{display:grid;gap:4px}.candidate-header small{color:#626e68}.candidate-status-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:12px 0}.candidate-status-toolbar label{display:grid;gap:6px;color:#365247;font-size:13px;font-weight:700}.candidate-status-toolbar select{min-height:42px;border:1px solid #bac6c0;border-radius:8px;padding:9px 12px;background:#fff;color:#172026;font:inherit}.candidate-status-toolbar button{min-height:42px}.candidate-task-panel{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid #dfe7e1;border-radius:8px;background:#fff}.candidate-task-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.candidate-task-panel p{margin:0;color:#30413a;line-height:1.6}.candidate-bulk-toolbar{display:grid;grid-template-columns:auto auto minmax(180px,1fr) auto auto;gap:12px;align-items:end;margin-bottom:12px;padding:12px;border:1px solid #d9dfda;border-radius:8px;background:#f7faf8}.candidate-bulk-toolbar label{display:grid;gap:6px;color:#365247;font-size:13px;font-weight:700}.candidate-bulk-toolbar select{min-height:42px;border:1px solid #bac6c0;border-radius:8px;padding:9px 12px;background:#fff;color:#172026;font:inherit}.candidate-bulk-check{display:inline-flex!important;align-items:center;gap:8px}.candidate-bulk-check input{width:16px;height:16px}.message-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.message-toolbar label{display:grid;gap:6px;color:#365247;font-size:14px;font-weight:700}.message-toolbar select{min-height:44px;border:1px solid #bac6c0;border-radius:8px;padding:10px 12px;background:#fff;color:#172026;font:inherit}.message-toolbar textarea{width:100%;min-height:88px;border:1px solid #bac6c0;border-radius:8px;padding:10px 12px;background:#fff;color:#172026;resize:vertical}.candidate-filter-toolbar{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr)) auto;gap:12px;margin-bottom:12px;align-items:end}.candidate-stage-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}.candidate-execution-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.candidate-execution-card{display:grid;gap:10px;border:1px solid #d9dfda;border-radius:8px;padding:12px;background:#f8fbf9}.candidate-execution-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.candidate-execution-card p{margin:0;color:#60706a;font-size:13px;line-height:1.5}.candidate-execution-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.execution-hint{margin:0 0 12px;color:#60706a;font-size:13px;line-height:1.5}.candidate-stage-card{display:grid;gap:10px;min-height:110px;border:1px solid #d9dfda;border-radius:8px;padding:12px;background:#fbfcfa;text-align:left}.candidate-stage-card.active{border-color:#176f5b;background:#eef7f4;box-shadow:inset 0 0 0 1px #176f5b}.candidate-stage-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.candidate-stage-card p{margin:0;color:#60706a;font-size:13px;line-height:1.5}.candidate-filter-toolbar label{display:grid;gap:6px;color:#365247;font-size:14px;font-weight:700}.candidate-filter-toolbar input,.candidate-filter-toolbar select{min-height:44px;border:1px solid #bac6c0;border-radius:8px;padding:10px 12px;background:#fff;color:#172026;font:inherit}.candidate-filter-toolbar button{min-height:44px}.message-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.boss-desk-list{display:grid;gap:12px}.boss-desk-card{display:grid;gap:10px;padding:14px;border:1px solid #d9dfda;border-radius:8px;background:#f9fbfa}.boss-desk-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.boss-desk-summary,.boss-desk-message p,.boss-desk-empty p{margin:0;color:#24332d;line-height:1.6}.boss-desk-message,.boss-desk-empty{display:grid;gap:8px}.tag.urgent{border-color:#f0b8ae;color:#9a2f18;background:#fff4f2}.message-list{display:grid;gap:10px;margin-top:12px}.message-card{border:1px solid #d9dfda;border-radius:8px;background:#fff;padding:12px}.message-note{display:grid;gap:6px;margin-top:10px;color:#365247;font-size:13px;font-weight:700}.message-note input{width:100%;min-height:40px;border:1px solid #bac6c0;border-radius:8px;padding:9px 12px;color:#172026;background:#fff}.message-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;color:#365247;font-size:12px;font-weight:700}.interview-section{border-top:1px solid #edf0ed;margin-top:14px;padding-top:14px}.upload-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:8px;padding:0 14px;background:#176f5b;color:#fff;cursor:pointer;font-weight:750}.file-input{display:none}.resume-upload-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.resume-source-preset-row{display:flex;flex-wrap:wrap;gap:10px}.resume-file-name{font-size:13px;color:#60706a}.field-hint{display:block;margin-top:6px;color:#60706a;font-size:12px;line-height:1.5}.section-title.compact{margin-top:14px}.resume-file-list{display:grid;gap:10px;margin-top:14px}.resume-file-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e6ebe7;border-radius:8px;background:#f9fbfa}.interview-list{display:grid;gap:12px;margin-top:12px}.interview-card{border:1px solid #d9dfda;border-radius:8px;background:#fff;padding:12px}.interview-compare-panel{margin-top:12px;padding:14px;border:1px solid #d9dfda;border-radius:8px;background:#f7faf8}.interview-compare-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:12px}.interview-compare-card{display:grid;gap:10px;padding:12px;border:1px solid #dfe7e1;border-radius:8px;background:#fff}.interview-compare-card p{margin:0;color:#60706a;font-size:13px}.interview-score-list{display:grid;gap:8px}.interview-score-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid #edf1ee;font-size:13px;color:#44524d}.interview-score-row strong{color:#14231d}.timeline-list{display:grid;gap:10px;margin-top:12px}.timeline-item{border:1px solid #d9dfda;border-radius:8px;background:#fff;padding:12px}.timeline-item strong{display:block;margin-bottom:6px}.mobile-collapse{margin-top:12px;border:1px solid #d9dfda;border-radius:8px;background:#fff}.mobile-collapse summary{cursor:pointer;list-style:none;padding:12px 14px;color:#1f342c;font-weight:700}.mobile-collapse summary::-webkit-details-marker{display:none}.mobile-collapse summary:after{content:"展开";float:right;color:#60706a;font-size:12px;font-weight:700}.mobile-collapse[open] summary:after{content:"收起"}.mobile-collapse-body{border-top:1px solid #edf0ed;padding:0 14px 14px}@media(max-width:720px){.app-shell{padding:12px}.panel{padding:16px}.topbar h1{font-size:28px}.section-title h2{font-size:20px}.workspace,.two-col,.meta-grid,.message-toolbar,.candidate-filter-toolbar,.quick-action-grid,.candidate-execution-board,.candidate-status-toolbar,.candidate-bulk-toolbar{grid-template-columns:1fr}.topbar,.user-panel,.section-title,.page-nav{align-items:stretch}.topbar,.user-panel,.section-title,.page-nav{flex-direction:column;gap:8px}.user-card-header{flex-direction:column}.follow-up-card,.job-item,.candidate-header,.candidate-task-header,.boss-desk-header,.resume-file-card,.candidate-stage-header,.candidate-execution-header,.candidate-execution-toolbar,.quick-action-card{flex-direction:column;align-items:stretch}.follow-up-card,.job-item{min-height:auto}.follow-up-card strong,.follow-up-card small,.job-item strong,.job-item small{white-space:normal;overflow:visible;text-overflow:unset}.candidate-header .tag,.boss-desk-header .tag,.resume-file-card button,.candidate-status-toolbar button,.candidate-filter-toolbar button,.candidate-bulk-toolbar button{width:100%}.candidate-stage-board{grid-template-columns:1fr}.candidate-bulk-check{align-items:flex-start}.candidate-bulk-check span{line-height:1.4}.message-actions{flex-direction:column}.message-actions button,.message-actions .secondary,.upload-trigger{width:100%}.resume-upload-row,.resume-source-preset-row{flex-direction:column;align-items:stretch}.resume-file-card>div{min-width:0}.message-meta{gap:8px}.mobile-collapse summary{padding:11px 12px}.mobile-collapse-body{padding:0 12px 12px}}
