/* Boss Babe Transformation Studio — brand surface.
   Brand Bible Tab 2.6: hot pink + black is the core, black and white are the
   supporting neutrals, keep it bright and tasteful, keep layouts clean and let
   the pink-and-black system carry the energy.
   The exact hex values below are PROVISIONAL — the Bible flags that no HEX/RGB/
   Pantone spec is confirmed yet. When Rachel confirms them, change them here and
   nowhere else. See docs/brand-style.md. */
:root {
  /* Core brand */
  --pink: #ff2d8f;        /* hot pink — fills, always paired with black text */
  --pink-strong: #b8006e; /* pink that carries white text and reads as body copy */
  --pink-dark: #8f0054;   /* hover / pressed */
  --pink-soft: #ffe9f4;   /* tint for badges, chips, selected rows */
  --pink-line: #ffc2e0;   /* tinted borders */
  --black: #111114;       /* brand black — sidebar, headers, dark surfaces */

  /* Neutrals: white and black only, per the Bible's supporting-neutral rule */
  --ink: #16161a;
  --secondary: #57575f;
  --muted: #6e6e78;
  --canvas: #fafafa;
  --paper: #f3f3f5;
  --surface: #ffffff;
  --line: #e5e5ea;
  --line-soft: #f0f0f3;

  /* Functional status colours. Not brand colours — they exist so staff can read
     success/attention/failure at a glance. Deliberately muted so the pink stays
     the loudest thing on the screen. */
  --ok: #1e7a4b;
  --ok-soft: #e6f4ec;
  --ok-line: #bfe3ce;
  --warn: #8a5200;
  --warn-soft: #fff4e0;
  --danger: #b03426;
  --danger-soft: #fdecea;

  /* Type. Brand typography is NOT confirmed (Bible 2.6.2 flags it), so this is a
     clean legible default. Swapping in the confirmed face is a one-line change. */
  --font-body: 'Albert Sans', system-ui, sans-serif;
  --font-display: 'Albert Sans', system-ui, sans-serif;

  /* Legacy aliases — the rest of this sheet was written against the previous
     studio palette. They now point at the Boss Babe system. */
  --pine: #8f0054;
  --pine-deep: #111114;
  --jade: #b8006e;
  --jade-soft: #ffe9f4;
  --sage: #ff2d8f;
  --brass: #c98a16;
  --brass-soft: #fff4e0;
  --coral: #b03426;
  --coral-soft: #fdecea;

  --shadow-sm: 0 1px 2px rgba(17,17,20,.05);
  --shadow-md: 0 12px 30px rgba(17,17,20,.12);
  --sidebar: 224px;
}

* { box-sizing: border-box; }
html { font-size: 16px; background: var(--canvas); }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: var(--font-body); line-height: 1.48; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
code { overflow-wrap: anywhere; word-break: break-word; }
a { color: var(--jade); text-decoration: none; }
a:hover { color: var(--pine); }
svg { width: 18px; height: 18px; flex: none; }
.skip-link { position: fixed; left: 12px; top: -60px; z-index: 200; padding: 10px 14px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow-md); }
.skip-link:focus { top: 12px; }

