/* Paired status foregrounds extend the canonical palette for filled controls. */
:root { --jc-on-positive:#FFFFFF; --jc-on-critical:#FFFFFF; --jc-on-warning:#FFFFFF; }
:root[data-theme="dark"] { --jc-on-positive:var(--cm-brand-ink); --jc-on-critical:var(--cm-brand-ink); --jc-on-warning:var(--cm-brand-ink); }
/* Circle Metro workspace adapter. Scopes the dashboard, CV and recruiter tools. */
.jc-metro .jc-workspace { width:100%; max-width:none; padding:0; margin:0; min-width:0; color:var(--cm-color-text-primary); }
.jc-workspace *, .jc-workspace-modal * { min-width:0; }
.jc-workspace-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px; padding-bottom:16px; border-bottom:1px solid var(--cm-color-outline); }
.jc-workspace-nav a,.jc-workspace-nav summary { display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px 18px; border-radius:var(--cm-radius-control); text-decoration:none; color:var(--cm-color-text-secondary); font-size:14px; border:1px solid transparent; cursor:pointer; }
.jc-workspace-nav a.active { background:var(--cm-color-accent-soft); color:var(--cm-color-accent-text); border-color:var(--cm-color-outline); }
.jc-more-nav { position:relative; }.jc-more-nav[open] summary { background:var(--cm-color-accent-soft); color:var(--cm-color-accent-text); }
.jc-more-nav>div { max-height:60dvh; overflow-y:auto; position:absolute; top:100%; right:0; z-index:80; width:240px; padding:8px; background:var(--cm-color-surface); border:1px solid var(--cm-color-outline); border-radius:var(--cm-radius-card); }
.jc-more-nav>div a { justify-content:flex-start; }
.jc-workspace .page-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:28px; }
.jc-workspace .page-header h1 { font-size:clamp(30px,4vw,44px); line-height:1.08; font-weight:400; color:var(--cm-color-text-primary); margin:0 0 12px; letter-spacing:-.045em; }
.jc-workspace .page-header p:not(.jc-eyebrow) { color:var(--cm-color-text-secondary); max-width:560px; margin:0; }
.jc-workspace .page-header .jc-eyebrow { margin-bottom:12px; color:var(--cm-color-accent-text); }
.jc-workspace .header-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.jc-workspace :is(button,.btn,.tgn-btn),.jc-workspace-modal button { min-height:48px; max-width:100%; border-radius:var(--cm-radius-control); font:inherit; cursor:pointer; white-space:normal; }
.jc-workspace :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.jc-workspace-modal :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { min-height:48px; max-width:100%; background:var(--cm-color-surface); color:var(--cm-color-text-primary); border:1px solid var(--cm-color-outline-strong); border-radius:var(--cm-radius-control); padding:12px 14px; font:inherit; }
.jc-workspace textarea,.jc-workspace-modal textarea { width:100%; line-height:1.5; resize:vertical; }
.jc-workspace :is(input,textarea)::placeholder,.jc-workspace-modal :is(input,textarea)::placeholder { color:var(--cm-color-text-secondary); opacity:1; }
.jc-workspace :is(input[type=checkbox],input[type=radio]),.jc-workspace-modal :is(input[type=checkbox],input[type=radio]) { accent-color:var(--cm-color-accent); width:20px; height:20px; flex-shrink:0; }
.jc-workspace :is(.btn-primary,.tgn-btn-primary,.search-btn,.submit-btn,.publish-btn,.create-btn,.save-btn,.confirm-btn),.jc-workspace-modal :is(.btn-primary,.tgn-btn-primary,.save-btn,.confirm-btn) { background:var(--cm-color-accent); color:var(--cm-color-on-accent); border:1px solid transparent; padding:12px 20px; }
.jc-workspace :is(.btn-secondary,.tgn-btn-secondary,.btn-outline,.back-btn,.cancel-btn),.jc-workspace-modal :is(.btn-secondary,.tgn-btn-secondary,.cancel-btn) { background:var(--cm-color-surface); border:1px solid var(--cm-color-outline-strong); color:var(--cm-color-text-primary); padding:12px 18px; }
.jc-workspace button:disabled,.jc-workspace-modal button:disabled { cursor:not-allowed; opacity:.65; }
.jc-workspace :is(a,button,input,select,textarea,[tabindex]):focus-visible,.jc-workspace-modal :focus-visible { outline:3px solid var(--cm-color-accent-text); outline-offset:3px; }
.jc-workspace :is(h2,h3,h4),.jc-workspace-modal :is(h2,h3,h4) { color:var(--cm-color-text-primary); letter-spacing:-.025em; }
.jc-workspace h2 { font-size:24px; font-weight:500; }
.jc-workspace :is(.dashboard-card,.jobs-section,.analytics-section,.activity-section,.tips-section,.form-container,.section-content,.company-card,.candidate-card,.application-card,.info-card,.billing-card,.plan-card,.package-card,.entry-card,.job-card,.profile-card,.team-card,.empty-state,.summary-card) { background:var(--cm-color-surface); border:1px solid var(--cm-color-outline); border-radius:var(--cm-radius-card); box-shadow:none; padding:24px; }
.jc-workspace :is(.card-header,.section-header,.entry-header) { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.jc-workspace :is(.card-header,.section-header) h2 { margin:0; }
.jc-workspace :is(.status-badge,.new-badge,.skill-tag,.badge,.tag,.chip) { border-radius:var(--cm-radius-small); }
.jc-workspace .status-badge { color:var(--cm-color-accent-text); background:var(--cm-color-accent-soft); font-size:13px; }
.jc-workspace :is(.empty-state,.empty-section) { color:var(--cm-color-text-secondary); text-align:center; padding:32px 20px; }
.jc-workspace :is(.empty-icon,.action-icon,.stat-icon,.nav-icon) { display:inline-flex; align-items:center; justify-content:center; }
.jc-workspace .empty-icon { margin-bottom:12px; }
.jc-workspace :is(.error-message,.alert-error,.form-error) { color:var(--cm-color-critical); background:var(--cm-color-surface); border:1px solid var(--cm-color-critical); border-radius:var(--cm-radius-control); padding:16px; }
.jc-workspace :is(.stats-section,.stats-grid) { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 28px; }
.jc-workspace .stat-card { min-height:136px; display:flex; align-items:flex-start; flex-direction:column; gap:16px; justify-content:space-between; padding:20px; border-radius:var(--cm-radius-tile); border:1px solid var(--cm-color-outline); background:var(--cm-color-surface); color:var(--cm-color-text-primary); text-decoration:none; box-shadow:none; }
.jc-workspace .stat-info { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.jc-workspace .stat-value { color:var(--cm-color-text-primary); font-size:36px; font-weight:400; letter-spacing:-.05em; line-height:1; }
.jc-workspace .stat-label { color:var(--cm-color-text-secondary); font-size:14px; }
.jc-workspace .stat-icon { width:32px; height:32px; padding:0; border-radius:0; background:none; color:var(--cm-color-accent-text); }
.jc-workspace a.stat-card:first-child { background:var(--cm-color-tile); color:var(--cm-color-on-tile); border-color:transparent; }
.jc-workspace a.stat-card:first-child :is(.stat-icon,.stat-value,.stat-label) { color:inherit; }
.jc-workspace .dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.jc-workspace .dashboard-grid :is(.recommended-section,.profile-section) { grid-column:auto; }
.jc-workspace :is(.application-item,.saved-job-item,.job-item) { min-width:0; border-color:var(--cm-color-outline); padding:16px 0; gap:12px; }
.jc-workspace :is(.application-item,.saved-job-item,.recommended-card,.job-item)[role=link] { cursor:pointer; }
.jc-workspace :is(.app-info,.job-info,.details) h3 { font-size:18px; margin:0 0 6px; overflow-wrap:anywhere; }
.jc-workspace :is(.app-status,.job-stats) { flex-shrink:0; }
.jc-workspace .quick-actions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.jc-workspace :is(.quick-actions-grid .action-btn,.quick-actions .action-card) { display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:10px; padding:20px; background:var(--cm-color-surface-raised); border:1px solid var(--cm-color-outline); color:var(--cm-color-text-primary); border-radius:var(--cm-radius-tile); transform:none; }
.jc-workspace :is(.quick-actions-grid .action-btn,.quick-actions .action-card):hover { background:var(--cm-color-accent-soft); border-color:var(--cm-color-accent); transform:none; }
.jc-workspace .action-icon { width:28px; height:28px; background:none; color:var(--cm-color-accent-text); }
.jc-workspace .action-desc { color:var(--cm-color-text-secondary); }
.jc-workspace.recruiter-dashboard .stats-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.jc-workspace .dashboard-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:24px; }
.jc-workspace .workspace-content { min-width:0; padding:0; margin:0; max-width:none; }
.jc-workspace .quick-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.jc-workspace .quick-actions-section,.jc-workspace .jobs-section { margin-bottom:24px; }
.jc-workspace .jobs-section .empty-state { border:0; }
.jc-workspace .analytics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.jc-workspace .sidebar { min-width:0; display:flex; flex-direction:column; gap:20px; }
.jc-workspace .builder-layout { display:grid; grid-template-columns:200px minmax(0,1fr); gap:24px; }
.jc-workspace .section-nav { position:sticky; top:110px; height:fit-content; }
.jc-workspace .section-nav button { display:flex; align-items:center; gap:12px; min-height:48px; color:var(--cm-color-text-secondary); background:none; padding:12px; }
.jc-workspace .section-nav button.active { color:var(--cm-color-accent-text); background:var(--cm-color-accent-soft); border-color:var(--cm-color-outline); }
.jc-workspace .completeness-card { padding:16px 20px; margin-bottom:24px; background:var(--cm-color-surface); border:1px solid var(--cm-color-outline); border-radius:var(--cm-radius-card); }
.jc-workspace .completeness-info { margin-bottom:8px; }.jc-workspace .score-value { font-size:24px; font-weight:500; }
.jc-workspace :is(.progress-fill,.completeness-fill) { background:var(--cm-color-accent); }
.jc-workspace .cv-mobile-section { display:none; }
.jc-workspace :is(.form-grid,.form-row) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.jc-workspace .form-group.full-width { grid-column:1 / -1; }
.jc-workspace .save-section { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:24px; border-top:1px solid var(--cm-color-outline); padding-top:20px; }
.jc-workspace .save-message { color:var(--cm-color-text-secondary); }.jc-workspace .save-message.error { color:var(--cm-color-critical); }
.jc-workspace .search-container { display:grid; grid-template-columns:260px minmax(0,1fr); gap:24px; }
.jc-workspace .filters-panel { position:sticky; top:110px; padding:20px; }
.jc-workspace .candidate-filter-toggle { display:none; }
.jc-workspace :is(.filter-section input,.filter-section select) { width:100%; }
.jc-workspace :is(.checkbox-option,.checkbox-inline,.checkbox-label) { min-height:48px; align-items:center; }
.jc-workspace :is(.results-header,.controls-bar,.sort-section,.filter-section,.status-tabs,.tabs) { min-width:0; flex-wrap:wrap; gap:8px; }
.jc-workspace .status-tabs button { flex:1; min-width:88px; }
.jc-workspace .applications-container { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
.jc-workspace :is(.candidate-name,.candidate-title,.title,.company,.description,.activity-text) { overflow-wrap:anywhere; }
.jc-workspace :is(.resume-preview,.preview-card) { color:var(--cm-color-text-primary); background:var(--cm-color-surface); border:1px solid var(--cm-color-outline); box-shadow:none; border-radius:var(--cm-radius-card); }
.jc-workspace :is(.resume-section,.resume-header) { border-color:var(--cm-color-outline); }.jc-workspace .resume-preview a { overflow-wrap:anywhere; }
.jc-workspace :is(.progress-steps,.stepper) { gap:8px; flex-wrap:wrap; }.jc-workspace .step-label { font-size:13px; }.jc-workspace .step-line { flex:1; min-width:8px; }
.jc-workspace-modal { position:fixed; inset:0; z-index:1100; background:rgb(0 0 0 / .6); display:flex; align-items:center; justify-content:center; padding:24px; }
.jc-workspace-modal :is(.modal-content,.modal) { display:block; position:relative; inset:auto; height:auto; margin:0; max-height:calc(100dvh - 48px); overflow-y:auto; width:min(100%,640px); max-width:640px; padding:28px; background:var(--cm-color-surface); color:var(--cm-color-text-primary); border:1px solid var(--cm-color-outline); border-radius:var(--cm-radius-sheet); box-shadow:none; }
.jc-workspace-modal .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.jc-workspace-modal .form-group { display:flex; flex-direction:column; gap:8px; }
.jc-workspace-modal .full-width { grid-column:1 / -1; }.jc-workspace-modal :is(.modal-actions,.form-actions) { display:flex; gap:12px; justify-content:flex-end; margin-top:24px; flex-wrap:wrap; }
.jc-workspace-modal h2 { font-size:28px; font-weight:500; margin:0 0 24px; }
@media(max-width:1050px) { .jc-workspace .dashboard-layout { grid-template-columns:minmax(0,1fr); }.jc-workspace.recruiter-dashboard .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) {
 .jc-workspace-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:20px; gap:4px; padding-bottom:12px; }
 .jc-workspace-nav a,.jc-workspace-nav summary { font-size:13px; padding:8px 6px; }.jc-more-nav>div { right:0; }
 .jc-workspace .page-header { gap:16px; margin-bottom:20px; }.jc-workspace .page-header h1 { font-size:32px; }.jc-workspace .page-header .header-actions { width:100%; }
 .jc-workspace :is(.stats-section,.stats-grid),.jc-workspace.recruiter-dashboard .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:20px; }
 .jc-workspace .stat-card { min-height:116px; padding:16px; gap:10px; }.jc-workspace .stat-value { font-size:30px; }.jc-workspace .stat-info { flex-direction:column; gap:6px; }
 .jc-workspace :is(.dashboard-grid,.builder-layout,.search-container,.applications-container,.form-grid,.form-row,.billing-layout,.profile-layout,.company-layout) { grid-template-columns:minmax(0,1fr); gap:16px; }
 .jc-workspace :is(.dashboard-card,.jobs-section,.analytics-section,.activity-section,.tips-section,.form-container,.section-content,.candidate-card,.application-card,.info-card,.billing-card,.entry-card,.job-card,.empty-state) { padding:20px; }
 .jc-workspace .cv-mobile-section { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }.jc-workspace .section-nav { display:none; }.jc-workspace .cv-mobile-section select { width:100%; }
 .jc-workspace .completeness-card { margin-bottom:16px; }.jc-workspace .completeness-tip { font-size:13px; }
 .jc-workspace .candidate-filter-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; background:none; border:0; padding:0; color:var(--cm-color-text-primary); }
 .jc-workspace .candidate-filter-body { display:none; }.jc-workspace .filters-panel.is-expanded .candidate-filter-body { display:block; padding-top:16px; }.jc-workspace .filters-panel { position:static; padding:12px 16px; }
 .jc-workspace .application-item { flex-wrap:wrap; }.jc-workspace .application-item .app-status { margin-left:auto; }.jc-workspace .entry-header { align-items:flex-start; }
 .jc-workspace .header-actions .tgn-btn { flex:1; padding:12px; }.jc-workspace .save-section .save-btn { width:100%; }
 .jc-workspace :is(.candidate-grid,.candidates-grid,.jobs-grid,.packages-grid,.plans-grid,.team-grid,.features-grid,.company-grid) { grid-template-columns:minmax(0,1fr); }
 .jc-workspace .controls-bar { flex-direction:column; align-items:stretch; }.jc-workspace .sort-section select { width:100%; }
 .jc-workspace .progress-steps .step { flex:1; min-width:52px; }.jc-workspace .step-line { display:none; }.jc-workspace .step-label { font-size:11px; }
 .jc-workspace .quick-actions-grid,.jc-workspace .quick-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }.jc-workspace .action-card { padding:16px; }
 .jc-workspace-modal { padding:12px; align-items:center; }.jc-workspace-modal :is(.modal-content,.modal) { padding:20px; max-height:calc(100dvh - 24px); border-radius:var(--cm-radius-card); }.jc-workspace-modal .form-grid { grid-template-columns:minmax(0,1fr); }
 .jc-workspace-modal :is(.modal-actions,.form-actions) { position:sticky; bottom:-20px; background:var(--cm-color-surface); padding:12px 0; }
}

