:root {
  --ink: #182230;
  --muted: #6f7c8e;
  --muted-2: #95a0af;
  --line: #e8edf3;
  --line-strong: #d9e0e9;
  --surface: #ffffff;
  --canvas: #f4f7fb;
  --blue: #2c68e8;
  --blue-soft: #edf3ff;
  --teal: #149d8a;
  --teal-soft: #e8f8f4;
  --amber: #c98720;
  --amber-soft: #fff5de;
  --red: #d85e61;
  --red-soft: #fff0f0;
  --shadow: 0 10px 30px rgba(31, 49, 74, 0.05);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
  color: var(--ink);
  background: var(--canvas);
  font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); }
button, input, select { font: inherit; }
button { cursor: pointer; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar { width: 248px; flex: 0 0 248px; background: #fbfcfe; border-right: 1px solid var(--line); display: flex; flex-direction: column; padding: 25px 16px 18px; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 10px 24px; }
.brand-mark { width: 32px; height: 32px; border-radius: 9px; color: #fff; background: #1f5ed9; display: grid; place-items: center; font-family: Georgia, serif; font-size: 20px; font-weight: 700; box-shadow: 0 6px 12px rgba(44, 104, 232, .2); }
.brand strong { display: block; font-size: 16px; letter-spacing: .02em; }
.brand span { display: block; color: var(--muted-2); font-size: 9px; margin-top: 3px; letter-spacing: .14em; }
.workspace-switcher { display: flex; align-items: center; gap: 10px; padding: 11px 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; margin-bottom: 25px; }
.workspace-avatar { width: 27px; height: 27px; border-radius: 8px; background: #dff0eb; color: #168b79; display: grid; place-items: center; font-weight: 700; font-size: 13px; }
.workspace-copy { min-width: 0; flex: 1; }
.workspace-copy strong, .workspace-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-copy strong { font-size: 12px; }
.workspace-copy span { font-size: 11px; color: var(--muted-2); margin-top: 3px; }
.chevron { color: var(--muted-2); font-size: 17px; line-height: 1; }
.nav-section-label { color: #a0aab8; font-size: 10px; letter-spacing: .12em; font-weight: 700; text-transform: uppercase; padding: 0 12px 9px; }
.settings-label { margin-top: 28px; }
.primary-nav { display: grid; gap: 3px; }
.nav-item { border: 0; background: transparent; width: 100%; display: flex; gap: 11px; align-items: center; padding: 10px 12px; border-radius: 8px; color: #657285; text-align: left; font-size: 13px; transition: .18s ease; }
.nav-item:hover { color: var(--ink); background: #f0f4f9; }
.nav-item.active { color: var(--blue); background: var(--blue-soft); font-weight: 700; }
.nav-icon { font-size: 16px; width: 17px; text-align: center; font-weight: 400; }
.nav-badge { margin-left: auto; min-width: 20px; height: 19px; padding: 0 5px; border-radius: 10px; background: #dce8ff; color: var(--blue); font-size: 10px; display: grid; place-items: center; font-weight: 700; }
.nav-badge.warning { background: var(--amber-soft); color: var(--amber); }
.sidebar-footer { margin-top: auto; }
.security-note { display: flex; gap: 9px; align-items: center; margin: 0 7px 16px; padding: 11px 9px; background: #f5faf8; border-radius: 8px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #32b59e; box-shadow: 0 0 0 4px #dff4ef; flex: 0 0 auto; }
.security-note strong, .security-note span { display: block; }
.security-note strong { font-size: 10px; color: #327d70; }
.security-note span { font-size: 10px; color: #85a7a0; margin-top: 3px; }
.user-mini { display: flex; align-items: center; gap: 9px; border-top: 1px solid var(--line); padding: 15px 7px 0; }
.user-mini strong, .user-mini span { display: block; }
.user-mini strong { font-size: 12px; }
.user-mini span { color: var(--muted-2); font-size: 10px; margin-top: 3px; }
.user-mini .icon-button { margin-left: auto; }
.avatar { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.avatar-blue { color: #285cb8; background: #dce8ff; }

.main-content { min-width: 0; flex: 1; }
.topbar { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 42px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.74); backdrop-filter: blur(12px); }
.breadcrumbs { display: flex; align-items: center; gap: 10px; color: var(--muted-2); font-size: 12px; }
.breadcrumbs strong { color: var(--ink); font-size: 13px; }
.slash { color: #c5cbd4; }
.topbar-actions { display: flex; align-items: center; gap: 17px; }
.topbar-help { border: 0; background: transparent; color: var(--muted); font-size: 12px; padding: 7px 0; }
.topbar-help:hover { color: var(--blue); }
.icon-button { position: relative; border: 0; background: transparent; color: var(--muted); border-radius: 6px; padding: 5px 7px; font-size: 18px; line-height: 1; }
.icon-button:hover { color: var(--ink); background: #edf2f7; }
.has-notice span { position: absolute; top: 4px; right: 4px; width: 5px; height: 5px; background: var(--red); border-radius: 50%; border: 1px solid #fff; }
.page-content { max-width: 1440px; padding: 35px 42px 55px; margin: 0 auto; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 27px; }
.eyebrow { color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 8px; }
h1 { margin: 0; font-size: 26px; line-height: 1.2; letter-spacing: -.02em; }
.page-subtitle { margin: 8px 0 0; font-size: 12px; color: var(--muted); }
.heading-actions { display: flex; align-items: center; gap: 9px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 14px; border-radius: 7px; border: 1px solid var(--line-strong); background: #fff; color: #506072; font-size: 12px; font-weight: 600; transition: .18s ease; }
.btn:hover { border-color: #b9c8dc; color: var(--ink); box-shadow: 0 4px 12px rgba(35, 56, 85, .06); }
.btn-primary { color: #fff; border-color: var(--blue); background: var(--blue); box-shadow: 0 6px 14px rgba(44, 104, 232, .17); }
.btn-primary:hover { color: #fff; background: #245bcc; border-color: #245bcc; }
.btn-icon { font-size: 16px; font-weight: 400; line-height: 0; }
.btn-quiet { background: #f7f9fc; }

.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 18px; }
.metric-card { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 17px 18px 15px; box-shadow: var(--shadow); min-height: 120px; }
.metric-top { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 12px; }
.metric-icon { width: 29px; height: 29px; border-radius: 8px; display: grid; place-items: center; font-size: 15px; }
.metric-icon.blue { color: var(--blue); background: var(--blue-soft); }
.metric-icon.teal { color: var(--teal); background: var(--teal-soft); }
.metric-icon.amber { color: var(--amber); background: var(--amber-soft); }
.metric-icon.red { color: var(--red); background: var(--red-soft); }
.metric-value { font-size: 27px; line-height: 1; font-weight: 750; margin-top: 16px; letter-spacing: -.03em; }
.metric-foot { display: flex; align-items: center; gap: 7px; color: var(--muted-2); font-size: 10px; margin-top: 10px; }
.trend-up { color: var(--teal); font-weight: 700; }
.trend-down { color: var(--red); font-weight: 700; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .92fr); gap: 18px; }
.stack { display: grid; gap: 18px; min-width: 0; }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); min-width: 0; }
.panel-header { padding: 18px 19px 15px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.panel-title { font-size: 14px; font-weight: 750; }
.panel-caption { color: var(--muted); font-size: 11px; margin-top: 5px; }
.text-button { border: 0; background: transparent; color: var(--blue); font-size: 11px; padding: 4px; }
.text-button:hover { text-decoration: underline; }
.panel-body { padding: 0 19px 18px; }

.pipeline { display: grid; gap: 14px; padding-top: 2px; }
.pipeline-row { display: grid; grid-template-columns: 83px 1fr 34px; align-items: center; gap: 10px; font-size: 11px; color: var(--muted); }
.pipeline-track { height: 9px; background: #f0f3f7; border-radius: 20px; overflow: hidden; }
.pipeline-fill { height: 100%; border-radius: 20px; background: var(--blue); }
.pipeline-fill.green { background: var(--teal); }.pipeline-fill.amber { background: #e5ae54; }.pipeline-fill.purple { background: #8a7be2; }.pipeline-fill.red { background: #df8585; }
.pipeline-number { color: var(--ink); text-align: right; font-weight: 700; }
.pipeline-legend { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted-2); font-size: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.legend-item { display: flex; align-items: center; gap: 5px; }.legend-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }.legend-dot.green { background: var(--teal); }.legend-dot.amber { background: #e5ae54; }.legend-dot.purple { background: #8a7be2; }.legend-dot.red { background: #df8585; }
.schedule-list, .todo-list { display: grid; gap: 0; }
.schedule-item { display: flex; gap: 11px; align-items: center; padding: 11px 0; border-top: 1px solid var(--line); }
.schedule-item:first-child { border-top: 0; }
.date-box { flex: 0 0 39px; text-align: center; border: 1px solid var(--line); border-radius: 7px; padding: 5px 0 4px; background: #fbfcfe; }
.date-box strong { display: block; font-size: 15px; line-height: 1; }.date-box span { display: block; color: var(--muted-2); font-size: 9px; margin-top: 4px; }
.schedule-info { min-width: 0; flex: 1; }.schedule-info strong { display: block; font-size: 11px; }.schedule-info span { display: block; color: var(--muted); font-size: 10px; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.schedule-time { color: var(--muted); font-size: 10px; white-space: nowrap; }
.todo-item { display: flex; gap: 10px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--line); }.todo-item:first-child { border-top: 0; }
.todo-check { width: 15px; height: 15px; border: 1px solid #cbd4df; border-radius: 4px; background: #fff; margin-top: 1px; flex: 0 0 auto; }.todo-check.done { color: #fff; border-color: var(--teal); background: var(--teal); display: grid; place-items: center; font-size: 10px; }
.todo-copy { min-width: 0; flex: 1; }.todo-copy strong { display: block; font-size: 11px; font-weight: 650; }.todo-copy span { display: block; color: var(--muted); font-size: 10px; margin-top: 4px; }.todo-due { color: var(--amber); font-size: 10px; white-space: nowrap; }.todo-due.overdue { color: var(--red); }
.roster-preview { width: 100%; border-collapse: collapse; font-size: 11px; }.roster-preview th { color: var(--muted-2); font-weight: 500; text-align: left; font-size: 10px; padding: 0 8px 10px; }.roster-preview th:first-child, .roster-preview td:first-child { padding-left: 0; }.roster-preview td { border-top: 1px solid var(--line); padding: 12px 8px; color: #4f5d6f; }.roster-preview td:first-child { color: var(--ink); font-weight: 650; }.person-cell { display: flex; gap: 8px; align-items: center; }.mini-avatar { width: 25px; height: 25px; border-radius: 7px; display: grid; place-items: center; background: #e8eefc; color: #4a69b7; font-size: 10px; font-weight: 700; }.mini-avatar.green { background: #e3f4ef; color: #288875; }.mini-avatar.orange { background: #fff0d8; color: #b47b26; }.mini-avatar.pink { background: #fce9ee; color: #b66275; }
.status-pill { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 20px; font-size: 10px; white-space: nowrap; }.status-pill::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }.status-pill.green { color: #278e7d; background: #e9f7f3; }.status-pill.blue { color: var(--blue); background: var(--blue-soft); }.status-pill.amber { color: #b27a1e; background: var(--amber-soft); }.status-pill.gray { color: #778397; background: #f0f2f5; }.status-pill.red { color: #bf5a5d; background: var(--red-soft); }.status-pill.purple { color: #7865c4; background: #f0edff; }

.view-panel { padding-bottom: 19px; }.view-panel .panel-header { padding-bottom: 17px; }.toolbar { display: flex; align-items: center; gap: 9px; justify-content: space-between; margin-bottom: 14px; }.toolbar-left, .toolbar-right { display: flex; gap: 8px; align-items: center; }.search-box { width: 222px; border: 1px solid var(--line-strong); background: #fff; padding: 8px 10px 8px 30px; border-radius: 7px; font-size: 11px; color: var(--ink); outline: none; }.search-wrap { position: relative; }.search-wrap::before { content: "⌕"; position: absolute; left: 10px; top: 7px; color: var(--muted-2); font-size: 16px; z-index: 1; }.search-box:focus { border-color: #a9c1f6; box-shadow: 0 0 0 3px #eef3ff; }.select-box { border: 1px solid var(--line-strong); background: #fff; padding: 8px 27px 8px 10px; border-radius: 7px; font-size: 11px; color: var(--muted); outline: none; }
.data-table { width: 100%; border-collapse: collapse; font-size: 11px; }.data-table th { text-align: left; background: #f8fafc; color: var(--muted-2); font-size: 10px; font-weight: 600; padding: 11px 11px; white-space: nowrap; }.data-table th:first-child { border-radius: 6px 0 0 6px; }.data-table th:last-child { border-radius: 0 6px 6px 0; }.data-table td { border-bottom: 1px solid var(--line); padding: 12px 11px; color: #566477; vertical-align: middle; }.data-table tbody tr:hover { background: #fbfdff; }.data-table td:first-child { color: var(--ink); font-weight: 650; }.table-person { display: flex; align-items: center; gap: 9px; }.table-person strong { display: block; font-size: 11px; }.table-person span { display: block; color: var(--muted-2); font-size: 10px; margin-top: 3px; font-weight: 400; }.row-action { border: 0; background: transparent; color: var(--blue); font-size: 10px; padding: 3px; }.row-action:hover { text-decoration: underline; }.table-empty { text-align: center; color: var(--muted-2); padding: 34px !important; }
.tab-group { display: flex; gap: 5px; border-bottom: 1px solid var(--line); margin-bottom: 17px; }.tab-button { border: 0; border-bottom: 2px solid transparent; background: transparent; padding: 9px 9px 10px; color: var(--muted); font-size: 11px; }.tab-button.active { color: var(--blue); border-color: var(--blue); font-weight: 700; }
.mini-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin: 0 0 18px; }.mini-stat { padding: 13px 14px; background: #f8fafc; border-radius: 8px; }.mini-stat span { color: var(--muted); font-size: 10px; }.mini-stat strong { display: block; margin-top: 8px; font-size: 20px; }.progress-line { height: 7px; background: #edf1f5; border-radius: 10px; overflow: hidden; margin-top: 10px; }.progress-line i { display: block; height: 100%; background: var(--blue); border-radius: inherit; }.progress-line i.teal { background: var(--teal); }.progress-line i.amber { background: #e5ae54; }
.empty-state { padding: 48px 20px; text-align: center; color: var(--muted); }.empty-state strong { display: block; color: var(--ink); font-size: 14px; margin-bottom: 7px; }.empty-state p { font-size: 11px; margin: 0 0 17px; }

.modal-backdrop { position: fixed; inset: 0; z-index: 20; background: rgba(18, 31, 49, .33); display: grid; place-items: center; padding: 18px; }.modal { width: min(500px, 100%); background: #fff; border-radius: 12px; box-shadow: 0 22px 70px rgba(14, 33, 58, .18); overflow: hidden; }.modal-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 22px 16px; border-bottom: 1px solid var(--line); }.modal-header strong { font-size: 16px; }.modal-close { border: 0; background: transparent; color: var(--muted); font-size: 20px; }.modal-body { padding: 19px 22px; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.field { display: grid; gap: 6px; }.field.full { grid-column: 1 / -1; }.field label { font-size: 11px; color: var(--muted); }.field input, .field select { width: 100%; border: 1px solid var(--line-strong); border-radius: 7px; padding: 9px 10px; outline: none; font-size: 12px; color: var(--ink); background: #fff; }.field input:focus, .field select:focus { border-color: #a9c1f6; box-shadow: 0 0 0 3px #eef3ff; }.modal-footer { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 22px 19px; border-top: 1px solid var(--line); }
.toast { position: fixed; bottom: 24px; left: 50%; transform: translate(-50%, 15px); padding: 10px 15px; border-radius: 7px; color: #fff; background: #233043; font-size: 12px; box-shadow: 0 9px 25px rgba(20, 35, 56, .18); opacity: 0; pointer-events: none; transition: .22s ease; z-index: 30; }.toast.show { opacity: 1; transform: translate(-50%, 0); }

.recording-actions { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }.upload-label { position: relative; overflow: hidden; }.upload-label input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.transcript-details { margin: 10px 0; border-top: 1px solid #e1eaff; padding-top: 9px; }.transcript-details summary { color: #526fce; font-size: 10px; cursor: pointer; }.transcript-details p { color: #64738a; font-size: 10px; line-height: 1.6; margin: 7px 0 0; }

.recording-summary { color: #53708f; font-size: 10px; }.score-inline { color: #b1781d; font-weight: 700; font-size: 10px; }.muted-inline { color: var(--muted-2); font-size: 10px; }
.btn-small { padding: 7px 10px; font-size: 10px; }.candidate-modal { width: min(900px, 100%); max-height: min(820px, calc(100vh - 36px)); display: flex; flex-direction: column; }.candidate-modal .modal-header { flex: 0 0 auto; }.candidate-title { display: flex; align-items: center; gap: 11px; }.candidate-title-avatar { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; color: #9a5770; background: #fbeaf0; font-weight: 750; }.candidate-title strong, .candidate-title span { display: block; }.candidate-title strong { font-size: 16px; }.candidate-title span { color: var(--muted); font-size: 11px; margin-top: 4px; }.candidate-modal-body { overflow-y: auto; padding: 0 22px 25px; }.candidate-summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 19px 0; border-bottom: 1px solid var(--line); }.candidate-summary-grid > div { min-width: 0; }.candidate-summary-grid span:not(.status-pill), .resume-grid span, .interview-score span, .interview-note > span, .ai-columns > div > span, .ai-questions > span { display: block; color: var(--muted-2); font-size: 10px; }.candidate-summary-grid strong { display: block; margin-top: 7px; font-size: 12px; }.candidate-summary-grid .status-pill { display: inline-flex; margin-top: 4px; }.candidate-section { padding: 20px 0 2px; border-bottom: 1px solid var(--line); }.candidate-section:last-child { border-bottom: 0; }.candidate-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }.section-kicker { color: var(--blue); font-size: 9px; font-weight: 750; letter-spacing: .14em; }.candidate-section h3 { margin: 5px 0 0; font-size: 14px; }.candidate-section h3 em { color: var(--muted-2); font-size: 10px; font-style: normal; font-weight: 500; margin-left: 6px; }.resume-grid { display: grid; grid-template-columns: 1fr 1.15fr 1.5fr; gap: 10px; }.resume-grid > div { min-height: 76px; padding: 13px; border-radius: 8px; background: #f8fafc; }.resume-grid strong, .resume-grid small { display: block; }.resume-grid strong { font-size: 11px; margin-top: 8px; }.resume-grid small { color: var(--muted); font-size: 10px; margin-top: 5px; line-height: 1.4; }.resume-file { display: flex; align-items: center; gap: 9px; }.resume-file .row-action { margin-left: auto; }.file-icon { width: 28px; height: 32px; border-radius: 5px; display: grid; place-items: center; background: #fff0f0; color: #c65c60; font-size: 8px; font-weight: 750; }.interview-card { border: 1px solid var(--line); border-radius: 9px; padding: 15px; margin-top: 11px; }.interview-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }.interview-card-head strong, .interview-card-head span { display: block; }.interview-card-head strong { font-size: 12px; }.interview-card-head > div > span { color: var(--muted); font-size: 10px; margin-top: 5px; }.interview-meta { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 0; border-bottom: 1px solid var(--line); margin-bottom: 13px; }.recording-file { display: flex; align-items: center; gap: 9px; min-width: 0; }.recording-icon { width: 27px; height: 27px; border-radius: 7px; display: grid; place-items: center; color: #2b70d5; background: #eaf1ff; font-size: 14px; }.recording-file strong, .recording-file span { display: block; max-width: 420px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.recording-file strong { font-size: 10px; }.recording-file span { color: var(--muted-2); font-size: 9px; margin-top: 4px; }.interview-score { text-align: right; flex: 0 0 auto; }.interview-score strong { display: block; margin-top: 5px; color: #b1781d; font-size: 14px; }.score-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }.score-item { padding: 10px; border-radius: 7px; background: #fbfcfe; border: 1px solid #eef1f5; }.score-item span { display: block; color: var(--muted); font-size: 9px; }.score-item strong { display: block; color: #d18a22; letter-spacing: 1px; font-size: 11px; margin-top: 7px; }.interview-note { margin-top: 13px; padding: 11px 12px; background: #f8fafc; border-radius: 7px; }.interview-note p { color: #566477; margin: 6px 0 0; font-size: 10px; line-height: 1.6; }.ai-result { padding: 13px; margin-top: 12px; border-radius: 8px; background: #f5f8ff; border: 1px solid #e1eaff; }.ai-result.pending { background: #fafbfd; border-color: var(--line); }.ai-result-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.ai-result-head > div span, .ai-result-head > div strong { display: block; }.ai-label { color: #526fce; font-size: 9px; font-weight: 750; letter-spacing: .1em; }.ai-result-head strong { font-size: 11px; margin-top: 4px; }.ai-result > p { color: #53647c; font-size: 10px; line-height: 1.65; margin: 12px 0 10px; }.ai-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.ai-columns ul { margin: 7px 0 0; padding-left: 16px; color: #566477; font-size: 10px; line-height: 1.8; }.ai-columns li::marker { color: #5f7edd; }.ai-questions { margin-top: 10px; padding-top: 10px; border-top: 1px solid #e1eaff; }.ai-questions p { color: #53647c; font-size: 10px; line-height: 1.6; margin: 6px 0 0; }.muted-copy { color: var(--muted-2) !important; }.interview-empty { display: grid; justify-items: center; gap: 8px; border: 1px dashed #cfd8e4; border-radius: 9px; padding: 33px 20px; text-align: center; }.interview-empty strong { font-size: 13px; }.interview-empty span { color: var(--muted); font-size: 10px; margin-bottom: 5px; }.modal-subtitle { display: block; color: var(--muted); font-size: 10px; margin-top: 5px; }.field-hint { color: var(--muted-2); font-size: 10px; line-height: 1.4; }

@media (max-width: 1080px) { .sidebar { width: 215px; flex-basis: 215px; }.topbar, .page-content { padding-left: 27px; padding-right: 27px; }.content-grid { grid-template-columns: 1fr; }.metrics-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .sidebar { width: 66px; flex-basis: 66px; padding: 20px 9px; }.brand { padding: 0 7px 24px; }.brand > div:last-child, .workspace-switcher > *, .nav-section-label, .nav-item > span:not(.nav-icon), .sidebar-footer { display: none; }.workspace-switcher { border: 0; padding: 0; justify-content: center; margin-bottom: 23px; }.nav-item { justify-content: center; padding: 11px 0; }.nav-item.active { background: var(--blue-soft); }.nav-icon { font-size: 17px; }.main-content { width: calc(100% - 66px); }.topbar { height: 60px; padding: 0 18px; }.topbar-help { display: none; }.page-content { padding: 25px 18px 40px; }.page-heading { display: block; }.heading-actions { margin-top: 17px; }.metrics-grid { gap: 9px; }.metric-card { padding: 14px; min-height: 110px; }.metric-value { font-size: 23px; }.content-grid { gap: 13px; }.toolbar { display: block; }.toolbar-left, .toolbar-right { margin-bottom: 9px; }.search-box { width: 100%; }.data-table { min-width: 780px; }.panel-body.table-overflow { overflow-x: auto; }.form-grid { grid-template-columns: 1fr; }.field.full { grid-column: auto; }.candidate-summary-grid { grid-template-columns: repeat(2, 1fr); }.resume-grid, .score-grid, .ai-columns { grid-template-columns: 1fr; }.candidate-section-head { align-items: flex-start; }.candidate-section-head .btn { flex: 0 0 auto; }.interview-meta { align-items: flex-start; flex-direction: column; }.interview-score { text-align: left; }.recording-file strong, .recording-file span { max-width: 230px; } }
/* 登录入口 */
.auth-backdrop{position:fixed;inset:0;z-index:30;background:rgba(18,31,53,.42);display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);background:#fff;border:1px solid #dfe6f0;border-radius:20px;box-shadow:0 24px 80px rgba(24,45,78,.2);padding:30px}.auth-card h2{margin:0 0 8px;color:#18253d}.auth-card p{margin:0 0 22px;color:#71809a;font-size:14px}.auth-card .field{margin-bottom:14px}.auth-card .field label{display:block;font-size:13px;font-weight:650;color:#52627d;margin-bottom:7px}.auth-card input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d7dfeb;border-radius:10px;font:inherit}.auth-card .auth-error{min-height:20px;color:#c94f5d;font-size:13px;margin:4px 0 8px}.auth-card .btn{width:100%;justify-content:center}.auth-hint{margin-top:14px!important;font-size:12px!important;color:#8a97aa!important}
