.career-calendar__toolbar { display: flex; gap: .5rem; }
.career-calendar__events { list-style: none; padding: 0; }
.career-calendar__events li { display: flex; gap: .75rem; padding: .75rem 0; }
.career-effectiveness { display: grid; gap: .35rem; }
.career-effectiveness progress { width: 100%; accent-color: var(--accent); }
.career-fund-meter { display: grid; gap: .65rem; min-inline-size: 10rem; }
.career-fund-meter__values { display: grid; gap: .35rem; margin: 0; }
.career-fund-meter__values > div { display: flex; justify-content: space-between; gap: .75rem; }
.career-fund-meter__values dt { color: var(--text-tertiary); }
.career-fund-meter__values dd { margin: 0; font-variant-numeric: tabular-nums; text-align: end; }
.career-fund-meter__bar { display: flex; overflow: hidden; block-size: .55rem; border-radius: 999px; background: var(--surface-muted, var(--surface)); }
.career-fund-meter__bar span { display: block; block-size: 100%; }
.career-fund-meter__committed { background: var(--accent); }
.career-fund-meter__spent { background: var(--warning); }
.career-fund-meter__balance { background: var(--text-tertiary); opacity: .4; }
.career-nav-locked { color: var(--text-tertiary); }
.career-nav-locked .mc-badge { margin-inline-start: auto; }
.career-locked-card { display: flex; align-items: center; gap: .75rem; color: var(--text-tertiary); }
.career-locked-card .mc-badge { margin-inline-start: auto; }
.career-capability-nav .career-nav-group + .career-nav-group { margin-top: 1rem; }

.career-calendar__toolbar{flex-wrap:wrap}.career-calendar__toolbar button{min-block-size:44px;min-inline-size:44px}.career-calendar__toolbar [aria-pressed=true]{background:var(--bg-hover);border-color:var(--text)}.career-calendar__viewport{overflow:auto;max-inline-size:100%}.career-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-inline-size:32rem}.career-calendar__weekday,.career-calendar__day{padding:.5rem;border:1px solid var(--border);min-inline-size:0}.career-calendar__day{min-block-size:6rem}.career-calendar__day h3{font-size:.875rem;margin:0 0 .5rem}.career-calendar__day[data-today=true] h3{font-weight:700;text-decoration:underline}.career-calendar__day[data-adjacent=true]{color:var(--text-secondary)}.career-calendar__day-events{list-style:none;padding:0;margin:0;font-size:.75rem;overflow-wrap:anywhere}.career-calendar__day-events time{display:block}.career-calendar__day-events a{display:block;min-block-size:44px}.career-calendar [hidden]{display:none}

/* Empty and locked states from x-empty / x-badge (panel-minimal v2 classes, not loaded in the portal). */
.v2-badge{block-size:22px;inline-size:fit-content;display:inline-flex;align-items:center;gap:6px;padding-inline:var(--space-2);border-radius:var(--radius-full);color:var(--text-secondary);background:var(--bg-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap}
.v2-badge::before{content:"";inline-size:6px;block-size:6px;background:currentColor;border-radius:50%}
.v2-badge--plain::before{display:none}
.v2-badge--success{color:var(--success);background:var(--success-subtle)}
.v2-badge--warning{color:var(--warning);background:var(--warning-subtle)}
.v2-badge--danger{color:var(--danger);background:var(--danger-subtle)}
.v2-badge--accent{color:var(--accent-text);background:var(--accent-subtle)}
.v2-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-4);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}
.v2-empty__icon{inline-size:40px;block-size:40px;display:grid;place-items:center;margin-block-end:var(--space-1);color:var(--text-secondary);background:var(--bg-muted);border-radius:var(--radius-lg)}
.v2-empty__title{margin:0;color:var(--text);font-weight:var(--weight-semibold)}
.v2-empty__text{max-inline-size:420px;margin:0;color:var(--text-secondary);font-size:var(--text-sm)}
.v2-empty__action,.v2-empty>.mc-button{margin-block-start:var(--space-2)}
/* Stacked tables on phones (pc-table-stack lives in marketcat-ui/platform.css, which the portal does not load). */
@media(max-width:639px){.mc-table.pc-table-stack{min-inline-size:0}.pc-table-stack thead{display:none}.pc-table-stack tbody,.pc-table-stack tr{display:block}.pc-table-stack tr{padding-block:var(--space-2)}.pc-table-stack tr+tr{border-block-start:1px solid var(--border)}.pc-table-stack td{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-block-size:0;padding:var(--space-1) var(--space-4);border:0;text-align:end}.pc-table-stack td:not([data-label]){display:block}.pc-table-stack td[data-label]::before{content:attr(data-label);color:var(--text-tertiary);font-size:var(--text-xs);text-align:start}}
/* Destructive trigger that opens a confirm dialog: quieter than the solid danger verb inside it. */
.mc-button.career-danger-ghost,.mc-button.career-danger-ghost:is(:hover,:focus,:active){color:var(--danger);background:transparent;border-color:var(--border-strong)}
.mc-button.career-danger-ghost:hover{background:var(--danger-subtle)}
.career-effectiveness .career-price{margin:0}
.career-effectiveness__semaphore[data-semaphore=green] strong{color:var(--success)}
.career-effectiveness__semaphore[data-semaphore=amber] strong{color:var(--warning)}
.career-effectiveness__semaphore[data-semaphore=red] strong{color:var(--danger)}
.career-home-grid>.career-plan{align-self:start}
.career-measure__form{display:grid;gap:var(--space-2)}
.career-measure__form textarea{inline-size:100%}
.career-tone-warning{color:var(--warning)}.career-tone-danger{color:var(--danger)}
.career-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
