/* Client CRM: shared components, without the agency workspace screens. */
:root { --acid: #d2efa3; --canvas: #f5f5ef; --sidebar: #151713; }
body { font-size: 13px; }
.brand strong { font-size: 17px; letter-spacing: -.6px; }
.sidebar nav > p { font-size: 10px; }
.nav-item { min-height: 42px; }
.nav-item b { font-size: 12px; }
.account { grid-template-columns: 30px minmax(0,1fr); }
.account b, .sidebar-status b { font-size: 11px; }
.account small, .sidebar-status small { font-size: 10px; }
.topbar .search { flex: 1; max-width: 520px; }
.search input, .top-actions > button { font-size: 12px; }
.top-actions > #refresh-dashboard { width: auto; padding: 0 12px; display: inline-flex; }
.scope-note { font-size: 11px; color: var(--muted); }
.record-version { display: block; color: var(--muted); font-size: 10px; margin-top: 4px; }
.page-heading > div:first-child > p:last-child { font-size: 13px; line-height: 1.5; }
.eyebrow, .metric footer small, .table-head { font-size: 10px; }
.metric > p, .panel-head button, .page-actions button, .pipeline-bars span b,
.pipeline-bars > div > strong, .pipeline-card > footer b, .activity-list b,
.table-row, .quiet { font-size: 12px; }
.metric footer small, .pipeline-card > footer small, .pipeline-bars span small,
.activity-list small, .activity-list time { font-size: 10px; }
.panel-head h2 { font-size: 16px; }
.table-row { min-height: 72px; }
.pipeline-bars > div { grid-template-columns: 125px minmax(30px,1fr) 55px; }
.pipeline-bars span small { line-height: 1.4; }
.board { grid-template-columns: repeat(5,minmax(220px,1fr)); overflow-x: auto; }
.management-card input { width: 100%; min-height: 38px; padding: 9px; border: 1px solid var(--line-strong); border-radius: 8px; background: white; }
.primary-link { display: inline-flex; text-decoration: none; border-radius: 9px; padding: 14px 22px; font-size: 14px; }
.login-state { max-width: 550px; margin: 12vh auto; }
.login-state img { width: 60px; height: 60px; margin-bottom: 28px; }
.login-state h1 { font-size: 42px; font-weight: 550; line-height: 1.08; letter-spacing: -1.8px; }
.login-state p { color: var(--muted); font-size: 15px; line-height: 1.7; }
.login-state .primary-link { background: var(--sidebar); color: white; margin: 18px 0; }
.login-state small { display: block; line-height: 1.6; color: var(--muted); }
.signed-out { display: block; }
.signed-out .sidebar, .signed-out .topbar { display: none; }
button, input, select, textarea { font: inherit; }
button:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #4e7752; outline-offset: 3px; }
.person b, .board button p b, .filter-tabs button, .assessment-summary p b,
.drawer header b, .management-head b, .management-card input,
.management-card select, .management-card textarea, .management-save button,
.drawer-section > p:last-child, .notes > p:last-child, .recommendation b,
.recommendation p, .transcript p, .record-timeline span b { font-size: 13px; }
.person small, .score small, .stage, .board button p small,
.board button footer span, .board > article > header span, .board-score,
.assessment-summary p small, .assessment-summary article > strong small,
.drawer header small, .drawer-score span small, .drawer-score span b i,
.management-card label, .management-head small, .management-save span,
.report-button, .score-bars > div > span, .recommendation small,
.answer-list > div, .transcript small, .record-timeline span small,
.record-timeline time { font-size: 11px; }
.person > i, .drawer-avatar { font-size: 11px; }
.board { min-width: 0; }
.empty-column { font-size: 12px; }
@media(max-width: 800px) {
  .account { grid-template-columns: 1fr; }
  .overview-grid { grid-template-columns: 1fr; }
  .content { padding: 24px 16px 90px; }
}
@media(max-width: 600px) {
  .sidebar { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); height: auto; min-height: 64px; overflow: visible; }
  .sidebar .account { display: none; }
  .nav-item { min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 4px 2px; }
  .nav-item b { display: block; font-size: 10px; }
  .topbar { gap: 8px; }
  .topbar .search { width: auto; min-width: 0; }
  .page-heading { align-items: start; flex-wrap: wrap; gap: 12px; }
  .page-heading h1 { font-size: 30px; }
  .pipeline-card > footer { grid-template-columns: 1fr; }
  .login-state h1 { font-size: 34px; }
  .login-state { margin: 8vh 12px; }
}
@media(prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
