/* BOP detailing workbench. 4px rhythm; same-surface navigation; records first.
   This file owns the visual contract; mna-interface retains legacy layout mechanics. */
:root,html[data-theme="light"],html[data-theme="dark"] {
  --workbench:#f5f5f2; --paper:#fdfdfb; --inset:#efefeb; --ink:#252724;
  --ink-secondary:#61655e; --ink-meta:#777b73; --ink-disabled:#979b93;
  --rule:rgba(37,39,36,.12); --rule-soft:rgba(37,39,36,.065); --rule-focus:#687b6c;
  --action:#33473c; --action-hover:#27392e; --action-wash:#e7ece5;
  --control-fill:#f1f2ed; --control-rule:rgba(37,39,36,.18);
  --bg:var(--paper); --bg-mute:var(--workbench); --bg-sink:var(--inset);
  --text:var(--ink); --text-mute:var(--ink-secondary); --text-soft:var(--ink-meta);
  --line:var(--rule); --line-soft:var(--rule-soft); --line-hi:var(--control-rule);
  --peach:var(--action); --peach-deep:var(--action-hover); --peach-soft:var(--action-wash);
  --lime:var(--action); --lime-deep:var(--action-hover); --lime-soft:var(--action-wash);
  --cta-bg:var(--action); --cta-hover:var(--action-hover); --cta-text:#fff;
  --ok:#41654d; --ok-soft:#e9efe8; --danger:#a34438; --danger-soft:#f7eae6;
  --warn:#846430; --warn-soft:#f4eedf; --info:#4f687d; --info-soft:#eaf0f4;
  --neutral:#73786d; --neutral-soft:#efefeb;
  --f-display:'Manrope',system-ui,sans-serif; --f-body:var(--f-display); --f-mono:var(--f-display);
  --r-sm:6px; --r-md:8px; --r-lg:8px; --r-xl:8px;
  --sh-card:none; --sh-elev:none; --sh-pop:0 8px 24px #25272412;
  --ring:0 0 0 3px #33473c1a; --bop-sidebar:208px;
  --bd:var(--rule); --bg2:var(--inset); --mut:var(--ink-secondary); --indigo:var(--action);
}
body { background:var(--workbench); font:400 13px/1.5 var(--f-body); color:var(--ink); letter-spacing:0; }
button,input,select,textarea { font-family:var(--f-body); }
[hidden] { display:none !important; }
:where(button,a,input,select,textarea,[tabindex]):focus-visible { outline:2px solid var(--rule-focus); outline-offset:2px; }
button:disabled,[aria-disabled="true"] { opacity:.5; cursor:not-allowed; }
[aria-busy="true"] { cursor:progress; }
::selection { background:var(--action-wash); }
:where(.main,.page,.view,.card,.panel,.dfcol,.workday-focus,.workday-metrics) { min-width:0; }
.h-page { font-size:18px; font-weight:700; line-height:1.35; letter-spacing:-.025em; }
.h-section { font-size:14px; font-weight:650; letter-spacing:-.015em; }
.h-card { font-size:13px; }
.num,.val,.price,.tab,.mono { font-variant-numeric:tabular-nums; }
.eyebrow { font-family:var(--f-body); font-size:10px; font-weight:650; letter-spacing:.06em; color:var(--ink-meta); }
.caption { font-size:11px; line-height:1.5; color:var(--ink-secondary); }
/* Shell: navigation is an index, never a second visual world. */
.app { grid-template-columns:var(--bop-sidebar) minmax(0,1fr); min-height:100dvh; }
.sidebar { background:var(--workbench); border-right:1px solid var(--rule); padding:20px 12px 12px; gap:24px; height:100dvh; overflow-y:auto; }
.brand { padding:0 8px; gap:8px; }
.brand .mark { width:28px; height:28px; border-radius:6px; background:#ffcc01; }
.brand .name { font-size:12px; letter-spacing:-.015em; }
.brand .name small { font-family:var(--f-body); font-size:9px; color:var(--ink-meta); letter-spacing:.04em; margin-top:2px; }
.nav-group { gap:2px; }
.nav-group .gl { padding:0 8px 8px; font-size:9px; letter-spacing:.08em; color:var(--ink-meta); }
.nav-item { min-height:36px; padding:8px; gap:8px; color:var(--ink-secondary); font-size:12px; border-radius:6px; }
.nav-item:hover { background:var(--inset); color:var(--ink); }
.nav-item.active { color:var(--ink); background:#e7e8e2; font-weight:650; box-shadow:none; }
.nav-item .ic { color:var(--ink-meta); }
.nav-item.active .ic { color:var(--action); }
.nav-item .badge,.nav-item.active .badge { font-size:10px; color:var(--ink-secondary); background:transparent; border-radius:4px; padding:0 4px; }
.user-chip { padding:12px 8px; border-top:1px solid var(--rule); border-radius:0; background:transparent; gap:8px; }
.user-chip .dr-meta { min-width:0; }
.user-chip .dr-meta b { font-size:11px; overflow-wrap:anywhere; }
.user-chip .dr-meta span { font-size:10px; }
.user-chip .more { min-width:28px; min-height:32px; align-items:center; justify-content:center; }
.topbar { padding:12px 24px; min-height:64px; background:var(--workbench); border-bottom:1px solid var(--rule); gap:16px; }
.topbar .ph { gap:2px; }
.topbar .ph .sub { font-size:10px; line-height:1.5; }
.topbar .controls { gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.page { padding:20px 24px 32px; gap:24px; }
/* Controls: one family, one height, specific semantic states. */
.btn,.dd-toggle,.input,.select { height:36px; min-height:36px; border:1px solid var(--control-rule); border-radius:6px; font-size:12px; font-weight:500; box-shadow:none; }
.btn { padding:0 12px; background:var(--paper); color:var(--ink); white-space:nowrap; gap:8px; }
.btn:hover { background:var(--inset); border-color:var(--control-rule); }
.btn:active { transform:none; background:#e6e8e1; }
.btn-primary,.btn-accent { background:var(--action); color:#fff; border-color:var(--action); font-weight:600; }
.btn-primary:hover,.btn-accent:hover { background:var(--action-hover); border-color:var(--action-hover); color:#fff; }
.btn-quiet,.btn-ghost { border-color:transparent; background:transparent; color:var(--ink-secondary); }
.btn-quiet:hover,.btn-ghost:hover { background:var(--inset); color:var(--ink); }
.btn-icon { width:36px; padding:0; }
.btn-sm { height:36px; padding:0 12px; font-size:11px; }
.input,.select,textarea.input,.login-input,.dp-field-input { background:var(--control-fill); color:var(--ink); border-color:var(--control-rule); font-weight:400; }
textarea.input { padding:12px; line-height:1.5; border-width:1px; border-radius:6px; }
.input:focus,.select:focus,textarea.input:focus,.login-input:focus { border-color:var(--rule-focus); box-shadow:var(--ring); }
.input::placeholder,textarea::placeholder { color:var(--ink-meta); }
.input[aria-invalid="true"],textarea[aria-invalid="true"] { border-color:var(--danger); }
.field > label { font-size:11px; color:var(--ink-secondary); font-weight:600; }
.seg,.workspace-segment,.pipeline-view-toggle { display:inline-flex; gap:2px; padding:2px; background:var(--inset); border:1px solid var(--rule); border-radius:6px; }
.seg button,.workspace-segment button,.pipeline-view-toggle button { height:30px; border:0; padding:0 12px; border-radius:4px; background:transparent; color:var(--ink-secondary); font:500 11px var(--f-body); }
.seg button.on,.workspace-segment button.active,.workspace-segment button[aria-pressed="true"],.pipeline-view-toggle button.active,.pipeline-view-toggle button[aria-pressed="true"] { background:var(--paper); color:var(--ink); box-shadow:0 0 0 1px var(--rule-soft); font-weight:650; }
.workspace-toolbar,.filter-bar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:0 0 16px; border:0; border-bottom:1px solid var(--rule); background:transparent; border-radius:0; }
.workspace-toolbar .spacer,.filter-bar .spacer { flex:1; }
.filter-bar .grp { gap:8px; }
.filter-bar .gl { font-size:10px; }
.pipe-tabs { gap:16px !important; border-bottom:1px solid var(--rule) !important; }
.pipe-tabs button,.seg-tabs button { font-size:12px; height:36px; padding-inline:4px; border-radius:0; }
/* Workday: the operational queue owns the canvas, figures occupy the margin. */
.workday-layout { display:grid; grid-template-columns:minmax(0,1fr) 288px; align-items:start; gap:32px; }
.workday-focus { background:var(--paper); border:1px solid var(--rule); border-radius:8px; overflow:hidden; }
.workday-focus > header,.workday-focus .section-head { padding:20px; border-bottom:1px solid var(--rule); display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.workday-focus h2 { font-size:16px; line-height:1.4; letter-spacing:-.02em; }
.workday-focus p { color:var(--ink-secondary); font-size:12px; margin-top:4px; }
.workday-queue { display:flex; flex-direction:column; }
.workday-queue > :is(a,button,.workday-row,.task-row) { padding:16px 20px; border:0; border-bottom:1px solid var(--rule-soft); background:transparent; text-align:left; color:var(--ink); border-radius:0; }
.workday-queue > :is(a,button,.workday-row,.task-row):hover { background:var(--workbench); }
.workday-queue > :last-child { border-bottom:0; }
.workday-row { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:12px; }
.workday-row b { font-size:13px; font-weight:650; }
.workday-row .caption { display:block; margin-top:4px; }
.workday-metrics { display:flex; flex-direction:column; gap:24px; }
.workday-metrics > section { padding-bottom:24px; border-bottom:1px solid var(--rule); }
.workday-metrics h3 { font-size:12px; color:var(--ink-secondary); font-weight:600; margin-bottom:12px; }
.workday-metrics .metric-value { display:block; font-size:28px; font-weight:650; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.workday-metrics .metric-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:8px 0; font-size:12px; }
.workday-metrics .metric-row span { color:var(--ink-secondary); }
.workday-metrics .hero,.workday-metrics .card,.workday-metrics .panel { border:0; padding:0; background:transparent; }
/* Existing analytics become supporting editorial sections, not colored KPI tiles. */
.card,.panel,.mgr-card { background:var(--paper); border:1px solid var(--rule); border-radius:8px; box-shadow:none; }
.card { padding:20px; }
.panel-head { padding:16px 20px; border-bottom:1px solid var(--rule-soft); }
.panel-head .sub { font-size:10px; color:var(--ink-meta); }
.panel-body { padding:12px 20px; }
.hero { background:transparent; border:0; border-radius:0; box-shadow:none; padding:20px 0; gap:12px; color:var(--ink); }
.hero .figure .num { font-size:36px; font-weight:650; letter-spacing:-.045em; color:var(--ink); }
.hero .figure .cur { font-size:16px; color:var(--ink-meta); }
.hero .delta,.hero .eyebrow,.hero .peak { color:var(--ink-secondary); font-size:11px; }
.hero .tag.live { background:transparent; color:var(--ink-meta); }
.dash-top { grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr); gap:32px; }
.dash-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-block:1px solid var(--rule); }
.kpi { background:transparent; border:0; border-right:1px solid var(--rule); border-radius:0; padding:16px 24px; box-shadow:none; }
.kpi:last-child { border-right:0; }
.kpi .icn { display:none; }
.kpi .label { font-size:11px; }
.kpi .val { font-size:24px; font-weight:650; letter-spacing:-.025em; }
.kpi .delta { font-size:10px; }
.dash-cmd { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:24px; }
.dash-cmd > :last-child { grid-column:1/-1; }
.dash-mid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.mini-head { gap:12px; align-items:baseline; }
.mini-head span { font-size:10px; text-align:right; }
.forecast-number strong { font-size:24px; font-weight:650; }
.forecast-progress,.mgr-plan .bar { height:4px; }
.forecast-split .mini { background:transparent; padding:0; }
.earn-card { background:transparent; color:var(--ink); border:0; border-block:1px solid var(--rule); border-radius:0; box-shadow:none; padding:20px 0; }
.earn-card .eyebrow,.earn-card .lead,.earn-card .planline,.earn-card .split .it { color:var(--ink-secondary); }
.earn-card .big,.earn-card .split .it b,.earn-card .lime { color:var(--ink); font-size:24px; }
.earn-card .split .it { border-color:var(--rule); }
.earn-card .planbar { background:var(--inset); height:4px; }
.earn-card .planbar span { background:var(--action); }
.act-row { padding:8px 0; font-size:11px; flex-wrap:wrap; gap:4px 8px; }
.act-row .when { font-size:10px; width:56px; }
.av { border-radius:6px; font-family:var(--f-body); font-size:11px; }
.av.peach,.av.lime { background:var(--action-wash); color:var(--action); }
.tag { font-size:10px; line-height:1.4; font-weight:500; border-radius:4px; padding:2px 6px; }
/* Dense records: quiet owner, clear customer, amount, then next operational state. */
.kanban { grid-auto-columns:256px; gap:12px; align-items:start; padding-bottom:16px; }
.kanban .col { background:transparent; border:0; border-radius:0; max-height:calc(100dvh - 208px); }
.col-head { padding:8px 4px 12px; gap:4px; border-bottom:1px solid var(--rule); }
.col-head .label-row .label { font-size:11px; font-weight:650; }
.col-head .label-row .count { font-size:10px; color:var(--ink-meta); }
.col-head .sub { font-size:10px; }
.col-body { padding:8px 0; gap:8px; overflow-y:auto; min-height:80px; scrollbar-width:thin; }
.deal-card { padding:12px; gap:8px; border:1px solid var(--rule); background:var(--paper); border-radius:6px; box-shadow:none; }
.deal-card:hover { transform:none; border-color:var(--control-rule); box-shadow:none; background:#fff; }
.deal-card .top { gap:8px; }
.deal-card .top .av { width:24px; height:24px; font-size:9px; }
.deal-card .top .who b { font-size:12px; font-weight:650; line-height:1.4; }
.deal-card .top .who span { font-size:9px; }
.deal-card .car { font-size:11px; line-height:1.4; }
.deal-card .mid { gap:8px; }
.deal-card .mid .price { font-size:13px; font-weight:650; letter-spacing:-.02em; }
.deal-card .bottom { padding-top:8px; border-top:1px solid var(--rule-soft); font-size:10px; }
.deal-card.urgent { border-color:#a3443840; }
.col-add { padding:0; }
.col-add button { height:36px; border:0; border-radius:6px; text-align:left; padding:0 12px; font-size:11px; color:var(--ink-meta); }
.col-add button:hover { color:var(--ink); background:var(--inset); }
.pipe-table { width:100%; border-collapse:collapse; background:var(--paper); font-size:12px; }
.pipe-table th,table.data th { padding:12px 16px; background:var(--workbench); color:var(--ink-secondary); border-bottom:1px solid var(--rule); font-size:10px; font-weight:600; text-transform:none; letter-spacing:0; white-space:nowrap; text-align:left; }
.pipe-table td,table.data td { padding:12px 16px; border-bottom:1px solid var(--rule-soft); vertical-align:middle; }
.pipe-table tbody tr:hover,table.data tbody tr:hover { background:var(--workbench); }
.pipe-table td.num,.pipe-table th.num,table.data .num { text-align:right; font-variant-numeric:tabular-nums; }
.pipe-table td small { display:block; margin-top:4px; color:var(--ink-meta); }
.pipe-table a { font-weight:600; }
table.data { font-size:12px; }
.pipe-table-wrap,#view-customers .panel,#view-finance .panel { overflow-x:auto; }
.deal-row { padding:12px 0; gap:12px; border-bottom:1px solid var(--rule-soft); border-radius:0; }
.deal-row .dr-meta b,.deal-row .price { font-size:12px; font-weight:600; }
.deal-row .dr-meta span { font-size:11px; }
/* Tasks, finance, staff, settings: emphasize rows and relationships. */
.task-row { padding:12px 0; border-bottom:1px solid var(--rule-soft); border-radius:0; gap:12px; }
.task-row .t-info b { font-size:12px; }
.task-row .t-info span,.task-due { font-size:11px; }
.task-check { border-radius:4px; border-color:var(--control-rule); }
.sum-tile { padding:12px 16px; background:transparent; border:0; border-left:2px solid var(--rule); border-radius:0; box-shadow:none; }
.sum-tile.active { border-left-color:var(--action); background:var(--action-wash); }
.sum-tile .val { font-size:24px; font-weight:650; }
.fin-figure .num { font-size:32px; font-weight:650; letter-spacing:-.04em; }
.fin-figure .cur { font-size:16px; }
.mgr-card { padding:20px; gap:16px; }
.mgr-head { gap:12px; }
.mgr-head .who b { font-size:13px; }
.mgr-head .who span { font-size:11px; }
.mgr-stats { padding:12px 0; border-block:1px solid var(--rule-soft); }
.mgr-stats .st b { font-size:20px; font-weight:650; }
.mgr-stats .st span { font-size:10px; }
.mgr-earn { background:transparent; border:0; padding:0; color:var(--ink); }
.mgr-earn b { font-size:20px; color:var(--ink); }
.setting-row { padding:16px 20px; gap:16px; }
.setting-row .meta { min-width:0; }
.setting-row .meta b { font-size:12px; font-weight:600; }
.setting-row .meta span { font-size:11px; line-height:1.5; }
#view-settings .panel { margin-bottom:24px; }
#view-settings .seg-tabs { margin-bottom:20px; }
.toggle.on { background:var(--action); }
/* Deal workspace: service ledger and conversation beside editable customer facts. */
.deal-full { left:var(--bop-sidebar); background:var(--workbench); }
.deal-full .dft { padding:12px 24px; min-height:64px; background:var(--workbench); border-color:var(--rule); gap:12px; }
.deal-full .dft .who h2 { font-size:18px; line-height:1.4; }
.deal-full .dft .who .caption { font-size:10px; }
.deal-full .dfs { padding:24px; }
.deal-full .dfcols { grid-template-columns:minmax(0,1.8fr) minmax(272px,1fr); gap:24px; max-width:1440px; }
.deal-full .dfcol { gap:20px; }
.info-row { padding:12px 0; font-size:12px; border-color:var(--rule-soft); }
.dp-fvalue { color:var(--ink); }
.dp-field-input { border-radius:4px; border-width:1px; min-height:36px; }
.dp-service-chip,.choice label { border-width:1px; border-radius:6px; min-height:36px; font-size:12px; }
.dp-service-chip.is-on,.choice input:checked + label,.choice label.on { background:var(--action-wash); color:var(--action); border-color:var(--rule-focus); }
.form-grid { gap:16px; }
.form-sec { gap:16px; }
.amount-preview { padding:16px; background:var(--inset); border-radius:6px; }
.amount-preview b { font-size:24px; font-weight:650; }
.drawer { width:min(560px,94vw); background:var(--paper); border-color:var(--rule); box-shadow:var(--sh-pop); }
.drawer-backdrop,.cmdk-backdrop,.payout-backdrop { background:#25272438; backdrop-filter:none; }
.deal-drawer-head,.dealdr-head { padding:20px 24px; background:var(--paper); }
.deal-drawer-body,.dealdr-body { padding:24px; gap:24px; }
.deal-drawer-title,.dealdr-head h2 { font-size:20px; line-height:1.4; letter-spacing:-.025em; }
.deal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; border-block:1px solid var(--rule); padding:20px 0; }
.deal-field { display:flex; flex-direction:column; gap:4px; }
.deal-field span { color:var(--ink-secondary); font-size:11px; }
.deal-field b { font-size:12px; overflow-wrap:anywhere; }
.deal-actions { display:flex; gap:8px; flex-wrap:wrap; }
.dd-menu,.calp,.cmdk,.status-picker,.user-menu,.deal-menu-pop,.notif-pop { background:var(--paper); border:1px solid var(--rule); border-radius:8px; box-shadow:var(--sh-pop); }
.payout-modal { background:var(--paper); color:var(--ink); border:1px solid var(--rule); border-radius:8px; box-shadow:var(--sh-pop); }
.payout-modal :is(.pm-eyebrow,.pm-share,.pm-row .l,.pm-cur) { color:var(--ink-secondary); }
.payout-modal .pm-total { color:var(--ink); font-size:36px; }
.payout-modal :is(.pm-nav,.pm-seg,.pm-rows) { border-color:var(--rule); background:transparent; }
.payout-modal :is(.pm-seg-btn,.pm-nav-btn,.pm-close) { color:var(--ink-secondary); }
.payout-modal .pm-seg-btn.active { background:var(--inset); color:var(--ink); }
/* Inbox: message content is the only large open surface. */
.chats-page { height:calc(100dvh - 108px); min-height:440px; }
.chats-layout { grid-template-columns:272px minmax(0,1fr) 232px; border:1px solid var(--rule); border-radius:8px; box-shadow:none; }
.chats-list,.chats-context,.chat-conversation-head,.chat-conversation-compose { background:var(--paper); }
.chats-list-head { min-height:64px; padding:12px 16px; }
.chats-list-head b { font-size:13px; }
.chats-list-search { margin:0 12px 12px; height:36px; background:var(--control-fill); border-radius:6px; }
.chat-list-row { padding:12px; gap:8px; min-height:68px; border-top:1px solid var(--rule-soft); }
.chat-list-row:hover { background:var(--workbench); }
.chat-list-row.active { background:var(--action-wash); box-shadow:inset 2px 0 var(--action); }
.chat-list-main b { font-size:12px; }
.chat-list-main span,.chat-list-meta { font-size:10px; }
.chat-conversation-head { min-height:64px; padding:12px 16px; }
.chat-conversation-head > div b { font-size:13px; }
.chat-conversation-head > div span { font-size:11px; }
.chat-conversation-body,.chat-body { background:var(--workbench); padding:20px; }
.chat-conversation-body .dp-msg,.chat-body .dp-msg { max-width:min(84%,560px); padding:8px 12px; border-radius:6px; font-size:13px; line-height:1.6; box-shadow:none; }
.chat-conversation-body .dp-msg.out,.chat-body .dp-msg.out { background:var(--action-wash); color:var(--ink); border:1px solid #33473c0f; border-bottom-right-radius:2px; }
.chat-conversation-body .dp-msg.in { border:1px solid var(--rule-soft); border-bottom-left-radius:2px; background:var(--paper); }
.dp-msg-time { opacity:1; color:var(--ink-meta); font-size:9px; }
.dp-msg-tick.read { color:var(--info); }
.dp-msg-bubble a { text-decoration:underline; overflow-wrap:anywhere; }
.chat-conversation-compose { padding:12px; gap:8px; min-height:60px; }
.chat-compose-icon,.chat-conversation-compose .input,.chat-conversation-compose .btn { height:36px; border-radius:6px; }
.chat-compose-icon { border-color:var(--rule); color:var(--ink-secondary); }
.chats-context { padding:20px 16px; }
.chat-context-card { gap:16px; }
.chat-context-person { flex-direction:column; align-items:flex-start; gap:12px; padding-bottom:4px; }
.chat-context-person .av { background:var(--inset); color:var(--ink-secondary); }
.chat-context-person > div b { font-size:13px; }
.chat-context-row { padding-top:12px; border-color:var(--rule); }
.chat-context-row span { font-size:10px; }
.chat-context-row b { font-size:12px; font-weight:550; }
.state-empty,.chat-empty-state { color:var(--ink-secondary); font-size:12px; }
.state-empty b,.chat-empty-state b { color:var(--ink); font-size:14px; font-weight:600; }
/* Entry: a work credential form, not a marketing splash. */
#login-screen { background:var(--workbench); min-height:100dvh; padding:32px 24px; }
.login-card { max-width:360px; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; gap:0; animation:none; }
.login-card::before { content:none; }
.login-brand { margin-bottom:32px; }
.login-brand .word { display:flex; gap:8px; align-items:center; margin-bottom:28px; }
.login-brand .word .login-mark { width:28px; height:28px; }
.login-brand .word b { font:700 15px var(--f-body); letter-spacing:-.025em; }
.login-brand .word span { font-size:12px; color:var(--ink-secondary); }
.login-brand .word .acc { display:none; }
.login-brand h1 { text-align:left; font-size:24px; font-weight:650; letter-spacing:-.035em; line-height:1.4; margin:0 0 8px; }
.login-brand .sub { font-size:12px; line-height:1.6; margin:0; color:var(--ink-secondary); }
.login-label { color:var(--ink-secondary); font-size:11px; text-transform:none; letter-spacing:0; font-weight:600; margin-bottom:8px; }
.login-group { margin-bottom:20px; }
.login-input { height:40px; padding:0 12px; border:1px solid var(--control-rule); border-radius:6px; font-size:13px; }
.login-btn { height:40px; padding:0 16px; font-size:12px; background:var(--action); color:#fff; border-radius:6px; margin-top:4px; }
.login-btn:hover { background:var(--action-hover); }
.login-err { color:var(--danger); font-size:11px; line-height:1.5; }
.login-foot { border-top:1px solid var(--rule); padding-top:20px; margin-top:28px; color:var(--ink-meta); font-size:10px; }
#boot-splash { background:var(--workbench); }
.bs-logo b { color:var(--ink); font-family:var(--f-body); font-size:28px; }
.bs-logo span,.bs-sub { color:var(--ink-meta); }
.bs-logo .acc { background:var(--action); }
.bs-spinner { border-color:var(--rule); border-top-color:var(--action); }
@media (max-width:1280px) {
  .topbar { flex-wrap:wrap; padding:12px 20px; }
  .topbar .controls { flex:1 1 auto; }
  .page { padding:20px; }
  .workday-layout { grid-template-columns:minmax(0,1fr) 248px; gap:24px; }
  .chats-layout { grid-template-columns:248px minmax(0,1fr); }
  .chats-context { display:none; }
  .chats-page { height:calc(100dvh - 148px); }
  #view-team .cols-3,#view-integrations .cols-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1040px) {
  .workday-layout { grid-template-columns:minmax(0,1fr); }
  .workday-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .dash-top,.dash-mid { grid-template-columns:minmax(0,1fr); }
  .deal-full .dfcols { grid-template-columns:minmax(0,1fr); }
  .chats-layout { grid-template-columns:224px minmax(0,1fr); }
  .chat-wa-status { display:none; }
  .setting-row { flex-wrap:wrap; }
  .setting-row .meta { flex:1 1 200px; }
  .setting-row > div[style] { flex-wrap:wrap; }
}
@media (max-width:760px) {
  :root { --bop-sidebar:0px; }
  .app { grid-template-columns:minmax(0,1fr); }
  .sidebar { display:none; }
  .topbar { position:relative; padding:16px; gap:12px; min-height:64px; }
  .topbar .ph { flex:1 1 100%; }
  .topbar .ph .h-page { font-size:20px; }
  .topbar .controls { flex:1 1 100%; justify-content:flex-start; gap:8px; }
  .topbar .controls > .btn-primary,.topbar .controls > .btn:first-child { flex:0 1 auto; }
  .topbar .controls .seg { flex:1 1 auto; }
  .page { padding:16px 12px calc(88px + env(safe-area-inset-bottom)); gap:20px; }
  .mobile-nav { background:var(--workbench); border-top:1px solid var(--rule); backdrop-filter:none; box-shadow:none; padding:8px 4px calc(8px + env(safe-area-inset-bottom)); }
  .mobile-nav a { min-height:44px; color:var(--ink-secondary); border-radius:6px; font-size:9px; gap:4px; }
  .mobile-nav a.active { color:var(--action); background:var(--action-wash); font-weight:650; }
  .btn,.btn-sm,.btn-icon,.input,.select,.dd-toggle,.login-input,.login-btn,.chat-compose-icon { height:44px; min-height:44px; }
  .btn-icon,.chat-compose-icon { min-width:44px; }
  .input,.select,textarea.input,.login-input,.chats-list-search input { font-size:16px; }
  .seg button,.workspace-segment button,.pipeline-view-toggle button { min-height:40px; }
  .workspace-toolbar,.filter-bar { padding-bottom:12px; gap:8px; }
  .workspace-toolbar .search,.filter-bar .search { flex:1 1 100%; min-width:0; }
  .workspace-toolbar .spacer,.filter-bar .spacer { display:none; }
  .workday-layout,.dash-cmd,.dash-mid,.dash-top { grid-template-columns:minmax(0,1fr); gap:20px; }
  .workday-focus > header,.workday-focus .section-head { padding:16px; flex-wrap:wrap; gap:8px; }
  .workday-queue > :is(a,button,.workday-row,.task-row) { padding:16px; }
  .workday-metrics { gap:16px; }
  .workday-metrics .metric-value { font-size:24px; }
  .dash-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .kpi { padding:12px; }
  .kpi .val { font-size:22px; }
  .kpi .label,.kpi .delta { font-size:10px; }
  .dash-cmd > :last-child { grid-column:auto; }
  .hero { padding:16px 0; }
  .hero .figure .num { font-size:30px; }
  .card,.mgr-card { padding:16px; }
  .panel-head,.panel-body { padding:16px; }
  .kanban { grid-auto-columns:min(272px,82vw); gap:12px; }
  .kanban .col { max-height:72dvh; }
  .deal-card { padding:12px; }
  .col-add button { height:44px; }
  .pipe-table,table.data { min-width:620px; }
  .pipe-table td,table.data td { padding:12px; }
  .deal-full { left:0; }
  .deal-full .dft { padding:12px 16px; gap:8px; }
  .deal-full .dft .who { width:100%; }
  .deal-full .dfs { padding:16px 12px calc(24px + env(safe-area-inset-bottom)); }
  .deal-full .dfcols { gap:20px; }
  .drawer { width:100%; max-width:100%; height:94dvh; max-height:94dvh; border-radius:8px 8px 0 0; }
  .deal-drawer-head,.dealdr-head,.deal-drawer-body,.dealdr-body { padding:20px; }
  .form-grid { grid-template-columns:1fr; }
  .cols-2,.cols-3,#view-team .cols-3,#view-integrations .cols-3 { grid-template-columns:1fr; }
  .setting-row { padding:16px; gap:12px; }
  .setting-row .meta { flex-basis:calc(100% - 64px); }
  .chats-page { height:auto; min-height:0; overflow:visible; }
  .chats-layout { display:flex; flex-direction:column; height:auto; }
  .chats-list { flex:none; max-height:240px; border-right:0; border-bottom:1px solid var(--rule); }
  .chats-list-head { min-height:56px; padding:12px; }
  .chats-list-scroll { max-height:128px; }
  .chats-list-search { height:40px; }
  .chat-conversation { flex:none; height:66dvh; min-height:400px; }
  .chat-conversation-head { padding:12px; min-height:64px; }
  .chat-conversation-body { padding:16px 12px; }
  .chat-conversation-compose { padding:8px; flex-wrap:wrap; }
  .chat-conversation-compose .input,.chat-conversation-compose .btn { height:44px; }
  .chat-conversation-compose .input { min-width:100px; }
  .chat-conversation-body .dp-msg { max-width:90%; }
  .chats-context { display:none; }
  #login-screen { padding:32px 24px; }
  .login-card { max-width:360px; }
  .login-brand { margin-bottom:28px; }
}
@media (max-width:380px) {
  .workday-metrics { grid-template-columns:1fr; }
  .dash-kpis { grid-template-columns:1fr; }
  .kpi { border-right:0; border-bottom:1px solid var(--rule); }
  .kpi:last-child { border-bottom:0; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* Daily operations hierarchy: work orders dominate, money supports. */
.workday-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--rule-soft)}
.workday-section-head h3{font-size:14px;font-weight:650;margin:0;color:var(--ink)}
.workday-section-head h3 span{color:var(--ink-meta);font-size:12px;margin-left:6px;font-weight:500}
.workday-section-head p{font-size:12px;color:var(--ink-secondary);margin:4px 0 0}
.workday-focus>.workday-queue+.workday-queue{border-top:1px solid var(--rule)}
.workday-task{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--rule-soft)}
.workday-task>div{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.workday-task b{font-size:13px;font-weight:600}.workday-task a,.workday-task span{color:var(--ink-secondary);font-size:12px}
.workday-task time{font-size:12px;white-space:nowrap}.workday-check{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--control-rule);border-radius:50%;background:transparent;color:transparent;flex-shrink:0}.workday-check:hover{color:var(--action);border-color:var(--action)}
.workday-record{display:flex;align-items:center;gap:16px;text-decoration:none}.workday-record-body{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.workday-record-body b{font-size:13px;font-weight:600}.workday-record-body span,.workday-record-meta span{font-size:12px;color:var(--ink-secondary)}.workday-record-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:100px;font-size:12px}.workday-record-meta b{font-weight:550;font-variant-numeric:tabular-nums}.workday-record>span:last-child{color:var(--ink-meta)}
.workday-empty{padding:20px;color:var(--ink-secondary);font-size:12px}.workday-add{align-self:flex-start!important;color:var(--action)!important;width:auto}
.workday-amount{font-size:32px;line-height:1.3;letter-spacing:-.04em;font-weight:650;font-variant-numeric:tabular-nums;margin:12px 0 4px}.workday-amount span{font-size:20px;color:var(--ink-meta);font-weight:500}.workday-revenue>p{color:var(--ink-secondary);font-size:12px}.workday-revenue dl{margin:24px 0 16px}.workday-revenue dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px}.workday-revenue dt{color:var(--ink-secondary)}.workday-revenue dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.workday-note{font-size:11px;line-height:1.65;color:var(--ink-meta)}
.workday-metrics .workday-section-head{padding:0 0 12px;border:0}.workday-metrics .workday-record{padding:12px 0;gap:8px}.workday-metrics .workday-record-meta{min-width:0}.workday-metrics .workday-empty{padding:8px 0}
.pipe-table{overflow:auto;border:1px solid var(--rule);border-radius:8px;background:var(--paper)}.pipe-table table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.pipe-table th{text-align:left;color:var(--ink-secondary);font-weight:500;background:var(--workbench);padding:12px}.pipe-table td{padding:12px;border-top:1px solid var(--rule-soft)}.pipe-table td small{display:block;color:var(--ink-meta);margin-top:3px}.pipe-table tr:hover td{background:var(--workbench)}.record-link{font-weight:650;color:var(--ink);text-decoration:none}.table-stage{display:inline-flex;align-items:center;gap:6px}.table-stage i{width:6px;height:6px;border-radius:50%;background:var(--stage)}.table-pagination{font-size:12px;color:var(--ink-secondary);margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){.workday-section-head{padding:16px;align-items:flex-start;gap:8px}.workday-section-head .btn{padding:0 8px;font-size:11px}.workday-task{padding:16px}.workday-check{width:40px;height:40px;color:var(--ink-meta)}.workday-record{gap:8px}.workday-record-meta{min-width:0}.workday-record-body span{max-width:160px;overflow-wrap:anywhere}.workday-amount{font-size:28px}}
.workday-controls{display:flex;align-items:center;gap:8px}.workday-controls .select{min-width:100px}.workspace-toolbar h2{margin:4px 0 0;font-size:20px;letter-spacing:-.03em}.workday-controls .workspace-segment{margin-right:8px}@media(max-width:760px){.workday-controls{flex-wrap:wrap}.workspace-toolbar{align-items:flex-start;gap:16px}}
.workday-controls{margin-left:auto}.pipeline-view-toggle{margin-left:auto}.pipe-tabs{margin-bottom:0!important;border-bottom:0!important}#view-pipeline>.workspace-toolbar{padding-bottom:12px}#view-pipeline>.filter-bar{padding:0 0 12px;margin-top:0!important}#view-pipeline{gap:12px}.pipe-table td{padding-block:8px}.deal-field-group{padding-top:16px}.deal-field-group+.deal-field-group{margin-top:16px;border-top:1px solid var(--rule)}.deal-field-group h3{font-size:11px;font-weight:650;color:var(--ink-secondary);margin:0 0 8px}.workspace-dialog{width:min(420px,calc(100vw - 32px));border:1px solid var(--rule);border-radius:12px;padding:24px;background:var(--paper);color:var(--ink);box-shadow:var(--sh-pop)}.workspace-dialog::backdrop{background:#25272440}.workspace-dialog h2{font-size:18px;margin:0 0 24px}.workspace-dialog label{display:flex;flex-direction:column;gap:8px;font-size:12px}.workspace-dialog form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.media-pending{padding:12px;font-size:12px;background:var(--warn-soft);color:var(--warn);border-top:1px solid var(--rule)}
#mobile-nav>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:0;color:var(--ink-secondary);font-size:10px;padding:8px;min-height:52px}.mobile-sections nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}.mobile-sections nav a{display:flex;align-items:center;gap:12px;min-height:48px;color:var(--ink);text-decoration:none;padding:8px;background:var(--inset);border-radius:6px}.setting-row>div[style*="align-items:center"]{flex-wrap:wrap}.media-pending .btn{margin-left:8px}
