/* Compact career board and focused mail inbox, using the existing Qinghe palette. */
.career-page .career-summary { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.career-page .career-summary article { display:flex; align-items:baseline; gap:7px; padding:8px 12px; border-radius:8px; }
.career-page .career-summary strong { font-size:20px; }
.career-page .career-board { gap:10px; }
.career-page .career-company-group { border-radius:12px; box-shadow:none; }
.career-page .career-company-group > summary { min-height:62px; padding:10px 14px; gap:12px; }
.career-page .career-company-group > summary > span:first-child { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; }
.career-page .career-company-group > summary strong { font-size:19px; }
.career-page .career-company-positions { padding:8px; gap:8px; background:#f8faf5; }
.career-page .career-record { padding:14px 16px; margin:0; border-radius:8px; }
.career-page .career-record-head { padding-bottom:10px; margin-bottom:10px; gap:12px; }
.career-page .career-record-head h3 { font-size:18px; margin:0 0 5px; }
.career-page .career-record-head p { margin:3px 0; font-size:12px; }
.career-page .career-record-actions { gap:7px; }
.career-page .career-record-actions button { padding:7px 10px; min-height:34px; font-size:12px; }
.career-page .career-application-link { display:inline-block; margin-top:5px; color:var(--brand); font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.career-page .process-empty { min-height:0; padding:12px; gap:10px; font-size:13px; }
.career-page .process-empty-actions .add-process-node { display:none; }
.career-page .process-empty-actions button { padding:6px 9px; min-height:32px; font-size:12px; }
.career-page .process-flow { margin-top:0; }
/* Use the original circular timeline and its mobile layout from career.css. */
.career-page .process-stepper { padding:8px 0 4px; margin:0; max-width:100%; }
.career-page .process-node-marker { margin-bottom:10px; }
.career-page .process-node-copy { min-width:0; }
.career-page .process-node-tools { gap:4px; }
.career-page .process-node-tools button { min-height:24px; padding:2px 6px; font-size:11px; }
.career-page .process-node:focus-within .process-node-tools { opacity:1; }
body .career-page #recordsPanel > .section-title { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
body .career-page #recordsPanel > .section-title h2 { margin:0; }
body .career-page #recordsPanel > .section-title .section-title-actions { margin:0; }
.career-page .process-node-additional { margin-top:4px; }
.career-page .process-node-additional button { padding:4px 8px; min-height:30px; font-size:12px; }
.career-page .is-closed { background:#f2f3f1; border-color:#daddd7; }
.career-page .is-closed > summary { background:#eeefec; border-left-color:#a9aea5; }
.career-page .is-closed h3,.career-page .is-closed > summary strong { color:#70796b; }
.career-page .is-closed .career-company-statuses em { background:#e5e8e2; color:#66705f; border-color:#d0d6cb; }
.career-page .is-pinned > summary { border-left-color:#769351; }
.career-page .pin-company { color:#57733f; white-space:nowrap; font-size:12px; min-height:34px; padding:6px; }
.email-inbox-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.email-inbox-heading h2 { margin:6px 0; font:26px var(--display); }
.email-inbox-heading p { margin:6px 0; }
.email-connection-disclosure { border:1px solid #d9e2d1; border-radius:12px; background:#f5f8ef; margin-bottom:20px; }
.email-connection-disclosure > summary { cursor:pointer; display:flex; justify-content:space-between; gap:12px; padding:16px 18px; color:#315c44; font-weight:600; }
.email-connection-disclosure > summary small { font-weight:400; }
.email-connection-disclosure .email-settings { margin:0; border:0; background:transparent; }
.email-inbox-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.email-inbox-toolbar label { display:flex; align-items:center; gap:8px; font-size:13px; }
.email-inbox-toolbar select { width:auto; padding:7px 10px; }
#emailEventCount,#emailWorkerStatus { font-size:12px; color:#697663; }
.career-page .email-events { display:grid; gap:16px; }
.career-page .email-event { display:block; padding:20px; border:1px solid #dce4d5; border-radius:14px; background:#fff; box-shadow:none; }
.email-event-heading { display:flex; justify-content:space-between; gap:12px; align-items:start; margin-bottom:18px; }
.email-event-heading h3 { margin:7px 0; font:22px var(--display); }
.email-event-heading p { margin:0; color:#728069; font-size:12px; }
.email-event-kind { display:inline-block; padding:4px 9px; border-radius:6px; background:#eef4e8; color:#40613a; font-size:12px; }
.email-event-state { font-size:12px; color:#82703d; padding:5px 9px; background:#faf4e7; border-radius:99px; white-space:nowrap; }
.email-match-block { padding:16px; margin-bottom:18px; background:#f5f8f1; border-radius:10px; }
.email-match-block label { display:grid; gap:10px; }
.email-match-block select { width:100%; min-width:0; }
.email-match-block select,.email-event-fields input,.email-event-fields select { padding:9px 10px; min-height:40px; border:1px solid #d8e0d1; border-radius:8px; background:#fafbf7; color:#31513f; font:inherit; }
.email-event-form { min-width:0; }
.email-match-hint,.email-link-preview { font-size:12px; line-height:1.7; margin:9px 0 0; color:#6c7963; }
.email-link-preview:empty { display:none; }
.email-link-preview { color:#346148; font-weight:600; }
.email-review-title { margin:0 0 12px; font-size:14px; }
.email-event-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.email-event-fields label { min-width:0; font-size:12px; display:grid; gap:6px; }
.email-event-fields input,.email-event-fields select { min-width:0; width:100%; box-sizing:border-box; }
.email-original-details { margin:16px 0; border-top:1px solid #e4e9df; padding-top:12px; }
.email-original-details summary { cursor:pointer; color:#6e7e62; font-size:12px; }
.email-event-actions,.email-event-result { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.email-event-result { font-size:13px; flex-wrap:wrap; }
.email-event.ignored { background:#f5f6f3; }
.email-event.confirmed .email-event-state { background:#edf4e9; color:#4c7441; }
.email-inbox-empty { padding:36px 20px; text-align:center; background:#fafbf7; border:1px dashed #cddac0; border-radius:14px; }
.email-inbox-empty > span { font-size:34px; color:#7f9c6b; }
.email-inbox-empty h3 { font:22px var(--display); margin:10px 0; }
.email-inbox-empty p { font-size:13px; color:#6b7b61; }
@media(max-width:700px) {
 .career-page .career-company-group > summary { flex-wrap:wrap; gap:6px; }
 .career-page .career-company-group > summary strong { font-size:17px; }
 .career-page .career-company-statuses { width:auto; order:0; }
 .career-page .career-record { padding:12px; }
 .career-page .career-record-head { flex-direction:column; align-items:stretch; }
 .career-page .career-record-actions { flex-wrap:wrap; flex-direction:row; }
 .career-page .career-record-actions button { width:auto; }
 .email-event-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .email-connection-disclosure > summary { flex-direction:column; }
 .email-inbox-heading { align-items:start; flex-direction:column; }
 .career-page .email-event { padding:14px; }
 .email-inbox-heading h2 { font-size:23px; }
 .email-event-actions { flex-wrap:wrap; }
}
@media(max-width:400px) { .email-event-fields { grid-template-columns:1fr; } }

.career-page .career-company-group > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; justify-content: normal; column-gap: 18px; }
.career-page .career-company-group > summary::after { display: none; content: none; }
.career-page .career-company-group > summary > .career-company-name { min-width: 0; gap: 8px; }
.career-page .career-company-name strong { min-width: 0; overflow-wrap: anywhere; }
.career-page .career-company-name small { white-space: nowrap; }
.career-page .career-company-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin: 0; }
.career-page .career-company-actions .career-company-statuses { width: auto; margin: 0; order: 0; gap: 6px; }
.career-page .career-company-actions button { margin: 0; white-space: nowrap; }
.career-page .career-company-actions .delete-company-record { margin: 0; }
.career-page .career-group-toggle { white-space: nowrap; color: var(--brand); font-size: 12px; font-weight: 700; }
.career-page .career-group-toggle::before { content: "展开岗位"; }
.career-page .career-company-group[open] .career-group-toggle::before { content: "收起岗位"; }
.record-removal-list { display: grid; gap: 12px; max-height: 55vh; overflow-y: auto; }
.record-removal-list article { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line, #e5e7eb); border-radius: 8px; overflow-wrap: anywhere; }
.record-removal-list small { color: var(--muted, #667085); }
.career-page .career-record-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: stretch; padding: 14px; }
.career-page .career-record-toolbar .career-search { display: flex; align-items: center; gap: 8px; width: 100%; max-width: 620px; min-width: 0; margin: 0; }
.career-page .career-search input { flex: 1; width: 0; min-width: 0; padding: 9px 12px; border: 1px solid var(--line, #d9dee5); border-radius: 7px; font: inherit; }
.career-page .career-search button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.career-page .career-search button[hidden] { display: none; }
.career-page .career-record-options { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; min-width: 0; }
.career-page #careerRecordTotal { flex: 0 0 auto; margin-right: auto; font-size: 13px; line-height: 1.6; white-space: nowrap; }
.career-page .career-record-filters { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px; margin-left: auto; }
.career-page .career-record-filters label { flex: 0 0 auto; white-space: nowrap; gap: 8px; }
.career-page .career-record-filters label > span { flex-shrink: 0; white-space: nowrap; }
.career-page .career-record-filters select { width: auto; min-width: 132px; }
.career-page .career-pagination { margin: 18px 0 0; padding: 16px 0 4px; border-top: 1px solid var(--line); gap: 8px; }
.career-page .career-pagination .page-total { margin: 0; }
.career-page .career-pagination .career-page-info { flex-basis: 100%; margin: 0 0 4px; color: var(--muted); text-align: center; font-size: 12px; }
.career-page .career-page-size { display: inline-flex; align-items: center; gap: 6px; margin-right: 8px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.career-page .career-page-size select { min-height: 38px; padding: 6px 22px 6px 8px; width: auto; border: 1px solid var(--brand-line, var(--line-strong)); border-radius: 4px; background: white; color: var(--ink); }
.career-page .career-page-size span { min-width: 0; }
.career-page .career-pagination .career-page-edge { min-width: 36px; min-height: 38px; padding: 7px 10px; border: 1px solid var(--brand-line, var(--line-strong)); border-radius: 4px; background: white; color: var(--brand); }
.career-page .career-pagination .career-page-confirm { min-height: 38px; border-color: var(--brand); border-radius: 4px; background: var(--brand); color: white; }
.career-page .career-pagination .career-page-confirm:hover:not(:disabled) { border-color: var(--brand-strong); background: var(--brand-strong); color: white; }
.career-page .career-pagination :is(button, input, select):focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; box-shadow: none; border-color: var(--brand); }
.custom-record-paste { display: grid; gap: 8px; padding: 18px; border: 1px dashed var(--brand); border-radius: 9px; background: var(--brand-soft); color: var(--brand); }
.custom-record-paste span { font-size: 13px; color: var(--muted); }
.custom-record-paste button { justify-self: start; }
.custom-record-paste:focus-visible, .custom-record-scan :is(button, input, summary):focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; box-shadow: none; }
.custom-record-scan-preview { display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 0; }
.custom-record-scan-preview img { width: 90px; max-height: 100px; object-fit: contain; background: white; border: 1px solid var(--brand-line); border-radius: 5px; }
.custom-record-scan-preview figcaption { font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.custom-record-candidates { display: grid; gap: 10px; }
.custom-record-candidate { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--brand-line); border-radius: 9px; background: white; min-width: 0; }
.custom-record-candidate h3 { margin: 0; font-size: 16px; line-height: 1.5; }
.custom-record-candidate p, .custom-record-candidate summary { font-size: 13px; line-height: 1.7; color: var(--muted); }
.custom-record-candidate button { justify-self: start; }
.custom-record-candidate button[aria-pressed="true"] { background: var(--brand); color: white; border-color: var(--brand); }
.custom-record-candidate pre, .custom-record-scan-text { white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.7 var(--font); max-height: 190px; overflow-y: auto; }
.custom-record-scan > [hidden] { display: none; }
@media (max-width: 480px) { .custom-record-scan-preview { grid-template-columns: 72px minmax(0, 1fr); } .custom-record-scan-preview img { width: 72px; } .custom-record-scan-preview button { grid-column: 1 / -1; justify-self: start; } }
@media (max-width: 700px) {
 .career-page .career-company-group > summary { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
 .career-page .career-company-actions { width: 100%; gap: 8px; }
 .career-page .career-record-filters { flex-basis: 100%; margin: 0; justify-content: flex-start; }
 .career-page .career-record-filters label { justify-content: flex-start; }
 .career-page .career-page-size { flex-basis: 100%; margin: 0 0 6px; justify-content: center; }
}
@media (max-width: 480px) {
 .career-page .career-record-filters { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
 .career-page .career-record-filters label { justify-content: space-between; }
 .career-page .career-record-filters select { min-width: 0; width: 184px; max-width: calc(100% - 36px); }
 .career-page .career-pagination .career-page-edge { min-width: 30px; padding-inline: 7px; }
}

/* WEB-CAREER-03: compact screenshot entry and information-first manual form. */
.custom-record-scan {
 display: grid;
 gap: 8px;
 margin: 8px 0 14px;
 padding: 0;
 border: 0;
 background: transparent;
}
.custom-record-paste {
 position: relative;
 display: grid;
 place-content: center;
 justify-items: center;
 gap: 3px;
 min-height: 94px;
 padding: 16px 18px;
 border: 1px dashed var(--brand);
 border-radius: 9px;
 background: var(--brand-soft);
 color: var(--brand);
 cursor: pointer;
 text-align: center;
}
.custom-record-paste strong { font-size: 16px; line-height: 1.4; }
.custom-record-paste > span { font-size: 12px; color: var(--muted); }
.custom-record-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-right: 34px; margin-bottom: 12px; }
.custom-record-heading h2 { margin: 0; min-width: 0; }
.custom-record-file {
 position: static;
 flex-shrink: 0;
 min-height: 36px;
 padding: 7px 11px;
 border: 1px solid var(--brand-line);
 border-radius: 6px;
 background: white;
 color: var(--brand);
 font: inherit;
 font-size: 12px;
 font-weight: 700;
 cursor: pointer;
}
.custom-record-file:hover { border-color: var(--brand); background: #fff; }
.custom-record-scan-preview {
 display: grid;
 grid-template-columns: 70px minmax(0, 1fr) auto;
 align-items: center;
 gap: 9px;
 margin: 0;
 padding: 8px;
 border: 1px solid var(--brand-line);
 border-radius: 8px;
 background: white;
}
.custom-record-scan-preview img { width: 70px; height: 58px; max-height: none; object-fit: contain; }
.custom-record-scan-preview figcaption { min-width: 0; font-size: 11px; }
.custom-record-scan-preview > div { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 5px; }
.custom-record-scan-preview button { min-height: 32px; padding: 5px 9px; font-size: 12px; }
.custom-record-scan #customRecordScanStatus { padding: 7px 9px; font-size: 12px; }
.custom-record-candidates-hint { margin: 0; color: #8b5d1e; font-size: 12px; line-height: 1.6; }
.custom-record-candidates { gap: 6px; }
.custom-record-candidate { gap: 4px; padding: 9px 10px; border-radius: 7px; }
.custom-record-candidate.is-selected { border-color: var(--brand); background: var(--brand-soft); }
.custom-record-candidate-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.custom-record-candidate h3 { min-width: 0; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.custom-record-candidate p { margin: 0; font-size: 12px; line-height: 1.5; }
.custom-record-candidate button { flex: 0 0 auto; justify-self: auto; min-height: 32px; padding: 5px 10px; font-size: 12px; }
.custom-record-candidate details { margin-top: 1px; }
.custom-record-candidate summary,
#customRecordScanSource > summary { cursor: pointer; font-size: 11px; line-height: 1.5; color: var(--muted); }
#customRecordForm { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
#customRecordForm > label { grid-column: span 2; }
#customRecordForm > .custom-record-core { grid-column: span 3; }
#customRecordForm > .wide { grid-column: 1 / -1; }
.custom-record-more {
 overflow: hidden;
 border: 1px solid var(--line);
 border-radius: 8px;
 background: #fafbf7;
}
.custom-record-more > summary {
 display: flex;
 align-items: baseline;
 justify-content: space-between;
 gap: 10px;
 padding: 10px 12px;
 color: var(--brand);
 cursor: pointer;
 font-size: 13px;
 font-weight: 700;
}
.custom-record-more > summary span { color: var(--muted); font-size: 11px; font-weight: 400; }
.custom-record-more-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 2px 12px 12px; }
.custom-record-more-grid > label { min-width: 0; }
.custom-record-more-grid > .wide { grid-column: 1 / -1; }
.career-page .process-node.is-terminated .process-node-marker {
 border-color: var(--danger, #a3372e);
 background: white;
 color: var(--danger, #a3372e);
 box-shadow: none;
 font-size: 21px;
 line-height: 1;
}
.career-page .process-node.is-terminated .process-node-marker:hover { transform: scale(1.05); box-shadow: none; }

@media (max-width: 900px) {
 #customRecordForm { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 #customRecordForm > label,
 #customRecordForm > .custom-record-core { grid-column: span 1; }
 #customRecordForm > .wide { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
 .custom-record-paste { min-height: 94px; padding: 16px 12px; }
 .custom-record-heading { gap: 8px; padding-right: 28px; }
 .custom-record-heading h2 { font-size: 20px; }
 .custom-record-file { min-height: 32px; padding: 5px 8px; }
 .custom-record-scan-preview { grid-template-columns: 58px minmax(0, 1fr); }
 .custom-record-scan-preview img { width: 58px; height: 52px; }
 .custom-record-scan-preview > div { grid-column: 1 / -1; justify-content: flex-start; }
 #customRecordForm { grid-template-columns: minmax(0, 1fr); }
 #customRecordForm > label,
 #customRecordForm > .custom-record-core,
 #customRecordForm > .wide { grid-column: 1; }
 .custom-record-more-grid { grid-template-columns: minmax(0, 1fr); }
 .custom-record-more-grid > .wide { grid-column: 1; }
 .custom-record-more > summary { align-items: flex-start; flex-direction: column; gap: 2px; }
}