.jc-workspace-modal .entry-error { color:var(--cm-color-critical); margin:16px 0; }
.jc-workspace .candidate-filter-body .search-btn { width:100%; margin:8px 0 20px; }
.jc-workspace :is(.status-tabs,.tabs) .active { background:var(--cm-color-accent-soft); color:var(--cm-color-accent-text); border-color:var(--cm-color-accent); }
@media(max-width:767px) {
 .resume-builder-page .page-header p { display:none; }
 .resume-builder-page .completeness-tip { display:none; }
 .jc-workspace .stat-card.credits { grid-column:1 / -1; min-height:84px; flex-direction:row; align-items:center; }
 .jc-workspace .stat-card.credits .stat-info { flex-direction:row; flex-wrap:wrap; }
 .jc-workspace .placements-page .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.jc-metro .jc-workspace h1:focus { outline:none; }
.jc-metro .jc-workspace :is(p,small,label,.stat-label,.jc-eyebrow,.entry-meta,.app-date,.job-meta,.rec-company,.activity-time,.score-label,.credits-label,.status-badge) { opacity:1; }
.jc-metro .jc-workspace .stat-icon { background:none; }

.jc-metro .jc-workspace input:is([type=checkbox],[type=radio]) { width:20px; min-width:20px; max-width:20px; flex:0 0 20px; }
.jc-workspace .range-inputs { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto; align-items:center; gap:8px; }
.jc-workspace .range-inputs input { width:100%; min-width:0; }
.jc-workspace :is(.new-badge,.new-count) { color:var(--cm-color-accent-text); background:var(--cm-color-accent-soft); }
.jc-workspace button { box-shadow:none; }
.jc-workspace .card-actions .action-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:10px 12px; flex:1; }
.jc-workspace .card-actions .save { flex:0 0 48px; padding:10px; }
.jc-workspace .card-actions .unlock { background:var(--cm-color-accent); color:var(--cm-color-on-accent); border:1px solid transparent; }
.jc-workspace .card-actions :is(.contact,.view) { color:var(--cm-color-text-primary); background:var(--cm-color-surface); border:1px solid var(--cm-color-outline-strong); }
@media(max-width:767px) { .jc-workspace .candidate-card .card-footer { flex-direction:column; align-items:stretch; gap:12px; } .jc-workspace .card-actions { width:100%; } }