.app-shell { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; z-index: 30; display: flex; flex-direction: column; height: 100vh; padding: 24px 16px 18px; overflow-y: auto; color: #e9e9ee; background: var(--pine-deep); }
.nav-count{display:grid;place-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;border-radius:9px;background:var(--pink);color:var(--black);font-weight:700;font-size:9px}
.nav-count.halt{background:var(--danger);color:#fff;font-weight:700;letter-spacing:.03em}
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 25px; color: #fff; }
.brand:hover { color: #fff; }
/* Placeholder mark only — Brand Bible 2.6.5 forbids recreating the logo from
   memory. Drop the approved logo file in here when the asset library exists. */
.brand-mark { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: 9px; color: var(--black); background: var(--pink); font-family: var(--font-display); font-size: 13px; font-weight: 800; letter-spacing: .02em; }
.brand-mark.small { width: 24px; height: 24px; border-radius: 7px; font-size: 10px; }
.brand-mark.on-light { color: #fff; background: var(--black); box-shadow: inset 0 0 0 2px var(--pink); }
.brand-name { font-family: var(--font-display); font-size: 12px; font-weight: 800; line-height: 1.35; letter-spacing: .15em; }
.brand-name em { display: block; color: var(--pink); font-style: normal; font-size: 8.5px; font-weight: 700; letter-spacing: .16em; }
.primary-nav { display: flex; flex-direction: column; gap: 3px; }
.nav-section { display: none; }
.nav-link { position: relative; display: block; min-height: 36px; padding: 8px 12px; border-radius: 7px; color: #c7c7cf; font-size: 13.5px; }
.nav-link svg { display: none; }
.nav-link:hover { color: #fff; background: rgba(255,255,255,.055); }
.nav-link.active { color: #fff; background: rgba(255,45,143,.20); box-shadow: inset 2px 0 0 var(--pink); font-weight: 700; }
.sidebar-bottom { display: flex; flex-direction: column; gap: 14px; margin-top: auto; padding-top: 22px; }
.studio-note { display: flex; flex-direction: column; padding: 12px 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 6px; background: rgba(255,255,255,.035); font-size: 11.5px; }
.studio-note strong { color: #ff2d8f; }
.studio-note span { margin-top: 2px; color: #9c9ca6; }
.user-card { display: flex; align-items: center; gap: 10px; padding: 0 7px; }
.avatar, .person-avatar { display: grid; place-items: center; flex: none; border-radius: 50%; font-weight: 700; }
.avatar { width: 32px; height: 32px; background: #ff2d8f; color: var(--pine-deep); font-size: 10px; }
.user-copy { display: flex; flex-direction: column; min-width: 0; }
.user-copy strong { overflow: hidden; color: #fff; font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.user-copy small { color: #9c9ca6; font-size: 10.5px; }
.sign-out { display: inline-flex; align-items: center; gap: 8px; padding: 3px 7px; border: 0; color: #9c9ca6; background: transparent; font-size: 11.5px; cursor: pointer; }
.sign-out svg { width: 14px; height: 14px; }
.sign-out:hover { color: #fff; }

.app-main { min-width: 0; }
.mobile-header { display: none; }
.workspace-nav { display: flex; align-items: center; gap: 24px; min-height: 44px; padding: 0 28px; overflow-x: auto; border-bottom: 1px solid var(--line); background: #fff; white-space: nowrap; }
.workspace-nav > strong { color: var(--secondary); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.workspace-nav > div { display: flex; align-self: stretch; gap: 20px; }
.workspace-nav a { display: flex; align-items: center; border-bottom: 2px solid transparent; color: var(--muted); font-size: 12.5px; font-weight: 650; }
.workspace-nav a:hover { color: var(--pink-strong); }
.workspace-nav a.active { border-bottom-color: var(--pink); color: var(--pink-strong); }
.settings-home.settings-groups { display: grid; grid-template-columns: 1fr; gap: 12px; max-width: 1180px; }
.settings-group { overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.settings-group > summary { display: flex; padding: 17px 20px; cursor: pointer; list-style: none; }
.settings-group > summary::-webkit-details-marker { display: none; }
.settings-group > summary::after { margin-left: auto; color: var(--muted); content: '+'; font-size: 20px; line-height: 1; }
.settings-group[open] > summary::after { content: '−'; }
.settings-group > summary span { display: flex; flex-direction: column; gap: 2px; }
.settings-group > summary strong { font-size: 14px; }
.settings-group > summary small { color: var(--muted); font-size: 11.5px; }
.settings-group .settings-links { padding: 0 20px 20px; }
main { min-height: 100vh; }
.page-header { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 62px; padding: 13px 28px; border-bottom: 1px solid var(--line); background: #fff; }
.page-header::before { display: none; }
.page-title-group { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.page-title { margin: 0; font-family: var(--font-body); font-size: 17px; font-weight: 700; line-height: 1.2; }
.page-context { color: var(--muted); font-size: 13px; }
.page-actions, .toolbar, .filters, .inline-actions, .form-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.page-body { max-width: 1560px; padding: 24px 28px 42px; }
.page-body.narrow { max-width: 960px; }
.section-label { color: var(--muted); font-size: 10.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.section-heading, .section-title h2 { margin: 0; font-family: var(--font-body); font-size: 15px; font-weight: 700; }
.section-title { display: flex; align-items: center; justify-content: space-between; margin: 3px 0 10px; }
.section-sub { color: var(--muted); font-size: 11.5px; }

.button, button.button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 8px 14px; border: 1px solid transparent; border-radius: 6px; color: var(--black); background: var(--pink); box-shadow: 0 1px 1px rgba(0,0,0,.05); font-size: 12.5px; font-weight: 700; letter-spacing: .01em; cursor: pointer; transition: background .15s, color .15s, border-color .15s, transform .15s; }
.button:hover { color: #fff; background: var(--black); }
.button:active { transform: translateY(1px); }
.button.secondary { border-color: #d9d8dc; color: var(--secondary); background: #fff; box-shadow: none; }
.button.secondary:hover { border-color: var(--pink-line); color: var(--pink-strong); background: var(--pink-soft); }
.button.tertiary { min-height: 30px; padding-inline: 3px; color: var(--pink-strong); background: transparent; box-shadow: none; }
.button.danger { border-color: #f0cdc8; color: var(--danger); background: var(--danger-soft); box-shadow: none; }
.button.small { min-height: 31px; padding: 5px 10px; font-size: 11.5px; }
.back-link { font-size: 12px; font-weight: 700; }

.card, .form-card, .table-wrap, .metric-card { border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow-sm); }
.card { min-width: 0; border-radius: 10px; }
.card-pad { padding: 20px; }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 14px 19px; border-bottom: 1px solid var(--line-soft); }
.card-body { min-width: 0; padding: 18px 20px; }
.card-footer { padding: 11px 20px; border-top: 1px solid var(--line-soft); color: var(--muted); background: var(--paper); font-size: 11px; }
.metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 12px; }
.metric-card { position: relative; min-height: 118px; padding: 15px 16px; overflow: hidden; border-radius: 10px; }
.metric-card::after { position: absolute; top: 0; right: 0; width: 34px; height: 3px; background: var(--pink); content: ''; }
.metric-card.watch::after { width: 100%; background: var(--brass); }
.metric-label, .metric-card > span:first-child { color: var(--secondary); font-size: 11.5px; font-weight: 700; }
.metric-row { display: flex; align-items: baseline; gap: 7px; margin-top: 9px; }
.page-body > .metric-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin: 0; }
.page-body > .metric-row .metric-card { display: flex; flex-direction: column; justify-content: space-between; }
.page-body > .metric-row .metric-card strong { margin-top: 10px; font-family: var(--font-display); font-size: 34px; font-weight: 800; letter-spacing: -.02em; }
.metric-value { font-family: var(--font-body); font-size: 25px; font-weight: 700; line-height: 1; }
.metric-change { color: var(--jade); font-size: 10.5px; font-weight: 700; }
.metric-meta { margin-top: 10px; color: var(--muted); font-size: 10.5px; }
.progress { height: 4px; margin-top: 11px; overflow: hidden; border-radius: 99px; background: #eae9eb; }
.progress > span { display: block; height: 100%; border-radius: inherit; background: var(--pink); }
.layout-2-1 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 16px; align-items: start; }
.layout-1-1 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.stack { display: flex; flex-direction: column; gap: 18px; }
.stack > * { min-width: 0; }
.compact-stack { display: flex; flex-direction: column; gap: 8px; }

.badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 99px; color: var(--secondary); background: #f8e5ee; font-size: 10.5px; font-weight: 700; white-space: nowrap; }
.badge.member, .badge.ok, .badge.active, .badge.sent, .badge.delivered { color: var(--ok); background: var(--ok-soft); }
.badge.trial, .badge.wait, .badge.open { color: var(--warn); background: var(--warn-soft); }
/* A hot lead is the one badge that earns the brand pink. */
.badge.hot { color: var(--pink-strong); background: var(--pink-soft); box-shadow: inset 0 0 0 1px var(--pink-line); }
.badge.hold { color: #536476; background: #edf0f4; }
.badge.former, .badge.draft, .badge.archived { color: #717873; background: #f9e5ee; }
.badge.exception, .badge.failed, .badge.suppressed { color: var(--danger); background: var(--danger-soft); }
.alert { position: relative; padding: 12px 15px 12px 40px; border: 1px solid #f0d9a8; border-radius: 6px; color: var(--warn); background: var(--warn-soft); font-size: 12px; }
.alert::before { position: absolute; left: 15px; top: 12px; content: 'i'; display: grid; place-items: center; width: 16px; height: 16px; border: 1px solid currentColor; border-radius: 50%; font-size: 10px; font-weight: 700; }
.alert.exception { border-color: #f0cdc8; color: var(--danger); background: var(--danger-soft); }
.alert.ok { border-color: var(--ok-line); color: var(--ok); background: var(--ok-soft); }
.workflow-steps { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; counter-reset: workflow; }
.workflow-steps li { position: relative; display: flex; flex-direction: column; min-height: 78px; padding: 12px 12px 12px 42px; border: 1px solid var(--line); border-radius: 7px; background: var(--canvas); counter-increment: workflow; }
.workflow-steps li::before { position: absolute; left: 12px; top: 12px; display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; color: var(--muted); background: #e9e7e0; content: counter(workflow); font-size: 10px; font-weight: 700; }
.workflow-steps li.done::before { color: var(--black); background: var(--pink); content: '✓'; }
.workflow-steps strong { font-size: 12px; }
.workflow-steps span { margin-top: 4px; color: var(--muted); font-size: 10.5px; line-height: 1.4; }
.media-upload-panel { margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--canvas); }
.media-upload-panel legend { padding: 0 7px; font-size: 13px; font-weight: 700; }
.media-current { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 12px 0; padding: 11px 12px; border: 1px solid #d1d0d5; border-radius: 6px; background: var(--jade-soft); }
.media-current div { display: flex; flex-direction: column; min-width: 0; font-size: 12px; }
.media-current span { overflow-wrap: anywhere; color: var(--secondary); }
.checkbox-field { display: grid; grid-template-columns: auto 1fr; gap: 3px 8px; align-items: center; margin-top: 12px; }
.checkbox-field small, .checkbox-field .errorlist { grid-column: 2; }
.lesson-media-block { display: grid; gap: 8px; margin: 14px 0; }
.lesson-media-player, .lesson-media-image { display: block; width: 100%; max-width: 900px; max-height: 70vh; border-radius: 7px; background: #161616; }
.lesson-media-audio { width: min(100%, 720px); }
.media-download, .lesson-media-link { font-size: 11.5px; }
.toast-stack { position: fixed; right: 24px; bottom: 24px; z-index: 100; display: flex; flex-direction: column; gap: 8px; max-width: min(420px, calc(100vw - 32px)); }
.toast { padding: 11px 17px; border-radius: 6px; color: #fff; background: var(--ink); box-shadow: var(--shadow-md); font-size: 12px; }
.toast.error { background: var(--coral); }

.search { position: relative; min-width: min(360px, 100%); flex: 1; }
.search::before { position: absolute; left: 14px; top: 9px; color: var(--muted); content: '⌕'; font-size: 17px; }
.search input { padding-left: 38px; }
.header-tools { flex: 1; justify-content: flex-end; }
.header-search { display: flex; align-items: center; gap: 8px; width: min(480px, 46vw); }
.header-search .search { min-width: 0; }
.header-search input { min-height: 36px; background: var(--canvas); }
.result-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.result-list a { display: flex; justify-content: space-between; gap: 16px; padding: 11px 12px; border: 1px solid var(--line-soft); border-radius: 7px; color: var(--ink); background: var(--surface); }
.result-list a:hover { border-color: #cdccd1; background: var(--paper); }
.result-title { font-weight: 700; }
.result-meta { color: var(--muted); font-size: 11.5px; text-align: right; }
.subsection-title { margin: 18px 0 8px; font-size: 13px; }
.filters { gap: 7px; }
.filter-chip { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 12px; border: 1px solid #e5e5ea; border-radius: 99px; color: var(--secondary); background: #fff; font-size: 12px; }
.filter-chip.active { border-color: var(--pink); color: var(--black); background: var(--pink); font-weight: 700; }
.table-wrap { width: 100%; max-width: 100%; min-width: 0; overflow: auto; border-radius: 10px; }
table { width: 100%; min-width: 650px; border-collapse: collapse; }
th, td { padding: 13px 16px; border-bottom: 1px solid var(--line-soft); text-align: left; vertical-align: middle; }
th { position: sticky; top: 0; z-index: 1; color: #76807c; background: #fcf2f7; font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
td { font-size: 12.5px; }
tbody tr { transition: background .12s; }
tbody tr:hover { background: #fdf7fa; }
tbody tr:last-child td { border-bottom: 0; }
.person-cell { display: flex; align-items: center; gap: 11px; }
.person-avatar { width: 34px; height: 34px; color: #fff; background: var(--pine); font-size: 10px; }
.person-name { color: var(--ink); font-weight: 700; }
.person-meta { display: block; margin-top: 2px; color: var(--muted); font-size: 10.5px; }
.empty { padding: 42px 24px; color: var(--muted); text-align: center; }

form p { margin: 0 0 16px; }
label { display: block; margin-bottom: 6px; color: var(--secondary); font-size: 11.5px; font-weight: 700; }
input, select, textarea { width: 100%; min-height: 41px; padding: 9px 11px; border: 1px solid #d9d8db; border-radius: 6px; color: var(--ink); background: #fff; }
input:hover, select:hover, textarea:hover { border-color: #c0bec4; }
input:focus, select:focus, textarea:focus { border-color: var(--pink-strong); outline: 3px solid rgba(255,45,143,.35); }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--pink-strong); outline-offset: 3px; }
input[type=checkbox] { width: 18px; min-height: 18px; vertical-align: middle; accent-color: var(--pink-strong); }
input[type=file] { padding: 8px; border-style: dashed; background: var(--paper); }
.helptext, .field small { display: block; margin-top: 5px; color: var(--muted); font-size: 10.5px; }
.errorlist { margin: 5px 0; padding-left: 18px; color: var(--coral); font-size: 11.5px; }
.form-card { max-width: 760px; padding: 23px 25px; border-radius: 10px; }
.form-card h2 { margin: 4px 0 18px; font-family: var(--font-body); font-size: 20px; font-weight: 700; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 16px; }
.form-actions { padding-top: 8px; }
.stack-form, .field { display: flex; flex-direction: column; }
.stack-form { gap: 16px; }

.task-row { padding: 15px 19px; border-bottom: 1px solid var(--line-soft); }
.task-row:last-child { border-bottom: 0; }
a.task-row:hover { background: #fdf7fa; }
.task-main { display: flex; align-items: flex-start; gap: 11px; }
.task-check { width: 19px; height: 19px; flex: none; margin-top: 1px; border: 1.5px solid #c1c0c5; border-radius: 5px; background: #fff; }
.task-title { font-size: 12.5px; font-weight: 700; }
.task-meta { margin-top: 3px; color: var(--muted); font-size: 10.5px; }
.task-actions { margin: 12px 0 0 30px; align-items: end; }
.task-actions label { position: absolute; left: -10000px; }
.task-actions input { max-width: 440px; min-height: 34px; }

.task-center{gap:16px}.task-center-header .page-context{display:block}.task-console{display:grid;grid-template-columns:265px minmax(0,1fr);gap:16px;align-items:start}.task-rail{position:sticky;top:58px;display:flex;flex-direction:column;gap:12px}.task-status-tabs,.task-filter-card,.task-board,.task-group{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.task-status-tabs{display:flex;flex-direction:column;padding:6px}.task-status-tabs a{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:9px;min-height:38px;padding:8px 9px;border-radius:7px;color:var(--secondary);font-size:12px;font-weight:700}.task-status-tabs a:hover{background:var(--paper);color:var(--pine)}.task-status-tabs a.active{background:var(--jade-soft);color:var(--pine)}.task-status-tabs svg{width:15px}.task-status-tabs b{min-width:24px;padding:2px 6px;border-radius:99px;background:#f9e5ee;color:var(--secondary);font-size:10px;text-align:center}.task-status-tabs a.active b{background:#fff;color:var(--pine)}.task-filter-card{padding:14px}.task-filter-card label{margin-top:10px;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.task-filter-card label:first-child{margin-top:0}.task-search-control{position:relative}.task-search-control svg{position:absolute;left:10px;top:10px;width:16px;color:var(--muted)}.task-search-control input{padding-left:34px}.task-filter-card input,.task-filter-card select{min-height:37px}.task-filter-actions{display:flex;gap:8px;margin-top:13px}.task-board{min-width:0}.task-board-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.task-board-header h2{margin:0;font-size:16px}.task-board-header span{display:block;margin-top:2px;color:var(--muted);font-size:11px}.task-group{margin:14px;background:#fff}.task-group>header{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:#fafafa;border-bottom:1px solid var(--line-soft)}.task-group>header>div{display:flex;align-items:center;gap:8px}.task-group h3{margin:0;font-size:12px}.task-group>header svg{width:15px;color:var(--jade)}.task-group>header span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:#fff;color:var(--secondary);font-size:10px;font-weight:700}.task-card-row{display:grid;grid-template-columns:12px minmax(0,1fr) minmax(210px,300px);gap:14px;padding:15px 16px;border-bottom:1px solid var(--line-soft);background:#fff}.task-card-row:last-child{border-bottom:0}.task-card-row:hover{background:#fdf9fb}.task-card-row.is-overdue{background:#fffafa}.task-priority-mark{padding-top:8px}.task-card-topline{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.task-source,.task-assignee,.task-card-meta span,.task-card-meta a{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:650}.task-source svg,.task-assignee svg,.task-card-meta svg{width:13px;height:13px}.task-assignee.unassigned{color:#876b2e}.task-card-main h3{margin:8px 0 5px;font-size:13px;line-height:1.35}.task-card-main h3 a{color:var(--ink)}.task-card-main h3 a:hover{color:var(--pine)}.task-card-meta{display:flex;flex-wrap:wrap;gap:10px 14px}.task-complete-panel{align-self:start}.task-complete-panel summary{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:34px;padding:7px 10px;border:1px solid #d9d8dc;border-radius:6px;background:#fff;color:var(--secondary);font-size:11px;font-weight:700;list-style:none;cursor:pointer}.task-complete-panel summary::-webkit-details-marker{display:none}.task-complete-panel[open] summary{border-color:#d1d0d5;background:var(--jade-soft);color:var(--pine)}.task-complete-panel summary svg{width:14px}.task-complete-panel form{display:grid;gap:9px;margin-top:9px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--canvas)}.task-complete-panel label{margin:0;font-size:10px}.task-complete-panel input,.task-complete-panel textarea{min-height:35px}.task-complete-panel textarea{min-height:70px}.task-complete-panel fieldset{display:grid;gap:7px;margin:0;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff}.task-complete-panel legend{padding:0 6px;color:var(--secondary);font-size:10px;font-weight:700}.task-complete-panel fieldset label{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start;color:var(--secondary);font-weight:500}.task-complete-panel form>div{display:flex;gap:7px}.task-closed-note{align-self:start;padding:11px 12px;border-radius:8px;background:var(--paper)}.task-closed-note small,.task-closed-note p{display:block;margin-top:5px;color:var(--muted);font-size:10px}.task-closed-note p{margin-bottom:0;color:var(--secondary);line-height:1.4}.task-empty{min-height:300px}.task-metrics .metric-card:nth-child(3)::after{background:var(--coral)}@media(max-width:1080px){.task-console{grid-template-columns:1fr}.task-rail{position:static}.task-status-tabs{display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.task-status-tabs{grid-template-columns:1fr}.task-card-row{grid-template-columns:10px minmax(0,1fr)}.task-complete-panel,.task-closed-note{grid-column:2}.task-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.session-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.session-card { position: relative; display: block; min-height: 145px; padding: 15px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: #fff; box-shadow: var(--shadow-sm); }
.session-card::before { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: var(--pink); content: ''; }
.session-card:hover { border-color: #b5b4ba; color: var(--ink); box-shadow: var(--shadow-md); transform: translateY(-1px); }
.session-time { color: var(--jade); font-size: 10.5px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.session-title { margin-top: 8px; font-family: var(--font-body); font-size: 14px; font-weight: 700; }
.session-meta { margin-top: 3px; color: var(--muted); font-size: 10.5px; }
.fill-row { display: flex; align-items: center; gap: 8px; margin-top: 18px; }
.fill-row .progress { flex: 1; margin: 0; }
.fill-count { color: var(--secondary); font-size: 10px; font-weight: 700; }

.pipeline-board { display: grid; grid-template-columns: repeat(5, minmax(230px, 1fr)); gap: 11px; padding-bottom: 10px; overflow-x: auto; }
.pipeline-column { min-height: 450px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.pipeline-head { display: flex; justify-content: space-between; padding: 13px 14px; border-bottom: 1px solid #dad9dc; color: var(--secondary); font-size: 11.5px; font-weight: 700; }
.pipeline-head span:last-child { display: grid; place-items: center; min-width: 21px; height: 21px; border-radius: 50%; color: var(--pine); background: #fff; font-size: 10px; }
.pipeline-dropzone { min-height: 394px; padding-bottom: 8px; }
.pipeline-column.drag-over { border-color: var(--jade); background: var(--jade-soft); box-shadow: inset 0 0 0 2px rgba(184,0,110,.12); }
.pipeline-column.saving { opacity: .7; }
.lead-card { margin: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow-sm); }
.lead-card[draggable=true] { cursor: grab; }
.lead-card.dragging { opacity: .45; cursor: grabbing; }
.lead-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.drag-handle { color: #a8a8b2; font-size: 18px; line-height: 1; }
.lead-card-title { color: var(--ink); font-size: 12.5px; font-weight: 700; }
.lead-card-meta { margin-top: 3px; color: var(--muted); font-size: 10px; }
.lead-card form { margin-top: 11px; }
.lead-card select, .lead-card input { min-height: 32px; margin-bottom: 7px; font-size: 11px; }
.pipeline-page{gap:16px}.pipeline-header .page-context{display:block}.pipeline-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pipeline-command{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:12px;align-items:stretch}.pipeline-alert{display:flex;align-items:center;margin:0}.pipeline-attention-card{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.pipeline-attention-card>header{padding:13px 15px;border-bottom:1px solid var(--line-soft)}.pipeline-attention-card h2{margin:2px 0 0;font-size:14px}.pipeline-attention-list{max-height:225px;overflow:auto}.pipeline-attention-list a{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line-soft);color:var(--ink)}.pipeline-attention-list a:hover{background:var(--jade-soft);color:var(--pine)}.pipeline-attention-list strong,.pipeline-attention-list small{display:block}.pipeline-attention-list strong{font-size:11.5px}.pipeline-attention-list small{margin-top:2px;color:var(--muted);font-size:9px}.pipeline-attention-list svg{width:13px}.pipeline-board-v2{grid-template-columns:repeat(5,minmax(260px,1fr));gap:12px}.pipeline-board-v2 .pipeline-column{background:#f7f7f9}.pipeline-board-v2 .pipeline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px 13px;background:#fff}.pipeline-board-v2 .pipeline-head span:first-child{display:block;color:var(--ink);font-size:12px}.pipeline-board-v2 .pipeline-head small{display:block;margin-top:2px;color:var(--muted);font-size:9px;font-weight:600}.pipeline-board-v2 .pipeline-dropzone{min-height:440px;padding:2px 0 10px}.lead-card-v2{padding:0;overflow:hidden}.lead-card-v2 .lead-card-top{align-items:start;padding:12px 12px 9px}.lead-person{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;color:var(--ink)}.lead-person strong,.lead-person small{display:block}.lead-person strong{font-size:12px}.lead-person small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.35}.drag-handle{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:#fff}.drag-handle svg{width:14px}.lead-card-signals{display:grid;gap:5px;padding:0 12px 11px}.lead-card-signals span{display:flex;align-items:center;gap:5px;color:var(--secondary);font-size:9.5px}.lead-card-signals svg{width:12px;height:12px;color:var(--jade)}.lead-lost-reason{margin:0 12px 10px;padding:8px;border-radius:6px;background:var(--coral-soft);color:#8c4039;font-size:10px}.lead-stage-control{border-top:1px solid var(--line-soft)}.lead-stage-control summary{display:flex;align-items:center;gap:6px;padding:9px 12px;color:var(--secondary);font-size:10px;font-weight:700;list-style:none;cursor:pointer}.lead-stage-control summary::-webkit-details-marker{display:none}.lead-stage-control summary svg{width:13px}.lead-stage-control[open] summary{background:var(--jade-soft);color:var(--pine)}.lead-stage-control form{display:grid;gap:7px;margin:0;padding:10px 12px 12px;background:#fafafa}.lead-stage-control label{margin:0;font-size:9px}.lead-stage-control select,.lead-stage-control input{margin:0}@media(max-width:1000px){.pipeline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-command{grid-template-columns:1fr}.pipeline-board-v2{grid-template-columns:repeat(5,minmax(250px,280px))}}@media(max-width:640px){.pipeline-metrics{grid-template-columns:1fr}.pipeline-board-v2{display:flex}.pipeline-board-v2 .pipeline-column{min-width:270px}}

.record-hero { position: relative; padding: 22px 28px; overflow: hidden; border-bottom: 1px solid var(--line); color: var(--ink); background: #fff; }
.record-hero::after { display: none; }
.record-hero .badge { color: var(--jade); background: var(--jade-soft); }
.record-name { margin: 7px 0 4px; font-family: var(--font-body); font-size: 24px; font-weight: 700; }
.record-meta { color: var(--muted); font-size: 13px; }
.stat-strip { display: grid; grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: #fff; box-shadow: var(--shadow-sm); }
.mini-stat { padding: 16px 18px; border-right: 1px solid var(--line); }
.mini-stat:last-child { border: 0; }
.mini-stat strong { display: block; font-family: var(--font-display); font-size: 20px; font-weight: 800; }
.mini-stat span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.ai-card { border-color: #e0d2ae; background: #fcf8ed; }
.ai-card .card-header { border-color: #ece1c6; color: #755f31; }

.kiosk-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 14px; }
.kiosk-person { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; padding: 20px; border: 1px solid var(--line); border-top: 3px solid var(--pink); border-radius: 7px; background: #fff; box-shadow: var(--shadow-sm); }
.kiosk-person form { grid-column: 1/-1; }
.kiosk-person h2 { margin: 0 0 5px; font-family: var(--font-display); font-size: 20px; font-weight: 800; }
.person-avatar.large { width: 54px; height: 54px; font-size: 16px; }
.kiosk-button { width: 100%; min-height: 48px; font-size: 14px; }
.center { text-align: center; }
.muted { color: var(--muted); }
.text-danger { color: var(--coral); }
.text-teal { color: var(--jade); }
.no-margin { margin: 0; }
.spacer-top { margin-top: 20px; }
.only-mobile { display: none; }
.sr-status { position: fixed; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 1080px) {
  .layout-2-1 { grid-template-columns: 1fr; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  :root { --sidebar: 0px; }
  .app-shell { display: block; }
  .sidebar { display: none; }
  .mobile-header { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; color: #fff; background: var(--pine-deep); }
  .mobile-brand { display: flex; align-items: center; gap: 9px; color: #fff; font-family: var(--font-display); font-size: 11px; letter-spacing: .12em; }
  .mobile-menu summary { cursor: pointer; list-style: none; font-size: 12px; font-weight: 700; }
  .mobile-menu:not([open]) nav { display: none; }
  .mobile-menu[open] nav { position: absolute; top: 52px; right: 10px; display: grid; width: 230px; padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: #fff; box-shadow: var(--shadow-md); }
  .mobile-menu[open] nav { max-height: calc(100vh - 64px); overflow-y: auto; overscroll-behavior: contain; }
  .mobile-menu nav a { padding: 10px 12px; color: var(--secondary); border-radius: 5px; }
  .mobile-menu nav a { display: flex; align-items: center; }
  .mobile-menu nav a:hover { background: var(--canvas); }
  .workspace-nav { position: sticky; top: 52px; z-index: 35; gap: 14px; min-height: 42px; padding: 0 16px; }
  .workspace-nav > strong { display: none; }
  .workspace-nav > div { gap: 18px; }
  .mobile-sign-out { width: 100%; padding: 10px 12px; border: 0; color: var(--coral); background: transparent; text-align: left; cursor: pointer; }
  .workflow-steps { grid-template-columns: 1fr; }
  .page-header { min-height: 68px; padding: 15px 17px; }
  .page-header::before { left: 17px; }
  .page-title { font-size: 20px; }
  .page-body { padding: 20px 16px 34px; }
  .layout-1-1, .form-grid { grid-template-columns: 1fr; }
  .page-actions { width: 100%; }
  .page-actions .button { flex: 1; }
  .header-search { width: 100%; }
  .header-tools { justify-content: stretch; }
  .result-list a { flex-direction: column; gap: 3px; }
  .result-meta { text-align: left; }
  .table-wrap { margin-inline: -16px; border-right: 0; border-left: 0; border-radius: 0; }
  .card .table-wrap { margin-inline: 0; }
  .toast-stack { right: 16px; left: 16px; }
  .task-actions { flex-direction: column; align-items: stretch; }
  .task-actions input { max-width: none; }
  .record-hero { padding: 25px 18px; }
  .only-mobile { display: block; }
}
@media (max-width: 480px) {
  .metrics, .page-body > .metric-row { grid-template-columns: 1fr; }
  .metric-card { min-height: 108px; }
  .page-title-group { display: block; }
  .page-context { display: block; margin-top: 4px; }
  .form-card { padding: 21px 18px; }
  .stat-strip { grid-template-columns: repeat(2,1fr); }
  .mini-stat:nth-child(2) { border-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}
/* Service settings */
.subnav{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);overflow:auto;white-space:nowrap}.subnav a{padding:11px 1px;color:var(--muted);font-size:13px;font-weight:650;border-bottom:2px solid transparent}.subnav a.active{color:var(--jade);border-color:var(--jade)}.subnav .muted{margin-left:auto;font-size:12px;color:var(--muted)}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1050px}.choice-card{display:grid;grid-template-columns:42px 1fr 22px;align-items:center;gap:16px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);box-shadow:0 4px 18px rgba(17,17,20,.05);transition:.18s}.choice-card:hover{border-color:var(--jade);transform:translateY(-2px);box-shadow:0 8px 24px rgba(17,17,20,.09)}.choice-card>svg:first-child{width:38px;height:38px;padding:8px;color:var(--jade);background:#f9e6ef;border-radius:8px}.choice-card h2{font:800 20px var(--font-display);margin:0 0 5px}.choice-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.service-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.service-filters select,.service-filters input{min-height:38px}.search-control{position:relative;min-width:230px}.search-control svg{position:absolute;left:11px;top:10px;width:17px}.search-control input{padding-left:35px;width:100%}.filter-more{position:relative}.filter-more summary{list-style:none;padding:9px 12px;border:1px solid var(--line);background:#fff;border-radius:5px;font-size:13px;cursor:pointer}.filter-popover{position:absolute;z-index:8;right:0;top:44px;width:280px;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 34px rgba(17,17,20,.16);display:grid;gap:8px}.service-table{min-width:1180px}.service-name{display:flex;align-items:center;gap:10px}.service-name small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.color-dot{width:9px;height:30px;border-radius:3px;flex:none}.row-menu{position:relative}.row-menu summary{list-style:none;cursor:pointer;padding:5px}.row-menu>div{position:absolute;z-index:9;right:0;top:30px;width:150px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(17,17,20,.16);padding:5px;border-radius:6px}.row-menu a,.row-menu button{display:block;width:100%;padding:8px 10px;text-align:left;border:0;background:none;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}.row-menu a:hover,.row-menu button:hover{background:#fbedf4}.danger-text{color:#a53d36!important}
.service-editor{max-width:1040px;display:grid;gap:14px}.form-section{display:grid;grid-template-columns:230px 1fr;gap:26px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:8px}.form-section-title{display:flex;gap:12px}.form-section-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ebebec;color:var(--jade);font-size:11px;font-weight:700;flex:none}.form-section-title h2{font:800 18px var(--font-display);margin:3px 0 7px}.form-section-title p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:12px;font-weight:650}.field small{color:var(--muted);font-size:11px}.field select[multiple]{min-height:100px}.span-2{grid-column:1/-1}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.toggle-grid .field{display:grid;grid-template-columns:18px 1fr;align-items:center;padding:10px;border:1px solid var(--line);border-radius:5px}.toggle-grid .field input{grid-column:1}.toggle-grid .field label{grid-column:2;grid-row:1}.field-error{font-size:11px;color:#a53d36}.has-error input,.has-error select,.has-error textarea{border-color:#b64c44}.editor-footer{position:sticky;bottom:0;z-index:5;display:flex;align-items:end;justify-content:space-between;padding:14px 18px;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:0 -7px 22px rgba(17,17,20,.08);border-radius:8px}.editor-footer .field{display:grid;grid-template-columns:auto 160px;align-items:center}.editor-footer small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.settings-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
@media(max-width:900px){.choice-grid{grid-template-columns:1fr}.form-section{grid-template-columns:1fr}.settings-split{grid-template-columns:1fr}.subnav .muted{display:none}}
@media(max-width:620px){.form-grid,.toggle-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.service-filters>*{width:100%}.filter-popover{left:0;right:auto}.editor-footer{position:static}.choice-card{padding:18px}}

.action-strip{display:flex;gap:8px;flex-wrap:wrap}.action-strip a{display:flex;align-items:center;gap:7px;padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:5px;color:var(--secondary);font-size:12px;font-weight:600}.action-strip svg{width:15px}.table-subline{display:block;color:var(--muted);font-size:11px;margin-top:3px}.mini-tag{display:inline-block;margin:2px;padding:3px 6px;border-radius:4px;background:var(--jade-soft);font-size:10px;color:var(--pine)}
.plan-wizard{max-width:1050px}.wizard-steps{display:grid;grid-template-columns:repeat(8,1fr);margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.wizard-steps button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;cursor:pointer}.wizard-steps button:last-child{border-right:0}.wizard-steps button.active{color:#fff;background:var(--pine)}.wizard-steps button span{font-weight:600}.wizard-panel{display:none;min-height:480px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:8px}.wizard-panel.active{display:grid;grid-template-columns:240px 1fr;gap:32px}.wizard-heading{display:flex;gap:12px}.wizard-heading>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--jade-soft);color:var(--pine);font-size:11px;font-weight:700;flex:none}.wizard-heading h2{font:800 20px var(--font-display);margin:3px 0 8px}.wizard-heading p{color:var(--muted);font-size:12px;line-height:1.55;margin:0}.wizard-footer{position:sticky;bottom:0;z-index:7;display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:13px 16px;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:8px;box-shadow:0 -8px 22px rgba(17,17,20,.07)}.wizard-footer>span{font-size:12px;color:var(--muted)}.client-preview,.public-plan{max-width:650px;padding:34px;background:var(--canvas);border:1px solid var(--line);border-radius:8px}.client-preview h2,.public-plan h1{font:800 32px var(--font-display);margin:8px 0}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--jade);letter-spacing:.08em}.preview-price,.public-price{display:flex;align-items:baseline;gap:10px;margin:24px 0}.preview-price strong,.public-price strong{font:800 34px var(--font-display)}.preview-price span,.public-price span{font-size:13px;color:var(--muted)}.preview-disclosure{padding:13px;border-left:3px solid var(--brass);background:var(--brass-soft);font-size:12px;line-height:1.5}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.review-grid>div{padding:14px;background:var(--canvas);border:1px solid var(--line);border-radius:5px}.review-grid span,.review-grid strong{display:block}.review-grid span{font-size:11px;color:var(--muted);margin-bottom:5px}.public-plan{margin:20px auto;background:#fff}.public-plan .lead{font-size:17px;color:var(--secondary)}.public-plan section{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.public-plan section h2{font:800 20px var(--font-display)}
@media(max-width:900px){.wizard-steps{grid-template-columns:repeat(4,1fr)}.wizard-panel.active{grid-template-columns:1fr}.wizard-panel{padding:22px}.wizard-panel.active{gap:20px}}
@media(max-width:620px){.wizard-steps button span{display:none}.wizard-steps{grid-template-columns:repeat(8,1fr)}.wizard-panel{min-height:0;padding:17px}.review-grid{grid-template-columns:1fr}.client-preview,.public-plan{padding:22px}.wizard-footer{position:static}}

/* Messaging workspace now lives in css/communications.css.
   These two avatar rules stayed behind: they were declared inside the old
   messaging block but are the winning definitions site-wide. */
.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--jade-soft);color:var(--pine);font-size:11px;font-weight:700}
.avatar.large{width:48px;height:48px;font-size:14px;margin-bottom:8px}
/* Unified person profile */
.profile-hero{display:flex;justify-content:space-between;align-items:center;padding:26px 32px 20px;background:#fff;border-bottom:1px solid var(--line)}.profile-identity{display:flex;align-items:center;gap:17px}.profile-avatar{width:62px;height:62px;font-size:18px}.profile-badges{display:flex;gap:5px}.profile-identity h1{font:800 30px var(--font-display);margin:5px 0 0}.profile-identity p{margin:0;color:var(--muted);font-size:11px}.profile-contact{display:flex;gap:15px;margin-top:7px;color:var(--secondary);font-size:11px}.profile-contact span{display:flex;align-items:center;gap:5px}.profile-contact svg{width:13px}.profile-actions{display:flex;gap:8px}.profile-tabs{display:flex;gap:22px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}.profile-tabs a{padding:12px 0 10px;border-bottom:2px solid transparent;color:var(--muted);font-size:11px;font-weight:650}.profile-tabs a.active{color:var(--pine);border-color:var(--pine)}.profile-body{display:block}.profile-summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:14px;border:1px solid var(--line);border-radius:7px;background:#fff}.profile-summary>div{padding:15px 18px;border-right:1px solid var(--line)}.profile-summary>div:last-child{border:0}.profile-summary span,.profile-summary strong{display:block}.profile-summary span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:700}.profile-summary strong{font:800 22px var(--font-display);margin-top:4px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-section{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.profile-section>header,.timeline-section>header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line)}.profile-section>header h2,.timeline-section>header h2{font:800 16px var(--font-display);margin:0}.profile-section>header a{font-size:10px}.profile-section>p,.profile-section>form{margin:15px}.span-wide{grid-column:1/-1}.detail-list{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:16px;margin:0;font-size:12px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.method-row,.task-line,.plan-line,.file-line,.payment-line{display:flex;align-items:center;gap:11px;padding:11px 15px;border-bottom:1px solid var(--line-soft)}.method-row>div,.task-line>div,.file-line>div{min-width:0;flex:1}.method-row strong,.method-row small,.task-line strong,.task-line small,.file-line strong,.file-line small,.plan-line strong,.plan-line small{display:block}.method-row small,.task-line small,.file-line small,.plan-line small{font-size:10px;color:var(--muted)}.method-row svg,.file-line svg{color:var(--jade);width:16px}.method-row .badge{margin-left:auto}.priority-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.priority-dot.important{background:var(--brass)}.priority-dot.critical{background:var(--coral)}.plan-line{justify-content:space-between}.plan-line>span{font-size:11px;color:var(--pine)}.empty-copy{color:var(--muted);font-size:12px;padding:15px}.timeline-section{background:#fff;border:1px solid var(--line);border-radius:7px}.timeline-section>header span{font-size:10px;color:var(--muted)}.timeline{padding:8px 20px}.timeline-item{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line-soft)}.timeline-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--jade-soft);color:var(--pine)}.timeline-icon svg{width:13px}.timeline-item strong{font-size:12px}.timeline-item p{margin:2px 0;font-size:11px;color:var(--secondary)}.timeline-item small{font-size:9px;color:var(--muted)}.profile-message,.note-record{margin:12px 15px;padding:12px;border:1px solid var(--line);border-radius:6px;font-size:12px}.profile-message.outbound{margin-left:15%;background:var(--jade-soft)}.profile-message small,.note-record small{display:block;margin-top:6px;color:var(--muted);font-size:9px}.contract-row{display:grid;grid-template-columns:2fr auto 1fr 1fr;align-items:center;gap:15px;padding:14px 16px;border-bottom:1px solid var(--line)}.contract-row small,.contract-row>div>span{display:block;color:var(--muted);font-size:10px}.payment-line{display:grid;grid-template-columns:1fr 1fr auto}.borderless{border:0;border-radius:0}.note-record>div{display:flex;gap:6px;align-items:center}.note-record svg{width:14px;color:var(--coral)}.app-dialog{width:min(480px,calc(100% - 30px));padding:0;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-md)}.app-dialog::backdrop{background:rgba(17,17,20,.45)}.app-dialog form{padding:18px}.app-dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.app-dialog h2{font:800 19px var(--font-display);margin:0}.wide-form{max-width:900px}.form-actions{margin-top:18px}
@media(max-width:800px){.profile-grid{grid-template-columns:1fr}.span-wide{grid-column:auto}.profile-hero{align-items:flex-start}.profile-summary{grid-template-columns:repeat(2,1fr)}.contract-row{grid-template-columns:1fr auto}.contract-row>div:nth-last-child(-n+2){display:none}}

/* Person Profile V1 command workspace */
.member-profile-command{display:grid;grid-template-columns:minmax(210px,1fr) minmax(390px,2fr) minmax(240px,1fr);gap:16px;margin-bottom:20px;align-items:start}.member-profile-context,.member-profile-history,.member-profile-attention{display:grid;gap:14px}.member-profile-command .profile-panel{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.member-profile-command .profile-panel>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.member-profile-command .profile-panel h2{font:800 18px var(--font-display);margin:2px 0 0}.member-snapshot,.operational-card>p{margin:0;padding:18px;font-size:16px;line-height:1.55}.profile-quality-item{display:flex;gap:8px;align-items:flex-start;margin:0;padding:11px 15px;border-bottom:1px solid var(--line-soft);font-size:14px}.profile-quality-item svg{width:17px;color:var(--coral);flex:none}.history-filter-row{display:flex;gap:7px;overflow:auto;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.history-filter-row a{padding:7px 10px;min-height:36px;border:1px solid var(--line);border-radius:18px;font-size:12px}.member-timeline{max-height:680px;overflow:auto}.member-timeline .timeline-item strong{font-size:14px}.member-timeline .timeline-item p{font-size:13px}.attention-card{border-left:5px solid var(--jade)!important}.attention-card.watch{border-left-color:var(--brass)!important}.attention-card.at_risk{border-left-color:var(--coral)!important}.attention-reason{display:flex;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line-soft)}.attention-reason svg{width:18px;color:var(--coral);flex:none}.attention-reason strong,.attention-reason small{display:block}.attention-reason small{margin-top:3px;color:var(--muted);font-size:11px}.member-profile-command .profile-facts{font-size:14px}.member-profile-command a:focus-visible{outline:3px solid var(--brass);outline-offset:2px}@media(max-width:1050px){.member-profile-command{grid-template-columns:minmax(220px,1fr) minmax(420px,2fr)}.member-profile-attention{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.member-profile-command{grid-template-columns:1fr}.member-profile-attention{grid-column:auto;grid-template-columns:1fr}}
.profile-tag-list{display:flex;flex-wrap:wrap;gap:7px;padding:14px}
@media(max-width:620px){.profile-hero{display:block;padding:20px}.profile-actions{margin-top:15px}.profile-tabs{padding:0 20px}.profile-contact{display:block}.profile-contact span{margin-top:5px}.profile-summary{grid-template-columns:1fr 1fr}.detail-list{grid-template-columns:100px 1fr}}

/* Today operating dashboard */
.today-wrap{max-width:1240px;margin:0 auto;padding:24px 28px 40px}.today-header{display:flex;align-items:center;justify-content:space-between}.today-header h1{font:800 32px var(--font-display);margin:0}.today-header p{margin:2px 0 0;color:var(--muted);font-size:12px}.today-actions{display:flex;gap:8px}.alert-control,.new-menu{position:relative}.alert-control summary,.new-menu summary{list-style:none}.alert-control summary b{display:grid;place-items:center;min-width:17px;height:17px;border-radius:9px;background:var(--coral);color:#fff;font-size:9px}.alert-control>div,.new-menu>div{position:absolute;z-index:20;right:0;top:44px;width:220px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-md)}.alert-control>div span,.alert-control>div a{display:block;margin-top:5px;font-size:11px}.new-menu>div{padding:5px}.new-menu>div a{display:flex;align-items:center;gap:8px;padding:9px;color:var(--ink);font-size:12px}.new-menu>div a:hover{background:var(--jade-soft)}.new-menu svg{width:15px}.today-controls{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.range-tabs{display:flex;padding:3px;background:#eceaee;border-radius:6px}.range-tabs a{padding:7px 13px;border-radius:4px;color:var(--secondary);font-size:11px;font-weight:650}.range-tabs a.active{background:#fff;color:var(--pine);box-shadow:var(--shadow-sm)}.dashboard-search{position:relative;width:300px}.dashboard-search>svg{position:absolute;left:11px;top:9px;width:16px}.dashboard-search>input{width:100%;padding-left:35px}.search-results{position:absolute;z-index:30;top:42px;right:0;width:380px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-md)}.search-results a{display:grid;grid-template-columns:34px 1fr 18px;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid var(--line-soft);color:var(--ink)}.search-results strong,.search-results small{display:block}.search-results small{color:var(--muted);font-size:9px}.dashboard-freshness{display:flex;justify-content:space-between;margin:11px 0 13px;font-size:9px;color:var(--muted)}.dashboard-freshness span{display:flex;align-items:center;gap:5px}.dashboard-freshness svg{width:12px}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kpi-card{display:flex;flex-direction:column;min-height:205px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:8px}.kpi-card header{display:grid;grid-template-columns:35px 1fr 18px;align-items:center;gap:10px}.kpi-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:7px;background:var(--jade-soft);color:var(--pine)}.kpi-icon.risk{background:var(--brass-soft);color:#8a6e2c}.kpi-card header h2{font-size:12px;margin:0}.kpi-card header small{display:block;color:var(--muted);font-size:9px}.kpi-card header>a{color:var(--muted)}.kpi-value{font:800 32px var(--font-display);margin:17px 0 3px}.kpi-card>p{margin:0;color:var(--secondary);font-size:10px}.kpi-card footer{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:13px;border-top:1px solid var(--line-soft);font-size:9px;color:var(--muted)}.kpi-card footer a{font-weight:700}.kpi-empty{display:grid;place-items:center;min-height:78px;color:var(--muted);font-size:12px;text-align:center}.positive{color:var(--pine)}.funnel-line{display:flex;align-items:center;gap:6px;margin-bottom:7px;font-size:9px;color:var(--secondary)}.funnel-line svg{width:11px}.capacity-bar{height:7px;margin:8px 0;background:#e5e5ea;border-radius:4px;overflow:hidden}.capacity-bar span{display:block;height:100%;background:#8a8892;border-radius:4px}.decision-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:12px;margin-top:12px}.decision-panel,.exception-panel,.ops-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.decision-panel>header,.exception-panel>header,.ops-card>header{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line)}.decision-panel>header h2,.exception-panel>header h2,.ops-card>header h2{font:800 17px var(--font-display);margin:2px 0 0}.decision-panel>header a,.ops-card>header a{display:flex;align-items:center;gap:4px;font-size:10px}.decision-panel>header svg{width:12px}.decision-item{display:grid;grid-template-columns:1fr auto;gap:15px;padding:16px;border-bottom:1px solid var(--line)}.decision-copy>div:first-child{display:flex;justify-content:space-between}.decision-copy h3{font-size:13px;margin:8px 0 4px}.decision-copy p{font-size:11px;color:var(--secondary);margin:0}.recommendation{margin-top:10px;padding:9px;background:var(--jade-soft);border-radius:5px;font-size:10px}.recommendation strong{display:block;color:var(--pine)}.decision-copy footer{display:flex;gap:12px;margin-top:8px;font-size:9px;color:var(--muted)}.decision-item>form{display:flex;flex-direction:column;gap:5px}.exception-panel{border-top:3px solid var(--coral)}.exception-panel>header{display:block}.exception-item{padding:13px 15px;border-bottom:1px solid var(--line)}.exception-item>div{display:grid;grid-template-columns:8px 1fr;gap:8px}.exception-item>div small{grid-column:2;font-size:9px;color:var(--muted)}.severity-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--brass)}.exception-item.critical .severity-dot{background:var(--coral)}.exception-item p{font-size:10px;color:var(--secondary)}.exception-item footer{display:flex;justify-content:space-between;font-size:10px}.exception-item footer form{display:flex;gap:7px}.exception-item footer button{border:0;background:none;color:var(--jade);font-size:10px;cursor:pointer}.compact-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px;color:var(--muted)}.compact-empty svg{width:28px;margin-bottom:7px;color:var(--jade)}.compact-empty strong{color:var(--ink);font-size:12px}.compact-empty span{font-size:10px;margin-top:3px}.operations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.schedule-line,.lead-line{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line-soft);color:var(--ink)}.schedule-line time{font-size:10px;font-weight:700;color:var(--pine)}.schedule-line strong,.schedule-line small,.lead-line strong,.lead-line small{display:block}.schedule-line strong,.lead-line strong{font-size:11px}.schedule-line small,.lead-line small{font-size:9px;color:var(--muted)}.schedule-line>span{font-size:9px}.work-line{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--line-soft)}.work-line strong,.work-line small{display:block}.work-line strong{font-size:11px}.work-line small{font-size:9px;color:var(--muted)}.lead-line{grid-template-columns:32px 1fr 15px}.lead-line svg{width:13px}.review-layout{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:start}.review-progress{position:sticky;top:20px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px}.review-progress>span,.review-progress>strong{display:block}.review-progress>span{font-size:10px;color:var(--muted)}.review-progress>strong{font:800 25px var(--font-display)}.review-progress>div{height:7px;margin:13px 0;background:var(--line);border-radius:4px}.review-progress>div span{display:block;height:100%;background:var(--jade)}.review-progress dl{display:grid;grid-template-columns:1fr auto;font-size:11px}.review-progress dd{margin:0}.review-items h2{font:800 17px var(--font-display)}.review-card{display:flex;justify-content:space-between;gap:20px;padding:15px;margin-bottom:8px;background:#fff;border:1px solid var(--line);border-radius:7px}.review-card h3{font-size:13px;margin:7px 0 3px}.review-card p{margin:0;color:var(--secondary);font-size:11px}.review-card form{display:flex;align-items:center;gap:6px}
@media(max-width:1000px){.decision-grid{grid-template-columns:1fr}.operations-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.today-wrap{padding:18px}.today-header{display:block}.today-actions{margin-top:12px;flex-wrap:wrap}.today-controls{display:block}.dashboard-search{width:100%;margin-top:10px}.search-results{width:100%}.kpi-grid{grid-template-columns:1fr}.operations-grid{grid-template-columns:1fr}.review-layout{grid-template-columns:1fr}.review-progress{position:static}.decision-item{grid-template-columns:1fr}.decision-item>form{flex-direction:row}.dashboard-freshness{display:block}.dashboard-freshness span{margin-top:4px}}
.review-source-row{display:flex;justify-content:space-between;gap:16px;padding:12px 15px;margin-bottom:6px;background:#fff;border:1px solid var(--line-soft);border-radius:6px;color:var(--ink)}.review-source-row strong{font-size:11px}.review-source-row span{color:var(--muted);font-size:10px;text-align:right}.supporting-copy{color:var(--muted);font-size:11px}.table-wrap td small{display:block;color:var(--muted);font-size:9px}
@media(max-width:760px){.review-source-row{display:block}.review-source-row span{display:block;margin-top:3px;text-align:left}}
.profile-message-center{margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.profile-message-center>header,.profile-message-center>footer{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line)}.profile-message-center h2{font:800 18px var(--font-display);margin:2px 0 0}.profile-message-center>footer{border-top:1px solid var(--line);border-bottom:0;color:var(--muted);font-size:10px}.profile-thread{max-height:330px;overflow-y:auto;padding:8px 15px;background:#fafafa}.profile-thread .profile-message{max-width:72%;margin:8px 0}.profile-thread .profile-message.outbound{margin-left:auto}.settings-home{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settings-home>section{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px}.settings-home h2{font:800 18px var(--font-display);margin:4px 0 13px}.settings-links a{display:grid;grid-template-columns:30px 1fr 16px;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line-soft);color:var(--ink)}.settings-links>a>svg:first-child{width:17px;color:var(--jade)}.settings-links>a>svg:last-child{width:13px;color:var(--muted)}.settings-links strong,.settings-links small{display:block}.settings-links strong{font-size:11px}.settings-links small{margin-top:2px;color:var(--muted);font-size:9px}
.profile-hero-v2{padding:24px 32px;background:linear-gradient(180deg,#fff 0%,#fafafa 100%)}.profile-hero-v2 .profile-contact{flex-wrap:wrap;gap:10px 16px}.profile-hero-v2 .profile-contact span{padding:4px 0}.profile-tabs-v2{gap:7px;padding:9px 28px;background:#fff}.profile-tabs-v2 a{display:flex;align-items:center;gap:6px;min-height:34px;padding:7px 10px;border:1px solid transparent;border-radius:7px;color:var(--secondary)}.profile-tabs-v2 a svg{width:14px;height:14px}.profile-tabs-v2 a.active{border-color:#d7d6da;background:var(--jade-soft);color:var(--pine)}.profile-body-v2{max-width:1440px}.profile-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.profile-kpi-strip>div{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.profile-kpi-strip span,.profile-kpi-strip small,.profile-kpi-strip strong{display:block}.profile-kpi-strip span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.profile-kpi-strip strong{margin-top:5px;font-size:22px;line-height:1.1}.profile-kpi-strip small{margin-top:5px;color:var(--muted);font-size:10px}.profile-kpi-strip .attention{border-color:#e4d8ba;background:#fffdf7}.profile-overview-layout{display:grid;grid-template-columns:minmax(285px,340px) minmax(0,1fr);gap:16px;align-items:start}.profile-snapshot{position:sticky;top:60px;display:flex;flex-direction:column;gap:14px}.profile-workspace{display:flex;flex-direction:column;gap:14px}.profile-panel{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.profile-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:14px 16px;border-bottom:1px solid var(--line-soft);background:#fff}.profile-panel>header h2{margin:2px 0 0;font-family:var(--font-body);font-size:14px;font-weight:750}.profile-panel>header a{font-size:11px;font-weight:700}.profile-facts{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px 12px;margin:0;padding:15px 16px;font-size:12px}.profile-facts dt{color:var(--muted);font-weight:700}.profile-facts dd{min-width:0;margin:0;overflow-wrap:anywhere}.profile-priority-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-action-line,.profile-plan-line{min-height:58px}.profile-connected-grid{grid-template-columns:1fr}.profile-connected-grid .profile-section{border-radius:10px}.profile-body-v2 .profile-message-center{margin-bottom:0;border-radius:10px}.profile-body-v2 .profile-thread{max-height:360px}.profile-body-v2 .profile-message{border-radius:8px}.profile-body-v2 .timeline-section,.profile-body-v2 .profile-section{border-radius:10px}.profile-body-v2 .contract-row{grid-template-columns:minmax(0,2fr) auto minmax(120px,1fr) minmax(120px,1fr) auto}.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}@media(max-width:1100px){.profile-overview-layout{grid-template-columns:1fr}.profile-snapshot{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-priority-grid{grid-template-columns:1fr}}@media(max-width:760px){.profile-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-snapshot{display:flex}.profile-tabs-v2{padding:8px 16px}.profile-tabs-v2 a{font-size:11px}.profile-body-v2 .contract-row{grid-template-columns:1fr}.profile-body-v2 .contract-row>div:nth-last-child(-n+2){display:block}}
@media(max-width:900px){.settings-home{grid-template-columns:1fr}.profile-thread .profile-message{max-width:88%}}
.automation-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:start}.automation-intro{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:12px}.automation-intro h2{font:800 20px var(--font-display);margin:4px 0 0}.trigger-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.trigger-pills span{padding:5px 8px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--secondary);font-size:9px}.automation-grid{display:grid;gap:10px}.automation-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.automation-card>header{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.automation-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:7px;background:var(--jade-soft);color:var(--pine)}.automation-icon svg{width:17px}.automation-card h2{font-size:13px;margin:0}.automation-card header small{font-size:9px;color:var(--muted)}.automation-flow{display:grid;grid-template-columns:auto 1fr 15px auto 15px 1fr;align-items:center;gap:8px;padding:15px 16px;font-size:10px}.automation-flow>span{color:var(--muted)}.automation-flow>svg{width:13px;color:var(--jade)}.automation-card>footer{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:9px}.automation-card>footer>div{display:flex;gap:6px;align-items:center}.automation-card form{margin:0}.automation-empty{display:grid;place-items:center;padding:50px 25px;background:#fff;border:1px dashed var(--line);border-radius:7px;text-align:center}.automation-empty>svg{width:32px;color:var(--jade)}.automation-empty h2{font:800 19px var(--font-display)}.automation-empty p{max-width:430px;color:var(--muted);font-size:11px}.run-history{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.run-history>header{padding:14px 15px;border-bottom:1px solid var(--line)}.run-history h2{font:800 17px var(--font-display);margin:0}.run-history header span{font-size:9px;color:var(--muted)}.run-row{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:11px 13px;border-bottom:1px solid var(--line-soft)}.run-status{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--jade-soft);color:var(--pine)}.run-status.suppressed{background:var(--brass-soft);color:#86691e}.run-status.failed{background:#f8e8e4;color:var(--coral)}.run-status svg{width:13px}.run-row strong,.run-row small,.run-row em{display:block}.run-row strong{font-size:10px}.run-row small,.run-row em{font-size:8px;color:var(--muted)}.automation-editor{display:grid;grid-template-columns:minmax(0,680px) 280px;gap:15px;align-items:start}.automation-editor>.form-card{padding:20px}.automation-guidance{display:flex;gap:10px;padding:12px;margin-bottom:15px;background:var(--jade-soft);border-radius:6px}.automation-guidance svg{width:19px;color:var(--pine)}.automation-guidance strong,.automation-guidance span{display:block}.automation-guidance strong{font-size:11px}.automation-guidance span{margin-top:2px;color:var(--secondary);font-size:9px}
@media(max-width:900px){.automation-layout,.automation-editor{grid-template-columns:1fr}.automation-flow{grid-template-columns:1fr}.automation-flow>svg{transform:rotate(90deg)}.automation-intro{display:block}.trigger-pills{justify-content:flex-start;margin-top:10px}}
.automation-presets{display:flex;gap:6px;padding:12px 28px 0}.automation-presets a{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--secondary);font-size:10px}.automation-presets a.active,.automation-presets a:hover{border-color:var(--jade);background:var(--jade-soft);color:var(--pine)}.automation-presets svg{width:14px}
@media(max-width:620px){.automation-presets{padding:10px 18px 0;overflow-x:auto}.automation-presets a{flex:0 0 auto}}
.automation-builder{padding:0!important;overflow:hidden}.automation-builder>section{display:grid;grid-template-columns:32px 1fr;gap:13px;padding:20px;border-bottom:1px solid var(--line)}.builder-step{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--pine);color:#fff;font-size:10px;font-weight:700}.automation-builder h2{font:800 18px var(--font-display);margin:2px 0}.automation-builder section p{margin:3px 0 15px;color:var(--muted);font-size:10px}.automation-builder label{display:block;color:var(--secondary);font-size:10px;font-weight:650}.automation-builder label input,.automation-builder label select,.automation-builder label textarea{display:block;width:100%;margin-top:5px}.advanced-config{margin-top:12px;border:1px solid var(--line-soft);border-radius:5px}.advanced-config summary{padding:9px 11px;color:var(--secondary);font-size:10px;cursor:pointer}.advanced-config textarea{width:calc(100% - 20px);margin:0 10px 10px}.condition-builder>label{display:flex;align-items:center;gap:7px}.condition-builder>label select{width:auto;margin:0}.condition-row{display:grid;grid-template-columns:1fr 1.25fr 1fr 32px;gap:6px;margin:7px 0}.automation-builder>footer{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#fafafa}.automation-builder>footer span{color:var(--muted);font-size:9px}.checklist{padding:10px 15px}.checklist span{display:flex;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:10px}.checklist svg{width:13px;color:var(--brass)}
@media(max-width:620px){.automation-builder>section{grid-template-columns:1fr}.condition-row{grid-template-columns:1fr}.automation-builder>footer{align-items:flex-start;gap:10px}.automation-editor{padding-top:10px}}
.automation-definition{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px 16px}.automation-definition span,.automation-definition strong{display:block}.automation-definition span{color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:700}.automation-definition strong{margin-top:3px;font-size:10px;overflow-wrap:anywhere}.unresolved-list{padding:8px 16px;background:var(--brass-soft);color:#735f29;font-size:9px}.unresolved-list span{font-weight:700;margin-right:5px}.pagination{display:flex;justify-content:center;gap:15px;padding:16px;font-size:10px}.pagination span{color:var(--muted)}
@media(max-width:620px){.automation-definition{grid-template-columns:1fr 1fr}}
/* Automation operations: controls, health, kill switch, agents, time machine */
.automation-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.control-tile{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--secondary)}
.control-tile svg{width:22px;color:var(--pine)}.control-tile strong{display:block;font-size:12px;color:var(--ink)}.control-tile small{font-size:10px;color:var(--muted)}
.control-tile.danger{border-color:#ebc8c4;background:var(--coral-soft)}.control-tile.danger svg{color:var(--coral)}
.kill-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-left:15px}.kill-banner::before{content:none}.kill-banner strong{display:flex;align-items:center;gap:6px}.kill-banner strong svg{width:15px}.kill-banner span{display:block;margin-top:3px;font-size:11px}
.health-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--muted);vertical-align:middle}
.health-dot.healthy{background:var(--ok)}.health-dot.degraded{background:var(--brass)}.health-dot.critical{background:var(--danger)}.health-dot.unknown{background:#b6b6bf}
.health-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 16px 12px}.health-line small{font-size:9px;color:var(--muted)}.auto-pause-tag{display:inline-flex;align-items:center;gap:4px}.auto-pause-tag svg{width:11px}
.metric-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:14px;border:1px solid var(--line);border-radius:7px;background:#fff}
.metric-strip>div{padding:14px 16px;border-right:1px solid var(--line)}.metric-strip>div:last-child{border:0}.metric-strip span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:700}.metric-strip strong{display:block;margin-top:4px;font:800 20px var(--font-display)}
.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.agent-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.agent-card>header{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}
.agent-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:7px;background:var(--jade-soft);color:var(--pine)}.agent-icon svg{width:17px}.agent-card h2{font-size:13px;margin:0}.agent-card header small{font-size:9px;color:var(--muted)}
.agent-card>footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--line-soft)}.agent-card>footer>div{display:flex;gap:6px;align-items:center}.agent-card form{margin:0}
.code-block{padding:8px 16px}.condition-result{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:11px}.condition-result svg{width:13px;margin-top:1px}.condition-result.pass svg{color:#2f9e6f}.condition-result.fail svg{color:var(--coral)}.condition-result em{color:var(--secondary);font-style:normal;font-weight:600}
.context-dump{margin:0;padding:14px 16px;background:var(--canvas);border-top:1px solid var(--line-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--secondary);white-space:pre-wrap;overflow-wrap:anywhere}
.inline-label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--secondary)}.method-row.highlight{background:var(--jade-soft)}
.form-card h3{font:800 16px var(--font-display);margin:14px 0 4px}
@media(max-width:900px){.automation-controls{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr 1fr}}
.test-history-title{margin-top:12px;border-top:3px solid var(--pink)}

/* ============================================================
   Interface pass — fixes found by reviewing every rendered page
   ============================================================ */

/* Numerals. The previous display serif set old-style figures: 0 reads as an empty ring and 1 as a
   bare stroke, which made every "0" on the dashboard and on contact profiles look
   like an unfilled control. Headings keep the display face; measured values move to the
   sans with tabular figures so columns of numbers also line up. */
.kpi-value,
.profile-summary strong,
.review-progress > strong,
.preview-price strong,
.public-price strong {
  font-family: var(--font-body);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.015em;
}
.table-wrap td, .data-table td { font-variant-numeric: tabular-nums; }

/* Filter bars had no rules at all, so the global `select { width: 100% }` gave every
   control its own full-width row — four stacked bars above Plans and Services. */
.filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 14px; }
.filter-bar input, .filter-bar select { width: auto; min-width: 150px; max-width: 220px; font-size: 12.5px; }
.filter-bar .search-control { flex: 1 1 240px; min-width: 190px; max-width: 340px; }
.filter-bar .search-control input { width: 100%; max-width: none; }
.filter-bar button, .filter-bar .icon-button { flex: none; }
@media (max-width: 620px) {
  .filter-bar { display: grid; grid-template-columns: 1fr; }
  .filter-bar input, .filter-bar select, .filter-bar .search-control { width: 100%; max-width: none; }
}

/* Settings rows were laid out for an icon + label + chevron, but the markup carries
   only the label, so every caption was squeezed into the 30px icon column and broke
   one word per line. Lay them out from what the markup actually contains. */
.settings-links a { display: flex; align-items: center; gap: 12px; }
.settings-links a > span { flex: 1 1 auto; min-width: 0; }
.settings-links a > svg { flex: none; }
.settings-links a::after { content: '→'; flex: none; color: var(--muted); font-size: 13px; }
.settings-links a:hover, .settings-links a:hover::after { color: var(--jade); }
.settings-links strong { font-size: 13px; }
.settings-links small { font-size: 11px; line-height: 1.45; }
.settings-links .settings-address {
  display: block; margin-top: 4px; overflow-wrap: anywhere;
  color: var(--secondary); font-size: 11px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* The public sign-up page is the only page a prospect ever sees, and it had no
   layout, no brand type and no vertical centring. */
body.public-page { background: var(--canvas); color: var(--ink); }
.marketing-site { min-height: 100vh; }
.marketing-site .site-header {
  position: sticky; top: 0; z-index: 20; display: flex; align-items: center;
  justify-content: space-between; gap: 28px; min-height: 76px; padding: 14px max(24px, calc((100vw - 1120px) / 2));
  border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96);
  box-shadow: 0 1px 12px rgba(17,17,20,.035); backdrop-filter: blur(10px);
}
.marketing-site .site-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font:800 19px/1.2 var(--font-display); white-space: nowrap; }
.marketing-site .site-brand:hover { color: var(--jade); }
.marketing-site .site-nav { display: flex; align-items: center; justify-content: flex-end; gap: 4px; flex-wrap: wrap; }
.marketing-site .site-nav a { padding: 7px 10px; border-radius: 5px; color: var(--secondary); font-size: 13px; font-weight: 600; }
.marketing-site .site-nav a:hover, .marketing-site .site-nav a[aria-current=page] { color: var(--pine); background: var(--jade-soft); }
.marketing-site #site-main { min-height: calc(100vh - 310px); }
.marketing-site .site-hero {
  padding: clamp(68px, 10vw, 126px) max(24px, calc((100vw - 1120px) / 2));
  color: #fff; background:
    radial-gradient(circle at 86% 25%, rgba(255,45,143,.22), transparent 30%),
    linear-gradient(125deg, #111114, #b8006e 68%, #e0559f);
}
.marketing-site .site-hero h1 { max-width: 760px; margin: 0; font:800 clamp(42px, 6.5vw, 74px)/1.06 var(--font-display); letter-spacing: -.025em; }
.marketing-site .site-hero .lede { max-width: 680px; margin: 22px 0 28px; color: #dedee4; font-size: clamp(17px, 2vw, 21px); line-height: 1.6; }
.marketing-site .site-hero .button { min-height: 46px; padding-inline: 19px; color: #111114; background: #ff2d8f; }
.marketing-site .site-hero .button:hover { color: #111114; background: #ffe9f4; }
.marketing-site .site-section { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: clamp(46px, 7vw, 78px) 0; }
.marketing-site .site-section + .site-section { padding-top: 0; }
.marketing-site .site-section > h1 { max-width: 780px; margin: 0 0 17px; font:800 clamp(36px, 5vw, 54px)/1.12 var(--font-display); letter-spacing: -.02em; }
.marketing-site .site-section > h1 + .lede { max-width: 720px; margin: 0 0 28px; color: var(--secondary); font-size: 18px; line-height: 1.65; }
.marketing-site .site-section > p { max-width: 760px; color: var(--secondary); font-size: 16px; line-height: 1.75; }
.marketing-site .site-cta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.marketing-site a.card { display: block; color: var(--ink); transition: transform .15s, border-color .15s, box-shadow .15s; }
.marketing-site a.card:hover { border-color: #c0bfc4; color: var(--ink); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.marketing-site .site-cta-grid .card { min-height: 178px; }
.marketing-site .site-cta-grid h2 { margin: 0 0 12px; color: var(--ink); font:800 24px/1.25 var(--font-display); }
.marketing-site .site-cta-grid p { margin: 0; color: var(--secondary); line-height: 1.65; }
.marketing-site .site-cta-grid .badge { min-height: 29px; margin: 8px 0 14px; font-size: 12px; }
.marketing-site .site-footer {
  display: grid; grid-template-columns: 1.3fr 1fr; gap: 36px; padding: 44px max(24px, calc((100vw - 1120px) / 2));
  border-top: 1px solid rgba(255,255,255,.12); color: #d6d6dd; background: #111114;
}
.marketing-site .site-footer strong { color: #fff; font:800 21px var(--font-display); }
.marketing-site .site-footer p { margin: 10px 0 0; font-size: 13px; }
.marketing-site .site-footer a { color: #dedee4; }
.marketing-site .site-footer a:hover { color: #fff; }
.marketing-site .site-footer nav { display: flex; align-items: flex-start; justify-content: flex-end; gap: 8px 18px; flex-wrap: wrap; }
.marketing-site .site-footer > .muted { grid-column: 1 / -1; margin-top: 2px; color: #9c9ca6; }
@media (max-width: 760px) {
  .marketing-site .site-header { position: static; display: block; padding: 17px 20px; }
  .marketing-site .site-nav { justify-content: flex-start; gap: 1px; margin-top: 13px; }
  .marketing-site .site-nav a { padding: 6px 8px; font-size: 12px; }
  .marketing-site .site-hero { padding: 62px 24px 68px; }
  .marketing-site .site-hero h1 { font-size: clamp(39px, 12vw, 54px); }
  .marketing-site .site-section { width: min(100% - 34px, 1120px); padding: 42px 0; }
  .marketing-site .site-cta-grid { grid-template-columns: 1fr; }
  .marketing-site .site-cta-grid .card { min-height: 0; }
  .marketing-site .site-footer { grid-template-columns: 1fr; padding: 36px 20px; }
  .marketing-site .site-footer nav { justify-content: flex-start; }
  .marketing-site .site-footer > .muted { grid-column: auto; }
}
.public-intake { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 44px 20px; }
.public-intake > section { width: 100%; max-width: 520px; padding: 38px 36px; }
.public-intake h1 { font:800 34px/1.15 var(--font-display); margin: 10px 0 12px; }
.public-intake > section > p { margin: 0 0 24px; color: var(--secondary); font-size: 15px; line-height: 1.6; }
.public-intake form p { margin: 0 0 15px; }
.public-intake label { display: block; margin-bottom: 5px; color: var(--secondary); font-size: 12px; font-weight: 650; }
.public-intake input[type=checkbox] { width: 18px; min-height: 0; height: 18px; margin-top: 2px; }
.public-intake .button { width: 100%; min-height: 46px; margin-top: 8px; font-size: 13.5px; }
.public-intake .supporting-copy { margin: 16px 0 0; text-align: center; }
@media (max-width: 520px) {
  .public-intake { padding: 26px 16px; }
  .public-intake > section { padding: 26px 22px; }
  .public-intake h1 { font-size: 28px; }
}

/* Used 24 times across the catalog and profile screens, never defined — these fell
   back to the browser's default button chrome. */
.icon-button {
  display: inline-grid; place-items: center; width: 34px; height: 34px; padding: 0;
  border: 1px solid var(--line); border-radius: 7px; background: #fff;
  color: var(--secondary); cursor: pointer; transition: border-color .15s, color .15s;
}
.icon-button:hover { border-color: var(--jade); color: var(--jade); }
.icon-button svg { width: 16px; }
.icon-button.small { width: 28px; height: 28px; }
.icon-button.small svg { width: 14px; }

.header-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.data-table { width: 100%; border-collapse: collapse; }

/* The dashboard lays out five measures in a two-column grid, which left a hole beside
   the last card. Fit as many equal columns as the width allows instead. */
.kpi-grid { grid-template-columns: repeat(auto-fit, minmax(216px, 1fr)); }
@media (max-width: 1180px) { .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .kpi-grid { grid-template-columns: 1fr; } }

/* 9px captions sat below a comfortably readable size in running text. */
.table-wrap td small, .kpi-card header small, .kpi-card footer { font-size: 10.5px; }

/* Inbox rows and the context rail put a name and its caption in the same line box,
   so they rendered run together as "Maya ChenWaiting for staff". */
.conversation-row > span > strong,
.conversation-row > span > small,
.conversation-context > a > strong,
.conversation-context > a > small { display: block; }
.conversation-row > span > small,
.conversation-context > a > small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.conversation-context > a { display: block; margin-bottom: 4px; color: var(--ink); }
.conversation-context > a:hover strong { color: var(--jade); }

/* as_p puts the consent label and its checkbox in separate lines; keep them together. */
.public-intake form p:has(input[type=checkbox]) {
  display: flex; flex-direction: row-reverse; justify-content: flex-end;
  align-items: center; gap: 10px; margin: 20px 0 4px;
}
.public-intake form p:has(input[type=checkbox]) label {
  margin: 0; color: var(--ink); font-size: 13px; font-weight: 500;
}
.public-intake .helptext { display: block; margin-top: 5px; color: var(--muted); font-size: 11.5px; }

/* Field-level validation copy had no styling, so errors read as ordinary text. */
.field-error { margin-top: 5px; color: #8c4039; font-size: 11.5px; font-weight: 600; }
.field.has-error input, .field.has-error select, .field.has-error textarea { border-color: #d8a49e; }
.field + .field { margin-top: 14px; }

/* Used to label controls for screen readers, but never defined, so the text rendered
   on screen (the studio switcher label, and table headers for action columns). */
.sr-only {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.action-stack { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.action-stack .inline-correct, .action-stack .inline-cancel { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.login-card form button[type=submit] { margin-top: 22px; }

/* Sales workspace */
.availability-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin: 0; }
.availability-day dt { font-weight: 600; margin-bottom: 4px; }
.availability-day dd { margin: 0; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.stack-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.process-steps { margin: 8px 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.inline-form { display: inline-flex; gap: 6px; align-items: center; }
.row-actions { display: flex; gap: 6px; flex-wrap: wrap; }

/* Contacts saved views + bulk actions */
.saved-views { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.saved-view-chip { display: inline-flex; align-items: center; gap: 2px; }
.save-view-form { display: inline-flex; gap: 6px; align-items: center; margin-left: auto; }
.save-view-form input[name=view_name] { padding: 4px 8px; }
.inline-check { display: inline-flex; gap: 4px; align-items: center; font-size: 0.85rem; }
.link-button { background: none; border: 0; color: var(--muted, #667); cursor: pointer; font-size: 1rem; line-height: 1; padding: 0 4px; }
.link-button:hover { color: #b00; }
.bulk-bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 8px 12px; background: var(--surface-2, #f4f5f7); border-radius: 8px; }
.bulk-action { display: inline-flex; gap: 6px; align-items: center; }

.contacts-page{display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px;align-items:start}.contacts-rail{position:sticky;top:58px;display:flex;flex-direction:column;gap:12px}.contacts-filter-card,.contacts-lifecycle-card,.contacts-saved-card,.contacts-results,.workforce-panel{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.contacts-filter-card{padding:15px}.contacts-filter-card label{margin-top:11px;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.contacts-filter-card label:first-child{margin-top:0}.contact-search-control{position:relative}.contact-search-control svg{position:absolute;left:10px;top:10px;width:16px;color:var(--muted)}.contact-search-control input{padding-left:34px}.contacts-filter-card input,.contacts-filter-card select{min-height:37px}.contacts-filter-actions{display:flex;gap:8px;margin-top:14px}.contacts-lifecycle-card{display:flex;flex-direction:column;padding:6px}.contacts-lifecycle-card a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:37px;padding:8px 10px;border-radius:7px;color:var(--secondary);font-size:12px;font-weight:700}.contacts-lifecycle-card a:hover{background:var(--paper);color:var(--pine)}.contacts-lifecycle-card a.active{background:var(--jade-soft);color:var(--pine)}.contacts-lifecycle-card b{min-width:26px;padding:2px 7px;border-radius:99px;background:#f9e5ee;color:var(--secondary);font-size:10px;text-align:center}.contacts-lifecycle-card a.active b{background:#fff;color:var(--pine)}.contacts-saved-card{padding:14px}.contacts-saved-card>header{display:flex;flex-direction:column;gap:10px}.contacts-save-view{display:grid;grid-template-columns:1fr auto auto;gap:7px;margin:0}.contacts-save-view .inline-check{grid-column:1/-1}.contacts-saved-list{display:flex;flex-direction:column;gap:5px;margin-top:10px}.contacts-saved-list>a,.contacts-saved-list>span{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:31px;padding:6px 8px;border-radius:7px;color:var(--secondary);font-size:11px;font-weight:700}.contacts-saved-list>a:hover,.contacts-saved-list>span:hover{background:var(--paper)}.contacts-saved-list .active{background:var(--jade-soft);color:var(--pine)}.contacts-saved-list small{color:var(--muted);font-weight:650}.contacts-saved-list p{margin:3px 0;color:var(--muted);font-size:11px}.contacts-results{min-width:0}.contacts-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:15px 18px;border-bottom:1px solid var(--line-soft)}.contacts-results-head h2{margin:2px 0 0;font-size:16px}.contacts-density-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:700}.contacts-density-note svg{width:15px;color:var(--jade)}.contacts-bulk-panel{border-bottom:1px solid var(--line-soft);background:#fafafa}.contacts-bulk-panel summary{display:inline-flex;align-items:center;gap:7px;margin:12px 16px;padding:7px 10px;border:1px solid #d9d8dc;border-radius:7px;background:#fff;color:var(--secondary);font-size:11px;font-weight:800;list-style:none;cursor:pointer}.contacts-bulk-panel summary::-webkit-details-marker{display:none}.contacts-bulk-panel summary svg{width:14px}.contacts-bulk-panel .bulk-bar{margin:0 16px 14px;background:#fff}.contact-card-list{display:flex;flex-direction:column}.contact-list-card{display:grid;grid-template-columns:28px minmax(245px,1.2fr) minmax(250px,1fr) minmax(190px,.8fr) 34px;gap:14px;align-items:center;min-height:88px;padding:14px 16px;border-bottom:1px solid var(--line-soft);background:#fff}.contact-list-card.compact{grid-template-columns:minmax(245px,1.1fr) minmax(220px,1fr) 34px}.contact-list-card:hover{background:#fdf9fb}.contact-list-card:last-child{border-bottom:0}.contact-select{display:grid;place-items:center;margin:0}.contact-main-link{display:flex;align-items:center;gap:12px;min-width:0;color:var(--ink)}.contact-photo{width:54px;height:54px;flex:none;border:1px solid #e2e1e4;border-radius:50%;object-fit:cover;background:var(--paper)}.contact-list-identity{display:flex;flex-direction:column;gap:4px;min-width:0}.contact-name-line{display:flex;align-items:center;gap:7px;min-width:0}.contact-name-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.contact-subline{color:var(--muted);font-size:11px}.contact-list-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.contact-list-metrics span{display:grid;grid-template-columns:16px auto;gap:2px 6px;align-items:center;min-height:44px;padding:7px 8px;border:1px solid var(--line-soft);border-radius:8px;background:var(--canvas)}.contact-list-metrics span.attention{border-color:#e4d8ba;background:#fffdf7}.contact-list-metrics svg{width:14px;color:var(--jade)}.contact-list-metrics b{font-size:13px}.contact-list-metrics small{grid-column:1/-1;color:var(--muted);font-size:9px;font-weight:700}.contact-list-reach{display:flex;flex-direction:column;gap:5px;min-width:0}.contact-list-reach span{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;color:var(--secondary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.contact-list-reach svg{width:13px;color:var(--muted)}.contact-open{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted)}.contact-open:hover{border-color:#d1d0d5;background:var(--jade-soft);color:var(--pine)}.contact-open svg{width:15px}.contact-empty-state{display:grid;place-items:center;gap:7px;min-height:260px;padding:32px;color:var(--muted);text-align:center}.contact-empty-state svg{width:28px;height:28px;color:var(--muted)}.contact-empty-state strong{color:var(--secondary);font-size:14px}.contact-empty-state span{font-size:11px}

.workforce-page{display:flex;flex-direction:column;gap:16px}.workforce-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.workforce-metrics article{min-height:104px;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.workforce-metrics article.attention{border-color:#e4c7c3;background:#fffafa}.workforce-metrics span,.workforce-metrics small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.workforce-metrics strong{display:block;margin-top:7px;font-size:28px;line-height:1}.workforce-metrics small{margin-top:12px;font-weight:700;letter-spacing:0;text-transform:none}.workforce-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}.workforce-rail{position:sticky;top:58px;display:flex;flex-direction:column;gap:12px}.workforce-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:14px 16px;border-bottom:1px solid var(--line-soft);background:#fff}.workforce-panel h2{margin:2px 0 0;font-size:15px}.workforce-people{display:flex;flex-direction:column}.workforce-person{display:grid;grid-template-columns:46px minmax(0,1fr) 28px;gap:11px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.workforce-person:last-child{border-bottom:0}.workforce-person img,.workforce-shift img,.workforce-role-grid img{width:46px;height:46px;border:1px solid #e2e1e4;border-radius:50%;object-fit:cover;background:var(--paper)}.workforce-person strong,.workforce-person span,.workforce-person small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workforce-person strong{font-size:12.5px}.workforce-person span{color:var(--secondary);font-size:10.5px;font-weight:700}.workforce-person small{color:var(--muted);font-size:9.5px}.workforce-person b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:99px;background:var(--jade-soft);color:var(--pine);font-size:10px}.workforce-note{font-size:11px}.workforce-main{display:flex;flex-direction:column;gap:16px;min-width:0}.workforce-action-drawer{position:relative}.workforce-action-drawer summary{list-style:none}.workforce-action-drawer summary::-webkit-details-marker{display:none}.workforce-action-drawer[open] .form-card{position:absolute;right:0;top:42px;z-index:12;width:min(430px,calc(100vw - 40px));padding:18px;border-radius:10px;box-shadow:var(--shadow-md)}.workforce-shifts{display:flex;flex-direction:column}.workforce-shift{display:grid;grid-template-columns:88px 46px minmax(0,1fr) auto minmax(120px,auto);gap:13px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.workforce-shift:last-child{border-bottom:0}.workforce-shift.is-offered{background:#fffdf7}.workforce-shift-time{padding:8px 9px;border-radius:8px;background:var(--paper);text-align:center}.workforce-shift-time strong,.workforce-shift-time span{display:block}.workforce-shift-time strong{font-size:12px}.workforce-shift-time span{margin-top:2px;color:var(--muted);font-size:9px}.workforce-shift-body{min-width:0}.workforce-shift-body strong,.workforce-shift-body span{display:block}.workforce-shift-body strong{font-size:13px}.workforce-shift-body span{color:var(--muted);font-size:10.5px}.workforce-shift-body p{margin:5px 0 0;color:var(--secondary);font-size:11px}.workforce-shift-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.workforce-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:16px;align-items:start}.coverage-list,.workforce-kpis,.workforce-role-grid{display:flex;flex-direction:column}.coverage-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line-soft)}.coverage-row:last-child{border-bottom:0}.coverage-row.uncovered{background:#fffafa}.coverage-kind{display:inline-flex;justify-content:center;padding:5px 8px;border-radius:7px;background:var(--paper);color:var(--secondary);font-size:10px;font-weight:800}.coverage-row strong,.coverage-row small{display:block}.coverage-row small{margin-top:2px;color:var(--muted);font-size:10px}.workforce-kpi{padding:14px 16px;border-bottom:1px solid var(--line-soft)}.workforce-kpi:last-child{border-bottom:0}.workforce-kpi header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.workforce-kpi strong,.workforce-kpi small{display:block}.workforce-kpi small{margin-top:2px;color:var(--muted);font-size:10px}.workforce-kpi>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}.workforce-kpi>div span{padding:9px 10px;border-radius:8px;background:var(--canvas)}.workforce-kpi b{display:block;margin-top:3px;font-size:16px}.workforce-kpi p{margin:10px 0 0;color:var(--secondary);font-size:11px}.workforce-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;padding:14px}.workforce-role-grid article{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid var(--line-soft);border-radius:9px;background:var(--canvas)}.workforce-role-grid small{grid-column:2;color:var(--muted);font-size:10px}.workforce-role-grid strong,.workforce-role-grid span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workforce-role-grid strong{font-size:12px}.workforce-role-grid span{color:var(--secondary);font-size:10.5px}
.workforce-panel{overflow:visible}
.compliance-system>header{flex-wrap:wrap}.compliance-legend{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:700}.status-dot{display:inline-block;width:10px;height:10px;border:2px solid currentColor;border-radius:50%}.status-dot.green{color:#27845f;background:#dff4e8}.status-dot.yellow{color:#9b7118;background:#fff0bd}.status-dot.red{color:#b54843;background:#fde1df}.status-dot.gray{color:#6f7774;background:#eae9eb}.compliance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;padding:14px}.compliance-card{overflow:hidden;border:1px solid var(--line);border-left:5px solid #7d8582;border-radius:9px;background:#fff}.compliance-card.status-green{border-left-color:#27845f}.compliance-card.status-yellow{border-left-color:#c49329}.compliance-card.status-red{border-left-color:#bd5049}.compliance-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 14px;border-bottom:1px solid var(--line-soft)}.compliance-card>header strong,.compliance-card>header small{display:block}.compliance-card>header small{margin-top:2px;color:var(--muted);font-size:10px}.compliance-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;white-space:nowrap}.compliance-card>p{margin:0;padding:11px 14px;color:var(--secondary);font-size:12px}.compliance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0 14px 14px}.compliance-metrics span{padding:8px;border-radius:7px;background:var(--canvas)}.compliance-metrics small,.compliance-metrics b{display:block}.compliance-metrics small{color:var(--muted);font-size:9px}.compliance-metrics b{margin-top:3px;font-size:15px}.compliance-caveat{border-top:1px solid var(--line-soft);font-size:10px!important}.compliance-recommendations{display:grid;gap:7px;padding:0 14px 14px}.recommendation{padding:9px 10px;border:1px solid #e0dfe2;border-radius:7px;background:var(--jade-soft)}.recommendation.support{border-color:#efd0cc;background:#fff5f4}.recommendation strong,.recommendation small{display:block}.recommendation strong{font-size:11px}.recommendation small{margin-top:3px;color:var(--secondary);font-size:10px;line-height:1.4}.compliance-disclaimer{display:flex;align-items:flex-start;gap:9px;padding:12px 15px;border-top:1px solid var(--line-soft);background:#fafafa;color:var(--secondary);font-size:11px}.compliance-disclaimer svg{width:17px;flex:none;color:var(--jade)}
.workforce-scheduler{display:flex;flex-direction:column;gap:16px}.scheduler-hero{display:grid;grid-template-columns:minmax(280px,1.25fr) repeat(4,minmax(140px,.75fr));gap:12px;align-items:stretch}.scheduler-hero>div,.scheduler-hero>article{min-height:108px;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.scheduler-hero h2{margin:5px 0 12px;font-size:22px}.scheduler-hero article span,.scheduler-hero article small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.scheduler-hero article strong{display:block;margin-top:8px;font-size:27px;line-height:1}.scheduler-hero article small{margin-top:13px;font-weight:700;letter-spacing:0;text-transform:none}.scheduler-hero article.attention{border-color:#e4d8ba;background:#fffdf7}.scheduler-week-nav{display:flex;gap:7px;flex-wrap:wrap}.scheduler-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.scheduler-main,.scheduler-side{display:flex;flex-direction:column;gap:16px;min-width:0}.scheduler-side{position:sticky;top:58px}.coverage-match-list{display:flex;flex-direction:column}.coverage-match-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:14px;align-items:start;padding:15px 16px;border-bottom:1px solid var(--line-soft);background:#fff}.coverage-match-card:last-child{border-bottom:0}.coverage-match-card.needs-coverage{background:#fffafa}.coverage-match-time{display:grid;gap:2px;justify-items:center;padding:9px 8px;border-radius:8px;background:var(--paper);text-align:center}.coverage-match-time strong{font-size:16px}.coverage-match-time span,.coverage-match-time small{color:var(--muted);font-size:10px;font-weight:700}.coverage-match-body{display:flex;flex-direction:column;gap:11px;min-width:0}.coverage-match-title{display:flex;gap:10px;align-items:flex-start}.coverage-match-title strong,.coverage-match-title small{display:block}.coverage-match-title strong{font-size:13px}.coverage-match-title small{margin-top:2px;color:var(--muted);font-size:10px}.candidate-list{display:flex;flex-direction:column;gap:8px}.candidate-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto auto;gap:9px;align-items:center;min-height:52px;padding:8px;border:1px solid var(--line-soft);border-radius:8px;background:#fff}.candidate-row img,.team-load-list img{width:38px;height:38px;border:1px solid #e2e1e4;border-radius:50%;object-fit:cover;background:var(--paper)}.candidate-row strong,.candidate-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-row strong{font-size:12px}.candidate-row span,.candidate-row small{color:var(--muted);font-size:10px;font-weight:700}.candidate-row form{margin:0}.candidate-empty{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px;border:1px dashed #dad9dc;border-radius:8px;background:#fafbf8;color:var(--muted);font-size:11px;font-weight:700}.candidate-empty svg{width:16px}.availability-form,.scheduler-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:15px 16px}.availability-form label,.scheduler-form-grid p{margin:0}.availability-form label span,.scheduler-form-grid label{display:block;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.availability-form button,.scheduler-form-grid button{grid-column:1/-1}.availability-form select,.availability-form input,.scheduler-form-grid select,.scheduler-form-grid input{width:100%;min-height:37px}.availability-list,.team-load-list{display:flex;flex-direction:column}.availability-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line-soft)}.availability-list article:last-child{border-bottom:0}.availability-list strong,.availability-list span,.availability-list small{display:block}.availability-list strong{font-size:12px}.availability-list span{margin-top:2px;color:var(--secondary);font-size:11px;font-weight:700}.availability-list small{margin-top:3px;color:var(--muted);font-size:10px}.team-load-list article{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;gap:10px;align-items:center;padding:12px 15px;border-bottom:1px solid var(--line-soft)}.team-load-list article:last-child{border-bottom:0}.team-load-list strong,.team-load-list span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-load-list strong{font-size:12px}.team-load-list span{margin-top:2px;color:var(--muted);font-size:10px;font-weight:700}.team-load-list b{display:grid;place-items:center;width:28px;height:28px;border-radius:99px;background:var(--jade-soft);color:var(--pine);font-size:10px}.load-meter{height:6px;margin-top:7px;border-radius:99px;background:#f8e4ed;overflow:hidden}.load-meter i{display:block;height:100%;border-radius:99px;background:var(--jade)}
.slot-assign-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;align-items:end;padding:10px;border:1px solid #e0dfe2;border-radius:8px;background:#fdf6f9}.slot-assign-form label{margin:0}.slot-assign-form label span{display:block;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.slot-assign-form select{width:100%;min-height:36px}.slot-assign-form .button{min-height:36px}.slot-match-note{grid-column:1/-1;color:var(--muted);font-size:10px;font-weight:700}.slot-match-note.warning{color:#8a6a1e}
.schedule-builder{gap:14px}.schedule-toolbar{display:grid;grid-template-columns:minmax(280px,1.2fr) repeat(4,minmax(135px,.75fr));gap:10px}.schedule-toolbar>div,.schedule-toolbar>article{min-height:96px;padding:14px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.schedule-range h2{margin:4px 0 11px;font-size:20px}.schedule-toolbar article span,.schedule-toolbar article small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.schedule-toolbar article strong{display:block;margin-top:7px;font-size:26px;line-height:1}.schedule-toolbar article small{margin-top:11px;font-weight:700;letter-spacing:0;text-transform:none}.schedule-toolbar article.attention{border-color:#e4d8ba;background:#fffdf7}.schedule-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}.schedule-board-panel{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.board-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.board-header h2{margin:2px 0 0;font-size:15px}.schedule-board{display:grid;grid-template-columns:minmax(205px,.82fr) repeat(var(--schedule-days),minmax(158px,1fr));overflow:auto;max-height:calc(100vh - 260px);background:#e9e8ea}.schedule-corner,.schedule-day-head,.open-coverage-head,.schedule-person-head,.schedule-cell{min-width:0;background:#fff;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.schedule-corner,.schedule-day-head{position:sticky;top:0;z-index:4;min-height:58px;padding:12px;background:#fcf5f8}.schedule-corner,.open-coverage-head,.schedule-person-head{position:sticky;left:0;z-index:3}.schedule-corner{z-index:5}.schedule-corner strong,.schedule-corner span,.schedule-day-head strong,.schedule-day-head span{display:block}.schedule-corner strong,.schedule-day-head strong{font-size:12px}.schedule-corner span,.schedule-day-head span{margin-top:3px;color:var(--muted);font-size:10px;font-weight:700}.schedule-day-head.today{background:var(--jade-soft)}.open-coverage-head{min-height:122px;padding:13px;background:#fffdf7}.open-coverage-head strong,.open-coverage-head span{display:block}.open-coverage-head strong{font-size:12px}.open-coverage-head span{margin-top:4px;color:#8a6a1e;font-size:10px;font-weight:700}.schedule-person-head{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;min-height:116px;padding:12px}.schedule-person-head img{width:38px;height:38px;border:1px solid #e2e1e4;border-radius:50%;object-fit:cover;background:var(--paper)}.schedule-person-head strong,.schedule-person-head span,.schedule-person-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-person-head strong{font-size:12px}.schedule-person-head span{color:var(--secondary);font-size:10px;font-weight:750}.schedule-person-head small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:700}.schedule-cell{min-height:116px;padding:8px}.schedule-cell.today{background:#fdf8fa}.open-coverage-cell{display:flex;flex-direction:column;gap:7px;background:#fffdf7}.open-coverage-cell.needs-work{background:#fff8f7}.empty-day{display:flex;align-items:center;min-height:28px;color:#9aa19b;font-size:10px;font-weight:700}.open-slot-card{display:grid;gap:5px;padding:8px;border:1px solid #ead7d2;border-radius:8px;background:#fff;color:var(--ink)}.open-slot-card.covered{border-color:#dcdbdf;background:#fdf6f9}.open-slot-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.open-slot-card header span{padding:3px 6px;border-radius:6px;background:var(--paper);color:var(--secondary);font-size:9px;font-weight:800}.open-slot-card header b{font-size:10px}.open-slot-card strong{font-size:11px;line-height:1.25}.open-slot-card small{color:var(--muted);font-size:9px;font-weight:700}.quick-slot-form{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:6px;align-items:center;margin-top:3px}.quick-slot-form select{min-height:31px;font-size:10.5px}.slot-warning{grid-column:1/-1;color:#8a6a1e;font-size:10px;font-weight:800}.shift-pill{display:grid;gap:5px;margin-bottom:7px;padding:8px;border-left:3px solid var(--jade);border-radius:8px;background:#faebf2;color:var(--ink)}.shift-pill.offered{border-left-color:#ff2d8f;background:#fffdf1}.shift-pill.claimed{border-left-color:#6a6771;background:#fbeef4}.shift-pill header,.shift-pill footer{display:flex;align-items:center;justify-content:space-between;gap:7px}.shift-pill header strong{font-size:11px}.shift-pill header span,.shift-pill footer span,.shift-pill small{color:var(--muted);font-size:9px;font-weight:750}.shift-pill footer form{margin:0}.availability-chip{display:inline-flex;align-items:center;gap:4px;margin:2px 4px 0 0;padding:4px 6px;border:1px solid #dddcdf;border-radius:6px;background:#fff;color:var(--secondary);font-size:9px;font-weight:750}.availability-chip svg{width:11px;height:11px}.schedule-side{position:sticky;top:58px;display:flex;flex-direction:column;gap:14px;min-width:0}.shift-pool-list{display:flex;flex-direction:column}.shift-pool-list article{padding:12px 15px;border-bottom:1px solid var(--line-soft)}.shift-pool-list article:last-child{border-bottom:0}.shift-pool-list strong,.shift-pool-list span,.shift-pool-list small{display:block}.shift-pool-list strong{font-size:12px}.shift-pool-list span{margin-top:3px;color:var(--secondary);font-size:10.5px;font-weight:700}.shift-pool-list small{margin-top:3px;color:var(--muted);font-size:10px}.schedule-empty{grid-column:1/-1}

@media(max-width:1150px){.contacts-page,.workforce-layout,.workforce-split{grid-template-columns:1fr}.contacts-rail,.workforce-rail{position:static}.contacts-rail{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr);align-items:start}.contacts-saved-card{grid-column:1/-1}.contact-list-card{grid-template-columns:28px minmax(245px,1fr) minmax(250px,1fr) 34px}.contact-list-metrics{grid-column:2/-1}.workforce-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.contacts-rail{display:flex}.contact-list-card,.contact-list-card.compact{grid-template-columns:28px minmax(0,1fr) 34px;gap:10px}.contact-list-card.compact{grid-template-columns:minmax(0,1fr) 34px}.contact-list-card.compact .contact-list-reach{grid-column:1/-1}.contact-list-metrics,.contact-list-reach{grid-column:2/-1}.contact-list-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.contacts-results-head{align-items:flex-start;flex-direction:column}.workforce-metrics{grid-template-columns:1fr}.workforce-shift{grid-template-columns:74px 42px minmax(0,1fr);align-items:start}.workforce-shift>.badge,.workforce-shift-actions{grid-column:3}.coverage-row{grid-template-columns:1fr}.workforce-action-drawer[open] .form-card{position:static;width:100%;margin-top:10px}.workforce-panel>header{align-items:flex-start;flex-direction:column}.workforce-role-grid{grid-template-columns:1fr}}
@media(max-width:1150px){.scheduler-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.scheduler-hero>div{grid-column:1/-1}.scheduler-layout{grid-template-columns:1fr}.scheduler-side{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.scheduler-side .workforce-panel:last-child{grid-column:1/-1}}@media(max-width:760px){.scheduler-hero,.scheduler-side{grid-template-columns:1fr}.coverage-match-card{grid-template-columns:1fr}.coverage-match-card>.badge{justify-self:start}.candidate-row{grid-template-columns:38px minmax(0,1fr) auto}.candidate-row small{grid-column:2}.candidate-row form{grid-column:1/-1}.slot-assign-form,.availability-form,.scheduler-form-grid{grid-template-columns:1fr}.coverage-match-title{flex-direction:column}}
@media(max-width:1200px){.schedule-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-range{grid-column:1/-1}.schedule-builder-layout{grid-template-columns:1fr}.schedule-side{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.schedule-side .workforce-panel:last-child{grid-column:1/-1}.schedule-board{max-height:none}}@media(max-width:760px){.schedule-toolbar,.schedule-side{grid-template-columns:1fr}.board-header{align-items:flex-start;flex-direction:column}.schedule-board{grid-template-columns:minmax(170px,.9fr) repeat(var(--schedule-days),minmax(145px,1fr))}.schedule-person-head{min-height:104px}.schedule-cell{min-height:104px}.quick-slot-form{grid-template-columns:1fr}.quick-slot-form .icon-button{width:100%}}

/* P1: bulk message/sequence preview, AI-draft review, sequence progress */
.preview-body, .preview-summary { padding: 12px; background: var(--surface-2, #f4f5f7); border-radius: 8px; }
.confirm-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 12px; }
.sequence-steps { display: flex; flex-direction: column; gap: 6px; margin: 0; padding-left: 1.2rem; }
.sequence-steps li { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.field-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.stack-form { display: flex; flex-direction: column; gap: 10px; max-width: 640px; }
.card-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.sequence-controls { display: inline-flex; gap: 10px; margin-top: 4px; }

.variant-editor{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}.variant-editor header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.variant-editor h2{margin:2px 0 0;font-size:15px}.variant-editor textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.variant-example{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:10px 0;padding:10px 12px;border:1px solid var(--line-soft);border-radius:8px;background:#fff}.variant-example code{font-size:11px}.variant-example span{color:var(--muted);font-size:10px}.variant-chip-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.variant-chip{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:99px;background:var(--jade-soft);color:var(--pine);font-size:9.5px;font-weight:700}.variant-stock-stack{display:flex;flex-direction:column;gap:3px}.variant-stock-stack span{font-size:11px}.variant-stock-stack b{color:#876b2e;font-size:10px}.variant-stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.variant-stock-grid article{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:12px;border:1px solid var(--line-soft);border-radius:9px;background:var(--canvas)}.variant-stock-grid strong,.variant-stock-grid span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variant-stock-grid span{color:var(--muted);font-size:10px}.variant-stock-grid b{grid-row:1/3;grid-column:2;align-self:center;font-size:20px}.variant-stock-grid small{grid-column:1/-1;width:max-content}

.attention-cockpit{display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(150px,.65fr));gap:12px;margin:14px 0}.attention-primary,.attention-tile{position:relative;min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);color:var(--ink)}.attention-primary{display:block;min-height:146px;padding:18px 20px;border-top:4px solid var(--coral)}.attention-primary strong{display:block;margin-top:7px;font-size:44px;line-height:1;color:var(--coral)}.attention-primary p{margin:2px 0 0;font-size:15px;font-weight:800}.attention-primary small{display:block;margin-top:12px;color:var(--muted);font-size:10.5px}.attention-primary svg{position:absolute;right:16px;top:16px;width:18px;color:var(--muted)}.attention-tile{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-content:center;min-height:146px;padding:15px}.attention-tile svg{width:30px;height:30px;padding:7px;border-radius:8px;background:var(--jade-soft);color:var(--pine)}.attention-tile.warn svg{background:var(--brass-soft);color:#876b2e}.attention-tile span,.attention-tile strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attention-tile span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.attention-tile strong{grid-column:2;font-size:18px}

.report-command{display:flex;flex-direction:column;gap:16px}.report-hero{display:grid;grid-template-columns:1.2fr repeat(2,minmax(220px,.8fr));gap:12px}.report-hero-card{position:relative;min-height:150px;padding:18px 19px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.report-hero-card.task-focus{border-top:4px solid var(--coral)}.report-hero-card strong{display:block;margin-top:8px;font-size:38px;line-height:1}.report-hero-card.task-focus strong{color:var(--coral)}.report-hero-card p{margin:7px 0 16px;color:var(--secondary);font-size:12px}.report-hero-card a{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800}.report-hero-card svg{width:14px}.report-dataset-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.report-dataset-strip article{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.report-dataset-strip span{color:var(--secondary);font-size:11px;font-weight:800}.report-dataset-strip b{display:grid;place-items:center;min-width:26px;height:26px;border-radius:99px;background:var(--jade-soft);color:var(--pine);font-size:11px}.report-workspace{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.report-workspace>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line-soft)}.report-workspace h2{margin:2px 0 0;font-size:16px}.report-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:14px}.report-card-v2{display:flex;flex-direction:column;min-height:190px;padding:15px;border:1px solid var(--line-soft);border-radius:9px;background:var(--canvas)}.report-card-v2.task-report{border-color:#e4d8ba;background:#fffdf7}.report-card-v2 header,.report-card-v2 footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-card-v2 h3{margin:13px 0 5px;font-size:14px}.report-card-v2 p{margin:0;color:var(--secondary);font-size:11px;line-height:1.45}.report-card-v2 footer{margin-top:auto;padding-top:14px}.report-card-v2 footer>span{color:var(--muted);font-size:10px;font-weight:800}.report-card-v2 footer div{display:flex;gap:6px}

.kpi-guide,.analytics-hub{display:flex;flex-direction:column;gap:16px}.kpi-guide-hero,.analytics-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:16px;align-items:stretch;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.kpi-guide-hero h2,.analytics-hero h2{margin:3px 0 8px;font-size:24px}.kpi-guide-hero p,.analytics-hero p{max-width:720px;margin:0;color:var(--secondary);font-size:13px}.kpi-guide-hero>a{display:grid;grid-template-columns:38px 1fr;gap:9px;align-content:center;padding:15px;border:1px solid #e4d8ba;border-radius:9px;background:#fffdf7;color:var(--ink)}.kpi-guide-hero>a svg{grid-row:1/3;width:34px;height:34px;padding:8px;border-radius:8px;background:var(--brass-soft);color:#876b2e}.kpi-guide-hero>a span{font-size:12px;font-weight:800}.kpi-guide-hero>a b{color:var(--pine);font-size:11px}.kpi-definition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.kpi-definition-card{display:flex;flex-direction:column;gap:13px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.kpi-definition-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.kpi-definition-card h2{margin:2px 0 0;font-size:16px}.kpi-current-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kpi-current-row div{padding:12px;border-radius:9px;background:var(--canvas)}.kpi-current-row span,.kpi-current-row strong{display:block}.kpi-current-row span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.kpi-current-row strong{margin-top:4px;font-size:20px}.kpi-definition-card dl{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px 12px;margin:0;font-size:11px}.kpi-definition-card dt{color:var(--muted);font-weight:800}.kpi-definition-card dd{margin:0;color:var(--secondary)}.analytics-spark{display:flex;align-items:end;gap:9px;min-height:130px;padding:16px;border-radius:10px;background:var(--jade-soft)}.analytics-spark span{flex:1;border-radius:5px 5px 0 0;background:var(--jade)}.analytics-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.analytics-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:4px 12px;min-height:166px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.analytics-card.priority{border-top:4px solid var(--coral)}.analytics-card svg{grid-row:1/4;width:38px;height:38px;padding:9px;border-radius:9px;background:var(--jade-soft);color:var(--pine)}.analytics-card.priority svg{background:var(--coral-soft);color:var(--coral)}.analytics-card span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.analytics-card strong{font-size:15px}.analytics-card p{margin:3px 0 0;color:var(--secondary);font-size:11px;line-height:1.45}

@media(max-width:1000px){.attention-cockpit,.report-hero,.kpi-guide-hero,.analytics-hero{grid-template-columns:1fr}.attention-cockpit{grid-template-columns:1fr 1fr}.attention-primary{grid-column:1/-1}}@media(max-width:680px){.attention-cockpit,.report-hero,.report-dataset-strip,.kpi-definition-grid,.analytics-card-grid{grid-template-columns:1fr}.report-workspace>header{align-items:flex-start;flex-direction:column}.kpi-definition-card dl{grid-template-columns:1fr}.kpi-current-row{grid-template-columns:1fr}}

/* Relationship milestones & reward inventory */
.badge.warn { background: var(--brass-soft, #f6ecd6); color: #8a6a1e; }
.inline-form summary { cursor: pointer; font-size: 12px; font-weight: 650; margin-top: 8px; }
.inline-form[open] { margin-top: 6px; }

/* Uploaded-reference schedule week view */
.calendar-view-tabs{display:flex;padding:3px;background:#eceaee;border-radius:7px}.calendar-view-tabs a{padding:6px 11px;border-radius:5px;color:var(--secondary);font-size:9px;font-weight:700}.calendar-view-tabs a.active{background:#fff;color:var(--pine);box-shadow:var(--shadow-sm)}.schedule-week-grid.day-view{grid-template-columns:minmax(280px,520px)}.schedule-week-grid.day-view .week-class-card{display:grid;grid-template-columns:85px 1fr 140px;gap:10px;align-items:center;padding:13px}.schedule-week-grid.day-view .week-class-card>div:first-child{display:block}.schedule-week-grid.day-view .week-class-card>strong{font-size:12px}.schedule-week-grid.day-view .class-fill{margin:0}.schedule-week-grid.day-view .week-class-card>small{grid-column:2}.schedule-week-grid.day-view .week-class-card>em{grid-column:3}
.schedule-topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 28px;background:#fff;border-bottom:1px solid var(--line)}.schedule-heading{display:flex;align-items:center;gap:18px}.schedule-heading h1{font-size:17px;margin:0}.week-switcher{display:flex;align-items:center;gap:8px;color:var(--secondary);font-size:12px}.week-switcher a{display:grid;place-items:center;width:30px;height:28px;border:1px solid var(--line);border-radius:7px;background:#fff}.schedule-filters{display:flex;gap:9px;align-items:center}.schedule-filters select{width:auto;min-width:125px}.schedule-page{padding:0 28px 30px}.schedule-legend{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 0 0;color:var(--muted);font-size:10px}.schedule-legend>div{display:flex;flex-wrap:wrap;gap:17px}.schedule-legend span{display:flex;align-items:center;gap:6px}.schedule-legend i{width:9px;height:9px;border-radius:2px}.business-lane{padding-top:14px}.business-lane>header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.business-lane>header div{display:flex;align-items:baseline;gap:10px}.business-lane>header strong{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.business-lane>header span{font-size:9px;color:var(--muted)}.business-lane>header a{font-size:10px;font-weight:700}.business-grid,.schedule-week-grid{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:10px}.business-grid>div{display:flex;flex-direction:column;gap:5px;min-height:8px}.business-event{padding:6px 8px;border:1px solid #dfdee1;background:var(--jade-soft);border-radius:7px;color:var(--secondary);font-size:9px;line-height:1.4}.business-event b{color:var(--pine)}.schedule-week-grid{padding-top:14px;align-items:start}.schedule-day{display:flex;flex-direction:column;gap:7px}.schedule-day>header{text-align:center;padding:7px;border-radius:8px;background:#f0f0f3;color:var(--secondary);font-size:10px;font-weight:700}.schedule-day>header.today{background:var(--pine);color:#fff}.schedule-day>header small{display:block;margin-top:2px;font-size:9px;font-weight:500;opacity:.75}.week-class-card{display:block;padding:9px 10px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--class-color);border-radius:8px;color:var(--ink)}.week-class-card:hover{border-color:var(--pine);color:var(--ink)}.week-class-card.cancelled{opacity:.55}.week-class-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.week-class-card time{font-size:10px;font-weight:700}.week-class-card>strong,.week-class-card>small{display:block}.week-class-card>strong{margin-top:2px;font-size:10px}.week-class-card>small{margin-top:2px;color:var(--muted);font-size:8px}.mini-status{padding:2px 6px;border-radius:99px;background:var(--brass-soft);color:#876b2e;font-size:7px;font-weight:700}.mini-status.danger{background:#fbf1f0;color:var(--coral)}.class-fill{display:flex;align-items:center;gap:6px;margin-top:7px}.class-fill>span{flex:1;height:5px;border-radius:9px;background:#f0f0f3;overflow:hidden}.class-fill i{display:block;height:100%;border-radius:9px;background:var(--class-color)}.class-fill b{font-size:8px}.week-class-card em{display:block;margin-top:5px;color:#876b2e;font-size:8px}.empty-day{padding:12px;text-align:center;color:var(--muted);font-size:9px;border:1px dashed var(--line);border-radius:8px}.utilization-panel{margin-top:22px;padding:15px 19px;background:#fff;border:1px solid var(--line);border-radius:10px}.utilization-panel>header{display:flex;justify-content:space-between;align-items:baseline}.utilization-panel>header strong{font-size:12px}.utilization-panel>header span{font-size:9px;color:var(--muted)}.util-bars{display:flex;gap:22px;align-items:flex-end;height:90px;padding:8px 6px 0}.util-bars>div{display:grid;grid-template-rows:14px 55px 14px;align-items:end;justify-items:center;flex:1;height:100%}.util-bars b{font-size:8px}.util-bars i{align-self:end;width:100%;max-height:55px;background:var(--sage);border-radius:4px 4px 0 0}.util-bars span{font-size:9px;color:var(--muted)}.drawer-scrim{position:fixed;inset:0;z-index:70;background:rgba(17,17,20,.42)}.class-drawer{position:fixed;z-index:71;top:0;right:0;bottom:0;width:min(420px,95vw);overflow-y:auto;background:#fff;box-shadow:-12px 0 40px rgba(17,17,20,.18)}.class-drawer>header{padding:19px 22px 15px;background:var(--paper);border-bottom:1px solid var(--line)}.class-drawer>header>div{display:flex;align-items:center;gap:9px}.class-drawer>header i{width:11px;height:11px;border-radius:3px}.class-drawer h2{font-size:15px;margin:0}.class-drawer>header>a{position:absolute;right:18px;top:15px;font-size:22px;color:var(--muted)}.class-drawer>header p{margin:6px 0 0;color:var(--muted);font-size:10px}.drawer-form{padding:18px 22px}.drawer-form p{margin:0 0 12px}.drawer-form label{display:block;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.drawer-form input,.drawer-form select{margin-top:6px}.drawer-form footer{display:flex;gap:8px;padding-top:12px}.attendance-link{display:flex;justify-content:space-between;align-items:center;padding:12px;margin:16px 0;border:1px solid var(--line);border-radius:9px}.attendance-link strong,.attendance-link span{display:block}.attendance-link strong{font-size:11px}.attendance-link span{font-size:9px;color:var(--muted)}.cancel-class{margin:0 22px 22px;padding:13px;background:#fbf1f0;border:1px solid #e4c7c3;border-radius:9px}.cancel-class label{display:block;color:var(--coral);font-size:11px;font-weight:700}.cancel-class input{margin:7px 0;width:100%}@media(max-width:1000px){.schedule-topbar,.schedule-legend{align-items:flex-start;flex-direction:column}.business-grid,.schedule-week-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:700px){.schedule-page,.schedule-topbar{padding-left:14px;padding-right:14px}.schedule-week-grid,.business-grid{display:flex;overflow-x:auto}.schedule-day,.business-grid>div{min-width:210px}.schedule-filters{flex-wrap:wrap}.utilization-panel>header{display:block}}

.schedule-agenda{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.schedule-agenda>header{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line);font-size:11px}.schedule-agenda>header span{color:var(--muted);font-size:9px}.schedule-agenda-item{display:grid;grid-template-columns:110px minmax(0,1fr) 145px;gap:10px;align-items:center;padding:10px 13px;border-bottom:1px solid var(--line-soft);border-left:3px solid var(--sage);color:var(--ink)}.schedule-agenda-item:last-child{border-bottom:0}.schedule-agenda-item:hover{background:#fdf5f9;color:var(--pine)}.schedule-agenda-item time,.schedule-agenda-item small{color:var(--muted);font-size:9px}.schedule-agenda-item strong{font-size:12px}.schedule-agenda-item.appointment{border-left-color:var(--brass)}.schedule-agenda-item.shift{border-left-color:#6c78a8}.schedule-agenda-item.event{border-left-color:var(--coral)}.business-grid,.schedule-week-grid{grid-template-columns:repeat(7,minmax(125px,1fr))}.schedule-calendar-item{display:block;padding:9px 10px;background:#f9e9f0;border:1px solid var(--line);border-left:3px solid var(--sage);border-radius:8px;color:var(--ink)}.schedule-calendar-item:hover{border-color:var(--pine);color:var(--ink)}.schedule-calendar-item time,.schedule-calendar-item strong,.schedule-calendar-item small{display:block}.schedule-calendar-item time{font-size:10px;font-weight:700}.schedule-calendar-item strong{margin-top:2px;font-size:10px}.schedule-calendar-item small{margin-top:2px;color:var(--muted);font-size:8px}.schedule-calendar-item.appointment{border-left-color:var(--brass);background:var(--brass-soft)}.schedule-calendar-item.shift{border-left-color:#6c78a8;background:#eef0f8}.schedule-calendar-item.event{border-left-color:var(--coral);background:#fbf1f0}@media(max-width:700px){.schedule-agenda-item{grid-template-columns:1fr}.schedule-agenda-item small{font-size:10px}}

.schedule-modal{position:fixed;z-index:72;top:50%;left:50%;transform:translate(-50%,-50%);width:min(500px,94vw);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(17,17,20,.25)}.schedule-modal>header{display:flex;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.schedule-modal h2{margin:0;font-size:15px}.schedule-modal p{margin:4px 0 0;color:var(--muted);font-size:10px}.schedule-modal>header>a{font-size:22px;color:var(--muted)}.schedule-modal>form{padding:17px 22px}.schedule-modal>form p{margin:0 0 11px}.schedule-modal>form footer{display:flex;justify-content:flex-end;gap:8px;padding-top:10px}

/* Real month calendar */
.month-calendar{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:10px}.month-weekdays,.month-week{display:grid;grid-template-columns:repeat(7,minmax(115px,1fr))}.month-weekdays{background:var(--paper);border-bottom:1px solid var(--line)}.month-weekdays span{padding:9px;text-align:center;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase}.month-day{min-height:125px;padding:8px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.month-day:last-child{border-right:0}.month-day.outside{background:#fafafa;opacity:.55}.month-day.today{background:var(--jade-soft)}.month-day>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.month-day>header span{display:grid;place-items:center;width:23px;height:23px;font-size:10px;font-weight:700}.month-day.today>header span{border-radius:50%;background:var(--pine);color:#fff}.month-day>header b{font-size:7px;text-transform:uppercase;color:var(--pine)}.calendar-chip{display:grid;grid-template-columns:42px 1fr;gap:4px;margin-bottom:4px;padding:4px 5px;border-left:3px solid var(--sage);border-radius:4px;background:#f9e9f0;color:var(--ink);font-size:8px;line-height:1.3}.calendar-chip:hover{color:var(--pine)}.calendar-chip time{color:var(--muted);font-size:7px}.calendar-chip.appointment{border-color:var(--brass);background:var(--brass-soft)}.calendar-chip.shift{border-color:#6c78a8;background:#eef0f8}.calendar-chip.event{border-color:var(--coral);background:#fbf1f0}.month-day>div>small{font-size:8px;color:var(--muted)}.calendar-key{display:flex;gap:18px;align-items:center;color:var(--muted);font-size:9px}.calendar-key span{display:flex;align-items:center;gap:5px}.calendar-key i{width:9px;height:9px;border-radius:2px;background:var(--sage)}.calendar-key i.appointment{background:var(--brass)}.calendar-key i.shift{background:#6c78a8}.calendar-key i.event{background:var(--coral)}.calendar-agenda{border:1px solid var(--line);border-radius:9px;background:#fff}.calendar-agenda>summary{padding:13px 16px;font-size:11px;font-weight:700;cursor:pointer}.calendar-agenda>p,.calendar-agenda>form,.calendar-agenda>section{margin-left:16px;margin-right:16px}@media(max-width:900px){.month-calendar{overflow-x:auto}.month-weekdays,.month-week{min-width:850px}}
.month-calendar.day-calendar .month-week{grid-template-columns:minmax(280px,520px)}.month-calendar.day-calendar .month-day{min-height:260px}.month-calendar.week-calendar .month-day{min-height:260px}.month-day>header strong{font-size:10px;color:var(--secondary)}.day-calendar .calendar-chip,.week-calendar .calendar-chip{grid-template-columns:58px 1fr;padding:8px 9px;font-size:10px}.day-calendar .calendar-chip time,.week-calendar .calendar-chip time{font-size:9px}@media(max-width:900px){.month-calendar.day-calendar .month-week{min-width:0}.month-calendar.week-calendar .month-week,.month-calendar.week-calendar .month-weekdays{min-width:850px}}

/* Class roster */
.roster-header .page-context{display:block;margin-top:4px}.roster-page{gap:18px}.roster-layout{align-items:start}.roster-panel{overflow:hidden}.roster-panel .card-header{padding:17px 18px;border-bottom:1px solid var(--line)}.roster-list{display:flex;flex-direction:column}.roster-member-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(120px,.75fr) minmax(120px,.7fr) auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line-soft);background:#fff}.roster-member-row:last-child{border-bottom:0}.roster-member-row:hover{background:#fcf5f8}.roster-person{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;color:var(--ink)}.roster-person strong,.roster-person small{display:block}.roster-person strong{font-size:12px}.roster-person small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.35}.roster-state{display:flex;flex-wrap:wrap;gap:6px}.roster-flags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.roster-flag{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;border:1px solid var(--line);background:#f3f3f5;color:var(--secondary)}.roster-flag svg{width:15px;height:15px}.roster-flag.milestone{background:#f6ecd6;border-color:#e8d4a7;color:#8a6a1e}.roster-flag.birthday{background:#fbf1f0;border-color:#e7c9c4;color:var(--coral)}.roster-flag.injury{background:#f9e9f0;border-color:#d7d6da;color:var(--pine)}.roster-flag.financial{background:#f0f0f3;border-color:#d4d4da;color:#6f5630}.roster-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px}.roster-actions form{margin:0}.roster-actions .row-menu summary{width:32px;height:32px}.correction-menu>div,.cancel-menu>div{right:0;width:min(320px,80vw)}.roster-row-tasks{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;padding-left:48px}.roster-row-tasks span{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:6px;background:var(--paper);color:var(--secondary);font-size:9px}.roster-row-tasks svg{width:12px;height:12px}.roster-sidebar .card{overflow:hidden}.roster-enroll-form p{margin:0 0 12px}.roster-enroll-form label{display:block;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase}.roster-enroll-form select{width:100%}.form-note{padding:9px 10px;border:1px solid #e4d8ba;border-radius:7px;background:var(--brass-soft);color:#725a23;font-size:10px;line-height:1.45}.roster-task-list{display:flex;flex-direction:column}.roster-task-row{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;padding:12px 15px;border-bottom:1px solid var(--line-soft);color:var(--ink)}.roster-task-row:last-child{border-bottom:0}.roster-task-row:hover{background:#fcf5f8;color:var(--pine)}.roster-task-row strong,.roster-task-row small{display:block}.roster-task-row strong{font-size:11px;line-height:1.35}.roster-task-row small{margin-top:3px;color:var(--muted);font-size:9px}.roster-task-row.critical{background:#fff8f7}.roster-task-row.important{background:#fffdf7}@media(max-width:1000px){.roster-layout{display:block}.roster-sidebar{margin-top:16px}.roster-member-row{grid-template-columns:minmax(0,1fr) auto}.roster-state,.roster-flags,.roster-actions{justify-content:flex-start}.roster-row-tasks{padding-left:0}}@media(max-width:700px){.roster-member-row{grid-template-columns:1fr}.roster-actions{justify-content:flex-start}.roster-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.roster-client-enroll{display:grid;gap:12px}.roster-client-enroll>label{margin:0}.roster-client-search{position:relative}.roster-client-search svg{position:absolute;left:11px;top:11px;width:16px;color:var(--muted)}.roster-client-search input{padding-left:36px}.roster-client-results{display:grid;gap:7px;max-height:315px;overflow-y:auto;padding:3px}.roster-client-option{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;gap:10px;align-items:center;width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.roster-client-option:hover,.roster-client-option.selected{border-color:#c7c6cb;background:var(--jade-soft)}.roster-client-option strong,.roster-client-option small{display:block}.roster-client-option strong{font-size:11.5px}.roster-client-option small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.35}.roster-client-option>svg{width:14px;color:var(--jade);opacity:.75}.roster-client-option.is-extra{display:none}.roster-selected-client{display:grid;grid-template-columns:54px minmax(0,1fr);gap:11px;padding:12px;border:1px solid #d7d6da;border-radius:9px;background:#fdf5f9}.roster-selected-client[hidden]{display:none}.roster-selected-client strong,.roster-selected-client small,.roster-selected-client span{display:block}.roster-selected-client strong{font-size:13px}.roster-selected-client small{margin-top:2px;color:var(--muted);font-size:10px}.roster-selected-client span{margin-top:4px;color:var(--secondary);font-size:10px}.roster-selected-client nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.roster-client-enroll button[disabled]{opacity:.55;cursor:not-allowed}

/* Operational registry index + business calendar */
.alert.warn { border-color: #e4d8ba; color: #8a6a1e; background: var(--brass-soft, #f6ecd6); }
.registry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.registry-card { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); align-items: start; }
.registry-card:hover { border-color: var(--jade); box-shadow: var(--shadow-md); }
.registry-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 9px; background: var(--jade-soft); color: var(--pine); }
.registry-icon svg { width: 19px; }
.registry-body { min-width: 0; }
.registry-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.registry-head strong { font-size: 14px; }
.registry-body p { margin: 6px 0 10px; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
.registry-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.registry-meta small { color: var(--muted); font-size: 10.5px; }
.registry-action { color: var(--jade); font-size: 11px; font-weight: 700; white-space: nowrap; }
.chip-row { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 4px; }
@media (max-width: 900px) { .registry-grid { grid-template-columns: 1fr; } }

/* Contacts directory command bar, ranked search, and merge review */
.contacts-header{align-items:center;gap:18px}.contacts-command-bar{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:1;min-width:0}.contacts-top-search{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1;min-width:280px}.contacts-top-search .contact-search-control{width:min(520px,100%)}.contacts-top-search .contact-search-control>svg{top:11px;z-index:2}.contacts-top-search input{min-height:39px;background:#fff}.contact-suggestions{position:absolute;z-index:55;top:calc(100% + 6px);left:0;right:0;max-height:320px;overflow-y:auto;padding:5px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow-md)}.contact-suggestions[hidden]{display:none}.contact-suggestions a{display:block;padding:10px 11px;border-radius:6px;color:var(--secondary);font-size:12px;font-weight:700}.contact-suggestions a:hover,.contact-suggestions a.active{background:var(--jade-soft);color:var(--pine)}.contacts-filter-menu{position:relative}.contacts-filter-menu>summary{display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer;white-space:nowrap}.contacts-filter-menu>summary::-webkit-details-marker{display:none}.contacts-filter-menu>summary b{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--pine);color:#fff;font-size:9px}.contacts-filter-popover{position:absolute;z-index:50;top:calc(100% + 7px);right:0;display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:11px;width:min(470px,calc(100vw - 30px));padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-md)}.contacts-filter-popover label{margin:0;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.contacts-filter-popover select{width:100%;margin-top:5px;min-height:37px}.contacts-filter-popover .contacts-filter-actions{grid-column:1/-1;justify-content:flex-end;margin-top:2px}.contacts-directory{display:flex;flex-direction:column;gap:10px}.contacts-directory .contacts-results{width:100%}.contacts-likely-note{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dddcdf;border-radius:8px;background:var(--jade-soft);color:var(--secondary);font-size:11px;font-weight:700}.contacts-likely-note svg{width:15px;color:var(--jade)}.contacts-active-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.contacts-active-filters span{padding:5px 8px;border-radius:99px;background:#ecefecca;color:var(--secondary);font-size:9px;font-weight:700}.contacts-active-filters a{font-size:10px;font-weight:800}.contacts-action-bar{display:flex;align-items:center;gap:8px;min-height:58px;padding:10px 16px;border-bottom:1px solid var(--line-soft);background:#fafafa;flex-wrap:wrap}.contacts-action-bar>strong{margin-right:auto;color:var(--muted);font-size:10px;white-space:nowrap}.contacts-action-bar .bulk-action{display:flex;gap:6px;align-items:center}.contacts-action-bar select,.contacts-action-bar input{width:auto;min-height:34px;font-size:10px}.contacts-action-bar input{max-width:130px}.contacts-action-bar svg{width:13px}.contacts-directory .contact-list-card{grid-template-columns:28px minmax(260px,1.25fr) minmax(220px,.8fr) minmax(160px,.65fr) 34px}.contacts-directory .contact-list-card.compact{grid-template-columns:minmax(260px,1.25fr) minmax(220px,.8fr) 34px}.contact-milestone-progress{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;min-height:48px}.contact-milestone-progress>svg{width:30px;height:30px;padding:7px;border-radius:8px;background:var(--jade-soft);color:var(--jade)}.contact-milestone-progress b,.contact-milestone-progress small{display:block}.contact-milestone-progress b{font-size:13px}.contact-milestone-progress small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.3}.contact-tag-list{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.contact-tag-list span{padding:4px 7px;border:1px solid #dfdfe1;border-radius:99px;background:#fcf5f8;color:var(--secondary);font-size:9px;font-weight:700}.contact-tag-list small{color:var(--muted);font-size:9px}.contact-merge-dialog{width:min(720px,calc(100vw - 30px));max-height:90vh;padding:0;border:0;border-radius:13px;background:#fff;box-shadow:0 24px 70px rgba(17,17,20,.28)}.contact-merge-dialog::backdrop{background:rgba(17,17,20,.5)}.contact-merge-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line-soft)}.contact-merge-dialog h2{margin:3px 0 0;font-size:18px}.contact-merge-dialog>p{margin:0;padding:14px 20px 0}.contact-merge-dialog fieldset{margin:15px 20px;padding:12px;border:1px solid var(--line);border-radius:9px}.contact-merge-dialog legend{padding:0 5px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.merge-survivor-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.merge-survivor-options label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:center;margin:0;padding:10px;border:1px solid var(--line-soft);border-radius:8px;background:var(--canvas);cursor:pointer}.merge-survivor-options strong,.merge-survivor-options small{display:block}.merge-survivor-options strong{font-size:12px}.merge-survivor-options small{margin-top:2px;color:var(--muted);font-size:9px}.merge-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:0 20px 18px}.merge-field-grid label{margin:0;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.merge-field-grid label.span-2{grid-column:1/-1}.merge-field-grid select,.merge-field-grid input{width:100%;min-height:38px;margin-top:5px;text-transform:none}.contact-merge-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line-soft);background:#fafafa}
@media(max-width:1050px){.contacts-header{align-items:flex-start;flex-direction:column}.contacts-command-bar{width:100%;justify-content:flex-start}.contacts-top-search{flex:1}.contacts-directory .contact-list-card{grid-template-columns:28px minmax(240px,1fr) minmax(190px,.7fr) 34px}.contact-tag-list{grid-column:2/-1}.contacts-action-bar>strong{margin-right:0}.contacts-action-bar .bulk-action{flex-wrap:wrap}}
@media(max-width:720px){.contacts-command-bar{align-items:stretch;flex-wrap:wrap}.contacts-top-search{width:100%;min-width:0}.contacts-filter-popover{position:fixed;top:72px;right:15px;left:15px;width:auto;grid-template-columns:1fr}.contacts-filter-popover .contacts-filter-actions{grid-column:1}.contacts-directory .contact-list-card,.contacts-directory .contact-list-card.compact{grid-template-columns:28px minmax(0,1fr) 34px;gap:10px}.contacts-directory .contact-list-card.compact{grid-template-columns:minmax(0,1fr) 34px}.contact-milestone-progress,.contact-tag-list{grid-column:2/-1}.contact-list-card.compact .contact-milestone-progress{grid-column:1/-1}.contacts-action-bar{align-items:stretch}.contacts-action-bar .bulk-action{width:100%}.contacts-action-bar .bulk-action select{flex:1;min-width:0}.merge-survivor-options,.merge-field-grid{grid-template-columns:1fr}.merge-field-grid label.span-2{grid-column:1}.contact-merge-dialog{overflow-y:auto}}
.new-contact-form{display:flex;flex-direction:column;gap:18px}.new-contact-form>section{padding-bottom:17px;border-bottom:1px solid var(--line-soft)}.new-contact-form>section h2{margin:4px 0 13px;font-size:16px}.new-contact-form .form-grid label{position:relative;margin:0;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.new-contact-form .form-grid label>b{float:right;color:var(--jade);font-size:8px}.new-contact-form .form-grid input,.new-contact-form .form-grid select{width:100%;margin-top:5px}.new-contact-form .form-grid small{display:block;margin-top:5px;color:var(--muted);font-size:9px;font-weight:500;letter-spacing:0;text-transform:none}.new-contact-form .errorlist{margin:5px 0 0;padding-left:16px;color:var(--coral);font-size:10px;text-transform:none}.new-contact-form .advanced-config{margin:0}.new-contact-form .advanced-config .form-grid{padding-top:13px}.contact-photo-input img{display:block;width:88px;height:88px;margin-top:10px;border:1px solid var(--line);border-radius:50%;object-fit:cover;background:var(--paper)}.contact-photo-input img[hidden]{display:none}
/* Contact profile command center */
.profile-photo-button{position:relative;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.profile-photo-button:focus-visible{outline:3px solid var(--brass);outline-offset:4px}.profile-photo-edit{position:absolute;left:50%;bottom:-7px;display:flex;align-items:center;gap:4px;transform:translateX(-50%);padding:4px 8px;border:2px solid #fff;border-radius:13px;background:var(--pine);color:#fff;font-size:9px;font-weight:800;line-height:1;white-space:nowrap;box-shadow:var(--shadow-sm)}.profile-photo-edit svg{width:11px;height:11px}.profile-photo-dialog{width:min(460px,calc(100vw - 32px))}.profile-photo-preview{display:block;width:128px;height:128px;margin:0 auto 16px;border:1px solid var(--line);border-radius:50%;object-fit:cover;background:var(--paper)}
.profile-avatar-photo{display:block;object-fit:cover;padding:0}
.member-profile-command-v2{grid-template-columns:minmax(220px,280px) minmax(460px,1fr) minmax(260px,330px);gap:18px}.member-profile-command-v2 .member-profile-history{min-width:0}.relationship-flag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px}.relationship-flag{display:flex;width:100%;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;min-height:126px;padding:12px 9px;border:1px solid var(--line-soft);border-radius:9px;background:#f7f7f9;color:#858b87;font:inherit;text-align:center}.relationship-flag:disabled{opacity:1}.relationship-flag:not(:disabled){cursor:pointer}.relationship-flag svg{width:22px;height:22px;flex:0 0 auto}.relationship-flag>span{font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.relationship-flag-detail{display:flex;min-width:0;flex-direction:column;align-items:center;gap:3px;line-height:1.35}.relationship-flag-detail small,.relationship-flag-detail strong{display:block;max-width:100%;overflow-wrap:anywhere;font-size:9px}.relationship-flag-detail small{opacity:.9}.relationship-flag-detail strong{font-weight:800}.relationship-flag.active{border-color:#c7c6cb;background:var(--jade-soft);color:var(--pine)}.relationship-flag.active.alert{border-color:#b64031;background:#c95443;color:#fff}.relationship-flag.active.frozen{border-color:#595760;background:#6e6c76;color:#fff}.flag-key{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;padding:0 14px 14px;color:var(--muted);font-size:9px}.flag-dot{width:8px;height:8px;border-radius:50%;background:#d6d8d6}.flag-dot.on{margin-left:0;background:var(--jade)}.flag-dot.alert{background:#c95443}.flag-dot.frozen{background:#6e6c76}
.freeze-dialog{width:min(720px,calc(100vw - 32px))}.freeze-dialog>div>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.freeze-summary{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #cecdd1;border-radius:9px;background:#faebf2;color:#514f57}.freeze-summary>svg{width:25px}.freeze-summary strong,.freeze-summary small{display:block}.freeze-summary small{margin-top:3px;font-size:10px}.freeze-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.freeze-action-card{display:flex;flex-direction:column;gap:11px;padding:15px;border:1px solid var(--line);border-radius:9px;background:#fff}.freeze-action-card.danger{border-color:#e5c5bf;background:#fff9f7}.freeze-action-card h3{margin:3px 0 0;font-size:14px}.freeze-action-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.freeze-action-card>label{margin:0;color:var(--secondary);font-size:9px;font-weight:800}.freeze-action-card input[type=date]{width:100%;margin-top:5px}.freeze-confirmation{display:flex;align-items:flex-start;gap:7px;padding:9px;border-radius:7px;background:#f8e9e5;color:#813729!important;line-height:1.4}.freeze-confirmation input{flex:0 0 auto;margin-top:1px}.freeze-action-card .button{margin-top:auto}@media(max-width:600px){.freeze-action-grid{grid-template-columns:1fr}}
.freeze-create-form{margin-top:15px}.freeze-create-form p{margin:0 0 12px}.freeze-create-form label{display:block;color:var(--secondary);font-size:10px;font-weight:800}.freeze-create-form select,.freeze-create-form input,.freeze-create-form textarea{width:100%;margin-top:5px}.freeze-create-form .helptext{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4}.freeze-create-form footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.communication-thread-card{min-height:680px}.communication-thread-card>header{align-items:flex-start}.communication-thread-card>.communication-thread{height:min(67vh,760px);min-height:560px;overflow-y:auto;scrollbar-gutter:stable;padding:20px;background:#f7f7f9}.communication-thread-card>footer{display:flex;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:10px}.communication-entry{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;margin:0 14% 16px 0}.communication-entry.outbound{grid-template-columns:minmax(0,1fr) 32px;margin:0 0 16px 14%}.communication-entry.outbound .communication-entry-icon{grid-column:2}.communication-entry.outbound .communication-entry-body{grid-column:1;grid-row:1;background:#e9f4ef;border-color:#d3d2d5}.communication-entry-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--jade)}.communication-entry-icon svg{width:15px;height:15px}.communication-entry.call .communication-entry-icon{color:var(--brass)}.communication-entry-body{min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:4px 12px 12px 12px;background:#fff;box-shadow:0 2px 8px rgba(17,17,20,.04)}.communication-entry.outbound .communication-entry-body{border-radius:12px 4px 12px 12px}.communication-entry-body>header{display:flex;justify-content:space-between;gap:12px}.communication-entry-body strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.communication-entry-body time,.communication-entry-body small{color:var(--muted);font-size:9px}.communication-entry-body h3{margin:10px 0 0;font-size:13px}.communication-entry-body p{margin:8px 0;overflow-wrap:anywhere;font-size:13px;line-height:1.55}.communication-empty{display:flex;min-height:280px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:30px;color:var(--muted);text-align:center}.communication-empty svg{width:30px;height:30px}.communication-empty strong,.communication-empty span{display:block}.communication-empty strong{color:var(--ink)}
.attention-card-v2>header{border-bottom:0}.attention-status-dot{width:12px;height:12px;border-radius:50%;background:var(--jade);box-shadow:0 0 0 5px rgba(184,0,110,.12)}.attention-card-v2.watch .attention-status-dot{background:var(--brass);box-shadow:0 0 0 5px rgba(201,138,22,.14)}.attention-card-v2.at_risk .attention-status-dot{background:var(--coral);box-shadow:0 0 0 5px rgba(176,52,38,.14)}.attention-clear{display:flex;gap:10px;padding:14px 16px}.attention-clear svg{width:18px;color:var(--jade)}.attention-clear strong,.attention-clear small{display:block}.attention-clear small{margin-top:3px;color:var(--muted);font-size:10px}.attention-attendance{display:grid;gap:0;margin:0;border-top:1px solid var(--line-soft)}.attention-attendance>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;padding:9px 14px;border-bottom:1px solid var(--line-soft);font-size:10px}.attention-attendance dt{color:var(--muted);font-weight:700}.attention-attendance dd{margin:0;font-weight:700}.attention-attendance .attention-evidence{background:#fffaf0}.attention-attendance .attention-evidence dd{color:#795c24;font-weight:600;line-height:1.35}.profile-task-card .task-line{padding:11px 14px}.ai-context-dialog{width:min(720px,calc(100vw - 32px))}.ai-context-dialog textarea{width:100%;resize:vertical;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.ai-context-dialog footer{display:flex;align-items:center;gap:12px;margin-top:12px}.ai-context-dialog [data-copy-ai-status]{color:var(--jade);font-size:11px;font-weight:700}
@media(max-width:1180px){.member-profile-command-v2{grid-template-columns:minmax(220px,280px) minmax(440px,1fr)}.member-profile-command-v2 .member-profile-attention{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.communication-thread-card>.communication-thread{height:620px}}
@media(max-width:820px){.member-profile-command-v2{grid-template-columns:1fr}.member-profile-command-v2 .member-profile-attention{grid-column:auto;grid-template-columns:1fr}.communication-thread-card>.communication-thread{height:auto;min-height:420px;max-height:680px}.communication-entry,.communication-entry.outbound{margin-left:0;margin-right:0}.communication-thread-card>header{display:grid}.communication-thread-card .header-actions{margin-top:8px}}
.relationship-flag{text-decoration:none}.injury-dialog,.waiver-dialog{width:min(820px,calc(100vw - 32px))}.injury-dialog>div>header,.waiver-dialog>div>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.injury-record-list{display:grid;gap:9px;max-height:280px;overflow:auto;margin:14px 0;padding-right:4px}.injury-record{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fafafa}.injury-record.active{border-color:#e0a99e;background:#fff8f6}.injury-record>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.injury-record p,.injury-record small{margin:0}.injury-record small{color:var(--muted);font-size:10px}.injury-record .inline-actions{display:flex;align-items:center;gap:8px;margin-top:3px}.injury-record .inline-actions input{width:auto}.injury-create-form{padding-top:14px;border-top:1px solid var(--line-soft)}.injury-create-form h3{margin-top:0}.injury-create-form p,.waiver-action-grid p{margin:0 0 11px}.injury-create-form label,.waiver-action-grid label{display:block;color:var(--secondary);font-size:10px;font-weight:800}.injury-create-form input,.injury-create-form select,.injury-create-form textarea,.waiver-action-grid input,.waiver-action-grid select,.waiver-action-grid textarea{width:100%;margin-top:5px}.injury-create-form input[type=checkbox],.waiver-action-grid input[type=checkbox]{width:auto}.waiver-preview{max-height:230px;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fafafa;white-space:pre-wrap;font-size:11px;line-height:1.5}.waiver-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.waiver-action-grid>form{padding:14px;border:1px solid var(--line);border-radius:8px}.waiver-action-grid h3{margin-top:0}@media(max-width:680px){.waiver-action-grid{grid-template-columns:1fr}}
.social-settings-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:18px}.social-account-list{padding-bottom:16px}.social-account-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 16px;border-top:1px solid var(--line-soft)}.social-account-card strong,.social-account-card small{display:block}.social-account-card small{margin-top:2px;color:var(--muted);font-size:9px}.social-account-card>label{grid-column:2/-1;color:var(--muted);font-size:9px;font-weight:800}.social-account-card>label input{width:100%;margin-top:4px}.social-account-form p{margin:0 0 11px}.social-account-form label{display:block;color:var(--secondary);font-size:9px;font-weight:800}.social-account-form input,.social-account-form select{width:100%;margin-top:4px}.social-account-form input[type=checkbox]{width:auto}.error-text{color:var(--coral)!important}@media(max-width:900px){.social-settings-layout{grid-template-columns:1fr}}
.contact-merge-dialog{width:min(860px,calc(100vw - 30px));overflow:auto}.merge-profile-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px 20px}.merge-profile-card{display:grid;grid-template-columns:20px 54px minmax(0,1fr);gap:10px;align-items:center;margin:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);cursor:pointer}.merge-profile-card:has(input:checked){border-color:#b2b1b7;background:var(--jade-soft)}.merge-profile-card img{width:54px;height:54px;border:1px solid var(--line);border-radius:50%;object-fit:cover;background:#fff}.merge-profile-card strong,.merge-profile-card small{display:block}.merge-profile-card strong{color:var(--ink);font-size:13px}.merge-profile-card small{margin-top:3px;color:var(--muted);font-size:9px}.merge-value-compare,.merge-tag-compare{margin:0 20px 15px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.merge-value-compare>header,.merge-value-row{display:grid;grid-template-columns:140px repeat(2,minmax(0,1fr));align-items:stretch}.merge-value-compare>header{background:var(--paper);color:var(--secondary);font-size:10px}.merge-value-compare>header>*{padding:9px 11px;border-right:1px solid var(--line-soft)}.merge-value-compare>header>*:last-child{border-right:0}.merge-value-row{border-top:1px solid var(--line-soft)}.merge-value-row>strong{padding:11px;color:var(--secondary);font-size:10px}.merge-value-row>label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:center;margin:0;padding:11px;border-left:1px solid var(--line-soft);cursor:pointer}.merge-value-row>label:has(input:checked){background:var(--jade-soft)}.merge-value-row>label span{overflow-wrap:anywhere;color:var(--ink);font-size:11px;line-height:1.35}.merge-tag-compare>header{padding:10px 12px;border-bottom:1px solid var(--line-soft);background:var(--paper)}.merge-tag-compare>header strong,.merge-tag-compare>header small{display:block}.merge-tag-compare>header strong{font-size:11px}.merge-tag-compare>header small{margin-top:2px;color:var(--muted);font-size:9px}.merge-tag-compare>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.merge-tag-column{display:flex;flex-direction:column;gap:6px;padding:11px 12px}.merge-tag-column+div{border-left:1px solid var(--line-soft)}.merge-tag-column>strong{margin-bottom:2px;color:var(--secondary);font-size:10px}.merge-tag-column>small{color:var(--muted);font-size:10px}.merge-tag-column label{display:flex;align-items:center;gap:7px;margin:0;padding:6px 8px;border:1px solid var(--line-soft);border-radius:7px;background:var(--canvas);color:var(--secondary);font-size:10px;font-weight:700;cursor:pointer}.merge-tag-column label:has(input:checked){border-color:#c9c8cd;background:var(--jade-soft);color:var(--pine)}.merge-reason{display:block;margin:0 20px 18px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.merge-reason input{width:100%;margin-top:5px;text-transform:none}@media(max-width:650px){.merge-profile-compare,.merge-tag-compare>div{grid-template-columns:repeat(2,minmax(210px,1fr));min-width:440px}.merge-value-compare{overflow-x:auto}.merge-value-compare>header,.merge-value-row{grid-template-columns:110px repeat(2,minmax(210px,1fr));min-width:530px}.merge-profile-compare{overflow-x:auto}}
.camera-upload-actions{display:inline-flex;align-items:center;margin:6px 0 6px 8px;vertical-align:middle}.camera-upload-button{white-space:nowrap}.camera-capture-dialog{width:min(680px,calc(100vw - 24px));padding:0}.camera-capture-shell{padding:20px}.camera-capture-shell>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.camera-capture-shell h2{margin:3px 0 0}.camera-preview{overflow:hidden;aspect-ratio:4/3;border-radius:10px;background:#0b0b0e;display:grid;place-items:center}.camera-preview video{display:block;width:100%;height:100%;object-fit:cover}.camera-capture-shell .form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}@media(max-width:600px){.camera-upload-actions{display:flex;margin:8px 0}.camera-upload-button{width:100%;justify-content:center}.camera-capture-shell{padding:14px}.camera-preview{aspect-ratio:3/4}}
.camera-window-page{min-height:100vh;margin:0;background:var(--canvas);display:grid;place-items:center;padding:18px}.camera-window-shell{width:min(700px,100%);padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.camera-window-shell h1{margin:3px 0 16px;font-family:var(--font-display);font-weight:400}.camera-window-shell .form-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:14px}.camera-status{min-height:34px}
form[aria-busy="true"]{cursor:progress}form[aria-busy="true"] textarea,form[aria-busy="true"] select,form[aria-busy="true"] input{opacity:.72}.profile-photo-button img{transition:opacity .18s ease}

/* --------------------------------------------------------------------------
   Sidebar identity panel: photo, name, and the staff completion ring.
   Sits on the site canvas rather than the pine sidebar — a green "doing well"
   ring on a green background reads as decoration, not status. The light panel
   gives every band (green / brass / coral) an unambiguous surface.
   -------------------------------------------------------------------------- */
.staff-identity {
  display: grid;
  justify-items: center;
  gap: 2px;
  margin: 0 6px 16px;
  padding: 16px 14px 14px;
  border-radius: 12px;
  background: var(--canvas);
  text-align: center;
}
.staff-identity-photo {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: 8px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--brass-soft);
  color: #7a6229;
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
}
.staff-identity > strong {
  overflow: hidden;
  max-width: 100%;
  color: var(--ink);
  font-size: 13.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.staff-identity > small { color: var(--muted); font-size: 11.5px; }

.staff-score { display: grid; justify-items: center; gap: 6px; margin-top: 12px; color: var(--secondary); }
.staff-score:hover .staff-score-label { color: var(--pine); }

/* conic-gradient arc; --score-turn is the completed percentage. */
.staff-score-ring {
  position: relative;
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: conic-gradient(var(--score-color, var(--jade)) calc(var(--score-turn, 0) * 1%), #e5e5ea 0);
}
.staff-score-ring::after {
  position: absolute;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--canvas);
  content: '';
}
.staff-score-ring b {
  position: relative;
  z-index: 1;
  color: var(--ink);
  font-size: 17px;
  font-weight: 700;
}
.staff-score-label { color: var(--muted); font-size: 11px; line-height: 1.35; }

/* Bands. Never colour alone — the number sits inside the ring and the band is
   spelled out underneath it. */
.staff-identity.strong    { --score-color: #2f7d55; }
.staff-identity.steady    { --score-color: #b08a2e; }
.staff-identity.attention { --score-color: var(--coral); }
.staff-identity.unrated   { --score-color: #bcbbc0; }

.prequal-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.prequal-question.inactive { opacity: .62; }
.prequal-question strong { display: block; font-size: 13.5px; }
.prequal-question small { display: block; margin-top: 2px; color: var(--muted); font-size: 11.5px; }

/* Data-capture answer on a task card: one question, two answers, no note. */
.outcome-answer { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 10px; }

/* My work: the score beside its own explanation. */
.score-explainer { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: start; }
.score-explainer-ring { margin: 0; padding: 14px; }
.score-explainer p { margin: 0 0 10px; font-size: 13.5px; line-height: 1.55; }
.score-explainer code { padding: 1px 5px; border-radius: 4px; background: var(--paper); font-size: 12px; }
.score-facts { display: grid; gap: 4px; margin: 0 0 12px; padding: 0; list-style: none; }
.score-facts li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--line-soft); font-size: 13px; }
.score-facts span { color: var(--muted); }
.my-photo { display: flex; align-items: flex-start; gap: 22px; flex-wrap: wrap; }
.my-photo-current {
  display: grid; place-items: center;
  width: 88px; height: 88px; flex: none;
  border-radius: 50%; object-fit: cover;
  background: var(--brass-soft); color: #7a6229;
  font-size: 26px; font-weight: 700; text-transform: uppercase;
}
.my-photo form { flex: 1; min-width: 260px; }
@media (max-width: 620px) { .score-explainer { grid-template-columns: 1fr; } }

/* Keep profile commands and wide records usable at laptop/tablet widths. */
.profile-hero-v2 { flex-wrap: wrap; }
.profile-hero-v2 .profile-actions { min-width: 0; flex-wrap: wrap; justify-content: flex-end; }
.profile-panel, .profile-section, .card { min-width: 0; }
.data-table { display: block; max-width: 100%; overflow-x: auto; }
@media (max-width: 900px) {
  .profile-hero-v2 .profile-actions { width: 100%; justify-content: flex-start; }
}
