:root {
  color-scheme: light;
  --brand: #9f171b;
  --brand-strong: #7f1014;
  --brand-soft: #fbe9e9;
  --accent: #08775b;
  --accent-strong: #056249;
  --accent-soft: #e5f6f0;
  --warning: #a85d00;
  --warning-soft: #fff3d6;
  --danger: #b42318;
  --danger-soft: #feeceb;
  --ink: #17212b;
  --muted: #5f6b76;
  --subtle: #8a949e;
  --canvas: #f5f7f8;
  --surface: #ffffff;
  --surface-raised: #ffffff;
  --border: #dce2e7;
  --border-strong: #bfc8d0;
  --focus: #0b74de;
  --shadow-sm: 0 1px 2px rgba(21, 29, 36, .06);
  --shadow-md: 0 8px 24px rgba(21, 29, 36, .08);
  --shadow-lg: 0 24px 64px rgba(21, 29, 36, .18);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --tap: 48px;
  --nav-height: 76px;
  --max: 880px;
  --app-viewport-height: 100dvh;
  --app-safe-top: max(env(safe-area-inset-top), var(--tg-safe-area-inset-top, 0px), var(--tg-content-safe-area-inset-top, 0px));
  --app-safe-right: max(env(safe-area-inset-right), var(--tg-safe-area-inset-right, 0px), var(--tg-content-safe-area-inset-right, 0px));
  --app-safe-bottom: max(env(safe-area-inset-bottom), var(--tg-safe-area-inset-bottom, 0px), var(--tg-content-safe-area-inset-bottom, 0px));
  --app-safe-left: max(env(safe-area-inset-left), var(--tg-safe-area-inset-left, 0px), var(--tg-content-safe-area-inset-left, 0px));
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

/* Intelligence v24 — daily field command, evidence drill-down, and period control */
.report-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); }
.period-control { grid-column:1/-1; display:grid; gap:11px; padding:14px; border:1px solid color-mix(in srgb,var(--authority),transparent 84%); border-radius:18px; background:linear-gradient(145deg,color-mix(in srgb,var(--authority-soft),var(--surface) 50%),var(--surface)); }
.period-control-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.period-control-head > div { display:flex; align-items:center; gap:8px; color:var(--authority); }
.period-control-head svg { width:18px; height:18px; stroke-width:1.9; }
.period-control-head strong { font-size:12px; letter-spacing:.01em; }
.period-control-head > span { padding:5px 9px; border:1px solid color-mix(in srgb,var(--authority),transparent 86%); border-radius:999px; color:var(--muted); background:var(--surface); font-size:10px; font-weight:760; }
.period-control .report-date-grid { display:grid; grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr); align-items:end; gap:8px; }
.period-control .report-date-grid label { gap:6px; padding:10px 12px; border:1px solid var(--border); border-radius:14px; background:var(--surface-raised); box-shadow:0 3px 12px rgba(15,47,74,.04); }
.period-control .report-date-grid label > span { color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.period-control .report-date-grid input { min-height:44px; padding:0; border:0; border-radius:0; background:transparent; color:var(--ink); font-size:13px; font-weight:760; box-shadow:none; }
.period-arrow { display:grid; place-items:center; width:28px; height:28px; margin-bottom:12px; border-radius:50%; color:var(--authority); background:var(--authority-soft); font-weight:900; }
.period-control .date-presets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0; }
.period-control .date-presets button { min-height:44px; padding:7px 8px; border-radius:11px; background:var(--surface-raised); font-size:10px; }
.period-control .date-presets button.active { color:#fff; border-color:var(--authority); background:var(--authority); box-shadow:0 7px 16px rgba(16,47,74,.18); }

.today-command-hero { position:relative; overflow:hidden; padding:22px; border:1px solid rgba(255,255,255,.08); border-radius:26px; color:#fff; background:radial-gradient(circle at 92% 0,rgba(42,187,137,.28),transparent 38%),linear-gradient(145deg,#102f4a 0%,#0a3f4c 55%,#08745b 135%); box-shadow:0 18px 44px rgba(15,47,74,.22); }
.today-command-hero::after { position:absolute; right:-50px; bottom:-90px; width:220px; height:220px; border:1px solid rgba(255,255,255,.09); border-radius:50%; content:""; }
.today-command-top,.today-command-top > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.today-command-top > div { justify-content:flex-start; color:rgba(255,255,255,.72); font-size:10px; font-weight:740; }
.today-command-hero .live-indicator { color:#fff; background:rgba(255,255,255,.1); }
.today-command-hero .command-refresh { position:relative; z-index:1; color:#fff; border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.08); }
.today-command-title { position:relative; z-index:1; margin:26px 0 18px; }
.today-command-title .eyebrow { color:#75e0bb; }
.today-command-title h2 { margin:5px 0 6px; color:#fff; font-size:clamp(23px,5vw,34px); letter-spacing:-.035em; }
.today-command-title p { max-width:620px; margin:0; color:rgba(255,255,255,.74); font-size:12px; line-height:1.55; }
.today-command-metrics { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.today-command-metrics .report-metric { min-height:112px; color:#fff; border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.08); box-shadow:none; backdrop-filter:blur(8px); }
.today-command-metrics .report-metric strong,.today-command-metrics .report-metric span { color:#fff; }
.today-command-metrics .report-metric small { color:rgba(255,255,255,.62); }
.today-command-metrics .report-metric-icon { color:#8ce8c9; background:rgba(255,255,255,.1); }
.today-status-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:12px 0; }
.today-status-strip > div { display:flex; align-items:center; gap:9px; min-height:64px; padding:12px 14px; border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:var(--shadow-sm); }
.today-status-strip strong { font-size:22px; letter-spacing:-.04em; }
.today-status-strip span { color:var(--muted); font-size:10px; font-weight:740; }
.today-status-strip .active strong { color:var(--success); }
.today-status-strip .in-store strong { color:#1673a2; }
.today-status-strip .closed strong { color:var(--authority); }
.today-status-strip .not-started strong { color:var(--muted); }
.today-attention { display:flex; align-items:center; gap:12px; margin:12px 0; padding:14px; color:#7d4b00; border:1px solid color-mix(in srgb,var(--warning),transparent 68%); border-radius:16px; background:color-mix(in srgb,var(--warning-soft),var(--surface) 35%); }
.today-attention > svg { flex:0 0 auto; width:22px; height:22px; }
.today-attention div { display:grid; gap:2px; }
.today-attention strong { font-size:12px; }
.today-attention span { color:var(--muted); font-size:10px; }
.today-people-section { margin-top:22px; }
.today-people-list { display:grid; gap:14px; }
.today-person-card { overflow:hidden; border:1px solid var(--border); border-radius:22px; background:var(--surface); box-shadow:var(--shadow-sm); }
.today-person-card > header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:16px 18px; border-bottom:1px solid var(--border); background:linear-gradient(100deg,var(--surface),color-mix(in srgb,var(--authority-soft),var(--surface) 64%)); }
.today-avatar { width:48px; height:48px; border-radius:15px; }
.hr-person-avatar { position:relative; overflow:hidden; isolation:isolate; }
.hr-person-avatar > span { position:relative; z-index:1; }
.hr-person-avatar img { position:absolute; inset:0; z-index:2; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 160ms ease; }
.hr-person-avatar.has-photo img { opacity:1; }
.today-person-identity { display:grid; min-width:0; gap:2px; }
.today-person-identity strong { overflow:hidden; color:var(--ink); font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.today-person-identity span,.today-person-identity small { overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.today-person-identity small { color:var(--success); font-weight:760; }
.today-person-numbers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; padding:12px 18px; background:var(--canvas); }
.today-person-numbers span { display:grid; gap:2px; padding:5px 11px; color:var(--muted); border-left:1px solid var(--border); font-size:9px; }
.today-person-numbers span:first-child { border-left:0; }
.today-person-numbers strong { color:var(--ink); font-size:12px; }
.today-route-timeline { position:relative; padding:6px 12px 12px; }
.today-visit-row { display:grid; grid-template-columns:32px 72px minmax(0,1fr) auto 24px; align-items:center; gap:10px; width:100%; min-height:76px; padding:10px 8px; color:var(--ink); border:0; border-bottom:1px solid var(--border); background:transparent; text-align:left; cursor:pointer; touch-action:manipulation; transition:background-color .18s ease,box-shadow .18s ease; }
.today-visit-row:last-child { border-bottom:0; }
.today-visit-row:hover,.today-visit-row:focus-visible { border-radius:13px; background:var(--authority-soft); box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--authority) 24%,transparent); outline:none; }
.today-visit-row:active { background:color-mix(in srgb,var(--authority-soft) 78%,var(--surface)); }
.today-visit-sequence { display:grid; place-items:center; width:30px; height:30px; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority),transparent 76%); border-radius:10px; background:var(--surface); font-size:9px; font-weight:900; }
.today-visit-time { color:var(--authority); font-size:11px; font-weight:800; }
.today-visit-copy,.today-visit-facts { display:grid; min-width:0; gap:3px; }
.today-customer-link { overflow:hidden; color:var(--authority); text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--authority) 35%,transparent); text-decoration-thickness:1px; text-underline-offset:3px; text-overflow:ellipsis; white-space:nowrap; }
.today-visit-action { width:max-content; max-width:100%; padding:3px 8px; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority) 24%,transparent); border-radius:999px; background:var(--authority-soft); font-size:9px; font-weight:800; letter-spacing:.02em; line-height:1.2; }
.today-visit-copy strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.today-visit-copy small,.today-visit-facts small { overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.today-visit-facts { min-width:72px; text-align:right; }
.today-visit-facts strong { color:var(--success); font-size:10px; }
.today-visit-open svg { width:17px; height:17px; color:var(--muted); }
.today-no-visits { display:flex; align-items:center; gap:10px; margin:8px; padding:13px; color:var(--muted); border:1px dashed var(--border); border-radius:14px; background:var(--canvas); }
.today-no-visits > span svg { width:20px; height:20px; }
.today-no-visits div { display:grid; gap:2px; }
.today-no-visits strong { color:var(--ink); font-size:11px; }
.today-no-visits small { font-size:9px; }

.today-visit-detail { display:grid; gap:14px; }
.today-evidence-hero { margin:0 -2px; padding:15px; border:1px solid color-mix(in srgb,var(--brand),transparent 78%); border-radius:20px; background:linear-gradient(145deg,color-mix(in srgb,var(--brand-soft),var(--surface) 55%),var(--surface)); }
.visit-detail-heading h3 { margin:4px 0; font-size:16px; }
.visit-detail-heading p { margin:0 0 12px; color:var(--muted); font-size:10px; }
.today-evidence-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.today-evidence-photo { position:relative; overflow:hidden; min-height:150px; padding:0; color:#fff; border:0; border-radius:14px; background:#18364b; cursor:zoom-in; }
.today-evidence-photo img { width:100%; height:150px; object-fit:cover; }
.today-evidence-photo > span { display:grid; place-items:center; min-height:150px; color:rgba(255,255,255,.7); font-size:10px; }
.today-evidence-photo em { position:absolute; right:7px; bottom:7px; padding:5px 7px; color:#fff; border-radius:8px; background:rgba(3,19,30,.78); font-size:8px; font-style:normal; font-weight:820; text-transform:uppercase; backdrop-filter:blur(6px); }
.visit-detail-owner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px; border:1px solid var(--border); border-radius:16px; background:var(--surface); }
.visit-detail-owner > div { display:grid; gap:2px; }
.visit-detail-owner > div strong { font-size:12px; }
.visit-detail-owner > div span { color:var(--muted); font-size:9px; }

@media (max-width:720px) {
  .report-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-tab { min-height:58px; }
  .today-command-hero { padding:18px 15px; border-radius:22px; }
  .today-command-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .today-command-metrics .report-metric { min-height:98px; }
  .today-status-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .today-person-card > header { grid-template-columns:auto minmax(0,1fr); padding:14px; }
  .today-person-card > header .status-pill { grid-column:2; justify-self:start; }
  .today-person-numbers { grid-template-columns:repeat(2,minmax(0,1fr)); padding:9px 12px; }
  .today-person-numbers span:nth-child(3) { border-left:0; }
  .today-visit-row { grid-template-columns:30px 58px minmax(0,1fr) 18px; gap:7px; min-height:88px; padding:9px 3px; }
  .today-visit-facts { grid-column:3; justify-self:start; min-width:0; text-align:left; }
  .today-visit-open { grid-column:4; grid-row:1/3; }
  .today-evidence-grid { grid-template-columns:1fr; }
  .today-evidence-photo,.today-evidence-photo img,.today-evidence-photo > span { min-height:190px; height:190px; }
}

@media (max-width:430px) {
  .period-control { padding:12px; }
  .period-control-head { align-items:flex-start; flex-direction:column; }
  .period-control .report-date-grid { grid-template-columns:1fr; }
  .period-arrow { display:none; }
  .period-control .date-presets { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .today-command-top > div { align-items:flex-start; flex-direction:column; gap:5px; }
  .today-command-top .command-refresh span { display:none; }
  .today-visit-copy strong { white-space:normal; }
}

/* v32 — Manager-first intelligence navigation and operational drill-down */
.intelligence-screen { --view-accent:var(--authority); --view-soft:var(--authority-soft); }
.intelligence-screen[data-report-view="today"] { --view-accent:#047857; --view-soft:#e8f7f1; }
.intelligence-screen[data-report-view="customer"] { --view-accent:#4f46e5; --view-soft:#eef0ff; }
.intelligence-screen[data-report-view="team"] { --view-accent:#b45309; --view-soft:#fff5df; }
.intelligence-screen[data-report-view="management"] { --view-accent:#0f3557; --view-soft:#e9f1f8; }
.intelligence-header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:16px; margin:2px 0 18px; padding:18px 20px; border:1px solid color-mix(in srgb,var(--authority),transparent 80%); border-radius:20px; background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--authority-soft),var(--surface) 45%)); box-shadow:var(--shadow-md); }
.intelligence-title-mark { width:54px; height:54px; display:grid; place-items:center; color:#fff; border-radius:16px; background:var(--authority); box-shadow:0 10px 24px rgba(15,53,87,.22); }
.intelligence-title-mark svg { width:27px; height:27px; stroke-width:2; }
.intelligence-header h1 { margin:3px 0 4px; color:var(--ink); font-size:clamp(24px,5vw,32px); letter-spacing:-.035em; }
.intelligence-header p { max-width:62ch; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.intelligence-live { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.intelligence-live small { color:var(--muted); font-size:11px; font-weight:700; }
.report-launchpad { position:relative; top:auto; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:14px; padding:0; border:0; background:transparent; box-shadow:none; }
.report-launchpad .report-tab { --tab-color:var(--authority); --tab-soft:var(--authority-soft); min-height:92px; display:grid; grid-template-columns:48px minmax(0,1fr) 24px; align-items:center; justify-items:stretch; gap:12px; padding:14px; color:var(--ink); border:1px solid var(--border); border-radius:17px; background:var(--surface); box-shadow:var(--shadow-sm); text-align:left; }
.report-launchpad .report-tab:hover,.report-launchpad .report-tab:focus-visible { border-color:color-mix(in srgb,var(--tab-color),transparent 54%); background:color-mix(in srgb,var(--tab-soft),var(--surface) 66%); box-shadow:var(--shadow-md); }
.report-launchpad .report-tab.active { color:var(--ink); border-color:var(--tab-color); background:color-mix(in srgb,var(--tab-soft),var(--surface) 62%); box-shadow:0 0 0 2px color-mix(in srgb,var(--tab-color),transparent 78%),var(--shadow-md); }
.report-launchpad .report-today { --tab-color:#047857; --tab-soft:#e7f7f0; }
.report-launchpad .report-customer { --tab-color:#4f46e5; --tab-soft:#eef0ff; }
.report-launchpad .report-team { --tab-color:#b45309; --tab-soft:#fff4db; }
.report-launchpad .report-management { --tab-color:#0f3557; --tab-soft:#e8f1f8; }
.report-launchpad .report-tab-icon { width:48px; height:48px; color:var(--tab-color); border-radius:14px; background:var(--tab-soft); }
.report-launchpad .report-tab.active .report-tab-icon { color:#fff; background:var(--tab-color); }
.report-launchpad .report-tab-icon svg { width:23px; height:23px; stroke-width:2; }
.report-launchpad .report-tab-copy strong { color:inherit; font-size:14px; line-height:1.25; }
.report-launchpad .report-tab-copy small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.35; letter-spacing:0; }
.report-tab-arrow { width:24px; height:24px; display:grid; place-items:center; color:var(--subtle); border-radius:8px; }
.report-tab-arrow svg { width:17px; height:17px; }
.report-launchpad .report-tab.active .report-tab-arrow { color:var(--tab-color); background:var(--tab-soft); }
.report-view-context { min-height:58px; display:flex; align-items:center; gap:12px; margin:0 0 14px; padding:10px 14px; border-left:4px solid var(--view-accent); border-radius:12px; background:var(--view-soft); }
.report-view-context > span { width:36px; height:36px; display:grid; place-items:center; color:#fff; border-radius:10px; background:var(--view-accent); }
.report-view-context svg { width:18px; height:18px; }
.report-view-context strong,.report-view-context small { display:block; }
.report-view-context strong { color:var(--ink); font-size:14px; }
.report-view-context small { margin-top:2px; color:var(--muted); font-size:11px; }
.report-panel.active { animation:report-panel-enter 190ms ease-out; }
@keyframes report-panel-enter { from { opacity:.45; transform:translateY(5px); } to { opacity:1; transform:none; } }

.operational-position-section { margin:14px 0; padding:18px; border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:var(--shadow-sm); }
.operational-position-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.operation-position-card { min-height:102px; display:grid; grid-template-columns:46px minmax(0,1fr) 26px; align-items:center; gap:12px; padding:14px; color:var(--ink); border:1px solid var(--border); border-left:5px solid var(--subtle); border-radius:15px; background:var(--canvas); text-align:left; box-shadow:none; transition:border-color 180ms ease,background 180ms ease,box-shadow 180ms ease; }
.operation-position-card:hover,.operation-position-card:focus-visible { border-color:color-mix(in srgb,currentColor,transparent 60%); background:var(--surface); box-shadow:var(--shadow-md); }
.operation-position-card.success { border-left-color:var(--accent); }
.operation-position-card.info { border-left-color:var(--info); }
.operation-position-card.authority { border-left-color:var(--authority); }
.operation-position-card.warning { border-left-color:#b87507; }
.operation-position-icon { width:46px; height:46px; display:grid; place-items:center; color:var(--authority); border-radius:13px; background:var(--authority-soft); }
.operation-position-card.success .operation-position-icon { color:var(--accent-strong); background:var(--accent-soft); }
.operation-position-card.info .operation-position-icon { color:var(--info); background:color-mix(in srgb,var(--info),transparent 88%); }
.operation-position-card.warning .operation-position-icon { color:#8a5300; background:#fff2d7; }
.operation-position-icon svg { width:22px; height:22px; }
.operation-position-copy strong,.operation-position-copy b,.operation-position-copy small { display:block; }
.operation-position-copy strong { color:var(--ink); font-size:25px; font-weight:900; font-variant-numeric:tabular-nums; line-height:1; }
.operation-position-copy b { margin-top:5px; font-size:13px; }
.operation-position-copy small { margin-top:2px; color:var(--muted); font-size:10px; }
.operation-position-arrow { width:26px; height:26px; display:grid; place-items:center; color:var(--subtle); border-radius:9px; background:var(--surface); }
.operation-position-arrow svg { width:16px; height:16px; }
.operation-drilldown { display:grid; gap:14px; }
.operation-drilldown-intro { display:flex; gap:12px; padding:14px; border-radius:15px; background:var(--authority-soft); }
.operation-drilldown-intro > span { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; color:#fff; border-radius:12px; background:var(--authority); }
.operation-drilldown-intro svg { width:21px; height:21px; }
.operation-drilldown-intro strong { font-size:16px; }
.operation-drilldown-intro p { margin:3px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.operation-person-list { display:grid; gap:8px; }
.operation-person-row { min-height:76px; display:grid; grid-template-columns:48px minmax(0,1fr) auto 22px; align-items:center; gap:11px; padding:11px; color:var(--ink); border:1px solid var(--border); border-radius:14px; background:var(--surface); text-align:left; }
.operation-person-row:hover,.operation-person-row:focus-visible { border-color:var(--authority); background:var(--authority-soft); }
.operation-person-row > span strong,.operation-person-row > span small { display:block; }
.operation-person-row > span strong { font-size:13px; }
.operation-person-row > span small { margin-top:3px; color:var(--muted); font-size:10px; }
.operation-person-row em { color:var(--authority); font-size:10px; font-style:normal; font-weight:800; }
.operation-person-row > svg { width:17px; height:17px; color:var(--authority); }
.operation-avatar { width:48px; height:48px; border-radius:14px; }

.workflow-command-hero { display:grid; grid-template-columns:60px minmax(0,1fr) auto; align-items:center; gap:16px; padding:22px; color:#fff; border-radius:20px; background:linear-gradient(135deg,#123a5c,#071b2d); box-shadow:0 16px 36px rgba(7,27,45,.2); }
.workflow-command-icon { width:60px; height:60px; display:grid; place-items:center; color:#fff; border-radius:17px; background:rgba(255,255,255,.12); }
.workflow-command-icon svg { width:29px; height:29px; }
.workflow-command-hero .eyebrow { color:#96c5e8; }
.workflow-command-hero h2 { margin:4px 0 5px; color:#fff; font-size:24px; }
.workflow-command-hero p { margin:0; max-width:60ch; color:rgba(255,255,255,.72); font-size:13px; line-height:1.55; }
.workflow-role-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-top:14px; }
.workflow-role-button { min-height:106px; display:grid; grid-template-columns:50px minmax(0,1fr) auto 22px; align-items:center; gap:12px; padding:15px; color:var(--ink); border:1px solid var(--border); border-radius:16px; background:var(--surface); text-align:left; box-shadow:var(--shadow-sm); }
.workflow-role-button:hover,.workflow-role-button:focus-visible { border-color:var(--authority); box-shadow:var(--shadow-md); }
.workflow-role-icon { width:50px; height:50px; display:grid; place-items:center; color:var(--authority); border-radius:14px; background:var(--authority-soft); }
.workflow-role-icon svg { width:24px; height:24px; }
.workflow-role-button div > span,.workflow-role-button strong,.workflow-role-button small { display:block; }
.workflow-role-button div > span { color:var(--brand); font-size:9px; font-weight:900; letter-spacing:.09em; }
.workflow-role-button strong { margin-top:3px; font-size:14px; }
.workflow-role-button small { margin-top:3px; color:var(--muted); font-size:10px; }
.workflow-role-button em { color:var(--authority); font-size:10px; font-style:normal; font-weight:800; white-space:nowrap; }
.workflow-role-button > svg { width:17px; height:17px; color:var(--authority); }

[data-theme="dark"] .intelligence-screen[data-report-view="today"] { --view-soft:#103328; }
[data-theme="dark"] .intelligence-screen[data-report-view="customer"] { --view-soft:#202447; }
[data-theme="dark"] .intelligence-screen[data-report-view="team"] { --view-soft:#3a2a16; }
[data-theme="dark"] .intelligence-screen[data-report-view="management"] { --view-soft:#132c41; }
[data-theme="dark"] .intelligence-header { background:linear-gradient(145deg,var(--surface),#102b42); }
[data-theme="dark"] .report-launchpad .report-today { --tab-soft:#12382d; }
[data-theme="dark"] .report-launchpad .report-customer { --tab-soft:#24294c; }
[data-theme="dark"] .report-launchpad .report-team { --tab-soft:#3d2c17; }
[data-theme="dark"] .report-launchpad .report-management { --tab-soft:#16324a; }

@media (max-width:620px) {
  .intelligence-header { grid-template-columns:48px minmax(0,1fr); gap:12px; padding:15px; }
  .intelligence-title-mark { width:48px; height:48px; border-radius:14px; }
  .intelligence-header h1 { font-size:24px; }
  .intelligence-header p { font-size:12px; }
  .intelligence-live { grid-column:1/-1; align-items:center; flex-direction:row; justify-content:flex-end; }
  .report-launchpad { grid-template-columns:1fr; gap:8px; }
  .report-launchpad .report-tab { min-height:82px; grid-template-columns:46px minmax(0,1fr) 24px; justify-items:stretch; padding:12px; text-align:left; }
  .report-launchpad .report-tab-icon { width:46px; height:46px; }
  .report-launchpad .report-tab-copy strong { font-size:14px; }
  .report-launchpad .report-tab-copy small { display:block; font-size:10.5px; }
  .report-view-context { align-items:flex-start; }
  .operational-position-section { padding:14px; }
  .operational-position-grid { grid-template-columns:1fr; }
  .operation-position-card { min-height:90px; }
  .workflow-command-hero { grid-template-columns:52px minmax(0,1fr); padding:18px; }
  .workflow-command-icon { width:52px; height:52px; }
  .workflow-command-hero .no-write-badge { grid-column:1/-1; justify-self:start; }
  .workflow-role-directory { grid-template-columns:1fr; }
  .workflow-role-button { min-height:96px; }
  .operation-person-row { grid-template-columns:46px minmax(0,1fr) 22px; }
  .operation-person-row em { display:none; }
}
@media (max-width:380px) {
  .intelligence-header { grid-template-columns:1fr; }
  .intelligence-title-mark { display:none; }
  .report-launchpad .report-tab { grid-template-columns:44px minmax(0,1fr) 22px; }
  .report-view-context small { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .report-panel.active { animation:none; }
  .operation-position-card,.workflow-role-button,.report-launchpad .report-tab { transition:none; }
}

[data-theme="dark"] {
  color-scheme: dark;
  --brand: #ef7d80;
  --brand-strong: #ff9b9e;
  --brand-soft: #3c1c20;
  --accent: #5ed4b4;
  --accent-strong: #7fe0c5;
  --accent-soft: #173a32;
  --warning: #ffc466;
  --warning-soft: #3d301b;
  --danger: #ff8b82;
  --danger-soft: #3d211f;
  --ink: #f3f6f8;
  --muted: #b7c0c8;
  --subtle: #8d99a4;
  --canvas: #0d141a;
  --surface: #151e25;
  --surface-raised: #1b252d;
  --border: #2c3943;
  --border-strong: #485661;
  --focus: #72b7ff;
  --shadow-md: 0 8px 24px rgba(0, 0, 0, .24);
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); scroll-behavior: smooth; }
body { margin: 0; min-height: var(--app-viewport-height); background: var(--canvas); color: var(--ink); font-size: 16px; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button { touch-action: manipulation; }
button, [role="button"] { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid color-mix(in srgb, var(--focus), transparent 25%); outline-offset: 2px; }
.skip-link { position: fixed; top: -100px; left: 8px; z-index: 2000; visibility:hidden; opacity:0; background: var(--ink); color: var(--surface); padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { top: 8px; visibility:visible; opacity:1; }

.app-shell { min-height: var(--app-viewport-height); padding-bottom: calc(var(--nav-height) + var(--app-safe-bottom) + 20px); }
.topbar { position: sticky; top: 0; z-index: 40; min-height: 72px; padding: calc(10px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-left)) 10px max(16px, env(safe-area-inset-right)); display: flex; align-items: center; gap: 12px; background: color-mix(in srgb, var(--surface), transparent 4%); border-bottom: 1px solid var(--border); backdrop-filter: blur(16px); }
.brand-mark { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 14px; display: grid; place-items: center; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .08em; background: linear-gradient(145deg, #b22125, #7d0e12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.25), var(--shadow-sm); }
.topbar-copy { min-width: 0; flex: 1; }
.topbar-copy strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 15px; }
.topbar-copy span { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.icon-button { width: var(--tap); height: var(--tap); border: 0; border-radius: 14px; display: grid; place-items: center; color: var(--ink); background: var(--canvas); transition: background 180ms ease, opacity 180ms ease; }
.icon-button:hover { background: var(--border); }
.icon-button svg { width: 22px; height: 22px; stroke-width: 2; }

main { width: min(100%, var(--max)); margin: 0 auto; }
.screen { display: none; padding: 20px 16px 28px; animation: screen-in 220ms ease-out; }
.screen.active { display: block; }
@keyframes screen-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.screen-heading { display: flex; align-items: center; gap: 12px; margin: 4px 0 20px; }
.screen-heading h1, .hero-card h1 { margin: 2px 0 0; font-size: clamp(24px, 6vw, 32px); line-height: 1.18; letter-spacing: -.025em; }
.eyebrow { color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.hero-card { position: relative; overflow: hidden; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px; border-radius: var(--radius-lg); background: linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--brand-soft), var(--surface) 60%)); border: 1px solid color-mix(in srgb, var(--brand), transparent 78%); box-shadow: var(--shadow-md); }
.hero-card::after { content: ""; position: absolute; width: 160px; height: 160px; right: -85px; bottom: -95px; border-radius: 50%; background: color-mix(in srgb, var(--brand), transparent 88%); }
.hero-card p { margin: 8px 0 0; color: var(--muted); max-width: 45ch; }
.state-badge { position: relative; z-index: 1; flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.state-badge.active { color: var(--accent-strong); background: var(--accent-soft); }
.state-badge.closed { color: var(--brand); background: var(--brand-soft); }
.state-badge.neutral { color: var(--muted); background: var(--canvas); }

.metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin: 14px 0; }
.metric-card { min-height: 104px; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); }
.metric-card .metric-value { display: block; font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.2; }
.metric-card .metric-label { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; }
.metric-card .metric-accent { width: 32px; height: 4px; margin-top: 12px; border-radius: 4px; background: var(--accent); }
.primary-card { padding: 18px; margin: 14px 0 22px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-md); }
.primary-card h2 { margin: 0; font-size: 18px; }
.primary-card p { margin: 6px 0 16px; color: var(--muted); }
.active-visit-status { display:flex; align-items:center; gap:12px; position:relative; z-index:1; }
.active-visit-status > span { display:grid; place-items:center; width:46px; height:46px; flex:0 0 46px; border-radius:14px; color:var(--brand); background:color-mix(in srgb,var(--brand),transparent 90%); }
.active-visit-status svg { width:23px; height:23px; stroke-width:1.8; }
.active-visit-status div { display:grid; gap:2px; min-width:0; }
.active-visit-status small { color:var(--brand); font-size:10px; font-weight:850; letter-spacing:.12em; }
.active-visit-status strong { overflow:hidden; color:var(--text); font-size:17px; font-weight:850; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.active-visit-status em { color:var(--muted); font-size:12px; font-style:normal; }
.close-day-blocker { display:flex; align-items:flex-start; gap:10px; position:relative; z-index:1; margin-top:15px; padding:12px; border:1px solid color-mix(in srgb,var(--warning),transparent 55%); border-radius:13px; background:color-mix(in srgb,var(--warning),transparent 91%); }
.close-day-blocker > span { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; color:var(--warning); }
.close-day-blocker svg { width:20px; height:20px; stroke-width:1.8; }
.close-day-blocker p { display:grid; gap:3px; margin:0; }
.close-day-blocker strong { color:var(--text); font-size:12px; }
.close-day-blocker small { color:var(--muted); font-size:11px; line-height:1.45; }
.close-day-recovery-button { border-color:color-mix(in srgb,var(--warning),transparent 35%); color:color-mix(in srgb,var(--warning),var(--text) 30%); }
.primary-button, .secondary-button, .danger-button { min-height: var(--tap); width: 100%; border-radius: 13px; padding: 12px 18px; font-weight: 750; transition: background 180ms ease, box-shadow 180ms ease, opacity 180ms ease; }
.primary-button { color: #fff; background: var(--accent); border: 1px solid var(--accent); box-shadow: 0 6px 16px color-mix(in srgb, var(--accent), transparent 75%); }
.primary-button:hover { background: var(--accent-strong); }
.primary-button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.secondary-button { color: var(--brand); background: var(--surface); border: 1px solid var(--brand); }
.danger-button { margin-top: 16px; color: var(--danger); background: var(--surface); border: 1px solid var(--danger); }
.text-button { min-height: 44px; border: 0; color: var(--brand); background: transparent; font-weight: 700; padding: 8px; }

.section-block { margin-top: 22px; }
.section-heading { min-height: 48px; display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.section-heading h2 { margin: 1px 0 0; font-size: 20px; }
.timeline, .result-list { display: grid; gap: 10px; }
.timeline-empty, .empty-state { padding: 30px 18px; text-align: center; color: var(--muted); border: 1px dashed var(--border-strong); border-radius: var(--radius-md); background: var(--surface); }
.timeline-item, .result-item { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; min-height: 72px; padding: 13px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.timeline-index { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 12px; color: var(--accent-strong); background: var(--accent-soft); font-size: 13px; font-weight: 800; }
.item-title { display: block; color: var(--ink); font-weight: 750; overflow-wrap: anywhere; }
.item-meta { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }
.item-time { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; text-align: right; }
.item-status { display: block; font-weight: 700; color: var(--accent-strong); }

.bottom-nav { position: fixed; z-index: 50; left: 50%; bottom: 0; transform: translateX(-50%); width: min(100%, var(--max)); min-height: calc(var(--nav-height) + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; padding: 8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right)); background: color-mix(in srgb, var(--surface), transparent 3%); border: 1px solid var(--border); border-bottom: 0; border-radius: 22px 22px 0 0; box-shadow: 0 -10px 30px rgba(21,29,36,.08); backdrop-filter: blur(18px); }
.nav-item { min-height: 58px; border: 0; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: var(--muted); background: transparent; font-size: 11px; font-weight: 700; transition: color 180ms ease, background 180ms ease; }
.nav-item.active { color: var(--brand); background: var(--brand-soft); }
.nav-icon { height: 23px; display: grid; place-items: center; }
.nav-icon svg { width: 21px; height: 21px; stroke-width: 2; }

.stepper { list-style: none; padding: 0; margin: 0 0 20px; display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; }
.stepper li { position: relative; text-align: center; color: var(--subtle); font-size: 10px; font-weight: 750; }
.stepper li::before { content: attr(data-step); width: 30px; height: 30px; margin: 0 auto 5px; display: grid; place-items: center; border-radius: 50%; color: var(--muted); background: var(--surface); border: 2px solid var(--border); font-size: 12px; }
.stepper li.done, .stepper li.current { color: var(--ink); }
.stepper li.done::before { content: "✓"; color: #fff; background: var(--accent); border-color: var(--accent); }
.stepper li.current::before { color: var(--brand); border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-soft); }

.workflow-card, .search-panel, .info-card, .history-card { padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
.workflow-card h2 { margin: 0 0 5px; font-size: 20px; }
.workflow-card > p { margin: 0 0 18px; color: var(--muted); }
label { display: block; color: var(--ink); font-size: 13px; font-weight: 700; }
input, select, textarea { width: 100%; min-height: 48px; margin-top: 6px; padding: 11px 13px; color: var(--ink); background: var(--canvas); border: 1px solid var(--border-strong); border-radius: 12px; font-size: 16px; }
textarea { min-height: 104px; resize: vertical; }
.field-grid { display: grid; gap: 14px; }
.field-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.search-panel { margin-bottom: 14px; }
.search-input { position: relative; }
.search-input input { padding-left: 43px; }
.search-icon { position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; border: 2px solid var(--muted); border-radius: 50%; transform: translateY(-32%); pointer-events: none; }
.search-icon::after { content: ""; position: absolute; width: 7px; height: 2px; right: -5px; bottom: -2px; background: var(--muted); transform: rotate(45deg); border-radius: 2px; }
.customer-result { width: 100%; text-align: left; border: 1px solid var(--border); }
.customer-result:hover { border-color: var(--brand); }
.customer-result.selected { border-color: var(--accent); background: var(--accent-soft); }
.result-summary { padding: 4px 2px 10px; color: var(--muted); font-size: 13px; font-weight: 700; }
.selected-customer { margin: 14px 0; padding: 14px; border-radius: var(--radius-md); color: var(--accent-strong); background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent), transparent 65%); }
.location-panel { margin: 14px 0; padding: 15px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--canvas); }
.location-state { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; }
.location-state.ok { color: var(--accent-strong); }
.location-state.error { color: var(--danger); }
.test-badge { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 10px; border-radius: 999px; color: var(--accent-strong); background: var(--accent-soft); font-size: 12px; font-weight: 800; letter-spacing: .05em; }
.location-pin { width: 14px; height: 14px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: currentColor; }
.location-pin::after { content: ""; display: block; width: 5px; height: 5px; margin: 4px; border-radius: 50%; background: var(--surface); }
.button-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 16px; }

.kpi-intro { margin-bottom: 14px; padding: 13px 15px; border-left: 4px solid var(--brand); border-radius: 4px 12px 12px 4px; color: var(--muted); background: var(--brand-soft); font-size: 13px; }
.kpi-list { display: grid; gap: 10px; }
.kpi-card { width: 100%; min-height: 76px; display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px; text-align: left; color: var(--ink); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); transition: border 180ms ease, background 180ms ease; }
.kpi-card:hover { border-color: var(--border-strong); }
.kpi-card.complete { border-color: color-mix(in srgb, var(--accent), transparent 55%); background: var(--accent-soft); }
.kpi-code { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: var(--brand); background: var(--brand-soft); font-size: 11px; font-weight: 850; letter-spacing: .04em; }
.kpi-card.complete .kpi-code { color: #fff; background: var(--accent); }
.kpi-card strong, .kpi-card small { display: block; }
.kpi-card small { margin-top: 2px; color: var(--muted); font-size: 12px; }
.kpi-check { width: 24px; height: 24px; display: grid; place-items: center; border: 2px solid var(--border-strong); border-radius: 50%; color: transparent; }
.kpi-card.complete .kpi-check { color: #fff; background: var(--accent); border-color: var(--accent); }
.kpi-card.evidence-pending { border-color: color-mix(in srgb, var(--warning), transparent 52%); background: color-mix(in srgb, var(--warning-soft), var(--surface) 58%); }
.evidence-alert { display: inline-flex; margin-top: 6px; padding: 4px 7px; border-radius: 999px; color: var(--warning); background: var(--warning-soft); font-size: 10px; font-style: normal; font-weight: 800; }
.progress-line { height: 8px; margin: 16px 0 6px; overflow: hidden; border-radius: 8px; background: var(--border); }
.progress-line span { display: block; height: 100%; border-radius: inherit; background: var(--accent); transition: width 240ms ease; }
.progress-copy { color: var(--muted); font-size: 12px; text-align: right; }

.modal-overlay { position: fixed; inset: 0; z-index: 100; display: grid; place-items: end center; padding: 24px 0 0; background: rgba(4,10,15,.58); backdrop-filter: blur(4px); }
.modal-sheet { width: min(100%, 680px); max-height: min(92dvh, 900px); overflow: auto; overscroll-behavior: contain; padding: 20px 16px calc(22px + env(safe-area-inset-bottom)); color: var(--ink); background: var(--surface-raised); border-radius: 24px 24px 0 0; box-shadow: var(--shadow-lg); animation: sheet-in 220ms ease-out; }
@keyframes sheet-in { from { transform: translateY(30px); opacity: .6; } to { transform: none; opacity: 1; } }
.modal-handle { width: 44px; height: 5px; margin: -6px auto 14px; border-radius: 4px; background: var(--border-strong); }
.modal-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.modal-heading h2 { margin: 0; font-size: 21px; }
.modal-heading p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.close-button { flex: 0 0 var(--tap); }
.segmented { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 12px 0; }
.segmented.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.segment { min-height: 48px; padding: 10px; border: 1px solid var(--border-strong); border-radius: 12px; color: var(--ink); background: var(--canvas); font-weight: 700; }
.segment.selected { color: var(--accent-strong); background: var(--accent-soft); border-color: var(--accent); }
.detail-panel { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
.product-item { margin: 10px 0; padding: 13px; border: 1px solid var(--border); border-radius: 14px; background: var(--canvas); }
.product-item-head { display: flex; justify-content: space-between; gap: 10px; }
.product-item-head strong { overflow-wrap: anywhere; }
.product-item-head small { display: block; color: var(--muted); }
.remove-button { width: 44px; height: 44px; flex: 0 0 44px; border: 0; border-radius: 12px; color: var(--danger); background: var(--danger-soft); font-weight: 850; }
.add-button { min-height: 48px; width: 100%; margin-top: 10px; border: 1px dashed var(--brand); border-radius: 12px; color: var(--brand); background: var(--brand-soft); font-weight: 750; }
.modal-actions { position: sticky; bottom: calc(-22px - env(safe-area-inset-bottom)); z-index: 2; display: grid; grid-template-columns: 1fr 1.5fr; gap: 10px; margin: 20px -16px calc(-22px - env(safe-area-inset-bottom)); padding: 14px 16px calc(14px + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--surface-raised), transparent 2%); border-top: 1px solid var(--border); backdrop-filter: blur(12px); }
.product-picker-results { max-height: 44dvh; overflow: auto; display: grid; gap: 8px; margin-top: 10px; }
.product-option { min-height: 66px; width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 10px; padding: 10px; text-align: left; color: var(--ink); background: var(--canvas); border: 1px solid var(--border); border-radius: 12px; }
.product-code { min-width: 58px; padding: 6px 8px; text-align: center; color: var(--brand); background: var(--brand-soft); border-radius: 8px; font-size: 12px; font-weight: 800; }
.photo-drop { position: relative; padding: 20px; text-align: center; border: 1px dashed var(--border-strong); border-radius: 14px; background: var(--canvas); }
.photo-drop input { margin-top: 12px; }
.photo-preview-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 12px; }
.photo-preview { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 10px; background: var(--border); }
.photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.photo-preview button { position: absolute; top: 3px; right: 3px; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 10px; color: #fff; background: rgba(18,28,36,.78); font-size: 19px; font-weight: 800; }
.evidence-panel { margin-top: 16px; padding: 15px; border: 1px solid var(--border); border-radius: 16px; background: color-mix(in srgb, var(--canvas), var(--surface) 35%); }
.evidence-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; text-align: left; }
.evidence-title strong, .evidence-title small { display: block; }
.evidence-title small { max-width: 42ch; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.evidence-requirement { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.evidence-requirement.required { color: var(--warning); background: var(--warning-soft); }
.evidence-requirement.optional { color: var(--muted); background: var(--surface); border: 1px solid var(--border); }
.evidence-panel .photo-drop { display: grid; min-height: 56px; place-items: center; padding: 10px 14px; cursor: pointer; }
.evidence-panel .photo-drop span { color: var(--brand); font-size: 13px; font-weight: 800; }
.evidence-panel .photo-drop input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.evidence-count { margin-top: 8px; color: var(--muted); font-size: 10px; text-align: right; font-variant-numeric: tabular-nums; }

.search-panel label { margin-bottom: 5px; }
.result-item { grid-template-columns: minmax(0,1fr) auto; width: 100%; text-align: left; color: var(--ink); }
.history-card { margin-top: 16px; }
.history-card h2 { margin: 0; font-size: 20px; }
.history-card > p { margin: 4px 0 16px; color: var(--muted); }
.history-visit { padding: 13px 0; border-top: 1px solid var(--border); }
.history-visit:first-of-type { border-top: 0; }
.history-kpis { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.chip { padding: 4px 8px; border-radius: 999px; color: var(--muted); background: var(--canvas); border: 1px solid var(--border); font-size: 11px; font-weight: 700; }
.chip.positive { color: var(--accent-strong); background: var(--accent-soft); border-color: transparent; }

/* Reporting Center */
.screen-heading p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.report-tabs { position: sticky; top: calc(72px + env(safe-area-inset-top)); z-index: 18; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; margin: 0 0 16px; padding: 4px; border: 1px solid var(--border); border-radius: 16px; background: color-mix(in srgb,var(--surface),transparent 4%); box-shadow: var(--shadow-sm); backdrop-filter: blur(18px); }
.report-tab { min-height: 48px; padding: 8px 6px; border: 0; border-radius: 12px; color: var(--muted); background: transparent; font-size: 12px; font-weight: 800; transition: color 160ms ease, background 160ms ease, box-shadow 160ms ease; }
.report-tab:hover { color: var(--ink); background: var(--canvas); }
.report-tab.active { color: var(--brand); background: var(--surface); box-shadow: var(--shadow-sm); }
.report-panel { display: none; }
.report-panel.active { display: block; animation: screen-in 180ms ease-out; }
.report-filter-card { display: grid; gap: 15px; margin-bottom: 14px; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--brand-soft),var(--surface) 72%)); box-shadow: var(--shadow-md); }
.filter-heading > div { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 12px; }
.filter-heading strong, .filter-heading span { display: block; }
.filter-heading strong { color: var(--ink); font-size: 17px; letter-spacing: -.015em; }
.filter-heading span:not(.report-code) { margin-top: 2px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.report-code, .report-list-code { display: grid; place-items: center; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 14px; color: #fff; background: linear-gradient(145deg,var(--brand),var(--brand-strong)); box-shadow: 0 8px 18px color-mix(in srgb,var(--brand),transparent 76%); font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.report-date-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.report-result { grid-template-columns: auto minmax(0,1fr) auto; }
.report-list-code { width: 42px; height: 42px; border-radius: 12px; color: var(--brand); background: var(--brand-soft); box-shadow: none; }
.report-title-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.report-title-row h2 { margin-top: 3px; }
.report-title-row p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.report-period { display: inline-flex; margin: 14px 0 0; padding: 6px 9px; border-radius: 999px; color: var(--muted); background: var(--canvas); border: 1px solid var(--border); font-size: 11px; font-weight: 750; font-variant-numeric: tabular-nums; }
.report-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin: 14px 0; }
.report-metric { min-height: 82px; display: flex; flex-direction: column; justify-content: center; padding: 13px; border: 1px solid var(--border); border-radius: 15px; background: color-mix(in srgb,var(--canvas),var(--surface) 42%); }
.report-metric strong { display: block; color: var(--ink); font-size: 20px; line-height: 1.15; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.report-metric span { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.report-kpi-strip { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0; }
.report-kpi-strip .chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; text-transform: capitalize; }
.report-kpi-strip .chip strong { color: currentColor; }
.report-kpi-strip.compact { margin: 10px 0 0; }
.report-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 14px 0 20px; }
.report-actions:has(> :only-child) { grid-template-columns: minmax(0,280px); }
.report-section-heading { margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--border); }
.report-visit-card { margin-top: 12px; padding: 17px; border: 1px solid var(--border); border-radius: 19px; background: var(--surface); box-shadow: var(--shadow-sm); }
.visit-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.visit-card-top > div:first-child { min-width: 0; }
.visit-card-top strong, .visit-card-top span { display: block; }
.visit-card-top strong { margin-top: 3px; color: var(--ink); font-size: 16px; }
.visit-card-top > div:first-child > span:last-child { margin-top: 3px; color: var(--muted); font-size: 12px; }
.report-date { color: var(--brand)!important; font-size: 11px!important; font-weight: 850; letter-spacing: .03em; font-variant-numeric: tabular-nums; }
.duration-badge { flex: 0 0 auto; min-width: 82px; padding: 10px; text-align: center; border-radius: 13px; color: var(--accent-strong); background: var(--accent-soft); }
.duration-badge strong, .duration-badge span { display: block; }
.duration-badge strong { font-size: 15px; font-variant-numeric: tabular-nums; }
.duration-badge span { margin-top: 1px; font-size: 10px; font-weight: 750; }
.location-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 13px 0; }
.map-link { min-height: 36px; display: inline-flex; align-items: center; padding: 7px 10px; border: 1px solid color-mix(in srgb,var(--focus),transparent 68%); border-radius: 10px; color: var(--focus); background: color-mix(in srgb,var(--focus),transparent 93%); font-size: 12px; font-weight: 750; text-decoration: none; }
.map-link::before { content: ""; width: 10px; height: 10px; margin-right: 7px; border: 2px solid currentColor; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.map-link.unavailable { color: var(--subtle); border-color: var(--border); background: var(--canvas); }
.report-product-list { display: grid; gap: 7px; margin: 13px 0; }
.report-product-list > div { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 10px; border-radius: 12px; background: var(--canvas); border: 1px solid var(--border); }
.report-product-list strong { min-width: 0; font-size: 12px; overflow-wrap: anywhere; }
.report-product-list > div > span:last-child { color: var(--muted); font-size: 11px; text-align: right; }
.evidence-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 16px 0 9px; padding-top: 14px; border-top: 1px solid var(--border); }
.evidence-heading span { color: var(--muted); font-size: 11px; }
.report-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.report-photo { min-width: 0; }
.report-photo-preview { position: relative; width: 100%; aspect-ratio: 1; overflow: hidden; display: grid; place-items: center; padding: 0; border: 1px solid var(--border); border-radius: 13px; color: var(--muted); background: var(--canvas); }
.report-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.evidence-viewer-open { overflow:hidden; overscroll-behavior:none; }
.evidence-lightbox { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); background:rgba(3,10,16,.76); backdrop-filter:blur(12px) saturate(82%); overscroll-behavior:contain; animation:evidence-viewer-in 180ms ease-out; }
.evidence-lightbox-panel { width:min(100%,980px); height:min(100%,900px); min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; color:#f7fbff; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:#0c1822; box-shadow:0 30px 90px rgba(0,0,0,.48); }
.evidence-lightbox-header,.evidence-lightbox-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; background:#132636; }
.evidence-lightbox-header { border-bottom:1px solid rgba(255,255,255,.12); }
.evidence-lightbox-header .eyebrow { color:#8ddcc6; }
.evidence-lightbox-header h2 { margin:3px 0 0; color:#fff; font-size:16px; text-transform:capitalize; }
.evidence-lightbox-stage { min-height:0; display:grid; place-items:center; overflow:auto; padding:12px; background:radial-gradient(circle at 50% 34%,#20384b 0,#0a151e 62%); }
.evidence-lightbox-stage img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:10px; box-shadow:0 12px 34px rgba(0,0,0,.32); }
.evidence-lightbox-footer { padding-bottom:max(14px,env(safe-area-inset-bottom)); border-top:1px solid rgba(255,255,255,.12); }
.evidence-lightbox-footer > div { min-width:0; display:grid; gap:2px; }
.evidence-lightbox-footer span { color:#a9bdcb; font-size:10px; }
.evidence-lightbox-footer strong { max-width:60vw; overflow:hidden; color:#fff; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.evidence-viewer-button { min-width:104px; min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 14px; color:#fff; border:1px solid rgba(255,255,255,.18); border-radius:13px; background:rgba(255,255,255,.08); font-size:12px; font-weight:820; cursor:pointer; touch-action:manipulation; transition:background-color 160ms ease,border-color 160ms ease; }
.evidence-viewer-button svg { width:20px; height:20px; flex:0 0 auto; }
.evidence-viewer-button:hover,.evidence-viewer-button:focus-visible { border-color:#89d8c2; background:rgba(137,216,194,.16); outline:3px solid rgba(137,216,194,.22); outline-offset:2px; }
.evidence-viewer-button:active { background:rgba(137,216,194,.24); }
.evidence-viewer-download { color:#08251f; border-color:#8ddcc6; background:#8ddcc6; }
.evidence-lightbox-footer .evidence-viewer-download span { color:inherit; }
.evidence-viewer-download:hover,.evidence-viewer-download:focus-visible { color:#061d18; background:#a6ead7; }
@keyframes evidence-viewer-in { from { opacity:0; } to { opacity:1; } }
.report-photo .text-button { width: 100%; min-height: 36px; padding: 5px; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.integrity-flag { display: block; margin-top: 3px; padding: 4px 6px; border-radius: 8px; color: var(--warning); background: var(--warning-soft); font-size: 9px; font-weight: 800; text-align: center; }
.evidence-empty { padding: 14px; text-align: center; color: var(--muted); border-radius: 12px; background: var(--canvas); font-size: 12px; }
.visit-note { margin-top: 12px; padding: 12px; border-left: 3px solid var(--brand); border-radius: 4px 12px 12px 4px; background: var(--brand-soft); }
.visit-note p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.people-report-list { display: grid; gap: 10px; }
.person-report-card { width: 100%; padding: 15px; text-align: left; color: var(--ink); border: 1px solid var(--border); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-sm); transition: border-color 160ms ease, transform 120ms ease, box-shadow 160ms ease; }
.person-report-card:hover { border-color: color-mix(in srgb,var(--brand),transparent 55%); box-shadow: var(--shadow-md); }
.person-report-card:active { transform: scale(.994); }
.person-report-head { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; }
.person-report-head strong, .person-report-head span { display: block; }
.person-report-head > div span { margin-top: 1px; color: var(--muted); font-size: 11px; }
.person-avatar { width: 42px; height: 42px; display: grid!important; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(145deg,var(--brand),var(--brand-strong)); font-size: 12px; font-weight: 850; }
.visit-count { color: var(--accent-strong); font-size: 12px; font-weight: 800; }
.person-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin-top: 12px; }
.person-metrics span { padding: 9px; border-radius: 11px; color: var(--muted); background: var(--canvas); font-size: 10px; }
.person-metrics strong { display: block; margin-bottom: 2px; color: var(--ink); font-size: 13px; font-variant-numeric: tabular-nums; }
.assumption-note { margin-top: 13px; padding: 12px 14px; border-radius: 13px; color: var(--muted); background: var(--warning-soft); font-size: 11px; line-height: 1.55; }
.management-hero, .management-card { margin: 12px 0; padding: 18px; border: 1px solid var(--border); border-radius: 20px; background: var(--surface); box-shadow: var(--shadow-sm); }
.management-hero { color: var(--ink); background: linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--accent-soft),var(--surface) 55%)); box-shadow: var(--shadow-md); }
.management-hero h2 { margin: 4px 0 0; font-size: 18px; }
.management-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.management-card .section-heading { min-height: auto; margin-bottom: 13px; }
.management-card .section-heading h2 { font-size: 16px; }
.attention-card { border-color: color-mix(in srgb,var(--warning),transparent 65%); background: linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--warning-soft),var(--surface) 45%)); }
.attention-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.coverage-list { display: grid; gap: 12px; }
.coverage-row > div:first-child { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 5px; }
.coverage-row strong { font-size: 12px; }
.coverage-row span { color: var(--muted); font-size: 10px; }
.coverage-track { height: 7px; overflow: hidden; border-radius: 999px; background: var(--border); }
.coverage-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--brand),var(--accent)); }
.info-card { display: grid; gap: 0; }
.info-row { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--border); }
.info-row:last-child { border: 0; }
.info-row span { color: var(--muted); }
.info-row strong { text-align: right; }
.callout { margin-top: 16px; padding: 16px; border-radius: var(--radius-md); }
.callout p { margin: 4px 0 0; }
.success-callout { color: var(--accent-strong); background: var(--accent-soft); border: 1px solid color-mix(in srgb,var(--accent),transparent 65%); }
.review-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 14px 0; }
.review-stat { padding: 14px; border-radius: 14px; background: var(--canvas); border: 1px solid var(--border); }
.review-stat strong { display: block; font-size: 19px; font-variant-numeric: tabular-nums; }
.review-stat span { color: var(--muted); font-size: 12px; }
.review-list { display: grid; gap: 8px; margin: 14px 0; }
.review-row { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--border); }
.review-row span { color: var(--muted); }
.review-row strong { text-align: right; }

.toast { position: fixed; z-index: 300; left: 50%; bottom: calc(var(--nav-height) + env(safe-area-inset-bottom) + 18px); width: min(calc(100% - 32px), 520px); padding: 13px 15px; color: #fff; background: #17212b; border-radius: 13px; box-shadow: var(--shadow-lg); transform: translate(-50%, 30px); opacity: 0; pointer-events: none; transition: opacity 180ms ease, transform 180ms ease; }
.toast.show { transform: translate(-50%, 0); opacity: 1; }
.toast.error { background: #8f1812; }
.loading { position: relative; color: transparent !important; pointer-events: none; }
.loading::after { content: ""; position: absolute; left: 50%; top: 50%; width: 20px; height: 20px; margin: -10px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.hidden { display: none !important; }

@media (min-width: 700px) {
  .screen { padding: 28px 24px 40px; }
  .metric-grid { grid-template-columns: repeat(4,1fr); }
  .field-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .modal-sheet { border-radius: 24px; margin-bottom: 4dvh; }
  .modal-overlay { place-items: center; padding: 24px; }
  .modal-actions { bottom: -22px; }
}
@media (max-width: 430px) {
  .hero-card { display: block; }
  .hero-card .state-badge { display: inline-block; margin-top: 14px; }
  .field-grid.two, .button-row { grid-template-columns: 1fr; }
  .segmented.three { grid-template-columns: 1fr; }
}
@media (max-width:520px) {
  .evidence-lightbox { padding:0; }
  .evidence-lightbox-panel { width:100%; height:100dvh; border:0; border-radius:0; }
  .evidence-lightbox-header { padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left)); }
  .evidence-lightbox-footer { padding-right:max(12px,env(safe-area-inset-right)); padding-left:max(12px,env(safe-area-inset-left)); }
  .evidence-viewer-button { min-width:96px; }
}
@media (orientation: landscape) and (max-height: 560px) {
  .topbar { position: relative; }
  .modal-sheet { max-height: 96dvh; }
  .evidence-lightbox { padding:0; }
  .evidence-lightbox-panel { width:100%; height:100dvh; border:0; border-radius:0; }
  .evidence-lightbox-header,.evidence-lightbox-footer { padding-block:8px; }
  .evidence-viewer-button { min-height:44px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ========================================================================== */
/* Shirinasal Field Operations — Professional UI layer                        */
/* ========================================================================== */
:root {
  --brand: #9b1820;
  --brand-strong: #741017;
  --brand-deep: #4f0a0f;
  --brand-soft: #fff0f1;
  --accent: #08725a;
  --accent-strong: #075c49;
  --accent-soft: #e8f7f2;
  --warning: #a15c00;
  --warning-soft: #fff5de;
  --danger: #b42318;
  --danger-soft: #fff0ee;
  --ink: #18212b;
  --muted: #5d6874;
  --subtle: #89939e;
  --canvas: #f4f6f8;
  --surface: #ffffff;
  --surface-raised: #ffffff;
  --border: #e1e6ea;
  --border-strong: #c5cdd4;
  --focus: #136fd1;
  --shadow-sm: 0 1px 2px rgba(24, 33, 43, .04), 0 4px 12px rgba(24, 33, 43, .035);
  --shadow-md: 0 10px 32px rgba(24, 33, 43, .075), 0 2px 8px rgba(24, 33, 43, .04);
  --shadow-lg: 0 28px 80px rgba(16, 24, 32, .24);
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --tap: 50px;
  --nav-height: 82px;
  --max: 1040px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

[data-theme="dark"] {
  --brand: #ff9298;
  --brand-strong: #ffb1b5;
  --brand-deep: #3b0e13;
  --brand-soft: #351a1e;
  --accent: #5cd2b2;
  --accent-strong: #85e1c8;
  --accent-soft: #153c33;
  --warning: #ffc568;
  --warning-soft: #3c2d17;
  --danger: #ff968d;
  --danger-soft: #3d211f;
  --ink: #f5f7f9;
  --muted: #bac3cb;
  --subtle: #8c98a3;
  --canvas: #0b1218;
  --surface: #121c24;
  --surface-raised: #17232c;
  --border: #27343e;
  --border-strong: #46555f;
  --focus: #77baff;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .18);
  --shadow-md: 0 12px 34px rgba(0, 0, 0, .22);
  --shadow-lg: 0 30px 90px rgba(0, 0, 0, .48);
}

html { background: var(--canvas); }
body {
  position: relative;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--brand), transparent 94%) 0, transparent 28rem),
    radial-gradient(circle at 96% 35%, color-mix(in srgb, var(--accent), transparent 96%) 0, transparent 32rem),
    var(--canvas);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.app-shell { padding-bottom: calc(var(--nav-height) + env(safe-area-inset-bottom) + 32px); }
.topbar {
  min-height: 76px;
  padding: calc(11px + env(safe-area-inset-top)) max(18px, env(safe-area-inset-left)) 11px max(18px, env(safe-area-inset-right));
  gap: 13px;
  background: color-mix(in srgb, var(--surface), transparent 7%);
  border-bottom-color: color-mix(in srgb, var(--border), transparent 18%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .45);
  backdrop-filter: blur(24px) saturate(140%);
}
.brand-mark {
  position: relative;
  isolation: isolate;
  width: 48px;
  height: 48px;
  flex-basis: 48px;
  overflow: hidden;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, #bc2931 0%, #8f1118 52%, #610b11 100%);
  box-shadow: 0 10px 24px rgba(143, 17, 24, .22), inset 0 1px 0 rgba(255,255,255,.3);
}
.brand-mark::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 7px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 11px;
}
.brand-mark::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 34px;
  height: 34px;
  right: -17px;
  top: -17px;
  border-radius: 50%;
  background: rgba(255,255,255,.17);
}
.brand-mark span { font-size: 12px; font-weight: 900; letter-spacing: .09em; }
.topbar-copy strong { font-size: 15px; font-weight: 800; letter-spacing: -.012em; }
.topbar-copy span { margin-top: 1px; font-size: 11.5px; font-weight: 600; }
.status-dot { width: 6px; height: 6px; box-shadow: 0 0 0 4px var(--accent-soft); }
.icon-button {
  border: 1px solid var(--border);
  color: var(--muted);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 120ms ease;
}
.icon-button:hover { color: var(--ink); background: var(--surface); border-color: var(--border-strong); box-shadow: var(--shadow-md); }
.icon-button:active { transform: scale(.97); }

main { width: min(100%, var(--max)); }
.screen { padding: 24px 16px 34px; animation: professional-screen-in 260ms cubic-bezier(.22,.8,.24,1); }
@keyframes professional-screen-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
.screen-heading { margin: 3px 0 22px; }
.screen-heading h1, .hero-card h1 { font-weight: 850; letter-spacing: -.04em; }
.screen-heading h1 { font-size: clamp(25px, 6vw, 34px); }
.eyebrow { color: var(--brand); font-size: 10.5px; font-weight: 850; letter-spacing: .15em; }

.hero-card {
  min-height: 178px;
  align-items: flex-start;
  padding: 25px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.17), transparent 11rem),
    linear-gradient(135deg, #a91f27 0%, #831219 53%, #560a10 100%);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 22px 54px rgba(95, 12, 18, .22), inset 0 1px 0 rgba(255,255,255,.18);
}
.hero-card::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -108px;
  bottom: -132px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
}
.hero-card::after { width: 118px; height: 118px; right: -46px; bottom: -66px; background: rgba(255,255,255,.07); }
.hero-card .eyebrow { color: rgba(255,255,255,.7); }
.hero-card h1 { margin-top: 7px; color: #fff; font-size: clamp(27px, 7vw, 38px); }
.hero-card p { margin-top: 10px; color: rgba(255,255,255,.79); font-weight: 520; }
.hero-card .state-badge { padding: 8px 11px; border: 1px solid rgba(255,255,255,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.hero-card .state-badge.active { color: #dcfff5; background: rgba(15,100,76,.58); }
.hero-card .state-badge.closed { color: #fff; background: rgba(255,255,255,.13); }
.hero-card .state-badge.neutral { color: rgba(255,255,255,.86); background: rgba(255,255,255,.1); }

.metric-grid { gap: 11px; margin: 15px 0; }
.metric-card {
  position: relative;
  min-height: 112px;
  overflow: hidden;
  padding: 17px;
  border-color: var(--border);
  background: linear-gradient(155deg, var(--surface), color-mix(in srgb, var(--canvas), var(--surface) 45%));
  box-shadow: var(--shadow-sm);
  transition: border-color 190ms ease, box-shadow 190ms ease, transform 160ms ease;
}
.metric-card::after {
  content: "";
  position: absolute;
  width: 70px;
  height: 70px;
  right: -38px;
  top: -38px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent), transparent 92%);
}
.metric-card:nth-child(1)::after, .metric-card:nth-child(4)::after { background: color-mix(in srgb, var(--brand), transparent 92%); }
.metric-card:hover { border-color: var(--border-strong); box-shadow: var(--shadow-md); transform: translateY(-1px); }
.metric-card .metric-value { font-size: clamp(23px, 5vw, 28px); font-weight: 850; letter-spacing: -.025em; }
.metric-card .metric-label { margin-top: 5px; font-size: 12.5px; font-weight: 650; }
.metric-card .metric-accent { width: 28px; height: 3px; margin-top: 13px; background: linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent), transparent 55%)); }
.metric-card:nth-child(1) .metric-accent, .metric-card:nth-child(4) .metric-accent { background: linear-gradient(90deg, var(--brand), color-mix(in srgb, var(--brand), transparent 55%)); }

.primary-card {
  position: relative;
  overflow: hidden;
  padding: 21px;
  margin: 15px 0 25px;
  border-color: color-mix(in srgb, var(--accent), transparent 73%);
  background: linear-gradient(150deg, var(--surface), color-mix(in srgb, var(--accent-soft), var(--surface) 54%));
  box-shadow: var(--shadow-md);
}
.primary-card::after { content: ""; position: absolute; right: -55px; bottom: -70px; width: 130px; height: 130px; border: 18px solid color-mix(in srgb, var(--accent), transparent 94%); border-radius: 50%; pointer-events: none; }
.primary-card h2 { position: relative; z-index: 1; font-size: 20px; font-weight: 820; letter-spacing: -.025em; }
.primary-card p { position: relative; z-index: 1; margin: 7px 0 18px; max-width: 56ch; }

.primary-button, .secondary-button, .danger-button {
  position: relative;
  z-index: 1;
  min-height: 52px;
  border-radius: 15px;
  padding: 13px 18px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.005em;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 110ms ease, opacity 180ms ease;
}
.primary-button { background: linear-gradient(135deg, #0a7b61, #075b49); border-color: #075b49; box-shadow: 0 10px 24px rgba(7, 92, 73, .2), inset 0 1px 0 rgba(255,255,255,.17); }
.primary-button:hover { background: linear-gradient(135deg, #096c57, #064c3d); box-shadow: 0 12px 28px rgba(7, 92, 73, .25); }
.primary-button:active, .secondary-button:active, .danger-button:active { transform: scale(.985); }
.primary-button:disabled { filter: saturate(.45); opacity: .48; }
.secondary-button { color: var(--brand); background: var(--surface); border-color: color-mix(in srgb, var(--brand), transparent 48%); box-shadow: var(--shadow-sm); }
.secondary-button:hover { background: var(--brand-soft); border-color: var(--brand); }
.danger-button { color: var(--danger); background: var(--surface); border-color: color-mix(in srgb, var(--danger), transparent 45%); }
.text-button { color: var(--brand); font-size: 13px; transition: color 180ms ease, background 180ms ease; border-radius: 10px; }
.text-button:hover { color: var(--brand-strong); background: var(--brand-soft); }

.section-block { margin-top: 27px; }
.section-heading { margin-bottom: 12px; }
.section-heading h2 { font-size: 21px; font-weight: 820; letter-spacing: -.025em; }
.timeline, .result-list { gap: 9px; }
.timeline-empty, .empty-state { padding: 34px 20px; border-color: var(--border-strong); background: color-mix(in srgb, var(--surface), transparent 16%); }
.timeline-item, .result-item {
  min-height: 78px;
  padding: 14px;
  border-color: var(--border);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease, transform 120ms ease;
}
button.timeline-item:hover, button.result-item:hover { border-color: color-mix(in srgb, var(--brand), transparent 55%); box-shadow: var(--shadow-md); }
button.timeline-item:active, button.result-item:active { transform: scale(.992); }
.timeline-index { width: 38px; height: 38px; border-radius: 13px; color: var(--brand); background: var(--brand-soft); }
.item-title { font-weight: 780; letter-spacing: -.01em; }
.item-meta { margin-top: 3px; line-height: 1.4; }
.item-status { color: var(--accent-strong); }

.bottom-nav {
  left: 50%;
  bottom: max(10px, env(safe-area-inset-bottom));
  width: min(calc(100% - 24px), 620px);
  min-height: var(--nav-height);
  padding: 7px;
  border: 1px solid color-mix(in srgb, var(--border-strong), transparent 12%);
  border-radius: 24px;
  background: color-mix(in srgb, var(--surface), transparent 5%);
  box-shadow: 0 18px 48px rgba(24,33,43,.16), 0 3px 12px rgba(24,33,43,.08), inset 0 1px 0 rgba(255,255,255,.64);
  backdrop-filter: blur(24px) saturate(145%);
}
.nav-item { min-height: 64px; border-radius: 17px; font-size: 10.5px; transition: color 180ms ease, background 180ms ease, transform 110ms ease; }
.nav-item:hover { color: var(--ink); background: color-mix(in srgb, var(--canvas), transparent 20%); }
.nav-item:active { transform: scale(.96); }
.nav-item.active { color: var(--brand); background: linear-gradient(145deg, var(--brand-soft), color-mix(in srgb, var(--brand-soft), var(--surface) 45%)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand), transparent 84%); }
.nav-icon svg { width: 22px; height: 22px; stroke-width: 2.1; }

.stepper { position: relative; gap: 0; margin: 2px 0 23px; padding: 0 3px; }
.stepper::before { content: ""; position: absolute; top: 16px; left: 12.5%; right: 12.5%; height: 2px; background: var(--border); }
.stepper li { z-index: 1; font-size: 10px; line-height: 1.3; }
.stepper li::before { width: 34px; height: 34px; margin-bottom: 7px; background: var(--canvas); border-color: var(--border-strong); box-shadow: 0 0 0 4px var(--canvas); }
.stepper li.done::before { box-shadow: 0 0 0 4px var(--canvas), 0 6px 14px color-mix(in srgb, var(--accent), transparent 80%); }
.stepper li.current::before { color: #fff; background: var(--brand); border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-soft), 0 7px 16px color-mix(in srgb, var(--brand), transparent 77%); }

.workflow-card, .search-panel, .info-card, .history-card {
  padding: 21px;
  border-color: var(--border);
  background: var(--surface);
  box-shadow: var(--shadow-md);
}
.workflow-card h2 { font-size: 22px; font-weight: 830; letter-spacing: -.03em; }
.workflow-card > p { margin-bottom: 20px; }
label { color: var(--ink); font-size: 12.5px; font-weight: 760; letter-spacing: -.005em; }
input, select, textarea {
  min-height: 52px;
  margin-top: 7px;
  padding: 12px 14px;
  color: var(--ink);
  background: color-mix(in srgb, var(--canvas), var(--surface) 44%);
  border-color: var(--border-strong);
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
input::placeholder, textarea::placeholder { color: var(--subtle); opacity: 1; }
input:hover, select:hover, textarea:hover { border-color: color-mix(in srgb, var(--brand), var(--border-strong) 70%); }
input:focus, select:focus, textarea:focus { background: var(--surface); border-color: var(--brand); box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand), transparent 89%); outline: 0; }
textarea { min-height: 112px; }
.field-grid { gap: 16px; }
.search-panel { position: sticky; top: calc(76px + env(safe-area-inset-top)); z-index: 10; margin-bottom: 15px; padding: 16px; background: color-mix(in srgb, var(--surface), transparent 4%); backdrop-filter: blur(18px); }
.search-input input { padding-left: 44px; }
.customer-result { color: var(--ink); }
.customer-result:hover { border-color: color-mix(in srgb, var(--brand), transparent 45%); }
.customer-result.selected { border-color: var(--accent); background: var(--accent-soft); }
.result-summary { padding: 4px 4px 11px; font-size: 12px; letter-spacing: .01em; }
.selected-customer { margin: 16px 0; padding: 17px; background: linear-gradient(145deg, var(--accent-soft), color-mix(in srgb, var(--accent-soft), var(--surface) 40%)); border-color: color-mix(in srgb, var(--accent), transparent 60%); box-shadow: inset 4px 0 0 var(--accent); }
.location-panel { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0; padding: 15px 16px; background: color-mix(in srgb, var(--canvas), var(--surface) 44%); }
.location-state { flex: 1; font-weight: 650; }
.location-panel .secondary-button { width: auto; min-width: 170px; }
.test-badge { flex: 0 0 auto; border: 1px solid color-mix(in srgb,var(--accent),transparent 70%); }
.button-row { gap: 11px; margin-top: 18px; }

.kpi-intro { margin-bottom: 16px; padding: 16px 17px; border: 1px solid color-mix(in srgb, var(--brand), transparent 79%); border-left: 4px solid var(--brand); border-radius: 15px; background: linear-gradient(145deg, var(--brand-soft), color-mix(in srgb, var(--brand-soft), var(--surface) 50%)); }
.kpi-intro strong { display: block; color: var(--ink); margin-bottom: 2px; }
.kpi-list { gap: 10px; }
.kpi-groups { display: grid; gap: 20px; }
.kpi-group { min-width: 0; }
.kpi-section-head { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 2px 9px; }
.kpi-section-head h2 { margin: 2px 0 0; font-size: 17px; line-height: 1.25; font-weight: 820; letter-spacing: -.025em; }
.kpi-section-head > span { flex: 0 0 auto; min-width: 42px; padding: 6px 9px; text-align: center; color: var(--muted); background: var(--surface); border: 1px solid var(--border); border-radius: 999px; font-size: 11px; font-weight: 800; box-shadow: var(--shadow-sm); }
.kpi-card {
  position: relative;
  min-height: 82px;
  padding: 14px;
  border-color: var(--border);
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 120ms ease;
}
.kpi-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: transparent; transition: background 180ms ease; }
.kpi-card:hover { border-color: color-mix(in srgb, var(--brand), transparent 58%); box-shadow: var(--shadow-md); }
.kpi-card:active { transform: scale(.992); }
.kpi-card.complete { border-color: color-mix(in srgb, var(--accent), transparent 55%); background: linear-gradient(145deg, var(--accent-soft), color-mix(in srgb, var(--accent-soft), var(--surface) 48%)); }
.kpi-card.complete::before { background: var(--accent); }
.kpi-code { border: 1px solid color-mix(in srgb, var(--brand), transparent 82%); }
.kpi-card.complete .kpi-code { border-color: var(--accent); box-shadow: 0 7px 16px color-mix(in srgb, var(--accent), transparent 78%); }
.kpi-check { width: 26px; height: 26px; }
.progress-line { height: 7px; background: color-mix(in srgb, var(--border), transparent 8%); }
.progress-line span { background: linear-gradient(90deg, var(--accent), #21a781); }
.progress-copy { font-weight: 650; }

.modal-overlay { padding: 18px 0 0; background: rgba(7, 12, 17, .66); backdrop-filter: blur(9px) saturate(90%); }
.modal-sheet { padding: 22px 18px calc(24px + env(safe-area-inset-bottom)); border: 1px solid var(--border); border-bottom: 0; border-radius: 28px 28px 0 0; box-shadow: var(--shadow-lg); animation: professional-sheet-in 250ms cubic-bezier(.22,.86,.25,1); }
@keyframes professional-sheet-in { from { transform: translateY(42px); opacity: .45; } to { transform: translateY(0); opacity: 1; } }
.modal-handle { width: 42px; height: 4px; background: var(--border-strong); }
.modal-heading h2 { font-size: 23px; font-weight: 840; letter-spacing: -.03em; }
.modal-heading p { margin-top: 5px; font-size: 12.5px; line-height: 1.45; }
.segmented { padding: 4px; gap: 4px; border: 1px solid var(--border); border-radius: 16px; background: var(--canvas); }
.segment { min-height: 50px; border-color: transparent; background: transparent; border-radius: 12px; transition: color 170ms ease, background 170ms ease, border-color 170ms ease, box-shadow 170ms ease, transform 100ms ease; }
.segment:hover { background: var(--surface); }
.segment:active { transform: scale(.98); }
.segment.selected { color: var(--accent-strong); background: var(--surface); border-color: color-mix(in srgb, var(--accent), transparent 55%); box-shadow: var(--shadow-sm); }
.detail-panel { margin-top: 17px; padding-top: 17px; }
.product-item { padding: 15px; border-radius: 17px; background: color-mix(in srgb, var(--canvas), var(--surface) 38%); }
.remove-button { border: 1px solid color-mix(in srgb, var(--danger), transparent 80%); transition: background 170ms ease, transform 100ms ease; }
.remove-button:active { transform: scale(.95); }
.add-button { min-height: 52px; border-radius: 14px; transition: background 170ms ease, border-color 170ms ease; }
.add-button:hover { border-style: solid; background: color-mix(in srgb, var(--brand-soft), var(--surface) 20%); }
.modal-actions { grid-template-columns: 1fr 1.55fr; gap: 11px; padding-top: 15px; background: color-mix(in srgb, var(--surface-raised), transparent 3%); box-shadow: 0 -12px 28px rgba(24,33,43,.05); }
.product-option { min-height: 72px; border-radius: 14px; background: color-mix(in srgb, var(--canvas), var(--surface) 38%); transition: border-color 170ms ease, background 170ms ease, transform 100ms ease; }
.product-option:hover { border-color: var(--brand); background: var(--surface); }
.product-option:active { transform: scale(.992); }
.product-code { min-width: 62px; border: 1px solid color-mix(in srgb, var(--brand), transparent 82%); }

/* Product Master multi-select */
.product-multi-picker{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(760px,100%);height:min(90dvh,800px);padding-bottom:0;overflow:hidden!important}
.product-picker-tools{z-index:5;padding:8px 0 10px;background:color-mix(in srgb,var(--canvas) 96%,transparent);backdrop-filter:blur(12px)}
.product-picker-selection{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.product-picker-selection>span{display:grid;gap:2px;min-width:0;margin-right:auto}.product-picker-selection strong{font-size:14px;color:var(--ink)}.product-picker-selection small{font-size:11px;color:var(--muted)}
.product-picker-selection button{min-height:38px;padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:var(--canvas);color:var(--ink);font:inherit;font-size:12px;font-weight:750;cursor:pointer}.product-picker-selection button:disabled{opacity:.42;cursor:default}
.product-multi-picker .product-picker-results{min-height:0;max-height:none;overflow:auto;align-content:start;margin:0;padding:4px 0 14px;gap:8px}
.product-multi-picker .product-option{box-sizing:border-box;grid-template-columns:24px auto minmax(0,1fr) auto;gap:10px;min-height:76px;margin:0;cursor:pointer}
.product-multi-picker .product-option input{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;padding:0!important;margin:0;accent-color:var(--brand);cursor:pointer}
.product-option-copy{display:grid;gap:3px;min-width:0}.product-option-copy strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}.product-option-copy small{font-size:11px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.product-multi-picker .product-option em{padding:5px 7px;border-radius:7px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:800;font-style:normal;white-space:nowrap}
.product-multi-picker .product-option.is-selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand),transparent 75%)}
.product-multi-picker .product-option.is-selected em{background:var(--brand);color:#fff}
.product-multi-picker .product-option.is-added{cursor:default;opacity:.68}.product-multi-picker .product-option.is-added em{background:var(--surface);color:var(--muted)}
.product-picker-submit{z-index:6;display:flex;align-items:center;gap:14px;margin:0 -22px;padding:12px 22px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--canvas) 96%,transparent);backdrop-filter:blur(14px)}
.product-picker-submit>span{flex:1;color:var(--muted);font-size:12px;font-weight:700}.product-picker-submit .primary-button{width:auto;min-width:210px;margin:0}
@media(max-width:600px){.product-multi-picker{height:calc(100dvh - max(8px,var(--app-safe-top,0px)));max-height:none;border-radius:22px 22px 0 0}.product-picker-selection{display:grid;grid-template-columns:1fr auto auto}.product-picker-selection>span{grid-column:1/-1}.product-multi-picker .product-picker-results{max-height:none}.product-multi-picker .product-option{grid-template-columns:22px 62px minmax(0,1fr);padding:11px 10px}.product-multi-picker .product-option em{grid-column:3;justify-self:start}.product-picker-submit{margin-inline:-14px;padding-inline:14px;display:grid;gap:8px}.product-picker-submit .primary-button{width:100%;min-width:0}.product-picker-submit>span{text-align:center}}
.photo-drop { padding: 23px; border-radius: 18px; background: color-mix(in srgb, var(--canvas), var(--surface) 36%); }

.info-card { overflow: hidden; }
.info-row { min-height: 58px; }
.callout { border: 1px solid var(--border); }
.success-callout { background: linear-gradient(145deg, var(--accent-soft), color-mix(in srgb, var(--accent-soft), var(--surface) 45%)); }
.review-grid { gap: 11px; }
.review-stat { padding: 16px; border-radius: 16px; background: color-mix(in srgb, var(--canvas), var(--surface) 38%); }
.review-stat strong { font-size: 21px; font-weight: 840; letter-spacing: -.025em; }
.review-row { min-height: 47px; align-items: center; }

.toast { bottom: calc(var(--nav-height) + env(safe-area-inset-bottom) + 30px); padding: 14px 16px; background: #17232c; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; box-shadow: 0 20px 54px rgba(9,14,20,.28); font-weight: 650; }
.toast.error { background: #8b1714; }
.secondary-button.loading::after, .danger-button.loading::after { border-color: color-mix(in srgb, var(--brand), transparent 70%); border-top-color: var(--brand); }

@media (min-width: 700px) {
  .screen { padding: 32px 26px 48px; }
  .hero-card { min-height: 192px; padding: 30px; }
  .metric-grid { gap: 13px; }
  .kpi-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .kpi-card { grid-template-columns: 42px minmax(0,1fr); align-content: center; }
  .kpi-card .kpi-check { position: absolute; right: 12px; top: 12px; width: 22px; height: 22px; }
  .kpi-card > span:nth-child(2) { padding-right: 12px; }
  .modal-sheet { width: min(calc(100% - 40px), 720px); border: 1px solid var(--border); border-radius: 28px; margin-bottom: 2dvh; }
  .modal-actions { bottom: -24px; margin-bottom: -24px; border-radius: 0 0 28px 28px; }
}

@media (min-width: 1040px) {
  .topbar { padding-left: calc((100% - var(--max)) / 2 + 26px); padding-right: calc((100% - var(--max)) / 2 + 26px); }
  .screen { padding-left: 32px; padding-right: 32px; }
  .hero-card { padding: 34px; }
}

@media (max-width: 520px) {
  .topbar { min-height: 72px; }
  .brand-mark { width: 44px; height: 44px; flex-basis: 44px; border-radius: 15px; }
  .topbar-copy strong { font-size: 14px; }
  .topbar-copy span { max-width: 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .screen { padding-top: 18px; }
  .hero-card { min-height: 150px; padding: 18px 20px; border-radius: 24px; }
  .hero-card h1 { font-size: 28px; }
  .metric-card { min-height: 94px; padding: 14px 15px; }
  .metric-card .metric-accent { margin-top: 9px; }
  .primary-card { padding: 18px; margin-top: 12px; }
  .workflow-card, .search-panel, .info-card, .history-card { padding: 17px; border-radius: 22px; }
  .location-panel { align-items: stretch; flex-direction: column; }
  .location-panel .secondary-button { width: 100%; }
  .bottom-nav { width: calc(100% - 18px); bottom: max(7px, env(safe-area-inset-bottom)); border-radius: 22px; }
  .nav-item { min-height: 62px; }
  .stepper li { font-size: 9px; }
  .stepper li::before { width: 32px; height: 32px; }
  .report-tabs { top: calc(72px + env(safe-area-inset-top)); }
  .report-tab { min-height: 44px; font-size: 10.5px; }
  .report-filter-card { padding: 16px; }
  .report-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .report-metric { min-height: 76px; }
  .report-actions { grid-template-columns: 1fr; }
  .report-product-list > div { grid-template-columns: auto minmax(0,1fr); }
  .report-product-list > div > span:last-child { grid-column: 2; text-align: left; }
  .report-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .person-report-head { grid-template-columns: auto minmax(0,1fr); }
  .visit-count { grid-column: 2; }
  .person-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .management-grid { grid-template-columns: 1fr; }
  .attention-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 365px) {
  .topbar-copy span { display: none; }
  .hero-card { padding: 18px; }
  .metric-grid { grid-template-columns: 1fr; }
  .metric-card { min-height: 92px; }
  .bottom-nav { gap: 0; padding: 6px; }
  .nav-item { font-size: 10px; }
}

@media (hover: none) {
  .metric-card:hover, button.timeline-item:hover, button.result-item:hover, .kpi-card:hover { transform: none; box-shadow: var(--shadow-sm); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
}

.auth-screen { min-height: calc(100vh - 92px); place-items: center; padding: 28px 16px 48px; }
.auth-screen.active { display: grid; }
.auth-card { width: min(100%, 520px); padding: 34px; border: 1px solid var(--line); border-radius: 28px; background: var(--surface); box-shadow: var(--shadow-lg); }
.auth-card h1 { margin: 10px 0 12px; font-size: clamp(1.8rem, 7vw, 2.6rem); line-height: 1.08; }
.auth-card > p { margin: 0 0 24px; color: var(--muted); line-height: 1.65; }
.auth-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 22px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, #8f1118, #d1323d); font-weight: 900; letter-spacing: .06em; box-shadow: 0 12px 24px rgba(143,17,24,.22); }
.auth-form { display: grid; gap: 18px; }
.auth-form label { display: grid; gap: 8px; font-weight: 750; }
.auth-form input { width: 100%; min-height: 54px; padding: 0 16px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-2); color: var(--text); font: inherit; text-transform: uppercase; }
.auth-form input:focus { outline: 3px solid rgba(143,17,24,.14); border-color: var(--brand); }
.auth-form input[aria-invalid="true"] { border-color:var(--danger); outline-color:color-mix(in srgb,var(--danger),transparent 82%); }
.web-access-code-field { margin-top:2px; }
.web-access-code-field input { text-align:center; font-size:1.25rem; font-weight:850; font-variant-numeric:tabular-nums; letter-spacing:.34em; }
.web-access-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:-4px; }
.web-access-actions .text-button { min-height:44px; padding:8px 4px; }
body.web-read-only .topbar { border-bottom-color:color-mix(in srgb,var(--success),transparent 66%); }
body.web-read-only #topbarContext { color:var(--success); font-weight:800; letter-spacing:.03em; }
.employee-id-field { min-height: 56px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-2); transition: border-color 180ms ease, box-shadow 180ms ease; }
.employee-id-field:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(143,17,24,.14); }
.employee-id-prefix { align-self: stretch; display: grid; place-items: center; padding: 0 14px; color: var(--brand); background: var(--brand-soft); border-right: 1px solid var(--line); font-weight: 850; letter-spacing: .06em; }
.auth-form .employee-id-field input { min-height: 54px; padding: 0 16px; border: 0; border-radius: 0; background: transparent; font-variant-numeric: tabular-nums; letter-spacing: .12em; }
.auth-form .employee-id-field input:focus { outline: 0; box-shadow: none; }
.field-hint { margin-top: -10px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.auth-card .callout { margin-top: 20px; }
body.auth-required .bottom-nav { display: none; }
body.auth-required main { padding-bottom: 0; }

/* ========================================================================== */
/* V14 — Operations Command Center                                             */
/* ========================================================================== */
:root {
  --authority: #0f2742;
  --authority-strong: #08192b;
  --authority-soft: #eaf0f6;
  --info: #2367c9;
  --info-soft: #eaf2ff;
  --canvas: #f1f4f7;
  --ink: #101d2b;
  --muted: #5b6877;
  --border: #dbe2e8;
  --border-strong: #bcc8d2;
  --shadow-sm: 0 1px 2px rgba(8,25,43,.04), 0 5px 16px rgba(8,25,43,.045);
  --shadow-md: 0 14px 38px rgba(8,25,43,.09), 0 3px 10px rgba(8,25,43,.045);
}
[data-theme="dark"] {
  --authority: #102d4d;
  --authority-strong: #061321;
  --authority-soft: #13283b;
  --info: #74a9ff;
  --info-soft: #152c4a;
  --canvas: #07111e;
  --surface: #0d1b29;
  --surface-raised: #122337;
  --ink: #f2f6fa;
  --muted: #afbdca;
  --border: #213548;
  --border-strong: #40566a;
}

body { background: linear-gradient(180deg, color-mix(in srgb,var(--authority-soft),var(--canvas) 73%) 0, var(--canvas) 440px); }
.topbar { border-bottom: 1px solid color-mix(in srgb,var(--authority),transparent 88%); }
.topbar-copy span { color: var(--muted); }
.primary-button { background: linear-gradient(135deg,#0b8065,#05624e); border-color:#05624e; }
.secondary-button { color: var(--authority); border-color: color-mix(in srgb,var(--authority),transparent 58%); }
.secondary-button:hover { color: var(--authority-strong); background: var(--authority-soft); border-color: var(--authority); }

.manager-command { display: grid; gap: 15px; margin-bottom: 18px; }
.manager-command.hidden { display: none; }
.command-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 22px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 28px;
  background:
    radial-gradient(circle at 86% 12%, rgba(52,134,211,.28), transparent 15rem),
    radial-gradient(circle at 4% 110%, rgba(155,24,32,.38), transparent 16rem),
    linear-gradient(135deg,var(--authority) 0%,var(--authority-strong) 74%);
  box-shadow: 0 24px 58px rgba(8,25,43,.26), inset 0 1px 0 rgba(255,255,255,.12);
}
.command-hero::after { content:""; position:absolute; z-index:-1; width:240px; height:240px; right:-126px; bottom:-148px; border:34px solid rgba(255,255,255,.035); border-radius:50%; }
.command-topline { display:flex; justify-content:space-between; align-items:center; gap:12px; color:rgba(255,255,255,.58); font-size:10px; font-weight:800; letter-spacing:.07em; }
.command-live,.live-indicator { display:inline-flex; align-items:center; gap:7px; font-weight:850; letter-spacing:.08em; }
.command-live { color:#8ce0c6; }
.command-live i,.live-indicator i,.management-health i,.status-pill i { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px color-mix(in srgb,currentColor,transparent 83%); }
.command-title { display:flex; justify-content:space-between; align-items:flex-end; gap:22px; margin-top:28px; }
.command-title .eyebrow { color:#8fb9df; }
.command-title h1 { margin:7px 0 8px; color:#fff; font-size:clamp(29px,7vw,43px); line-height:1.02; letter-spacing:-.055em; font-weight:880; }
.command-title p { max-width:46ch; margin:0; color:rgba(255,255,255,.66); font-size:12.5px; }
.command-refresh { min-width:72px; min-height:68px; display:grid; place-items:center; gap:3px; padding:9px; color:#fff; border:1px solid rgba(255,255,255,.16); border-radius:18px; background:rgba(255,255,255,.08); backdrop-filter:blur(10px); font-size:9px; font-weight:750; transition:background 160ms ease,transform 100ms ease; }
.command-refresh:hover { background:rgba(255,255,255,.15); }
.command-refresh:active { transform:scale(.97); }
.command-refresh svg { width:22px; height:22px; }
.command-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:22px; }
.command-kpi { min-height:78px; padding:13px; border:1px solid rgba(255,255,255,.09); border-radius:16px; background:rgba(255,255,255,.065); backdrop-filter:blur(8px); }
.command-kpi strong,.command-kpi span { display:block; }
.command-kpi strong { color:#fff; font-size:25px; line-height:1; font-weight:880; font-variant-numeric:tabular-nums; }
.command-kpi span { margin-top:7px; color:rgba(255,255,255,.62); font-size:10px; font-weight:750; }
.command-kpi::before { content:""; display:block; width:20px; height:3px; margin-bottom:11px; border-radius:3px; background:#8fb9df; }
.command-kpi.success::before { background:#5ed1ae; }
.command-kpi.info::before { background:#73afff; }
.command-kpi.brand::before { background:#ff7e86; }
.command-kpi.warning::before { background:#ffbd5f; }

.command-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.command-actions button { min-width:0; min-height:84px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; padding:15px; text-align:left; color:var(--ink); border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:var(--shadow-sm); transition:transform 120ms ease,border-color 170ms ease,box-shadow 170ms ease; }
.command-actions button:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--authority),transparent 62%); box-shadow:var(--shadow-md); }
.command-actions button:active { transform:scale(.99); }
.command-actions button > span { width:42px; height:42px; display:grid; place-items:center; color:var(--authority); border-radius:13px; background:var(--authority-soft); }
.command-actions svg { width:20px; height:20px; }
.command-actions button > svg { width:17px; color:var(--subtle); }
.command-actions strong,.command-actions small { display:block; overflow:hidden; text-overflow:ellipsis; }
.command-actions strong { font-size:13px; white-space:nowrap; }
.command-actions small { margin-top:2px; color:var(--muted); font-size:9.5px; white-space:nowrap; }

.command-panel { padding:18px; border:1px solid var(--border); border-radius:22px; background:var(--surface); box-shadow:var(--shadow-md); }
.command-panel-head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:13px; }
.command-panel-head h2 { margin:2px 0 0; font-size:19px; letter-spacing:-.03em; }
.command-panel-head > span { color:var(--muted); font-size:10px; font-weight:700; }
.team-pulse-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.pulse-person { min-width:0; min-height:66px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px; text-align:left; color:var(--ink); border:1px solid var(--border); border-radius:15px; background:color-mix(in srgb,var(--canvas),var(--surface) 46%); transition:border-color 160ms ease,background 160ms ease; }
.pulse-person:hover { border-color:var(--border-strong); background:var(--surface); }
.pulse-avatar { width:39px; height:39px; display:grid; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(145deg,var(--authority),#28577f); font-size:11px; font-weight:850; }
.pulse-person strong,.pulse-person small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pulse-person strong { font-size:12.5px; }
.pulse-person small { margin-top:2px; color:var(--muted); font-size:9.5px; }
.status-pill { display:inline-flex!important; align-items:center; gap:6px; padding:6px 8px; border-radius:999px; color:var(--muted); background:var(--canvas); border:1px solid var(--border); font-size:9px!important; font-weight:800; white-space:nowrap; }
.status-pill.status-in-store { color:#096c54; background:#e6f7f1; border-color:#b9e8d8; }
.status-pill.status-active { color:#1d5fae; background:#eaf2ff; border-color:#c7dcfa; }
.status-pill.status-closed { color:#536170; background:#eef1f4; border-color:#d9e0e6; }
.status-pill.status-not-started { color:#8a5a0d; background:#fff5df; border-color:#f2ddb5; }
.status-pill.status-pending-close { color:#8a5300; background:#fff2d7; border-color:#edc777; }
[data-theme="dark"] .status-pill.status-in-store { color:#85e1c8; background:#153c33; border-color:#245c4f; }
[data-theme="dark"] .status-pill.status-active { color:#8fc0ff; background:#152d4a; border-color:#294d73; }
[data-theme="dark"] .status-pill.status-closed { color:#bac3cb; background:#1c2a36; border-color:#334454; }
[data-theme="dark"] .status-pill.status-not-started { color:#ffd083; background:#3c2d17; border-color:#5b4320; }
[data-theme="dark"] .status-pill.status-pending-close { color:#ffd58f; background:#3e2b12; border-color:#725126; }
.command-loading,.command-error { min-height:130px; display:flex; align-items:center; justify-content:center; gap:14px; padding:24px; border:1px solid var(--border); border-radius:24px; color:var(--ink); background:var(--surface); box-shadow:var(--shadow-sm); }
.command-loading span { width:28px; height:28px; border:3px solid var(--border); border-top-color:var(--brand); border-radius:50%; animation:spin .8s linear infinite; }
.command-loading strong,.command-loading small { display:block; }
.command-loading small { margin-top:3px; color:var(--muted); }
.command-error { justify-content:space-between; }

.manager-command:not(.hidden) + .hero-card { min-height:132px; padding:20px 22px; border-radius:22px; background:linear-gradient(135deg,#a6222b,#771018); box-shadow:0 12px 30px rgba(95,12,18,.16); }
.manager-command:not(.hidden) + .hero-card h1 { font-size:25px; }

.reporting-masthead,.control-masthead { position:relative; overflow:hidden; margin:2px 0 16px; padding:23px; color:#fff; border-radius:25px; background:linear-gradient(135deg,var(--authority),var(--authority-strong)); box-shadow:0 18px 42px rgba(8,25,43,.2); }
.reporting-masthead { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; }
.reporting-masthead::after,.control-masthead::after { content:""; position:absolute; width:150px; height:150px; right:-75px; top:-78px; border:24px solid rgba(255,255,255,.04); border-radius:50%; }
.reporting-masthead .eyebrow,.control-masthead .eyebrow { color:#8fb9df; }
.reporting-masthead h1,.control-masthead h1 { position:relative; margin:5px 0 4px; color:#fff; font-size:clamp(27px,6vw,36px); letter-spacing:-.045em; }
.reporting-masthead p,.control-masthead p { position:relative; margin:0; color:rgba(255,255,255,.64); font-size:12px; }
.live-indicator { position:relative; z-index:1; flex:0 0 auto; padding:7px 9px; color:#8ce0c6; border:1px solid rgba(140,224,198,.2); border-radius:999px; background:rgba(255,255,255,.06); font-size:9px; }
.report-tabs { padding:5px; border-color:color-mix(in srgb,var(--authority),transparent 84%); border-radius:18px; }
.report-tab { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; }
.report-tab > span { color:var(--subtle); font-size:8px; letter-spacing:.09em; }
.report-tab.active { color:var(--authority); box-shadow:0 5px 14px rgba(8,25,43,.08); }
.report-tab.active > span { color:var(--brand); }
.report-filter-card { border-top:4px solid var(--authority); background:var(--surface); }
.date-presets { display:flex; gap:6px; margin-top:-5px; }
.date-presets button { min-height:44px; padding:8px 13px; color:var(--muted); border:1px solid var(--border); border-radius:999px; background:var(--canvas); font-size:10px; font-weight:750; }
.date-presets button:hover,.date-presets button.active { color:var(--authority); border-color:color-mix(in srgb,var(--authority),transparent 55%); background:var(--authority-soft); }
.report-metric { position:relative; overflow:hidden; border-top:3px solid var(--authority); background:var(--surface); box-shadow:var(--shadow-sm); }
.report-metric:nth-child(2) { border-top-color:var(--accent); }
.report-metric:nth-child(3) { border-top-color:var(--info); }
.report-metric:nth-child(4) { border-top-color:var(--brand); }

.person-report-card { padding:17px; border-radius:20px; }
.person-scoreline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:13px; }
.person-scoreline span { min-width:0; padding:10px; color:var(--muted); border:1px solid var(--border); border-radius:11px; background:var(--canvas); font-size:9.5px; }
.person-scoreline strong { display:block; color:var(--ink); font-size:14px; font-variant-numeric:tabular-nums; }
.time-allocation { margin-top:12px; padding:11px; border-radius:13px; background:color-mix(in srgb,var(--canvas),var(--surface) 50%); }
.allocation-track { height:8px; display:flex; overflow:hidden; border-radius:999px; background:var(--border); }
.allocation-track i { display:block; height:100%; }
.allocation-track .onsite,.key.onsite { background:var(--accent); }
.allocation-track .travel,.key.travel { background:var(--info); }
.time-allocation > div:last-child { display:flex; flex-wrap:wrap; gap:10px; margin-top:7px; color:var(--muted); font-size:9px; }
.key { width:7px; height:7px; display:inline-block; margin-right:4px; border-radius:50%; }
.person-report-head .status-pill { justify-self:end; }
.management-hero { padding:21px; color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--authority),var(--authority-strong)); box-shadow:0 17px 42px rgba(8,25,43,.18); }
.management-hero .eyebrow { color:#8fb9df; }
.management-hero h2 { color:#fff; }
.management-hero .report-metric { color:var(--ink); }
.management-hero-head { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.management-health { display:inline-flex; align-items:center; gap:7px; padding:7px 9px; color:#80dabb; border:1px solid rgba(128,218,187,.25); border-radius:999px; background:rgba(255,255,255,.07); font-size:9px; font-weight:800; }
.management-health.warning { color:#ffca76; border-color:rgba(255,202,118,.25); }
.management-card { padding:20px; border-radius:21px; }
.attention-card { border-left:4px solid var(--warning); background:var(--surface); }
.coverage-track { height:9px; background:color-mix(in srgb,var(--authority-soft),var(--border) 42%); }
.coverage-track span { background:linear-gradient(90deg,var(--authority),var(--info)); }

.control-masthead { min-height:190px; }
.control-masthead > p { max-width:42ch; }
.identity-chip { position:relative; z-index:1; display:flex; align-items:center; gap:10px; width:max-content; max-width:100%; margin-top:22px; padding:9px 13px 9px 9px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.07); }
.identity-chip > span { width:39px; height:39px; display:grid; place-items:center; border-radius:11px; color:#fff; background:linear-gradient(145deg,var(--brand),var(--brand-strong)); font-size:11px; font-weight:850; }
.identity-chip strong,.identity-chip small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.identity-chip strong { color:#fff; font-size:12px; }
.identity-chip small { color:rgba(255,255,255,.58); font-size:9.5px; }
.info-card { padding:5px 18px; border-top:4px solid var(--authority); }
.info-row strong { color:var(--authority); }
[data-theme="dark"] .info-row strong { color:var(--ink); }
.bottom-nav { border-color:color-mix(in srgb,var(--authority),transparent 80%); box-shadow:0 20px 52px rgba(8,25,43,.18),0 3px 12px rgba(8,25,43,.08); }
.nav-item.active { color:var(--authority); background:linear-gradient(145deg,var(--authority-soft),var(--surface)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--authority),transparent 84%); }

@media (min-width:700px) {
  .command-hero { padding:28px; }
  .command-panel { padding:22px; }
}
@media (max-width:620px) {
  .command-actions { grid-template-columns:1fr; }
  .command-actions button { min-height:70px; }
  .team-pulse-list { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .command-hero { padding:19px; border-radius:24px; }
  .command-title { align-items:flex-start; margin-top:22px; }
  .command-title h1 { font-size:29px; }
  .command-title p { max-width:30ch; }
  .command-refresh { min-width:58px; min-height:58px; border-radius:16px; }
  .command-refresh span { display:none; }
  .command-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .command-kpi { min-height:72px; }
  .reporting-masthead,.control-masthead { padding:19px; border-radius:22px; }
  .live-indicator { align-self:flex-start; }
  .report-tab { font-size:10px; }
  .person-report-head { grid-template-columns:auto minmax(0,1fr) auto; }
  .person-report-head .status-pill { grid-column:auto; }
  .management-hero-head { align-items:flex-start; flex-direction:column; }
}
@media (max-width:390px) {
  .command-topline > span:last-child { display:none; }
  .command-title h1 { font-size:27px; }
  .command-title p { font-size:11px; }
  .pulse-person { grid-template-columns:auto minmax(0,1fr); }
  .pulse-person .status-pill { grid-column:2; justify-self:start; }
  .reporting-masthead { align-items:flex-start; flex-direction:column; }
}

/* ========================================================================== */
/* V15 — Sharper hierarchy + role workflow training                            */
/* ========================================================================== */
button { touch-action:manipulation; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid color-mix(in srgb,var(--focus),transparent 48%); outline-offset:2px; }
button:disabled { cursor:not-allowed; opacity:.45; box-shadow:none!important; transform:none!important; }
.topbar { min-height:68px; }
.brand-mark { width:44px; height:44px; flex-basis:44px; border-radius:13px; }
.screen { padding-top:18px; }
.hero-card,.reporting-masthead,.control-masthead,.command-hero { border-radius:20px; }
.metric-card,.primary-card,.workflow-card,.search-panel,.info-card,.history-card,.report-filter-card,.management-card,.person-report-card { border-radius:16px; }
.primary-button,.secondary-button,.danger-button { min-height:50px; border-radius:12px; }
.bottom-nav { border-radius:19px; }
.nav-item { border-radius:13px; }

.command-hero { padding:18px 20px; box-shadow:0 18px 44px rgba(8,25,43,.22),inset 0 1px 0 rgba(255,255,255,.1); }
.command-title { align-items:center; margin-top:18px; }
.command-title h1 { margin:4px 0 5px; font-size:clamp(27px,5.5vw,36px); line-height:1; letter-spacing:-.045em; }
.command-title p { font-size:11.5px; }
.command-refresh { min-width:58px; min-height:54px; border-radius:13px; }
.command-kpis { gap:7px; margin-top:16px; }
.command-kpi { min-height:68px; padding:10px 11px; border-radius:12px; }
.command-kpi::before { margin-bottom:8px; }
.command-kpi strong { font-size:22px; }
.command-kpi span { margin-top:5px; }
.command-actions button { min-height:72px; border-radius:14px; box-shadow:var(--shadow-sm); }
.command-panel { padding:16px; border-radius:16px; box-shadow:var(--shadow-sm); }
.pulse-person { border-radius:12px; }
.manager-command:not(.hidden) + .hero-card { border-radius:16px; }

.reporting-masthead { padding:19px 20px; }
.reporting-masthead h1 { font-size:30px; }
.report-tabs { top:calc(68px + env(safe-area-inset-top)); border-radius:14px; }
.report-tab { border-radius:10px; }
.report-filter-card { padding:16px; border-top-width:3px; box-shadow:var(--shadow-sm); }
.report-code,.report-list-code { border-radius:11px; }
.report-metric { min-height:76px; border-radius:12px; }
.management-hero { border-radius:16px; }
.control-masthead { min-height:158px; padding:20px; }
.control-masthead h1 { font-size:30px; }
.identity-chip { margin-top:16px; border-radius:12px; }
.system-heading { margin:24px 2px 10px; }

.workflow-lab { margin:15px 0 22px; padding:17px; border:1px solid color-mix(in srgb,var(--authority),transparent 80%); border-top:3px solid var(--authority); border-radius:16px; background:var(--surface); box-shadow:var(--shadow-md); }
.workflow-lab.hidden { display:none; }
.workflow-lab-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.workflow-lab-head h2 { margin:3px 0 2px; font-size:20px; letter-spacing:-.03em; }
.workflow-lab-head p { margin:0; color:var(--muted); font-size:11px; }
.no-write-badge { flex:0 0 auto; padding:6px 8px; color:var(--accent-strong); border:1px solid color-mix(in srgb,var(--accent),transparent 65%); border-radius:999px; background:var(--accent-soft); font-size:8px; font-weight:850; letter-spacing:.06em; }
.role-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.role-preview-card { --role-color:var(--authority); min-width:0; min-height:78px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px; text-align:left; color:var(--ink); border:1px solid var(--border); border-left:3px solid var(--role-color); border-radius:12px; background:color-mix(in srgb,var(--canvas),var(--surface) 52%); transition:border-color 170ms ease,background 170ms ease,box-shadow 170ms ease; }
.role-preview-card:hover { border-color:color-mix(in srgb,var(--role-color),transparent 45%); background:var(--surface); box-shadow:var(--shadow-sm); }
.role-preview-card:active { background:var(--authority-soft); }
.role-preview-card.tone-green,.workflow-preview-shell.tone-green { --role-color:#08725a; --role-soft:#e8f7f2; }
.role-preview-card.tone-blue,.workflow-preview-shell.tone-blue { --role-color:#2367c9; --role-soft:#eaf2ff; }
.role-preview-card.tone-amber,.workflow-preview-shell.tone-amber { --role-color:#a15c00; --role-soft:#fff5de; }
.role-preview-card.tone-navy,.workflow-preview-shell.tone-navy { --role-color:#0f2742; --role-soft:#eaf0f6; }
.role-preview-icon { width:42px; height:42px; display:grid; place-items:center; color:var(--role-color); border-radius:11px; background:var(--role-soft); }
.role-preview-icon svg,.role-preview-card > svg { width:19px; height:19px; }
.role-preview-card > svg { color:var(--subtle); }
.role-preview-card .role-code,.role-preview-card strong,.role-preview-card small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.role-code { color:var(--role-color); font-size:8px; font-weight:900; letter-spacing:.09em; }
.role-preview-card strong { margin-top:1px; font-size:12.5px; }
.role-preview-card small { margin-top:2px; color:var(--muted); font-size:9.5px; }

.workflow-preview-shell { --role-color:var(--authority); --role-soft:var(--authority-soft); }
.preview-mode-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-4px 0 15px; padding:8px 10px; color:var(--accent-strong); border:1px solid color-mix(in srgb,var(--accent),transparent 72%); border-radius:10px; background:var(--accent-soft); font-size:8.5px; font-weight:800; letter-spacing:.04em; }
.preview-mode-bar span { display:flex; align-items:center; gap:7px; }
.preview-mode-bar i { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 80%); }
.preview-mode-bar strong { color:var(--muted); font-size:8.5px; }
.preview-role-head { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; padding:13px; border-left:3px solid var(--role-color); border-radius:10px; background:var(--role-soft); }
.preview-role-icon { width:46px; height:46px; display:grid; place-items:center; color:#fff; border-radius:12px; background:var(--role-color); box-shadow:0 7px 17px color-mix(in srgb,var(--role-color),transparent 76%); }
.preview-role-icon svg { width:22px; height:22px; }
.preview-role-head span,.preview-role-head h3,.preview-role-head p { display:block; margin:0; }
.preview-role-head span { color:var(--role-color); font-size:8px; font-weight:900; letter-spacing:.1em; }
.preview-role-head h3 { margin-top:1px; font-size:18px; letter-spacing:-.025em; }
.preview-role-head p { margin-top:2px; color:var(--muted); font-size:10px; }
.preview-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; margin:12px 0 8px; padding:4px; border:1px solid var(--border); border-radius:11px; background:var(--canvas); }
.preview-nav span { min-width:0; padding:8px 3px; text-align:center; color:var(--muted); border-radius:8px; font-size:8px; font-weight:750; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.preview-nav span.active { color:var(--role-color); background:var(--surface); box-shadow:var(--shadow-sm); }
.preview-progress { height:5px; overflow:hidden; margin:11px 0 16px; border-radius:999px; background:var(--border); }
.preview-progress span { display:block; height:100%; border-radius:inherit; background:var(--role-color); transition:width 220ms ease; }
.preview-step { min-height:284px; padding:17px; border:1px solid var(--border); border-radius:13px; background:var(--surface); }
.preview-step-count { float:right; color:var(--subtle); font-size:8px; font-weight:850; letter-spacing:.08em; }
.preview-step .eyebrow { color:var(--role-color); }
.preview-step h2 { margin:7px 0 6px; font-size:23px; letter-spacing:-.035em; }
.preview-step > p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.preview-step ul { display:grid; gap:7px; margin:15px 0 0; padding:0; list-style:none; }
.preview-step li { display:grid; grid-template-columns:19px minmax(0,1fr); align-items:center; gap:8px; padding:9px 10px; color:var(--ink); border-radius:9px; background:var(--canvas); font-size:11px; font-weight:650; }
.preview-step li svg { width:17px; height:17px; color:var(--role-color); }
.preview-actions { display:grid; grid-template-columns:1fr 1.5fr; gap:8px; margin-top:12px; }
.preview-role-switch { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin-top:10px; }
.preview-role-switch button { min-height:38px; padding:6px; color:var(--muted); border:1px solid var(--border); border-radius:9px; background:var(--canvas); font-size:8px; font-weight:850; }
.preview-role-switch button.active { color:var(--role-color); border-color:color-mix(in srgb,var(--role-color),transparent 48%); background:var(--role-soft); }
[data-theme="dark"] .command-actions button > span { color:#9bc8f0; background:#16334c; }
[data-theme="dark"] .nav-item.active { color:#a8d3f7; background:#142b3f; box-shadow:inset 0 0 0 1px #29465e; }
[data-theme="dark"] .role-preview-card,[data-theme="dark"] .workflow-preview-shell { --role-soft:color-mix(in srgb,var(--role-color),transparent 82%); }
[data-theme="dark"] .role-preview-card { background:color-mix(in srgb,var(--surface),var(--canvas) 28%); }
[data-theme="dark"] .preview-step li { background:#142333; }
[data-theme="dark"] .preview-nav,[data-theme="dark"] .preview-role-switch button { background:#0a1623; }

@media (min-width:700px) {
  .role-preview-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .role-preview-card { grid-template-columns:auto minmax(0,1fr); }
  .role-preview-card > svg { display:none; }
}
@media (max-width:520px) {
  .role-preview-grid { grid-template-columns:1fr; }
  .workflow-lab { padding:14px; }
  .workflow-lab-head { align-items:flex-start; flex-direction:column; }
  .preview-mode-bar strong { display:none; }
  .preview-step { min-height:306px; }
  .command-title h1 { font-size:27px; }
}
@media (max-width:375px) {
  .preview-nav span { font-size:7px; }
  .preview-step { padding:14px; }
  .preview-step h2 { font-size:21px; }
}

@media (max-width: 520px) {
  .auth-card { padding: 26px 20px; border-radius: 22px; }
}

/* ========================================================================== */
/* V16 — Mandatory, confirmed Start-Workday attendance gate                   */
/* ========================================================================== */
.day-start-overlay { z-index:180; place-items:center; padding:16px; background:rgba(5,15,25,.78); backdrop-filter:blur(15px) saturate(88%); }
.day-start-gate { width:min(100%,540px); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; padding:22px; color:var(--ink); border:1px solid color-mix(in srgb,var(--authority),transparent 76%); border-radius:22px; background:var(--surface-raised); box-shadow:0 28px 90px rgba(2,12,24,.38); animation:professional-sheet-in 250ms cubic-bezier(.22,.86,.25,1); }
.start-gate-brand { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding-bottom:17px; border-bottom:1px solid var(--border); }
.start-gate-brand .brand-mark { width:42px; height:42px; flex-basis:42px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,var(--brand),var(--brand-strong)); font-size:11px; font-weight:900; letter-spacing:.04em; }
.start-gate-brand strong,.start-gate-brand small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.start-gate-brand strong { font-size:12px; letter-spacing:-.01em; }
.start-gate-brand small { margin-top:2px; color:var(--muted); font-size:9px; }
.secure-pill { display:flex; align-items:center; gap:5px; padding:6px 8px; color:var(--accent-strong); border:1px solid color-mix(in srgb,var(--accent),transparent 65%); border-radius:999px; background:var(--accent-soft); font-size:7px; font-weight:900; letter-spacing:.07em; }
.secure-pill svg { width:13px; height:13px; }
.start-gate-progress { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:17px 0 21px; }
.start-gate-progress span { height:4px; border-radius:999px; background:var(--border); transition:background 200ms ease,box-shadow 200ms ease; }
.start-gate-progress span.complete { background:var(--accent); box-shadow:0 0 0 1px color-mix(in srgb,var(--accent),transparent 70%); }
.start-gate-copy .eyebrow { color:var(--accent-strong); }
.start-gate-copy h1 { margin:7px 0 7px; font-size:clamp(28px,7vw,38px); line-height:1.02; letter-spacing:-.048em; }
.start-gate-copy p { max-width:46ch; margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.start-location-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; min-height:86px; margin:20px 0 11px; padding:14px; border:1px solid var(--border); border-left:4px solid var(--warning); border-radius:14px; background:var(--canvas); }
.start-location-card.captured { border-color:color-mix(in srgb,var(--accent),transparent 70%); border-left-color:var(--accent); background:color-mix(in srgb,var(--accent-soft),var(--surface) 42%); }
.start-location-icon { width:46px; height:46px; display:grid; place-items:center; color:var(--warning-strong); border-radius:12px; background:var(--warning-soft); }
.captured .start-location-icon { color:var(--accent-strong); background:var(--accent-soft); }
.start-location-icon svg { width:22px; height:22px; }
.start-location-card small,.start-location-card strong,.start-location-card span { display:block; }
.start-location-card small { color:var(--muted); font-size:7.5px; font-weight:900; letter-spacing:.1em; }
.start-location-card strong { margin-top:3px; font-size:14px; }
.start-location-card div > span { margin-top:3px; color:var(--muted); font-size:9.5px; line-height:1.4; }
.verified-mark { width:30px; height:30px; display:grid!important; place-items:center; color:var(--accent-strong); border-radius:50%; background:var(--accent-soft); }
.verified-mark svg { width:17px; height:17px; }
.start-confirm-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-bottom:11px; }
.start-confirm-grid > div { min-width:0; padding:11px 12px; border:1px solid var(--border); border-radius:11px; background:var(--canvas); }
.start-confirm-grid .wide { grid-column:1/-1; }
.start-confirm-grid span,.start-confirm-grid strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.start-confirm-grid span { color:var(--muted); font-size:8.5px; }
.start-confirm-grid strong { margin-top:4px; font-size:11.5px; }
.start-privacy-note { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:10px; margin:12px 0 18px; padding:11px 12px; color:var(--authority); border-radius:11px; background:var(--authority-soft); }
.start-privacy-note > svg { width:18px; height:18px; margin-top:1px; }
.start-privacy-note p { margin:0; }
.start-privacy-note strong,.start-privacy-note span { display:block; }
.start-privacy-note strong { font-size:10px; }
.start-privacy-note span { margin-top:2px; color:var(--muted); font-size:9px; line-height:1.4; }
.start-gate-actions { display:grid; grid-template-columns:1fr 1.55fr; gap:9px; }
.start-gate-actions .full { grid-column:1/-1; }
[data-theme="dark"] .day-start-gate { border-color:#29465e; background:#0f1e2c; }
[data-theme="dark"] .start-location-card,[data-theme="dark"] .start-confirm-grid > div { background:#0a1623; }
[data-theme="dark"] .start-location-card.captured { background:#102a27; }
[data-theme="dark"] .start-privacy-note { color:#a8d3f7; background:#142b3f; }
[data-theme="dark"] .start-gate-actions .secondary-button { color:#dbeafe; border-color:#36536b; background:#14283a; }
[data-theme="dark"] .start-gate-actions .secondary-button:hover { background:#1a3449; }

@media (max-width:420px) {
  .day-start-overlay { padding:0; place-items:end center; }
  .day-start-gate { width:100%; max-height:96dvh; padding:19px 17px calc(19px + env(safe-area-inset-bottom)); border-right:0; border-bottom:0; border-left:0; border-radius:22px 22px 0 0; }
  .secure-pill { padding:6px; font-size:0; }
  .start-gate-copy h1 { font-size:30px; }
  .start-confirm-grid { grid-template-columns:1fr; }
  .start-confirm-grid .wide { grid-column:auto; }
  .start-gate-actions { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .day-start-gate { animation:none; }
  .start-gate-progress span { transition:none; }
}

/* V40 — dedicated Close Day control and 23:00 approval workflow */
#pendingCloseAlert:empty { display:none; }
.pending-close-alert { width:100%; min-height:86px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; margin:14px 0; padding:15px; color:var(--text); text-align:left; border:1px solid #e8c47b; border-left:5px solid #b87507; border-radius:16px; background:#fff7e7; box-shadow:var(--shadow-sm); cursor:pointer; transition:border-color 180ms ease,background 180ms ease,box-shadow 180ms ease; }
.pending-close-alert:hover,.pending-close-alert:focus-visible { border-color:#bd7e17; background:#fff2d8; box-shadow:var(--shadow-md); }
.pending-close-icon { width:44px; height:44px; display:grid; place-items:center; color:#8a5300; border-radius:12px; background:#ffe8b8; }
.pending-close-icon svg { width:22px; height:22px; }
.pending-close-alert small,.pending-close-alert strong,.pending-close-alert em { display:block; }
.pending-close-alert small { color:#8a5300; font-size:8px; font-weight:900; letter-spacing:.09em; }
.pending-close-alert strong { margin-top:3px; font-size:14px; }
.pending-close-alert em { margin-top:3px; color:#6c5b40; font-size:10px; font-style:normal; }
.pending-close-action { display:flex; align-items:center; gap:4px; color:#7a4a00; font-size:10px; font-weight:850; white-space:nowrap; }
.pending-close-action svg { width:17px; height:17px; }
.pending-close-primary { border-left:4px solid #b87507; }
.state-badge.warning { color:#805000; border-color:#e4bd70; background:#fff3d9; }

.close-day-overlay { z-index:190; place-items:center; padding:12px; background:rgba(3,13,23,.82); backdrop-filter:blur(16px) saturate(82%); }
.close-day-gate { width:min(100%,760px); height:min(94dvh,920px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; color:var(--text); border:1px solid color-mix(in srgb,var(--authority),transparent 66%); border-radius:24px; background:var(--surface); box-shadow:0 30px 110px rgba(0,9,19,.48); animation:professional-sheet-in 240ms cubic-bezier(.22,.86,.25,1); }
.close-day-header { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:13px; padding:15px 18px; color:#fff; border-bottom:1px solid rgba(255,255,255,.12); background:linear-gradient(132deg,#071a2c,#102f4a); }
.close-day-back { min-width:76px; min-height:44px; display:flex; align-items:center; justify-content:center; gap:5px; color:#fff; border:1px solid rgba(255,255,255,.23); border-radius:12px; background:rgba(255,255,255,.08); font-size:11px; font-weight:800; cursor:pointer; transition:background 180ms ease,border-color 180ms ease; }
.close-day-back:hover,.close-day-back:focus-visible { background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.45); }
.close-day-back svg { width:18px; height:18px; }
.close-day-header .eyebrow { color:#efb7bf; font-size:8px; }
.close-day-header h1 { margin:3px 0 0; color:#fff; font-size:20px; line-height:1.12; }
.close-day-header p { margin:3px 0 0; color:rgba(255,255,255,.68); font-size:9px; }
.close-day-status { min-height:34px; display:flex; align-items:center; gap:6px; padding:7px 9px; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#9ce1ce; background:rgba(8,119,95,.2); font-size:8px; font-weight:900; letter-spacing:.05em; }
.close-day-status.pending { color:#ffd18a; background:rgba(184,117,7,.2); }
.close-day-status svg { width:15px; height:15px; }
.close-day-scroll { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:18px; background:var(--canvas); }
.close-day-command { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; padding:20px; color:#fff; border-radius:18px; background:linear-gradient(135deg,#102f4a,#183e5d); box-shadow:var(--shadow-md); }
.close-day-command.pending { background:linear-gradient(135deg,#5d3b05,#8f5a05); }
.close-day-command-label { display:block; color:#92ddc9; font-size:8px; font-weight:900; letter-spacing:.11em; }
.close-day-command.pending .close-day-command-label { color:#ffe0a4; }
.close-day-command h2 { margin:6px 0 5px; color:#fff; font-size:20px; line-height:1.18; }
.close-day-command p { max-width:48ch; margin:0; color:rgba(255,255,255,.7); font-size:10px; line-height:1.45; }
.close-day-window { min-width:230px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:12px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.07); }
.close-day-window span { text-align:center; }
.close-day-window small,.close-day-window strong { display:block; }
.close-day-window small { color:rgba(255,255,255,.58); font-size:7px; font-weight:900; letter-spacing:.08em; }
.close-day-window strong { margin-top:4px; color:#fff; font-size:12px; font-variant-numeric:tabular-nums; }
.close-day-window > i { width:20px; color:rgba(255,255,255,.5); }
.close-day-window svg { width:18px; height:18px; }
.close-day-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:12px 0; }
.close-day-metrics > div { min-width:0; padding:14px; border:1px solid var(--border); border-top:3px solid var(--authority); border-radius:14px; background:var(--surface); box-shadow:var(--shadow-sm); }
.close-day-metrics > div:nth-child(3) { border-top-color:var(--accent); }
.close-day-metrics > div:nth-child(4) { border-top-color:#2777ad; }
.close-day-metrics span { width:31px; height:31px; display:grid; place-items:center; color:var(--authority); border-radius:9px; background:var(--authority-soft); }
.close-day-metrics span svg { width:17px; height:17px; }
.close-day-metrics strong,.close-day-metrics small { display:block; }
.close-day-metrics strong { margin-top:10px; color:var(--text); font-size:18px; font-variant-numeric:tabular-nums; }
.close-day-metrics small { margin-top:3px; color:var(--muted); font-size:9px; line-height:1.35; }
.close-day-allocation,.close-day-section,.close-day-approval-panel { margin-top:12px; padding:17px; border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:var(--shadow-sm); }
.close-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:13px; }
.close-section-heading .eyebrow { color:var(--brand); font-size:8px; }
.close-section-heading h3 { margin:4px 0 0; font-size:14px; }
.close-section-heading > span,.close-section-heading > strong { color:var(--muted); font-size:10px; font-weight:800; }
.close-allocation-track { height:11px; display:flex; overflow:hidden; border-radius:999px; background:var(--border); }
.close-allocation-track i { height:100%; min-width:0; }
.close-allocation-track .onsite { background:#08775f; }
.close-allocation-track .travel { background:#2777ad; }
.close-allocation-track .other { background:#9aa7b3; }
.close-allocation-legend { display:flex; flex-wrap:wrap; gap:12px 18px; margin-top:11px; }
.close-allocation-legend span { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:9px; }
.close-allocation-legend i { width:8px; height:8px; border-radius:50%; }
.close-allocation-legend i.onsite { background:#08775f; }
.close-allocation-legend i.travel { background:#2777ad; }
.close-allocation-legend i.other { background:#9aa7b3; }
.close-allocation-legend strong { color:var(--text); }
.close-route-list { display:grid; }
.close-route-row { min-width:0; display:grid; grid-template-columns:36px 68px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:62px; padding:9px 0; border-bottom:1px solid var(--border); }
.close-route-row:last-child { border-bottom:0; }
.close-route-index { width:34px; height:34px; display:grid; place-items:center; color:var(--authority); border:1px solid var(--border); border-radius:10px; background:var(--canvas); font-size:9px; font-weight:900; }
.close-route-time { color:var(--text); font-size:10px; font-weight:850; font-variant-numeric:tabular-nums; }
.close-route-row strong,.close-route-row small { display:block; overflow-wrap:anywhere; }
.close-route-row strong { font-size:10px; }
.close-route-row small { margin-top:3px; color:var(--muted); font-size:8px; }
.close-route-state { min-height:28px; display:flex; align-items:center; padding:5px 8px; border-radius:999px; font-size:8px; font-weight:850; }
.close-route-state.complete { color:#08664f; background:#e3f5ef; }
.close-route-state.incomplete { color:#85530a; background:#fff0d4; }
.close-empty { padding:22px; color:var(--muted); text-align:center; font-size:10px; }
.close-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.close-kpi-tile { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:48px; padding:10px 11px; border:1px solid var(--border); border-radius:11px; background:var(--canvas); }
.close-kpi-tile span { color:var(--muted); font-size:9px; font-weight:750; }
.close-kpi-tile strong { min-width:26px; height:26px; display:grid; place-items:center; color:var(--authority); border-radius:8px; background:var(--surface); font-size:11px; font-variant-numeric:tabular-nums; }
.close-day-approval-panel > label:first-child { display:block; margin-bottom:7px; color:var(--text); font-size:10px; font-weight:850; }
.close-day-approval-panel > label:first-child span { color:var(--muted); font-weight:650; }
.close-day-approval-panel textarea { width:100%; min-height:82px; resize:vertical; padding:12px; border:1px solid var(--border-strong); border-radius:12px; color:var(--text); background:var(--canvas); font:inherit; font-size:11px; }
.close-day-approval-panel textarea:focus { outline:3px solid color-mix(in srgb,var(--brand),transparent 80%); border-color:var(--brand); }
.close-day-gps-note { display:flex; align-items:center; gap:10px; margin-top:11px; padding:11px 12px; border:1px solid color-mix(in srgb,var(--info),transparent 68%); border-radius:12px; background:color-mix(in srgb,var(--info),transparent 93%); }
.close-day-gps-note > svg { width:22px; height:22px; flex:0 0 22px; color:var(--info); stroke-width:1.8; }
.close-day-gps-note > span { display:grid; gap:2px; }
.close-day-gps-note strong { color:var(--text); font-size:11px; }
.close-day-gps-note small { color:var(--muted); font-size:10px; line-height:1.4; }
.close-day-gps-note.captured { border-color:color-mix(in srgb,var(--accent),transparent 52%); background:color-mix(in srgb,var(--accent),transparent 91%); }
.close-day-gps-note.captured > svg { color:var(--accent); }
.close-day-gps-note.captured strong { color:var(--accent-strong); }
.close-day-gps-button { width:100%; min-height:48px; margin-top:9px; border-color:color-mix(in srgb,var(--info),transparent 45%); }
.close-day-confirm { min-height:68px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:11px; margin-top:12px; padding:13px; border:1px solid var(--border); border-radius:13px; background:var(--canvas); cursor:pointer; }
.close-day-confirm input { width:22px; height:22px; margin:1px 0 0; accent-color:var(--brand); }
.close-day-confirm strong,.close-day-confirm small { display:block; }
.close-day-confirm strong { font-size:11px; }
.close-day-confirm small { margin-top:3px; color:var(--muted); font-size:9px; line-height:1.4; }
.close-day-footer { display:grid; grid-template-columns:minmax(110px,.45fr) minmax(0,1fr); gap:9px; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--border); background:var(--surface); box-shadow:0 -8px 24px rgba(15,42,64,.08); }
.close-day-footer button { min-height:48px; }
[data-theme="dark"] .pending-close-alert { color:#fff1d1; border-color:#715123; background:#382812; }
[data-theme="dark"] .pending-close-alert em { color:#e6c78e; }
[data-theme="dark"] .close-day-scroll { background:#091521; }
[data-theme="dark"] .close-day-metrics > div,[data-theme="dark"] .close-day-allocation,[data-theme="dark"] .close-day-section,[data-theme="dark"] .close-day-approval-panel { background:#0f1e2c; }
[data-theme="dark"] .close-kpi-tile,[data-theme="dark"] .close-day-confirm,[data-theme="dark"] .close-day-approval-panel textarea { background:#0a1623; }

@media (max-width:620px) {
  .close-day-overlay { padding:0; place-items:end center; }
  .close-day-gate { width:100%; height:100dvh; max-height:100dvh; border:0; border-radius:0; }
  .close-day-header { padding:calc(12px + env(safe-area-inset-top)) 13px 12px; }
  .close-day-status span { display:none; }
  .close-day-status { width:38px; min-height:38px; justify-content:center; padding:7px; border-radius:11px; }
  .close-day-scroll { padding:13px; }
  .close-day-command { grid-template-columns:1fr; gap:13px; padding:17px; }
  .close-day-window { min-width:0; width:100%; }
  .close-day-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .close-route-row { grid-template-columns:34px 58px minmax(0,1fr); }
  .close-route-state { grid-column:3; justify-self:start; }
  .close-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pending-close-alert { grid-template-columns:auto minmax(0,1fr); }
  .pending-close-action { grid-column:2; }
}
@media (max-width:375px) {
  .close-day-back { min-width:44px; width:44px; padding:0; }
  .close-day-back span { display:none; }
  .close-day-header h1 { font-size:17px; }
  .close-day-metrics > div { padding:12px; }
  .close-day-footer { grid-template-columns:92px minmax(0,1fr); padding-inline:12px; }
}
@media (orientation:landscape) and (max-height:560px) {
  .close-day-gate { height:100dvh; max-height:100dvh; border-radius:0; }
  .close-day-header { padding-block:9px; }
  .close-day-scroll { padding:11px 15px; }
  .close-day-command { grid-template-columns:minmax(0,1fr) auto; padding:13px; }
  .close-day-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
  .close-day-gate,.pending-close-alert { animation:none; transition:none; }
}

/* ========================================================================== */
/* V18 — Modern field command UI + confirmed KPI and visit review             */
/* ========================================================================== */
:root {
  --brand:#a31621;
  --brand-strong:#7d1018;
  --brand-soft:#fcebed;
  --accent:#08775f;
  --accent-strong:#05604c;
  --accent-soft:#e6f7f1;
  --authority:#102f4a;
  --authority-soft:#e8f0f7;
  --ink:#102235;
  --muted:#5a6b7b;
  --subtle:#8291a0;
  --canvas:#edf3f8;
  --surface:#ffffff;
  --surface-raised:#ffffff;
  --border:#d6e1ea;
  --border-strong:#b5c4d1;
  --shadow-sm:0 2px 7px rgba(15,42,64,.06);
  --shadow-md:0 12px 34px rgba(15,42,64,.10);
  --shadow-lg:0 32px 90px rgba(8,29,46,.24);
  font-family:"Plus Jakarta Sans",Inter,"Segoe UI",Arial,sans-serif;
}
[data-theme="dark"] {
  --brand:#ff9298;
  --brand-strong:#ffb4b8;
  --brand-soft:#3a1d24;
  --accent:#61d7b8;
  --accent-strong:#90e7d0;
  --accent-soft:#153b33;
  --authority:#9cccf2;
  --authority-soft:#142d42;
  --ink:#f3f7fa;
  --muted:#b5c2cd;
  --subtle:#8293a1;
  --canvas:#071521;
  --surface:#0e2232;
  --surface-raised:#11283a;
  --border:#294153;
  --border-strong:#456075;
}
html,body { background:var(--canvas); }
body {
  background-image:
    radial-gradient(circle at 92% -8%,color-mix(in srgb,var(--authority),transparent 87%) 0,transparent 34%),
    linear-gradient(180deg,color-mix(in srgb,var(--canvas),#fff 18%) 0,var(--canvas) 42%,color-mix(in srgb,var(--canvas),#fff 8%) 100%);
  background-attachment:fixed;
}
[data-theme="dark"] body {
  background-image:
    radial-gradient(circle at 90% -8%,rgba(40,101,143,.24) 0,transparent 36%),
    linear-gradient(180deg,#0a1a28 0,var(--canvas) 55%,#07121d 100%);
}
.topbar {
  background:color-mix(in srgb,var(--surface),transparent 7%);
  border-color:color-mix(in srgb,var(--authority),transparent 86%);
  box-shadow:0 8px 28px rgba(15,42,64,.06);
}
.bottom-nav { box-shadow:0 -14px 40px rgba(15,42,64,.11); }
.nav-item.active { color:var(--authority); background:var(--authority-soft); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--authority),transparent 83%); }
.hero-card {
  color:#fff;
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(138deg,#102f4a 0,#164e6d 66%,#0b6b62 130%);
  box-shadow:0 20px 50px rgba(10,38,59,.22),inset 0 1px 0 rgba(255,255,255,.12);
}
.hero-card .eyebrow,.hero-card h1 { color:#fff; }
.hero-card p { color:#d7e6f1; }
.hero-card::after { background:rgba(255,255,255,.08); }
.hero-card .state-badge { color:#0e4d3e; background:#dff8ef; }
.primary-button { background:linear-gradient(135deg,var(--accent),#096b68); border-color:var(--accent); box-shadow:0 9px 22px color-mix(in srgb,var(--accent),transparent 72%); }
.secondary-button { color:var(--authority); border-color:color-mix(in srgb,var(--authority),transparent 42%); }
.secondary-button:hover { background:var(--authority-soft); }

.kpi-command {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin-bottom:22px;
  padding:21px;
  color:#fff;
  border:1px solid rgba(255,255,255,.13);
  border-radius:21px;
  background:linear-gradient(138deg,#102f4a 0,#174e6c 68%,#11675f 125%);
  box-shadow:0 18px 44px rgba(9,37,58,.20),inset 0 1px 0 rgba(255,255,255,.10);
}
.kpi-command::after { content:""; position:absolute; right:-58px; bottom:-86px; width:190px; height:190px; border:34px solid rgba(255,255,255,.05); border-radius:50%; pointer-events:none; }
.kpi-command-copy { position:relative; z-index:1; min-width:0; }
.kpi-command .eyebrow { color:#95e0cc; }
.kpi-command h2 { margin:5px 0 5px; font-size:clamp(21px,5vw,28px); line-height:1.12; letter-spacing:-.035em; }
.kpi-command p { max-width:54ch; margin:0; color:#d8e6ef; font-size:12px; line-height:1.55; }
.kpi-legend { display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; color:#e8f1f6; font-size:9px; font-weight:750; }
.kpi-legend span { display:flex; align-items:center; gap:6px; }
.kpi-legend i { width:8px; height:8px; border-radius:50%; background:#eaf1f5; }
.kpi-legend i.confirmed { background:#55dbb4; }
.kpi-legend i.evidence { background:#ffc96b; }
.kpi-progress-orb {
  --progress:0deg;
  position:relative;
  z-index:1;
  width:96px;
  height:96px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:radial-gradient(circle at center,#173d58 56%,transparent 58%),conic-gradient(#55dbb4 var(--progress),rgba(255,255,255,.16) 0);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.13),0 14px 28px rgba(0,0,0,.16);
}
.kpi-progress-orb strong { font-size:22px; line-height:1; font-variant-numeric:tabular-nums; }
.kpi-progress-orb span { margin-top:5px; color:#d8e6ef; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.kpi-group { padding:15px; border:1px solid var(--border); border-radius:18px; background:color-mix(in srgb,var(--surface),transparent 1%); box-shadow:var(--shadow-sm); }
.kpi-card { min-height:88px; border-radius:14px; box-shadow:none; }
.kpi-card.pending { background:color-mix(in srgb,var(--surface),var(--canvas) 18%); }
.kpi-card.complete { border-color:color-mix(in srgb,var(--accent),transparent 50%); background:linear-gradient(145deg,var(--accent-soft),color-mix(in srgb,var(--accent-soft),var(--surface) 55%)); }
.kpi-card-copy { min-width:0; }
.kpi-card-title { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.kpi-card-title strong { flex:1 1 auto; }
.kpi-status-label { flex:0 0 auto; margin:0; padding:4px 7px; color:var(--muted); border:1px solid var(--border); border-radius:999px; background:var(--canvas); font-size:8px; font-style:normal; font-weight:850; letter-spacing:.03em; }
.kpi-card.complete .kpi-status-label { color:var(--accent-strong); border-color:color-mix(in srgb,var(--accent),transparent 66%); background:var(--accent-soft); }
.kpi-card.evidence-pending .kpi-status-label { color:var(--warning); border-color:color-mix(in srgb,var(--warning),transparent 66%); background:var(--warning-soft); }
.evidence-alert { display:block; margin-top:6px; color:var(--warning); font-size:9px; font-style:normal; font-weight:800; }
.optional-copy { float:right; padding:3px 7px; color:var(--muted); border-radius:999px; background:var(--canvas); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.kpi-finish-card { margin-top:16px; border-top:3px solid var(--authority); }
.kpi-modal-context { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:11px; margin:0 0 16px; padding:12px; border:1px solid var(--border); border-left:3px solid var(--authority); border-radius:12px; background:var(--authority-soft); }
.kpi-modal-context .kpi-code { color:#fff; border-color:var(--authority); background:var(--authority); }
.kpi-modal-context strong,.kpi-modal-context small { display:block; }
.kpi-modal-context small { margin-top:2px; color:var(--muted); font-size:10px; }
.modal-heading { padding-bottom:14px; border-bottom:1px solid var(--border); }
.modal-actions { position:sticky; bottom:calc(-24px - env(safe-area-inset-bottom)); z-index:3; margin:18px -18px calc(-24px - env(safe-area-inset-bottom)); padding:13px 18px calc(18px + env(safe-area-inset-bottom)); border-top:1px solid var(--border); background:color-mix(in srgb,var(--surface-raised),transparent 3%); backdrop-filter:blur(14px); }

.visit-review-hero { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:15px; margin-bottom:12px; padding:19px; color:#fff; border-radius:20px; background:linear-gradient(138deg,#102f4a,#164d6a 70%,#0c695e 130%); box-shadow:0 18px 44px rgba(9,37,58,.20); }
.review-seal { width:54px; height:54px; display:grid; place-items:center; color:#0c5546; border-radius:16px; background:#ddf8ef; box-shadow:inset 0 0 0 1px rgba(255,255,255,.65); }
.review-seal svg { width:27px; height:27px; stroke-width:2.2; }
.visit-review-hero .eyebrow { color:#9ce2cf; }
.visit-review-hero h2 { margin:4px 0 3px; font-size:24px; letter-spacing:-.035em; }
.visit-review-hero p { margin:0; color:#d7e6ef; font-size:11px; }
.visit-review-card { padding:18px; }
.visit-identity { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:15px; border-bottom:1px solid var(--border); }
.visit-identity span,.visit-identity h3,.visit-identity p { display:block; margin:0; }
.visit-identity > div > span { color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.visit-identity h3 { margin-top:4px; font-size:19px; letter-spacing:-.025em; }
.visit-identity p { margin-top:3px; color:var(--muted); font-size:10px; }
.visit-duration { flex:0 0 auto; min-width:76px; padding:10px; text-align:center; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority),transparent 78%); border-radius:12px; background:var(--authority-soft); }
.visit-duration strong,.visit-duration small { display:block; }
.visit-duration strong { font-size:15px; font-variant-numeric:tabular-nums; }
.visit-duration small { margin-top:2px; color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.05em; }
.review-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:22px 0 10px; }
.review-section-heading h3 { margin:2px 0 0; font-size:17px; }
.visit-review-kpis { display:grid; gap:8px; }
.visit-review-kpi { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; min-height:66px; padding:10px; border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:12px; background:var(--surface); }
.visit-review-kpi.attention { border-left-color:var(--warning); background:color-mix(in srgb,var(--warning-soft),var(--surface) 72%); }
.review-kpi-code { width:40px; height:40px; display:grid; place-items:center; color:var(--accent-strong); border-radius:10px; background:var(--accent-soft); font-size:9px; font-weight:900; }
.visit-review-kpi.attention .review-kpi-code { color:var(--warning); background:var(--warning-soft); }
.visit-review-kpi strong,.visit-review-kpi small { display:block; }
.visit-review-kpi strong { font-size:12px; }
.visit-review-kpi small { margin-top:2px; color:var(--muted); font-size:9px; line-height:1.4; }
.visit-review-kpi > em { padding:4px 7px; color:var(--accent-strong); border-radius:999px; background:var(--accent-soft); font-size:7px; font-style:normal; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.visit-review-kpi.attention > em { color:var(--warning); background:var(--warning-soft); }
.review-list.compact { margin-top:18px; }
.review-row.notes { align-items:start; }
.review-row.notes strong { max-width:65%; text-align:right; white-space:normal; }
.checkout-control { margin-top:18px; padding-top:4px; border-top:1px solid var(--border); }
.visit-confirmation { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:11px; margin:12px 0 18px; padding:14px; border:1px solid color-mix(in srgb,var(--authority),transparent 72%); border-radius:13px; background:var(--authority-soft); cursor:pointer; }
.visit-confirmation input { width:21px; height:21px; min-height:0; margin:1px 0 0; accent-color:var(--accent); }
.visit-confirmation strong,.visit-confirmation small { display:block; }
.visit-confirmation strong { color:var(--authority); font-size:12px; }
.visit-confirmation small { margin-top:4px; color:var(--muted); font-size:9px; line-height:1.45; }

.visit-receipt { display:grid; gap:14px; }
.receipt-success { display:grid; place-items:center; padding:20px; text-align:center; color:#fff; border-radius:17px; background:linear-gradient(138deg,#0b6b55,#0d7a68); }
.receipt-success > span { width:50px; height:50px; display:grid; place-items:center; margin-bottom:10px; color:#0b6b55; border-radius:50%; background:#e7fff7; }
.receipt-success svg { width:25px; height:25px; }
.receipt-success strong,.receipt-success small { display:block; }
.receipt-success strong { font-size:18px; }
.receipt-success small { margin-top:3px; color:#d6f5eb; font-size:10px; }
.receipt-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.receipt-stats > div { min-width:0; padding:11px 6px; text-align:center; border:1px solid var(--border); border-radius:11px; background:var(--canvas); }
.receipt-stats strong,.receipt-stats span { display:block; }
.receipt-stats strong { font-size:15px; }
.receipt-stats span { margin-top:3px; color:var(--muted); font-size:8px; }
.receipt-timeline { display:flex; justify-content:space-between; gap:10px; padding:11px 12px; border:1px solid var(--border); border-radius:11px; background:var(--surface); color:var(--muted); font-size:9px; }
.receipt-timeline span { display:flex; align-items:center; gap:6px; }
.receipt-timeline i { width:7px; height:7px; border-radius:50%; background:var(--accent); }
.receipt-kpis { display:grid; gap:6px; max-height:280px; overflow:auto; }
.receipt-kpis > div { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:9px; padding:9px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.receipt-kpis > div > span { width:36px; height:36px; display:grid; place-items:center; color:var(--accent-strong); border-radius:9px; background:var(--accent-soft); font-size:8px; font-weight:900; }
.receipt-kpis p,.receipt-kpis strong,.receipt-kpis small { display:block; margin:0; }
.receipt-kpis strong { font-size:10px; }
.receipt-kpis small { margin-top:2px; color:var(--muted); font-size:8px; }
.receipt-kpis em { color:var(--accent-strong); font-size:7px; font-style:normal; font-weight:900; text-transform:uppercase; }

[data-theme="dark"] .kpi-group,[data-theme="dark"] .visit-review-kpi,[data-theme="dark"] .receipt-kpis > div { background:#0e2232; }
[data-theme="dark"] .kpi-card.pending { background:#0b1b29; }
[data-theme="dark"] .kpi-card.complete { background:#12332e; }
[data-theme="dark"] .visit-confirmation,[data-theme="dark"] .kpi-modal-context { background:#142d42; }
[data-theme="dark"] .visit-confirmation strong { color:#c6e2f6; }

@media (min-width:700px) {
  .visit-review-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .kpi-command { grid-template-columns:minmax(0,1fr) 78px; gap:11px; padding:17px; }
  .kpi-command h2 { font-size:21px; }
  .kpi-command p { font-size:10.5px; }
  .kpi-progress-orb { width:76px; height:76px; }
  .kpi-progress-orb strong { font-size:18px; }
  .kpi-legend { gap:8px; font-size:8px; }
  .kpi-group { padding:11px; }
  .visit-review-hero { padding:16px; }
  .review-seal { width:48px; height:48px; }
  .visit-review-hero h2 { font-size:21px; }
  .receipt-timeline { align-items:flex-start; flex-direction:column; }
}
@media (max-width:360px) {
  .kpi-command { grid-template-columns:1fr; }
  .kpi-progress-orb { width:72px; height:72px; }
  .visit-review-hero { grid-template-columns:1fr; }
  .review-grid { grid-template-columns:1fr 1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .kpi-progress-orb,.kpi-card,.primary-button,.secondary-button { transition:none; }
}

/* V19 — mandatory Store SKU Baseline and visit-to-visit change control */
.sku-baseline-hero { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:start; margin:2px 0 16px; padding:16px; color:#fff; border-radius:16px; background:linear-gradient(140deg,var(--authority),#15536b); box-shadow:var(--shadow-sm); }
.sku-baseline-hero.first { background:linear-gradient(140deg,#6f1821,#a42632); }
.sku-baseline-icon { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:13px; background:rgba(255,255,255,.12); font-size:12px; font-weight:900; letter-spacing:.06em; }
.sku-baseline-hero .eyebrow { color:#a7ead7; }
.sku-baseline-hero.first .eyebrow { color:#ffd8db; }
.sku-baseline-hero h3 { margin:4px 0; color:#fff; font-size:18px; letter-spacing:-.025em; }
.sku-baseline-hero p { margin:0; color:#deebf2; font-size:11px; line-height:1.55; }
.sku-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:14px; }
.sku-choice { min-height:84px; padding:13px; text-align:left; color:var(--text); border:1px solid var(--border); border-radius:14px; background:var(--surface); cursor:pointer; transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease; }
.sku-choice:hover,.sku-choice:focus-visible { border-color:color-mix(in srgb,var(--accent),transparent 32%); }
.sku-choice.selected { border-color:var(--accent); background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent); }
.sku-choice strong,.sku-choice small { display:block; }
.sku-choice strong { font-size:12px; }
.sku-choice small { margin-top:5px; color:var(--muted); font-size:9px; line-height:1.45; }
.sku-section-head { display:flex; align-items:end; justify-content:space-between; gap:10px; margin:18px 0 8px; }
.sku-section-head h3 { margin:3px 0 0; font-size:15px; }
.sku-baseline-list { display:grid; gap:7px; }
.sku-baseline-list.compact { max-height:250px; overflow:auto; }
.sku-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; min-height:64px; padding:9px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.sku-item-code { min-width:56px; padding:8px 7px; text-align:center; color:var(--authority); border-radius:9px; background:var(--authority-soft); font-size:9px; font-weight:900; font-variant-numeric:tabular-nums; }
.sku-item-copy { min-width:0; }
.sku-item-copy strong,.sku-item-copy small { display:block; overflow-wrap:anywhere; }
.sku-item-copy strong { font-size:11px; line-height:1.35; }
.sku-item-copy small { margin-top:2px; color:var(--muted); font-size:8px; line-height:1.35; }
.sku-item-state,.sku-item-action { min-width:48px; min-height:44px; display:grid; place-items:center; padding:7px; border-radius:9px; font-size:8px; font-weight:850; }
.sku-item-state { min-height:auto; color:var(--accent-strong); background:var(--accent-soft); }
.sku-item-action { border:1px solid var(--border); background:var(--canvas); cursor:pointer; }
.sku-item-action.remove { color:var(--danger); border-color:color-mix(in srgb,var(--danger),transparent 60%); background:var(--danger-soft); }
.sku-item-action.restore { color:var(--accent-strong); border-color:color-mix(in srgb,var(--accent),transparent 60%); background:var(--accent-soft); }
.sku-empty-confirm,.sku-guidance { margin:12px 0; padding:15px; border:1px dashed var(--border); border-radius:13px; background:var(--canvas); }
.sku-empty-confirm strong,.sku-empty-confirm p { display:block; margin:0; }
.sku-empty-confirm strong { color:var(--authority); font-size:12px; }
.sku-empty-confirm p,.sku-guidance { margin-top:4px; color:var(--muted); font-size:10px; line-height:1.5; }
.sku-change-summary { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:11px; padding:14px; border:1px solid color-mix(in srgb,var(--accent),transparent 62%); border-radius:13px; background:var(--accent-soft); }
.sku-change-summary > span { width:36px; height:36px; display:grid; place-items:center; color:#fff; border-radius:10px; background:var(--accent); font-weight:900; }
.sku-change-summary strong,.sku-change-summary small { display:block; }
.sku-change-summary strong { color:var(--accent-strong); font-size:12px; }
.sku-change-summary small { margin-top:3px; color:var(--muted); font-size:9px; }
.sku-delta-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:14px; }
.sku-delta-strip > div { padding:11px 7px; text-align:center; border:1px solid var(--border); border-radius:11px; background:var(--canvas); }
.sku-delta-strip strong,.sku-delta-strip span { display:block; }
.sku-delta-strip strong { color:var(--authority); font-size:17px; font-variant-numeric:tabular-nums; }
.sku-delta-strip span { margin-top:2px; color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; }
.sku-delta-strip .added { border-color:color-mix(in srgb,var(--accent),transparent 62%); background:var(--accent-soft); }
.sku-delta-strip .added strong { color:var(--accent-strong); }
.sku-delta-strip .removed { border-color:color-mix(in srgb,var(--danger),transparent 62%); background:var(--danger-soft); }
.sku-delta-strip .removed strong { color:var(--danger); }
.removed-heading .eyebrow { color:var(--danger); }
.removed-list .sku-item { border-color:color-mix(in srgb,var(--danger),transparent 72%); background:color-mix(in srgb,var(--danger-soft),var(--surface) 75%); }

/* v31 — calm, step-based initial SKU verification */
.sku-baseline-modal { --sku-line:color-mix(in srgb,var(--authority),transparent 82%); }
.sku-baseline-modal .modal-heading { margin-bottom:16px; }
.sku-baseline-modal .modal-heading h2 { color:var(--authority); letter-spacing:-.025em; }
.sku-baseline-modal .sku-baseline-hero.first { padding:18px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:linear-gradient(138deg,#102f4a 0%,#174f69 72%,#0e665c 135%); box-shadow:0 16px 34px rgba(15,47,72,.18); }
.sku-setup-progress { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin:0 0 14px; padding:0 4px; }
.sku-setup-progress::before { content:""; position:absolute; top:15px; left:17%; right:17%; height:2px; background:var(--border); }
.sku-setup-progress span { position:relative; z-index:1; min-width:0; display:grid; justify-items:center; gap:5px; color:var(--muted); }
.sku-setup-progress i { width:31px; height:31px; display:grid; place-items:center; color:var(--muted); border:2px solid var(--border); border-radius:50%; background:var(--surface-raised); font-size:10px; font-style:normal; font-weight:900; }
.sku-setup-progress strong { overflow:hidden; max-width:100%; font-size:8px; line-height:1.2; text-overflow:ellipsis; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.sku-setup-progress span.active { color:var(--accent-strong); }
.sku-setup-progress span.active i { color:#fff; border-color:var(--accent); background:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }
.sku-workstep { margin-top:11px; padding:14px; border:1px solid var(--sku-line); border-radius:16px; background:color-mix(in srgb,var(--surface),var(--canvas) 12%); box-shadow:0 8px 22px rgba(18,44,62,.045); }
.sku-workstep-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; margin-bottom:12px; }
.sku-workstep-head > span { width:32px; height:32px; display:grid; place-items:center; color:var(--authority); border-radius:10px; background:var(--authority-soft); font-size:10px; font-weight:900; }
.sku-workstep-head strong,.sku-workstep-head small { display:block; }
.sku-workstep-head strong { color:var(--text); font-size:12px; }
.sku-workstep-head small { margin-top:2px; color:var(--muted); font-size:9px; line-height:1.4; }
.sku-workstep-head > em { padding:5px 8px; color:var(--accent-strong); border-radius:999px; background:var(--accent-soft); font-size:8px; font-style:normal; font-weight:900; text-transform:uppercase; }
.sku-choice-grid.vertical { grid-template-columns:1fr; gap:8px; margin:0; }
.sku-choice-grid.vertical .sku-choice { min-height:72px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:11px; padding:12px; border-radius:12px; }
.sku-choice-grid.vertical .sku-choice > i { width:21px; height:21px; display:grid; place-items:center; border:2px solid var(--border-strong); border-radius:50%; background:var(--surface-raised); }
.sku-choice-grid.vertical .sku-choice.selected > i { border:6px solid var(--accent); }
.sku-choice-grid.vertical .sku-choice > span { min-width:0; }
.sku-choice-grid.vertical .sku-choice strong { font-size:11px; line-height:1.35; }
.sku-choice-grid.vertical .sku-choice small { margin-top:3px; font-size:9px; }
.sku-search-action { width:100%; min-height:64px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:11px; margin:0 0 10px; padding:11px; text-align:left; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority),transparent 64%); border-radius:13px; background:var(--authority-soft); cursor:pointer; }
.sku-search-action > span { width:39px; height:39px; display:grid; place-items:center; color:#fff; border-radius:11px; background:var(--authority); font-size:22px; font-weight:500; }
.sku-search-action strong,.sku-search-action small { display:block; }
.sku-search-action strong { font-size:11px; }
.sku-search-action small { margin-top:2px; color:var(--muted); font-size:9px; }
.sku-search-action:focus-visible { outline:3px solid color-mix(in srgb,var(--accent),transparent 60%); outline-offset:2px; }
.sku-empty-state { display:grid; gap:3px; padding:16px; text-align:center; color:var(--muted); border:1px dashed var(--border); border-radius:12px; background:var(--canvas); }
.sku-empty-state strong { color:var(--text); font-size:11px; }
.sku-empty-state small { font-size:9px; }
.sku-guidance.professional { display:grid; gap:4px; margin-top:11px; padding:14px; border-style:solid; border-left:4px solid var(--authority); }
.sku-guidance.professional strong { color:var(--authority); font-size:11px; }
.sku-guidance.professional span { color:var(--muted); font-size:9px; line-height:1.5; }
.sku-workstep.evidence-step .evidence-panel { margin:0; padding:0; border:0; background:transparent; }
.sku-workstep.evidence-step .evidence-title { padding-top:10px; border-top:1px solid var(--border); }
.sku-workstep.evidence-step .photo-drop { min-height:66px; border:1px dashed color-mix(in srgb,var(--accent),transparent 45%); border-radius:12px; background:var(--accent-soft); }
.sku-workstep.evidence-step .photo-drop span::before { content:"＋ "; }
.sku-baseline-modal .modal-actions { grid-template-columns:minmax(0,.72fr) minmax(0,1.55fr); gap:12px; }
[data-theme="dark"] .sku-workstep { background:#0e2232; }
[data-theme="dark"] .sku-setup-progress i { background:#102536; }

@media (max-width:520px) {
  .sku-baseline-modal { padding-inline:14px; }
  .sku-baseline-modal .modal-actions { display:flex; flex-direction:column; margin-inline:-14px; padding-inline:14px; }
  .sku-baseline-modal .modal-actions #modalSave { order:-1; min-height:54px; }
  .sku-baseline-modal .modal-actions #modalCancel { min-height:46px; }
  .sku-workstep { padding:12px; }
  .sku-item { grid-template-columns:minmax(0,1fr) auto; }
  .sku-item-code { grid-column:1; width:max-content; min-width:54px; }
  .sku-item-copy { grid-column:1; }
  .sku-item-action,.sku-item-state { grid-column:2; grid-row:1 / span 2; }
}
.assortment-review-panel { margin:14px 0 4px; padding:15px; border:1px solid color-mix(in srgb,var(--authority),transparent 72%); border-left:4px solid var(--authority); border-radius:14px; background:var(--authority-soft); }
.assortment-review-head { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.assortment-review-head h3 { margin:3px 0 0; color:var(--authority); font-size:15px; }
.assortment-review-count { flex:0 0 auto; padding:6px 8px; color:var(--accent-strong); border-radius:999px; background:var(--accent-soft); font-size:8px; font-weight:900; text-transform:uppercase; }
.assortment-review-panel > p { margin:8px 0 0; color:var(--muted); font-size:10px; }
.assortment-review-delta { display:grid; grid-template-columns:64px minmax(0,1fr); gap:8px; margin-top:9px; padding-top:9px; border-top:1px solid color-mix(in srgb,var(--authority),transparent 78%); }
.assortment-review-delta strong { font-size:9px; text-transform:uppercase; }
.assortment-review-delta span { display:block; color:var(--text); font-size:9px; line-height:1.45; }
.assortment-review-delta.added strong { color:var(--accent-strong); }
.assortment-review-delta.removed strong { color:var(--danger); }
.review-stat.priority { border-color:color-mix(in srgb,var(--authority),transparent 70%); background:var(--authority-soft); }
.review-stat.priority strong { color:var(--authority); }
.receipt-assortment { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:10px; padding:12px; border:1px solid color-mix(in srgb,var(--authority),transparent 70%); border-radius:12px; background:var(--authority-soft); }
.receipt-assortment-badge { width:42px; height:42px; display:grid; place-items:center; color:#fff; border-radius:10px; background:var(--authority); font-size:9px; font-weight:900; }
.receipt-assortment strong,.receipt-assortment small,.receipt-assortment em { display:block; }
.receipt-assortment strong { color:var(--authority); font-size:11px; }
.receipt-assortment small { margin-top:3px; color:var(--muted); font-size:9px; }
.receipt-assortment em { margin-top:5px; font-size:8px; font-style:normal; font-weight:800; }
.receipt-assortment em.added { color:var(--accent-strong); }
.receipt-assortment em.removed { color:var(--danger); }
.report-sku-baseline { margin:12px 0; padding:12px; border:1px solid color-mix(in srgb,var(--authority),transparent 72%); border-radius:12px; background:var(--authority-soft); }
.report-sku-head { display:flex; align-items:start; justify-content:space-between; gap:10px; }
.report-sku-head strong { display:block; margin-top:3px; color:var(--authority); font-size:11px; }
.report-sku-head > span { padding:5px 7px; color:var(--accent-strong); border-radius:999px; background:var(--accent-soft); font-size:8px; font-weight:900; text-transform:uppercase; }
.report-sku-baseline > p { margin:9px 0 0; color:var(--muted); font-size:9px; }
.report-sku-changes { display:grid; gap:6px; margin-top:10px; }
.report-sku-changes > div { display:grid; grid-template-columns:58px minmax(0,1fr); align-items:center; gap:8px; padding-top:7px; border-top:1px solid color-mix(in srgb,var(--authority),transparent 80%); }
.report-sku-changes span { font-size:8px; font-weight:900; }
.report-sku-changes strong { font-size:9px; line-height:1.35; }
.report-sku-changes .added span,.report-sku-changes .initial span { color:var(--accent-strong); }
.report-sku-changes .removed span { color:var(--danger); }
[data-theme="dark"] .sku-item,[data-theme="dark"] .sku-choice { background:#0e2232; }
[data-theme="dark"] .sku-choice.selected,[data-theme="dark"] .sku-change-summary { background:#12332e; }
[data-theme="dark"] .assortment-review-panel,[data-theme="dark"] .receipt-assortment { background:#142d42; }
[data-theme="dark"] .report-sku-baseline { background:#142d42; }
[data-theme="dark"] .assortment-review-head h3,[data-theme="dark"] .receipt-assortment strong { color:#c6e2f6; }
@media (max-width:420px) {
  .sku-choice-grid { grid-template-columns:1fr; }
  .sku-choice { min-height:68px; }
  .sku-item { grid-template-columns:50px minmax(0,1fr) auto; gap:7px; }
  .sku-item-code { min-width:48px; padding-inline:4px; }
}
@media (orientation:landscape) and (max-height:520px) {
  .sku-baseline-hero { padding:12px; }
  .sku-baseline-list.compact { max-height:150px; }
}
@media (prefers-reduced-motion:reduce) {
  .sku-choice { transition:none; }
}

/* V21 — structured stock, SKU price-tag control, and approved day close */
.kpi-card.locked { opacity:.66; cursor:not-allowed; background:color-mix(in srgb,var(--canvas),var(--surface) 58%); }
.kpi-card.locked .kpi-code { background:var(--canvas); color:var(--muted); }
.structured-note { margin-top:12px; padding:12px 14px; border-radius:12px; background:color-mix(in srgb,var(--accent),transparent 92%); color:var(--text); font-size:12px; line-height:1.5; font-weight:800; }
.structured-note.success { background:color-mix(in srgb,var(--accent),transparent 88%); color:var(--accent-strong); }
.structured-note.warning { background:color-mix(in srgb,var(--warning),transparent 86%); color:var(--warning); }
.lpo-type-control { margin-bottom:16px; padding:16px; border:1px solid var(--border); border-radius:16px; background:var(--surface-soft); }
.lpo-type-control .field-heading { display:flex; flex-direction:column; gap:4px; margin-bottom:12px; }
.lpo-type-control .field-heading strong { font-size:15px; color:var(--text); }
.lpo-type-control .field-heading small { font-size:12px; line-height:1.5; color:var(--muted); }
.lpo-type-control .segment { min-height:48px; white-space:normal; line-height:1.25; }
.price-tag-intro { margin-bottom:16px; padding:15px; border:1px solid color-mix(in srgb,var(--accent),transparent 72%); border-radius:14px; background:color-mix(in srgb,var(--accent),transparent 94%); }
.price-tag-intro strong { display:block; color:var(--text); font-size:12px; }
.price-tag-intro p { margin:5px 0 0; color:var(--muted); font-size:9px; }
.price-tag-list { display:grid; gap:10px; }
.price-tag-item { padding:13px; border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:var(--shadow-sm); }
.price-tag-product { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:start; margin-bottom:11px; }
.price-tag-product > span { min-width:56px; padding:7px 8px; border-radius:9px; background:var(--authority); color:#fff; text-align:center; font-size:8px; font-weight:900; letter-spacing:.03em; }
.price-tag-product strong,.price-tag-product small { display:block; overflow-wrap:anywhere; }
.price-tag-product strong { color:var(--text); font-size:10px; }
.price-tag-product small { margin-top:3px; color:var(--muted); font-size:8px; }
.segmented.compact { gap:5px; padding:4px; }
.segmented.compact .segment { min-height:44px; padding:8px 5px; font-size:8px; }
.close-day-identity { display:grid; grid-template-columns:auto minmax(0,1fr); gap:13px; align-items:center; margin-bottom:18px; padding:15px; border-radius:16px; color:#fff; background:linear-gradient(135deg,var(--authority),color-mix(in srgb,var(--authority),var(--accent) 28%)); }
.close-day-identity .person-avatar { width:52px; height:52px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); }
.close-day-identity .eyebrow,.close-day-identity p { color:rgba(255,255,255,.78); }
.close-day-identity h3 { margin:3px 0; color:#fff; font-size:14px; }
.close-day-identity p { margin:0; font-size:9px; }
.close-day-visits { margin:18px 0; padding:15px; border:1px solid var(--border); border-radius:16px; background:var(--canvas); }
.close-visit-row { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid var(--border); }
.close-visit-row:last-child { border-bottom:0; }
.close-visit-row > span { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:var(--surface); color:var(--accent-strong); font-size:8px; font-weight:900; }
.close-visit-row strong,.close-visit-row small { display:block; }
.close-visit-row strong { color:var(--text); font-size:10px; }
.close-visit-row small { margin-top:2px; color:var(--muted); font-size:8px; }
.close-approval { margin:16px 0; }
[data-theme="dark"] .price-tag-item { background:#0e2232; }
[data-theme="dark"] .price-tag-intro { background:#12332e; }
@media (max-width:390px) {
  .price-tag-item { padding:11px; }
}

/* V23 — decision-grade Reporting Center */
main:has(#screen-customers.active) { width:min(100%,1120px); }
#screen-customers { max-width:1120px; margin-inline:auto; }
.reporting-masthead { min-height:178px; align-items:center; padding:28px 30px; background:linear-gradient(132deg,#102f4a 0%,#071a2c 72%); }
.reporting-masthead h1 { max-width:18ch; font-size:clamp(30px,5vw,42px); }
.reporting-masthead p { max-width:58ch; font-size:13px; line-height:1.55; }
.reporting-trust { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-end; gap:7px; }
.reporting-trust small { color:rgba(255,255,255,.52); font-size:10px; font-weight:700; }
.live-indicator { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:7px 11px; font-weight:850; letter-spacing:.06em; }
.live-indicator i { width:7px; height:7px; border-radius:50%; background:#69dab7; box-shadow:0 0 0 4px rgba(105,218,183,.14); }

.report-tabs { position:sticky; top:calc(73px + env(safe-area-inset-top)); z-index:18; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:18px; padding:6px; border-radius:20px; }
.report-tab { min-height:62px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; justify-items:start; gap:10px; padding:9px 12px; text-align:left; }
.report-tab-icon { width:36px; height:36px; display:grid; place-items:center; color:var(--muted); border-radius:11px; background:var(--canvas); }
.report-tab-icon svg { width:18px; height:18px; stroke-width:2; }
.report-tab-copy strong,.report-tab-copy small { display:block; }
.report-tab-copy strong { color:inherit; font-size:12px; }
.report-tab-copy small { margin-top:1px; color:var(--muted); font-size:9px; font-weight:650; }
.report-tab.active .report-tab-icon { color:#fff; background:var(--authority); }
.report-tab.active .report-tab-copy small { color:var(--muted); }

.report-filter-card { gap:14px; margin-bottom:18px; padding:20px; border:1px solid var(--border); border-top:0; border-left:4px solid var(--authority); border-radius:18px; background:var(--surface); box-shadow:var(--shadow-sm); }
.filter-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.filter-heading > div { display:flex; align-items:center; gap:12px; }
.filter-heading strong { display:block; font-size:14px; }
.filter-step { flex:0 0 auto; padding:6px 9px; color:var(--authority); border-radius:999px; background:var(--authority-soft); font-size:9px; font-weight:850; letter-spacing:.04em; }
.report-code { width:46px; height:46px; border-radius:12px; background:linear-gradient(145deg,var(--authority),#285b82); box-shadow:none; }
.report-search input { min-height:54px; border-width:1px; background:var(--canvas); }
.report-search input:focus { background:var(--surface); }
.report-run-button { display:flex; align-items:center; justify-content:center; gap:9px; }
.report-run-button > span { width:20px; height:20px; display:grid; place-items:center; }
.report-run-button svg { width:19px; height:19px; }

.report-discovery,.report-empty { display:grid; justify-items:center; gap:10px; padding:34px 24px; text-align:center; border:1px dashed color-mix(in srgb,var(--authority),transparent 65%); border-radius:20px; background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--authority-soft),var(--surface) 65%)); }
.report-discovery-icon,.report-empty > span { width:52px; height:52px; display:grid; place-items:center; color:var(--authority); border-radius:16px; background:var(--authority-soft); }
.report-discovery-icon svg,.report-empty > span svg { width:24px; height:24px; }
.report-discovery h2,.report-empty h3 { margin:3px 0 0; font-size:18px; }
.report-discovery p,.report-empty p { max-width:58ch; margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.report-discovery > small { color:var(--muted); font-size:10px; font-weight:750; }
.report-shortcuts { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:4px 0; }
.report-shortcuts button { min-height:44px; padding:8px 13px; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority),transparent 65%); border-radius:12px; background:var(--surface); font-size:11px; font-weight:800; transition:background 180ms ease,border-color 180ms ease; }
.report-shortcuts button:hover { border-color:var(--authority); background:var(--authority-soft); }

.report-result-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 2px 10px; }
.report-result-head strong,.report-result-head span { display:block; }
.report-result-head strong { font-size:13px; }
.report-result-head span { color:var(--muted); font-size:10px; }
.report-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.report-customer-row { min-width:0; min-height:78px; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:11px; padding:12px; text-align:left; color:var(--ink); border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:var(--shadow-sm); transition:border-color 180ms ease,box-shadow 180ms ease,background 180ms ease; }
.report-customer-row:hover { border-color:color-mix(in srgb,var(--authority),transparent 50%); background:color-mix(in srgb,var(--authority-soft),var(--surface) 72%); box-shadow:var(--shadow-md); }
.report-customer-copy { min-width:0; }
.report-customer-copy strong,.report-customer-copy small,.report-customer-owner strong,.report-customer-owner small { display:block; }
.report-customer-copy strong { overflow:hidden; color:var(--ink); font-size:12px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.report-customer-copy small { margin-top:3px; overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.report-customer-copy em { display:flex; flex-wrap:wrap; align-items:center; gap:3px; margin-top:5px; color:var(--muted); font-size:9px; font-style:normal; line-height:1.35; }
.report-customer-copy em span { color:var(--authority); font-weight:800; }
.report-customer-copy em b { color:var(--ink); font-weight:850; font-variant-numeric:tabular-nums; }
.report-customer-owner { min-width:58px; text-align:right; }
.report-customer-owner small { color:var(--subtle); font-size:8px; text-transform:uppercase; }
.report-customer-owner strong { margin-top:2px; color:var(--muted); font-size:9px; }
.row-chevron,.visit-expand { width:28px; height:28px; display:grid; place-items:center; color:var(--muted); border-radius:9px; background:var(--canvas); }
.row-chevron svg,.visit-expand svg { width:15px; height:15px; }

.report-loading { position:relative; overflow:hidden; min-height:150px; display:grid; grid-template-columns:auto minmax(0,1fr); align-content:center; gap:12px; padding:24px; border:1px solid var(--border); border-radius:18px; background:var(--surface); }
.report-loading-mark { width:44px; height:44px; border:3px solid var(--authority-soft); border-top-color:var(--authority); border-radius:50%; animation:spin .8s linear infinite; }
.report-loading strong,.report-loading small { display:block; }
.report-loading strong { font-size:13px; }
.report-loading small { margin-top:3px; color:var(--muted); font-size:10px; }
.report-skeleton { grid-column:1/-1; display:grid; gap:7px; margin-top:5px; }
.report-skeleton i { height:10px; border-radius:8px; background:linear-gradient(90deg,var(--canvas),var(--border),var(--canvas)); background-size:220% 100%; animation:skeleton-shift 1.2s ease-in-out infinite; }
.report-skeleton i:nth-child(2) { width:82%; }
.report-skeleton i:nth-child(3) { width:64%; }
@keyframes skeleton-shift { to { background-position:-220% 0; } }

.customer-report,.team-report-hero { display:grid; gap:16px; }
.customer-report-hero,.team-report-hero { overflow:hidden; padding:22px; color:#fff; border-radius:22px; background:linear-gradient(132deg,var(--authority),var(--authority-strong)); box-shadow:0 18px 44px rgba(7,26,44,.18); }
.report-hero-top { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.report-back { min-height:44px; display:inline-flex; align-items:center; gap:5px; padding:7px 9px; color:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.12); border-radius:11px; background:rgba(255,255,255,.06); font-size:10px; font-weight:800; }
.report-back svg { width:17px; height:17px; }
.customer-report-hero .report-period,.team-report-hero .report-period { margin:0; color:rgba(255,255,255,.76); border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.06); }
.report-period svg { width:14px; height:14px; margin-right:6px; }
.customer-identity { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; margin-top:6px; }
.customer-identity .report-code { width:58px; height:58px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.1); }
.customer-identity .eyebrow { color:#9dccf0; }
.customer-identity h2 { margin:4px 0 0; color:#fff; font-size:clamp(20px,4vw,28px); line-height:1.2; }
.customer-identity p { margin:5px 0 0; color:rgba(255,255,255,.62); font-size:11px; }
.customer-signal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:5px; }
.customer-signal-grid > div { min-width:0; padding:11px; border:1px solid rgba(255,255,255,.1); border-radius:12px; background:rgba(255,255,255,.055); }
.customer-signal-grid span,.customer-signal-grid strong { display:block; }
.customer-signal-grid span { color:rgba(255,255,255,.56); font-size:8px; font-weight:750; text-transform:uppercase; }
.customer-signal-grid strong { margin-top:4px; overflow-wrap:anywhere; color:#fff; font-size:13px; font-variant-numeric:tabular-nums; }
.customer-signal-grid .signal-warning strong { color:#ffcf83; }
.customer-signal-grid .signal-good strong { color:#80ddbe; }

.report-block,.people-performance-section,.report-timeline { padding:19px; border:1px solid var(--border); border-radius:20px; background:var(--surface); box-shadow:var(--shadow-sm); }
.report-block-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.report-block-heading h2 { margin:3px 0 0; font-size:17px; }
.report-block-heading > span,.timeline-heading > span { color:var(--muted); font-size:9px; font-weight:750; }
.data-source-badge { padding:6px 8px; color:var(--accent-strong)!important; border-radius:999px; background:var(--accent-soft); text-transform:uppercase; letter-spacing:.05em; }

.report-metric-grid { gap:9px; }
.report-metric-grid.six { grid-template-columns:repeat(3,minmax(0,1fr)); }
.report-metric { min-height:96px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:11px; padding:13px; border:1px solid var(--border); border-top:1px solid var(--border); border-left:3px solid var(--border-strong); border-radius:14px; background:var(--surface); }
.report-metric-icon { width:36px; height:36px; display:grid; place-items:center; color:var(--authority); border-radius:11px; background:var(--authority-soft); }
.report-metric-icon svg { width:18px; height:18px; stroke-width:2; }
.report-metric > div { min-width:0; }
.report-metric strong { font-size:20px; font-variant-numeric:tabular-nums; }
.report-metric span { margin-top:3px; font-size:10px; }
.report-metric small { display:block; margin-top:3px; overflow:hidden; color:var(--subtle); font-size:8.5px; text-overflow:ellipsis; white-space:nowrap; }
.report-metric.tone-authority { border-left-color:var(--authority); }
.report-metric.tone-success { border-left-color:var(--accent); }
.report-metric.tone-info { border-left-color:var(--info); }
.report-metric.tone-brand { border-left-color:var(--brand); }
.report-metric.tone-success .report-metric-icon { color:var(--accent-strong); background:var(--accent-soft); }
.report-metric.tone-info .report-metric-icon { color:var(--info); background:var(--info-soft); }
.report-metric.tone-brand .report-metric-icon { color:var(--brand); background:var(--brand-soft); }

.report-kpi-overview { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin-top:12px; }
.kpi-overview-item { min-width:0; padding:11px; border:1px solid var(--border); border-radius:12px; background:var(--canvas); }
.kpi-overview-item span,.kpi-overview-item strong,.kpi-overview-item small { display:block; }
.kpi-overview-item span { overflow:hidden; color:var(--muted); font-size:8px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; text-transform:uppercase; }
.kpi-overview-item strong { margin-top:5px; color:var(--ink); font-size:16px; font-variant-numeric:tabular-nums; }
.kpi-overview-item small { margin-top:2px; color:var(--subtle); font-size:8px; }
.kpi-overview-item.active { border-color:color-mix(in srgb,var(--warning),transparent 60%); background:var(--warning-soft); }
.kpi-overview-item.active strong { color:var(--warning); }
.report-kpi-overview.compact { margin-top:0; }
.report-kpi-overview.compact .kpi-overview-item { padding:9px; }
.report-kpi-overview.compact .kpi-overview-item strong { font-size:12px; }

/* v27 — executive visit KPI command center and source-data drill-down */
.kpi-command-section { padding:16px; border:1px solid color-mix(in srgb,var(--authority),transparent 82%); border-radius:18px; background:linear-gradient(145deg,color-mix(in srgb,var(--authority-soft),var(--surface) 58%),var(--surface)); }
.kpi-command-section .visit-report-heading { align-items:flex-start; margin-bottom:12px; }
.kpi-command-section .visit-report-heading > div { display:grid; gap:3px; }
.kpi-command-section .visit-report-heading strong { color:var(--authority); font-size:13px; }
.kpi-command-section .visit-report-heading span { color:var(--muted); font-size:9px; line-height:1.45; }
.kpi-command-section .visit-report-heading em { flex:0 0 auto; padding:5px 8px; color:var(--muted); border:1px solid var(--border); border-radius:999px; background:var(--surface); font-size:8px; font-style:normal; font-weight:800; white-space:nowrap; }
.visit-kpi-command-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.kpi-drill-card { position:relative; min-width:0; min-height:82px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px; color:var(--ink); border:1px solid var(--border); border-radius:15px; background:var(--surface); box-shadow:0 3px 12px rgba(15,47,74,.035); text-align:left; cursor:pointer; touch-action:manipulation; transition:border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease; }
.kpi-drill-card:hover,.kpi-drill-card:focus-visible { border-color:color-mix(in srgb,var(--authority),transparent 48%); background:color-mix(in srgb,var(--authority-soft),var(--surface) 56%); box-shadow:0 8px 20px rgba(15,47,74,.1); outline:3px solid color-mix(in srgb,var(--focus),transparent 72%); outline-offset:2px; }
.kpi-drill-card:active { background:var(--authority-soft); box-shadow:0 2px 7px rgba(15,47,74,.08); }
.kpi-drill-icon { width:38px; height:38px; display:grid; place-items:center; color:var(--muted); border-radius:12px; background:var(--canvas); }
.kpi-drill-icon svg { width:19px; height:19px; stroke-width:1.9; }
.kpi-drill-copy { display:grid; min-width:0; gap:2px; }
.kpi-drill-copy small { color:var(--muted); font-size:8px; font-weight:850; letter-spacing:.045em; line-height:1.25; text-transform:uppercase; }
.kpi-drill-copy strong { display:-webkit-box; overflow:hidden; color:var(--ink); font-size:11px; line-height:1.25; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.kpi-drill-copy em { overflow:hidden; color:var(--subtle); font-size:8.5px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.kpi-drill-open { width:28px; height:28px; display:grid; place-items:center; color:var(--muted); border-radius:9px; background:var(--canvas); }
.kpi-drill-open svg { width:15px; height:15px; }
.kpi-drill-card.recorded { border-left:3px solid var(--accent); }
.kpi-drill-card.recorded .kpi-drill-icon { color:var(--accent-strong); background:var(--accent-soft); }
.kpi-drill-card.recorded .kpi-drill-copy strong { color:var(--accent-strong); }
.kpi-drill-card.attention { border-left:3px solid var(--warning); background:linear-gradient(110deg,var(--warning-soft),var(--surface) 65%); }
.kpi-drill-card.attention .kpi-drill-icon { color:var(--warning); background:color-mix(in srgb,var(--warning-soft),var(--surface) 25%); }
.kpi-drill-card.attention .kpi-drill-copy strong { color:var(--warning); }

body.kpi-detail-open { overflow:hidden; }
.kpi-detail-overlay { position:fixed; inset:0; z-index:600; display:grid; place-items:end center; padding:22px 0 0; background:rgba(3,10,16,.62); backdrop-filter:blur(9px) saturate(88%); overscroll-behavior:contain; animation:kpi-detail-fade 180ms ease-out; }
.kpi-detail-sheet { width:min(100%,760px); min-width:0; max-width:100%; max-height:min(94dvh,940px); display:grid; grid-template-rows:auto minmax(0,1fr); overflow:hidden; color:var(--ink); border:1px solid var(--border); border-bottom:0; border-radius:28px 28px 0 0; background:var(--surface-raised); box-shadow:0 30px 90px rgba(3,10,16,.34); animation:kpi-detail-rise 240ms cubic-bezier(.22,.86,.25,1); }
.kpi-detail-header { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; padding:16px 18px; border-bottom:1px solid var(--border); background:linear-gradient(115deg,var(--authority),var(--authority-strong)); }
.kpi-detail-title { min-width:0; display:flex; align-items:center; gap:12px; }
.kpi-detail-icon { flex:0 0 auto; width:46px; height:46px; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:rgba(255,255,255,.1); }
.kpi-detail-icon svg { width:23px; height:23px; stroke-width:1.9; }
.kpi-detail-title > div { min-width:0; }
.kpi-detail-title .eyebrow { color:#8ce8c9; }
.kpi-detail-title h2 { margin:3px 0 1px; overflow:hidden; color:#fff; font-size:20px; letter-spacing:-.025em; text-overflow:ellipsis; white-space:nowrap; }
.kpi-detail-title p { margin:0; overflow:hidden; color:rgba(255,255,255,.68); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.kpi-detail-close { flex:0 0 auto; min-width:76px; min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:8px 12px; color:#fff; border:1px solid rgba(255,255,255,.2); border-radius:13px; background:rgba(255,255,255,.1); font-size:10px; font-weight:800; cursor:pointer; touch-action:manipulation; }
.kpi-detail-close:hover,.kpi-detail-close:focus-visible { background:rgba(255,255,255,.18); outline:3px solid rgba(255,255,255,.28); outline-offset:2px; }
.kpi-detail-close svg { width:17px; height:17px; }
.kpi-detail-body { min-width:0; min-height:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; padding:16px 16px max(22px,env(safe-area-inset-bottom)); }
.kpi-detail-body > * { min-width:0; max-width:100%; }
.kpi-detail-status { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority),transparent 76%); border-left:4px solid var(--authority); border-radius:17px; background:var(--authority-soft); }
.kpi-detail-status > div { display:grid; gap:3px; min-width:0; }
.kpi-detail-status span { color:var(--muted); font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.kpi-detail-status strong { overflow-wrap:anywhere; font-size:18px; letter-spacing:-.02em; }
.kpi-detail-status em { flex:0 1 auto; max-width:100%; padding:6px 9px; overflow-wrap:anywhere; color:inherit; border:1px solid currentColor; border-radius:999px; font-size:8px; font-style:normal; font-weight:850; line-height:1.35; text-align:center; text-transform:uppercase; }
.kpi-detail-status.recorded { color:var(--accent-strong); border-color:color-mix(in srgb,var(--accent),transparent 66%); border-left-color:var(--accent); background:var(--accent-soft); }
.kpi-detail-status.attention { color:var(--warning); border-color:color-mix(in srgb,var(--warning),transparent 58%); border-left-color:var(--warning); background:var(--warning-soft); }
.kpi-detail-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:10px; }
.kpi-detail-facts > div { min-width:0; padding:11px; border:1px solid var(--border); border-radius:13px; background:var(--canvas); }
.kpi-detail-facts span,.kpi-detail-facts strong { display:block; }
.kpi-detail-facts span { color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; }
.kpi-detail-facts strong { margin-top:5px; overflow-wrap:anywhere; color:var(--ink); font-size:11px; font-variant-numeric:tabular-nums; }
.kpi-detail-note { margin-top:10px; padding:12px 14px; border:1px solid color-mix(in srgb,var(--warning),transparent 62%); border-radius:14px; background:var(--warning-soft); }
.kpi-detail-note span { color:var(--warning); font-size:8px; font-weight:850; text-transform:uppercase; }
.kpi-detail-note p { margin:4px 0 0; color:var(--ink); font-size:11px; line-height:1.5; }
.kpi-detail-section { margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.kpi-detail-section-heading { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:flex-start; gap:12px; margin-bottom:10px; }
.kpi-detail-section-heading > div { min-width:0; }
.kpi-detail-section-heading h3 { margin:3px 0 0; font-size:14px; }
.kpi-detail-section-heading > span { color:var(--muted); font-size:9px; font-weight:750; }
.kpi-product-list { display:grid; gap:8px; }
.kpi-product-row { min-height:68px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:11px; padding:11px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.kpi-product-code { display:grid; place-items:center; min-width:58px; min-height:38px; padding:6px 8px; color:var(--authority); border-radius:10px; background:var(--authority-soft); font-size:9px; font-weight:900; font-variant-numeric:tabular-nums; }
.kpi-product-row > div { display:grid; min-width:0; gap:2px; }
.kpi-product-row strong { overflow-wrap:anywhere; color:var(--ink); font-size:11px; }
.kpi-product-row small { overflow-wrap:anywhere; color:var(--muted); font-size:9px; line-height:1.4; }
.kpi-product-row div > span { color:var(--accent-strong); font-size:9px; font-weight:760; }
.kpi-detail-empty { min-height:74px; display:flex; align-items:center; gap:12px; padding:13px; color:var(--muted); border:1px dashed var(--border-strong); border-radius:14px; background:var(--canvas); }
.kpi-detail-empty > span { flex:0 0 auto; width:38px; height:38px; display:grid; place-items:center; color:var(--authority); border-radius:11px; background:var(--authority-soft); }
.kpi-detail-empty svg { width:19px; height:19px; }
.kpi-detail-empty div { display:grid; gap:2px; }
.kpi-detail-empty strong { color:var(--ink); font-size:11px; }
.kpi-detail-empty p { margin:0; font-size:9px; line-height:1.45; }
.kpi-detail-empty.compact { min-height:68px; }
.kpi-evidence-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@keyframes kpi-detail-fade { from { opacity:0; } }
@keyframes kpi-detail-rise { from { opacity:.7; transform:translateY(26px); } }

.report-export-actions { margin:0; }
.report-export-actions button { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; justify-items:start; gap:11px; min-height:64px; text-align:left; }
.report-export-actions button > svg { width:22px; height:22px; }
.report-export-actions button span strong,.report-export-actions button span small { display:block; }
.report-export-actions button span small { margin-top:2px; color:inherit; font-size:9px; font-weight:550; opacity:.72; }
.report-export-actions.single { grid-template-columns:minmax(0,420px); }

.report-timeline { padding:19px; }
.report-visit-card { overflow:hidden; margin:10px 0 0; padding:0; border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:none; }
.report-visit-card[open] { border-color:color-mix(in srgb,var(--authority),transparent 62%); box-shadow:var(--shadow-md); }
.report-visit-card > summary { min-height:84px; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:11px; padding:13px; cursor:pointer; list-style:none; }
.report-visit-card > summary::-webkit-details-marker { display:none; }
.visit-sequence { width:39px; height:39px; display:grid; place-items:center; color:var(--authority); border-radius:11px; background:var(--authority-soft); font-size:10px; font-weight:900; font-variant-numeric:tabular-nums; }
.visit-summary-copy { min-width:0; }
.visit-summary-copy small,.visit-summary-copy strong,.visit-summary-copy em { display:block; }
.visit-summary-copy small { color:var(--muted); font-size:9px; font-variant-numeric:tabular-nums; }
.visit-summary-copy strong { margin-top:2px; overflow:hidden; color:var(--ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.visit-summary-copy em { margin-top:2px; overflow:hidden; color:var(--subtle); font-size:8.5px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.visit-summary-side { min-width:84px; text-align:right; }
.visit-summary-side > strong,.visit-summary-side > small { display:block; }
.visit-summary-side > strong { margin-top:4px; color:var(--ink); font-size:13px; font-variant-numeric:tabular-nums; }
.visit-summary-side > small { color:var(--subtle); font-size:8px; }
.visit-state { display:inline-flex; align-items:center; gap:4px; color:var(--warning); font-size:8px; font-weight:850; text-transform:uppercase; }
.visit-state i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.visit-state.complete { color:var(--accent-strong); }
.report-visit-card[open] .visit-expand { transform:rotate(90deg); color:var(--authority); background:var(--authority-soft); }
.visit-expand { transition:transform 180ms ease,background 180ms ease; }
.report-visit-body { padding:0 15px 16px; border-top:1px solid var(--border); }
.visit-fact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; padding:14px 0 4px; }
.visit-fact-grid > div { min-width:0; padding:10px; border-radius:11px; background:var(--canvas); }
.visit-fact-grid span,.visit-fact-grid strong { display:block; }
.visit-fact-grid span { color:var(--subtle); font-size:8px; text-transform:uppercase; }
.visit-fact-grid strong { margin-top:3px; overflow-wrap:anywhere; font-size:9px; font-variant-numeric:tabular-nums; }
.visit-report-section { margin-top:13px; padding-top:13px; border-top:1px solid var(--border); }
.visit-report-heading { display:flex; justify-content:space-between; gap:12px; margin-bottom:9px; }
.visit-report-heading strong { font-size:11px; }
.visit-report-heading span { color:var(--muted); font-size:9px; }
.map-link { min-height:44px; }
.report-photo-preview { border-radius:12px; }
.report-photo-preview em { position:absolute; left:7px; bottom:7px; max-width:calc(100% - 14px); padding:4px 6px; overflow:hidden; color:#fff; border-radius:7px; background:rgba(4,14,23,.76); font-size:8px; font-style:normal; font-weight:800; text-overflow:ellipsis; white-space:nowrap; text-transform:capitalize; }
.report-photo .text-button { display:flex; align-items:center; justify-content:center; gap:5px; min-height:44px; }
.report-photo .text-button svg { width:14px; height:14px; }

.team-report-hero { margin-top:2px; }
.team-report-hero .report-hero-top h2,.management-hero-head h2 { margin:3px 0 0; color:#fff; font-size:22px; }
.team-report-hero .report-hero-top p,.management-hero-head p { margin:4px 0 0; color:rgba(255,255,255,.6); font-size:10px; }
.team-report-hero .report-metric,.management-hero .report-metric { color:var(--ink); }
.executive-allocation { padding:14px; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:rgba(255,255,255,.055); }
.allocation-copy { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.allocation-copy strong,.allocation-copy span { display:block; }
.allocation-copy strong { color:#fff; font-size:11px; }
.allocation-copy span { color:rgba(255,255,255,.58); font-size:9px; }
.allocation-copy > span { color:#fff; font-weight:850; font-variant-numeric:tabular-nums; }
.allocation-track.large { height:10px; margin-top:10px; background:rgba(255,255,255,.12); }
.allocation-legend { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; color:rgba(255,255,255,.65); font-size:8px; }

.status-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.status-summary-grid > div { padding:12px; border:1px solid var(--border); border-left:3px solid var(--subtle); border-radius:12px; background:var(--canvas); }
.status-summary-grid strong,.status-summary-grid span { display:block; }
.status-summary-grid strong { font-size:19px; font-variant-numeric:tabular-nums; }
.status-summary-grid span { margin-top:3px; color:var(--muted); font-size:9px; }
.status-summary-grid .active { border-left-color:var(--accent); }
.status-summary-grid .in-store { border-left-color:var(--info); }
.status-summary-grid .closed { border-left-color:var(--authority); }

.people-performance-section { margin-top:16px; }
.person-report-card { position:relative; padding:16px; border-left:3px solid var(--border-strong); }
.person-report-card:hover { border-left-color:var(--authority); }
.person-rank { position:absolute; right:12px; top:10px; color:var(--subtle); font-size:8px; font-weight:900; }
.person-report-head > div small { display:block; margin-top:3px; overflow:hidden; color:var(--info); font-size:8.5px; text-overflow:ellipsis; white-space:nowrap; }
.person-scoreline { grid-template-columns:repeat(4,minmax(0,1fr)); }
.person-scoreline span { min-height:55px; }
.person-card-footer { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; }
.person-card-footer .report-kpi-strip { margin-bottom:0; }
.person-open { flex:0 0 auto; display:flex; align-items:center; gap:3px; color:var(--authority); font-size:8px; font-weight:850; }
.person-open svg { width:13px; height:13px; }
.report-methodology { margin:14px 0 0; padding:12px 14px; color:var(--muted); border:1px solid var(--border); border-radius:13px; background:var(--canvas); font-size:10px; }
.report-methodology summary { min-height:32px; display:flex; align-items:center; color:var(--ink); cursor:pointer; font-weight:800; }
.report-methodology p { margin:8px 0 0; line-height:1.6; }

.management-hero { padding:24px; border-radius:22px; }
.management-hero-head { align-items:flex-start; }
.management-grid { gap:14px; }
.management-card { padding:19px; border-radius:18px; }
.exception-total { min-width:42px; min-height:32px; display:grid; place-items:center; color:var(--accent-strong)!important; border-radius:10px; background:var(--accent-soft); font-size:14px!important; font-weight:900!important; }
.exception-total.warning { color:var(--warning)!important; background:var(--warning-soft); }
.exception-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.management-action-hint { max-width:620px; margin:5px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.exception-row { width:100%; min-width:0; min-height:64px; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:11px; color:var(--ink); border:1px solid var(--border); border-radius:12px; background:var(--canvas); text-align:left; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.exception-row:hover { border-color:var(--authority); box-shadow:0 8px 22px color-mix(in srgb,var(--navy),transparent 90%); transform:translateY(-1px); }
.exception-row:focus-visible { outline:3px solid color-mix(in srgb,var(--authority),transparent 55%); outline-offset:2px; }
.exception-row > span { width:34px; height:34px; display:grid; place-items:center; color:var(--accent-strong); border-radius:10px; background:var(--accent-soft); }
.exception-row > span svg { width:17px; height:17px; }
.exception-row strong,.exception-row small { display:block; }
.exception-row strong { font-size:10px; }
.exception-row small { margin-top:2px; color:var(--muted); font-size:8px; }
.exception-row em { color:var(--accent-strong); font-size:16px; font-style:normal; font-weight:900; font-variant-numeric:tabular-nums; }
.exception-row.has-issue { border-color:color-mix(in srgb,var(--warning),transparent 58%); background:var(--warning-soft); }
.exception-row.has-issue > span { color:var(--warning); background:color-mix(in srgb,var(--warning),transparent 86%); }
.exception-row.has-issue em { color:var(--warning); }
.exception-chevron { width:28px; height:28px; display:grid; place-items:center; color:var(--muted); border-radius:9px; background:var(--surface); }
.exception-chevron svg { width:14px; height:14px; }
.management-leaderboard { display:grid; gap:0; }
.management-leaderboard > button { width:100%; display:grid; grid-template-columns:32px 40px minmax(0,1fr) auto auto; align-items:center; gap:10px; min-height:66px; padding:0; color:var(--ink); border:0; border-bottom:1px solid var(--border); background:transparent; text-align:left; cursor:pointer; }
.management-leaderboard > button:last-child { border-bottom:0; }
.management-leaderboard > button:focus-visible { outline:3px solid color-mix(in srgb,var(--authority),transparent 60%); outline-offset:-3px; }
.management-leaderboard > button > i { color:var(--muted); }
.management-leaderboard > button > i svg { width:15px; height:15px; }
.management-leaderboard .leader-rank { width:28px; height:28px; display:grid; place-items:center; color:var(--authority); border-radius:9px; background:var(--authority-soft); font-size:9px; font-weight:900; }
.leader-avatar { width:40px; height:40px; border-radius:12px; }
.management-leaderboard strong,.management-leaderboard small { display:block; }
.management-leaderboard strong { font-size:11px; }
.management-leaderboard small { margin-top:2px; color:var(--muted); font-size:8.5px; }
.management-leaderboard em { color:var(--accent-strong); font-size:12px; font-style:normal; font-weight:900; }
.coverage-row > div:first-child { margin-bottom:7px; }
.coverage-track { height:8px; }

.control-queue { display:grid; gap:14px; padding:0 20px 24px; overflow:auto; }
.control-queue-summary { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; padding:17px; border:1px solid var(--border); border-left:4px solid var(--accent-strong); border-radius:16px; background:var(--accent-soft); }
.control-queue-summary.warning { border-left-color:var(--warning); background:var(--warning-soft); }
.control-queue-summary > span { width:46px; height:46px; display:grid; place-items:center; color:var(--accent-strong); border-radius:14px; background:var(--surface); }
.control-queue-summary.warning > span { color:var(--warning); }
.control-queue-summary svg { width:22px; height:22px; }
.control-queue-summary small,.control-queue-summary strong,.control-queue-summary p { display:block; }
.control-queue-summary small { color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.14em; }
.control-queue-summary strong { margin-top:4px; font-size:18px; }
.control-queue-summary p { margin:4px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.control-queue-guidance { display:flex; align-items:center; gap:10px; padding:11px 13px; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority),transparent 72%); border-radius:13px; background:var(--authority-soft); }
.control-queue-guidance > svg { width:19px; height:19px; flex:0 0 auto; }
.control-queue-guidance strong,.control-queue-guidance small { display:block; }
.control-queue-guidance strong { font-size:10px; }
.control-queue-guidance small { margin-top:2px; color:var(--muted); font-size:9px; }
.control-queue-list { display:grid; gap:9px; }
.control-queue-row { width:100%; min-height:82px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px; color:var(--ink); border:1px solid var(--border); border-radius:15px; background:var(--surface); text-align:left; cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.control-queue-row:hover { border-color:var(--authority); box-shadow:0 10px 24px color-mix(in srgb,var(--navy),transparent 90%); transform:translateY(-1px); }
.control-queue-row:focus-visible { outline:3px solid color-mix(in srgb,var(--authority),transparent 55%); outline-offset:2px; }
.control-queue-icon { width:42px; height:42px; display:grid; place-items:center; color:var(--warning); border-radius:13px; background:var(--warning-soft); }
.control-queue-icon svg { width:20px; height:20px; }
.control-queue-copy strong,.control-queue-copy small,.control-queue-copy em { display:block; }
.control-queue-copy strong { font-size:12px; }
.control-queue-copy small { margin-top:3px; color:var(--muted); font-size:9px; }
.control-queue-copy em { margin-top:5px; color:var(--warning); font-size:9px; font-style:normal; font-weight:800; }
.control-queue-action { display:flex; align-items:center; gap:3px; color:var(--authority); font-size:9px; font-weight:850; white-space:nowrap; }
.control-queue-action svg { width:14px; height:14px; }
.control-clear-state { min-height:250px; display:grid; place-items:center; align-content:center; padding:28px; text-align:center; border:1px dashed var(--border-strong); border-radius:17px; background:var(--canvas); }
.control-clear-state > svg { width:38px; height:38px; margin-bottom:11px; color:var(--accent-strong); }
.control-clear-state h3 { margin:5px 0; font-size:18px; }
.control-clear-state p { max-width:420px; margin:0; color:var(--muted); font-size:10px; line-height:1.6; }

[data-theme="dark"] .reporting-masthead,[data-theme="dark"] .customer-report-hero,[data-theme="dark"] .team-report-hero,[data-theme="dark"] .management-hero { background:linear-gradient(132deg,#143957,#071a2c); }
[data-theme="dark"] .report-customer-row,[data-theme="dark"] .report-block,[data-theme="dark"] .people-performance-section,[data-theme="dark"] .report-timeline { background:var(--surface); }
[data-theme="dark"] .report-discovery,[data-theme="dark"] .report-empty { background:linear-gradient(145deg,var(--surface),#11283a); }

@media (min-width:760px) {
  .report-filter-card { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:end; }
  .report-filter-card .filter-heading,.report-filter-card .report-date-grid,.report-filter-card > button { grid-column:1/-1; }
  .report-filter-card > label:not(:has(select)) { grid-column:1/-1; }
  .report-filter-card .report-search { grid-column:1/-1; }
  .report-run-button { width:min(100%,320px); justify-self:end; }
}
@media (max-width:700px) {
  .reporting-masthead { min-height:168px; padding:21px; }
  .reporting-trust { align-items:flex-start; }
  .report-tabs { top:calc(72px + env(safe-area-inset-top)); }
  .report-directory { grid-template-columns:1fr; }
  .report-metric-grid.six { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-signal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .management-grid { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .reporting-masthead { align-items:flex-start; flex-direction:column; }
  .reporting-masthead h1 { font-size:31px; }
  .report-tabs { gap:3px; padding:4px; border-radius:16px; }
  .report-tab { min-height:54px; grid-template-columns:1fr; justify-items:center; gap:2px; padding:6px 4px; text-align:center; }
  .report-tab-icon { width:27px; height:27px; border-radius:8px; }
  .report-tab-icon svg { width:15px; height:15px; }
  .report-tab-copy strong { font-size:9.5px; }
  .report-tab-copy small { display:none; }
  .report-filter-card { padding:16px; border-left-width:3px; }
  .filter-heading { align-items:flex-start; }
  .filter-step { display:none; }
  .report-discovery,.report-empty { padding:27px 17px; }
  .report-customer-row { grid-template-columns:auto minmax(0,1fr) auto; }
  .report-customer-owner { display:none; }
  .customer-report-hero,.team-report-hero,.management-hero { padding:17px; border-radius:18px; }
  .report-hero-top { align-items:flex-start; }
  .customer-identity { align-items:start; }
  .customer-identity .report-code { width:48px; height:48px; }
  .customer-identity h2 { font-size:19px; }
  .report-block,.people-performance-section,.report-timeline { padding:15px; border-radius:16px; }
  .report-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-metric { min-height:88px; grid-template-columns:1fr; gap:7px; }
  .report-metric-icon { width:31px; height:31px; }
  .report-metric strong { font-size:17px; }
  .report-kpi-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-kpi-overview > :last-child { grid-column:1/-1; }
  .report-actions { grid-template-columns:1fr; }
  .report-export-actions.single { grid-template-columns:1fr; }
  .report-visit-card > summary { grid-template-columns:auto minmax(0,1fr) auto; gap:9px; }
  .visit-summary-side { min-width:70px; }
  .visit-expand { grid-column:3; justify-self:end; width:24px; height:24px; }
  .visit-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kpi-detail-overlay { padding:0; }
  .kpi-detail-sheet { width:100%; max-height:100dvh; height:100dvh; border:0; border-radius:0; }
  .kpi-detail-header { padding:max(58px,calc(var(--app-safe-top) + 13px)) 13px 13px; }
  .kpi-detail-body { padding:13px 13px max(18px,env(safe-area-inset-bottom)); }
  .kpi-detail-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kpi-detail-status { align-items:start; grid-template-columns:minmax(0,1fr); }
  .kpi-detail-status em { justify-self:start; }
  .person-scoreline { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .person-card-footer { align-items:flex-start; flex-direction:column; }
  .status-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .exception-list { grid-template-columns:1fr; }
  .control-queue { padding:0 14px 20px; }
  .control-queue-row { grid-template-columns:auto minmax(0,1fr); }
  .control-queue-action { grid-column:2; justify-self:start; min-height:28px; }
}
@media (max-width:360px) {
  .reporting-masthead p { font-size:11px; }
  .report-tab-copy strong { font-size:9px; }
  .report-date-grid { grid-template-columns:1fr; }
  .date-presets { margin-top:0; }
  .customer-signal-grid { grid-template-columns:1fr; }
  .visit-kpi-command-grid { grid-template-columns:1fr; }
  .kpi-drill-card { min-height:72px; }
  .kpi-detail-close { min-width:70px; padding-inline:10px; }
}
@media (orientation:landscape) and (max-height:520px) {
  .reporting-masthead { min-height:118px; padding:17px 21px; }
  .reporting-masthead h1 { font-size:27px; }
  .report-tabs { position:relative; top:auto; }
  .kpi-detail-header { padding:9px max(13px,var(--app-safe-right)) 9px max(13px,var(--app-safe-left)); }
  .kpi-detail-icon { width:40px; height:40px; }
  .kpi-detail-body { padding:10px max(13px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(13px,env(safe-area-inset-left)); }
}
@media (prefers-reduced-motion:reduce) {
  .report-loading-mark,.report-skeleton i { animation:none; }
  .visit-expand,.report-customer-row,.report-shortcuts button,.customer-latest-visit,.customer-history-visit { transition:none; }
  .kpi-detail-overlay,.kpi-detail-sheet { animation:none; }
  .kpi-drill-card { transition:none; }
}

/* v28 Telegram/iOS viewport guard — keeps full-screen surfaces inside the
   actual Mini App viewport instead of the browser's stale 100vh measurement. */
.modal-overlay,
.day-start-overlay,
.evidence-lightbox,
.kpi-detail-overlay {
  top:0;
  right:0;
  bottom:auto;
  left:0;
  height:var(--app-viewport-height);
  max-height:var(--app-viewport-height);
}
.modal-sheet { max-height:min(calc(var(--app-viewport-height) - 24px),900px); }
.day-start-gate { max-height:calc(var(--app-viewport-height) - 32px); }
.evidence-lightbox-panel { max-height:var(--app-viewport-height); }
.kpi-detail-sheet { max-height:min(calc(var(--app-viewport-height) - 22px),940px); }

@media (max-width:520px) {
  .modal-overlay { padding-top:var(--app-safe-top); }
  .modal-sheet { max-height:calc(var(--app-viewport-height) - var(--app-safe-top)); }
  .day-start-gate { max-height:var(--app-viewport-height); }
  .evidence-lightbox-panel,
  .kpi-detail-sheet {
    width:100%;
    height:var(--app-viewport-height);
    max-height:var(--app-viewport-height);
  }
  .evidence-lightbox-header { padding-top:max(13px,var(--app-safe-top)); }
  .kpi-detail-header { padding-top:max(58px,calc(var(--app-safe-top) + 13px)); }
  .evidence-lightbox-footer,
  .kpi-detail-body { padding-bottom:max(16px,var(--app-safe-bottom)); }
}

/* v24 cascade guard: these controls intentionally override earlier report versions. */
.report-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); }
.period-control .report-date-grid { display:grid; grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr); align-items:end; gap:8px; }
.period-control .date-presets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0; }
.period-control .date-presets button { min-height:44px; padding:7px 8px; border-radius:11px; }
.period-control .date-presets button.active { color:#fff; border-color:var(--authority); background:var(--authority); }
.today-avatar { width:48px; height:48px; border-radius:15px; }
@media (max-width:720px) {
  .report-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-tab { min-height:58px; }
}
@media (max-width:430px) {
  .period-control .report-date-grid { grid-template-columns:1fr; }
  .period-control .date-presets { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .period-control .period-arrow { display:none; }
}

/* v32 final cascade lock — management controls stay large, legible and actionable. */
#screen-customers .report-launchpad { position:relative; top:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0; background:transparent; box-shadow:none; }
#screen-customers .report-launchpad .report-tab { min-height:92px; grid-template-columns:48px minmax(0,1fr) 24px; justify-items:stretch; padding:14px; text-align:left; }
#screen-customers .report-launchpad .report-tab-copy strong { font-size:14px; }
#screen-customers .report-launchpad .report-tab-copy small { display:block; margin-top:4px; font-size:11px; line-height:1.35; }
#screen-customers .operational-position-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#screen-customers .operational-position-grid > button { min-height:102px; padding:14px; border-left-width:5px; background:var(--canvas); }
#screen-customers .operational-position-grid .operation-position-copy strong { font-size:25px; }
#screen-customers .operational-position-grid .operation-position-copy b { font-size:13px; }
#screen-customers .operational-position-grid .operation-position-copy small { margin-top:2px; font-size:10px; }
.pulse-person { grid-template-columns:44px minmax(0,1fr) auto 20px; min-height:78px; }
.pulse-person > div em { display:block; margin-top:4px; color:var(--authority); font-size:9px; font-style:normal; font-weight:780; }
.pulse-person > svg { width:18px; height:18px; color:var(--authority); }

@media (max-width:620px) {
  #screen-customers .report-launchpad { grid-template-columns:1fr; gap:8px; }
  #screen-customers .report-launchpad .report-tab { min-height:82px; grid-template-columns:46px minmax(0,1fr) 24px; padding:12px; }
  #screen-customers .operational-position-grid { grid-template-columns:1fr; }
  #screen-customers .operational-position-grid > button { min-height:92px; }
  .pulse-person { grid-template-columns:42px minmax(0,1fr) 18px; }
  .pulse-person .status-pill { grid-column:2; justify-self:start; }
  .pulse-person > svg { grid-column:3; grid-row:1/3; }
}

/* v34 Telegram navigation and launch behavior — persistent in-app back routes,
   safe-area-aware full-screen surfaces, and no destructive Close affordance. */
.modal-heading {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  justify-content:initial;
  gap:12px;
}
.modal-heading-copy { min-width:0; }
.modal-heading-copy h2,.modal-heading-copy p { overflow-wrap:anywhere; }
.modal-back-button {
  min-width:78px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:9px 12px;
  color:var(--authority);
  border:1px solid color-mix(in srgb,var(--authority),transparent 72%);
  border-radius:14px;
  background:var(--authority-soft);
  font:inherit;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  touch-action:manipulation;
}
.modal-back-button svg { width:18px; height:18px; }
.modal-back-button:active { background:color-mix(in srgb,var(--authority-soft),var(--authority) 12%); }
.modal-back-button:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.topbar { padding-top:max(10px,var(--app-safe-top)); }

@media (max-width:520px) {
  .modal-overlay { padding-top:max(8px,var(--app-safe-top)); }
  .modal-sheet { max-height:calc(var(--app-viewport-height) - max(8px,var(--app-safe-top))); }
  .kpi-detail-header {
    position:sticky;
    top:0;
    z-index:2;
    padding:max(58px,calc(var(--app-safe-top) + 12px)) max(14px,var(--app-safe-right)) 14px max(14px,var(--app-safe-left));
  }
  .kpi-detail-close { min-width:82px; min-height:48px; font-size:11px; }
  .kpi-detail-title h2 { font-size:18px; }
}

@media (orientation:landscape) and (max-height:520px) {
  .kpi-detail-header { padding:max(9px,var(--app-safe-top)) max(13px,var(--app-safe-right)) 9px max(13px,var(--app-safe-left)); }
}

/* v35 — Shirinasal Executive Operations design system.
   One brand, one hierarchy, one reporting language across mobile and desktop. */
:root {
  --brand:#b1162a;
  --brand-strong:#86101f;
  --brand-soft:#fff0f2;
  --authority:#122b43;
  --authority-strong:#0a1b2c;
  --authority-soft:#edf3f8;
  --accent:#08745d;
  --accent-strong:#055c4a;
  --accent-soft:#e9f7f2;
  --info:#25668f;
  --info-soft:#eaf4fa;
  --warning:#9a5b08;
  --warning-soft:#fff5df;
  --danger:#b42318;
  --danger-soft:#fff0ee;
  --ink:#101c2a;
  --muted:#536171;
  --subtle:#778493;
  --canvas:#f2f5f8;
  --surface:#ffffff;
  --surface-raised:#ffffff;
  --border:#d9e1e8;
  --border-strong:#b8c5d0;
  --focus:#b1162a;
  --shadow-sm:0 1px 3px rgba(16,28,42,.07);
  --shadow-md:0 10px 28px rgba(16,28,42,.09);
  --shadow-lg:0 28px 72px rgba(10,27,44,.18);
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}

[data-theme="dark"] {
  --brand:#f05c69;
  --brand-strong:#ff8892;
  --brand-soft:#351a23;
  --authority:#d8e8f5;
  --authority-strong:#f1f7fb;
  --authority-soft:#172b3c;
  --accent:#61c6a8;
  --accent-strong:#86ddc3;
  --accent-soft:#14362e;
  --info:#78b9df;
  --info-soft:#172f41;
  --warning:#f3bd66;
  --warning-soft:#3b2c18;
  --danger:#ff7c72;
  --danger-soft:#40211f;
  --ink:#f4f8fb;
  --muted:#b7c3ce;
  --subtle:#8fa0ae;
  --canvas:#09131d;
  --surface:#101f2c;
  --surface-raised:#152634;
  --border:#293c4b;
  --border-strong:#415565;
  --focus:#ff7b86;
}

html { background:var(--canvas); }
body {
  color:var(--ink);
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--authority-soft),var(--canvas) 58%) 0,var(--canvas) 360px);
}
button,a,input,select,textarea,summary { touch-action:manipulation; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid color-mix(in srgb,var(--focus),transparent 35%);
  outline-offset:2px;
}

/* Official Shirinasal identity */
.brand-logo-mark,.intelligence-logo {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#fff;
}
.brand-logo-mark::before,.brand-logo-mark::after { display:none !important; }
.brand-logo-mark img,.intelligence-logo img {
  position:absolute;
  left:50%;
  top:50%;
  width:120px;
  height:120px;
  max-width:none;
  object-fit:contain;
  transform:translate(-50%,-50%);
}
.topbar .brand-logo-mark {
  width:76px;
  height:46px;
  flex-basis:76px;
  border:1px solid #ead9dc;
  border-radius:12px;
  box-shadow:none;
}
.topbar .brand-logo-mark img { width:112px; height:112px; }
.topbar {
  min-height:72px;
  gap:14px;
  color:var(--ink);
  border-bottom:1px solid var(--border);
  background:color-mix(in srgb,var(--surface),transparent 3%);
  box-shadow:0 4px 18px rgba(16,28,42,.04);
}
.topbar-copy strong { font-size:15px; font-weight:820; letter-spacing:-.015em; }
.topbar-copy > span { color:var(--muted); font-size:11px; font-weight:650; }
.status-dot { background:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }

.auth-brand-lockup {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 24px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-left:4px solid var(--brand);
  border-radius:14px;
  background:var(--surface);
}
.auth-brand-lockup .brand-logo-mark { width:72px; height:44px; flex:0 0 72px; border:1px solid #ead9dc; border-radius:9px; }
.auth-brand-lockup .brand-logo-mark img { width:108px; height:108px; }
.auth-brand-lockup > div { display:grid; gap:2px; }
.auth-brand-lockup strong { color:var(--ink); font-size:14px; }
.auth-brand-lockup small { color:var(--muted); font-size:10px; font-weight:650; }
.auth-card { border-top:5px solid var(--brand); box-shadow:var(--shadow-lg); }
.auth-icon { color:#fff; background:var(--authority); box-shadow:none; }

/* Global action and navigation language */
.primary-button {
  color:#fff;
  border-color:var(--brand);
  background:var(--brand);
  box-shadow:0 8px 18px rgba(177,22,42,.17);
}
.primary-button:hover { border-color:var(--brand-strong); background:var(--brand-strong); box-shadow:0 10px 24px rgba(177,22,42,.22); }
.primary-button:active { box-shadow:0 3px 10px rgba(177,22,42,.16); }
.secondary-button { color:var(--authority); border-color:var(--border-strong); background:var(--surface); }
.secondary-button:hover { color:var(--authority-strong); border-color:var(--authority); background:var(--authority-soft); }
.bottom-nav {
  border-color:var(--border);
  border-radius:20px 20px 0 0;
  background:color-mix(in srgb,var(--surface),transparent 2%);
  box-shadow:0 -10px 32px rgba(10,27,44,.1);
}
.nav-item {
  position:relative;
  min-height:62px;
  color:var(--muted);
  border-radius:12px;
  font-size:10.5px;
  transition:color 180ms ease,background-color 180ms ease;
}
.nav-item:hover { color:var(--ink); background:var(--authority-soft); }
.nav-item:active { transform:none; background:color-mix(in srgb,var(--authority-soft),var(--surface) 35%); }
.nav-item.active {
  color:var(--brand);
  background:var(--brand-soft);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand),transparent 83%);
}
.nav-item.active::after {
  position:absolute;
  top:5px;
  left:50%;
  width:22px;
  height:3px;
  border-radius:999px;
  background:var(--brand);
  transform:translateX(-50%);
  content:"";
}
.nav-icon svg { stroke-width:1.9; }

.hero-card {
  color:#fff;
  border:0;
  border-top:5px solid var(--brand);
  background:var(--authority-strong);
  box-shadow:var(--shadow-md);
}
.hero-card::before { background:transparent; }
.hero-card::after { border:1px solid rgba(255,255,255,.09); background:transparent; }
.hero-card .eyebrow { color:#f8a9b1; }
.hero-card p { color:#d6e0e8; }

/* Reporting masthead */
#screen-customers { --report-accent:var(--brand); }
.intelligence-header {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:20px 28px;
  min-height:224px;
  margin:0 0 18px;
  padding:26px 28px 28px;
  color:#fff;
  border:0;
  border-top:6px solid var(--brand);
  border-radius:24px;
  background:var(--authority-strong);
  box-shadow:var(--shadow-lg);
}
.intelligence-header::after {
  position:absolute;
  right:-105px;
  top:-115px;
  width:280px;
  height:280px;
  border:42px solid rgba(255,255,255,.035);
  border-radius:50%;
  content:"";
}
.intelligence-brand {
  position:relative;
  z-index:1;
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:12px;
  align-self:start;
}
.intelligence-logo { width:86px; height:48px; flex:0 0 86px; border-radius:10px; }
.intelligence-logo img { width:126px; height:126px; }
.intelligence-brand > span:last-child {
  color:#f4a4ad;
  font-size:10px;
  font-weight:850;
  letter-spacing:.16em;
}
.intelligence-heading-copy { position:relative; z-index:1; }
.intelligence-heading-copy .eyebrow { color:#f4a4ad; }
.intelligence-header h1 {
  max-width:19ch;
  margin:7px 0 8px;
  color:#fff;
  font-size:clamp(32px,5vw,46px);
  line-height:1.02;
  letter-spacing:-.05em;
}
.intelligence-header p { max-width:61ch; margin:0; color:#bdcad5; font-size:13px; line-height:1.58; }
.intelligence-live {
  position:relative;
  z-index:1;
  display:grid;
  justify-items:end;
  gap:7px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.055);
}
.intelligence-live .live-indicator { color:#fff; border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.08); }
.intelligence-live small { color:#94a7b7; font-size:9px; font-weight:700; }

/* Reporting navigation — four clear modules, no decorative noise */
#screen-customers .report-launchpad {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0 0 14px;
}
#screen-customers .report-launchpad .report-tab {
  --tab-color:var(--authority);
  --tab-soft:var(--authority-soft);
  position:relative;
  min-height:112px;
  grid-template-columns:52px minmax(0,1fr) 26px;
  gap:13px;
  padding:16px;
  color:var(--ink);
  border:1px solid var(--border);
  border-top:4px solid var(--tab-color);
  border-radius:16px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
  transition:border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease;
}
#screen-customers .report-launchpad .report-today { --tab-color:var(--brand); --tab-soft:var(--brand-soft); }
#screen-customers .report-launchpad .report-customer { --tab-color:#245b84; --tab-soft:#edf5fb; }
#screen-customers .report-launchpad .report-team { --tab-color:var(--accent); --tab-soft:var(--accent-soft); }
#screen-customers .report-launchpad .report-management { --tab-color:#8a5a12; --tab-soft:#fff5df; }
#screen-customers .report-launchpad .report-tab:hover,
#screen-customers .report-launchpad .report-tab:focus-visible { border-color:var(--tab-color); background:var(--tab-soft); box-shadow:var(--shadow-md); }
#screen-customers .report-launchpad .report-tab.active {
  color:#fff;
  border-color:var(--tab-color);
  background:var(--tab-color);
  box-shadow:0 12px 28px color-mix(in srgb,var(--tab-color),transparent 78%);
}
#screen-customers .report-launchpad .report-tab-icon {
  width:52px;
  height:52px;
  color:var(--tab-color);
  border:1px solid color-mix(in srgb,var(--tab-color),transparent 80%);
  border-radius:13px;
  background:var(--tab-soft);
}
#screen-customers .report-launchpad .report-tab.active .report-tab-icon { color:var(--tab-color); border-color:rgba(255,255,255,.42); background:#fff; }
#screen-customers .report-launchpad .report-tab-copy strong { color:inherit; font-size:15px; font-weight:820; letter-spacing:-.015em; }
#screen-customers .report-launchpad .report-tab-copy small { display:block; margin-top:5px; color:var(--muted); font-size:10.5px; line-height:1.45; }
#screen-customers .report-launchpad .report-tab.active .report-tab-copy small { color:rgba(255,255,255,.76); }
#screen-customers .report-launchpad .report-tab-arrow { color:var(--tab-color); background:var(--tab-soft); }
#screen-customers .report-launchpad .report-tab.active .report-tab-arrow { color:var(--tab-color); background:#fff; }

.report-view-context {
  min-height:60px;
  margin:0 0 16px;
  padding:10px 14px;
  border:1px solid var(--border);
  border-left:4px solid var(--view-accent,var(--brand));
  border-radius:13px;
  background:var(--surface);
  box-shadow:none;
}
.report-view-context > span { color:var(--view-accent,var(--brand)); background:var(--view-soft,var(--brand-soft)); }
.report-view-context strong { font-size:13px; }
.report-view-context small { font-size:9.5px; }
.report-panel { min-height:320px; }

/* Filters and period selection */
.report-filter-card {
  display:grid;
  gap:16px;
  margin:0 0 18px;
  padding:20px;
  border:1px solid var(--border);
  border-top:5px solid var(--view-accent,var(--authority));
  border-left:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.filter-heading { padding-bottom:13px; border-bottom:1px solid var(--border); }
.filter-heading > div { align-items:center; }
.filter-heading strong { color:var(--ink); font-size:14px; }
.filter-heading span { color:var(--muted); font-size:10px; line-height:1.45; }
.report-code { color:#fff; background:var(--authority); box-shadow:none; }
.filter-step { color:var(--view-accent,var(--authority)); background:var(--view-soft,var(--authority-soft)); }
.period-control {
  gap:12px;
  padding:15px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--canvas);
}
.period-control-head > div { color:var(--authority); }
.period-control .report-date-grid label { border-color:var(--border); border-radius:12px; box-shadow:none; }
.period-control .date-presets button { border:1px solid var(--border); background:var(--surface); }
.period-control .date-presets button:hover { border-color:var(--authority); background:var(--authority-soft); }
.period-control .date-presets button.active { color:#fff; border-color:var(--authority-strong); background:var(--authority-strong); box-shadow:none; }
.report-run-button { min-height:54px; }

/* Executive report surfaces */
.today-command-hero,.customer-report-hero,.team-report-hero,.management-hero {
  overflow:hidden;
  color:#fff;
  border:0;
  border-top:5px solid var(--brand);
  border-radius:22px;
  background:var(--authority-strong);
  box-shadow:var(--shadow-md);
}
.today-command-hero { padding:24px; }
.today-command-hero::after { border-color:rgba(255,255,255,.07); background:transparent; }
.today-command-title .eyebrow,.customer-report-hero .eyebrow,.team-report-hero .eyebrow,.management-hero .eyebrow { color:#f3a1aa; }
.today-command-title p,.customer-report-hero p,.team-report-hero p,.management-hero p { color:#b9c7d2; }
.today-command-metrics { gap:10px; }
.today-command-metrics .report-metric {
  min-height:118px;
  border:1px solid rgba(255,255,255,.11);
  border-left:3px solid rgba(255,255,255,.32);
  border-radius:13px;
  background:rgba(255,255,255,.065);
  backdrop-filter:none;
}
.today-command-metrics .report-metric-icon { color:#fff; background:rgba(255,255,255,.1); }
.today-command-metrics .report-metric small { color:#94a7b7; }
.command-refresh { min-height:44px; }

.report-metric-grid { gap:10px; }
.report-metric {
  min-height:102px;
  padding:14px;
  border:1px solid var(--border);
  border-left:4px solid var(--border-strong);
  border-top:1px solid var(--border);
  border-radius:14px;
  background:var(--surface);
  box-shadow:none;
}
.report-metric-icon { color:var(--authority); background:var(--authority-soft); }
.report-metric strong { color:var(--ink); font-size:21px; font-weight:820; }
.report-metric span { color:var(--muted); font-size:10px; font-weight:750; }
.report-metric small { color:var(--subtle); font-size:9px; }
.report-metric.tone-brand { border-left-color:var(--brand); }
.report-metric.tone-brand .report-metric-icon { color:var(--brand); background:var(--brand-soft); }
.report-metric.tone-authority { border-left-color:var(--authority); }
.report-metric.tone-success { border-left-color:var(--accent); }
.report-metric.tone-success .report-metric-icon { color:var(--accent); background:var(--accent-soft); }
.report-metric.tone-info { border-left-color:var(--info); }
.report-metric.tone-info .report-metric-icon { color:var(--info); background:var(--info-soft); }

.report-block,.people-performance-section,.management-card,.report-timeline {
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.report-block-heading { gap:16px; padding-bottom:12px; border-bottom:1px solid var(--border); }
.report-block-heading h2 { color:var(--ink); font-size:18px; letter-spacing:-.025em; }
.report-block-heading > span { color:var(--muted); font-size:9.5px; }
.operational-position-grid > button {
  min-height:108px;
  border:1px solid var(--border);
  border-left:5px solid var(--authority);
  border-radius:14px;
  background:var(--canvas);
  box-shadow:none;
}
.operational-position-grid > button:hover { border-color:var(--authority); background:var(--authority-soft); box-shadow:none; }
.today-status-strip > div { border-radius:13px; box-shadow:none; }

.today-person-card {
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
}
.today-person-card > header { background:var(--surface); }
.today-avatar { border-radius:12px; }
.today-person-numbers { background:var(--canvas); }
.today-visit-row { min-height:78px; }
.today-visit-row:hover,.today-visit-row:focus-visible { background:var(--authority-soft); box-shadow:none; }
.today-customer-link { color:var(--authority); font-weight:750; }

.report-visit-card,.person-card,.report-customer-row,.kpi-drill-card {
  border-color:var(--border);
  background:var(--surface);
  box-shadow:none;
}
.report-visit-card:hover,.person-card:hover,.report-customer-row:hover,.kpi-drill-card:hover { border-color:var(--authority); box-shadow:var(--shadow-sm); }
.report-actions .primary-button { border-radius:14px; }
.report-methodology { border:1px solid var(--border); border-radius:14px; background:var(--surface); }

/* Dark reporting pair: preserve hierarchy without muddy gradients. */
[data-theme="dark"] .intelligence-header,
[data-theme="dark"] .today-command-hero,
[data-theme="dark"] .customer-report-hero,
[data-theme="dark"] .team-report-hero,
[data-theme="dark"] .management-hero { background:#081724; }
[data-theme="dark"] #screen-customers .report-launchpad .report-customer { --tab-soft:#142d40; }
[data-theme="dark"] #screen-customers .report-launchpad .report-team { --tab-soft:#14362e; }
[data-theme="dark"] #screen-customers .report-launchpad .report-management { --tab-soft:#3b2c18; }
[data-theme="dark"] #screen-customers .report-launchpad .report-tab.active { color:#fff; }
[data-theme="dark"] .auth-brand-lockup,.brand-logo-mark,.intelligence-logo { background:#fff; }

@media (max-width:720px) {
  .intelligence-header {
    grid-template-columns:minmax(0,1fr);
    min-height:198px;
    gap:15px;
    padding:21px;
    border-radius:20px;
  }
  .intelligence-brand { grid-column:1; }
  .intelligence-heading-copy h1 { font-size:31px; }
  .intelligence-heading-copy p { font-size:11.5px; }
  .intelligence-live { position:absolute; top:20px; right:20px; padding:8px 10px; }
  .intelligence-live small { display:none; }
  #screen-customers .report-launchpad { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #screen-customers .report-launchpad .report-tab {
    min-height:126px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:8px;
    padding:13px;
  }
  #screen-customers .report-launchpad .report-tab-icon { width:42px; height:42px; flex:0 0 42px; }
  #screen-customers .report-launchpad .report-tab-arrow { position:absolute; top:14px; right:12px; }
  #screen-customers .report-launchpad .report-tab-copy strong { font-size:13px; }
  #screen-customers .report-launchpad .report-tab-copy small { font-size:9px; line-height:1.35; }
  .report-metric-grid.six { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .today-command-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .today-command-metrics .report-metric { min-height:104px; }
}

@media (max-width:430px) {
  .topbar { gap:10px; }
  .topbar .brand-logo-mark { width:66px; height:42px; flex-basis:66px; }
  .topbar .brand-logo-mark img { width:102px; height:102px; }
  .topbar-copy strong { font-size:13px; }
  .topbar-copy > span { max-width:170px; font-size:9.5px; }
  .intelligence-header { min-height:208px; padding:18px; }
  .intelligence-logo { width:72px; height:42px; flex-basis:72px; }
  .intelligence-logo img { width:110px; height:110px; }
  .intelligence-brand > span:last-child { display:none; }
  .intelligence-heading-copy h1 { max-width:12ch; margin-top:5px; font-size:29px; }
  .intelligence-heading-copy p { max-width:31ch; }
  #screen-customers .report-launchpad .report-tab { min-height:132px; padding:12px; }
  #screen-customers .report-launchpad .report-tab-copy strong { font-size:12.5px; }
  .report-filter-card { padding:15px; border-radius:15px; }
  .filter-heading { align-items:flex-start; }
  .filter-step { display:none; }
  .period-control { padding:12px; }
  .today-command-hero { padding:18px 15px; border-radius:18px; }
  .today-command-title { margin:22px 0 15px; }
  .today-command-title h2 { font-size:24px; }
  .report-block,.people-performance-section,.management-card,.report-timeline { padding:15px; border-radius:15px; }
  .bottom-nav { border-radius:17px 17px 0 0; }
  .nav-item { min-height:60px; font-size:9.5px; }
}

@media (orientation:landscape) and (max-height:520px) {
  .intelligence-header { grid-template-columns:minmax(0,1fr) auto; min-height:132px; padding:16px 20px; }
  .intelligence-brand { grid-column:1/-1; }
  .intelligence-heading-copy h1 { font-size:27px; }
  .intelligence-heading-copy p { display:none; }
  .intelligence-live { position:relative; top:auto; right:auto; }
}

@media (prefers-reduced-motion:reduce) {
  #screen-customers .report-launchpad .report-tab,.nav-item,.primary-button,.secondary-button { transition:none; }
}

/* v37 — compact operational reporting.
   One action per row, restrained colour, clear grouping, Telegram-safe navigation. */
body { background:var(--canvas); }
.screen { padding-bottom:16px; }
.app-shell { padding-bottom:calc(66px + var(--app-safe-bottom) + 20px); }

/* Telegram owns the back/menu zones; the web header must never compete with them. */
body.telegram-host.telegram-back-visible .topbar {
  min-height:70px;
  padding-left:max(128px,calc(var(--app-safe-left) + 128px));
  padding-right:max(72px,calc(var(--app-safe-right) + 72px));
}
body.telegram-host.telegram-back-visible .topbar .brand-logo-mark,
body.telegram-host .topbar #themeToggle { display:none; }
body.telegram-host.telegram-back-visible .topbar-copy strong { font-size:13px; }
body.telegram-host.telegram-back-visible .topbar-copy > span { max-width:100%; font-size:9px; }

/* Compact reporting identity: product header, not a marketing hero. */
.intelligence-header {
  min-height:88px;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin:0 0 12px;
  padding:12px 14px;
  color:var(--ink);
  border:1px solid var(--border);
  border-left:4px solid var(--brand);
  border-top:1px solid var(--border);
  border-radius:16px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.intelligence-header::after { display:none; }
.intelligence-brand { grid-column:auto; align-self:auto; gap:11px; min-width:0; }
.intelligence-logo { width:66px; height:40px; flex-basis:66px; border:1px solid #ead9dc; border-radius:9px; }
.intelligence-logo img { width:102px; height:102px; }
body:not(.telegram-host) .intelligence-logo { display:none; }
.intelligence-brand > div { min-width:0; }
.intelligence-brand .eyebrow { color:var(--brand); font-size:8px; letter-spacing:.12em; }
.intelligence-header h1 {
  max-width:none;
  margin:2px 0 1px;
  color:var(--ink);
  font-size:20px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.intelligence-header p {
  max-width:52ch;
  margin:0;
  overflow:hidden;
  color:var(--muted);
  font-size:10px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.intelligence-live {
  justify-items:center;
  gap:2px;
  padding:7px 9px;
  color:var(--accent);
  border:1px solid color-mix(in srgb,var(--accent),transparent 70%);
  border-radius:11px;
  background:var(--accent-soft);
}
.intelligence-live .live-indicator { padding:0; color:var(--accent-strong); border:0; background:transparent; font-size:8px; }
.intelligence-live small { color:var(--muted); font-size:7px; }

/* One neutral navigation language. Colour is reserved for current state. */
#screen-customers .report-launchpad {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 12px;
}
#screen-customers .report-launchpad .report-tab,
#screen-customers .report-launchpad .report-today,
#screen-customers .report-launchpad .report-customer,
#screen-customers .report-launchpad .report-team,
#screen-customers .report-launchpad .report-management {
  --tab-color:var(--authority);
  --tab-soft:var(--authority-soft);
  min-height:70px;
  grid-template-columns:38px minmax(0,1fr) 18px;
  gap:8px;
  padding:9px;
  color:var(--ink);
  border:1px solid var(--border);
  border-top:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  box-shadow:none;
}
#screen-customers .report-launchpad .report-tab:hover,
#screen-customers .report-launchpad .report-tab:focus-visible { border-color:var(--authority); background:var(--authority-soft); box-shadow:none; }
#screen-customers .report-launchpad .report-tab.active {
  --tab-color:var(--brand);
  --tab-soft:var(--brand-soft);
  color:var(--brand-strong);
  border-color:color-mix(in srgb,var(--brand),transparent 50%);
  background:var(--brand-soft);
  box-shadow:inset 0 3px 0 var(--brand);
}
#screen-customers .report-launchpad .report-tab-icon {
  width:38px;
  height:38px;
  color:var(--authority);
  border:0;
  border-radius:10px;
  background:var(--authority-soft);
}
#screen-customers .report-launchpad .report-tab.active .report-tab-icon { color:#fff; border:0; background:var(--brand); }
#screen-customers .report-launchpad .report-tab-icon svg { width:19px; height:19px; }
#screen-customers .report-launchpad .report-tab-copy strong { font-size:12px; line-height:1.15; }
#screen-customers .report-launchpad .report-tab-copy small { margin-top:2px; color:var(--muted); font-size:8px; line-height:1.2; }
#screen-customers .report-launchpad .report-tab.active .report-tab-copy small { color:var(--muted); }
#screen-customers .report-launchpad .report-tab-arrow,
#screen-customers .report-launchpad .report-tab.active .report-tab-arrow { width:18px; height:18px; color:var(--muted); background:transparent; }
.report-view-context { display:none; }
.report-panel { min-height:220px; }

/* Filters use progressive disclosure without explanatory paragraphs. */
.report-filter-card { gap:11px; margin-bottom:12px; padding:13px; border-top:1px solid var(--border); border-left:3px solid var(--authority); border-radius:14px; box-shadow:none; }
.filter-heading { padding-bottom:9px; }
.filter-heading > div > div > span { display:none; }
.filter-heading strong { font-size:13px; }
.report-code { width:40px; height:40px; font-size:8px; }
.period-control { gap:8px; padding:10px; border-radius:12px; }
.report-filter-card .period-control .report-date-grid { grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr); gap:5px; }
.report-filter-card .period-control .report-date-grid label { gap:2px; padding:7px 8px; }
.report-filter-card .period-control .report-date-grid label:first-child { grid-column:1; }
.report-filter-card .period-control .report-date-grid label:last-child { grid-column:3; }
.report-filter-card .period-control .report-date-grid input { min-height:36px; font-size:11px; }
.report-filter-card .period-arrow { width:18px; display:grid !important; place-items:center; grid-column:2; font-size:10px; }
.report-run-button { min-height:48px; }

/* Today: compact command strip and scannable status cards. */
.today-command-hero {
  padding:14px;
  border-top:4px solid var(--brand);
  border-radius:16px;
  background:var(--authority-strong);
  box-shadow:var(--shadow-sm);
}
.today-command-title { margin:10px 0 11px; }
.today-command-title h2 { margin:2px 0; font-size:21px; }
.today-command-title p { font-size:10px; line-height:1.35; }
.today-command-top > div { font-size:8px; }
.today-command-hero .command-refresh { min-height:40px; padding:7px 10px; border-radius:10px; }
.today-command-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.today-command-metrics .report-metric {
  min-height:76px;
  grid-template-columns:30px minmax(0,1fr);
  gap:7px;
  padding:9px;
  border-left-width:2px;
  border-radius:10px;
}
.today-command-metrics .report-metric-icon { width:30px; height:30px; border-radius:8px; }
.today-command-metrics .report-metric-icon svg { width:16px; height:16px; }
.today-command-metrics .report-metric strong { font-size:17px; }
.today-command-metrics .report-metric span { font-size:8px; }
.today-command-metrics .report-metric small { font-size:7px; }
.operational-position-section {
  margin-top:10px;
  padding:13px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface);
}
.report-block-heading { gap:10px; padding-bottom:8px; }
.report-block-heading h2 { font-size:16px; }
.report-block-heading > span { font-size:8px; }
#screen-customers .operational-position-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
#screen-customers .operational-position-grid > button {
  min-height:72px;
  grid-template-columns:30px minmax(0,1fr) 16px;
  gap:7px;
  padding:9px;
  border-left-width:3px;
  border-radius:11px;
}
#screen-customers .operational-position-grid .operation-position-icon { width:30px; height:30px; border-radius:8px; }
#screen-customers .operational-position-grid .operation-position-icon svg { width:17px; height:17px; }
#screen-customers .operational-position-grid .operation-position-copy strong { font-size:18px; }
#screen-customers .operational-position-grid .operation-position-copy b { font-size:10px; }
#screen-customers .operational-position-grid .operation-position-copy small { margin-top:0; font-size:7px; }

@media (min-width:900px) {
  #screen-customers .operational-position-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
.today-attention { margin:9px 0; padding:10px 12px; border-radius:12px; }
.today-attention strong { font-size:11px; }
.today-attention span { font-size:8px; }

/* Person route: the row itself is the single action. */
.today-people-section { margin-top:14px; }
.today-people-list { gap:10px; }
.today-person-card { border-radius:15px; box-shadow:none; }
.today-person-card > header { gap:9px; padding:11px 12px; }
.today-avatar { width:40px; height:40px; }
.today-person-identity strong { font-size:13px; }
.today-person-identity span,.today-person-identity small { font-size:8.5px; }
.today-person-card .status-pill { min-height:30px; padding:5px 8px; font-size:8px; }
.today-person-numbers { padding:7px 10px; }
.today-person-numbers span { padding:4px 8px; font-size:7.5px; }
.today-person-numbers strong { font-size:11px; }
.today-route-timeline { padding:5px 8px 8px; }
.today-visit-row {
  grid-template-columns:30px 62px minmax(0,1fr) 58px 18px;
  gap:7px;
  min-height:64px;
  padding:7px 5px;
}
.today-visit-sequence { width:28px; height:28px; border-radius:8px; }
.today-visit-time { font-size:10px; }
.today-customer-link {
  display:-webkit-box;
  overflow:hidden;
  font-size:11px;
  line-height:1.25;
  text-decoration:none;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.today-visit-copy small { margin-top:1px; font-size:7.5px; }
.today-visit-facts { min-width:0; }
.today-visit-facts strong { font-size:9px; }
.today-visit-facts small { font-size:7px; }
.today-visit-action { display:none !important; }

/* Team report: remove oversized export/action and reduce card height. */
.team-report-hero,.management-hero,.customer-report-hero { padding:14px; border-radius:16px; box-shadow:var(--shadow-sm); }
.report-hero-top,.management-hero-head { gap:10px; }
.report-hero-top h2,.management-hero-head h2 { font-size:20px; }
.report-hero-top p,.management-hero-head p { font-size:9px; }
.report-metric-grid { gap:7px; }
.report-metric {
  min-height:76px;
  grid-template-columns:30px minmax(0,1fr);
  gap:7px;
  padding:9px;
  border-left-width:3px;
  border-radius:11px;
}
.report-metric-icon { width:30px; height:30px; border-radius:8px; }
.report-metric-icon svg { width:16px; height:16px; }
.report-metric strong { font-size:17px; }
.report-metric span { font-size:8px; }
.report-metric small { font-size:7px; }
.executive-allocation { margin-top:9px; padding:9px; border-radius:11px; }
.allocation-copy strong { font-size:10px; }
.allocation-copy span,.allocation-legend { font-size:7.5px; }
.report-block,.people-performance-section,.management-card,.report-timeline { padding:13px; border-radius:15px; box-shadow:none; }
.report-export-actions.single { grid-template-columns:minmax(0,360px); }
.report-export-actions button { min-height:48px; padding:9px 13px; border-radius:12px !important; }
.report-export-actions button > svg { width:19px; height:19px; }
.report-export-actions button span strong { font-size:11px; }
.report-export-actions button span small { font-size:7.5px; }
.report-export-actions .primary-button { color:var(--authority); border-color:var(--border-strong); background:var(--surface); box-shadow:none; }
.report-export-actions .primary-button:hover { color:#fff; border-color:var(--authority); background:var(--authority); }
.people-report-list { gap:9px; }
.person-report-card { padding:11px; border-left-width:2px; border-radius:14px; box-shadow:none; }
.person-rank { top:8px; right:9px; font-size:7px; }
.person-report-head { gap:8px; padding-right:14px; }
.person-report-head .person-avatar { width:40px; height:40px; border-radius:11px; }
.person-report-head strong { font-size:13px; line-height:1.25; }
.person-report-head > div span { font-size:8px; }
.person-report-head > div small { font-size:7.5px; }
.person-report-head .status-pill { min-height:29px; padding:4px 7px; font-size:7.5px; }
.person-scoreline { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; margin-top:9px; }
.person-scoreline span { min-height:44px; padding:7px; border-radius:9px; font-size:7.5px; }
.person-scoreline strong { font-size:12px; }
.time-allocation { margin-top:7px; padding:8px; border-radius:9px; }
.time-allocation > div:last-child { gap:7px; margin-top:5px; font-size:7.5px; }
.person-card-footer { margin-top:7px; padding-top:7px; }
.report-kpi-strip.compact { gap:4px; }
.report-kpi-strip .chip { min-height:26px; padding:4px 7px; font-size:7px; }
.report-kpi-strip .chip.clear { color:var(--muted); background:var(--canvas); }
.person-open { width:32px; height:32px; display:grid; place-items:center; color:var(--muted); border-radius:9px; background:var(--authority-soft); }
.person-open svg { width:15px; height:15px; }

/* KPI detail: full width without clipping and one predictable back route. */
.kpi-detail-overlay,.kpi-detail-sheet,.kpi-detail-header,.kpi-detail-body { box-sizing:border-box; max-width:100%; overflow-x:hidden; }
.kpi-detail-sheet { width:min(100%,720px); }
.kpi-detail-header { grid-template-columns:auto minmax(0,1fr); padding:13px; }
.kpi-detail-title h2 { white-space:normal; overflow-wrap:anywhere; }
.kpi-detail-title p { white-space:normal; line-height:1.3; overflow-wrap:anywhere; }
.kpi-detail-status { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:12px; border-radius:13px; }
.kpi-detail-status em { justify-self:end; max-width:180px; }
.kpi-detail-facts > div { padding:9px; }
.kpi-detail-section { margin-top:12px; padding-top:12px; }
.kpi-detail-section-heading { grid-template-columns:minmax(0,1fr); gap:2px; }
.kpi-detail-section-heading > span { display:none; }
.kpi-detail-empty { min-height:60px; padding:10px; }
body.telegram-host.telegram-back-visible .kpi-detail-close { display:none; }
body.telegram-host.telegram-back-visible .kpi-detail-header {
  grid-template-columns:minmax(0,1fr);
  padding:max(76px,calc(var(--app-safe-top) + 54px)) max(14px,var(--app-safe-right)) 12px max(14px,var(--app-safe-left));
}

.bottom-nav {
  min-height:calc(64px + var(--app-safe-bottom));
  padding-top:5px;
  padding-bottom:calc(5px + var(--app-safe-bottom));
  border-radius:16px 16px 0 0;
}
.nav-item { min-height:54px; font-size:9px; }
.nav-item.active::after { top:3px; }

@media (max-width:720px) {
  .intelligence-header { min-height:82px; padding:11px 12px; }
  .intelligence-live { position:relative; top:auto; right:auto; }
  #screen-customers .report-launchpad { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #screen-customers .report-launchpad .report-tab {
    min-height:64px;
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 16px;
    align-items:center;
    gap:7px;
    padding:8px;
  }
  #screen-customers .report-launchpad .report-tab-icon { width:36px; height:36px; flex:0 0 36px; }
  #screen-customers .report-launchpad .report-tab-arrow { position:relative; top:auto; right:auto; }
  #screen-customers .operational-position-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-metric-grid.six { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .today-command-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .today-command-metrics .report-metric { min-height:70px; }
}

@media (max-width:430px) {
  body.telegram-host.telegram-back-visible .topbar {
    padding-left:max(126px,calc(var(--app-safe-left) + 126px));
    padding-right:max(68px,calc(var(--app-safe-right) + 68px));
  }
  .intelligence-header { min-height:66px; padding:9px 10px; }
  .intelligence-logo { width:54px; height:34px; flex-basis:54px; }
  .intelligence-logo img { width:86px; height:86px; }
  .intelligence-brand .eyebrow { font-size:7px; }
  .intelligence-header h1 { font-size:17px; }
  .intelligence-header p { display:none; }
  .intelligence-live small { display:none; }
  #screen-customers .report-launchpad .report-tab { min-height:54px; grid-template-columns:32px minmax(0,1fr) 14px; padding:7px; }
  #screen-customers .report-launchpad .report-tab-icon { width:32px; height:32px; flex-basis:32px; border-radius:8px; }
  #screen-customers .report-launchpad .report-tab-copy small { display:none; }
  #screen-customers .report-launchpad .report-tab-copy strong { font-size:11px; }
  .today-command-title p { display:none; }
  .today-command-metrics .report-metric { min-height:64px; }
  .report-filter-card .period-control .report-date-grid { grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr); }
  .report-filter-card .period-control .report-date-grid label { padding:6px; }
  .report-filter-card .period-control .report-date-grid input { min-height:34px; font-size:10px; }
  .report-filter-card .period-arrow { width:14px; }
  .today-person-card > header { grid-template-columns:auto minmax(0,1fr); }
  .today-person-card > header .status-pill { grid-column:2; justify-self:start; }
  .today-person-numbers { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
  .today-person-numbers span:nth-child(3) { border-left:0; }
  .today-visit-row { grid-template-columns:28px 54px minmax(0,1fr) 48px 16px; gap:5px; }
  .today-visit-time { font-size:9px; }
  .today-customer-link { font-size:10px; }
  .today-visit-copy small { max-width:100%; }
  .person-report-head { grid-template-columns:auto minmax(0,1fr); }
  .person-report-head .status-pill { grid-column:2; justify-self:start; }
  .person-scoreline { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kpi-detail-status { grid-template-columns:minmax(0,1fr); gap:8px; }
  .kpi-detail-status em { justify-self:start; max-width:100%; }
}

@media (orientation:landscape) and (max-height:520px) {
  body.telegram-host.telegram-back-visible .topbar { min-height:58px; }
  .intelligence-header { min-height:66px; padding:8px 12px; }
  .intelligence-header p { display:none; }
  body.telegram-host.telegram-back-visible .kpi-detail-header { padding:max(10px,var(--app-safe-top)) max(14px,var(--app-safe-right)) 10px max(14px,var(--app-safe-left)); }
}

@media (prefers-reduced-motion:reduce) {
  .kpi-detail-overlay,.kpi-detail-sheet,.report-tab,.today-visit-row,.person-report-card { animation:none !important; transition:none !important; }
}

/* v38 — reporting hierarchy rebuilt for decisive mobile scanning. */
.intelligence-header {
  grid-template-columns:minmax(0,1fr) auto;
  min-height:64px;
  gap:10px;
  padding:10px 14px;
}
.intelligence-brand { min-width:0; gap:9px; }
.intelligence-logo { width:42px; height:42px; flex:0 0 42px; border-radius:11px; }
.intelligence-logo img { width:56px; height:56px; }
.intelligence-brand .eyebrow { font-size:7px; }
.intelligence-header h1 { font-size:19px; }
.intelligence-header p { display:none; }
.intelligence-live {
  position:static !important;
  grid-column:2 !important;
  width:auto !important;
  min-width:0;
  min-height:32px;
  justify-self:end;
  align-self:center;
  justify-content:center;
  align-items:center;
  padding:6px 9px !important;
  border:1px solid color-mix(in srgb,var(--success),transparent 76%);
  border-radius:999px;
  background:color-mix(in srgb,var(--success-soft),var(--surface) 38%);
}
.intelligence-live small { display:none; }

/* Date presets stay visible; the actual range fields only open for Custom. */
.report-filter-card { gap:8px; padding:11px 12px; }
.report-filter-card > label { margin-top:1px; font-size:11px; font-weight:800; }
.filter-heading { min-height:38px; padding-bottom:7px; }
.filter-heading .filter-step { display:none; }
.period-control { gap:7px; padding:8px; border-radius:11px; }
.period-control-head { min-height:24px; }
.period-control-head > div { gap:6px; }
.period-control-head > div svg { width:15px; height:15px; }
.period-control-head strong { font-size:11px; }
.period-control-head > span { padding:3px 7px; font-size:8px; }
.period-control .report-date-grid { display:none !important; }
.period-control.custom-range-open .report-date-grid { display:grid !important; }
.period-control.custom-range-open .report-date-grid input { min-height:44px !important; }
.period-control .date-presets { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:5px; }
.period-control .date-presets button { min-height:40px; padding:6px 4px; border-radius:9px; font-size:9px; }
.report-search { min-height:50px; border-radius:12px; }
.report-search input { min-height:48px; padding-top:0; padding-bottom:0; font-size:15px; }
.report-search .search-icon { transform:scale(.78); }

/* One customer header, one performance summary, one visit history. */
.customer-report-v38 { display:grid; gap:10px; width:100%; min-width:0; }
.customer-report-summary,
.customer-period-overview,
.customer-visit-history {
  min-width:0;
  padding:13px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface);
  box-shadow:none;
}
.customer-report-summary { border-top:4px solid var(--brand); }
.customer-report-toolbar { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:10px; border-bottom:1px solid var(--border); }
.customer-report-toolbar .report-back { min-height:42px; padding:8px 11px; color:var(--authority); border:1px solid var(--border-strong); border-radius:10px; background:var(--surface-raised); }
.customer-report-toolbar .report-back svg { width:17px; height:17px; }
.customer-report-toolbar .report-period { min-height:32px; margin:0; padding:6px 8px; font-size:8px; white-space:nowrap; }
.customer-summary-identity { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:10px; padding:12px 0 10px; }
.customer-code-badge { width:44px; height:44px; display:grid; place-items:center; color:var(--authority); border-radius:11px; background:var(--authority-soft); font-size:9px; font-weight:900; }
.customer-summary-identity .eyebrow { font-size:7px; }
.customer-summary-identity h2 { margin:2px 0 3px; font-size:19px; line-height:1.17; overflow-wrap:anywhere; }
.customer-summary-identity p { margin:0; color:var(--muted); font-size:9px; line-height:1.35; }
.customer-context-strip { display:grid; grid-template-columns:1.15fr .8fr 1.2fr .85fr; gap:6px; }
.customer-context-strip > span { min-width:0; padding:8px 9px; border:1px solid var(--border); border-radius:9px; background:var(--canvas); }
.customer-context-strip small,.customer-context-strip strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.customer-context-strip small { color:var(--muted); font-size:7px; font-weight:800; text-transform:uppercase; }
.customer-context-strip strong { margin-top:2px; font-size:11px; }
.customer-context-strip .last-visit { border-color:color-mix(in srgb,var(--authority),transparent 70%); background:var(--authority-soft); }
.customer-context-strip .last-visit strong { color:var(--authority); }
.customer-period-overview .report-block-heading { margin:0 0 8px; padding-bottom:7px; }
.customer-period-overview .report-block-heading h2 { font-size:15px; }
.customer-overview-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.customer-overview-metrics > div { min-width:0; padding:9px 8px; border-left:2px solid var(--authority); border-radius:9px; background:var(--canvas); }
.customer-overview-metrics strong,.customer-overview-metrics span,.customer-overview-metrics small { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.customer-overview-metrics strong { font-size:15px; line-height:1.1; white-space:nowrap; }
.customer-overview-metrics span { margin-top:3px; color:var(--ink); font-size:8px; font-weight:800; }
.customer-overview-metrics small { margin-top:2px; color:var(--muted); font-size:7px; white-space:nowrap; }
.customer-kpi-row { display:flex; align-items:center; gap:8px; min-height:38px; margin-top:7px; padding-top:7px; border-top:1px solid var(--border); }
.customer-kpi-row > span { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.customer-kpi-row .report-kpi-strip { flex:1; }
.customer-downloads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.customer-downloads button { min-height:50px; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:8px; padding:8px 11px; border-radius:11px; box-shadow:none; }
.customer-downloads button > svg { width:18px; height:18px; }
.customer-downloads button > span { min-width:0; display:grid; gap:1px; text-align:left; }
.customer-downloads button span strong { font-size:10px; line-height:1.2; }
.customer-downloads button span small { font-size:8px; line-height:1.2; }
.customer-visit-history .timeline-heading { margin-bottom:0; }
.customer-latest-visit {
  width:100%; min-height:72px;
  display:grid; grid-template-columns:38px minmax(0,1fr) 20px;
  align-items:center; gap:11px; padding:12px 14px;
  color:var(--ink);
  border:1px solid color-mix(in srgb,var(--warning),transparent 58%);
  border-radius:14px;
  background:linear-gradient(110deg,var(--warning-soft),var(--surface));
  text-align:left; cursor:pointer; touch-action:manipulation;
  transition:border-color 180ms ease,box-shadow 180ms ease,background 180ms ease;
}
.customer-latest-visit:hover,.customer-latest-visit:focus-visible { border-color:var(--warning); box-shadow:var(--shadow-sm); }
.customer-latest-visit > svg:first-child { width:38px; height:38px; padding:9px; color:var(--warning); border-radius:11px; background:var(--surface); }
.customer-latest-visit > span { min-width:0; display:grid; gap:2px; }
.customer-latest-visit small { color:var(--warning); font-size:8px; font-weight:900; letter-spacing:.06em; }
.customer-latest-visit strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.customer-latest-visit em { color:var(--muted); font-size:9px; font-style:normal; }
.customer-latest-visit > svg:last-child { width:18px; height:18px; color:var(--warning); }

.customer-history-visit {
  width:100%; min-height:148px;
  display:grid; grid-template-columns:42px minmax(0,1fr);
  align-items:start; gap:11px; margin-top:9px; padding:13px;
  color:var(--ink); border:1px solid var(--border); border-radius:15px;
  background:var(--surface); text-align:left; cursor:pointer; touch-action:manipulation;
  transition:border-color 180ms ease,box-shadow 180ms ease,background 180ms ease;
}
.customer-history-visit:hover,.customer-history-visit:focus-visible {
  border-color:var(--authority);
  background:color-mix(in srgb,var(--authority-soft),var(--surface) 72%);
  box-shadow:var(--shadow-sm);
}
.customer-history-visit:active { background:var(--authority-soft); }
.customer-history-main { min-width:0; display:grid; gap:9px; }
.customer-history-top { min-width:0; display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
.customer-history-top > span:first-child { min-width:0; }
.customer-history-top small,.customer-history-top strong,.customer-history-top em { display:block; }
.customer-history-top small { color:var(--authority); font-size:9px; font-weight:850; font-variant-numeric:tabular-nums; }
.customer-history-top strong { overflow:hidden; margin-top:2px; font-size:12px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.customer-history-top em { overflow:hidden; margin-top:2px; color:var(--muted); font-size:9px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.customer-history-facts {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--border); border-radius:10px; background:var(--canvas);
}
.customer-history-facts > span {
  min-width:0; display:grid; grid-template-columns:14px minmax(0,1fr);
  align-items:center; gap:1px 5px; padding:7px 8px; border-right:1px solid var(--border);
}
.customer-history-facts > span:last-child { border-right:0; }
.customer-history-facts svg { grid-row:1 / span 2; width:14px; height:14px; color:var(--authority); }
.customer-history-facts b { overflow:hidden; font-size:10px; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }
.customer-history-facts small { overflow:hidden; color:var(--muted); font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.customer-history-kpis { min-height:22px; display:flex; flex-wrap:wrap; gap:4px; }
.customer-history-open {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding-top:8px; border-top:1px solid var(--border); color:var(--authority);
}
.customer-history-open > span { min-width:0; }
.customer-history-open strong,.customer-history-open small { display:block; }
.customer-history-open strong { font-size:10px; }
.customer-history-open small { overflow:hidden; margin-top:1px; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.customer-history-open > svg { flex:0 0 auto; width:17px; height:17px; }
body.customer-detail-open .bottom-nav { display:none; }
body.customer-detail-open .app-shell { padding-bottom:max(18px,var(--app-safe-bottom)); }
body.customer-detail-open #screen-customers > .intelligence-header,
body.customer-detail-open #screen-customers > .report-launchpad,
body.customer-detail-open #screen-customers > .report-view-context,
body.customer-detail-open #reportPanelCustomer > .report-filter-card,
body.customer-detail-open #historyResults { display:none !important; }
body.customer-detail-open #screen-customers { padding-top:8px; }

/* KPI detail always has its own visible, reliable Back action. */
body.telegram-host.telegram-back-visible .kpi-detail-close,
.kpi-detail-close { display:inline-flex !important; min-height:42px; align-items:center; justify-content:center; gap:6px; padding:8px 10px; border:1px solid rgba(255,255,255,.24); border-radius:10px; }
body.telegram-host.telegram-back-visible .kpi-detail-header {
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:max(70px,calc(var(--app-safe-top) + 50px)) max(12px,var(--app-safe-right)) 12px max(12px,var(--app-safe-left));
}
.kpi-detail-title { min-width:0; gap:8px; }
.kpi-detail-icon { width:38px; height:38px; flex:0 0 38px; border-radius:10px; }
.kpi-detail-title .eyebrow { font-size:7px; }
.kpi-detail-title h2 { font-size:18px; }
.kpi-detail-title p { font-size:8px; }
.kpi-detail-body { padding:12px; }
.kpi-detail-status { padding:10px; }
.kpi-detail-status strong { font-size:18px; }
.kpi-detail-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.kpi-detail-facts > div { min-width:0; border-radius:9px; }
.kpi-detail-facts strong { overflow-wrap:anywhere; }
.kpi-detail-section { margin-top:10px; padding-top:10px; }
.kpi-detail-section-heading h3 { font-size:14px; }
.kpi-detail-empty.compact { min-height:54px; }

@media (max-width:430px) {
  .intelligence-header { min-height:58px; padding:8px 10px; }
  .intelligence-logo { width:36px; height:36px; flex-basis:36px; }
  .intelligence-logo img { width:48px; height:48px; }
  .intelligence-header h1 { font-size:17px; }
  .intelligence-live { min-height:30px; padding:5px 8px !important; }
  .period-control.custom-range-open .report-date-grid { grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) !important; }
  .period-control.custom-range-open .period-arrow { display:grid !important; grid-column:2; }
  .customer-report-toolbar { align-items:flex-start; flex-direction:column; }
  .customer-report-toolbar .report-period { align-self:stretch; justify-content:center; }
  .customer-context-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-overview-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-downloads { grid-template-columns:1fr 1fr; }
  .customer-history-visit { grid-template-columns:38px minmax(0,1fr); padding:11px; }
  .customer-history-facts > span { padding:7px 5px; }
  body.telegram-host.telegram-back-visible .kpi-detail-header { padding-top:max(68px,calc(var(--app-safe-top) + 48px)); }
  .kpi-detail-close span { display:inline; }
}

@media (orientation:landscape) and (max-height:520px) {
  body.telegram-host.telegram-back-visible .kpi-detail-header { padding:max(8px,var(--app-safe-top)) max(12px,var(--app-safe-right)) 8px max(12px,var(--app-safe-left)); }
}

/* v39 — durable previous-day report handover for Angelica. */
.final-report-receipt-modal { max-width:560px; }
.final-report-receipt {
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:14px 16px;
  padding:18px;
  border:1px solid var(--border);
  border-top:4px solid var(--brand);
  border-radius:16px;
  background:var(--surface);
}
.receipt-status-mark {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  color:var(--brand);
  border-radius:14px;
  background:var(--brand-soft);
}
.receipt-status-mark svg { width:25px; height:25px; stroke-width:1.8; }
.receipt-status-copy { min-width:0; align-self:center; }
.receipt-status-copy h3 { margin:3px 0 4px; color:var(--ink); font-size:20px; line-height:1.15; }
.receipt-status-copy p { margin:0; color:var(--muted); font-size:13px; line-height:1.45; }
.receipt-facts {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:0;
}
.receipt-facts > div { min-width:0; padding:11px 12px; border:1px solid var(--border); border-radius:11px; background:var(--canvas); }
.receipt-facts dt { margin:0 0 4px; color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.receipt-facts dd { margin:0; color:var(--ink); font-size:12px; font-weight:800; line-height:1.35; overflow-wrap:anywhere; }
.receipt-state { color:#8a5a00; }
.receipt-approval {
  grid-column:1/-1;
  min-height:64px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  gap:11px;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--brand),transparent 62%);
  border-radius:12px;
  background:var(--brand-soft);
  cursor:pointer;
}
.receipt-approval input { width:20px; height:20px; accent-color:var(--brand); }
.receipt-approval span { display:grid; gap:3px; }
.receipt-approval strong { color:var(--ink); font-size:12px; line-height:1.35; }
.receipt-approval small { color:var(--muted); font-size:10px; line-height:1.35; }
.receipt-actions { grid-column:1/-1; display:grid; grid-template-columns:.8fr 1.2fr; gap:8px; }
.receipt-actions button,.receipt-done { min-height:48px; }
.receipt-done { grid-column:1/-1; }
.final-report-receipt.is-confirmed { border-top-color:var(--accent); }
.final-report-receipt.is-confirmed .receipt-status-mark { color:var(--accent); background:var(--accent-soft); }
.final-report-receipt.is-confirmed .receipt-state { color:var(--accent); }
.receipt-confirmed-at { grid-column:1/-1; }

@media (max-width:430px) {
  .final-report-receipt { grid-template-columns:44px minmax(0,1fr); gap:12px; padding:13px; }
  .receipt-status-mark { width:44px; height:44px; border-radius:11px; }
  .receipt-status-copy h3 { font-size:17px; }
  .receipt-status-copy p { font-size:11px; }
  .receipt-facts { grid-template-columns:1fr; }
  .receipt-facts > div { padding:9px 10px; }
  .receipt-actions { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .final-report-receipt *, .final-report-receipt *::before, .final-report-receipt *::after { transition-duration:.01ms !important; }
}

/* v43 — evidence viewer navigation stays clear of Telegram's native chrome.
   Telegram owns the top Back/Close/menu band, so the in-page Back action lives
   in the persistent footer and the title starts below the native controls. */
.evidence-lightbox-header {
  min-width:0;
  justify-content:flex-start;
}
.evidence-lightbox-header > div { min-width:0; }
.evidence-lightbox-header h2 { overflow-wrap:anywhere; }
.evidence-lightbox-footer {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
}
.evidence-lightbox-footer .evidence-viewer-close { min-width:132px; }
body.telegram-host.telegram-back-visible .evidence-lightbox-header {
  padding-top:max(76px,calc(var(--app-safe-top) + 54px));
}

@media (max-width:520px) {
  .evidence-lightbox-footer {
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:10px max(12px,var(--app-safe-right)) max(12px,var(--app-safe-bottom)) max(12px,var(--app-safe-left));
  }
  .evidence-lightbox-footer > div { grid-column:1/-1; }
  .evidence-lightbox-footer strong { max-width:100%; }
  .evidence-lightbox-footer .evidence-viewer-button { width:100%; min-width:0; }
  body.telegram-host.telegram-back-visible .evidence-lightbox-header {
    padding-top:max(78px,calc(var(--app-safe-top) + 56px));
  }
}

@media (orientation:landscape) and (max-height:560px) {
  body.telegram-host.telegram-back-visible .evidence-lightbox-header {
    padding-top:max(52px,calc(var(--app-safe-top) + 40px));
  }
  .evidence-lightbox-footer > div { display:none; }
  .evidence-lightbox-footer { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* Operational Inbox v1 — visit-specific feedback, threaded replies, and resolution */
.inbox-button{position:relative;flex:0 0 auto;color:var(--authority)}
.inbox-button>span{display:grid;place-items:center}.inbox-button svg,.inbox-refresh svg{width:21px;height:21px}
.inbox-badge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;color:#fff;border:2px solid var(--surface);border-radius:999px;background:var(--brand);font-size:9px;font-weight:900;line-height:1;box-shadow:0 3px 9px rgba(159,23,27,.32)}
.inbox-nav-icon{position:relative;display:grid;place-items:center;overflow:visible}
.inbox-nav-icon>span{display:grid;place-items:center}
.inbox-nav-item .inbox-badge{top:-8px;right:-12px;border-color:var(--surface)}

/* v46 — person-to-store operational drill-down */
.person-activity-link{width:100%;min-height:56px;display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:10px 16px;text-align:left;color:var(--authority);border:0;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--authority-soft),var(--surface) 58%);cursor:pointer;touch-action:manipulation}
.person-activity-link>span:first-child,.person-activity-link>svg{display:grid;place-items:center}.person-activity-link svg{width:21px;height:21px}.person-activity-link strong,.person-activity-link small{display:block}.person-activity-link strong{font-size:12px}.person-activity-link small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.35}.person-activity-link:hover{background:var(--authority-soft)}
.person-visit-section{overflow:hidden;margin:16px 0;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm)}
.person-visit-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border);background:linear-gradient(115deg,var(--surface),var(--authority-soft))}.person-route-avatar{width:46px;height:46px;border-radius:13px}.person-visit-heading h2{margin:2px 0 0;font-size:18px}.person-visit-heading p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.person-route-count{min-width:42px;height:42px;display:grid;place-items:center;color:#fff;border-radius:13px;background:var(--authority);font-size:16px;font-weight:850;font-variant-numeric:tabular-nums}
.person-visit-guide{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:11px 16px;color:var(--authority);border-bottom:1px solid var(--border);background:var(--authority-soft);font-size:10px;line-height:1.4}.person-visit-guide svg{width:22px;height:22px}
.person-visit-list{display:grid}.person-visit-row{width:100%;min-height:76px;display:grid;grid-template-columns:34px 82px minmax(0,1fr) 82px 18px;align-items:center;gap:10px;padding:12px 14px;text-align:left;color:var(--ink);border:0;border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;touch-action:manipulation}.person-visit-row:last-child{border-bottom:0}.person-visit-row:hover{background:var(--canvas)}.person-visit-sequence{width:32px;height:32px;display:grid;place-items:center;color:var(--authority);border:1px solid var(--border-strong);border-radius:10px;background:var(--authority-soft);font-size:9px;font-weight:850}.person-visit-when,.person-visit-store,.person-visit-result{min-width:0}.person-visit-when strong,.person-visit-when small,.person-visit-store strong,.person-visit-store small,.person-visit-result strong,.person-visit-result small{display:block}.person-visit-when strong,.person-visit-store strong,.person-visit-result strong{font-size:11px}.person-visit-when small,.person-visit-store small,.person-visit-result small{margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.35}.person-visit-store strong,.person-visit-store small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-visit-result{text-align:right}.person-visit-chevron svg{width:17px;height:17px;color:var(--muted)}
@media(max-width:620px){.person-visit-row{grid-template-columns:32px minmax(0,1fr) 68px 16px;grid-template-rows:auto auto;gap:8px;padding:11px 12px}.person-visit-sequence{grid-column:1;grid-row:1/3}.person-visit-when{grid-column:2;grid-row:1}.person-visit-store{grid-column:2;grid-row:2}.person-visit-result{grid-column:3;grid-row:1/3}.person-visit-chevron{grid-column:4;grid-row:1/3}.person-visit-heading{padding:13px}.person-visit-heading p{font-size:9px}.person-activity-link{padding-inline:13px}}
.inbox-screen{padding-bottom:calc(var(--nav-height) + 40px)}
.inbox-masthead{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:11px;margin:0 0 18px}.inbox-masthead h1{margin:2px 0 0;color:var(--ink);font-size:clamp(25px,7vw,35px);line-height:1.05;letter-spacing:-.04em}.inbox-masthead p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.inbox-stats{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;margin-bottom:13px;color:#fff;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:linear-gradient(135deg,#0a2236,#13374e);box-shadow:0 14px 34px rgba(9,34,53,.16)}.inbox-stats div{min-width:0;padding:15px 12px;text-align:center;border-right:1px solid rgba(255,255,255,.1)}.inbox-stats div:last-child{border-right:0}.inbox-stats strong,.inbox-stats span{display:block}.inbox-stats strong{font-size:24px;letter-spacing:-.04em}.inbox-stats span{margin-top:2px;color:#b8cbd8;font-size:10px;font-weight:720;text-transform:uppercase;letter-spacing:.06em}.inbox-stats .has-unread strong{color:#ffbdc0}
.inbox-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:14px;padding:5px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.inbox-filters button{min-height:42px;padding:8px 5px;color:var(--muted);border:0;border-radius:10px;background:transparent;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.inbox-filters button.active{color:#fff;background:var(--authority);box-shadow:0 5px 14px rgba(12,42,65,.18)}
.inbox-list{display:grid;gap:10px}.inbox-thread-card{width:100%;min-height:118px;display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:11px;padding:14px;text-align:left;color:var(--ink);border:1px solid var(--border);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer}.inbox-thread-card.unread{border-color:color-mix(in srgb,var(--brand),transparent 55%);box-shadow:inset 4px 0 0 var(--brand),var(--shadow-sm)}
.inbox-thread-icon{position:relative;width:44px;height:44px;display:grid;place-items:center;color:var(--authority);border-radius:13px;background:var(--authority-soft)}.inbox-thread-icon svg{width:22px;height:22px}.inbox-thread-icon i{position:absolute;top:-1px;right:-1px;width:10px;height:10px;border:2px solid var(--surface);border-radius:50%;background:var(--brand)}
.inbox-thread-main{min-width:0;display:block}.inbox-thread-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.inbox-thread-top strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.inbox-thread-main>small,.inbox-thread-main>p,.inbox-thread-meta{display:block}.inbox-thread-main>small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:700}.inbox-thread-main>p{display:-webkit-box;overflow:hidden;margin:8px 0 5px;color:var(--ink);font-size:12px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.inbox-thread-meta{color:var(--muted);font-size:9px}
.inbox-status{flex:0 0 auto;padding:5px 7px;border-radius:999px;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.inbox-status.status-open{color:var(--warning);background:var(--warning-soft)}.inbox-status.status-replied{color:#08725a;background:#e0f7ef}.inbox-status.status-resolved{color:var(--muted);background:var(--canvas)}.inbox-thread-arrow{color:var(--muted)}.inbox-thread-arrow svg{width:20px}
.visit-feedback-button{width:100%;min-height:66px;display:grid;grid-template-columns:32px minmax(0,1fr) 22px;align-items:center;gap:10px;margin-top:16px;padding:12px 13px;text-align:left;color:#fff;border:0;border-radius:15px;background:linear-gradient(135deg,var(--brand),#721018);box-shadow:0 10px 24px rgba(159,23,27,.2);cursor:pointer}.visit-feedback-button>svg{width:25px;height:25px}.visit-feedback-button span{min-width:0}.visit-feedback-button strong,.visit-feedback-button small{display:block}.visit-feedback-button strong{font-size:13px}.visit-feedback-button small{margin-top:3px;color:rgba(255,255,255,.75);font-size:9.5px;line-height:1.3}
.feedback-context,.thread-visit-context,.thread-assignment{display:grid;align-items:center;gap:11px;border:1px solid var(--border);border-radius:15px;background:var(--canvas)}.feedback-context{grid-template-columns:42px minmax(0,1fr);margin-bottom:16px;padding:13px}.feedback-context>span{width:42px;height:42px;display:grid;place-items:center;color:var(--brand);border-radius:12px;background:var(--brand-soft)}.feedback-context svg{width:22px}.feedback-context strong,.feedback-context small,.feedback-context em{display:block}.feedback-context strong{font-size:14px}.feedback-context small{margin-top:2px;color:var(--muted);font-size:10px}.feedback-context em{margin-top:6px;color:var(--authority);font-size:10px;font-style:normal;font-weight:800}
.feedback-field{display:grid;gap:7px;margin-top:13px}.feedback-field>span{color:var(--ink);font-size:12px;font-weight:800}.feedback-field textarea{min-height:130px;resize:vertical}.feedback-field>small{color:var(--muted);font-size:9px;text-align:right}.feedback-delivery-note{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;margin-top:14px;padding:12px;color:#086b55;border:1px solid #b6e7d9;border-radius:13px;background:#eaf9f4}.feedback-delivery-note svg{width:24px}.feedback-delivery-note strong,.feedback-delivery-note small{display:block}.feedback-delivery-note small{margin-top:2px;color:#477268;font-size:10px;line-height:1.35}
.inbox-thread-modal{max-width:660px}.thread-visit-context{grid-template-columns:48px minmax(0,1fr) auto;padding:13px}.thread-store-code{width:46px;height:46px;display:grid;place-items:center;color:#fff;border-radius:13px;background:var(--authority);font-size:11px;font-weight:900}.thread-visit-context strong,.thread-visit-context small,.thread-visit-context em{display:block}.thread-visit-context strong{font-size:14px}.thread-visit-context small{margin-top:2px;color:var(--muted);font-size:10px}.thread-visit-context em{margin-top:5px;color:var(--brand);font-size:9px;font-style:normal;font-weight:800}
.thread-assignment{grid-template-columns:32px minmax(0,1fr);margin-top:10px;padding:11px 13px;color:var(--authority)}.thread-assignment>span svg{width:22px}.thread-assignment small,.thread-assignment strong{display:block}.thread-assignment small{font-size:8px;letter-spacing:.07em}.thread-assignment strong{margin-top:2px;color:var(--ink);font-size:11px}.inbox-conversation{display:grid;gap:10px;margin:18px 0}.inbox-message{max-width:88%;padding:11px 13px;border:1px solid var(--border);border-radius:5px 15px 15px 15px;background:var(--canvas)}.inbox-message.own{justify-self:end;border-color:color-mix(in srgb,var(--authority),transparent 72%);border-radius:15px 5px 15px 15px;background:var(--authority-soft)}.inbox-message header{display:flex;justify-content:space-between;gap:12px}.inbox-message header strong{font-size:10px}.inbox-message header span{color:var(--muted);font-size:8px}.inbox-message p{margin:7px 0 0;color:var(--ink);font-size:12px;line-height:1.5;white-space:pre-wrap}
.thread-reply{display:grid;gap:7px;padding-top:14px;border-top:1px solid var(--border)}.thread-reply span{font-size:11px;font-weight:850}.thread-reply textarea{min-height:96px;resize:vertical}.thread-send,.thread-resolve{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:10px}.thread-send svg,.thread-resolve svg{width:20px}.thread-resolved{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:14px;color:#08725a;border:1px solid #b6e7d9;border-radius:14px;background:#eaf9f4}.thread-resolved svg{width:25px}.thread-resolved strong,.thread-resolved small{display:block}.thread-resolved small{margin-top:3px;color:#477268;font-size:10px}
[data-theme="dark"] .feedback-delivery-note,[data-theme="dark"] .thread-resolved{color:#90e0c9;border-color:#245e50;background:#153b33}[data-theme="dark"] .feedback-delivery-note small,[data-theme="dark"] .thread-resolved small{color:#a9c9bf}[data-theme="dark"] .inbox-status.status-replied{color:#90e0c9;background:#153b33}
@media(max-width:420px){.inbox-screen{padding-inline:12px}.inbox-masthead{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px}.inbox-masthead p{display:none}.inbox-thread-card{grid-template-columns:42px minmax(0,1fr) 18px;padding:12px}.thread-visit-context{grid-template-columns:44px minmax(0,1fr)}.thread-visit-context .inbox-status{grid-column:2;justify-self:start}}

/* Discussion is a complete operational case, not an isolated chat message. */
.inbox-thread-modal{width:min(calc(100% - 20px),780px);padding:0 18px calc(26px + env(safe-area-inset-bottom));background:#f4f7fa}
.inbox-thread-modal>.modal-handle{margin-top:10px}
.inbox-thread-modal>.modal-heading{position:sticky;z-index:8;top:0;margin:0 -18px 14px;padding:12px 18px 14px;background:color-mix(in srgb,#f4f7fa 94%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.discussion-case-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px;border-radius:22px 22px 10px 10px;color:#fff;background:linear-gradient(135deg,#091f33 0%,#123b50 100%);box-shadow:0 16px 35px rgba(9,31,51,.16)}
.discussion-case-hero .eyebrow{color:#7ee2ca}.discussion-case-hero h3{margin:7px 0 4px;font-size:22px;letter-spacing:-.025em}.discussion-case-hero p{max-width:490px;margin:0;color:#bfd0dd;font-size:12px;line-height:1.55}.discussion-case-hero .inbox-status{flex:none;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.discussion-visit-card,.discussion-case-section,.discussion-conversation-section,.discussion-visit-note{margin-top:12px;padding:18px;border:1px solid #d8e1e8;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,42,62,.055)}
.discussion-visit-card>header{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #e2e8ed}.discussion-visit-card>header small,.discussion-visit-card>header strong,.discussion-visit-card>header span{display:block}.discussion-visit-card>header small{color:var(--brand);font-size:9px;font-weight:900;letter-spacing:.12em}.discussion-visit-card>header strong{margin-top:3px;font-size:16px;line-height:1.25}.discussion-visit-card>header span{margin-top:4px;color:var(--muted);font-size:10px}.discussion-visit-card .visit-state{white-space:nowrap}
.discussion-owner{display:flex;align-items:center;gap:11px;margin-top:15px;padding:12px;border-radius:14px;background:#f2f6f8}.discussion-owner .person-avatar{flex:none;width:42px;height:42px}.discussion-owner small,.discussion-owner strong,.discussion-owner span{display:block}.discussion-owner small{color:#63717e;font-size:8px;font-weight:900;letter-spacing:.1em}.discussion-owner strong{margin-top:3px;font-size:12px}.discussion-owner span{margin-top:3px;color:var(--muted);font-size:10px}
.discussion-visit-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.discussion-visit-facts>div{min-height:70px;padding:11px;border:1px solid #dce4e9;border-radius:13px;background:#f8fafb}.discussion-visit-facts span,.discussion-visit-facts strong{display:block}.discussion-visit-facts span{color:var(--muted);font-size:9px;font-weight:750}.discussion-visit-facts strong{margin-top:6px;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.discussion-map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.discussion-map-actions>a,.discussion-map-actions>span{min-height:52px;display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:9px;padding:10px 12px;border:1px solid #bfe1d8;border-radius:13px;color:#08725a;background:#eef9f6;text-decoration:none}.discussion-map-actions .unavailable{border-color:#ead6ae;color:#88620e;background:#fff8e9}.discussion-map-actions svg{width:21px}.discussion-map-actions strong,.discussion-map-actions small{display:block}.discussion-map-actions strong{font-size:10px}.discussion-map-actions small{margin-top:2px;color:inherit;font-size:8px;opacity:.72}
.discussion-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.discussion-section-heading h3{margin:4px 0 0;font-size:16px;letter-spacing:-.015em}.discussion-section-heading p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.discussion-section-heading>span{color:var(--muted);font-size:9px;white-space:nowrap}
.discussion-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.discussion-evidence{position:relative;min-height:128px;overflow:hidden;padding:0;border:0;border-radius:13px;background:#e7edf1}.discussion-evidence img{width:100%;height:128px;display:block;object-fit:cover}.discussion-evidence>span{display:grid;min-height:128px;place-items:center;color:var(--muted);font-size:10px}.discussion-evidence em{position:absolute;right:7px;bottom:7px;left:7px;padding:5px 7px;overflow:hidden;color:#fff;border-radius:8px;background:rgba(6,25,39,.78);font-size:8px;font-style:normal;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.discussion-empty-evidence{display:flex;align-items:center;gap:11px;padding:15px;border:1px dashed #bccbd5;border-radius:14px;color:#6e7c88;background:#f4f7f9}.discussion-empty-evidence svg{width:27px}.discussion-empty-evidence strong,.discussion-empty-evidence small{display:block}.discussion-empty-evidence strong{font-size:11px}.discussion-empty-evidence small{margin-top:2px;font-size:9px}
.discussion-visit-note>span{color:var(--brand);font-size:9px;font-weight:900;letter-spacing:.12em}.discussion-visit-note p{margin:8px 0 0;font-size:12px;line-height:1.6;white-space:pre-wrap}.discussion-conversation-section{border-top:4px solid var(--authority)}.discussion-conversation-section .inbox-conversation{margin-bottom:0}.inbox-message.original{max-width:100%;border-color:#e2c68e;background:#fff9eb}.inbox-message .message-purpose{display:block;margin-bottom:7px;color:#8b630e;font-size:8px;font-weight:900;letter-spacing:.11em}
@media(max-width:620px){.inbox-thread-modal{width:100%;padding-inline:14px}.inbox-thread-modal>.modal-heading{margin-inline:-14px;padding-inline:14px}.discussion-case-hero{padding:17px}.discussion-case-hero p{display:none}.discussion-visit-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.discussion-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discussion-visit-card>header{grid-template-columns:48px minmax(0,1fr)}.discussion-visit-card>header .visit-state{grid-column:2;justify-self:start}.discussion-case-section,.discussion-conversation-section,.discussion-visit-card,.discussion-visit-note{padding:14px}}
/* Controlled initial SKU setup and immutable management audit */
.sku-expectation{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;margin:16px 0;padding:15px 16px;border:1px solid #e2c47e;border-left:4px solid #b47b08;border-radius:16px;background:#fff9e9;color:#654707}
.sku-expectation.met{border-color:#8bcbb9;border-left-color:#0a765f;background:#f0faf6;color:#075b4a}.sku-expectation-count{display:grid;place-items:center;min-height:56px;border-radius:12px;background:rgba(255,255,255,.82)}.sku-expectation-count strong{font-size:22px;line-height:1}.sku-expectation-count small{margin-top:4px;font-size:10px;font-weight:800}.sku-expectation>div>strong{display:block;font-size:14px;line-height:1.35}.sku-expectation p{margin:5px 0 0;color:inherit;font-size:12px;line-height:1.5;opacity:.86}
@media(max-width:430px){.sku-expectation{grid-template-columns:60px minmax(0,1fr);padding:13px}.sku-expectation-count{min-height:52px}}
[data-theme="dark"] .sku-expectation{background:#2d2615;color:#f6d88e;border-color:#6d5722}[data-theme="dark"] .sku-expectation.met{background:#0e2c25;color:#9de0cc;border-color:#277c68}[data-theme="dark"] .sku-expectation-count{background:rgba(0,0,0,.16)}
/* Branded, friendly SKU approval panel */
.sku-expectation{grid-template-columns:minmax(0,1fr);border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--surface-raised);color:var(--text);box-shadow:0 8px 24px rgba(16,40,59,.06)}
.sku-expectation.met{border-color:var(--border);border-left-color:var(--success);background:var(--surface-raised);color:var(--text)}
.sku-expectation-count{display:flex;justify-content:flex-start;gap:6px;min-height:auto;background:transparent}.sku-expectation-count strong{color:var(--brand);font-size:18px}.sku-expectation-count small{color:var(--muted);font-size:11px}.sku-expectation>div>strong{font-size:15px}.sku-expectation p{color:var(--muted);font-size:13px;opacity:1}
.baseline-confirmation{background:var(--surface-raised);border-color:var(--border);box-shadow:0 12px 30px rgba(16,40,59,.07)}.baseline-confirmation.ready{background:var(--surface-raised);border-color:color-mix(in srgb,var(--success),var(--border) 45%)}
.baseline-confirmation-brand{display:grid;place-items:center;flex:0 0 52px;height:52px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fff}.baseline-confirmation-brand img{width:100%;height:100%;object-fit:contain;padding:4px}
.baseline-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px}.baseline-list-heading strong{font-size:14px}.baseline-list-heading span{padding:6px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:11px;font-weight:850}
.baseline-product-list{display:grid;gap:0;max-height:310px;overflow:auto;margin:0;padding:0;border:1px solid var(--border);border-radius:15px;background:var(--surface);list-style:none}.baseline-product-list li{display:grid;grid-template-columns:34px minmax(72px,auto) minmax(0,1fr);align-items:center;gap:10px;min-height:50px;padding:8px 12px;border-bottom:1px solid var(--border)}.baseline-product-list li:last-child{border-bottom:0}.baseline-product-number{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--authority-soft);color:var(--authority);font-size:11px;font-weight:900}.baseline-product-code{color:var(--brand);font-size:11px;font-weight:850}.baseline-product-list strong{overflow-wrap:anywhere;font-size:13px}.baseline-product-list .empty{grid-template-columns:1fr;padding:14px}
.baseline-photo-reminder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin:13px 0;padding:13px;border:1px solid color-mix(in srgb,var(--brand),transparent 68%);border-radius:14px;background:var(--brand-soft)}.baseline-photo-reminder>span{padding:7px;border-radius:8px;background:var(--brand);color:#fff;font-size:9px;font-weight:900}.baseline-photo-reminder strong,.baseline-photo-reminder small{display:block}.baseline-photo-reminder strong{font-size:13px}.baseline-photo-reminder small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}.baseline-photo-reminder em{color:var(--brand);font-size:11px;font-style:normal;font-weight:850;white-space:nowrap}
[data-theme="dark"] .sku-expectation,[data-theme="dark"] .sku-expectation.met,[data-theme="dark"] .baseline-confirmation,[data-theme="dark"] .baseline-confirmation.ready{background:var(--surface-raised);color:var(--text);border-color:var(--border)}[data-theme="dark"] .sku-expectation{border-left-color:var(--brand)}
@media(max-width:430px){.baseline-product-list li{grid-template-columns:30px minmax(62px,auto) minmax(0,1fr);gap:8px;padding-inline:9px}.baseline-photo-reminder{grid-template-columns:auto minmax(0,1fr)}.baseline-photo-reminder em{grid-column:2}}
.baseline-confirmation{margin-top:20px;padding:18px;border:1px solid #cad5df;border-radius:20px;background:#f7f9fb}
.baseline-confirmation.ready{border-color:#8bcbb9;background:linear-gradient(145deg,#f4fbf8,#fff)}
.baseline-confirmation.locked{opacity:.82}
.baseline-confirmation-head{display:flex;gap:13px;align-items:flex-start}
.baseline-confirmation-seal{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#0a765f;color:#fff;font-weight:900}
.baseline-confirmation-head h3{margin:4px 0 5px;font-size:20px;color:#10283b}
.baseline-confirmation-head p{margin:0;color:#596b79;line-height:1.5}
.baseline-verification-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.baseline-verification-grid>div{padding:12px 8px;border:1px solid #d9e2e9;border-radius:14px;background:#fff;text-align:center}
.baseline-verification-grid strong{display:block;font-size:20px;color:#10283b}.baseline-verification-grid span{font-size:11px;color:#687987}
.baseline-product-review{margin:12px 0;border:1px solid #d4dee6;border-radius:14px;background:#fff;overflow:hidden}
.baseline-product-review summary{min-height:46px;padding:13px 15px;font-weight:800;cursor:pointer;touch-action:manipulation}
.baseline-product-review ol{max-height:240px;overflow:auto;margin:0;padding:0 15px 12px;list-style:none}
.baseline-product-review li{display:grid;grid-template-columns:minmax(72px,auto) 1fr;gap:10px;padding:10px 0;border-top:1px solid #e5ebef}
.baseline-product-review li span{color:#0a765f;font-weight:850}.baseline-product-review li strong{font-size:13px;color:#1d3141}
.baseline-product-review p{padding:0 15px 15px;color:#566876}
.baseline-acknowledgement{display:flex;gap:12px;align-items:flex-start;padding:15px;border:2px solid #0a765f;border-radius:16px;background:#fff;cursor:pointer}
.baseline-acknowledgement input{width:23px;height:23px;flex:0 0 23px;accent-color:#0a765f}
.baseline-acknowledgement strong,.baseline-acknowledgement small{display:block}.baseline-acknowledgement strong{color:#10283b;line-height:1.35}.baseline-acknowledgement small{margin-top:5px;color:#61727f;line-height:1.45}
.baseline-locked-note{margin-top:14px;padding:13px;border-radius:13px;background:#fff3d9;color:#76520b;font-weight:750}
.baseline-review-proof{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.baseline-review-proof span{padding:7px 10px;border-radius:999px;background:#e5f6f0;color:#08624f;font-size:12px;font-weight:800}
.baseline-edit-button{width:100%;margin-top:14px;min-height:46px}
.baseline-audit{margin:18px 0;padding:18px;border-radius:20px;border:1px solid #cbd8e2;background:#f7f9fb}
.baseline-audit-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid #d6e0e7}
.baseline-audit-heading h3{margin:4px 0;font-size:20px;color:#10283b}.baseline-audit-heading p{margin:0;color:#687987}.baseline-audit-heading>span{padding:6px 9px;border-radius:999px;background:#dce8ef;color:#16374e;font-size:12px;font-weight:800;white-space:nowrap}
.baseline-audit-list{display:grid;gap:10px;margin-top:14px}.baseline-audit-event{display:grid;grid-template-columns:38px 1fr;gap:11px;padding:13px;border:1px solid #d5e0e8;border-radius:15px;background:#fff}.baseline-audit-event.edited{border-left:4px solid #b48619}
.baseline-audit-index{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#102f45;color:#fff;font-size:12px;font-weight:900}
.baseline-audit-copy>div:first-child{display:flex;justify-content:space-between;gap:8px}.baseline-audit-copy time{font-size:12px;color:#60717e}.baseline-audit-copy p{margin:4px 0 9px;color:#5c6d79;font-size:13px}
.baseline-audit-counts{display:flex;flex-wrap:wrap;gap:6px}.baseline-audit-counts span{padding:5px 8px;border-radius:999px;background:#edf2f5;color:#3c5262;font-size:11px;font-weight:750}
.baseline-audit-delta{display:grid;grid-template-columns:70px 1fr;gap:7px;margin-top:8px;font-size:12px}.baseline-audit-delta.added strong{color:#08745b}.baseline-audit-delta.removed strong{color:#b11835}.baseline-audit-nochange{display:block;margin-top:8px;color:#667985}
@media(max-width:430px){.baseline-verification-grid{grid-template-columns:1fr 1fr}.baseline-verification-grid>div:last-child{grid-column:1/-1}.baseline-audit-heading{display:block}.baseline-audit-heading>span{display:inline-block;margin-top:8px}.baseline-audit-copy>div:first-child{display:block}.baseline-audit-copy time{display:block;margin-top:4px}}

/* v48 — Premium field-operations UI.
   One restrained enterprise system: Shirinasal crimson for selection,
   authority navy for structure, and semantic colour only for live states. */
:root {
  --brand:#ad1730;
  --brand-strong:#8c1025;
  --brand-deep:#670a1a;
  --brand-soft:#fff0f3;
  --authority:#0c2942;
  --authority-strong:#071d30;
  --authority-soft:#edf3f7;
  --on-authority:#fff;
  --success:#087761;
  --success-soft:#e7f7f2;
  --info:#236d9b;
  --info-soft:#eaf4fa;
  --warning:#9a5b08;
  --warning-soft:#fff5df;
  --ink:#112233;
  --muted:#56697a;
  --subtle:#7d8c99;
  --canvas:#f2f5f8;
  --surface:#fff;
  --surface-raised:#fff;
  --border:#d9e2e9;
  --border-strong:#bdcbd6;
  --shadow-sm:0 1px 2px rgba(12,41,66,.04),0 5px 16px rgba(12,41,66,.045);
  --shadow-md:0 14px 38px rgba(12,41,66,.09),0 2px 7px rgba(12,41,66,.045);
  --shadow-lg:0 28px 72px rgba(7,29,48,.22);
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:22px;
  --nav-height:78px;
}

[data-theme="dark"] {
  --brand:#ff919f;
  --brand-strong:#ffb4bd;
  --brand-deep:#3f101a;
  --brand-soft:#381a22;
  --authority:#b8daf2;
  --authority-strong:#071d30;
  --authority-soft:#152b3c;
  --on-authority:#071d30;
  --success:#83dec5;
  --success-soft:#153a32;
  --info:#91c7ea;
  --info-soft:#17364a;
  --warning:#f2c06f;
  --warning-soft:#3a2b16;
  --ink:#f1f6f9;
  --muted:#b1c0cb;
  --subtle:#8798a5;
  --canvas:#08131d;
  --surface:#101f2b;
  --surface-raised:#152735;
  --border:#294050;
  --border-strong:#456071;
}

html,body { min-height:100%; background:var(--canvas); }
body {
  color:var(--ink);
  background:
    radial-gradient(circle at 4% 0,color-mix(in srgb,var(--brand) 7%,transparent),transparent 25rem),
    linear-gradient(180deg,color-mix(in srgb,var(--surface) 38%,var(--canvas)),var(--canvas) 22rem);
}
button,a,input,select,textarea { touch-action:manipulation; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid color-mix(in srgb,var(--focus) 32%,transparent);
  outline-offset:2px;
}

.app-shell { min-height:100dvh; padding-bottom:calc(var(--nav-height) + var(--app-safe-bottom) + 28px); }
.topbar {
  min-height:68px;
  padding-top:max(9px,var(--app-safe-top));
  padding-bottom:9px;
  color:var(--ink);
  border-bottom:1px solid color-mix(in srgb,var(--border) 88%,transparent);
  background:color-mix(in srgb,var(--surface) 94%,transparent);
  box-shadow:0 6px 24px rgba(12,41,66,.045);
  backdrop-filter:blur(22px) saturate(135%);
}
.brand-mark { width:44px; height:44px; flex-basis:44px; border-radius:13px; box-shadow:0 8px 20px rgba(173,23,48,.16); }
.topbar-copy { min-width:0; }
.topbar-copy strong { overflow:hidden; color:var(--ink); font-size:15px; letter-spacing:-.018em; text-overflow:ellipsis; white-space:nowrap; }
.topbar-copy > span { color:var(--muted); font-size:11px; }
.status-dot { background:var(--success); box-shadow:0 0 0 4px var(--success-soft); }
.icon-button { min-width:44px; min-height:44px; }
.screen { padding-top:18px; padding-bottom:34px; }

.hero-card,.section-block,.workflow-card,.search-panel,.info-card,.history-card,
.report-filter-card,.report-block,.people-performance-section,.report-timeline,.inbox-thread-card {
  border-color:var(--border);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.hero-card { border-top:4px solid var(--brand); }
.eyebrow { color:var(--brand); font-size:9px; font-weight:900; letter-spacing:.16em; }
.section-heading h2,.report-block-heading h2 { color:var(--ink); letter-spacing:-.025em; }
.primary-button { background:linear-gradient(135deg,var(--brand),var(--brand-strong)); box-shadow:0 9px 22px rgba(173,23,48,.18); }
.primary-button:active,.nav-item:active,.report-tab:active,.person-visit-row:active { transform:scale(.985); }

.intelligence-screen { --view-accent:var(--brand) !important; --view-soft:var(--brand-soft) !important; }
.intelligence-header {
  min-height:66px;
  margin-bottom:12px;
  padding:10px 12px;
  border-color:var(--border);
  border-left:4px solid var(--brand);
  border-radius:15px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.intelligence-logo { width:42px; height:42px; flex-basis:42px; border-radius:11px; }
.intelligence-header h1 { color:var(--ink); font-size:19px; letter-spacing:-.025em; }
.intelligence-live { color:var(--success); border-color:color-mix(in srgb,var(--success) 24%,var(--border)); background:var(--success-soft); }
.report-launchpad { gap:8px; }
#screen-customers .report-launchpad .report-tab {
  min-height:60px;
  color:var(--muted);
  border:1px solid var(--border) !important;
  border-radius:13px;
  background:var(--surface) !important;
  box-shadow:none;
  transition:color 180ms ease,border-color 180ms ease,background 180ms ease,box-shadow 180ms ease;
}
#screen-customers .report-launchpad .report-tab-icon { color:var(--authority); background:var(--authority-soft) !important; }
#screen-customers .report-launchpad .report-tab.active {
  color:var(--brand) !important;
  border-color:color-mix(in srgb,var(--brand) 34%,var(--border)) !important;
  background:var(--brand-soft) !important;
  box-shadow:inset 0 3px 0 var(--brand);
}
#screen-customers .report-launchpad .report-tab.active .report-tab-icon { color:#fff !important; background:var(--brand) !important; }
.report-view-context {
  min-height:56px;
  margin:10px 0 12px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  box-shadow:none;
}
.report-view-context > span { color:var(--authority); background:var(--authority-soft); }
.report-view-context strong { color:var(--ink); font-size:13px; }
.report-view-context small { color:var(--muted); font-size:9.5px; }

.report-metric,.operation-position-card,.person-report-card {
  border-color:var(--border);
  border-radius:14px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.report-metric strong,.operation-position-card strong,.person-report-card strong { font-variant-numeric:tabular-nums; }
.today-customer-link { color:var(--ink); text-decoration:none; }
.today-visit-row,.person-report-card,.operation-person-row { transition:background 170ms ease,border-color 170ms ease,box-shadow 170ms ease,transform 100ms ease; }
.today-visit-row:hover,.today-visit-row:focus-visible,.operation-person-row:hover,.operation-person-row:focus-visible { background:var(--authority-soft); }

.person-activity-link {
  min-height:58px;
  color:var(--authority);
  border-bottom-color:var(--border);
  background:linear-gradient(90deg,var(--authority-soft),color-mix(in srgb,var(--authority-soft) 38%,var(--surface)));
}
.person-activity-link strong { color:var(--ink); font-size:12.5px; }
.person-activity-link small { color:var(--muted); font-size:9.5px; }

.person-visit-section {
  overflow:hidden;
  margin:14px 0 18px;
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
  box-shadow:var(--shadow-md);
}
.person-visit-heading {
  min-height:96px;
  padding:16px;
  color:#fff;
  border-bottom:0;
  background:
    radial-gradient(circle at 96% 0,rgba(83,192,157,.24),transparent 44%),
    linear-gradient(135deg,var(--authority-strong),#123c59);
}
.person-route-avatar { width:52px; height:52px; border:2px solid rgba(255,255,255,.5); border-radius:15px; background:rgba(255,255,255,.12); }
.person-visit-heading .eyebrow { color:#8ce0c7; }
.person-visit-heading h2 { margin:3px 0 2px; color:#fff; font-size:20px; line-height:1.16; letter-spacing:-.025em; }
.person-visit-heading p { margin:0; color:rgba(255,255,255,.7); font-size:10px; }
.person-route-count {
  min-width:50px;
  height:50px;
  display:grid;
  align-content:center;
  padding:5px;
  color:#fff;
  border:1px solid rgba(255,255,255,.2);
  border-radius:14px;
  background:rgba(255,255,255,.1);
  box-shadow:none;
  text-align:center;
}
.person-route-count strong,.person-route-count small { display:block; }
.person-route-count strong { font-size:18px; line-height:1; }
.person-route-count small { margin-top:3px; color:rgba(255,255,255,.67); font-size:7.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.person-route-overview {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  padding:1px 0;
  background:var(--border);
}
.person-route-overview > span { min-width:0; padding:12px 10px; background:var(--surface); }
.person-route-overview small,.person-route-overview strong { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.person-route-overview small { color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.person-route-overview strong { margin-top:3px; color:var(--ink); font-size:13px; font-variant-numeric:tabular-nums; }
.person-visit-guide {
  min-height:52px;
  padding:10px 15px;
  color:var(--authority);
  border-bottom:1px solid var(--border);
  background:var(--authority-soft);
  font-size:10.5px;
}
.person-visit-guide svg { width:20px; height:20px; }
.person-visit-list { display:grid; gap:0; background:var(--surface); }
.person-visit-day { min-width:0; }
.person-visit-day + .person-visit-day { border-top:8px solid var(--canvas); }
.person-visit-day > header {
  min-height:45px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 14px;
  color:var(--authority);
  border-bottom:1px solid var(--border);
  background:color-mix(in srgb,var(--authority-soft) 64%,var(--surface));
}
.person-visit-day > header > div { display:flex; align-items:center; gap:8px; }
.person-visit-day > header strong { color:var(--ink); font-size:12px; letter-spacing:-.01em; }
.person-visit-day > header small { padding:4px 8px; color:var(--muted); border:1px solid var(--border); border-radius:999px; background:var(--surface); font-size:8.5px; font-weight:800; }
.person-day-dot { width:8px; height:8px; border:2px solid var(--surface); border-radius:50%; background:var(--success); box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent); }
.person-day-timing { display:grid; grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) minmax(0,1fr); align-items:stretch; gap:8px; padding:10px 12px; border-bottom:1px solid var(--border); background:var(--canvas); }
.person-day-timing > span { min-width:0; min-height:64px; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:8px; padding:9px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.person-day-timing > span > svg { width:34px; height:34px; padding:8px; border-radius:10px; }
.person-day-timing > span > span { min-width:0; display:grid; gap:1px; }
.person-day-timing small { color:var(--muted); font-size:7px; font-weight:900; letter-spacing:.07em; }
.person-day-timing strong { color:var(--ink); font-size:13px; font-variant-numeric:tabular-nums; }
.person-day-timing em { overflow:hidden; color:var(--muted); font-size:8px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.person-day-timing > i { display:grid; place-items:center; color:var(--subtle); }
.person-day-timing > i svg { width:16px; }
.person-day-timing .workday-start { border-color:color-mix(in srgb,var(--authority) 24%,var(--border)); }
.person-day-timing .workday-start > svg { color:var(--authority); background:var(--authority-soft); }
.person-day-timing .first-store { border-color:color-mix(in srgb,var(--success) 25%,var(--border)); }
.person-day-timing .first-store > svg { color:var(--success); background:var(--success-soft); }
.person-day-timing .pre-visit { border-color:color-mix(in srgb,var(--info) 24%,var(--border)); }
.person-day-timing .pre-visit > svg { color:var(--info); background:var(--info-soft); }
.person-visit-day-list { position:relative; display:grid; padding:4px 12px 8px; }
.person-visit-day-list::before { position:absolute; top:25px; bottom:29px; left:31px; width:1px; background:var(--border); content:""; }
.person-visit-row {
  position:relative;
  width:100%;
  min-height:88px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 80px 18px;
  align-items:center;
  gap:10px;
  padding:11px 5px;
  color:var(--ink);
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--border) 76%,transparent);
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.person-visit-row:last-child { border-bottom:0; }
.person-visit-row:hover,.person-visit-row:focus-visible { border-radius:13px; background:var(--authority-soft); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--authority) 16%,transparent); }
.person-visit-sequence {
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  color:var(--authority);
  border:1px solid var(--border-strong);
  border-radius:11px;
  background:var(--surface);
  box-shadow:0 0 0 4px var(--surface);
  font-size:9px;
  font-variant-numeric:tabular-nums;
}
.person-visit-row.is-open .person-visit-sequence { color:#fff; border-color:var(--success); background:var(--success); }
.person-visit-main { min-width:0; display:grid; gap:3px; }
.person-visit-main .person-visit-time { display:flex; align-items:baseline; gap:6px; color:var(--info); font-variant-numeric:tabular-nums; }
.person-visit-main .person-visit-time small { color:var(--muted); font-size:7px; font-weight:900; letter-spacing:.07em; }
.person-visit-main .person-visit-time strong { color:var(--info); font-size:10.5px; font-weight:850; }
.person-visit-main > strong {
  display:-webkit-box;
  overflow:hidden;
  color:var(--ink);
  font-size:13px;
  line-height:1.3;
  letter-spacing:-.01em;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.person-visit-main > small { overflow:hidden; color:var(--muted); font-size:9.5px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.person-visit-result { min-width:0; text-align:right; }
.person-visit-result > strong { display:block; color:var(--ink); font-size:12px; font-variant-numeric:tabular-nums; }
.person-visit-row.is-open .person-visit-result > strong { color:var(--success); }
.person-visit-result > small { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:3px; margin-top:5px; }
.person-visit-result > small span { padding:3px 5px; color:var(--muted); border-radius:999px; background:var(--canvas); font-size:8px; font-weight:750; white-space:nowrap; }
.person-visit-result > small .has-flags { color:var(--warning); background:var(--warning-soft); }
.person-visit-chevron { display:grid; place-items:center; color:var(--muted); }
.person-visit-chevron svg { width:17px; height:17px; }

.bottom-nav {
  min-height:calc(var(--nav-height) + var(--app-safe-bottom));
  padding:6px max(7px,var(--app-safe-left)) calc(6px + var(--app-safe-bottom)) max(7px,var(--app-safe-right));
  border-color:color-mix(in srgb,var(--border-strong) 72%,transparent);
  border-radius:20px 20px 0 0;
  background:color-mix(in srgb,var(--surface) 96%,transparent);
  box-shadow:0 -12px 38px rgba(7,29,48,.105),inset 0 1px 0 rgba(255,255,255,.58);
  backdrop-filter:blur(24px) saturate(140%);
}
.nav-item { min-height:58px; color:var(--muted); border-radius:14px; font-size:10px; font-weight:750; }
.nav-item .nav-icon { color:var(--muted); }
.nav-item.active { color:var(--brand); background:var(--brand-soft); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 15%,transparent); }
.nav-item.active .nav-icon { color:var(--brand); }
.nav-item.active::after { top:3px; width:24px; height:3px; border-radius:999px; background:var(--brand); }

@media(max-width:620px) {
  .person-visit-heading { grid-template-columns:auto minmax(0,1fr) auto; padding:14px 13px; }
  .person-route-avatar { width:46px; height:46px; }
  .person-visit-heading h2 { font-size:17px; }
  .person-route-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .person-route-overview > span:nth-child(3),.person-route-overview > span:nth-child(4) { border-top:1px solid var(--border); }
  .person-visit-day-list { padding-inline:10px; }
  .person-visit-day-list::before { left:29px; }
  .person-visit-row { grid-template-columns:36px minmax(0,1fr) 72px 16px; gap:8px; min-height:92px; padding:11px 4px; }
  .person-visit-main > strong { font-size:12.5px; }
  .person-visit-result > strong { font-size:11.5px; }
}

@media(max-width:430px) {
  .screen { padding-inline:12px; }
  .topbar-copy strong { font-size:14px; }
  .topbar-copy > span { font-size:10px; }
  .intelligence-header { min-height:56px; }
  #screen-customers .report-launchpad .report-tab { min-height:56px; }
  .report-view-context { min-height:52px; }
  .person-visit-section { margin-inline:0; border-radius:17px; }
  .person-route-count { min-width:45px; width:45px; height:45px; }
  .person-visit-guide { grid-template-columns:20px minmax(0,1fr); padding:9px 12px; font-size:9.5px; }
  .person-visit-day > header { padding-inline:11px; }
  .person-visit-main > small { white-space:normal; }
  .nav-item { min-height:56px; font-size:9.5px; }
}

@media(orientation:landscape) and (max-height:560px) {
  .topbar { position:relative; min-height:58px; }
  .person-visit-heading { min-height:78px; }
  .bottom-nav { position:sticky; transform:none; left:auto; width:100%; margin-top:12px; }
}

@media(prefers-reduced-motion:reduce) {
  .person-visit-row,.report-tab,.nav-item,.primary-button { transition:none !important; }
}

/* v53 — compact manager Today view: clear hierarchy, actionable metrics, no repeated helper copy */
.manager-command { gap:12px; margin-bottom:14px; }
.ops-overview,
.team-board {
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.ops-overview { overflow:hidden; border-top:4px solid var(--brand); }
.ops-overview-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 16px 13px;
  border-bottom:1px solid var(--border);
}
.ops-overview-head > div { min-width:0; }
.ops-live {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--success);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ops-live i { width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px var(--success-soft); }
.ops-overview-head h1 { margin:4px 0 0; color:var(--ink); font-size:27px; line-height:1; letter-spacing:-.045em; }
.ops-overview-head p { margin:6px 0 0; color:var(--muted); font-size:10px; font-weight:650; }
.ops-refresh {
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  color:var(--brand);
  border:1px solid color-mix(in srgb,var(--brand) 20%,var(--border));
  border-radius:12px;
  background:var(--brand-soft);
  transition:background 170ms ease,border-color 170ms ease,transform 100ms ease;
}
.ops-refresh:hover,.ops-refresh:focus-visible { border-color:var(--brand); background:color-mix(in srgb,var(--brand-soft),var(--surface) 20%); }
.ops-refresh:active { transform:scale(.96); }
.ops-refresh svg { width:20px; height:20px; stroke-width:2; }
.ops-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:12px; }
.ops-kpi {
  --metric-color:var(--authority);
  --metric-soft:var(--authority-soft);
  min-width:0;
  min-height:90px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 14px;
  align-items:start;
  gap:9px;
  padding:12px 10px;
  color:var(--ink);
  border:1px solid var(--border);
  border-left:3px solid var(--metric-color);
  border-radius:13px;
  background:var(--surface);
  text-align:left;
  transition:background 170ms ease,border-color 170ms ease,transform 100ms ease;
}
.ops-kpi.success { --metric-color:var(--success); --metric-soft:var(--success-soft); }
.ops-kpi.info { --metric-color:var(--info); --metric-soft:var(--info-soft); }
.ops-kpi.brand { --metric-color:var(--brand); --metric-soft:var(--brand-soft); }
.ops-kpi.warning { --metric-color:var(--warning); --metric-soft:var(--warning-soft); }
.ops-kpi:hover,.ops-kpi:focus-visible { border-color:color-mix(in srgb,var(--metric-color) 46%,var(--border)); background:color-mix(in srgb,var(--metric-soft) 42%,var(--surface)); }
.ops-kpi:active { transform:scale(.985); }
.ops-kpi-icon { width:34px; height:34px; display:grid; place-items:center; color:var(--metric-color); border-radius:10px; background:var(--metric-soft); }
.ops-kpi-icon svg { width:17px; height:17px; stroke-width:2; }
.ops-kpi-copy { display:grid; min-width:0; }
.ops-kpi-copy > strong { color:var(--ink); font-size:22px; line-height:1; font-variant-numeric:tabular-nums; }
.ops-kpi-copy > span { margin-top:4px; color:var(--ink); font-size:10px; font-weight:800; line-height:1.2; }
.ops-kpi-copy > small { overflow:hidden; margin-top:5px; color:var(--muted); font-size:8.5px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.ops-kpi > svg { align-self:center; width:14px; height:14px; color:var(--subtle); }
.ops-day-status { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--border); background:var(--canvas); }
.ops-day-status span { min-width:0; padding:9px 11px; color:var(--muted); border-left:1px solid var(--border); font-size:9px; text-align:center; white-space:nowrap; }
.ops-day-status span:first-child { border-left:0; }
.ops-day-status strong { margin-right:3px; color:var(--ink); font-size:11px; font-variant-numeric:tabular-nums; }
.team-board { padding:15px; }
.team-board-head { display:flex; align-items:end; justify-content:space-between; gap:14px; margin-bottom:11px; }
.team-board-head h2 { margin:2px 0 0; color:var(--ink); font-size:20px; letter-spacing:-.035em; }
.team-board-head p { margin:3px 0 0; color:var(--muted); font-size:9.5px; }
.team-report-link { min-height:44px; display:inline-flex; align-items:center; gap:7px; padding:8px 9px; color:var(--brand); border:0; border-radius:10px; background:transparent; font-size:9.5px; font-weight:800; white-space:nowrap; }
.team-report-link:hover,.team-report-link:focus-visible { background:var(--brand-soft); }
.team-report-link svg { width:16px; height:16px; }
.team-pulse-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.pulse-person {
  min-height:78px;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:10px;
  padding:10px 11px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  box-shadow:none;
  transition:background 170ms ease,border-color 170ms ease,transform 100ms ease;
}
.pulse-person:hover,.pulse-person:focus-visible { border-color:color-mix(in srgb,var(--authority) 38%,var(--border)); background:var(--authority-soft); }
.pulse-person:active { transform:scale(.99); }
.pulse-avatar { width:42px; height:42px; border-radius:11px; background:var(--authority); box-shadow:none; }
.pulse-person-main { display:grid; min-width:0; gap:2px; }
.pulse-person-main > strong { overflow:hidden; color:var(--ink); font-size:12.5px; text-overflow:ellipsis; white-space:nowrap; }
.pulse-person-main > small { overflow:hidden; color:var(--muted); font-size:9.5px; text-overflow:ellipsis; white-space:nowrap; }
.pulse-person-meta { display:flex; flex-wrap:wrap; gap:4px 8px; margin-top:3px; }
.pulse-person-meta em { color:var(--subtle); font-size:8px; font-style:normal; font-weight:700; }
.pulse-person-state { display:grid; justify-items:end; align-items:center; gap:5px; }
.pulse-person-state > svg { width:15px; height:15px; color:var(--subtle); }
.pulse-person .status-pill { min-height:26px; padding:4px 7px; font-size:8px!important; }

/* Telegram's floating Close control must never cover Shirinasal branding. */
html:not(.telegram-fullscreen) body.telegram-host .topbar { padding-top:max(54px,var(--app-safe-top)); }

/* Quiet, predictable primary navigation. */
.bottom-nav { border-right:0; border-left:0; border-radius:0; box-shadow:0 -8px 24px rgba(7,29,48,.08); }
.nav-item.active { background:transparent; box-shadow:none; }
.nav-item.active::after { top:1px; width:28px; }

@media(max-width:720px) {
  .ops-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-pulse-list { grid-template-columns:1fr; }
}
@media(max-width:430px) {
  .screen { padding-inline:12px; }
  .ops-overview,.team-board { border-radius:15px; }
  .ops-overview-head { padding:13px 13px 11px; }
  .ops-overview-head h1 { font-size:24px; }
  .ops-kpi-grid { gap:7px; padding:10px; }
  .ops-kpi { min-height:86px; grid-template-columns:30px minmax(0,1fr); gap:8px; padding:10px 9px; }
  .ops-kpi-icon { width:30px; height:30px; border-radius:9px; }
  .ops-kpi-icon svg { width:16px; height:16px; }
  .ops-kpi > svg { display:none; }
  .ops-kpi-copy > strong { font-size:20px; }
  .ops-kpi-copy > small { font-size:8px; }
  .ops-day-status span { padding-inline:6px; font-size:8px; }
  .team-board { padding:12px; }
  .team-board-head { align-items:flex-start; }
  .team-board-head h2 { font-size:18px; }
  .team-report-link { margin-top:-4px; padding-inline:6px; }
  .pulse-person { grid-template-columns:40px minmax(0,1fr) auto; min-height:74px; padding:9px; }
  .pulse-avatar { width:40px; height:40px; }
  .pulse-person-main > strong { font-size:12px; }
  .pulse-person .status-pill { max-width:86px; overflow:hidden; text-overflow:ellipsis; }
}
@media(orientation:landscape) and (max-height:560px) {
  html:not(.telegram-fullscreen) body.telegram-host .topbar { padding-top:max(10px,var(--app-safe-top)); }
  .ops-kpi-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .team-pulse-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) {
  .ops-refresh,.ops-kpi,.pulse-person,.team-report-link { transition:none!important; }
}

/* v54 — actionable Today totals and complete person drill-down */
.ops-kpi.authority { --metric-color:var(--authority); --metric-soft:var(--authority-soft); }
.ops-kpi.neutral { --metric-color:var(--muted); --metric-soft:var(--canvas); }
.pulse-person {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  min-height:132px;
  gap:10px;
  padding:12px;
}
.pulse-person-head {
  min-width:0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
.pulse-person-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--canvas);
}
.pulse-person-stats > span { min-width:0; padding:8px 5px; border-left:1px solid var(--border); text-align:center; }
.pulse-person-stats > span:first-child { border-left:0; }
.pulse-person-stats strong,.pulse-person-stats small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pulse-person-stats strong { color:var(--ink); font-size:11.5px; font-variant-numeric:tabular-nums; }
.pulse-person-stats small { margin-top:2px; color:var(--muted); font-size:7.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }

.person-command-summary,
.person-kpi-summary,
.person-status-section {
  scroll-margin-top:84px;
  margin:14px 0 18px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
  box-shadow:var(--shadow-md);
}
.person-command-summary { overflow:hidden; padding:0; border-top:4px solid var(--brand); }
.person-summary-back {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:8px 10px 0;
  padding:8px 10px;
  color:var(--authority);
  border:0;
  border-radius:10px;
  background:transparent;
  font-size:9.5px;
  font-weight:850;
}
.person-summary-back:hover,.person-summary-back:focus-visible { background:var(--authority-soft); }
.person-summary-back svg { width:17px; height:17px; }
.person-command-head {
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:16px;
  border-bottom:1px solid var(--border);
  background:linear-gradient(135deg,var(--surface),var(--authority-soft));
}
.person-command-avatar { width:58px; height:58px; border-radius:16px; }
.person-command-head > div { min-width:0; }
.person-command-head h2 { overflow:hidden; margin:3px 0; color:var(--ink); font-size:22px; line-height:1.12; letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; }
.person-command-head p { overflow:hidden; margin:0; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.person-command-workday { width:max-content; min-height:34px; display:inline-flex; align-items:center; gap:7px; margin-top:7px; padding:5px 9px; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority) 22%,var(--border)); border-radius:10px; background:var(--surface); }
.person-command-workday > svg { width:16px; height:16px; flex:0 0 16px; }
.person-command-workday > span { display:grid; gap:1px; }
.person-command-workday small { color:var(--muted); font-size:7px; font-weight:900; letter-spacing:.08em; }
.person-command-workday strong { font-size:11px; font-variant-numeric:tabular-nums; }
.person-summary-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:14px; }
button.report-metric.is-actionable {
  position:relative;
  width:100%;
  min-height:94px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 15px;
  align-items:start;
  gap:9px;
  padding:12px 10px;
  color:var(--ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color 170ms ease,background 170ms ease,transform 100ms ease;
}
button.report-metric.is-actionable:hover,button.report-metric.is-actionable:focus-visible { border-color:var(--authority); background:var(--authority-soft); }
button.report-metric.is-actionable:active { transform:scale(.985); }
button.report-metric.is-actionable .report-metric-icon { margin:0; }
button.report-metric.is-actionable > div { min-width:0; }
button.report-metric.is-actionable > div > strong { display:block; overflow:hidden; font-size:18px; line-height:1.05; text-overflow:ellipsis; white-space:nowrap; }
button.report-metric.is-actionable > div > span { display:block; margin-top:5px; color:var(--ink); font-size:9.5px; font-weight:850; }
button.report-metric.is-actionable > div > small { display:block; overflow:hidden; margin-top:5px; color:var(--muted); font-size:8px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.report-metric-open { align-self:center; color:var(--subtle); }
.report-metric-open svg { width:15px; height:15px; }
.person-command-summary .executive-allocation { margin:0 14px 14px; }
.person-visit-section { scroll-margin-top:84px; }

.person-kpi-summary .report-block-heading { margin-bottom:12px; }
.person-kpi-summary .report-block-heading p { margin:4px 0 0; color:var(--muted); font-size:10px; }
.person-kpi-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.person-kpi-summary-card {
  min-width:0;
  min-height:76px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 16px;
  align-items:center;
  gap:10px;
  padding:11px;
  color:var(--ink);
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  text-align:left;
  transition:border-color 170ms ease,background 170ms ease,transform 100ms ease;
}
.person-kpi-summary-card:hover,.person-kpi-summary-card:focus-visible { border-color:var(--success); background:var(--success-soft); }
.person-kpi-summary-card:active { transform:scale(.985); }
.person-kpi-summary-icon { width:38px; height:38px; display:grid; place-items:center; color:var(--success); border-radius:11px; background:var(--success-soft); }
.person-kpi-summary-icon svg { width:19px; height:19px; }
.person-kpi-summary-card > span:nth-child(2) { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 8px; }
.person-kpi-summary-card small { overflow:hidden; color:var(--ink); font-size:10px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.person-kpi-summary-card strong { color:var(--success); font-size:19px; line-height:1; font-variant-numeric:tabular-nums; }
.person-kpi-summary-card em { grid-column:1/-1; overflow:hidden; color:var(--muted); font-size:8.5px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.person-kpi-summary-card > svg { width:16px; height:16px; color:var(--subtle); }
.person-kpi-visit-list { display:grid; gap:8px; }
.person-kpi-visit-row {
  width:100%;
  min-height:68px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 16px;
  align-items:center;
  gap:10px;
  padding:10px;
  color:var(--ink);
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
  text-align:left;
}
.person-kpi-visit-row:hover,.person-kpi-visit-row:focus-visible { border-color:var(--authority); background:var(--authority-soft); }
.person-kpi-visit-row > span:first-child { width:36px; height:36px; display:grid; place-items:center; color:var(--authority); border-radius:10px; background:var(--authority-soft); }
.person-kpi-visit-row > span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.person-kpi-visit-row strong,.person-kpi-visit-row small,.person-kpi-visit-row em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.person-kpi-visit-row strong { font-size:11.5px; }
.person-kpi-visit-row small { color:var(--muted); font-size:9px; }
.person-kpi-visit-row em { color:var(--success); font-size:8px; font-style:normal; font-weight:800; }
.person-kpi-visit-row > svg { width:16px; color:var(--subtle); }

@media(max-width:720px) {
  .person-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:430px) {
  .pulse-person { min-height:126px; padding:10px; }
  .pulse-person-head { grid-template-columns:40px minmax(0,1fr) auto; gap:8px; }
  .pulse-person-stats > span { padding:7px 3px; }
  .pulse-person-stats strong { font-size:10.5px; }
  .person-command-summary,.person-kpi-summary,.person-status-section { border-radius:16px; }
  .person-command-head { grid-template-columns:48px minmax(0,1fr); gap:10px; padding:13px; }
  .person-command-avatar { width:48px; height:48px; border-radius:13px; }
  .person-command-head h2 { font-size:18px; }
  .person-command-head > .status-pill { grid-column:1/-1; justify-self:start; }
  .person-command-workday { max-width:100%; }
  .person-day-timing { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .person-day-timing > i { display:none; }
  .person-day-timing .pre-visit { grid-column:1/-1; }
  .person-summary-grid { gap:7px; padding:10px; }
  button.report-metric.is-actionable { min-height:88px; grid-template-columns:32px minmax(0,1fr); gap:8px; padding:10px 8px; }
  button.report-metric.is-actionable .report-metric-icon { width:32px; height:32px; }
  button.report-metric.is-actionable > div > strong { font-size:16px; }
  button.report-metric.is-actionable .report-metric-open { display:none; }
  .person-command-summary .executive-allocation { margin:0 10px 10px; }
  .person-kpi-summary { padding:12px; }
  .person-kpi-summary-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  button.report-metric.is-actionable,.person-kpi-summary-card { transition:none!important; }
}

/* v56 — person summary: warm Shirinasal palette, semantic icons, clear scan hierarchy */
.person-summary-body { display:grid; gap:10px; padding:14px; background:var(--canvas); }
.person-summary-section-head {
  min-height:34px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  padding:0 2px;
}
.person-summary-section-head > div { min-width:0; display:grid; gap:2px; }
.person-summary-section-head span { color:var(--brand); font-size:8px; font-weight:900; letter-spacing:.13em; }
.person-summary-section-head strong { color:var(--ink); font-size:14px; line-height:1.2; }
.person-summary-section-head > small { color:var(--muted); font-size:8.5px; font-weight:750; white-space:nowrap; }
.person-summary-section-head.control { margin-top:2px; }
.person-output-grid,.person-control-grid,.person-time-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.person-summary-action {
  --summary-tone:var(--authority);
  --summary-soft:var(--authority-soft);
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 15px;
  align-items:center;
  gap:9px;
  padding:10px;
  color:var(--ink);
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  text-align:left;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
  transition:border-color 170ms ease,background 170ms ease,box-shadow 170ms ease,transform 100ms ease;
}
.person-summary-action.tone-slate { --summary-tone:#526677; --summary-soft:#edf2f6; }
.person-summary-action.tone-success { --summary-tone:var(--success); --summary-soft:var(--success-soft); }
.person-summary-action.tone-info { --summary-tone:#9a6124; --summary-soft:#f8efe3; }
.person-summary-action.tone-warning { --summary-tone:var(--warning); --summary-soft:var(--warning-soft); }
.person-summary-action.tone-neutral { --summary-tone:var(--muted); --summary-soft:var(--canvas); }
.person-summary-action:hover,.person-summary-action:focus-visible { border-color:color-mix(in srgb,var(--summary-tone) 58%,var(--border)); background:color-mix(in srgb,var(--summary-soft) 44%,var(--surface)); box-shadow:0 6px 18px color-mix(in srgb,var(--summary-tone) 12%,transparent); }
.person-summary-action:active { transform:scale(.985); }
.person-summary-action.output { min-height:88px; }
.person-summary-action.control { min-height:72px; box-shadow:none; }
.person-summary-action-icon {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:var(--summary-tone);
  border-radius:11px;
  background:var(--summary-soft);
}
.person-summary-action-icon svg { width:19px; height:19px; stroke-width:2; }
.person-summary-action-copy { min-width:0; display:grid; gap:2px; }
.person-summary-action-copy small,.person-summary-action-copy strong,.person-summary-action-copy em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.person-summary-action-copy small { color:var(--muted); font-size:8.5px; font-weight:850; letter-spacing:.02em; }
.person-summary-action-copy strong { color:var(--ink); font-size:18px; line-height:1.12; font-variant-numeric:tabular-nums; }
.person-summary-action-copy em { color:var(--muted); font-size:8px; font-style:normal; line-height:1.3; }
.person-summary-action.control .person-summary-action-copy strong { font-size:14px; }
.person-summary-action-open { display:grid; place-items:center; color:var(--subtle); }
.person-summary-action-open svg { width:15px; height:15px; }

.person-time-panel {
  overflow:hidden;
  padding:13px;
  color:var(--ink);
  border:1px solid var(--border);
  border-top:3px solid var(--brand);
  border-radius:16px;
  background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--brand-soft) 18%,var(--surface)));
  box-shadow:var(--shadow-sm);
  scroll-margin-top:84px;
}
.person-time-panel > header { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:10px; }
.person-time-panel > header > div { display:grid; gap:2px; }
.person-time-panel > header span { color:var(--brand); font-size:8px; font-weight:900; letter-spacing:.13em; }
.person-time-panel > header strong { color:var(--ink); font-size:14px; }
.person-time-panel > header em { color:var(--muted); font-size:9px; font-style:normal; font-weight:750; white-space:nowrap; }
.person-time-panel .person-summary-action.time {
  min-height:76px;
  color:var(--ink);
  border-color:color-mix(in srgb,var(--summary-tone) 24%,var(--border));
  background:color-mix(in srgb,var(--summary-soft) 68%,var(--surface));
  box-shadow:none;
}
.person-time-panel .person-summary-action.time:hover,.person-time-panel .person-summary-action.time:focus-visible { border-color:color-mix(in srgb,var(--summary-tone) 58%,var(--border)); background:color-mix(in srgb,var(--summary-soft) 88%,var(--surface)); }
.person-time-panel .person-summary-action.time .person-summary-action-copy small,
.person-time-panel .person-summary-action.time .person-summary-action-copy em { color:var(--muted); }
.person-time-panel .person-summary-action.time .person-summary-action-copy strong { color:var(--ink); font-size:17px; }
.person-time-panel .person-summary-action.time .person-summary-action-open { color:var(--subtle); }
.person-time-panel .person-summary-action.time.tone-success .person-summary-action-icon { color:var(--success); }
.person-time-panel .person-summary-action.time.tone-info .person-summary-action-icon { color:var(--summary-tone); }
.person-time-track { height:9px; display:flex; overflow:hidden; margin-top:12px; border-radius:999px; background:var(--border); }
.person-time-track i { display:block; height:100%; }
.person-time-track .onsite { background:var(--success); }
.person-time-track .travel { background:#d39a3e; }
.person-time-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:8px; }
.person-time-legend > span { min-width:0; display:grid; grid-template-columns:8px minmax(0,1fr) auto; align-items:center; gap:6px; color:var(--muted); }
.person-time-legend i { width:7px; height:7px; border-radius:50%; }
.person-time-legend i.onsite { background:var(--success); }
.person-time-legend i.travel { background:#d39a3e; }
.person-time-legend strong { overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.person-time-legend em { color:var(--ink); font-size:9px; font-style:normal; font-weight:900; }

[data-theme="dark"] .person-summary-action.tone-info { --summary-tone:#e2b467; --summary-soft:#2f261b; }
[data-theme="dark"] .person-time-panel {
  border-color:#2b3e4b;
  border-top-color:var(--brand);
  background:var(--surface);
}

@media(max-width:430px) {
  .person-summary-body { padding:10px; }
  .person-summary-action { grid-template-columns:34px minmax(0,1fr) 13px; gap:7px; padding:8px; border-radius:12px; }
  .person-summary-action.output { min-height:82px; }
  .person-summary-action.control { min-height:68px; }
  .person-summary-action-icon { width:34px; height:34px; border-radius:10px; }
  .person-summary-action-icon svg { width:17px; height:17px; }
  .person-summary-action-copy strong { font-size:16px; }
  .person-summary-action.control .person-summary-action-copy strong { font-size:12.5px; }
  .person-summary-action-copy em { font-size:7.5px; }
  .person-time-panel { padding:11px; border-radius:14px; }
  .person-time-panel .person-summary-action.time { min-height:72px; }
  .person-time-panel .person-summary-action.time .person-summary-action-copy strong { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) {
  .person-summary-action { transition:none!important; }
}

/* v57 — Reporting is a destination, not a persistent row of tabs. */
.reporting-hub {
  overflow:hidden;
  border:1px solid var(--border);
  border-top:4px solid var(--brand);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.reporting-hub-head {
  min-height:94px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:16px;
  border-bottom:1px solid var(--border);
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand-soft) 42%,var(--surface)),var(--surface) 62%);
}
.reporting-hub-mark {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#fff;
  border-radius:14px;
  background:var(--brand);
  box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 22%,transparent);
}
.reporting-hub-mark svg { width:23px; height:23px; stroke-width:2; }
.reporting-hub-head > div { min-width:0; }
.reporting-hub-head h2 { margin:2px 0 3px; color:var(--ink); font-size:18px; line-height:1.15; letter-spacing:-.025em; }
.reporting-hub-head p { margin:0; color:var(--muted); font-size:10px; line-height:1.4; }
.reporting-hub-count { padding:6px 8px; color:var(--brand); border:1px solid color-mix(in srgb,var(--brand) 25%,var(--border)); border-radius:999px; background:var(--brand-soft); font-size:8px; font-weight:900; letter-spacing:.08em; white-space:nowrap; }
.reporting-hub-grid { display:grid; gap:9px; padding:12px; }
.report-entry {
  --entry-tone:var(--brand);
  --entry-soft:var(--brand-soft);
  position:relative;
  min-height:104px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 34px;
  align-items:center;
  gap:11px;
  padding:13px;
  color:var(--ink);
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface);
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  transition:border-color 180ms ease,background 180ms ease,box-shadow 180ms ease,transform 100ms ease;
}
.report-entry.team { --entry-tone:var(--success); --entry-soft:var(--success-soft); }
.report-entry.management { --entry-tone:#9a6124; --entry-soft:#f8efe3; }
.report-entry:hover,.report-entry:focus-visible { border-color:color-mix(in srgb,var(--entry-tone) 55%,var(--border)); background:color-mix(in srgb,var(--entry-soft) 38%,var(--surface)); box-shadow:0 7px 20px color-mix(in srgb,var(--entry-tone) 10%,transparent); }
.report-entry:active { transform:scale(.988); }
.report-entry-index { position:absolute; top:9px; right:10px; color:color-mix(in srgb,var(--entry-tone) 50%,var(--subtle)); font-size:8px; font-weight:900; letter-spacing:.08em; }
.report-entry-icon { width:46px; height:46px; display:grid; place-items:center; color:var(--entry-tone); border-radius:13px; background:var(--entry-soft); }
.report-entry-icon svg { width:22px; height:22px; stroke-width:2; }
.report-entry-copy { min-width:0; display:grid; gap:3px; }
.report-entry-copy strong { color:var(--ink); font-size:15px; line-height:1.2; }
.report-entry-copy small { overflow:hidden; color:var(--muted); font-size:9.5px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.report-entry-copy em { color:var(--entry-tone); font-size:8px; font-style:normal; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.report-entry-arrow { width:34px; height:34px; display:grid; place-items:center; color:var(--entry-tone); border-radius:11px; background:var(--entry-soft); }
.report-entry-arrow svg { width:17px; height:17px; }
.reporting-hub-foot { display:flex; align-items:center; gap:10px; padding:11px 14px; color:var(--muted); border-top:1px solid var(--border); background:var(--canvas); }
.reporting-hub-foot > span { width:32px; height:32px; display:grid; place-items:center; color:var(--success); border-radius:10px; background:var(--success-soft); }
.reporting-hub-foot svg { width:17px; height:17px; }
.reporting-hub-foot p { min-width:0; display:grid; gap:1px; margin:0; }
.reporting-hub-foot strong { color:var(--ink); font-size:10px; }
.reporting-hub-foot small { color:var(--muted); font-size:8.5px; }

#screen-customers .report-view-context:not(.hidden) {
  min-height:64px;
  display:grid;
  grid-template-columns:auto 38px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  padding:9px;
  border-left:3px solid var(--brand);
}
.report-detail-back {
  min-width:44px;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:8px 10px;
  color:var(--ink);
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--surface);
  font-size:10px;
  font-weight:850;
  cursor:pointer;
  transition:border-color 170ms ease,background 170ms ease,color 170ms ease;
}
.report-detail-back:hover,.report-detail-back:focus-visible { color:var(--brand); border-color:color-mix(in srgb,var(--brand) 40%,var(--border)); background:var(--brand-soft); }
.report-detail-back svg { width:16px; height:16px; }
#screen-customers .report-view-context > #reportViewIcon { width:38px; height:38px; }

[data-theme="dark"] .reporting-hub-head { background:var(--surface); }
[data-theme="dark"] .report-entry.management { --entry-tone:#e2b467; --entry-soft:#2f261b; }
[data-theme="dark"] .reporting-hub-foot { background:var(--canvas); }

@media(min-width:760px) {
  .reporting-hub-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .report-entry { min-height:142px; grid-template-columns:48px minmax(0,1fr); align-content:center; }
  .report-entry-arrow { position:absolute; right:12px; bottom:12px; }
  .report-entry-copy small { white-space:normal; }
}
@media(max-width:430px) {
  .reporting-hub-head { grid-template-columns:44px minmax(0,1fr); gap:10px; padding:13px; }
  .reporting-hub-mark { width:44px; height:44px; border-radius:12px; }
  .reporting-hub-head h2 { font-size:16px; }
  .reporting-hub-count { display:none; }
  .reporting-hub-grid { gap:8px; padding:10px; }
  .report-entry { min-height:94px; grid-template-columns:42px minmax(0,1fr) 32px; gap:9px; padding:11px; }
  .report-entry-icon { width:42px; height:42px; border-radius:12px; }
  .report-entry-copy strong { font-size:14px; }
  .report-entry-copy small { font-size:9px; }
  #screen-customers .report-view-context:not(.hidden) { grid-template-columns:44px 36px minmax(0,1fr); gap:8px; }
  .report-detail-back { width:44px; padding:0; font-size:0; }
  .report-detail-back svg { width:19px; height:19px; }
}
@media(prefers-reduced-motion:reduce) {
  .report-entry,.report-detail-back { transition:none!important; }
}

/* v58 — Restricted, auditable Customer Master import. */
.visually-hidden {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
.customer-import {
  overflow:hidden;
  margin:16px 0;
  border:1px solid var(--border);
  border-top:4px solid var(--brand);
  border-radius:20px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.customer-import-head {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:16px;
  border-bottom:1px solid var(--border);
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand-soft) 52%,var(--surface)),var(--surface) 64%);
}
.customer-import-head > div { min-width:0; }
.customer-import-head h2 { margin:1px 0 3px; color:var(--ink); font-size:19px; line-height:1.15; letter-spacing:-.025em; }
.customer-import-head p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.customer-import-icon {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#fff;
  border-radius:14px;
  background:var(--brand);
  box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 22%,transparent);
}
.customer-import-icon svg { width:23px; height:23px; stroke-width:2; }
.customer-import-badge {
  padding:6px 8px;
  color:var(--brand);
  border:1px solid color-mix(in srgb,var(--brand) 28%,var(--border));
  border-radius:999px;
  background:var(--brand-soft);
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
}
.customer-import-access {
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 14px 0;
  padding:10px 12px;
  color:var(--success);
  border:1px solid color-mix(in srgb,var(--success) 22%,var(--border));
  border-radius:13px;
  background:color-mix(in srgb,var(--success-soft) 55%,var(--surface));
}
.customer-import-access > span { width:30px; height:30px; display:grid; place-items:center; flex:0 0 30px; }
.customer-import-access svg { width:18px; height:18px; }
.customer-import-access p,.customer-import-empty p,.customer-import-loading p,.customer-import-error p,.customer-import-file p { min-width:0; display:grid; gap:2px; margin:0; }
.customer-import-access strong,.customer-import-empty strong,.customer-import-loading strong,.customer-import-error strong,.customer-import-file strong { color:var(--ink); font-size:12px; }
.customer-import-access small,.customer-import-empty small,.customer-import-loading small,.customer-import-error small,.customer-import-file small { color:var(--muted); font-size:11px; line-height:1.45; }
.customer-import-picker {
  min-height:82px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  margin:12px 14px 14px;
  padding:12px;
  color:var(--ink);
  border:1px dashed color-mix(in srgb,var(--brand) 46%,var(--border));
  border-radius:15px;
  background:var(--canvas);
  cursor:pointer;
  transition:border-color 170ms ease,background 170ms ease,transform 100ms ease;
}
.customer-import-picker:hover,.customer-import-picker:focus-within { border-color:var(--brand); background:color-mix(in srgb,var(--brand-soft) 28%,var(--surface)); }
.customer-import-picker:active { transform:scale(.992); }
.customer-import-picker > svg { width:42px; height:42px; padding:10px; color:var(--brand); border-radius:12px; background:var(--brand-soft); }
.customer-import-picker > span { min-width:0; display:grid; gap:2px; }
.customer-import-picker strong { font-size:13px; }
.customer-import-picker small { color:var(--muted); font-size:11px; }
.customer-import-picker em { min-width:58px; min-height:38px; display:grid; place-items:center; color:var(--brand); border:1px solid color-mix(in srgb,var(--brand) 28%,var(--border)); border-radius:10px; background:var(--surface); font-size:11px; font-style:normal; font-weight:850; }
.customer-import-output { border-top:1px solid var(--border); }
.customer-import-empty,.customer-import-loading,.customer-import-error,.customer-import-file {
  min-height:64px;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:13px 14px;
  background:var(--surface);
}
.customer-import-empty > span,.customer-import-error > span,.customer-import-file > span { width:34px; height:34px; display:grid; place-items:center; flex:0 0 34px; color:var(--success); border-radius:10px; background:var(--success-soft); }
.customer-import-empty svg,.customer-import-error svg,.customer-import-file svg { width:18px; height:18px; }
.customer-import-file { border-bottom:1px solid var(--border); }
.customer-import-file p { flex:1; }
.customer-import-file button,.customer-import-again { min-width:72px; min-height:44px; color:var(--brand); border:1px solid color-mix(in srgb,var(--brand) 30%,var(--border)); border-radius:11px; background:var(--brand-soft); font-size:11px; font-weight:850; cursor:pointer; }
.customer-import-loading .customer-import-spinner { margin:0 8px; }
.customer-import-spinner { width:20px; height:20px; display:inline-block; flex:0 0 20px; border:2px solid color-mix(in srgb,var(--brand) 22%,var(--border)); border-top-color:var(--brand); border-radius:50%; animation:customer-import-spin .8s linear infinite; }
@keyframes customer-import-spin { to { transform:rotate(360deg); } }
.customer-import-error { color:var(--danger); background:var(--danger-soft); }
.customer-import-error.inline { margin:10px 12px 0; padding:10px; border:1px solid color-mix(in srgb,var(--danger) 22%,var(--border)); border-radius:12px; }
.customer-import-error > span { color:var(--danger); background:color-mix(in srgb,var(--danger-soft) 78%,var(--surface)); }
.customer-import-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:12px; }
.customer-import-summary > div { min-height:82px; display:flex; flex-direction:column; justify-content:center; padding:10px; border:1px solid var(--border); border-top:3px solid var(--summary-tone); border-radius:13px; background:var(--surface); }
.customer-import-summary .new { --summary-tone:var(--success); }
.customer-import-summary .duplicate { --summary-tone:var(--warning); }
.customer-import-summary .invalid { --summary-tone:var(--danger); }
.customer-import-summary span { color:var(--summary-tone); font-size:23px; line-height:1; font-weight:900; letter-spacing:-.04em; }
.customer-import-summary strong { margin-top:6px; color:var(--ink); font-size:11px; }
.customer-import-summary small { color:var(--muted); font-size:9px; }
.customer-import-review { margin:0 12px 12px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.customer-import-review summary { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; color:var(--ink); cursor:pointer; font-size:12px; font-weight:850; }
.customer-import-review summary strong { color:var(--muted); font-size:10px; }
.customer-import-review ul { display:grid; gap:0; margin:0; padding:0; border-top:1px solid var(--border); list-style:none; }
.customer-import-row { --row-tone:var(--success); display:grid; grid-template-columns:62px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:56px; padding:8px 11px; border-bottom:1px solid var(--border); }
.customer-import-row:last-child { border-bottom:0; }
.customer-import-row.status-duplicate { --row-tone:var(--warning); }
.customer-import-row.status-invalid { --row-tone:var(--danger); }
.customer-import-row-code { overflow:hidden; padding:5px 6px; color:var(--ink); border-radius:8px; background:var(--canvas); font-size:9px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.customer-import-row > span:nth-child(2) { min-width:0; display:grid; gap:1px; }
.customer-import-row strong { overflow:hidden; color:var(--ink); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.customer-import-row small { overflow:hidden; color:var(--muted); font-size:9.5px; text-overflow:ellipsis; white-space:nowrap; }
.customer-import-row em { padding:4px 6px; color:var(--row-tone); border-radius:999px; background:color-mix(in srgb,var(--row-tone) 11%,var(--surface)); font-size:8px; font-style:normal; font-weight:900; white-space:nowrap; }
.customer-import-more { margin:0; padding:9px 12px; color:var(--muted); border-top:1px solid var(--border); font-size:10px; }
.customer-import-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 14px 14px; border-top:1px solid var(--border); background:var(--canvas); }
.customer-import-actions p { min-width:0; display:flex; align-items:center; gap:7px; margin:0; color:var(--success); }
.customer-import-actions p span { width:28px; height:28px; display:grid; place-items:center; flex:0 0 28px; }
.customer-import-actions p svg { width:16px; height:16px; }
.customer-import-actions p small { color:var(--muted); font-size:10px; line-height:1.4; }
.customer-import-actions .primary-button { width:auto; min-width:142px; margin:0; }
.customer-import-success { display:grid; grid-template-columns:42px minmax(0,1fr); gap:11px; margin:12px; padding:14px; color:var(--success); border:1px solid color-mix(in srgb,var(--success) 25%,var(--border)); border-radius:14px; background:var(--success-soft); }
.customer-import-success > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:var(--surface); }
.customer-import-success svg { width:21px; height:21px; }
.customer-import-success h3 { margin:2px 0 4px; color:var(--ink); font-size:16px; }
.customer-import-success p { margin:0; color:var(--muted); font-size:11px; line-height:1.45; }
.customer-import-again { margin:0 12px 14px; padding:0 12px; }

[data-theme="dark"] .customer-import-head { background:var(--surface); }
[data-theme="dark"] .customer-import-picker { background:var(--canvas); }

@media(max-width:430px) {
  .customer-import-head { grid-template-columns:44px minmax(0,1fr); padding:13px; }
  .customer-import-icon { width:44px; height:44px; border-radius:12px; }
  .customer-import-badge { display:none; }
  .customer-import-access { margin:11px 11px 0; }
  .customer-import-picker { margin:10px 11px 11px; }
  .customer-import-summary { gap:6px; padding:10px; }
  .customer-import-summary > div { min-height:76px; padding:8px; }
  .customer-import-summary span { font-size:21px; }
  .customer-import-actions { grid-template-columns:1fr; }
  .customer-import-actions .primary-button { width:100%; min-height:48px; }
  .customer-import-row { grid-template-columns:54px minmax(0,1fr); }
  .customer-import-row em { grid-column:2; justify-self:start; }
}
@media(prefers-reduced-motion:reduce) {
  .customer-import-picker { transition:none!important; }
  .customer-import-spinner { animation:none; }
}

/* v59 — Searchable People & Team merchandiser directory. */
.team-employee-native {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
.team-people-picker {
  display:grid;
  gap:10px;
  padding:13px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--canvas);
}
.team-people-picker-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.team-people-picker-head > div {
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:9px;
}
.team-people-picker-head .report-code {
  min-width:48px;
  height:38px;
  display:grid;
  place-items:center;
  color:var(--authority);
  border-radius:10px;
  background:var(--authority-soft);
  font-size:8px;
  letter-spacing:.08em;
}
.team-people-picker-head strong,.team-people-picker-head small { display:block; }
.team-people-picker-head strong { color:var(--ink); font-size:13px; line-height:1.25; }
.team-people-picker-head small { margin-top:2px; color:var(--muted); font-size:9.5px; line-height:1.35; }
.team-people-picker-head > span {
  flex:0 0 auto;
  padding:6px 8px;
  color:var(--success);
  border:1px solid color-mix(in srgb,var(--success) 22%,var(--border));
  border-radius:999px;
  background:var(--success-soft);
  font-size:9px;
  font-weight:850;
}
.team-people-search {
  min-height:48px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 38px;
  align-items:center;
  gap:7px;
  padding:4px 5px 4px 12px;
  border:1px solid var(--border-strong);
  border-radius:13px;
  background:var(--surface);
  transition:border-color 170ms ease,box-shadow 170ms ease,background 170ms ease;
}
.team-people-search:focus-within {
  border-color:var(--focus);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 14%,transparent);
}
.team-people-search-icon { width:22px; height:22px; display:grid; place-items:center; color:var(--muted); }
.team-people-search svg { width:19px; height:19px; }
.team-people-search input {
  min-width:0;
  min-height:40px;
  padding:0;
  color:var(--ink);
  border:0;
  outline:0;
  background:transparent;
  font:inherit;
  font-size:13px;
}
.team-people-search input::placeholder { color:color-mix(in srgb,var(--muted) 78%,transparent); }
.team-people-search button {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:var(--muted);
  border:0;
  border-radius:10px;
  background:var(--canvas);
  cursor:pointer;
}
.team-people-search button:hover,.team-people-search button:focus-visible { color:var(--brand); background:var(--brand-soft); }
.team-people-picker-list {
  display:grid;
  gap:7px;
  max-height:330px;
  overflow:auto;
  padding-right:2px;
  overscroll-behavior:contain;
  scrollbar-color:var(--border-strong) transparent;
}
.team-person-option {
  min-height:62px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto 18px;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  color:var(--ink);
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  text-align:left;
  cursor:pointer;
  transition:border-color 170ms ease,background 170ms ease,box-shadow 170ms ease,transform 100ms ease;
}
.team-person-option:hover,.team-person-option:focus-visible {
  border-color:color-mix(in srgb,var(--authority) 35%,var(--border));
  background:color-mix(in srgb,var(--authority-soft) 42%,var(--surface));
  box-shadow:var(--shadow-sm);
}
.team-person-option:active { transform:scale(.992); }
.team-person-option.selected {
  border-color:color-mix(in srgb,var(--success) 48%,var(--border));
  background:linear-gradient(90deg,var(--success-soft),var(--surface) 76%);
  box-shadow:inset 3px 0 0 var(--success);
}
.team-person-option.all { min-height:58px; }
.team-person-option-icon,.team-picker-avatar {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--authority-soft);
}
.team-person-option-icon { color:var(--authority); }
.team-person-option-icon svg { width:21px; height:21px; }
.team-picker-avatar { border-radius:12px; }
.team-person-option-copy { min-width:0; display:grid; gap:3px; }
.team-person-option-copy strong,.team-person-option-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.team-person-option-copy strong { color:var(--ink); font-size:12px; line-height:1.25; }
.team-person-option-copy small { color:var(--muted); font-size:9.5px; }
.team-person-option-status {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  color:var(--muted);
  border-radius:999px;
  background:var(--canvas);
  font-size:8.5px;
  font-weight:850;
  white-space:nowrap;
}
.team-person-option-status i { width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 3px color-mix(in srgb,currentColor 13%,transparent); }
.team-person-option-status.in-store,.team-person-option-status.active { color:var(--success); background:var(--success-soft); }
.team-person-option-status.pending-close { color:var(--warning); background:var(--warning-soft); }
.team-person-option-status.closed { color:var(--authority); background:var(--authority-soft); }
.team-person-option-count { min-width:30px; height:30px; display:grid; place-items:center; color:var(--authority); border-radius:9px; background:var(--authority-soft); font-size:12px; font-weight:900; }
.team-person-option-arrow { width:18px; height:18px; display:grid; place-items:center; color:var(--muted); }
.team-person-option.selected .team-person-option-arrow { color:var(--success); }
.team-person-option-arrow svg { width:16px; height:16px; }

@media(max-width:430px) {
  .team-people-picker { margin-inline:-2px; padding:10px; }
  .team-people-picker-head small { display:none; }
  .team-person-option { grid-template-columns:40px minmax(0,1fr) 18px; gap:8px; padding:8px; }
  .team-person-option-icon,.team-picker-avatar { width:40px; height:40px; }
  .team-person-option-status,.team-person-option-count { grid-column:2; justify-self:start; }
  .team-person-option-status { margin-top:-2px; }
  .team-person-option-arrow { grid-column:3; grid-row:1 / span 2; }
  .team-person-option.all { grid-template-columns:40px minmax(0,1fr) auto 18px; }
  .team-person-option.all .team-person-option-count { grid-column:3; grid-row:1; align-self:center; }
  .team-person-option.all .team-person-option-arrow { grid-column:4; grid-row:1; }
  .team-people-picker-list { max-height:300px; }
}
@media(prefers-reduced-motion:reduce) {
  .team-people-search,.team-person-option { transition:none!important; }
}

/* v60 — auditable route legs and unmistakably actionable KPI reporting. */
.person-route-leg {
  position:relative;
  width:100%;
  min-height:68px;
  display:grid;
  grid-template-columns:32px 38px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:8px 13px;
  color:var(--ink);
  border:0;
  border-bottom:1px solid var(--border);
  background:linear-gradient(90deg,color-mix(in srgb,var(--warning-soft) 62%,var(--surface)),var(--surface));
  text-align:left;
  cursor:pointer;
  touch-action:manipulation;
  transition:background 170ms ease,box-shadow 170ms ease;
}
.person-route-leg:hover,.person-route-leg:focus-visible { background:var(--warning-soft); box-shadow:inset 3px 0 0 var(--warning); }
.person-route-leg:active { background:color-mix(in srgb,var(--warning-soft) 78%,var(--surface)); }
.person-route-leg-line { align-self:stretch; display:grid; place-items:center; }
.person-route-leg-line::before,.person-route-leg-line::after { content:""; width:1px; height:calc(50% - 5px); background:var(--border-strong); }
.person-route-leg-line i { width:9px; height:9px; border:2px solid var(--warning); border-radius:50%; background:var(--surface); }
.person-route-leg-icon { width:38px; height:38px; display:grid; place-items:center; color:var(--warning); border-radius:11px; background:var(--warning-soft); }
.person-route-leg-icon svg { width:20px; height:20px; }
.person-route-leg-copy { min-width:0; display:grid; gap:2px; }
.person-route-leg-copy small { color:var(--warning); font-size:8px; font-weight:900; letter-spacing:.09em; }
.person-route-leg-copy strong { display:flex; align-items:center; gap:6px; color:var(--ink); font-size:12px; font-variant-numeric:tabular-nums; }
.person-route-leg-copy strong span { padding-right:7px; border-right:1px solid var(--border-strong); }
.person-route-leg-copy strong span:last-child { padding-right:0; border-right:0; }
.person-route-leg-copy em { overflow:hidden; color:var(--muted); font-size:8.5px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.person-route-leg-open { min-width:48px; display:flex; align-items:center; justify-content:flex-end; gap:3px; color:var(--warning); }
.person-route-leg-open small { font-size:8px; font-weight:850; }
.person-route-leg-open svg { width:15px; height:15px; }
.person-route-leg.is-incomplete { --warning:var(--muted); --warning-soft:var(--canvas); }

.person-kpi-summary-card { min-height:76px; grid-template-columns:42px minmax(0,1fr) 54px; cursor:pointer; touch-action:manipulation; }
.person-kpi-summary-card strong i { color:var(--muted); font-size:10px; font-style:normal; font-weight:750; }
.person-kpi-open { min-width:48px; display:flex; align-items:center; justify-content:flex-end; gap:2px; color:var(--success); }
.person-kpi-open small { color:inherit; font-size:8px; }
.person-kpi-open svg { width:15px; height:15px; }
.person-kpi-modal-guide { min-height:58px; display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:10px; margin-bottom:10px; padding:10px 12px; color:var(--authority); border:1px solid var(--border); border-radius:12px; background:var(--authority-soft); font-size:10px; line-height:1.45; }
.person-kpi-modal-guide svg { width:22px; height:22px; }
.person-kpi-visit-row { min-height:72px; grid-template-columns:36px minmax(0,1fr) auto 16px; cursor:pointer; touch-action:manipulation; }
.person-kpi-visit-row.recorded { border-left:3px solid var(--success); }
.person-kpi-visit-row.attention { border-left:3px solid var(--warning); }
.person-kpi-row-state { padding:5px 7px; color:var(--muted); border-radius:999px; background:var(--canvas); font-size:8px; font-weight:850; white-space:nowrap; }
.person-kpi-visit-row.recorded .person-kpi-row-state { color:var(--success); background:var(--success-soft); }
.person-kpi-visit-row.attention .person-kpi-row-state { color:var(--warning); background:var(--warning-soft); }

.route-leg-modal { display:grid; gap:12px; }
.route-leg-hero { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:start; gap:12px; padding:16px; color:var(--ink); border:1px solid var(--border); border-radius:16px; background:linear-gradient(135deg,var(--warning-soft),var(--surface)); }
.route-leg-hero > span { width:48px; height:48px; display:grid; place-items:center; color:var(--warning); border-radius:14px; background:var(--surface); box-shadow:var(--shadow-sm); }
.route-leg-hero > span svg { width:25px; height:25px; }
.route-leg-hero > div { min-width:0; display:grid; gap:4px; }
.route-leg-hero small { color:var(--warning); font-size:8px; font-weight:900; letter-spacing:.1em; }
.route-leg-hero strong { overflow-wrap:anywhere; font-size:13px; line-height:1.35; }
.route-leg-hero i { color:var(--muted); font-size:9px; font-style:normal; font-weight:800; text-transform:uppercase; }
.route-leg-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.route-leg-metrics > div { min-height:116px; display:grid; grid-template-columns:32px minmax(0,1fr); align-content:start; gap:4px 8px; padding:12px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.route-leg-metrics > div > span { grid-row:1 / span 2; width:32px; height:32px; display:grid; place-items:center; color:var(--warning); border-radius:9px; background:var(--warning-soft); }
.route-leg-metrics svg { width:18px; height:18px; }
.route-leg-metrics small { align-self:end; color:var(--muted); font-size:8.5px; font-weight:800; }
.route-leg-metrics strong { color:var(--ink); font-size:18px; font-variant-numeric:tabular-nums; }
.route-leg-metrics em { grid-column:1/-1; margin-top:5px; color:var(--muted); font-size:8.5px; font-style:normal; line-height:1.4; }
.route-leg-map-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.route-leg-map-actions > a,.route-leg-map-actions > span { min-height:58px; display:grid; grid-template-columns:24px minmax(0,1fr); align-items:center; gap:8px; padding:10px; color:var(--success); border:1px solid color-mix(in srgb,var(--success) 28%,var(--border)); border-radius:13px; background:var(--success-soft); text-decoration:none; }
.route-leg-map-actions > a:hover,.route-leg-map-actions > a:focus-visible { border-color:var(--success); }
.route-leg-map-actions > .unavailable { color:var(--warning); border-color:color-mix(in srgb,var(--warning) 28%,var(--border)); background:var(--warning-soft); }
.route-leg-map-actions svg { width:21px; height:21px; }
.route-leg-map-actions strong,.route-leg-map-actions small { display:block; }
.route-leg-map-actions strong { font-size:9.5px; }
.route-leg-map-actions small { margin-top:2px; color:inherit; font-size:8px; opacity:.78; }
.route-leg-directions { min-height:72px; display:grid; grid-template-columns:38px minmax(0,1fr) 24px; align-items:center; gap:11px; padding:12px 14px; color:var(--on-authority); border:1px solid var(--authority); border-radius:15px; background:linear-gradient(120deg,var(--authority),color-mix(in srgb,var(--authority) 76%,var(--success))); box-shadow:0 8px 20px color-mix(in srgb,var(--authority) 18%,transparent); text-decoration:none; touch-action:manipulation; transition:transform 100ms ease,box-shadow 160ms ease,border-color 160ms ease; }
.route-leg-directions:hover,.route-leg-directions:focus-visible { border-color:var(--success); box-shadow:0 10px 24px color-mix(in srgb,var(--authority) 26%,transparent); transform:translateY(-1px); }
.route-leg-directions:active { transform:translateY(0); }
.route-leg-directions-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:color-mix(in srgb,var(--on-authority) 14%,transparent); }
.route-leg-directions-icon svg,.route-leg-directions-arrow svg { width:21px; height:21px; }
.route-leg-directions > span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.route-leg-directions small { color:color-mix(in srgb,var(--on-authority) 82%,transparent); font-size:7.5px; font-weight:900; letter-spacing:.09em; }
.route-leg-directions strong { font-size:12px; line-height:1.25; }
.route-leg-directions em { overflow:hidden; color:color-mix(in srgb,var(--on-authority) 78%,transparent); font-size:8px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.route-leg-directions-arrow { display:grid; place-items:center; }
.route-leg-directions.is-unavailable { grid-template-columns:38px minmax(0,1fr); color:var(--warning); border-color:color-mix(in srgb,var(--warning) 35%,var(--border)); background:var(--warning-soft); box-shadow:none; }
.route-leg-method { margin:0; padding:11px 12px; color:var(--muted); border-radius:12px; background:var(--canvas); font-size:9px; line-height:1.5; }

@media(max-width:430px) {
  .person-route-leg { grid-template-columns:28px 34px minmax(0,1fr) 16px; min-height:66px; padding:7px 10px; }
  .person-route-leg-icon { width:34px; height:34px; }
  .person-route-leg-open { min-width:16px; }
  .person-route-leg-open small { display:none; }
  .person-kpi-summary-card { grid-template-columns:40px minmax(0,1fr) 46px; }
  .person-kpi-visit-row { grid-template-columns:34px minmax(0,1fr) 14px; }
  .person-kpi-row-state { grid-column:2; justify-self:start; }
  .person-kpi-visit-row > svg { grid-column:3; grid-row:1 / span 2; }
  .route-leg-metrics,.route-leg-map-actions { grid-template-columns:1fr; }
  .route-leg-metrics > div { min-height:94px; }
}
@media(prefers-reduced-motion:reduce) {
  .person-route-leg,.route-leg-directions { transition:none!important; }
}

/* v61 — executive command summary: hierarchy before decoration. */
.ops-overview {
  overflow:hidden;
  border-top:0;
  border-radius:22px;
  box-shadow:0 14px 38px rgba(19,32,43,.1);
}
.ops-overview-head {
  min-height:86px;
  padding:17px 18px 15px;
  background:linear-gradient(105deg,var(--surface) 0%,color-mix(in srgb,var(--brand-soft) 32%,var(--surface)) 100%);
}
.ops-overview-head h1 { margin-top:6px; font-size:clamp(24px,4vw,31px); line-height:1.04; letter-spacing:-.045em; }
.ops-overview-head p { margin-top:7px; font-size:10px; letter-spacing:.005em; }
.ops-command-layout {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,1.18fr) minmax(245px,.92fr);
  gap:10px;
  padding:12px;
  background:var(--canvas);
}
.ops-lead-metric,
.ops-time-command,
.ops-status-stack {
  min-width:0;
  border:1px solid var(--border);
  border-radius:17px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.ops-lead-metric {
  position:relative;
  overflow:hidden;
  min-height:228px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:17px;
  color:var(--ink);
  border-color:color-mix(in srgb,var(--brand) 24%,var(--border));
  text-align:left;
  cursor:pointer;
  touch-action:manipulation;
  transition:border-color 170ms ease,box-shadow 170ms ease,transform 100ms ease;
}
.ops-lead-metric::after {
  position:absolute;
  right:-43px;
  bottom:-62px;
  width:155px;
  height:155px;
  border:24px solid color-mix(in srgb,var(--brand-soft) 72%,transparent);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.ops-lead-metric:hover,.ops-lead-metric:focus-visible { border-color:var(--brand); box-shadow:0 11px 28px color-mix(in srgb,var(--brand) 12%,transparent); }
.ops-lead-metric:active { transform:scale(.992); }
.ops-lead-top { position:relative; z-index:1; width:100%; display:grid; grid-template-columns:34px minmax(0,1fr) 17px; align-items:center; gap:9px; color:var(--brand); font-size:9px; font-weight:900; letter-spacing:.105em; text-transform:uppercase; }
.ops-lead-top > svg { width:17px; height:17px; }
.ops-lead-icon { width:34px; height:34px; display:grid; place-items:center; color:var(--brand); border-radius:10px; background:var(--brand-soft); }
.ops-lead-icon svg { width:18px; height:18px; }
.ops-lead-metric > strong { position:relative; z-index:1; margin-top:17px; color:var(--ink); font-size:51px; line-height:.88; letter-spacing:-.065em; font-variant-numeric:tabular-nums; }
.ops-lead-metric h2 { position:relative; z-index:1; margin:8px 0 0; color:var(--ink); font-size:16px; line-height:1.12; letter-spacing:-.025em; }
.ops-lead-context { position:relative; z-index:1; display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:8px; color:var(--muted); font-size:9px; }
.ops-lead-context b { color:var(--ink); font-size:10px; }
.ops-lead-context i { width:3px; height:3px; border-radius:50%; background:var(--subtle); }
.ops-lead-foot { position:relative; z-index:1; width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:13px; border-top:1px solid var(--border); }
.ops-lead-foot > span { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:8.5px; }
.ops-lead-foot svg { width:15px; height:15px; color:var(--success); }
.ops-lead-foot b { color:var(--ink); font-size:10px; }
.ops-lead-foot em { color:var(--brand); font-size:8px; font-style:normal; font-weight:850; }
.ops-time-command { min-height:228px; display:flex; flex-direction:column; padding:10px; }
.ops-time-total {
  min-height:78px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 17px;
  align-items:center;
  gap:11px;
  padding:10px;
  color:var(--ink);
  border:0;
  border-radius:12px;
  background:transparent;
  text-align:left;
  cursor:pointer;
  touch-action:manipulation;
}
.ops-time-total:hover,.ops-time-total:focus-visible { background:var(--authority-soft); }
.ops-time-icon { width:42px; height:42px; display:grid; place-items:center; color:var(--authority); border-radius:12px; background:var(--authority-soft); }
.ops-time-icon svg { width:21px; height:21px; }
.ops-time-total > span:nth-child(2) { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:1px 9px; }
.ops-time-total small { grid-column:1; color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.ops-time-total strong { grid-column:1; color:var(--ink); font-size:27px; line-height:1.05; letter-spacing:-.045em; font-variant-numeric:tabular-nums; }
.ops-time-total em { grid-column:2; grid-row:1 / span 2; align-self:center; color:var(--muted); font-size:8px; font-style:normal; }
.ops-time-total > svg { width:17px; height:17px; color:var(--subtle); }
.ops-allocation-track { overflow:hidden; height:9px; display:flex; margin:6px 10px 12px; border-radius:999px; background:var(--border); }
.ops-allocation-track span { min-width:0; height:100%; }
.ops-allocation-track .onsite { background:var(--success); }
.ops-allocation-track .travel { background:var(--info); }
.ops-time-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:auto; }
.ops-time-split button {
  min-width:0;
  min-height:105px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 14px;
  align-items:start;
  gap:8px;
  padding:11px 9px;
  color:var(--ink);
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--canvas);
  text-align:left;
  cursor:pointer;
  touch-action:manipulation;
  transition:border-color 170ms ease,background 170ms ease,transform 100ms ease;
}
.ops-time-split button:hover,.ops-time-split button:focus-visible { border-color:var(--authority); background:var(--surface); }
.ops-time-split button:active { transform:scale(.985); }
.ops-time-split button > span:first-child { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; }
.ops-time-split button > span:first-child svg { width:18px; height:18px; }
.ops-time-split .onsite { color:var(--success); background:var(--success-soft); }
.ops-time-split .travel { color:var(--info); background:var(--info-soft); }
.ops-time-split button > span:nth-child(2) { min-width:0; display:grid; gap:3px; }
.ops-time-split small { color:var(--muted); font-size:8px; font-weight:850; }
.ops-time-split strong { overflow:hidden; color:var(--ink); font-size:17px; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.ops-time-split em { color:var(--muted); font-size:8px; font-style:normal; }
.ops-time-split button > svg { align-self:center; width:14px; height:14px; color:var(--subtle); }
.ops-status-stack { overflow:hidden; display:grid; grid-template-rows:repeat(4,minmax(52px,1fr)); }
.ops-status-row {
  --status-color:var(--authority);
  --status-soft:var(--authority-soft);
  min-width:0;
  min-height:54px;
  display:grid;
  grid-template-columns:34px 30px minmax(0,1fr) 14px;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  color:var(--ink);
  border:0;
  border-bottom:1px solid var(--border);
  background:var(--surface);
  text-align:left;
  cursor:pointer;
  touch-action:manipulation;
  transition:background 170ms ease,box-shadow 170ms ease;
}
.ops-status-row:last-child { border-bottom:0; }
.ops-status-row.success { --status-color:var(--success); --status-soft:var(--success-soft); }
.ops-status-row.info { --status-color:var(--info); --status-soft:var(--info-soft); }
.ops-status-row.warning { --status-color:var(--warning); --status-soft:var(--warning-soft); }
.ops-status-row:hover,.ops-status-row:focus-visible { background:var(--status-soft); box-shadow:inset 3px 0 0 var(--status-color); }
.ops-status-icon { width:34px; height:34px; display:grid; place-items:center; color:var(--status-color); border-radius:10px; background:var(--status-soft); }
.ops-status-icon svg { width:17px; height:17px; }
.ops-status-value { color:var(--ink); font-size:20px; font-weight:900; line-height:1; text-align:center; font-variant-numeric:tabular-nums; }
.ops-status-copy { min-width:0; display:grid; gap:2px; }
.ops-status-copy strong,.ops-status-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ops-status-copy strong { color:var(--ink); font-size:10px; }
.ops-status-copy small { color:var(--muted); font-size:8px; }
.ops-status-row > svg { width:14px; height:14px; color:var(--subtle); }

@media(max-width:760px) {
  .ops-command-layout { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ops-status-stack { grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(54px,auto)); }
  .ops-status-row:nth-child(odd) { border-right:1px solid var(--border); }
  .ops-status-row:nth-child(3) { border-bottom:0; }
}
@media(max-width:430px) {
  .ops-overview { border-radius:18px; }
  .ops-overview-head { min-height:78px; padding:14px; }
  .ops-overview-head h1 { font-size:23px; }
  .ops-overview-head p { max-width:235px; line-height:1.35; }
  .ops-command-layout { grid-template-columns:1fr; gap:8px; padding:8px; }
  .ops-lead-metric { min-height:205px; padding:15px; }
  .ops-lead-metric > strong { margin-top:14px; font-size:46px; }
  .ops-time-command { min-height:218px; }
  .ops-time-total { min-height:72px; }
  .ops-time-total em { display:none; }
  .ops-time-split button { min-height:98px; }
  .ops-status-stack { grid-column:auto; grid-template-columns:1fr; grid-template-rows:repeat(4,minmax(58px,auto)); }
  .ops-status-row { grid-template-columns:34px 30px minmax(0,1fr) 14px; gap:8px; padding:9px 10px; }
  .ops-status-row:nth-child(odd) { border-right:0; }
  .ops-status-row:nth-child(3) { border-bottom:1px solid var(--border); }
  .ops-status-icon { width:32px; height:32px; }
  .ops-status-value { font-size:18px; }
  .ops-status-copy small { font-size:8px; }
}
@media(orientation:landscape) and (max-height:560px) {
  .bottom-nav { position:relative; top:auto; bottom:auto; }
  .ops-command-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(230px,.9fr); }
  .ops-status-stack { grid-column:auto; grid-template-columns:1fr; grid-template-rows:repeat(4,minmax(52px,1fr)); }
  .ops-status-row:nth-child(odd) { border-right:0; }
  .ops-status-row:nth-child(3) { border-bottom:1px solid var(--border); }
}
@media(prefers-reduced-motion:reduce) {
  .ops-lead-metric,.ops-time-split button,.ops-status-row { transition:none!important; }
}

/* v62 — one cohesive command console; less repetition, stronger information hierarchy. */
.ops-overview { border:1px solid var(--border); border-top:3px solid var(--brand); }
.ops-overview-head {
  min-height:78px;
  padding:14px 16px 13px;
  background:var(--surface);
}
.ops-overview-head h1 { margin-top:4px; font-size:26px; }
.ops-overview-head p { margin-top:5px; }
.ops-command-console {
  display:grid;
  gap:9px;
  padding:11px;
  border-top:1px solid var(--border);
  background:color-mix(in srgb,var(--canvas) 72%,var(--surface));
}
.ops-performance-row {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);
  gap:8px;
}
.ops-visit-progress,
.ops-live-brief,
.ops-time-brief,
.ops-action-row {
  min-width:0;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.ops-visit-progress {
  min-height:142px;
  display:grid;
  grid-template-columns:92px minmax(0,1fr) 18px;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  color:var(--ink);
  border-left:4px solid var(--brand);
  text-align:left;
  cursor:pointer;
  touch-action:manipulation;
  transition:border-color 170ms ease,background 170ms ease,box-shadow 170ms ease,transform 100ms ease;
}
.ops-visit-progress:hover,.ops-visit-progress:focus-visible { border-color:var(--brand); background:color-mix(in srgb,var(--brand-soft) 38%,var(--surface)); box-shadow:0 9px 24px color-mix(in srgb,var(--brand) 10%,transparent); }
.ops-visit-progress:active { transform:scale(.992); }
.ops-progress-ring {
  --completion:0deg;
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--brand) 0 var(--completion),var(--border) var(--completion) 360deg);
}
.ops-progress-ring > span { width:68px; height:68px; display:grid; place-content:center; justify-items:center; border-radius:50%; background:var(--surface); }
.ops-progress-ring strong { color:var(--ink); font-size:29px; line-height:.9; letter-spacing:-.05em; font-variant-numeric:tabular-nums; }
.ops-progress-ring small { margin-top:5px; color:var(--muted); font-size:8px; font-weight:800; }
.ops-visit-copy { min-width:0; display:grid; gap:5px; }
.ops-visit-copy small { color:var(--brand); font-size:8.5px; font-weight:900; letter-spacing:.12em; }
.ops-visit-copy strong { color:var(--ink); font-size:18px; line-height:1.12; letter-spacing:-.025em; }
.ops-visit-copy em { color:var(--muted); font-size:9.5px; font-style:normal; }
.ops-visit-progress > svg { width:18px; height:18px; color:var(--brand); }
.ops-live-brief { overflow:hidden; display:grid; grid-template-rows:repeat(2,minmax(66px,1fr)); }
.ops-live-brief .ops-status-row { min-height:66px; border-bottom:1px solid var(--border); }
.ops-live-brief .ops-status-row:last-child { border-bottom:0; }
.ops-status-row { grid-template-columns:38px minmax(0,1fr) 16px; padding:9px 11px; }
.ops-status-icon { width:38px; height:38px; border-radius:11px; }
.ops-status-icon svg { width:19px; height:19px; }
.ops-status-copy > span { min-width:0; display:flex; align-items:baseline; gap:8px; }
.ops-status-value { flex:0 0 auto; color:var(--ink); font-size:23px; font-weight:900; line-height:1; font-variant-numeric:tabular-nums; }
.ops-status-copy strong { font-size:11px; }
.ops-status-copy small { font-size:8.5px; }
.ops-time-brief {
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:8px 12px;
  padding:10px;
}
.ops-time-brief .ops-time-total {
  grid-column:1;
  grid-row:1 / span 2;
  min-height:96px;
  grid-template-columns:42px minmax(0,1fr) auto 16px;
  padding:10px 11px;
  border:1px solid var(--border);
  background:var(--canvas);
}
.ops-time-brief .ops-time-total > span:nth-child(2) { display:grid; grid-template-columns:1fr; gap:3px; }
.ops-time-brief .ops-time-total small,.ops-time-brief .ops-time-total strong { grid-column:auto; }
.ops-time-brief .ops-time-total > em { display:block; grid-column:auto; grid-row:auto; align-self:center; color:var(--authority); font-size:8px; font-style:normal; font-weight:850; white-space:nowrap; }
.ops-time-brief .ops-time-total strong { font-size:24px; }
.ops-time-brief .ops-allocation-track { grid-column:2; grid-row:1; height:8px; margin:4px 2px 0; }
.ops-time-brief .ops-time-split { grid-column:2; grid-row:2; margin:0; }
.ops-time-brief .ops-time-split button { min-height:80px; padding:9px; background:var(--surface); }
.ops-time-brief .ops-time-split strong { font-size:16px; }
.ops-action-row { overflow:hidden; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ops-action-row .ops-status-row { min-height:62px; border-bottom:0; }
.ops-action-row .ops-status-row:first-child { border-right:1px solid var(--border); }

@media(max-width:720px) {
  .ops-performance-row { grid-template-columns:minmax(0,1.1fr) minmax(205px,.9fr); }
  .ops-time-brief { grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr); }
  .ops-time-brief .ops-time-total > em { display:none; }
}
@media(max-width:430px) {
  .ops-overview { border-radius:17px; }
  .ops-overview-head { min-height:70px; padding:12px 13px 11px; }
  .ops-overview-head h1 { font-size:22px; }
  .ops-command-console { gap:7px; padding:7px; }
  .ops-performance-row { grid-template-columns:1fr; gap:7px; }
  .ops-visit-progress { min-height:124px; grid-template-columns:78px minmax(0,1fr) 16px; gap:11px; padding:12px; }
  .ops-progress-ring { width:76px; height:76px; }
  .ops-progress-ring > span { width:60px; height:60px; }
  .ops-progress-ring strong { font-size:26px; }
  .ops-visit-copy strong { font-size:16px; }
  .ops-live-brief { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:1fr; }
  .ops-live-brief .ops-status-row { min-height:64px; grid-template-columns:32px minmax(0,1fr) 12px; gap:7px; padding:8px; border-bottom:0; }
  .ops-live-brief .ops-status-row:first-child { border-right:1px solid var(--border); }
  .ops-live-brief .ops-status-icon { width:32px; height:32px; }
  .ops-live-brief .ops-status-value { font-size:18px; }
  .ops-live-brief .ops-status-copy > span { gap:5px; }
  .ops-live-brief .ops-status-copy strong { font-size:9.5px; }
  .ops-live-brief .ops-status-copy small { font-size:7.5px; }
  .ops-time-brief { grid-template-columns:1fr; grid-template-rows:auto auto auto; gap:7px; padding:8px; }
  .ops-time-brief .ops-time-total { grid-column:1; grid-row:1; min-height:62px; grid-template-columns:36px minmax(0,1fr) auto 14px; padding:7px 8px; }
  .ops-time-brief .ops-time-icon { width:36px; height:36px; }
  .ops-time-brief .ops-time-total > em { display:block; }
  .ops-time-brief .ops-time-total strong { font-size:21px; }
  .ops-time-brief .ops-allocation-track { grid-column:1; grid-row:2; margin:1px 2px; }
  .ops-time-brief .ops-time-split { grid-column:1; grid-row:3; }
  .ops-time-brief .ops-time-split button { min-height:74px; }
  .ops-action-row .ops-status-row { min-height:62px; grid-template-columns:32px minmax(0,1fr) 12px; gap:7px; padding:8px; }
  .ops-action-row .ops-status-icon { width:32px; height:32px; }
  .ops-action-row .ops-status-value { font-size:18px; }
  .ops-action-row .ops-status-copy > span { gap:5px; }
  .ops-action-row .ops-status-copy strong { font-size:9.5px; }
  .ops-action-row .ops-status-copy small { font-size:7.5px; }
}
@media(prefers-reduced-motion:reduce) {
  .ops-visit-progress { transition:none!important; }
}

/* v63 — concise executive dashboard and Telegram-safe product identity. */
body.telegram-host .topbar {
  min-height:76px;
  padding-top:max(10px,var(--app-safe-top));
  padding-right:max(clamp(88px,19vw,140px),var(--app-safe-right));
  padding-left:max(clamp(112px,22vw,158px),var(--app-safe-left));
}
body.telegram-host .topbar-copy { text-align:center; }
body.telegram-host .topbar-copy > span { justify-content:center; }

.ops-overview {
  overflow:hidden;
  border:1px solid var(--border);
  border-top:0;
  border-radius:20px;
  background:var(--surface);
  box-shadow:0 14px 34px rgba(12,41,66,.09);
}
.ops-overview-head {
  min-height:72px;
  padding:13px 15px;
  border-bottom:1px solid var(--border);
  border-left:4px solid var(--brand);
  background:linear-gradient(100deg,var(--surface),color-mix(in srgb,var(--brand-soft) 28%,var(--surface)));
}
.ops-overview-head h1 { margin-top:4px; font-size:24px; letter-spacing:-.04em; }
.ops-overview-head p { margin-top:5px; font-size:9.5px; }
.ops-executive-grid {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,1.08fr) minmax(250px,.9fr);
  gap:9px;
  padding:10px;
  background:color-mix(in srgb,var(--canvas) 74%,var(--surface));
}
.ops-executive-card {
  min-width:0;
  min-height:166px;
  color:var(--ink);
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
button.ops-executive-card {
  text-align:left;
  cursor:pointer;
  touch-action:manipulation;
  transition:border-color 180ms ease,background 180ms ease,box-shadow 180ms ease,transform 100ms ease;
}
button.ops-executive-card:hover,button.ops-executive-card:focus-visible {
  border-color:color-mix(in srgb,var(--brand) 48%,var(--border));
  background:color-mix(in srgb,var(--brand-soft) 22%,var(--surface));
  box-shadow:0 9px 22px color-mix(in srgb,var(--brand) 9%,transparent);
}
button.ops-executive-card:active { transform:scale(.992); }
.ops-visit-overview {
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:15px;
  border-left:4px solid var(--brand);
}
.ops-visit-overview .ops-progress-ring { width:76px; height:76px; }
.ops-visit-overview .ops-progress-ring > span { width:59px; height:59px; }
.ops-visit-overview .ops-progress-ring strong { font-size:20px; letter-spacing:-.04em; }
.ops-visit-overview .ops-progress-ring small { margin-top:3px; font-size:7px; }
.ops-visit-copy { min-width:0; display:grid; gap:5px; }
.ops-visit-copy > small { color:var(--brand); font-size:8px; font-weight:900; letter-spacing:.13em; }
.ops-visit-copy > strong { color:var(--ink); font-size:21px; line-height:1.05; letter-spacing:-.035em; }
.ops-visit-copy > em { color:var(--muted); font-size:9px; font-style:normal; }
.ops-card-link { display:flex; align-items:center; gap:4px; margin-top:6px; color:var(--brand); font-size:8px; font-weight:850; }
.ops-card-link svg { width:13px; height:13px; }

.ops-allocation-card {
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  align-items:center;
  gap:13px;
  padding:13px;
  border-left:4px solid var(--success);
}
.ops-allocation-donut {
  width:96px;
  height:96px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--success) 0 var(--onsite-stop),var(--info) var(--onsite-stop) var(--travel-stop),var(--border) var(--travel-stop) 360deg);
}
.ops-allocation-donut > span {
  width:70px;
  height:70px;
  display:grid;
  place-content:center;
  justify-items:center;
  border-radius:50%;
  background:var(--surface);
  box-shadow:inset 0 0 0 1px var(--border);
}
.ops-allocation-donut strong { color:var(--ink); font-size:16px; line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.ops-allocation-donut small { margin-top:5px; color:var(--muted); font-size:7px; font-weight:800; }
.ops-allocation-legend { min-width:0; display:grid; gap:7px; }
.ops-allocation-legend > span {
  min-width:0;
  display:grid;
  grid-template-columns:8px minmax(0,1fr) auto 29px;
  align-items:center;
  gap:6px;
  padding-bottom:6px;
  border-bottom:1px solid var(--border);
}
.ops-allocation-legend > span:last-child { padding-bottom:0; border-bottom:0; }
.ops-allocation-legend i { width:8px; height:8px; border-radius:50%; }
.ops-allocation-legend i.onsite { background:var(--success); }
.ops-allocation-legend i.travel { background:var(--info); }
.ops-allocation-legend i.other { background:var(--subtle); }
.ops-allocation-legend small { overflow:hidden; color:var(--muted); font-size:8px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.ops-allocation-legend strong { color:var(--ink); font-size:11px; font-variant-numeric:tabular-nums; }
.ops-allocation-legend em { color:var(--subtle); font-size:8px; font-style:normal; text-align:right; }

.ops-pulse-card { overflow:hidden; display:grid; grid-template-rows:auto 1fr; }
.ops-pulse-card > header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:11px 12px 9px;
  border-bottom:1px solid var(--border);
}
.ops-pulse-card > header div { min-width:0; display:grid; gap:2px; }
.ops-pulse-card > header small { color:var(--authority); font-size:7.5px; font-weight:900; letter-spacing:.12em; }
.ops-pulse-card > header strong { overflow:hidden; color:var(--ink); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.ops-pulse-card > header > span { flex:0 0 auto; padding:4px 7px; color:var(--muted); border:1px solid var(--border); border-radius:999px; background:var(--canvas); font-size:7px; font-weight:800; }
.ops-pulse-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ops-pulse-grid .ops-status-row {
  min-height:56px;
  grid-template-columns:30px minmax(0,1fr) 11px;
  gap:6px;
  padding:7px;
  border:0;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.ops-pulse-grid .ops-status-row:nth-child(even) { border-right:0; }
.ops-pulse-grid .ops-status-row:nth-last-child(-n+2) { border-bottom:0; }
.ops-pulse-grid .ops-status-icon { width:30px; height:30px; border-radius:9px; }
.ops-pulse-grid .ops-status-icon svg { width:15px; height:15px; }
.ops-pulse-grid .ops-status-copy > span { gap:5px; }
.ops-pulse-grid .ops-status-value { font-size:17px; }
.ops-pulse-grid .ops-status-copy strong { font-size:8.5px; }
.ops-pulse-grid .ops-status-copy small { font-size:7px; }
.ops-pulse-grid .ops-status-row > svg { width:11px; height:11px; }

.pulse-person-meta em:first-child { display:inline-flex; align-items:center; gap:3px; color:var(--authority); }
.pulse-person-meta svg { width:10px; height:10px; stroke-width:2; }

@media(max-width:820px) {
  .ops-executive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ops-pulse-card { grid-column:1 / -1; min-height:140px; }
}
@media(max-width:430px) {
  body.telegram-host .topbar {
    min-height:70px;
    padding-right:max(88px,var(--app-safe-right));
    padding-left:max(112px,var(--app-safe-left));
  }
  body.telegram-host .topbar-copy strong { font-size:12px; }
  body.telegram-host .topbar-copy > span { display:none; }
  .ops-overview { border-radius:16px; }
  .ops-overview-head { min-height:66px; padding:11px 12px; }
  .ops-overview-head h1 { font-size:20px; }
  .ops-overview-head p { font-size:8px; }
  .ops-executive-grid { grid-template-columns:1fr; gap:7px; padding:7px; }
  .ops-executive-card { min-height:0; border-radius:13px; }
  .ops-visit-overview { min-height:112px; grid-template-columns:70px minmax(0,1fr); gap:11px; padding:11px; }
  .ops-visit-overview .ops-progress-ring { width:68px; height:68px; }
  .ops-visit-overview .ops-progress-ring > span { width:53px; height:53px; }
  .ops-visit-overview .ops-progress-ring strong { font-size:18px; }
  .ops-visit-copy > strong { font-size:18px; }
  .ops-card-link { margin-top:3px; }
  .ops-allocation-card { min-height:122px; grid-template-columns:86px minmax(0,1fr); gap:10px; padding:10px; }
  .ops-allocation-donut { width:80px; height:80px; }
  .ops-allocation-donut > span { width:59px; height:59px; }
  .ops-allocation-donut strong { font-size:14px; }
  .ops-allocation-legend { gap:5px; }
  .ops-allocation-legend > span { grid-template-columns:7px minmax(0,1fr) auto 27px; gap:5px; padding-bottom:5px; }
  .ops-pulse-card { grid-column:auto; min-height:141px; }
  .ops-pulse-card > header { padding:9px 10px 8px; }
  .ops-pulse-grid .ops-status-row { min-height:52px; }
  .team-board { margin-top:10px; }
  .pulse-person-meta { gap:3px 6px; }
}
@media(orientation:landscape) and (max-height:560px) {
  body.telegram-host .topbar {
    padding-right:max(clamp(88px,19vw,140px),var(--app-safe-right));
    padding-left:max(clamp(112px,22vw,158px),var(--app-safe-left));
  }
  .ops-executive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ops-pulse-card { grid-column:auto; }
  .ops-allocation-card { grid-template-columns:74px minmax(0,1fr); gap:7px; padding:8px; }
  .ops-allocation-donut { width:70px; height:70px; }
  .ops-allocation-donut > span { width:52px; height:52px; }
  .ops-allocation-donut strong { font-size:12px; }
  .ops-allocation-legend > span { grid-template-columns:7px minmax(46px,1fr) auto 24px; gap:4px; }
  .ops-allocation-legend small { font-size:7px; }
  .ops-allocation-legend strong { font-size:9px; }
  .ops-allocation-legend em { font-size:7px; }
}
@media(prefers-reduced-motion:reduce) {
  button.ops-executive-card { transition:none!important; }
}

/* v64 — operational state surfaces for the people-in-field board. */
.pulse-person {
  --person-state-accent:var(--subtle);
  --person-state-surface:var(--canvas);
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--person-state-accent) 28%,var(--border));
  border-left:4px solid var(--person-state-accent);
  background:linear-gradient(105deg,var(--person-state-surface),color-mix(in srgb,var(--person-state-surface) 26%,var(--surface)) 62%,var(--surface));
  box-shadow:0 7px 18px color-mix(in srgb,var(--person-state-accent) 7%,transparent);
}
.pulse-person.person-state-in-store {
  --person-state-accent:var(--success);
  --person-state-surface:color-mix(in srgb,var(--success-soft) 78%,var(--surface));
}
.pulse-person.person-state-active {
  --person-state-accent:var(--info);
  --person-state-surface:color-mix(in srgb,var(--info-soft) 80%,var(--surface));
}
.pulse-person.person-state-pending-close {
  --person-state-accent:var(--warning);
  --person-state-surface:color-mix(in srgb,var(--warning-soft) 82%,var(--surface));
}
.pulse-person.person-state-closed {
  --person-state-accent:var(--authority);
  --person-state-surface:color-mix(in srgb,var(--authority-soft) 64%,var(--surface));
}
.pulse-person.person-state-not-started {
  --person-state-accent:var(--subtle);
  --person-state-surface:color-mix(in srgb,var(--canvas) 88%,var(--surface));
}
.pulse-person:hover,.pulse-person:focus-visible {
  border-color:color-mix(in srgb,var(--person-state-accent) 52%,var(--border));
  background:linear-gradient(105deg,color-mix(in srgb,var(--person-state-surface) 88%,var(--surface)),var(--surface));
  box-shadow:0 10px 24px color-mix(in srgb,var(--person-state-accent) 12%,transparent);
}
.pulse-person-stats {
  border-color:color-mix(in srgb,var(--person-state-accent) 18%,var(--border));
  background:color-mix(in srgb,var(--person-state-surface) 58%,var(--surface));
}
.pulse-person-stats > span { border-left-color:color-mix(in srgb,var(--person-state-accent) 18%,var(--border)); }
@media(prefers-reduced-motion:reduce) {
  .pulse-person { transition:none!important; }
}

/* v65 — focused, task-first Reporting workspace. */
.team-report-filter-card {
  gap:10px;
  margin-bottom:12px;
  padding:12px;
  border:1px solid var(--border);
  border-top:3px solid var(--authority);
  border-left:1px solid var(--border);
  border-radius:16px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.team-filter-heading {
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:1px 2px 9px;
  border-bottom:1px solid var(--border);
}
.team-filter-heading > div { min-width:0; display:grid; gap:2px; }
.team-filter-heading strong { color:var(--ink); font-size:15px; line-height:1.25; }
.team-filter-heading small { color:var(--muted); font-size:9.5px; line-height:1.4; }
.team-filter-heading > span {
  flex:0 0 auto;
  padding:5px 8px;
  color:var(--success);
  border:1px solid color-mix(in srgb,var(--success) 22%,var(--border));
  border-radius:999px;
  background:var(--success-soft);
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
}

.period-control {
  gap:8px;
  padding:9px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  box-shadow:none;
}
.period-control-head { min-height:34px; padding:0 2px; }
.period-control-head > div { gap:8px; color:var(--ink); }
.period-control-head > div > span {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:var(--authority);
  border-radius:9px;
  background:var(--authority-soft);
}
.period-control-head > div svg { width:16px; height:16px; }
.period-control-head strong { font-size:11px; }
.period-control-head > span {
  padding:4px 7px;
  color:var(--muted);
  border:0;
  background:var(--canvas);
  font-size:8px;
}
.period-control .date-presets {
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:3px;
  padding:3px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--canvas);
}
.period-control .date-presets button {
  min-height:42px;
  padding:6px 5px;
  color:var(--muted);
  border:0;
  border-radius:8px;
  background:transparent;
  box-shadow:none;
  font-size:9px;
  cursor:pointer;
}
.period-control .date-presets button:hover,.period-control .date-presets button:focus-visible { color:var(--authority); background:var(--authority-soft); }
.period-control .date-presets button.active { color:var(--surface); border:0; background:var(--authority); box-shadow:none; }
.period-control.custom-range-open .report-date-grid {
  grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)!important;
  gap:5px;
  padding-top:2px;
}
.period-control .report-date-grid label { gap:2px; padding:7px 9px; border-radius:10px; background:var(--canvas); box-shadow:none; }
.period-control .report-date-grid input { min-height:44px!important; font-size:11px; }
.period-control .period-arrow { width:16px; height:44px; margin:0; color:var(--muted); background:transparent; }

.team-people-picker { gap:8px; padding:9px; border-radius:13px; background:var(--canvas); }
.team-people-picker-head > div { display:grid; grid-template-columns:1fr; gap:2px; }
.team-people-picker-head strong { font-size:12px; }
.team-people-picker-head small { font-size:9px; }
.team-people-picker-head > span { color:var(--authority); border-color:var(--border); background:var(--surface); }
.team-people-search { min-height:46px; border-radius:11px; }
.team-person-option { min-height:58px; border-radius:11px; box-shadow:none; }
.team-all-avatar {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  color:var(--authority);
  border-radius:11px;
  background:var(--authority-soft);
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
}
.team-report-filter-card.focused-report {
  margin-bottom:8px;
  padding:7px;
  border-top-width:1px;
  border-radius:13px;
}
.team-report-filter-card.focused-report .team-filter-heading,
.team-report-filter-card.focused-report .team-people-picker { display:none; }
.team-report-filter-card.focused-report .period-control { padding:5px; border:0; background:transparent; }
.team-report-filter-card.focused-report .period-control-head { display:none; }

.team-report-hero {
  padding:15px;
  color:var(--ink);
  border:1px solid var(--border);
  border-top:3px solid var(--authority);
  border-radius:16px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.team-report-hero .eyebrow { color:var(--brand); }
.team-report-hero .report-hero-top h2 { color:var(--ink); font-size:21px; }
.team-report-hero .report-hero-top p { color:var(--muted); }
.people-performance-section { border-top:3px solid var(--authority); }

.person-visit-section { box-shadow:none; }
.person-visit-heading {
  border-left:4px solid var(--authority);
  background:var(--surface);
}
.person-visit-heading .eyebrow { color:var(--authority); }
.person-visit-heading h2 { color:var(--ink); }
.person-visit-heading p { color:var(--muted); }
.person-route-count { color:var(--authority); background:var(--authority-soft); }
.person-visit-guide { color:var(--muted); background:var(--canvas); }
.person-visit-guide svg { color:var(--authority); }
.person-route-leg {
  --route-accent:var(--info);
  --route-soft:var(--info-soft);
  background:color-mix(in srgb,var(--route-soft) 52%,var(--surface));
}
.person-route-leg:hover,.person-route-leg:focus-visible { background:var(--route-soft); box-shadow:inset 3px 0 0 var(--route-accent); }
.person-route-leg:active { background:color-mix(in srgb,var(--route-soft) 78%,var(--surface)); }
.person-route-leg-line i { border-color:var(--route-accent); }
.person-route-leg-icon { color:var(--route-accent); background:var(--route-soft); }
.person-route-leg-copy small,.person-route-leg-open { color:var(--route-accent); }
.person-route-leg.is-incomplete { --route-accent:var(--warning); --route-soft:var(--warning-soft); }
.route-leg-hero { background:linear-gradient(135deg,var(--info-soft),var(--surface)); }
.route-leg-hero > span,.route-leg-hero small,.route-leg-metrics > div > span { color:var(--info); }
.route-leg-metrics > div > span { background:var(--info-soft); }

@media(max-width:430px) {
  .team-report-filter-card { padding:9px; border-radius:14px; }
  .team-filter-heading small { max-width:245px; }
  .team-filter-heading > span { display:none; }
  .period-control { padding:7px; }
  .period-control .date-presets button { min-height:44px; }
  .period-control.custom-range-open .report-date-grid { grid-template-columns:1fr!important; }
  .period-control.custom-range-open .period-arrow { display:none!important; }
  .team-all-avatar { width:40px; height:40px; }
  .team-report-hero { padding:12px; border-radius:14px; }
  .person-visit-heading { padding:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .period-control .date-presets button,.team-person-option,.person-route-leg { transition:none!important; }
}

/* v70 — executive command dashboard: mobility, coverage, and stronger field states. */
.ops-overview-head {
  background:linear-gradient(100deg,var(--surface) 0 72%,color-mix(in srgb,var(--brand-soft) 62%,var(--surface)));
}
.ops-executive-grid {
  border-bottom:1px solid var(--border);
  background:color-mix(in srgb,var(--canvas) 88%,var(--surface));
}
.ops-allocation-card { border-left-color:var(--authority); }
.ops-allocation-donut {
  background:conic-gradient(var(--success) 0 var(--onsite-stop),var(--brand) var(--onsite-stop) var(--travel-stop),var(--border-strong) var(--travel-stop) 360deg);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--authority-soft) 58%,transparent);
}
.ops-allocation-legend i.travel { background:var(--brand); }
.ops-allocation-legend i.other { background:var(--border-strong); }
.ops-allocation-legend small { color:color-mix(in srgb,var(--ink) 62%,var(--muted)); }

.ops-insight-grid {
  display:grid;
  grid-template-columns:minmax(220px,.82fr) minmax(290px,1.22fr) minmax(250px,1fr);
  gap:9px;
  padding:10px;
  background:color-mix(in srgb,var(--canvas) 66%,var(--surface));
}
.ops-insight-card {
  min-width:0;
  min-height:142px;
  display:grid;
  align-content:start;
  gap:12px;
  padding:13px;
  color:var(--ink);
  text-align:left;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
  cursor:pointer;
  touch-action:manipulation;
  transition:border-color 180ms ease,background 180ms ease,box-shadow 180ms ease,transform 100ms ease;
}
.ops-insight-card:hover,.ops-insight-card:focus-visible {
  border-color:color-mix(in srgb,var(--insight-accent,var(--authority)) 55%,var(--border));
  background:color-mix(in srgb,var(--insight-soft,var(--authority-soft)) 44%,var(--surface));
  box-shadow:0 9px 22px color-mix(in srgb,var(--insight-accent,var(--authority)) 10%,transparent);
}
.ops-insight-card:active { transform:scale(.992); }
.ops-insight-heading {
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 15px;
  align-items:center;
  gap:9px;
}
.ops-insight-heading > svg { width:15px; height:15px; color:var(--subtle); }
.ops-insight-heading > span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.ops-insight-heading small { color:var(--insight-accent,var(--authority)); font-size:7px; font-weight:900; letter-spacing:.13em; }
.ops-insight-heading strong { overflow:hidden; color:var(--ink); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.ops-insight-icon {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:var(--insight-accent,var(--authority));
  border-radius:10px;
  background:var(--insight-soft,var(--authority-soft));
}
.ops-insight-icon svg { width:18px; height:18px; }
.ops-mobility-card { --insight-accent:var(--authority); --insight-soft:var(--authority-soft); border-left:4px solid var(--authority); }
.ops-region-card { --insight-accent:var(--success); --insight-soft:var(--success-soft); border-left:4px solid var(--success); }
.ops-retailer-card { --insight-accent:var(--brand); --insight-soft:var(--brand-soft); border-left:4px solid var(--brand); }
.ops-mobility-values {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--authority) 28%,var(--border));
  border-radius:12px;
  background:color-mix(in srgb,var(--authority-soft) 64%,var(--surface));
}
.ops-mobility-values > span { min-width:0; display:grid; grid-template-columns:26px minmax(0,1fr); align-content:center; align-items:center; gap:7px; min-height:64px; padding:9px; }
.ops-mobility-values > span + span { border-left:1px solid color-mix(in srgb,var(--authority) 22%,var(--border)); }
.ops-mobility-values > span > i { width:26px; height:26px; display:grid; place-items:center; color:var(--authority); border-radius:8px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--border); }
.ops-mobility-values > span > i svg { width:15px; height:15px; }
.ops-mobility-values > span > span { min-width:0; display:grid; gap:2px; }
.ops-mobility-values small { color:var(--muted); font-size:7.5px; font-weight:800; text-transform:uppercase; }
.ops-mobility-values strong { color:var(--ink); font-size:18px; line-height:1.1; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.ops-mobility-values strong em { font-size:9px; font-style:normal; letter-spacing:0; }
.ops-mobility-values b { color:var(--brand); font-size:7px; font-weight:900; }
.ops-region-list {
  min-height:70px;
  display:flex;
  align-items:flex-start;
  justify-content:space-around;
  gap:7px;
}
.ops-region-item { min-width:48px; display:grid; justify-items:center; gap:5px; }
.ops-region-ring {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--success) 0 var(--region-share),color-mix(in srgb,var(--success-soft) 76%,var(--surface)) var(--region-share) 360deg);
}
.ops-region-ring::before { content:""; grid-area:1 / 1; width:41px; height:41px; border-radius:50%; background:var(--surface); box-shadow:inset 0 0 0 1px var(--border); }
.ops-region-ring strong,.ops-region-ring small { z-index:1; grid-area:1 / 1; font-variant-numeric:tabular-nums; }
.ops-region-ring strong { align-self:center; margin-top:-7px; color:var(--ink); font-size:15px; }
.ops-region-ring small { align-self:center; margin-top:15px; color:var(--muted); font-size:6px; font-weight:800; }
.ops-region-item > em { max-width:60px; overflow:hidden; color:var(--ink); font-size:7px; font-style:normal; font-weight:800; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.ops-region-more { min-width:40px; min-height:52px; display:grid; place-content:center; justify-items:center; color:var(--success); border:1px dashed color-mix(in srgb,var(--success) 42%,var(--border)); border-radius:12px; background:var(--success-soft); font-size:12px; font-weight:900; }
.ops-region-more small { color:var(--muted); font-size:6px; }
.ops-coverage-empty { align-self:center; color:var(--muted); font-size:9px; }
.ops-retailer-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.ops-retailer-item {
  min-width:0;
  min-height:68px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-content:center;
  align-items:center;
  gap:1px 6px;
  padding:8px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--retailer-soft,var(--canvas));
}
.ops-retailer-item > span { grid-row:1 / 3; width:22px; height:22px; display:grid; place-items:center; color:var(--retailer-accent,var(--authority)); border-radius:7px; background:var(--surface); }
.ops-retailer-item svg { width:13px; height:13px; }
.ops-retailer-item strong { color:var(--ink); font-size:15px; line-height:1; font-variant-numeric:tabular-nums; }
.ops-retailer-item em { overflow:hidden; color:var(--muted); font-size:7px; font-style:normal; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.ops-retailer-item.retailer-1 { --retailer-accent:var(--brand); --retailer-soft:color-mix(in srgb,var(--brand-soft) 78%,var(--surface)); }
.ops-retailer-item.retailer-2 { --retailer-accent:var(--success); --retailer-soft:color-mix(in srgb,var(--success-soft) 84%,var(--surface)); }
.ops-retailer-item.retailer-3 { --retailer-accent:var(--authority); --retailer-soft:color-mix(in srgb,var(--authority-soft) 78%,var(--surface)); }

.pulse-person {
  border-color:color-mix(in srgb,var(--person-state-accent) 50%,var(--border));
  background:linear-gradient(105deg,var(--person-state-surface) 0 70%,color-mix(in srgb,var(--person-state-surface) 74%,var(--surface)) 100%);
  box-shadow:0 8px 20px color-mix(in srgb,var(--person-state-accent) 11%,transparent);
}
.pulse-person.person-state-in-store { --person-state-surface:color-mix(in srgb,var(--success-soft) 96%,var(--surface)); }
.pulse-person.person-state-active { --person-state-surface:color-mix(in srgb,var(--info-soft) 96%,var(--surface)); }
.pulse-person.person-state-pending-close { --person-state-surface:color-mix(in srgb,var(--warning-soft) 96%,var(--surface)); }
.pulse-person.person-state-closed { --person-state-surface:color-mix(in srgb,var(--authority-soft) 90%,var(--surface)); }
.pulse-person.person-state-not-started { --person-state-surface:color-mix(in srgb,var(--canvas) 96%,var(--surface)); }
.pulse-person-meta { align-items:center; gap:5px 7px; margin-top:5px; }
.pulse-start-time {
  min-height:32px;
  display:inline-grid;
  grid-template-columns:20px auto;
  align-items:center;
  gap:5px;
  padding:4px 8px 4px 5px;
  color:var(--person-state-accent);
  border:1px solid color-mix(in srgb,var(--person-state-accent) 38%,var(--border));
  border-radius:9px;
  background:color-mix(in srgb,var(--surface) 82%,var(--person-state-surface));
}
.pulse-start-time > svg { width:20px; height:20px; padding:3px; border-radius:6px; background:var(--surface); }
.pulse-start-time > span { display:grid; gap:0; }
.pulse-start-time small { color:var(--muted); font-size:6px; font-weight:900; letter-spacing:.1em; }
.pulse-start-time strong { color:var(--ink); font-size:11px; line-height:1.05; font-variant-numeric:tabular-nums; }
.pulse-start-time.not-started { color:var(--subtle); }
.pulse-employee-code { color:var(--muted)!important; font-size:8px!important; font-weight:850!important; }
.pulse-person-stats { grid-template-columns:repeat(5,minmax(0,1fr)); border-color:color-mix(in srgb,var(--person-state-accent) 34%,var(--border)); background:color-mix(in srgb,var(--person-state-surface) 86%,var(--surface)); }
.pulse-person-stats > span { min-height:47px; display:grid; place-content:center; border-left-color:color-mix(in srgb,var(--person-state-accent) 24%,var(--border)); }
.pulse-person-stats .person-road-stat { color:var(--person-state-accent); background:color-mix(in srgb,var(--person-state-accent) 9%,transparent); }
.pulse-person-stats .person-road-stat strong { color:var(--person-state-accent); }

@media(max-width:920px) {
  .ops-insight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ops-retailer-card { grid-column:1 / -1; }
}
@media(max-width:620px) {
  .ops-insight-grid { grid-template-columns:1fr; gap:7px; padding:7px; }
  .ops-retailer-card { grid-column:auto; }
  .ops-insight-card { min-height:0; border-radius:13px; }
  .ops-region-list { justify-content:flex-start; overflow-x:auto; padding-bottom:2px; scrollbar-width:none; }
  .ops-region-list::-webkit-scrollbar { display:none; }
  .ops-region-item { flex:0 0 52px; }
}
@media(max-width:430px) {
  .ops-insight-card { padding:11px; }
  .ops-mobility-values strong { font-size:17px; }
  .pulse-person-head { grid-template-columns:40px minmax(0,1fr); align-items:start; }
  .pulse-person-state { grid-column:1 / -1; display:flex; justify-content:space-between; justify-items:stretch; }
  .pulse-person-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pulse-person-stats > span { border-top:1px solid color-mix(in srgb,var(--person-state-accent) 24%,var(--border)); }
  .pulse-person-stats > span:nth-child(-n+2) { border-top:0; }
  .pulse-person-stats > span:nth-child(odd) { border-left:0; }
  .pulse-person-stats .person-road-stat { grid-column:1 / -1; }
}
@media(prefers-reduced-motion:reduce) {
  .ops-insight-card { transition:none!important; }
}

/* Reporting workspace v71 — decision-first hierarchy */
#screen-customers { padding-bottom:calc(104px + env(safe-area-inset-bottom)); }
#screen-customers .intelligence-header {
  min-height:76px;
  grid-template-columns:minmax(0,1fr) auto;
  padding:12px 16px;
  border:1px solid var(--border);
  border-left:4px solid var(--brand);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
#screen-customers .intelligence-brand { gap:11px; }
#screen-customers .intelligence-logo { width:44px; height:44px; border-radius:12px; }
#screen-customers .intelligence-brand h1 { margin:1px 0 0; font-size:22px; letter-spacing:-.035em; }
#screen-customers .intelligence-brand p { display:none; }
#screen-customers .intelligence-live { padding:0; border:0; background:transparent; }
#screen-customers .intelligence-live small { display:none; }

.reporting-hub {
  display:grid;
  gap:14px;
  margin-top:14px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.reporting-hub-head {
  min-height:82px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:15px 16px;
  border:1px solid var(--border);
  border-radius:18px;
  background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--authority-soft) 46%,var(--surface)));
  box-shadow:var(--shadow-sm);
}
.reporting-hub-mark { width:48px; height:48px; color:#fff; border-radius:14px; background:var(--authority); box-shadow:none; }
.reporting-hub-head h2 { margin:2px 0; font-size:22px; }
.reporting-hub-head p { font-size:12px; line-height:1.35; }
.reporting-hub-count { display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:6px 10px; color:var(--success); border-color:color-mix(in srgb,var(--success) 35%,var(--border)); background:var(--success-soft); font-size:10px; }
.reporting-hub-count i { width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 12%,transparent); }

.reporting-global-filter {
  position:sticky;
  top:74px;
  z-index:8;
  display:grid;
  grid-template-columns:minmax(170px,.8fr) minmax(300px,1.4fr);
  align-items:center;
  gap:12px;
  padding:11px 12px;
  border:1px solid color-mix(in srgb,var(--authority) 22%,var(--border));
  border-radius:16px;
  background:color-mix(in srgb,var(--surface) 94%,transparent);
  box-shadow:0 8px 22px rgba(13,42,65,.08);
  backdrop-filter:blur(14px);
}
.reporting-range-label { min-width:0; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:9px; }
.reporting-range-label > span { width:38px; height:38px; display:grid; place-items:center; color:var(--authority); border-radius:11px; background:var(--authority-soft); }
.reporting-range-label svg { width:19px; height:19px; }
.reporting-range-label div { min-width:0; display:grid; gap:1px; }
.reporting-range-label strong { color:var(--ink); font-size:12px; }
.reporting-range-label small { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.reporting-range-presets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.reporting-range-presets button { min-height:40px; padding:7px 9px; color:var(--muted); border:1px solid var(--border); border-radius:10px; background:var(--canvas); font-size:11px; font-weight:800; cursor:pointer; transition:background .18s ease,border-color .18s ease,color .18s ease; }
.reporting-range-presets button:hover,.reporting-range-presets button:focus-visible { color:var(--authority); border-color:var(--authority); }
.reporting-range-presets button.active { color:#fff; border-color:var(--authority); background:var(--authority); }
.reporting-custom-range { grid-column:1 / -1; display:none; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto; align-items:end; gap:8px; padding-top:9px; border-top:1px solid var(--border); }
.reporting-custom-range.open { display:grid; }
.reporting-custom-range label { display:grid; gap:4px; }
.reporting-custom-range label span { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.reporting-custom-range input { min-height:42px; padding:7px 10px; color:var(--ink); border:1px solid var(--border); border-radius:10px; background:var(--surface); font:inherit; font-size:12px; }
.reporting-custom-range > span { align-self:center; color:var(--subtle); }
.reporting-custom-range button { min-height:42px; padding:8px 16px; color:#fff; border:0; border-radius:10px; background:var(--brand); font-weight:850; cursor:pointer; }

.reporting-hub-output { min-height:160px; }
.hub-command {
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid var(--border);
  border-top:4px solid var(--brand);
  border-radius:20px;
  background:var(--surface);
  box-shadow:0 14px 34px rgba(12,41,66,.08);
}
.hub-command-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.hub-command-head h3 { margin:2px 0 0; color:var(--ink); font-size:21px; letter-spacing:-.03em; }
.hub-health { min-height:34px; display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid; border-radius:999px; font-size:11px; font-weight:850; white-space:nowrap; }
.hub-health i { width:7px; height:7px; border-radius:50%; background:currentColor; }
.hub-health.healthy { color:var(--success); border-color:color-mix(in srgb,var(--success) 32%,var(--border)); background:var(--success-soft); }
.hub-health.warning { color:#8c5a0d; border-color:color-mix(in srgb,var(--warning) 50%,var(--border)); background:var(--warning-soft); }
.hub-command-grid { display:grid; grid-template-columns:minmax(220px,.78fr) minmax(0,1.55fr); gap:10px; }
.hub-completion,.hub-metric,.hub-time-allocation,.hub-insight-card,.hub-leader,.hub-team-link {
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.hub-completion {
  min-height:170px;
  display:grid;
  grid-template-columns:104px minmax(0,1fr) 20px;
  align-items:center;
  gap:12px;
  padding:15px;
  text-align:left;
  color:var(--ink);
  border:1px solid color-mix(in srgb,var(--brand) 32%,var(--border));
  border-radius:16px;
  background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand-soft) 58%,var(--surface)));
}
.hub-completion:hover,.hub-completion:focus-visible { border-color:var(--brand); box-shadow:0 10px 22px color-mix(in srgb,var(--brand) 12%,transparent); }
.hub-completion > svg { width:18px; color:var(--brand); }
.hub-completion > span:nth-child(2) { min-width:0; display:grid; gap:4px; }
.hub-completion > span:nth-child(2) small { color:var(--brand); font-size:10px; font-weight:900; letter-spacing:.1em; }
.hub-completion > span:nth-child(2) strong { color:var(--ink); font-size:20px; line-height:1.15; }
.hub-completion > span:nth-child(2) em { color:var(--muted); font-size:12px; font-style:normal; }
.hub-completion-ring { --hub-completion:0deg; width:100px; height:100px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--brand) var(--hub-completion),color-mix(in srgb,var(--brand) 10%,var(--canvas)) 0); }
.hub-completion-ring > span { width:76px; height:76px; display:grid; place-content:center; text-align:center; border-radius:50%; background:var(--surface); box-shadow:inset 0 0 0 1px var(--border); }
.hub-completion-ring strong { font-size:23px; font-variant-numeric:tabular-nums; }
.hub-completion-ring small { color:var(--muted); font-size:9px; font-weight:800; }
.hub-metric-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.hub-metric {
  --hub-tone:var(--authority);
  --hub-soft:var(--authority-soft);
  min-height:80px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 18px;
  align-items:center;
  gap:9px;
  padding:11px;
  text-align:left;
  color:var(--ink);
  border:1px solid color-mix(in srgb,var(--hub-tone) 25%,var(--border));
  border-radius:14px;
  background:color-mix(in srgb,var(--hub-soft) 35%,var(--surface));
}
.hub-metric:hover,.hub-metric:focus-visible { border-color:var(--hub-tone); background:color-mix(in srgb,var(--hub-soft) 68%,var(--surface)); }
.hub-metric.tone-success { --hub-tone:var(--success); --hub-soft:var(--success-soft); }
.hub-metric.tone-info { --hub-tone:var(--info); --hub-soft:var(--info-soft); }
.hub-metric.tone-warning { --hub-tone:#9a6414; --hub-soft:var(--warning-soft); }
.hub-metric-icon { width:38px; height:38px; display:grid; place-items:center; color:var(--hub-tone); border-radius:11px; background:var(--surface); }
.hub-metric-icon svg { width:19px; height:19px; }
.hub-metric-copy { min-width:0; display:grid; gap:1px; }
.hub-metric-copy small { color:var(--muted); font-size:10px; font-weight:800; }
.hub-metric-copy strong { color:var(--ink); font-size:19px; line-height:1.1; font-variant-numeric:tabular-nums; }
.hub-metric-copy em { overflow:hidden; color:var(--muted); font-size:10px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.hub-metric-open { color:var(--hub-tone); }
.hub-metric-open svg { width:16px; }
.hub-time-allocation { min-height:64px; display:grid; grid-template-columns:minmax(180px,.8fr) minmax(220px,1.4fr) auto 18px; align-items:center; gap:12px; padding:11px 13px; text-align:left; color:var(--ink); border:1px solid var(--border); border-radius:14px; background:var(--canvas); }
.hub-time-allocation > span:first-child { display:grid; gap:1px; }
.hub-time-allocation > span:first-child strong { font-size:12px; }
.hub-time-allocation > span:first-child small { color:var(--muted); font-size:10px; }
.hub-time-track { height:10px; display:flex; overflow:hidden; border-radius:999px; background:var(--border); }
.hub-time-track i.onsite { background:var(--success); }
.hub-time-track i.travel { background:var(--info); }
.hub-time-legend { display:flex; gap:10px; }
.hub-time-legend em { display:flex; align-items:center; gap:4px; color:var(--muted); font-size:10px; font-style:normal; white-space:nowrap; }
.hub-time-legend em i { width:7px; height:7px; border-radius:50%; }
.hub-time-legend em i.onsite { background:var(--success); }
.hub-time-legend em i.travel { background:var(--info); }
.hub-time-allocation > svg { width:16px; color:var(--authority); }

.hub-insights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:10px; }
.hub-insight-card { min-height:176px; display:grid; align-content:start; gap:12px; padding:14px; text-align:left; color:var(--ink); border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:var(--shadow-sm); }
button.hub-insight-card:hover,button.hub-insight-card:focus-visible { border-color:var(--authority); box-shadow:var(--shadow-md); }
.hub-insight-title { display:grid; grid-template-columns:36px minmax(0,1fr) 16px; align-items:center; gap:9px; }
.hub-insight-title > span:first-child { width:36px; height:36px; display:grid; place-items:center; color:var(--authority); border-radius:10px; background:var(--authority-soft); }
.hub-insight-title > span:first-child svg { width:18px; }
.hub-insight-title > span:nth-child(2) { display:grid; gap:1px; }
.hub-insight-title small { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.09em; }
.hub-insight-title strong { font-size:14px; }
.hub-insight-title > svg { width:15px; color:var(--subtle); }
.hub-coverage-list { display:grid; gap:8px; }
.hub-coverage-row { display:grid; gap:4px; }
.hub-coverage-row > span { display:flex; justify-content:space-between; gap:8px; }
.hub-coverage-row strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.hub-coverage-row em { color:var(--muted); font-size:9px; font-style:normal; white-space:nowrap; }
.hub-coverage-row > i { height:5px; overflow:hidden; border-radius:999px; background:var(--canvas); }
.hub-coverage-row > i b { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,var(--authority),var(--success)); }
.hub-insight-card.people { grid-template-rows:1fr auto; }
.hub-leader { min-height:108px; display:grid; grid-template-columns:44px minmax(0,1fr) 18px; align-items:center; gap:10px; padding:0; text-align:left; color:var(--ink); border:0; background:transparent; }
.hub-leader-avatar { width:44px; height:44px; border-radius:12px; }
.hub-leader > span:nth-child(2) { min-width:0; display:grid; gap:3px; }
.hub-leader small { color:var(--brand); font-size:9px; font-weight:900; letter-spacing:.08em; }
.hub-leader strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.hub-leader em { color:var(--muted); font-size:10px; font-style:normal; }
.hub-leader > b svg { width:16px; color:var(--authority); }
.hub-team-link { min-height:40px; display:flex; align-items:center; justify-content:center; gap:8px; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority) 25%,var(--border)); border-radius:10px; background:var(--authority-soft); font-size:10px; font-weight:850; }
.hub-team-link svg { width:15px; }
.hub-insight-empty { display:grid; place-items:center; min-height:80px; color:var(--muted); font-size:11px; text-align:center; }
.hub-unavailable { min-height:150px; display:flex; align-items:center; justify-content:center; gap:12px; padding:18px; color:var(--muted); border:1px dashed var(--border); border-radius:16px; background:var(--surface); }
.hub-unavailable > svg { width:28px; color:var(--warning); }
.hub-unavailable div { display:grid; gap:2px; }
.hub-unavailable strong { color:var(--ink); }
.hub-unavailable p { margin:0; font-size:11px; }
.hub-unavailable button { min-height:40px; padding:8px 12px; color:#fff; border:0; border-radius:10px; background:var(--brand); font-weight:800; cursor:pointer; }

.reporting-module-section { overflow:hidden; border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:var(--shadow-sm); }
.reporting-module-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--border); }
.reporting-module-heading h3 { margin:2px 0 0; color:var(--ink); font-size:17px; letter-spacing:-.02em; }
.reporting-module-heading > span { color:var(--muted); font-size:10px; }
.reporting-hub-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:12px; }
.report-entry { min-height:112px; grid-template-columns:44px minmax(0,1fr) 30px; gap:10px; padding:13px; border-radius:14px; box-shadow:none; }
.report-entry-index { display:none; }
.report-entry-icon { width:44px; height:44px; border-radius:12px; }
.report-entry-copy strong { font-size:14px; }
.report-entry-copy small { font-size:10px; white-space:normal; }
.report-entry-copy em { margin-top:3px; font-size:9px; }
.report-entry-arrow { position:static; width:30px; height:30px; border-radius:9px; }

/* Make report filters concise and visually consistent after leaving the hub. */
#screen-customers .report-view-context:not(.hidden) { position:sticky; top:74px; z-index:7; border-color:color-mix(in srgb,var(--authority) 24%,var(--border)); background:color-mix(in srgb,var(--surface) 96%,transparent); backdrop-filter:blur(12px); }
#screen-customers .report-filter-card { gap:10px; padding:13px; border-radius:16px; box-shadow:var(--shadow-sm); }
#reportPanelCustomer > .report-filter-card > .filter-heading,
#reportPanelManagement > .report-filter-card > .filter-heading,
#reportPanelTeam .team-filter-heading { display:none; }
#screen-customers .period-control { padding:9px; border-radius:12px; background:var(--canvas); }
#screen-customers .period-control-head { min-height:36px; }
#screen-customers .date-presets button { min-height:38px; }

@media(max-width:820px) {
  .reporting-global-filter { top:68px; grid-template-columns:1fr; }
  .hub-command-grid { grid-template-columns:1fr; }
  .hub-completion { min-height:138px; grid-template-columns:88px minmax(0,1fr) 18px; }
  .hub-completion-ring { width:84px; height:84px; }
  .hub-completion-ring > span { width:64px; height:64px; }
  .hub-completion-ring strong { font-size:20px; }
  .hub-time-allocation { grid-template-columns:1fr 1.3fr 18px; }
  .hub-time-legend { grid-column:1 / -1; }
  .hub-insights { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hub-insight-card.people { grid-column:1 / -1; }
  .reporting-hub-grid { grid-template-columns:1fr; }
  .report-entry { min-height:88px; }
}

@media(max-width:520px) {
  #screen-customers { padding:12px 10px calc(112px + env(safe-area-inset-bottom)); }
  #screen-customers .intelligence-header { min-height:64px; padding:9px 11px; border-radius:14px; }
  #screen-customers .intelligence-logo { width:38px; height:38px; }
  #screen-customers .intelligence-brand h1 { font-size:19px; }
  #screen-customers .intelligence-brand .eyebrow { font-size:8px; }
  .reporting-hub { gap:10px; margin-top:10px; }
  .reporting-hub-head { min-height:68px; grid-template-columns:42px minmax(0,1fr) auto; gap:9px; padding:10px; border-radius:14px; }
  .reporting-hub-mark { width:42px; height:42px; border-radius:11px; }
  .reporting-hub-head h2 { font-size:18px; }
  .reporting-hub-head p { display:none; }
  .reporting-hub-count { min-height:28px; padding:5px 7px; font-size:9px; }
  .reporting-global-filter { top:64px; gap:8px; padding:8px; border-radius:13px; }
  .reporting-range-label { grid-template-columns:34px minmax(0,1fr); }
  .reporting-range-label > span { width:34px; height:34px; }
  .reporting-range-presets { gap:4px; }
  .reporting-range-presets button { min-height:38px; padding:6px 4px; font-size:10px; }
  .reporting-custom-range { grid-template-columns:1fr auto 1fr; }
  .reporting-custom-range button { grid-column:1 / -1; }
  .hub-command { gap:10px; padding:11px; border-radius:15px; }
  .hub-command-head { align-items:flex-start; }
  .hub-command-head h3 { font-size:18px; }
  .hub-health { min-height:30px; padding:5px 8px; font-size:9px; }
  .hub-completion { min-height:112px; grid-template-columns:72px minmax(0,1fr) 15px; gap:9px; padding:10px; border-radius:13px; }
  .hub-completion-ring { width:70px; height:70px; }
  .hub-completion-ring > span { width:54px; height:54px; }
  .hub-completion-ring strong { font-size:17px; }
  .hub-completion > span:nth-child(2) strong { font-size:16px; }
  .hub-metric-grid { gap:7px; }
  .hub-metric { min-height:98px; grid-template-columns:32px minmax(0,1fr); align-content:center; padding:9px; border-radius:12px; }
  .hub-metric-icon { width:32px; height:32px; }
  .hub-metric-copy strong { font-size:16px; }
  .hub-metric-copy em { white-space:normal; line-height:1.25; }
  .hub-metric-open { display:none; }
  .hub-time-allocation { grid-template-columns:1fr 16px; gap:8px; padding:10px; }
  .hub-time-track { grid-column:1 / -1; }
  .hub-time-legend { display:grid; grid-template-columns:1fr 1fr; }
  .hub-insights { grid-template-columns:1fr; gap:8px; margin-top:8px; }
  .hub-insight-card,.hub-insight-card.people { grid-column:auto; min-height:0; padding:11px; border-radius:13px; }
  .reporting-module-heading { padding:11px; }
  .reporting-module-heading > span { display:none; }
  .reporting-hub-grid { gap:7px; padding:8px; }
  .report-entry { min-height:80px; grid-template-columns:40px minmax(0,1fr) 28px; padding:10px; }
  .report-entry-icon { width:40px; height:40px; }
  .report-entry-copy strong { font-size:13px; }
  .report-entry-copy small { font-size:9px; }
  .bottom-nav { min-height:70px; }
}

[data-theme="dark"] .reporting-hub-head { background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--authority) 16%,var(--surface))); }
[data-theme="dark"] .reporting-global-filter { background:color-mix(in srgb,var(--surface) 93%,transparent); }
[data-theme="dark"] .hub-completion { background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand) 10%,var(--surface))); }
[data-theme="dark"] .reporting-range-presets button.active { color:#fff; border-color:#17618c; background:#17618c; }

@media(prefers-reduced-motion:reduce) {
  .hub-completion,.hub-metric,.hub-time-allocation,.hub-insight-card,.hub-leader,.hub-team-link,.reporting-range-presets button { transition:none!important; }
}

/* Executive report detail */
.management-briefing {
  display:grid;
  gap:12px;
  padding:17px;
  border:1px solid var(--border);
  border-top:4px solid var(--authority);
  border-radius:20px;
  background:var(--surface);
  box-shadow:0 14px 34px rgba(12,41,66,.08);
}
.management-briefing-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.management-briefing-head h2 { margin:3px 0; color:var(--ink); font-size:23px; letter-spacing:-.035em; }
.management-briefing-head p { margin:0; color:var(--muted); font-size:12px; }
.executive-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.executive-metric {
  --metric-tone:var(--authority);
  --metric-soft:var(--authority-soft);
  min-height:136px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 16px;
  align-items:start;
  gap:9px;
  padding:13px;
  text-align:left;
  color:var(--ink);
  border:1px solid color-mix(in srgb,var(--metric-tone) 28%,var(--border));
  border-radius:15px;
  background:color-mix(in srgb,var(--metric-soft) 35%,var(--surface));
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.executive-metric:hover,.executive-metric:focus-visible { border-color:var(--metric-tone); background:color-mix(in srgb,var(--metric-soft) 64%,var(--surface)); box-shadow:0 8px 18px color-mix(in srgb,var(--metric-tone) 10%,transparent); }
.executive-metric.tone-brand { --metric-tone:var(--brand); --metric-soft:var(--brand-soft); }
.executive-metric.tone-success { --metric-tone:var(--success); --metric-soft:var(--success-soft); }
.executive-metric.tone-info { --metric-tone:var(--info); --metric-soft:var(--info-soft); }
.executive-metric.tone-warning { --metric-tone:#9a6414; --metric-soft:var(--warning-soft); }
.executive-metric-icon { width:38px; height:38px; display:grid; place-items:center; color:var(--metric-tone); border-radius:11px; background:var(--surface); }
.executive-metric-icon svg { width:19px; height:19px; }
.executive-metric-copy { min-width:0; display:grid; gap:2px; }
.executive-metric-copy small { color:var(--muted); font-size:10px; font-weight:850; }
.executive-metric-copy strong { color:var(--ink); font-size:21px; line-height:1.12; font-variant-numeric:tabular-nums; }
.executive-metric-copy em { min-height:28px; color:var(--muted); font-size:10px; line-height:1.35; font-style:normal; }
.executive-metric-copy b { width:max-content; max-width:100%; margin-top:4px; padding:4px 6px; border-radius:7px; font-size:8.5px; line-height:1.2; }
.executive-metric-copy .trend-positive { color:var(--success); background:var(--success-soft); }
.executive-metric-copy .trend-negative { color:var(--brand); background:var(--brand-soft); }
.executive-metric-copy .trend-neutral { color:var(--muted); background:var(--canvas); }
.executive-metric > svg { width:15px; color:var(--metric-tone); }
.management-time-split { min-height:66px; display:grid; grid-template-columns:minmax(150px,.6fr) minmax(220px,1.2fr) auto 16px; align-items:center; gap:12px; padding:11px 13px; text-align:left; color:var(--ink); border:1px solid var(--border); border-radius:13px; background:var(--canvas); cursor:pointer; }
.management-time-split > span:first-child { display:grid; gap:2px; }
.management-time-split small { color:var(--authority); font-size:9px; font-weight:900; letter-spacing:.09em; }
.management-time-split strong { font-size:15px; }
.management-time-track { height:11px; display:flex; overflow:hidden; border-radius:999px; background:var(--border); }
.management-time-track i.onsite { background:var(--success); }
.management-time-track i.travel { background:var(--info); }
.management-time-split > span:nth-child(3) { display:flex; gap:11px; }
.management-time-split em { color:var(--muted); font-size:10px; font-style:normal; white-space:nowrap; }
.management-time-split > svg { width:15px; color:var(--authority); }

/* People report: compare first, drill down second. */
.team-report-filter-card { border-top:4px solid var(--success); }
.team-people-picker { padding:11px; border-radius:13px; background:var(--canvas); }
.team-people-picker-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; max-height:226px; overflow:auto; padding:2px; }
.team-people-picker-list > button { min-height:74px; align-content:center; border-radius:11px; background:var(--surface); }
.team-people-picker-list.is-empty { grid-template-columns:1fr; max-height:none; overflow:visible; }
.team-people-picker-list.is-empty .report-empty { min-height:130px; }
.people-report-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.person-report-card {
  --person-report-tone:var(--authority);
  --person-report-soft:var(--authority-soft);
  min-height:238px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--person-report-tone) 28%,var(--border));
  border-left:5px solid var(--person-report-tone);
  border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--person-report-soft) 32%,var(--surface)),var(--surface));
  box-shadow:var(--shadow-sm);
}
.person-report-card.person-state-in-store { --person-report-tone:var(--success); --person-report-soft:var(--success-soft); }
.person-report-card.person-state-active { --person-report-tone:var(--info); --person-report-soft:var(--info-soft); }
.person-report-card.person-state-pending-close { --person-report-tone:#9a6414; --person-report-soft:var(--warning-soft); }
.person-report-card.person-state-closed { --person-report-tone:var(--authority); --person-report-soft:var(--authority-soft); }
.person-report-card.person-state-not-started { --person-report-tone:var(--subtle); --person-report-soft:var(--canvas); }
.person-report-card:hover,.person-report-card:focus-visible { border-color:var(--person-report-tone); box-shadow:0 10px 24px color-mix(in srgb,var(--person-report-tone) 12%,transparent); }
.person-report-head { grid-template-columns:48px minmax(0,1fr) auto; }
.person-report-head [data-avatar] { width:48px; height:48px; border-radius:13px; }
.person-report-head > div { display:grid; gap:2px; }
.person-report-head > div > strong { font-size:15px; }
.person-start-time { width:max-content; display:inline-flex!important; align-items:center; gap:4px; margin-top:2px; padding:3px 6px; color:var(--person-report-tone)!important; border-radius:7px; background:color-mix(in srgb,var(--person-report-soft) 75%,var(--surface)); font-size:9px!important; font-weight:850; }
.person-start-time svg { width:12px; height:12px; }
.person-current-store { overflow:hidden; color:var(--muted)!important; font-size:9px!important; text-overflow:ellipsis; white-space:nowrap; }
.person-scoreline { margin-top:11px; overflow:hidden; border:1px solid color-mix(in srgb,var(--person-report-tone) 20%,var(--border)); border-radius:11px; background:color-mix(in srgb,var(--surface) 86%,transparent); }
.person-scoreline > span { min-height:58px; padding:8px 5px; }
.person-scoreline strong { font-size:15px; }
.person-scoreline > span { font-size:8px; }
.person-report-card .time-allocation { margin-top:10px; padding:9px; border-radius:10px; background:color-mix(in srgb,var(--canvas) 86%,transparent); }
.person-report-card .person-card-footer { margin-top:9px; }

/* Customer 360: identity, health and history read as one record. */
.customer-report-summary { border-top:4px solid var(--brand); border-radius:18px; box-shadow:0 12px 30px rgba(12,41,66,.08); }
.customer-context-strip { grid-template-columns:1.2fr repeat(3,1fr); gap:0; overflow:hidden; padding:0; border:1px solid var(--border); border-radius:13px; background:var(--canvas); }
.customer-context-strip > span { min-height:70px; display:grid; align-content:center; gap:3px; padding:11px; border-left:1px solid var(--border); }
.customer-context-strip > span:first-child { border-left:0; }
.customer-period-overview { border-radius:18px; box-shadow:var(--shadow-sm); }
.customer-overview-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.customer-overview-metrics > div { min-height:92px; border:1px solid var(--border); border-radius:13px; background:var(--canvas); }
.customer-history-visit { border-left:4px solid var(--authority); border-radius:15px; box-shadow:var(--shadow-sm); }
.customer-history-visit:hover,.customer-history-visit:focus-visible { border-color:var(--authority); box-shadow:var(--shadow-md); }

@media(max-width:920px) {
  .executive-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-people-picker-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .people-report-list { grid-template-columns:1fr; }
}

@media(max-width:620px) {
  .management-briefing { padding:11px; border-radius:15px; }
  .management-briefing-head h2 { font-size:19px; }
  .management-briefing-head p { display:none; }
  .executive-metric-grid { gap:7px; }
  .executive-metric { min-height:132px; grid-template-columns:32px minmax(0,1fr); padding:10px; }
  .executive-metric-icon { width:32px; height:32px; }
  .executive-metric-copy strong { font-size:17px; }
  .executive-metric > svg { display:none; }
  .management-time-split { grid-template-columns:1fr 16px; }
  .management-time-track { grid-column:1 / -1; }
  .management-time-split > span:nth-child(3) { grid-column:1 / -1; }
  .team-people-picker-list { display:flex; overflow-x:auto; max-height:none; padding-bottom:5px; scroll-snap-type:x proximity; }
  .team-people-picker-list > button { min-width:210px; scroll-snap-align:start; }
  .person-report-card { min-height:220px; }
  .customer-context-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-context-strip > span:nth-child(3) { border-left:0; border-top:1px solid var(--border); }
  .customer-context-strip > span:nth-child(4) { border-top:1px solid var(--border); }
  .customer-overview-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:390px) {
  .hub-metric { min-height:96px; }
  .executive-metric { min-height:124px; }
  .team-people-picker-list > button { min-width:190px; }
}

/* v72 — complete reporting drill-down flow: summary → filtered customers → Customer 360. */
.ops-insight-card:is(section),.hub-insight-card:is(section) { cursor:default; }
.ops-insight-link,.hub-insight-link {
  width:100%;
  padding:0;
  color:inherit;
  text-align:left;
  border:0;
  background:transparent;
  cursor:pointer;
  touch-action:manipulation;
}
.ops-insight-link { min-height:44px; }
.hub-insight-link { min-height:44px; }
.ops-insight-link:hover strong,.ops-insight-link:focus-visible strong,
.hub-insight-link:hover strong,.hub-insight-link:focus-visible strong { color:var(--brand); }

button.ops-region-item {
  min-width:52px;
  min-height:70px;
  padding:2px;
  color:inherit;
  border:0;
  border-radius:12px;
  background:transparent;
  cursor:pointer;
  touch-action:manipulation;
}
button.ops-region-item:hover,button.ops-region-item:focus-visible { background:var(--success-soft); box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 28%,transparent); }
button.ops-retailer-item { position:relative; width:100%; color:inherit; text-align:left; cursor:pointer; touch-action:manipulation; }
.ops-retailer-item > i { position:absolute; right:6px; top:50%; width:12px; color:var(--retailer-accent,var(--authority)); transform:translateY(-50%); }
.ops-retailer-item > i svg { width:12px; }
.ops-retailer-item:hover,.ops-retailer-item:focus-visible { border-color:var(--retailer-accent,var(--authority)); box-shadow:0 5px 14px color-mix(in srgb,var(--retailer-accent,var(--authority)) 12%,transparent); }

button.hub-coverage-row {
  position:relative;
  width:100%;
  min-height:44px;
  padding:6px 25px 6px 7px;
  color:inherit;
  text-align:left;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  cursor:pointer;
  touch-action:manipulation;
}
button.hub-coverage-row:hover,button.hub-coverage-row:focus-visible { border-color:color-mix(in srgb,var(--authority) 32%,var(--border)); background:var(--authority-soft); }
.hub-coverage-open { position:absolute; right:6px; top:50%; color:var(--authority); transform:translateY(-50%); }
.hub-coverage-open svg { width:13px; }

button.coverage-row {
  width:100%;
  min-height:58px;
  display:grid;
  gap:8px;
  padding:9px 10px;
  color:inherit;
  text-align:left;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--canvas);
  cursor:pointer;
  touch-action:manipulation;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
button.coverage-row:hover,button.coverage-row:focus-visible { border-color:var(--authority); background:var(--authority-soft); box-shadow:var(--shadow-sm); }
.coverage-row > div:first-child { display:grid; grid-template-columns:minmax(0,1fr) auto 15px; align-items:center; gap:8px; margin:0; }
.coverage-row > div:first-child > i { color:var(--authority); }
.coverage-row > div:first-child > i svg { width:14px; }

.coverage-drilldown { display:grid; gap:12px; }
.coverage-drilldown-hero {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:15px;
  color:var(--ink);
  border:1px solid color-mix(in srgb,var(--authority) 28%,var(--border));
  border-radius:17px;
  background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--authority-soft) 55%,var(--surface)));
}
.coverage-drilldown-icon { width:48px; height:48px; display:grid; place-items:center; color:var(--authority); border-radius:14px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--border); }
.coverage-drilldown-icon svg { width:24px; }
.coverage-drilldown-hero div { min-width:0; display:grid; gap:2px; }
.coverage-drilldown-hero small { color:var(--brand); font-size:9px; font-weight:900; letter-spacing:.11em; }
.coverage-drilldown-hero h3 { margin:0; font-size:24px; letter-spacing:-.035em; }
.coverage-drilldown-hero p { margin:2px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.coverage-drilldown-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.coverage-drilldown-stats span { min-height:66px; display:grid; place-content:center; gap:2px; text-align:center; }
.coverage-drilldown-stats span + span { border-left:1px solid var(--border); }
.coverage-drilldown-stats strong { color:var(--ink); font-size:21px; font-variant-numeric:tabular-nums; }
.coverage-drilldown-stats small { color:var(--muted); font-size:9px; font-weight:800; text-transform:uppercase; }
.coverage-customer-list { display:grid; gap:8px; }
.coverage-customer-row {
  width:100%;
  min-height:94px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) minmax(90px,.36fr) 82px;
  align-items:center;
  gap:10px;
  padding:11px;
  color:var(--ink);
  text-align:left;
  border:1px solid var(--border);
  border-left:4px solid var(--authority);
  border-radius:15px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
  cursor:pointer;
  touch-action:manipulation;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .1s ease;
}
.coverage-customer-row:hover,.coverage-customer-row:focus-visible { border-color:var(--authority); background:color-mix(in srgb,var(--authority-soft) 38%,var(--surface)); box-shadow:var(--shadow-md); }
.coverage-customer-row:active { transform:scale(.995); }
.coverage-customer-index { width:38px; height:38px; display:grid; place-items:center; color:var(--authority); border-radius:11px; background:var(--authority-soft); font-size:11px; font-weight:900; }
.coverage-customer-main { min-width:0; display:grid; gap:3px; }
.coverage-customer-main > strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.coverage-customer-main > small { overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.coverage-customer-main > span { display:flex; flex-wrap:wrap; gap:5px; margin-top:2px; }
.coverage-customer-main em { padding:3px 6px; color:var(--authority); border-radius:999px; background:var(--authority-soft); font-size:8px; font-style:normal; font-weight:800; }
.coverage-customer-latest { display:grid; gap:2px; }
.coverage-customer-latest small { color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.08em; }
.coverage-customer-latest strong { font-size:12px; }
.coverage-customer-latest em { color:var(--success); font-size:9px; font-style:normal; font-weight:800; }
.coverage-customer-open { display:flex; align-items:center; justify-content:flex-end; gap:5px; color:var(--brand); }
.coverage-customer-open small { font-size:9px; font-weight:900; white-space:nowrap; }
.coverage-customer-open svg { width:14px; }

@media(max-width:620px) {
  .coverage-drilldown-hero { grid-template-columns:40px minmax(0,1fr); padding:12px; }
  .coverage-drilldown-icon { width:40px; height:40px; border-radius:12px; }
  .coverage-drilldown-hero h3 { font-size:20px; }
  .coverage-customer-row { min-height:112px; grid-template-columns:34px minmax(0,1fr) 18px; gap:8px; padding:10px; }
  .coverage-customer-index { width:34px; height:34px; }
  .coverage-customer-latest { grid-column:2; grid-row:2; display:flex; align-items:center; gap:7px; }
  .coverage-customer-open { grid-column:3; grid-row:1 / 3; }
  .coverage-customer-open small { display:none; }
}

@media(prefers-reduced-motion:reduce) {
  .coverage-customer-row,button.coverage-row { transition:none!important; }
}

/* v73 — shop ownership is visible anywhere a store appears */
.shop-salesman {
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:2px;
  padding:3px 7px;
  overflow:hidden;
  color:var(--authority);
  border:1px solid color-mix(in srgb,var(--authority) 20%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--authority-soft) 70%,var(--surface));
  font-size:8.5px;
  font-style:normal;
  font-weight:850;
  line-height:1.2;
}
.shop-salesman svg { width:12px; height:12px; flex:0 0 auto; }
.shop-salesman span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shop-salesman.unassigned { color:var(--muted); border-color:var(--border); background:var(--canvas); }
.visit-fact-grid > .visit-salesman-fact {
  grid-column:span 2;
  border:1px solid color-mix(in srgb,var(--authority) 18%,var(--border));
  background:color-mix(in srgb,var(--authority-soft) 56%,var(--surface));
}
.visit-fact-grid > .visit-salesman-fact strong { color:var(--authority); font-size:10px; }
.coverage-customer-main > .coverage-salesman {
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:5px;
  justify-self:start;
  margin:2px 0;
  overflow:hidden;
}
.coverage-customer-main > .coverage-salesman svg { width:11px; height:11px; flex:0 0 auto; }
.coverage-customer-main > .coverage-salesman span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.person-kpi-visit-row .shop-salesman { margin-top:4px; }

@media(max-width:620px) {
  .shop-salesman { font-size:8px; }
  .visit-fact-grid > .visit-salesman-fact { grid-column:1 / -1; }
}

/* v74 — Customer Master → branch list → Customer 360 */
.coverage-directory-body { display:grid; gap:13px; }
.coverage-directory-summary {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--authority) 22%,var(--border));
  border-radius:16px;
  background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--authority-soft) 52%,var(--surface)));
}
.coverage-directory-icon { width:48px; height:48px; display:grid; place-items:center; color:var(--authority); border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:var(--shadow-sm); }
.coverage-directory-icon svg { width:24px; }
.coverage-directory-summary > div { min-width:0; }
.coverage-directory-summary small { color:var(--brand); font-size:8px; font-weight:900; letter-spacing:.12em; }
.coverage-directory-summary h3 { margin:2px 0; font-size:22px; letter-spacing:-.035em; }
.coverage-directory-summary p { margin:0; color:var(--muted); font-size:10px; line-height:1.45; }
.coverage-directory-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.coverage-directory-metrics span { min-height:62px; display:grid; place-content:center; gap:2px; padding:8px; text-align:center; }
.coverage-directory-metrics span + span { border-left:1px solid var(--border); }
.coverage-directory-metrics strong { color:var(--ink); font-size:18px; font-variant-numeric:tabular-nums; }
.coverage-directory-metrics small { color:var(--muted); font-size:8px; font-weight:800; line-height:1.25; text-transform:uppercase; }
.coverage-directory-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.coverage-directory-controls label { min-width:0; display:grid; gap:5px; color:var(--ink); font-size:9px; font-weight:850; }
.coverage-search-box { min-height:44px; display:flex; align-items:center; gap:8px; padding:0 12px; border:1px solid var(--border-strong); border-radius:12px; background:var(--surface); transition:border-color .18s ease,box-shadow .18s ease; }
.coverage-search-box:focus-within { border-color:var(--authority); box-shadow:0 0 0 3px color-mix(in srgb,var(--authority) 14%,transparent); }
.coverage-search-box svg { width:17px; color:var(--muted); }
.coverage-search-box input { width:100%; min-width:0; height:42px; padding:0; color:var(--ink); border:0; outline:0; background:transparent; font:inherit; font-size:11px; font-weight:700; }
.coverage-filter-group { display:grid; grid-template-columns:repeat(3,auto); overflow:hidden; border:1px solid var(--border-strong); border-radius:12px; background:var(--surface); }
.coverage-filter-group button { min-width:68px; min-height:44px; padding:0 10px; color:var(--muted); border:0; border-left:1px solid var(--border); background:transparent; font-size:9px; font-weight:850; cursor:pointer; touch-action:manipulation; transition:color .18s ease,background .18s ease; }
.coverage-filter-group button:first-child { border-left:0; }
.coverage-filter-group button:hover,.coverage-filter-group button:focus-visible { color:var(--authority); background:var(--authority-soft); }
.coverage-filter-group button.active { color:#fff; background:var(--authority); }
.coverage-directory-result-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:1px 2px; }
.coverage-directory-result-head strong { font-size:11px; }
.coverage-directory-result-head span { color:var(--muted); font-size:9px; font-weight:800; }
.coverage-directory-list { display:grid; gap:8px; }
.coverage-branch-row {
  width:100%;
  min-height:104px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) minmax(150px,.46fr) 82px;
  align-items:center;
  gap:10px;
  padding:11px;
  color:var(--ink);
  text-align:left;
  border:1px solid var(--border);
  border-left:4px solid var(--border-strong);
  border-radius:15px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
  cursor:pointer;
  touch-action:manipulation;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.coverage-branch-row.is-visited { border-left-color:var(--success); }
.coverage-branch-row:hover,.coverage-branch-row:focus-visible { border-color:var(--authority); background:color-mix(in srgb,var(--authority-soft) 34%,var(--surface)); box-shadow:var(--shadow-md); }
.coverage-branch-index { width:38px; height:38px; display:grid; place-items:center; color:var(--authority); border-radius:11px; background:var(--authority-soft); font-size:10px; font-weight:900; font-variant-numeric:tabular-nums; }
.coverage-branch-row.is-visited .coverage-branch-index { color:var(--success); background:var(--success-soft); }
.coverage-branch-copy { min-width:0; display:grid; gap:3px; }
.coverage-branch-copy > strong { overflow:hidden; font-size:13px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.coverage-branch-copy > small { overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.coverage-branch-copy > .coverage-salesman {
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:5px;
  justify-self:start;
  margin-top:2px;
  padding:3px 7px;
  overflow:hidden;
  color:var(--authority);
  border:1px solid color-mix(in srgb,var(--authority) 20%,transparent);
  border-radius:999px;
  background:var(--authority-soft);
  font-size:8px;
  font-style:normal;
  font-weight:850;
  line-height:1.2;
}
.coverage-branch-copy > .coverage-salesman svg { width:11px; height:11px; flex:0 0 auto; }
.coverage-branch-copy > .coverage-salesman span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.coverage-branch-activity { min-width:0; display:grid; justify-items:start; gap:2px; }
.coverage-visit-state { display:inline-flex; align-items:center; gap:5px; margin-bottom:3px; padding:3px 7px; color:var(--muted); border-radius:999px; background:var(--canvas); font-size:8px; font-weight:850; }
.coverage-visit-state i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.coverage-visit-state.visited { color:var(--success); background:var(--success-soft); }
.coverage-branch-activity > small { color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; }
.coverage-branch-activity > strong { font-size:10px; font-variant-numeric:tabular-nums; }
.coverage-branch-activity > em { color:var(--muted); font-size:8.5px; font-style:normal; }
.coverage-branch-open { display:flex; align-items:center; justify-content:flex-end; gap:5px; color:var(--brand); }
.coverage-branch-open small { font-size:8px; font-weight:900; white-space:nowrap; }
.coverage-branch-open svg { width:14px; }

@media(max-width:720px) {
  .coverage-directory-controls { grid-template-columns:1fr; align-items:stretch; }
  .coverage-search-box input { font-size:16px; }
  .coverage-filter-group { grid-template-columns:repeat(3,1fr); }
  .coverage-filter-group button { min-width:0; }
  .coverage-branch-row { min-height:126px; grid-template-columns:34px minmax(0,1fr) 20px; gap:8px; padding:10px; }
  .coverage-branch-index { width:34px; height:34px; }
  .coverage-branch-copy > strong { white-space:normal; }
  .coverage-branch-activity { grid-column:2; grid-row:2; }
  .coverage-branch-open { grid-column:3; grid-row:1 / 3; }
  .coverage-branch-open small { display:none; }
}

@media(max-width:390px) {
  .coverage-directory-summary { grid-template-columns:40px minmax(0,1fr); padding:11px; }
  .coverage-directory-icon { width:40px; height:40px; border-radius:12px; }
  .coverage-directory-summary h3 { font-size:19px; }
  .coverage-directory-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .coverage-directory-metrics span:nth-child(3) { border-left:0; border-top:1px solid var(--border); }
  .coverage-directory-metrics span:nth-child(4) { border-top:1px solid var(--border); }
}

@media(prefers-reduced-motion:reduce) {
  .coverage-branch-row,.coverage-filter-group button,.coverage-search-box { transition:none!important; }
}

/* v75 — controlled Temporary → Final Customer Master workflow */
.customer-intake { display:grid; gap:16px; margin-bottom:18px; padding:20px; overflow:hidden; border:1px solid color-mix(in srgb,var(--authority) 24%,var(--border)); border-radius:22px; background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--authority-soft) 36%,var(--surface))); box-shadow:var(--shadow-md); }
.customer-intake-head { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:14px; }
.customer-intake-icon { width:54px; height:54px; display:grid; place-items:center; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority) 22%,var(--border)); border-radius:17px; background:var(--surface); box-shadow:var(--shadow-sm); }
.customer-intake-icon svg { width:26px; }
.customer-intake-head > div { min-width:0; }
.customer-intake-head h2 { margin:3px 0; color:var(--ink); font-size:21px; letter-spacing:-.035em; }
.customer-intake-head p { max-width:650px; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.customer-intake-access { padding:7px 10px; color:var(--success); border:1px solid color-mix(in srgb,var(--success) 25%,var(--border)); border-radius:999px; background:var(--success-soft); font-size:11px; font-weight:900; letter-spacing:.04em; white-space:nowrap; }
.customer-intake-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:10px; padding:12px; border:1px solid var(--border); border-radius:16px; background:var(--canvas); }
.customer-intake-flow > div { min-width:0; display:flex; align-items:center; gap:9px; }
.customer-intake-flow > div > span { width:30px; height:30px; display:grid; flex:0 0 auto; place-items:center; color:var(--authority); border-radius:9px; background:var(--authority-soft); font-size:11px; font-weight:900; }
.customer-intake-flow p { min-width:0; display:grid; gap:1px; margin:0; }
.customer-intake-flow strong { font-size:12px; }
.customer-intake-flow small { overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.customer-intake-flow > i { color:var(--border-strong); font-style:normal; }
.customer-intake-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; border:1px solid var(--border); border-radius:16px; background:var(--surface); }
.customer-intake-summary > div { min-height:74px; display:grid; place-content:center; gap:1px; padding:10px; text-align:center; }
.customer-intake-summary > div + div { border-left:1px solid var(--border); }
.customer-intake-summary strong { color:var(--ink); font-size:21px; font-variant-numeric:tabular-nums; }
.customer-intake-summary span { color:var(--ink); font-size:12px; font-weight:850; }
.customer-intake-summary small { color:var(--muted); font-size:10px; }
.customer-intake-summary .temporary strong { color:var(--warning); }
.customer-intake-summary .final strong { color:var(--success); }
.customer-intake-summary .sales strong { color:var(--authority); }
.customer-intake-skeleton { min-height:74px; background:linear-gradient(90deg,var(--canvas),var(--surface),var(--canvas)); background-size:200% 100%; animation:intake-loading 1.2s ease infinite; }
.customer-assignment { display:grid; gap:14px; padding:18px; border:1px solid color-mix(in srgb,var(--authority) 24%,var(--border)); border-radius:19px; background:var(--surface); box-shadow:var(--shadow-sm); }
.customer-assignment-head { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:12px; }
.customer-assignment-head-icon { width:44px; height:44px; display:grid; place-items:center; color:var(--authority); border-radius:13px; background:var(--authority-soft); }
.customer-assignment-head-icon svg { width:22px; }
.customer-assignment-head > div { min-width:0; }
.customer-assignment-head h3 { margin:3px 0; color:var(--ink); font-size:18px; letter-spacing:-.025em; }
.customer-assignment-head p { max-width:660px; margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.customer-assignment-search { min-height:64px; display:grid; grid-template-columns:24px minmax(0,1fr) 44px; align-items:center; gap:11px; padding:9px 10px 9px 15px; border:1px solid var(--border-strong); border-radius:16px; background:var(--canvas); cursor:text; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.customer-assignment-search:focus-within { border-color:var(--authority); background:var(--surface); box-shadow:0 0 0 3px color-mix(in srgb,var(--authority) 14%,transparent); }
.customer-assignment-search > span:first-child { color:var(--authority); }
.customer-assignment-search > span:first-child svg { width:23px; }
.customer-assignment-search > label { min-width:0; display:grid; gap:2px; cursor:text; }
.customer-assignment-search small { color:var(--muted); font-size:11px; line-height:1.2; }
.customer-assignment-search input { width:100%; min-width:0; padding:0; color:var(--ink); border:0; outline:0; background:transparent; font:inherit; font-size:16px; font-weight:700; }
.customer-assignment-search input::placeholder { color:color-mix(in srgb,var(--muted) 82%,transparent); font-weight:600; }
.customer-assignment-search input:disabled { cursor:not-allowed; }
.customer-assignment-search button { width:44px; height:44px; display:grid; place-items:center; color:var(--muted); border:0; border-radius:12px; background:transparent; cursor:pointer; touch-action:manipulation; transition:color .18s ease,background .18s ease; }
.customer-assignment-search button:hover,.customer-assignment-search button:focus-visible { color:var(--ink); outline:0; background:var(--surface); }
.customer-assignment-search button svg { width:19px; }
.customer-assignment-output { min-width:0; }
.customer-assignment-loading,.customer-assignment-guidance { min-height:86px; display:flex; align-items:center; justify-content:center; gap:12px; padding:16px; color:var(--authority); border:1px dashed var(--border-strong); border-radius:15px; background:var(--canvas); }
.customer-assignment-guidance.no-result { color:var(--warning); background:var(--warning-soft); }
.customer-assignment-guidance > svg { width:24px; flex:0 0 auto; }
.customer-assignment-loading p,.customer-assignment-guidance p { display:grid; gap:3px; margin:0; }
.customer-assignment-loading strong,.customer-assignment-guidance strong { color:var(--ink); font-size:13px; }
.customer-assignment-loading small,.customer-assignment-guidance small { color:var(--muted); font-size:12px; line-height:1.45; }
.customer-assignment-result-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; color:var(--ink); }
.customer-assignment-result-head span { font-size:12px; font-weight:850; }
.customer-assignment-result-head small { color:var(--muted); font-size:11px; }
.customer-assignment-list { display:grid; gap:8px; }
.customer-assignment-row { width:100%; min-height:92px; display:grid; grid-template-columns:52px minmax(0,1.5fr) minmax(150px,.75fr) auto; align-items:center; gap:13px; padding:12px; color:var(--ink); text-align:left; border:1px solid var(--border); border-radius:15px; background:var(--surface); box-shadow:var(--shadow-sm); cursor:pointer; touch-action:manipulation; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.customer-assignment-row:hover,.customer-assignment-row:focus-visible { outline:0; border-color:color-mix(in srgb,var(--authority) 45%,var(--border)); background:color-mix(in srgb,var(--authority-soft) 22%,var(--surface)); box-shadow:var(--shadow-md); }
.customer-assignment-row.unassigned { border-left:4px solid var(--warning); }
.customer-assignment-code { width:52px; height:52px; display:grid; place-items:center; overflow:hidden; color:var(--authority); border-radius:14px; background:var(--authority-soft); font-size:12px; font-weight:900; font-variant-numeric:tabular-nums; }
.customer-assignment-row.unassigned .customer-assignment-code { color:var(--warning); background:var(--warning-soft); }
.customer-assignment-copy { min-width:0; display:grid; gap:3px; }
.customer-assignment-copy > span { min-width:0; display:flex; align-items:center; gap:7px; }
.customer-assignment-copy > span strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.customer-assignment-copy > span em { padding:3px 6px; color:var(--warning); border-radius:999px; background:var(--warning-soft); font-size:9px; font-style:normal; font-weight:900; text-transform:uppercase; }
.customer-assignment-copy > small { overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.customer-assignment-copy > b { width:max-content; max-width:100%; display:inline-flex; align-items:center; gap:5px; overflow:hidden; color:var(--success); font-size:12px; }
.customer-assignment-copy > b svg { width:15px; flex:0 0 auto; }
.customer-assignment-copy > b span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.customer-assignment-row.unassigned .customer-assignment-copy > b { color:var(--warning); }
.customer-assignment-meta { min-width:0; display:grid; gap:2px; padding-left:13px; border-left:1px solid var(--border); }
.customer-assignment-meta small { color:var(--muted); font-size:9px; text-transform:uppercase; }
.customer-assignment-meta strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.customer-assignment-meta em { color:var(--muted); font-size:11px; font-style:normal; }
.customer-assignment-action { min-width:58px; display:flex; align-items:center; justify-content:flex-end; gap:5px; color:var(--authority); }
.customer-assignment-action small { font-size:11px; font-weight:850; }
.customer-assignment-action svg { width:17px; }
.customer-intake-divider { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:10px; font-weight:900; letter-spacing:.11em; }
.customer-intake-divider::before,.customer-intake-divider::after { content:""; height:1px; flex:1; background:var(--border); }
.customer-intake-create { min-height:58px; display:flex; align-items:center; justify-content:center; gap:10px; }
.customer-intake-create > svg { width:21px; }
.customer-intake-create > span { display:grid; gap:1px; text-align:left; }
.customer-intake-create strong { font-size:14px; }
.customer-intake-create small { opacity:.76; font-size:11px; }
.customer-intake-output { display:grid; gap:10px; }
.customer-intake-loading,.customer-intake-empty { min-height:76px; display:flex; align-items:center; justify-content:center; gap:11px; padding:14px; color:var(--muted); border:1px dashed var(--border-strong); border-radius:15px; background:var(--canvas); }
.customer-intake-loading p,.customer-intake-empty p { display:grid; gap:2px; margin:0; }
.customer-intake-loading strong,.customer-intake-empty strong { color:var(--ink); font-size:13px; }
.customer-intake-loading small,.customer-intake-empty small { font-size:11px; }
.customer-intake-empty > span svg { width:22px; }
.customer-intake-queue-head { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.customer-intake-queue-head > div { display:grid; gap:2px; }
.customer-intake-queue-head strong { font-size:14px; }
.customer-intake-queue-head small,.customer-intake-queue-head > span { color:var(--muted); font-size:11px; }
.customer-intake-list { display:grid; gap:9px; }
.customer-intake-row { overflow:hidden; border:1px solid var(--border); border-left:4px solid var(--success); border-radius:16px; background:var(--surface); box-shadow:var(--shadow-sm); }
.customer-intake-row.temporary { border-left-color:var(--warning); background:linear-gradient(90deg,color-mix(in srgb,var(--warning-soft) 55%,var(--surface)),var(--surface) 42%); }
.customer-intake-row.unverified { border-left-color:var(--authority); background:var(--surface); }
.customer-intake-row-main { width:100%; min-height:94px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; padding:12px; color:var(--ink); text-align:left; border:0; background:transparent; cursor:pointer; touch-action:manipulation; transition:background .18s ease; }
.customer-intake-row-main:hover,.customer-intake-row-main:focus-visible { background:color-mix(in srgb,var(--authority-soft) 32%,transparent); }
.customer-intake-row-icon { width:42px; height:42px; display:grid; place-items:center; color:var(--success); border-radius:13px; background:var(--success-soft); }
.customer-intake-row.temporary .customer-intake-row-icon { color:var(--warning); background:var(--warning-soft); }
.customer-intake-row.unverified .customer-intake-row-icon { color:var(--authority); background:var(--authority-soft); }
.customer-intake-row-icon svg { width:20px; }
.customer-intake-row-copy { min-width:0; display:grid; gap:3px; }
.customer-intake-row-status { width:max-content; display:inline-flex; align-items:center; gap:5px; color:var(--success); font-size:10px; font-weight:900; text-transform:uppercase; }
.customer-intake-row.temporary .customer-intake-row-status { color:var(--warning); }
.customer-intake-row.unverified .customer-intake-row-status { color:var(--authority); }
.customer-intake-row-status i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.customer-intake-row-copy > strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.customer-intake-row-copy > small,.customer-intake-row-copy > em { overflow:hidden; color:var(--muted); font-size:11px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.customer-intake-row-action { display:flex; align-items:center; gap:5px; color:var(--authority); }
.customer-intake-row-action small { font-size:11px; font-weight:850; }
.customer-intake-row-action svg { width:16px; }
.customer-intake-audit { width:100%; min-height:44px; display:flex; align-items:center; justify-content:center; gap:7px; color:var(--muted); border:0; border-top:1px solid var(--border); background:color-mix(in srgb,var(--canvas) 78%,var(--surface)); font-size:11px; font-weight:800; cursor:pointer; touch-action:manipulation; transition:color .18s ease,background .18s ease; }
.customer-intake-audit:hover,.customer-intake-audit:focus-visible { color:var(--authority); background:var(--authority-soft); }
.customer-intake-audit svg { width:15px; }

.customer-assignment-form { display:grid; gap:14px; padding:0 18px calc(18px + env(safe-area-inset-bottom)); }
.customer-assignment-identity,.customer-assignment-current { display:grid; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:12px; padding:13px; border:1px solid var(--border); border-radius:15px; background:var(--canvas); }
.customer-assignment-identity > span,.customer-assignment-current > span { width:46px; height:46px; display:grid; place-items:center; color:var(--authority); border-radius:13px; background:var(--authority-soft); }
.customer-assignment-current > span { color:var(--success); background:var(--success-soft); }
.customer-assignment-identity svg,.customer-assignment-current svg { width:22px; }
.customer-assignment-identity > div,.customer-assignment-current > div { min-width:0; display:grid; gap:2px; }
.customer-assignment-identity small,.customer-assignment-current small { color:var(--muted); font-size:10px; font-weight:850; letter-spacing:.05em; }
.customer-assignment-identity strong,.customer-assignment-current strong { overflow:hidden; color:var(--ink); font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.customer-assignment-identity p,.customer-assignment-current p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.customer-assignment-fields { display:grid; gap:13px; padding:14px; border:1px solid var(--border); border-radius:16px; background:var(--canvas); }
.customer-assignment-field { min-width:0; display:grid; gap:7px; color:var(--ink); font-size:13px; font-weight:850; }
.customer-assignment-field input,.customer-assignment-field select { width:100%; min-height:52px; padding:0 14px; color:var(--ink); border:1px solid var(--border-strong); border-radius:13px; outline:0; background:var(--surface); font:inherit; font-size:16px; }
.customer-assignment-field input::placeholder { color:var(--muted); }
.customer-assignment-field input:focus,.customer-assignment-field select:focus { border-color:var(--authority); box-shadow:0 0 0 3px color-mix(in srgb,var(--authority) 15%,transparent); }
.customer-assignment-field > small { color:var(--muted); font-size:12px; font-weight:500; line-height:1.45; }
.customer-assignment-change { min-height:68px; display:flex; align-items:center; justify-content:center; gap:12px; padding:12px; border:1px solid var(--border); border-radius:14px; background:var(--canvas); }
.customer-assignment-change > span { min-width:0; display:grid; gap:2px; text-align:center; }
.customer-assignment-change > span small { color:var(--muted); font-size:9px; font-weight:850; }
.customer-assignment-change > span strong { overflow:hidden; color:var(--ink); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.customer-assignment-change > svg { width:20px; flex:0 0 auto; color:var(--authority); }
.customer-assignment-change > p { display:grid; gap:2px; margin:0; text-align:center; }
.customer-assignment-change > p strong { font-size:12px; }
.customer-assignment-change > p small { color:var(--muted); font-size:11px; }
.customer-assignment-assurance { display:flex; align-items:flex-start; gap:9px; padding:11px; color:var(--success); border:1px solid color-mix(in srgb,var(--success) 22%,var(--border)); border-radius:13px; background:var(--success-soft); }
.customer-assignment-assurance > svg { width:19px; flex:0 0 auto; }
.customer-assignment-assurance p { display:grid; gap:2px; margin:0; }
.customer-assignment-assurance strong { font-size:12px; }
.customer-assignment-assurance small { color:var(--muted); font-size:12px; line-height:1.45; }
.customer-assignment-form-actions { display:grid; grid-template-columns:1fr 1.7fr; gap:10px; }
.customer-assignment-form-actions button { min-height:50px; }
.customer-assignment-history { min-height:48px; display:flex; align-items:center; justify-content:center; gap:8px; color:var(--authority); border:0; border-radius:12px; background:var(--authority-soft); font-size:11px; font-weight:850; cursor:pointer; touch-action:manipulation; transition:background .18s ease,color .18s ease; }
.customer-assignment-history:hover,.customer-assignment-history:focus-visible { outline:0; color:var(--ink); background:color-mix(in srgb,var(--authority-soft) 68%,var(--surface)); }
.customer-assignment-history svg { width:17px; }
.customer-assignment-history svg:last-child { margin-left:auto; }

.customer-intake-form { display:grid; gap:14px; padding:0 18px calc(18px + env(safe-area-inset-bottom)); }
.customer-intake-mode { display:grid; gap:8px; }
.customer-intake-mode > label { min-height:76px; display:grid; grid-template-columns:minmax(0,1fr) 48px; align-items:center; gap:12px; padding:13px; border:1px solid color-mix(in srgb,var(--warning) 30%,var(--border)); border-radius:16px; background:var(--warning-soft); cursor:pointer; }
.customer-intake-mode > label > span { display:grid; gap:3px; }
.customer-intake-mode strong { font-size:14px; }
.customer-intake-mode small { color:var(--muted); font-size:12px; line-height:1.45; }
.customer-intake-mode input { position:absolute; opacity:0; pointer-events:none; }
.customer-intake-mode label > i { width:46px; height:27px; position:relative; border-radius:999px; background:var(--border-strong); transition:background .18s ease; }
.customer-intake-mode label > i::after { content:""; width:21px; height:21px; position:absolute; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 2px 7px rgba(0,0,0,.2); transition:transform .18s ease; }
.customer-intake-mode input:checked + i { background:var(--warning); }
.customer-intake-mode input:checked + i::after { transform:translateX(19px); }
.customer-intake-mode input:focus-visible + i { box-shadow:0 0 0 3px color-mix(in srgb,var(--authority) 22%,transparent); }
.customer-intake-mode > p { margin:0; padding:10px 12px; color:var(--muted); border-radius:12px; background:var(--canvas); font-size:11px; line-height:1.5; }
.customer-intake-mode > p strong { color:var(--ink); font-size:11px; }
.dashboard-new-customer { display:inline-flex; width:max-content; max-width:100%; padding:3px 7px; color:var(--authority); border:1px solid color-mix(in srgb,var(--authority) 20%,var(--border)); border-radius:999px; background:var(--authority-soft); font-size:9px; line-height:1.2; letter-spacing:.04em; }
.time-allocation-note { margin:10px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.customer-intake-progress { display:grid; grid-template-columns:auto 1fr auto 1fr auto; align-items:center; gap:7px; color:var(--muted); font-size:10px; font-weight:850; }
.customer-intake-progress span { padding:5px 7px; border-radius:999px; background:var(--canvas); }
.customer-intake-progress span.active { color:var(--authority); background:var(--authority-soft); }
.customer-intake-progress i { height:1px; background:var(--border-strong); }
.customer-intake-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.customer-intake-fields label { min-width:0; display:grid; gap:6px; color:var(--ink); font-size:12px; font-weight:850; }
.customer-intake-fields label > span { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.customer-intake-fields label > span em { color:var(--muted); font-size:10px; font-style:normal; text-transform:uppercase; }
.customer-intake-fields input,.customer-intake-fields select { width:100%; min-height:48px; padding:0 13px; color:var(--ink); border:1px solid var(--border-strong); border-radius:12px; outline:0; background:var(--surface); font:inherit; font-size:16px; }
.customer-intake-fields input:focus,.customer-intake-fields select:focus { border-color:var(--authority); box-shadow:0 0 0 3px color-mix(in srgb,var(--authority) 15%,transparent); }
.customer-intake-fields input:disabled { color:var(--muted); background:var(--canvas); cursor:not-allowed; }
.customer-intake-fields label > small { color:var(--muted); font-size:11px; font-weight:500; line-height:1.4; }
.customer-intake-form-note { display:flex; align-items:flex-start; gap:9px; padding:11px; color:var(--success); border:1px solid color-mix(in srgb,var(--success) 23%,var(--border)); border-radius:13px; background:var(--success-soft); }
.customer-intake-form-note > svg { width:19px; flex:0 0 auto; }
.customer-intake-form-note p { display:grid; gap:2px; margin:0; }
.customer-intake-form-note strong { font-size:12px; }
.customer-intake-form-note small { color:var(--muted); font-size:11px; line-height:1.45; }
.customer-intake-form-error:not(:empty) { padding:10px 12px; color:var(--danger); border:1px solid color-mix(in srgb,var(--danger) 28%,var(--border)); border-radius:12px; background:var(--danger-soft); font-size:12px; font-weight:750; }
.customer-intake-form-actions { display:grid; grid-template-columns:1fr 1.65fr; gap:10px; }
.customer-intake-form-actions button { min-height:50px; }
.customer-intake-audit-list { display:grid; gap:10px; padding:0 18px calc(18px + env(safe-area-inset-bottom)); }
.customer-intake-audit-event { display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px; padding:12px; border:1px solid var(--border); border-radius:15px; background:var(--surface); }
.customer-intake-audit-mark { width:38px; height:38px; display:grid; place-items:center; color:var(--authority); border-radius:11px; background:var(--authority-soft); }
.customer-intake-audit-mark svg { width:18px; }
.customer-intake-audit-event > div { min-width:0; display:grid; gap:2px; }
.customer-intake-audit-event small,.customer-intake-audit-event em { color:var(--muted); font-size:10px; font-style:normal; }
.customer-intake-audit-event strong { font-size:13px; }
.customer-intake-audit-event ul { display:grid; gap:5px; margin:8px 0 0; padding:8px 0 0; border-top:1px solid var(--border); list-style:none; }
.customer-intake-audit-event li { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; font-size:11px; }
.customer-intake-audit-event li > span { color:var(--muted); }
.customer-intake-audit-event li small { text-align:right; }
.customer-result-title { display:flex; align-items:center; gap:7px; }
.customer-result-title em { padding:3px 6px; color:var(--warning); border-radius:999px; background:var(--warning-soft); font-size:9px; font-style:normal; font-weight:900; text-transform:uppercase; }
.temporary-customer-result { border-left:3px solid var(--warning); background:linear-gradient(90deg,var(--warning-soft),var(--surface) 45%); }
.selected-customer.temporary { border-color:color-mix(in srgb,var(--warning) 42%,var(--border)); background:var(--warning-soft); }

@keyframes intake-loading { to { background-position:-200% 0; } }

@media(max-width:720px) {
  .customer-intake { padding:15px; border-radius:19px; }
  .customer-intake-head { grid-template-columns:46px minmax(0,1fr); }
  .customer-intake-icon { width:46px; height:46px; border-radius:14px; }
  .customer-intake-access { grid-column:1 / -1; justify-self:start; }
  .customer-intake-flow { grid-template-columns:1fr; gap:7px; }
  .customer-intake-flow > i { display:none; }
  .customer-intake-flow small { white-space:normal; }
  .customer-assignment { padding:14px; }
  .customer-assignment-row { grid-template-columns:46px minmax(0,1fr) 22px; gap:10px; }
  .customer-assignment-code { width:46px; height:46px; }
  .customer-assignment-meta { grid-column:2 / -1; display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; padding:8px 0 0; border-top:1px solid var(--border); border-left:0; }
  .customer-assignment-meta small { width:100%; }
  .customer-assignment-action { min-width:0; }
  .customer-assignment-action small { display:none; }
  .customer-intake-row-main { grid-template-columns:38px minmax(0,1fr) 18px; }
  .customer-intake-row-icon { width:38px; height:38px; }
  .customer-intake-row-action small { display:none; }
  .customer-intake-fields { grid-template-columns:1fr; }
  .customer-intake-form { padding-inline:14px; }
  .customer-assignment-form { padding-inline:14px; }
}

@media(max-width:390px) {
  .customer-intake-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-intake-summary .sales { grid-column:1 / -1; border-top:1px solid var(--border); border-left:0; }
  .customer-intake-progress { grid-template-columns:1fr; }
  .customer-intake-progress i { display:none; }
  .customer-intake-progress span { text-align:center; }
  .customer-intake-form-actions { grid-template-columns:1fr; }
  .customer-assignment-head p { font-size:12px; }
  .customer-assignment-result-head { align-items:flex-start; flex-direction:column; gap:2px; }
  .customer-assignment-form-actions { grid-template-columns:1fr; }
}

@media(prefers-reduced-motion:reduce) {
  .customer-intake-skeleton { animation:none; }
  .customer-intake-row-main,.customer-intake-audit,.customer-intake-mode label > i,.customer-intake-mode label > i::after,.customer-assignment-search,.customer-assignment-search button,.customer-assignment-row,.customer-assignment-history { transition:none!important; }
}

/* v78 - preserve customer search editing and show complete Customer Master names. */
.customer-assignment-copy > span { align-items:flex-start; flex-wrap:wrap; }
.customer-assignment-copy > span strong,
.customer-intake-row-copy > strong,
.customer-assignment-identity strong,
.coverage-customer-main > strong,
.coverage-branch-copy > strong,
.report-customer-copy strong,
.customer-context-strip strong,
.customer-latest-visit strong,
.customer-history-top strong,
.customer-import-row strong {
  overflow:visible;
  line-height:1.35;
  overflow-wrap:anywhere;
  text-overflow:clip;
  white-space:normal;
}
.customer-assignment-copy > span em { flex:0 0 auto; margin-top:1px; }
.customer-assignment-row { align-items:start; }
.customer-assignment-code,.customer-assignment-action { margin-top:2px; }

@media(max-width:720px) {
  .customer-assignment-copy > span strong,
  .customer-intake-row-copy > strong,
  .coverage-customer-main > strong,
  .coverage-branch-copy > strong { font-size:13px; line-height:1.4; }
}

/* v77 — guided People & Team report builder and summary-first drill-down. */
.team-report-builder {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
  gap:10px;
}
.team-builder-step {
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-content:start;
  gap:9px 10px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--canvas);
}
.team-builder-step-number {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:var(--authority);
  border-radius:10px;
  background:var(--authority-soft);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.team-builder-step-copy { min-width:0; display:grid; align-content:center; gap:2px; }
.team-builder-step-copy strong { color:var(--ink); font-size:12px; line-height:1.3; }
.team-builder-step-copy small { overflow:hidden; color:var(--muted); font-size:10px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.team-employee-select-wrap {
  min-height:50px;
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 18px;
  align-items:center;
  gap:8px;
  padding:0 11px;
  border:1px solid var(--border-strong);
  border-radius:11px;
  background:var(--surface);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.team-employee-select-wrap:focus-within { border-color:var(--authority); box-shadow:0 0 0 3px color-mix(in srgb,var(--authority) 16%,transparent); }
.team-employee-select-wrap > span:first-child { width:24px; height:24px; display:grid; place-items:center; color:var(--authority); }
.team-employee-select-wrap svg { width:18px; height:18px; }
.team-employee-select {
  width:100%;
  min-width:0;
  min-height:48px;
  padding:0;
  color:var(--ink);
  border:0;
  outline:0;
  background:transparent;
  font:inherit;
  font-size:13px;
  font-weight:800;
  appearance:none;
  cursor:pointer;
}
.team-select-chevron { color:var(--muted); pointer-events:none; }
.team-builder-step .period-control { grid-column:1 / -1; padding:0; border:0; background:transparent; }
.team-builder-step .period-control-head { display:none; }
.team-builder-step .period-control .date-presets { border:0; background:var(--surface); }
.team-builder-step .period-control .date-presets button { min-height:44px; font-size:10px; }
.team-builder-step .period-control.custom-range-open .report-date-grid { margin-top:7px; }
.team-run-report {
  min-height:54px;
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 22px;
  align-items:center;
  gap:10px;
  padding:9px 13px;
  color:#fff;
  text-align:left;
  border:1px solid var(--brand);
  border-radius:13px;
  background:var(--brand);
  box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 18%,transparent);
  cursor:pointer;
  transition:background .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.team-run-report:hover,.team-run-report:focus-visible { background:var(--brand-strong); box-shadow:0 10px 22px color-mix(in srgb,var(--brand) 24%,transparent); }
.team-run-report:focus-visible { outline:3px solid color-mix(in srgb,var(--brand) 24%,transparent); outline-offset:2px; }
.team-run-report:disabled { opacity:.68; cursor:wait; box-shadow:none; }
.team-run-report > span:first-child { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:rgba(255,255,255,.12); }
.team-run-report svg { width:19px; height:19px; }
.team-run-report > span:nth-child(2) { min-width:0; display:grid; gap:1px; }
.team-run-report strong,.team-run-report small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.team-run-report strong { font-size:13px; }
.team-run-report small { color:rgba(255,255,255,.76); font-size:10px; }
.team-run-report.is-loading > span:first-child svg { animation:team-report-spin .8s linear infinite; }
@keyframes team-report-spin { to { transform:rotate(360deg); } }

.team-directory-disclosure { overflow:hidden; border:1px solid var(--border); border-radius:13px; background:var(--surface); }
.team-directory-disclosure > summary {
  min-height:50px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  cursor:pointer;
  list-style:none;
}
.team-directory-disclosure > summary::-webkit-details-marker { display:none; }
.team-directory-disclosure > summary > svg { width:18px; color:var(--authority); }
.team-directory-disclosure > summary > span:nth-child(2) { min-width:0; display:grid; gap:1px; }
.team-directory-disclosure > summary strong { color:var(--ink); font-size:11px; }
.team-directory-disclosure > summary small { color:var(--muted); font-size:9px; }
.team-directory-disclosure > summary > span:last-child { padding:4px 7px; color:var(--authority); border-radius:999px; background:var(--authority-soft); font-size:9px; font-weight:850; }
.team-directory-disclosure[open] > summary { border-bottom:1px solid var(--border); }
.team-directory-disclosure .team-people-picker { margin:0; border:0; border-radius:0; }
.team-report-filter-card.focused-report .team-filter-heading { display:flex; }
.team-report-filter-card.focused-report .team-directory-disclosure .team-people-picker { display:grid; }

.report-section-navigator {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin:10px 0;
  padding:7px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--canvas);
}
.report-section-navigator button {
  min-width:0;
  min-height:58px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 14px;
  align-items:center;
  gap:7px;
  padding:7px;
  color:var(--ink);
  text-align:left;
  border:1px solid transparent;
  border-radius:10px;
  background:var(--surface);
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.report-section-navigator button:hover,.report-section-navigator button:focus-visible { border-color:var(--authority); background:var(--authority-soft); box-shadow:var(--shadow-sm); }
.report-section-navigator button:focus-visible { outline:3px solid color-mix(in srgb,var(--authority) 18%,transparent); outline-offset:1px; }
.report-section-navigator button > span:first-child { width:30px; height:30px; display:grid; place-items:center; color:var(--authority); border-radius:9px; background:var(--authority-soft); }
.report-section-navigator button > span:first-child svg { width:16px; height:16px; }
.report-section-navigator button > span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.report-section-navigator strong,.report-section-navigator small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.report-section-navigator strong { font-size:10px; }
.report-section-navigator small { color:var(--muted); font-size:8px; }
.report-section-navigator button > svg { width:13px; color:var(--muted); }

button.team-overview-metric {
  position:relative;
  grid-template-columns:34px minmax(0,1fr) 16px;
  color:var(--ink);
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
button.team-overview-metric:hover,button.team-overview-metric:focus-visible { border-color:var(--authority); background:var(--authority-soft); box-shadow:var(--shadow-sm); }
button.team-overview-metric:focus-visible { outline:3px solid color-mix(in srgb,var(--authority) 18%,transparent); outline-offset:2px; }
.team-overview-metric > span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.team-overview-metric > span:nth-child(2) strong { font-size:18px; }
.team-overview-metric > span:nth-child(2) small { margin:0; color:var(--ink); font-size:10px; }
.team-overview-metric > span:nth-child(2) em { overflow:hidden; color:var(--muted); font-size:8.5px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.team-metric-open { width:16px; height:16px; display:grid; place-items:center; color:var(--muted); }
.team-metric-open svg { width:14px; height:14px; }

@media(max-width:720px) {
  .team-report-builder { grid-template-columns:1fr; }
  .team-run-report { grid-column:auto; }
  .report-section-navigator { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-report-filter-card.focused-report { padding:9px; }
}
@media(max-width:390px) {
  .team-builder-step { padding:9px; }
  .team-filter-heading small { font-size:9px; }
  .report-section-navigator { gap:5px; padding:5px; }
  .report-section-navigator button { min-height:56px; grid-template-columns:28px minmax(0,1fr) 12px; padding:6px; }
  .team-overview-metric > span:nth-child(2) strong { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .team-run-report.is-loading > span:first-child svg { animation:none; }
  .team-employee-select-wrap,.team-run-report,.report-section-navigator button,button.team-overview-metric { transition:none!important; }
}


/* v80 — Quiet Ops: one calm visual system, lower density, clearer hierarchy. */
:root {
  --canvas:#f5f6f7;
  --surface:#ffffff;
  --surface-raised:#ffffff;
  --ink:#15202b;
  --muted:#64707c;
  --subtle:#8a949e;
  --border:#e0e4e8;
  --border-strong:#c8d0d7;
  --brand:#a91528;
  --brand-strong:#80101e;
  --brand-soft:#fff1f3;
  --authority:#183248;
  --authority-strong:#102536;
  --authority-soft:#eef3f6;
  --accent:#08745d;
  --accent-strong:#065b49;
  --accent-soft:#edf8f4;
  --info:#2f718f;
  --info-soft:#eef6f9;
  --warning:#94620c;
  --warning-soft:#fff8e8;
  --shadow-sm:0 1px 2px rgba(16,32,43,.045);
  --shadow-md:0 6px 18px rgba(16,32,43,.065);
  --shadow-lg:0 18px 42px rgba(16,32,43,.13);
  --radius-sm:9px;
  --radius-md:13px;
  --radius-lg:17px;
  --nav-height:70px;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}
body {
  color:var(--ink);
  font-size:15px;
  line-height:1.45;
  background:var(--canvas);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,strong,b { letter-spacing:-.018em; }
.eyebrow {
  color:var(--brand);
  font-size:9px;
  font-weight:750;
  letter-spacing:.09em;
}
svg { stroke-linecap:round; stroke-linejoin:round; }
.nav-icon svg,.icon-button svg,.ops-overview svg,.team-board svg,
#screen-customers svg,.modal-sheet svg { stroke-width:1.7; }
.screen { padding:16px 14px 24px; }
.section-block { margin-top:16px; }
.section-heading { min-height:40px; margin-bottom:8px; }
.section-heading h2 { font-size:18px; }

/* Calm app chrome */
.topbar {
  min-height:64px;
  gap:10px;
  padding-top:calc(8px + env(safe-area-inset-top));
  padding-bottom:8px;
  border-bottom:1px solid var(--border);
  background:color-mix(in srgb,var(--surface) 97%,transparent);
  box-shadow:none;
}
.topbar .brand-logo-mark {
  width:64px;
  height:40px;
  flex-basis:64px;
  border:0;
  border-radius:9px;
}
.topbar .brand-logo-mark img { width:96px; height:96px; }
.topbar-copy strong { font-size:14px; font-weight:720; }
.topbar-copy > span { font-size:10px; font-weight:560; }
.status-dot { width:6px; height:6px; box-shadow:none; }
.icon-button {
  width:42px;
  height:42px;
  color:var(--muted);
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--surface);
}
.bottom-nav {
  min-height:calc(66px + env(safe-area-inset-bottom));
  gap:0;
  padding:5px 8px calc(5px + env(safe-area-inset-bottom));
  border:1px solid var(--border);
  border-bottom:0;
  border-radius:16px 16px 0 0;
  background:color-mix(in srgb,var(--surface) 98%,transparent);
  box-shadow:0 -5px 16px rgba(16,32,43,.065);
}
.nav-item {
  min-height:56px;
  gap:2px;
  color:var(--muted);
  border-radius:10px;
  font-size:10px;
  font-weight:650;
}
.nav-item:hover { background:var(--authority-soft); }
.nav-item.active {
  color:var(--brand);
  background:transparent;
  box-shadow:none;
}
.nav-item.active::after { top:1px; width:18px; height:2px; }
.nav-icon { height:21px; }
.nav-icon svg { width:20px; height:20px; }

/* Shared surfaces, controls, and type */
.hero-card,.primary-card,.workflow-card,.search-panel,.info-card,.history-card,
.operational-position-section,.team-report-filter-card,.team-report-hero,
.management-briefing,.customer-intake,.customer-assignment {
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.primary-button,.secondary-button,.danger-button {
  min-height:46px;
  border-radius:11px;
  font-size:13px;
  font-weight:700;
  box-shadow:none;
}
.primary-button { background:var(--brand); border-color:var(--brand); }
.primary-button:hover { background:var(--brand-strong); box-shadow:none; }
input,select,textarea {
  border-color:var(--border-strong);
  border-radius:11px;
  background:var(--surface);
}
label,.feedback-field>span { font-weight:700; }
.status-pill,.state-badge,.inbox-status {
  font-size:9px;
  font-weight:720;
  letter-spacing:0;
  box-shadow:none;
}

/* Today: summary first, details on demand */
.ops-overview {
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.ops-overview-head {
  min-height:68px;
  padding:13px 15px;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.ops-overview-head h1 {
  margin:3px 0 1px;
  font-size:22px;
  font-weight:720;
  letter-spacing:-.035em;
}
.ops-overview-head p { color:var(--muted); font-size:9px; }
.ops-live {
  color:var(--accent);
  border:0;
  background:transparent;
  font-size:8px;
}
.ops-refresh {
  width:40px;
  height:40px;
  border:1px solid var(--border);
  border-radius:10px;
  color:var(--muted);
  background:var(--surface);
}
.ops-executive-grid { gap:7px; padding:7px; background:var(--canvas); }
.ops-executive-card {
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  box-shadow:none;
}
button.ops-executive-card:hover,button.ops-executive-card:focus-visible {
  border-color:var(--border-strong);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.ops-visit-copy>small { color:var(--muted); font-size:8px; letter-spacing:.06em; }
.ops-visit-copy>strong { font-size:19px; font-weight:730; }
.ops-visit-copy>em { color:var(--muted); font-size:9px; }
.ops-card-link { margin-top:5px; color:var(--brand); font-size:9px; }
.ops-progress-ring,.ops-allocation-donut { filter:saturate(.78); }
.ops-allocation-legend small,.ops-allocation-legend em { font-size:8px; }
.ops-allocation-legend strong { font-size:10px; font-weight:700; }
.ops-pulse-card>header { border-bottom:1px solid var(--border); background:transparent; }
.ops-pulse-card>header small { font-size:8px; letter-spacing:.06em; }
.ops-status-row {
  border-color:var(--border);
  background:var(--surface);
}
.ops-status-icon {
  color:var(--muted)!important;
  border:0!important;
  background:transparent!important;
}
.ops-status-copy small { font-size:8px; }
.ops-status-copy strong { font-weight:680; }
.ops-insight-grid { gap:7px; padding:7px; background:var(--canvas); }
.ops-insight-card {
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  box-shadow:none;
}
.ops-insight-heading { padding-bottom:8px; border-bottom:1px solid var(--border); }
.ops-insight-icon {
  width:31px;
  height:31px;
  color:var(--authority);
  border:0;
  border-radius:8px;
  background:var(--authority-soft);
}
.ops-insight-heading small { font-size:7.5px; letter-spacing:.07em; }
.ops-insight-heading strong { font-size:12px; font-weight:700; }
.ops-mobility-values i { background:transparent; }
.ops-retailer-item { border-color:var(--border); background:var(--surface); }

/* People: one clean row per person, state through a subtle rail. */
.team-board {
  margin-top:10px;
  padding:13px;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.team-board-head { margin-bottom:9px; padding:0 2px 9px; border-bottom:1px solid var(--border); }
.team-board-head h2 { margin:2px 0 0; font-size:18px; font-weight:720; }
.team-board-head p { display:none; }
.team-report-link { color:var(--brand); font-size:10px; }
.team-pulse-list { gap:7px; }
.pulse-person {
  border:1px solid var(--border);
  border-left:3px solid var(--person-state-accent);
  border-radius:13px;
  background:color-mix(in srgb,var(--person-state-surface) 42%,var(--surface));
  box-shadow:none;
}
.pulse-person:hover,.pulse-person:focus-visible {
  border-color:color-mix(in srgb,var(--person-state-accent) 48%,var(--border));
  background:color-mix(in srgb,var(--person-state-surface) 54%,var(--surface));
  box-shadow:none;
}
.pulse-person-head { padding:11px 12px 8px; }
.pulse-avatar { width:40px; height:40px; border-radius:10px; font-size:11px; }
.pulse-person-main>strong { font-size:13px; font-weight:720; }
.pulse-person-main>small {
  color:var(--muted);
  font-size:9px;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pulse-person-meta { margin-top:4px; }
.pulse-start-time {
  min-height:25px;
  grid-template-columns:15px auto;
  gap:4px;
  padding:3px 6px;
  border:0;
  border-radius:7px;
  background:color-mix(in srgb,var(--person-state-surface) 72%,var(--surface));
}
.pulse-start-time>svg { width:15px; height:15px; padding:0; background:transparent; }
.pulse-start-time small { display:none; }
.pulse-start-time strong { font-size:10px; font-weight:700; }
.pulse-employee-code { font-size:8px!important; font-weight:650!important; }
.pulse-person-state { gap:6px; }
.pulse-person-stats {
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--border);
  background:transparent;
}
.pulse-person-stats>span {
  min-height:43px;
  border-left:1px solid var(--border);
}
.pulse-person-stats strong { font-size:10px; font-weight:720; }
.pulse-person-stats small { font-size:7px; letter-spacing:.04em; }
.pulse-person-stats .person-road-stat { color:inherit; background:transparent; }

/* Reporting: compact navigation and a single decision surface. */
#screen-customers .intelligence-header {
  min-height:62px;
  padding:9px 12px;
  border:1px solid var(--border);
  border-left:3px solid var(--brand);
  border-radius:13px;
  background:var(--surface);
  box-shadow:none;
}
#screen-customers .intelligence-logo { width:38px; height:38px; border-radius:9px; }
#screen-customers .intelligence-brand { gap:8px; }
#screen-customers .intelligence-brand .eyebrow { font-size:8px; }
#screen-customers .intelligence-brand h1 { font-size:19px; font-weight:720; }
#screen-customers .intelligence-live { padding:0; background:transparent; }
.reporting-hub { gap:8px; margin-top:8px; }
.reporting-hub-head {
  min-height:56px;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  box-shadow:none;
}
.reporting-hub-mark { display:none; }
.reporting-hub-head h2 { margin:0; font-size:17px; font-weight:720; }
.reporting-hub-head p { display:none; }
.reporting-hub-count { min-height:26px; padding:4px 7px; font-size:8px; }
.reporting-global-filter {
  top:64px;
  gap:8px;
  padding:8px;
  border:1px solid var(--border);
  border-radius:12px;
  background:color-mix(in srgb,var(--surface) 97%,transparent);
  box-shadow:var(--shadow-sm);
}
.reporting-range-label>span { width:32px; height:32px; border-radius:8px; }
.reporting-range-label strong { font-size:11px; }
.reporting-range-label small { font-size:9px; }
.reporting-range-presets { gap:3px; }
.reporting-range-presets button {
  min-height:36px;
  padding:5px 7px;
  border:0;
  border-radius:8px;
  background:var(--canvas);
  font-size:9px;
}
.hub-command,.management-briefing,.team-report-hero {
  gap:9px;
  padding:11px;
  border:1px solid var(--border);
  border-top:3px solid var(--brand);
  border-radius:14px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.hub-command-head h3,.management-briefing-head h2 { font-size:18px; font-weight:720; }
.hub-metric,.executive-metric,.person-report-card,.report-entry {
  border-color:var(--border);
  border-radius:12px;
  background:var(--surface);
  box-shadow:none;
}
.report-entry-icon,.executive-metric-icon,.hub-metric-icon {
  color:var(--authority);
  border:0;
  background:var(--authority-soft);
}
.report-entry-copy strong,.executive-metric-copy strong { font-weight:720; }
.report-entry-copy small,.executive-metric-copy em { color:var(--muted); }
.team-report-filter-card { gap:8px; padding:9px; border-top-width:3px; }
.team-filter-heading small { display:none; }
.period-control { padding:7px; border-color:var(--border); border-radius:11px; }
.period-control-head>div>span { background:transparent; }
.report-section-navigator { gap:4px; padding:4px; border-radius:11px; }
.report-section-navigator button {
  min-height:48px;
  grid-template-columns:25px minmax(0,1fr);
  padding:6px 7px;
  border-radius:8px;
}
.report-section-navigator button>span:first-child {
  width:25px;
  height:25px;
  color:var(--muted);
  background:transparent;
}
.report-section-navigator small,.report-section-navigator button>svg { display:none; }

/* Modal and feedback: content first, decoration second. */
.modal-overlay { background:rgba(16,25,32,.48); backdrop-filter:blur(3px); }
.modal-sheet {
  border-radius:18px 18px 0 0;
  background:var(--surface);
  box-shadow:var(--shadow-lg);
}
.modal-heading { border-bottom:1px solid var(--border); }
.modal-heading h2 { font-size:19px; font-weight:720; }
.modal-heading p { color:var(--muted); font-size:10px; }
.feedback-context {
  grid-template-columns:32px minmax(0,1fr);
  gap:9px;
  margin-bottom:12px;
  padding:10px;
  border-color:var(--border);
  border-radius:11px;
  background:var(--canvas);
}
.feedback-context>span {
  width:32px;
  height:32px;
  color:var(--brand);
  border-radius:8px;
  background:transparent;
}
.feedback-context svg { width:18px; }
.feedback-context strong { font-size:12px; font-weight:720; }
.feedback-context small { font-size:9px; }
.feedback-context em { margin-top:3px; font-size:9px; font-weight:650; }
.feedback-field { gap:5px; margin-top:10px; }
.feedback-field>span { font-size:11px; }
.feedback-field textarea { min-height:120px; }
.feedback-delivery-note {
  grid-template-columns:20px minmax(0,1fr);
  gap:8px;
  margin-top:11px;
  padding:9px 10px;
  color:var(--accent);
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--accent-soft);
}
.feedback-delivery-note svg { width:18px; }
.feedback-delivery-note strong { font-size:10px; }
.feedback-delivery-note small { font-size:9px; }

@media(max-width:720px) {
  .screen { padding:12px 10px 20px; }
  .ops-overview-head { padding:11px 12px; }
  .ops-overview-head h1 { font-size:19px; }
  .ops-executive-grid,.ops-insight-grid { grid-template-columns:1fr; }
  .team-board { padding:10px; }
  .pulse-person-head { grid-template-columns:40px minmax(0,1fr) auto; }
  .pulse-person-state { grid-column:auto; }
  .reporting-global-filter { grid-template-columns:1fr; }
  .reporting-range-label { display:none; }
  .reporting-range-presets button { min-height:38px; }
}
@media(max-width:430px) {
  .topbar .brand-logo-mark { width:56px; flex-basis:56px; }
  .topbar-copy strong { font-size:13px; }
  .pulse-person-head { grid-template-columns:38px minmax(0,1fr); }
  .pulse-person-state { grid-column:2; justify-self:start; }
  .pulse-person-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pulse-person-stats>span:nth-child(4),
  .pulse-person-stats>span:nth-child(5) { border-top:1px solid var(--border); }
  .pulse-person-stats>span:nth-child(4) { grid-column:1 / 2; border-left:0; }
  .pulse-person-stats>span:nth-child(5) { grid-column:2 / 4; }
  .reporting-range-presets { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .modal-sheet { padding-inline:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .ops-executive-card,.ops-insight-card,.pulse-person,
  .reporting-range-presets button,.report-entry { transition:none!important; }
}


/* Coverage Visit Drilldown v86
   Period visits are individual operational records, never only aggregated branches. */
.coverage-directory-metrics > .coverage-period-metric {
  position:relative;
  min-height:62px;
  display:grid;
  place-content:center;
  gap:2px;
  padding:8px;
  color:var(--ink);
  text-align:center;
  border:0;
  border-left:1px solid var(--border);
  background:var(--surface);
  cursor:pointer;
  touch-action:manipulation;
  transition:color .18s ease,background .18s ease,box-shadow .18s ease;
}
.coverage-directory-metrics > .coverage-period-metric:hover,
.coverage-directory-metrics > .coverage-period-metric:focus-visible,
.coverage-directory-metrics > .coverage-period-metric[aria-pressed="true"] {
  z-index:1;
  color:var(--authority);
  background:var(--authority-soft);
  box-shadow:inset 0 -3px 0 var(--authority);
}
.coverage-directory-metrics > .coverage-period-metric:disabled {
  cursor:not-allowed;
  opacity:.5;
}
.coverage-period-metric em {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:var(--brand);
  font-size:8px;
  font-style:normal;
  font-weight:850;
}
.coverage-period-metric em svg {
  width:10px;
  height:10px;
}
.coverage-visit-toolbar {
  min-height:56px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 12px;
  border:1px solid color-mix(in srgb,var(--authority) 24%,var(--border));
  border-radius:13px;
  background:var(--authority-soft);
}
.coverage-visit-toolbar.hidden {
  display:none;
}
.coverage-visit-toolbar > button {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 11px;
  color:var(--authority);
  border:1px solid color-mix(in srgb,var(--authority) 25%,var(--border));
  border-radius:10px;
  background:var(--surface);
  font-size:9px;
  font-weight:850;
  cursor:pointer;
  touch-action:manipulation;
}
.coverage-visit-toolbar > button:hover,
.coverage-visit-toolbar > button:focus-visible {
  color:var(--brand);
  border-color:var(--brand);
}
.coverage-visit-toolbar > button svg {
  width:14px;
}
.coverage-visit-toolbar > div {
  min-width:0;
  display:grid;
  gap:2px;
}
.coverage-visit-toolbar > div strong {
  font-size:12px;
}
.coverage-visit-toolbar > div small {
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}
.coverage-period-visit-row {
  width:100%;
  min-height:92px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) minmax(160px,.42fr) 82px;
  align-items:center;
  gap:11px;
  padding:12px;
  color:var(--ink);
  text-align:left;
  border:1px solid var(--border);
  border-left:4px solid var(--success);
  border-radius:15px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
  cursor:pointer;
  touch-action:manipulation;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.coverage-period-visit-row.is-open {
  border-left-color:var(--info);
}
.coverage-period-visit-row:hover,
.coverage-period-visit-row:focus-visible {
  border-color:var(--authority);
  background:color-mix(in srgb,var(--authority-soft) 32%,var(--surface));
  box-shadow:var(--shadow-md);
}
.coverage-period-visit-index {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  color:var(--success);
  border-radius:12px;
  background:var(--success-soft);
  font-size:10px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}
.coverage-period-visit-row.is-open .coverage-period-visit-index {
  color:var(--info);
  background:var(--info-soft);
}
.coverage-period-visit-copy {
  min-width:0;
  display:grid;
  gap:4px;
}
.coverage-period-visit-copy > strong {
  font-size:13px;
  line-height:1.3;
}
.coverage-period-visit-copy > small {
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}
.coverage-period-visit-copy > em {
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--authority);
  font-size:8.5px;
  font-style:normal;
  font-weight:800;
}
.coverage-period-visit-copy > em svg {
  width:12px;
  height:12px;
  flex:0 0 auto;
}
.coverage-period-visit-copy > em span {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.coverage-period-visit-result {
  min-width:0;
  display:grid;
  justify-items:start;
  gap:3px;
}
.coverage-period-status {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:3px 7px;
  color:var(--success);
  border-radius:999px;
  background:var(--success-soft);
  font-size:8px;
  font-weight:850;
}
.coverage-period-status.open {
  color:var(--info);
  background:var(--info-soft);
}
.coverage-period-status i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}
.coverage-period-visit-result > strong {
  font-size:12px;
  font-variant-numeric:tabular-nums;
}
.coverage-period-visit-result > small {
  color:var(--muted);
  font-size:8.5px;
  line-height:1.35;
}
.coverage-period-visit-open {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  color:var(--brand);
}
.coverage-period-visit-open small {
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}
.coverage-period-visit-open svg {
  width:14px;
}
@media(max-width:720px) {
  .coverage-period-visit-row {
    min-height:118px;
    grid-template-columns:36px minmax(0,1fr) 20px;
    gap:8px;
    padding:10px;
  }
  .coverage-period-visit-index {
    width:36px;
    height:36px;
  }
  .coverage-period-visit-result {
    grid-column:2;
    grid-row:2;
  }
  .coverage-period-visit-open {
    grid-column:3;
    grid-row:1 / 3;
  }
  .coverage-period-visit-open small {
    display:none;
  }
}
@media(max-width:390px) {
  .coverage-directory-metrics > :nth-child(3) {
    border-left:0;
    border-top:1px solid var(--border);
  }
  .coverage-directory-metrics > :nth-child(4) {
    border-top:1px solid var(--border);
  }
  .coverage-visit-toolbar {
    align-items:flex-start;
  }
  .coverage-visit-toolbar > button span {
    display:none;
  }
  .coverage-visit-toolbar > button {
    width:44px;
    flex:0 0 44px;
    justify-content:center;
    padding:0;
  }
}
@media(prefers-reduced-motion:reduce) {
  .coverage-period-metric,
  .coverage-period-visit-row,
  .coverage-visit-toolbar > button {
    transition:none!important;
  }
}


/* Mandatory Visit Planner v87 */
.visit-plan-readonly{margin-bottom:12px}
.visit-planner{margin:18px 0;padding:18px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-sm)}.visit-planner>header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.visit-planner>header>div{flex:1}.visit-planner h2{margin:2px 0 3px}.visit-planner p{margin:0;color:var(--muted);font-size:.8rem}.visit-plan-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.visit-plan-summary span{display:grid;gap:2px;padding:11px;border-radius:13px;background:var(--canvas);text-align:center}.visit-plan-summary strong{font-size:1.25rem}.visit-plan-summary small{color:var(--muted);font-weight:700}.mandatory-visit-list{display:grid;gap:9px}.mandatory-visit-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid var(--border);border-left:4px solid var(--success);border-radius:14px;background:var(--surface)}.mandatory-visit-card.priority-high{border-left-color:var(--warning)}.mandatory-visit-card.priority-urgent,.mandatory-visit-card.overdue{border-left-color:var(--danger)}.mandatory-visit-date{display:grid;gap:2px;min-width:78px}.mandatory-visit-date small{color:var(--muted);font-size:.62rem;font-weight:900}.mandatory-visit-date strong{font-size:.78rem}.mandatory-visit-copy{display:grid;gap:2px}.mandatory-visit-copy>span{color:var(--authority);font-size:.65rem;font-weight:900;text-transform:uppercase}.mandatory-visit-copy>strong{font-size:.88rem}.mandatory-visit-copy>small,.mandatory-visit-copy>em{color:var(--muted);font-size:.68rem;font-style:normal}.mandatory-badge{align-self:start;padding:4px 7px;border-radius:999px;background:var(--authority-soft);color:var(--authority);font-size:.57rem;font-weight:900}.mandatory-visit-card>button{grid-column:2/-1;min-height:44px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:inherit;font-size:.75rem;font-weight:850;cursor:pointer}.mandatory-visits-today{margin:0 0 16px}.visit-plan-from-customer{width:100%;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px}.visit-assignment-form{display:grid;gap:12px}.visit-assignment-form>label{display:grid;gap:6px}.visit-assignment-form>label>span{font-size:.72rem;font-weight:850}.visit-assignment-form select,.visit-assignment-form input,.visit-assignment-form textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--canvas);color:var(--ink);font:inherit}.mandatory-assurance{display:flex;gap:9px;padding:11px;border-radius:12px;background:var(--authority-soft);color:var(--authority)}.mandatory-assurance svg{width:20px;flex:0 0 20px}.mandatory-assurance p{margin:0}.mandatory-assurance strong,.mandatory-assurance small{display:block}.mandatory-assurance small{margin-top:2px;color:var(--muted);font-size:.68rem}@media(max-width:560px){.mandatory-visit-card{grid-template-columns:1fr auto}.mandatory-visit-date{grid-column:1}.mandatory-visit-copy{grid-column:1/-1}.mandatory-badge{grid-column:2;grid-row:1}.mandatory-visit-card>button{grid-column:1/-1}.visit-plan-summary{gap:5px}.visit-planner{padding:14px}}

/* v95 — Coverage numbers use one explicit equation:
   unique completed customers + repeat visits = completed visits. */
.coverage-directory-metrics > .coverage-summary-metric {
  position:relative; min-width:0; min-height:76px; display:grid; place-content:center; gap:3px;
  padding:9px 7px; color:var(--ink); text-align:center; border:0; border-left:1px solid var(--border);
  background:var(--surface); cursor:pointer; touch-action:manipulation;
  transition:color .18s ease,background .18s ease,box-shadow .18s ease;
}
.coverage-directory-metrics > .coverage-summary-metric:first-child { border-left:0; }
.coverage-directory-metrics > .coverage-summary-metric:hover,
.coverage-directory-metrics > .coverage-summary-metric:focus-visible,
.coverage-directory-metrics > .coverage-summary-metric[aria-pressed="true"] {
  z-index:1; color:var(--authority); background:var(--authority-soft); box-shadow:inset 0 -3px 0 var(--authority);
}
.coverage-directory-metrics > .coverage-summary-metric:disabled { cursor:not-allowed; opacity:.48; }
.coverage-directory-metrics > .coverage-summary-metric em {
  min-width:0; display:inline-flex; align-items:center; justify-content:center; gap:3px; overflow:hidden;
  color:var(--brand); font-size:8px; font-style:normal; font-weight:850; line-height:1.25;
  text-overflow:ellipsis; white-space:nowrap;
}
.coverage-directory-metrics > .coverage-summary-metric em svg { width:10px; height:10px; flex:0 0 10px; }
.coverage-filter-group { grid-template-columns:repeat(4,auto); }
@media(max-width:720px) {
  .coverage-filter-group { grid-template-columns:repeat(4,1fr); }
  .coverage-filter-group button { padding-inline:6px; }
}
@media(max-width:390px) {
  .coverage-directory-metrics > .coverage-summary-metric:nth-child(3) { border-left:0; border-top:1px solid var(--border); }
  .coverage-directory-metrics > .coverage-summary-metric:nth-child(4) { border-top:1px solid var(--border); }
}
@media(prefers-reduced-motion:reduce) {
  .coverage-directory-metrics > .coverage-summary-metric { transition:none!important; }
}
/* Mandatory Visit Planner v100 — calendar-first, grouped by Merchandiser, progressive shop disclosure. */
.visit-plan-calendar{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(150px,220px);align-items:center;gap:12px;margin-bottom:12px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--canvas);cursor:pointer}.visit-plan-calendar-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--authority);color:#fff}.visit-plan-calendar-icon svg{width:22px}.visit-plan-calendar>span:nth-child(2){display:grid;gap:2px}.visit-plan-calendar small{color:var(--authority);font-size:.62rem;font-weight:900;letter-spacing:.12em}.visit-plan-calendar strong{font-size:1rem}.visit-plan-calendar em{color:var(--muted);font-size:.7rem;font-style:normal}.visit-plan-calendar input{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.visit-plan-calendar:focus-within{border-color:var(--authority);box-shadow:0 0 0 3px var(--authority-soft)}.visit-plan-summary.selected-day{margin-bottom:16px}.visit-plan-roster-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:4px 0 10px}.visit-plan-roster-head>div{display:grid;gap:2px}.visit-plan-roster-head strong{font-size:1rem}.visit-plan-roster-head small{color:var(--muted);font-size:.72rem}.visit-plan-roster-head>span{padding:5px 9px;border-radius:999px;background:var(--authority-soft);color:var(--authority);font-size:.65rem;font-weight:850}.visit-plan-roster{display:grid;gap:9px}.visit-plan-person{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface);transition:border-color .18s ease,box-shadow .18s ease}.visit-plan-person.expanded{border-color:var(--authority);box-shadow:0 5px 18px rgba(15,39,57,.08)}.visit-plan-person-summary{display:grid;grid-template-columns:48px minmax(0,1fr) auto 44px;align-items:center;gap:11px;width:100%;min-height:76px;padding:12px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.visit-plan-person-summary:hover{background:var(--canvas)}.visit-plan-person-summary:focus-visible{outline:3px solid var(--ring);outline-offset:-3px}.visit-plan-person-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--authority);color:#fff;font-size:.78rem;font-weight:900}.visit-plan-person-copy{display:grid;gap:4px;min-width:0}.visit-plan-person-copy strong{font-size:.9rem;overflow-wrap:anywhere}.visit-plan-person-copy small{color:var(--muted);font-size:.68rem}.visit-plan-person-progress{display:grid;justify-items:end;gap:1px;min-width:70px}.visit-plan-person-progress strong{font-size:1rem;font-variant-numeric:tabular-nums}.visit-plan-person-progress small,.visit-plan-person-progress em{color:var(--muted);font-size:.58rem;font-style:normal}.visit-plan-person-progress em{color:var(--info);font-weight:800}.visit-plan-person-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:12px;background:var(--canvas);color:var(--authority)}.visit-plan-person-toggle svg{width:20px}.visit-plan-person-detail{padding:0 12px 12px;border-top:1px solid var(--border);background:var(--canvas)}.visit-plan-person-detail.hidden{display:none}.visit-plan-shop-list{display:grid;gap:8px;padding-top:12px}.visit-plan-shop{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px;border:1px solid var(--border);border-left:4px solid var(--authority);border-radius:13px;background:var(--surface)}.visit-plan-shop.status-completed{border-left-color:var(--success)}.visit-plan-shop.status-in-progress{border-left-color:var(--info)}.visit-plan-shop.status-missed{border-left-color:var(--danger)}.visit-plan-shop-sequence{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--authority-soft);color:var(--authority);font-size:.68rem;font-weight:900}.visit-plan-shop-copy{display:grid;gap:3px;min-width:0}.visit-plan-shop-copy>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.visit-plan-shop-copy>div span{color:var(--authority);font-size:.62rem;font-weight:900;text-transform:uppercase}.visit-plan-shop-copy>div em{color:var(--muted);font-size:.58rem;font-style:normal;font-weight:800}.visit-plan-shop-copy strong{font-size:.82rem;overflow-wrap:anywhere}.visit-plan-shop-copy small,.visit-plan-shop-copy p{margin:0;color:var(--muted);font-size:.66rem;line-height:1.45}.visit-plan-shop-copy p{margin-top:3px;padding-top:5px;border-top:1px dashed var(--border)}.visit-plan-shop-priority{padding:4px 7px;border-radius:999px;background:var(--canvas);color:var(--muted);font-size:.56rem;font-weight:900}.visit-plan-shop-priority.priority-high{background:var(--warning-soft);color:var(--warning)}.visit-plan-shop-priority.priority-urgent{background:var(--danger-soft);color:var(--danger)}.visit-plan-person-empty{display:flex;align-items:center;gap:10px;min-height:72px;padding-top:12px;color:var(--muted)}.visit-plan-person-empty svg{width:22px}.visit-plan-person-empty p{margin:0}.visit-plan-person-empty strong,.visit-plan-person-empty small{display:block}.visit-plan-person-empty small{margin-top:2px;font-size:.68rem}
@media(max-width:640px){.visit-plan-calendar{grid-template-columns:44px minmax(0,1fr);padding:12px}.visit-plan-calendar-icon{width:44px;height:44px}.visit-plan-calendar input{grid-column:1/-1}.visit-plan-person-summary{grid-template-columns:44px minmax(0,1fr) 44px}.visit-plan-person-avatar{width:44px;height:44px}.visit-plan-person-progress{grid-column:2;grid-row:2;justify-items:start}.visit-plan-person-toggle{grid-column:3;grid-row:1/3}.visit-plan-shop{grid-template-columns:34px minmax(0,1fr)}.visit-plan-shop-sequence{width:34px;height:34px}.visit-plan-shop-priority{grid-column:2}.visit-plan-roster-head{align-items:start}.visit-plan-roster-head>div{max-width:78%}}
@media(prefers-reduced-motion:reduce){.visit-plan-person{transition:none}}
/* Mandatory Visit Planner v101 — visible ownership and explicit full-list accounting. */
.visit-plan-person-summary{grid-template-columns:48px minmax(0,1fr) auto auto 44px}.visit-plan-person-assignment-count{display:grid;justify-items:center;min-width:74px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--authority) 22%,var(--border));border-radius:12px;background:var(--authority-soft);color:var(--authority)}.visit-plan-person-assignment-count strong{font-size:1rem;line-height:1;font-variant-numeric:tabular-nums}.visit-plan-person-assignment-count small{margin-top:3px;font-size:.56rem;font-weight:900;text-transform:uppercase}.visit-plan-person-assignment-count.empty{border-color:var(--border);background:var(--canvas);color:var(--muted)}.visit-plan-person-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 0}.visit-plan-person-detail-head>span{display:grid;gap:2px}.visit-plan-person-detail-head strong{font-size:.8rem}.visit-plan-person-detail-head small{color:var(--muted);font-size:.64rem}.visit-plan-person-detail-head em{padding:5px 8px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:.58rem;font-style:normal;font-weight:900}.visit-plan-shop-salesman{width:max-content;max-width:100%;display:inline-grid;grid-template-columns:16px auto minmax(0,auto);align-items:center;gap:5px;margin-top:4px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--success) 22%,var(--border));border-radius:9px;background:var(--success-soft);color:var(--success)}.visit-plan-shop-salesman svg{width:14px}.visit-plan-shop-salesman small{color:inherit;font-size:.58rem;font-weight:750}.visit-plan-shop-salesman strong{min-width:0;color:inherit;font-size:.66rem;overflow-wrap:anywhere}.visit-plan-shop-salesman.unassigned{border-color:var(--border);background:var(--canvas);color:var(--muted)}.visit-plan-person-detail-end{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:10px;border-top:1px solid var(--border);color:var(--success)}.visit-plan-person-detail-end svg{width:18px}.visit-plan-person-detail-end span{display:grid}.visit-plan-person-detail-end strong{font-size:.7rem}.visit-plan-person-detail-end small{color:var(--muted);font-size:.6rem}
@media(max-width:640px){.visit-plan-person-summary{grid-template-columns:44px minmax(0,1fr) 44px}.visit-plan-person-assignment-count{grid-column:2;grid-row:2;justify-self:start;display:flex;align-items:baseline;gap:4px;min-width:0;padding:5px 8px}.visit-plan-person-assignment-count small{margin-top:0}.visit-plan-person-progress{grid-column:2;grid-row:3;display:flex;align-items:baseline;gap:4px}.visit-plan-person-toggle{grid-column:3;grid-row:1/4}.visit-plan-person-detail-head{align-items:flex-start}.visit-plan-shop-salesman{width:100%;grid-template-columns:16px auto minmax(0,1fr)}.visit-plan-person-detail-end{justify-content:flex-start}}

/* Future plan workday start v119 — dedicated, aligned operational column. */
.visit-plan-person-summary{grid-template-columns:48px minmax(190px,1fr) minmax(126px,170px) auto auto 44px}.visit-plan-person-start{display:inline-flex;align-items:center;justify-self:center;gap:5px;min-height:28px;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:var(--canvas);color:var(--muted);font-size:.64rem;font-weight:850;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.visit-plan-person-start svg{width:14px;height:14px;flex:0 0 auto}.visit-plan-person-start.has-start{border-color:color-mix(in srgb,var(--success) 28%,var(--border));background:var(--success-soft);color:var(--success)}.visit-plan-person-start.not-started{color:var(--muted)}
@media(max-width:900px) and (min-width:641px){.visit-plan-person-summary{grid-template-columns:48px minmax(0,1fr) auto auto 44px;min-height:88px}.visit-plan-person-avatar{grid-column:1;grid-row:1/3}.visit-plan-person-copy{grid-column:2;grid-row:1}.visit-plan-person-start{grid-column:2;grid-row:2;justify-self:start}.visit-plan-person-assignment-count{grid-column:3;grid-row:1/3}.visit-plan-person-progress{grid-column:4;grid-row:1/3}.visit-plan-person-toggle{grid-column:5;grid-row:1/3}}
@media(max-width:640px){.visit-plan-person-summary{grid-template-columns:44px minmax(0,1fr) 44px}.visit-plan-person-avatar{grid-column:1;grid-row:1/5}.visit-plan-person-copy{grid-column:2;grid-row:1}.visit-plan-person-start{grid-column:2;grid-row:2;justify-self:start;min-height:26px;padding:4px 8px;font-size:.61rem}.visit-plan-person-assignment-count{grid-column:2;grid-row:3}.visit-plan-person-progress{grid-column:2;grid-row:4}.visit-plan-person-toggle{grid-column:3;grid-row:1/5}}

/* v103 — Mandatory customer plan inside People & Team */
.visit-plan-shop-copy>div span b{display:inline-block;margin-right:6px;padding-right:6px;border-right:1px solid var(--border);color:var(--ink);font:inherit}
.person-mandatory-indicator{display:inline-flex!important;align-items:center;gap:5px;width:max-content;max-width:100%;margin-top:3px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--border));border-radius:8px;background:var(--brand-soft);color:var(--brand)!important;font-size:.62rem!important;font-weight:800;line-height:1.2}.person-mandatory-indicator svg{width:13px;height:13px;flex:0 0 auto}.person-mandatory-indicator strong{font-size:.68rem}.person-mandatory-plan{scroll-margin-top:96px}.person-mandatory-plan>.report-block-heading{align-items:flex-start}.person-mandatory-plan>.report-block-heading>span{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--brand) 24%,var(--border));border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:.68rem;font-weight:850;white-space:nowrap}.person-mandatory-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0;border:1px solid var(--border);border-radius:14px;background:var(--canvas);overflow:hidden}.person-mandatory-metrics>div{display:grid;gap:2px;min-width:0;padding:12px 14px;border-right:1px solid var(--border)}.person-mandatory-metrics>div:last-child{border-right:0}.person-mandatory-metrics strong{color:var(--ink);font-size:1.15rem;font-variant-numeric:tabular-nums}.person-mandatory-metrics small{color:var(--muted);font-size:.66rem;font-weight:750}.person-mandatory-list{display:grid;gap:8px}.person-mandatory-row{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(110px,160px) auto;align-items:center;gap:12px;width:100%;min-height:92px;padding:12px;border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:14px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;transition:background 160ms ease,border-color 160ms ease,box-shadow 160ms ease}.person-mandatory-row:hover{border-color:color-mix(in srgb,var(--brand) 42%,var(--border));background:color-mix(in srgb,var(--brand-soft) 32%,var(--surface));box-shadow:0 7px 18px color-mix(in srgb,var(--ink) 7%,transparent)}.person-mandatory-row:active{background:var(--brand-soft)}.person-mandatory-row:focus-visible{outline:3px solid var(--ring);outline-offset:2px}.person-mandatory-row.status-completed{border-left-color:var(--success)}.person-mandatory-row.status-in-progress{border-left-color:var(--info)}.person-mandatory-sequence{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--brand-soft);color:var(--brand);font-size:.7rem;font-weight:900;font-variant-numeric:tabular-nums}.person-mandatory-row.status-completed .person-mandatory-sequence{background:var(--success-soft);color:var(--success)}.person-mandatory-main{display:grid;gap:4px;min-width:0}.person-mandatory-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.person-mandatory-meta small{display:inline-flex;align-items:center;gap:4px;color:var(--brand);font-size:.62rem;font-weight:850;text-transform:uppercase}.person-mandatory-meta small svg{width:13px;height:13px}.person-mandatory-meta em{padding:3px 6px;border-radius:999px;background:var(--canvas);color:var(--muted);font-size:.56rem;font-style:normal;font-weight:850;text-transform:uppercase}.person-mandatory-main>strong{font-size:.86rem;overflow-wrap:anywhere}.person-mandatory-main>small{color:var(--muted);font-size:.66rem}.person-mandatory-main>p{margin:3px 0 0;padding-top:5px;border-top:1px dashed var(--border);color:var(--muted);font-size:.65rem;line-height:1.45}.person-mandatory-salesman{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin-top:2px;color:var(--success)}.person-mandatory-salesman>svg{width:14px;height:14px;flex:0 0 auto}.person-mandatory-salesman>span{display:flex;align-items:baseline;gap:5px;min-width:0}.person-mandatory-salesman small{color:var(--muted);font-size:.54rem;font-weight:800}.person-mandatory-salesman strong{font-size:.65rem;overflow-wrap:anywhere}.person-mandatory-purpose{display:grid;gap:6px;justify-items:start;min-width:0}.person-mandatory-purpose>small{color:var(--ink);font-size:.65rem;font-weight:750;line-height:1.35}.person-mandatory-purpose>em{padding:4px 7px;border-radius:999px;background:var(--canvas);color:var(--muted);font-size:.55rem;font-style:normal;font-weight:900;text-transform:uppercase}.person-mandatory-purpose>em.priority-high{background:var(--warning-soft);color:var(--warning)}.person-mandatory-purpose>em.priority-urgent{background:var(--danger-soft);color:var(--danger)}.person-mandatory-open{display:grid;grid-template-columns:auto 24px;align-items:center;gap:4px;color:var(--brand)}.person-mandatory-open small{font-size:.6rem;font-weight:850;white-space:nowrap}.person-mandatory-open svg{width:18px;height:18px}
@media(max-width:700px){.person-mandatory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.person-mandatory-metrics>div:nth-child(2){border-right:0}.person-mandatory-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.person-mandatory-row{grid-template-columns:38px minmax(0,1fr);align-items:start;min-height:0;padding:11px}.person-mandatory-sequence{width:38px;height:38px}.person-mandatory-purpose{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:7px;border-top:1px solid var(--border)}.person-mandatory-open{grid-column:2;justify-self:stretch;grid-template-columns:1fr 24px;min-height:44px;padding-top:5px;border-top:1px solid var(--border)}.person-mandatory-open small{font-size:.65rem}.person-mandatory-salesman>span{display:grid;gap:1px}.person-mandatory-plan>.report-block-heading>span{min-height:28px}}
@media(prefers-reduced-motion:reduce){.person-mandatory-row{transition:none}}


/* Current Shop Visibility v105 — live position in focused and mandatory reports */
.person-live-position,.person-mandatory-current{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:13px 16px;border:1px solid color-mix(in srgb,var(--success) 30%,var(--border));border-left:4px solid var(--success);background:color-mix(in srgb,var(--success-soft) 64%,var(--surface));color:var(--ink)}
.person-live-position-icon,.person-mandatory-current-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--surface);color:var(--success)}
.person-live-position-icon svg,.person-mandatory-current-icon svg{width:20px;height:20px}
.person-live-position>span:nth-child(2),.person-mandatory-current>span:nth-child(2){display:grid;gap:2px;min-width:0}
.person-live-position small,.person-mandatory-current small{font-size:.58rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.person-live-position>span:nth-child(2)>small,.person-mandatory-current>span:nth-child(2)>small{color:var(--success)}
.person-live-position strong,.person-mandatory-current strong{font-size:.84rem;line-height:1.25;overflow-wrap:anywhere}
.person-live-position em,.person-mandatory-current em{color:var(--muted);font-size:.64rem;font-style:normal}
.person-live-position>b,.person-mandatory-current>b{display:grid;gap:1px;min-width:88px;padding-left:12px;border-left:1px solid color-mix(in srgb,var(--success) 24%,var(--border));color:var(--success);font-size:1rem;font-variant-numeric:tabular-nums;text-align:right}
.person-live-position>b small,.person-mandatory-current>b small{color:var(--muted);font-weight:700;letter-spacing:0;text-transform:none}
.person-mandatory-current{margin:14px 0 0;border-radius:14px}
.person-mandatory-row.is-current-store{border-color:color-mix(in srgb,var(--success) 38%,var(--border));border-left-color:var(--success);background:color-mix(in srgb,var(--success-soft) 42%,var(--surface))}
.person-mandatory-row.is-current-store .person-mandatory-meta em{background:var(--success);color:var(--surface)}
.person-mandatory-live{display:inline-grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;width:max-content;max-width:100%;margin-top:3px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--success) 26%,var(--border));border-radius:8px;background:var(--surface);color:var(--success)}
.person-mandatory-live>svg{width:17px;height:17px}.person-mandatory-live>span{display:grid;gap:1px}.person-mandatory-live small{font-size:.52rem;font-weight:850;letter-spacing:.07em}.person-mandatory-live strong{font-size:.68rem;font-variant-numeric:tabular-nums}.person-mandatory-live strong b{font-weight:900}.person-mandatory-live em{color:var(--muted);font-size:.56rem;font-style:normal}
@media(max-width:700px){.person-live-position,.person-mandatory-current{grid-template-columns:38px minmax(0,1fr);padding:11px 12px}.person-live-position-icon,.person-mandatory-current-icon{width:38px;height:38px}.person-live-position>b,.person-mandatory-current>b{grid-column:2;min-width:0;padding:7px 0 0;border-left:0;border-top:1px solid color-mix(in srgb,var(--success) 22%,var(--border));text-align:left}.person-mandatory-live{width:100%}}
@media(prefers-reduced-motion:reduce){.person-live-position,.person-mandatory-current,.person-mandatory-row.is-current-store{transition:none}}

/* Inbox Refresh v108 — restrained, readable, and operational on mobile and web. */
.inbox-screen{max-width:980px;margin-inline:auto;padding-bottom:calc(var(--nav-height) + 48px)}
.inbox-masthead{min-height:92px;margin:0 0 12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:none}
.inbox-masthead h1{font-size:clamp(1.65rem,4vw,2.2rem);letter-spacing:-.035em}
.inbox-masthead p{max-width:560px;font-size:.76rem}
.inbox-masthead .back-button,.inbox-masthead .inbox-refresh{width:44px;height:44px;border:1px solid var(--border);border-radius:12px;background:var(--canvas);color:var(--authority)}
.inbox-masthead .back-button:hover,.inbox-masthead .inbox-refresh:hover{border-color:var(--border-strong);background:var(--authority-soft)}
.inbox-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 10px;color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}
.inbox-stats div{min-height:72px;display:grid;place-content:center;gap:2px;padding:10px;border-right:1px solid var(--border);text-align:center}
.inbox-stats strong{font-size:1.35rem;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.inbox-stats span{margin:0;color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.inbox-stats .has-unread strong{color:var(--brand)}
.inbox-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 12px;padding:4px;border:1px solid var(--border);border-radius:14px;background:var(--canvas)}
.inbox-filters button{min-height:44px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
.inbox-filters button:hover{color:var(--ink);background:color-mix(in srgb,var(--surface) 72%,transparent)}
.inbox-filters button.active{color:var(--brand);background:var(--surface);box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 10%,transparent)}
.inbox-list{gap:8px}
.inbox-thread-card{position:relative;min-height:104px;grid-template-columns:42px minmax(0,1fr) 20px;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:none;transition:border-color 150ms ease,background 150ms ease}
.inbox-thread-card:hover{border-color:var(--border-strong);background:color-mix(in srgb,var(--authority-soft) 32%,var(--surface))}
.inbox-thread-card:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
.inbox-thread-card.unread{border-color:color-mix(in srgb,var(--brand) 42%,var(--border));box-shadow:inset 4px 0 0 var(--brand)}
.inbox-thread-icon{width:40px;height:40px;border-radius:11px;background:var(--authority-soft)}
.inbox-thread-icon svg{width:19px;height:19px}
.inbox-thread-top strong{font-size:.86rem;white-space:normal;overflow-wrap:anywhere}
.inbox-thread-main>small{font-size:.62rem}
.inbox-thread-main>p{margin:6px 0 5px;font-size:.74rem;line-height:1.45}
.inbox-thread-meta{font-size:.58rem}
.inbox-status{padding:4px 7px;font-size:.52rem;letter-spacing:.04em}
.inbox-thread-arrow svg{width:17px}
.inbox-thread-modal{width:min(calc(100% - 24px),760px);padding:0 16px calc(24px + env(safe-area-inset-bottom));background:var(--canvas)}
.inbox-thread-modal>.modal-heading{margin:0 -16px 10px;padding:10px 16px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--canvas) 94%,transparent);box-shadow:none}
.discussion-case-hero{align-items:center;padding:16px;border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius-md);color:var(--ink);background:var(--surface);box-shadow:none}
.discussion-case-hero .eyebrow{color:var(--brand)}
.discussion-case-hero h3{margin:4px 0 2px;font-size:1.08rem}
.discussion-case-hero p{color:var(--muted);font-size:.7rem}
.discussion-case-hero .inbox-status{background:var(--brand-soft);color:var(--brand)}
.discussion-visit-card,.discussion-case-section,.discussion-conversation-section,.discussion-visit-note{margin-top:10px;padding:15px;border-color:var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}
.discussion-owner{background:var(--canvas)}
.discussion-visit-facts{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.discussion-visit-facts>div{min-height:62px;padding:9px;border-color:var(--border);border-radius:11px;background:var(--canvas)}
.discussion-conversation-section{border-top:1px solid var(--border);border-left:4px solid var(--authority)}
.inbox-message{border-color:var(--border);background:var(--canvas)}
.inbox-message.own{border-color:color-mix(in srgb,var(--authority) 30%,var(--border));background:var(--authority-soft)}
.inbox-message.original{border-color:color-mix(in srgb,var(--warning) 34%,var(--border));background:var(--warning-soft)}
.thread-send,.thread-resolve{min-height:48px;border-radius:12px;box-shadow:none}
[data-theme="dark"] .inbox-thread-modal{background:var(--canvas)}
@media(max-width:620px){.inbox-screen{padding-inline:12px}.inbox-masthead{grid-template-columns:42px minmax(0,1fr) 42px;min-height:82px;padding:12px}.inbox-masthead p{display:none}.inbox-thread-modal{width:100%;padding-inline:12px}.inbox-thread-modal>.modal-heading{margin-inline:-12px;padding-inline:12px}.discussion-visit-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.inbox-thread-card{grid-template-columns:38px minmax(0,1fr) 18px;padding:12px}.inbox-thread-icon{width:38px;height:38px}.inbox-thread-top{align-items:flex-start}.inbox-thread-top strong{font-size:.8rem}.inbox-status{margin-top:1px}}
@media(prefers-reduced-motion:reduce){.inbox-thread-card,.inbox-filters button{transition:none}}


/* Visit Plan Split v106 — direct route from mandatory plan to every other visit */
.person-mandatory-other{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:10px;width:100%;min-height:62px;margin:0 0 12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--authority) 24%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--authority-soft) 58%,var(--surface));color:var(--ink);text-align:left;cursor:pointer;transition:background 160ms ease,border-color 160ms ease}
.person-mandatory-other:hover{border-color:color-mix(in srgb,var(--authority) 42%,var(--border));background:var(--authority-soft)}.person-mandatory-other:focus-visible{outline:3px solid var(--ring);outline-offset:2px}.person-mandatory-other>span:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--surface);color:var(--authority)}.person-mandatory-other>span:first-child svg{width:18px;height:18px}.person-mandatory-other>span:nth-child(2){display:grid;gap:1px;min-width:0}.person-mandatory-other small{color:var(--authority);font-size:.56rem;font-weight:850;letter-spacing:.07em}.person-mandatory-other strong{font-size:.74rem}.person-mandatory-other em{color:var(--muted);font-size:.62rem;font-style:normal}.person-mandatory-other>svg{width:18px;height:18px;color:var(--authority)}
@media(max-width:520px){.person-mandatory-other{grid-template-columns:34px minmax(0,1fr) 18px}.person-mandatory-other>span:first-child{width:34px;height:34px}.person-mandatory-other em{line-height:1.35}}
@media(prefers-reduced-motion:reduce){.person-mandatory-other{transition:none}}


/* Actual Visit Reconciliation v107 — unmistakable already-visited assignment state */
.visit-plan-shop.status-completed{border-color:color-mix(in srgb,var(--success) 35%,var(--border));border-left-color:var(--success);background:color-mix(in srgb,var(--success-soft) 48%,var(--surface))}.visit-plan-shop.status-completed .visit-plan-shop-sequence{background:var(--success-soft);color:var(--success)}.visit-plan-shop.status-completed .visit-plan-shop-copy>div em{padding:3px 7px;border-radius:999px;background:var(--success);color:var(--surface)}
.visit-plan-shop-completed{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin-top:3px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--success) 24%,var(--border));border-radius:8px;background:var(--surface);color:var(--success)}.visit-plan-shop-completed>svg{width:15px;height:15px;flex:0 0 auto}.visit-plan-shop-completed>span{display:grid;gap:1px}.visit-plan-shop-completed strong{font-size:.62rem}.visit-plan-shop-completed small{font-size:.54rem}
.person-mandatory-row.status-completed{border-color:color-mix(in srgb,var(--success) 34%,var(--border));border-left-color:var(--success);background:color-mix(in srgb,var(--success-soft) 42%,var(--surface))}.person-mandatory-row.status-completed .person-mandatory-meta em{background:var(--success);color:var(--surface)}

/* Inbox Clarity v109 — one control row, one calm conversation list. */
.inbox-screen{max-width:860px}
.inbox-masthead{min-height:72px;margin-bottom:10px;padding:10px 12px;border-radius:16px}
.inbox-masthead .eyebrow{display:none}
.inbox-masthead h1{font-size:1.45rem;letter-spacing:-.025em}
.inbox-masthead p{margin-top:1px;font-size:.68rem}
.inbox-filters{margin-bottom:10px;padding:3px;border-radius:13px}
.inbox-filters button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:7px 9px}
.inbox-filters button strong{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--muted) 10%,transparent);color:inherit;font-size:.65rem;font-variant-numeric:tabular-nums}
.inbox-filters button.active strong{background:var(--brand-soft)}
.inbox-list{gap:7px}
.inbox-thread-card{min-height:0;grid-template-columns:minmax(0,1fr) 18px;gap:12px;padding:13px 15px;border-radius:14px}
.inbox-thread-card.unread{box-shadow:inset 3px 0 0 var(--brand)}
.inbox-thread-main{display:block}
.inbox-thread-top{align-items:flex-start;gap:10px}
.inbox-thread-top strong{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.82rem;line-height:1.35}
.inbox-thread-state{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}
.inbox-thread-state>i{width:7px;height:7px;border-radius:999px;background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.inbox-thread-main>p{display:-webkit-box;overflow:hidden;margin:5px 0 6px;color:var(--ink);font-size:.72rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.inbox-thread-meta{display:flex;align-items:center;justify-content:space-between;gap:6px 14px;color:var(--muted);font-size:.57rem;line-height:1.35}
.inbox-thread-meta>span{min-width:0}
.inbox-thread-meta>span:last-child{text-align:right}
.inbox-thread-arrow{align-self:center;color:var(--muted)}
@media(max-width:620px){.inbox-masthead{min-height:68px}.inbox-filters button{flex-direction:column;gap:1px;min-height:50px}.inbox-filters button strong{min-width:0;height:auto;padding:0;background:transparent;font-size:.62rem}.inbox-filters button.active strong{background:transparent}.inbox-thread-meta{align-items:flex-start;flex-direction:column;gap:2px}.inbox-thread-meta>span:last-child{text-align:left}}
@media(max-width:390px){.inbox-thread-card{grid-template-columns:minmax(0,1fr) 16px;padding:12px 13px}.inbox-thread-top strong{font-size:.78rem}.inbox-status{padding:3px 6px;font-size:.48rem}}
@media(prefers-reduced-motion:reduce){.inbox-thread-card,.inbox-filters button{transition:none}}

/* Inbox Sender Clarity v110 — explicit ownership and newest-first reading. */
.inbox-conversation{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.inbox-message{width:min(88%,620px);max-width:none;padding:12px 14px;border-radius:14px;background:var(--surface);box-shadow:none}
.inbox-message.own{align-self:flex-end;border:1px solid color-mix(in srgb,var(--brand) 36%,var(--border));border-right:4px solid var(--brand);border-radius:14px 5px 14px 14px;background:color-mix(in srgb,var(--brand-soft) 72%,var(--surface))}
.inbox-message.other{align-self:flex-start;border:1px solid var(--border);border-left:4px solid var(--authority);border-radius:5px 14px 14px 14px;background:var(--surface)}
.inbox-message.original.own{border-color:color-mix(in srgb,var(--brand) 40%,var(--border));border-right-color:var(--brand);background:color-mix(in srgb,var(--brand-soft) 72%,var(--surface))}
.inbox-message.original.other{border-color:color-mix(in srgb,var(--authority) 34%,var(--border));border-left-color:var(--authority);background:var(--surface)}
.inbox-message header{align-items:flex-start}
.inbox-message header strong{display:flex;align-items:center;gap:7px;min-width:0}
.inbox-message header strong>span{font-size:.68rem;line-height:1.3}
.inbox-message header strong>small{padding:3px 6px;border-radius:999px;background:var(--canvas);color:var(--muted);font-size:.5rem;font-weight:800;line-height:1.2}
.inbox-message.own header strong>small{background:var(--surface);color:var(--brand)}
.inbox-message header time{color:var(--muted);font-size:.52rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.inbox-message p{margin-top:8px;font-size:.76rem;line-height:1.55}
.inbox-message .message-purpose{width:max-content;margin-bottom:8px;padding:3px 6px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:.48rem}
@media(max-width:520px){.inbox-message{width:94%;padding:11px 12px}.inbox-message header{gap:8px}.inbox-message header strong{align-items:flex-start;flex-direction:column;gap:3px}.inbox-message header time{font-size:.48rem}}

/* Inbox Audience Clarity v111 — every row states who the latest message belongs to. */
.inbox-thread-routing{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.inbox-direction{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;font-size:.55rem;font-weight:900;letter-spacing:.055em;line-height:1.2;text-transform:uppercase}
.inbox-direction>i{width:7px;height:7px;flex:0 0 auto;border-radius:999px;background:currentColor;box-shadow:0 0 0 3px var(--brand-soft)}
.inbox-direction.direction-for-you{color:var(--brand)}
.inbox-direction.direction-sent{color:var(--authority)}
.inbox-direction.direction-team{color:var(--muted)}
.inbox-thread-customer{display:-webkit-box;min-width:0;overflow:hidden;color:var(--ink);font-size:.82rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.inbox-thread-card.unread .inbox-thread-customer{font-weight:900}
.inbox-thread-meta>span:last-child{font-weight:700}
@media(max-width:520px){.inbox-thread-routing{margin-bottom:6px}.inbox-direction{font-size:.52rem}.inbox-thread-customer{font-size:.78rem}}

/* Inbox Sender Filter v112 — one-tap separation of my messages and everyone else. */
.inbox-sender-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:-2px 0 10px;padding:3px;border:1px solid var(--border);border-radius:13px;background:var(--canvas)}
.inbox-sender-filters button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:7px 10px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:.7rem;font-weight:850;cursor:pointer;transition:background 150ms ease,color 150ms ease}
.inbox-sender-filters button:hover{color:var(--ink);background:color-mix(in srgb,var(--surface) 72%,transparent)}
.inbox-sender-filters button.active{color:var(--authority);background:var(--surface);box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 10%,transparent)}
.inbox-sender-filters button strong{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--muted) 10%,transparent);color:inherit;font-size:.62rem;font-variant-numeric:tabular-nums}
.inbox-sender-filters button.active strong{background:var(--authority-soft)}
.inbox-sender-filters button:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
@media(max-width:420px){.inbox-sender-filters button{flex-direction:column;gap:1px;min-height:50px;padding-inline:5px;font-size:.64rem}.inbox-sender-filters button strong{min-width:0;height:auto;padding:0;background:transparent}.inbox-sender-filters button.active strong{background:transparent}}
@media(prefers-reduced-motion:reduce){.inbox-sender-filters button{transition:none}}

/* Customer Web Directory v114 — complete Customer Master visibility without web mutations. */
.customer-web-readonly{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--authority) 24%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--authority-soft) 58%,var(--surface));color:var(--authority)}
.customer-web-readonly>svg{width:22px;height:22px;flex:0 0 auto}.customer-web-readonly>p{display:grid;gap:2px;margin:0}.customer-web-readonly strong{color:var(--ink);font-size:.78rem}.customer-web-readonly small{color:var(--muted);font-size:.66rem;line-height:1.45}
.customer-intake.is-read-only .customer-intake-divider,.customer-intake.is-read-only .customer-intake-flow{display:none}
.customer-intake.is-read-only .customer-assignment-head-icon{color:var(--authority);background:var(--authority-soft)}
.customer-web-preview{display:grid;gap:14px;padding:0 18px calc(18px + env(safe-area-inset-bottom))}
.customer-web-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;margin:0;border:1px solid var(--border);border-radius:15px;background:var(--surface)}
.customer-web-preview-grid>div{min-width:0;display:grid;gap:4px;padding:13px 14px;border-bottom:1px solid var(--border)}.customer-web-preview-grid>div:nth-child(odd){border-right:1px solid var(--border)}.customer-web-preview-grid>div:nth-last-child(-n+2){border-bottom:0}
.customer-web-preview-grid dt{color:var(--muted);font-size:.58rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.customer-web-preview-grid dd{min-width:0;margin:0;color:var(--ink);font-size:.76rem;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.customer-web-readonly.inline{background:var(--canvas)}
@media(max-width:620px){.customer-intake.is-read-only{padding:14px}.customer-web-preview{padding-inline:12px}.customer-web-preview-grid{grid-template-columns:1fr}.customer-web-preview-grid>div,.customer-web-preview-grid>div:nth-child(odd),.customer-web-preview-grid>div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--border)}.customer-web-preview-grid>div:last-child{border-bottom:0}}

/* Future Visit Plan v115 — bounded, filterable and scan-first team scheduling. */
.visit-planner{padding:20px;border-radius:18px;box-shadow:none}
.visit-planner>header{min-height:58px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.visit-planner>header .customer-intake-icon{background:var(--authority-soft);color:var(--authority)}
.visit-plan-readonly{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--authority) 22%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--authority-soft) 48%,var(--surface));color:var(--authority)}
.visit-plan-readonly>svg{width:20px;height:20px;flex:0 0 auto}.visit-plan-readonly p{display:grid;gap:2px;margin:0}.visit-plan-readonly strong{color:var(--ink);font-size:.75rem}.visit-plan-readonly small{color:var(--muted);font-size:.64rem;line-height:1.4}
.visit-plan-command{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:15px;background:var(--canvas)}
.visit-plan-range{display:flex;align-items:center;justify-content:space-between;gap:16px}.visit-plan-range>div:first-child{display:grid;gap:2px}.visit-plan-range>div:first-child>strong{font-size:.9rem}.visit-plan-range>div:first-child>small{color:var(--muted);font-size:.62rem}
.visit-plan-presets{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:3px;padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.visit-plan-presets button{min-height:44px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:.68rem;font-weight:850;cursor:pointer;transition:background 160ms ease,color 160ms ease}
.visit-plan-presets button:hover{color:var(--ink);background:var(--canvas)}.visit-plan-presets button.active{background:var(--authority);color:#fff}.visit-plan-presets button:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
.visit-plan-custom-dates{display:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:8px}.visit-plan-custom-dates.active{display:grid}.visit-plan-custom-dates label,.visit-plan-filters label{display:grid;gap:5px}.visit-plan-custom-dates label>span,.visit-plan-filters label>span{color:var(--muted);font-size:.58rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.visit-plan-custom-dates input,.visit-plan-filters select{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:.72rem;font-weight:750}
.visit-plan-custom-dates>span{align-self:center;color:var(--muted)}.visit-plan-custom-dates>button{min-height:44px;padding:8px 16px;border:0;border-radius:10px;background:var(--authority);color:#fff;font:inherit;font-size:.7rem;font-weight:850;cursor:pointer}
.visit-plan-custom-dates input:focus-visible,.visit-plan-filters select:focus-visible,.visit-plan-custom-dates>button:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
.visit-plan-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:11px;border-top:1px solid var(--border)}
.visit-plan-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;margin:12px 0;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.visit-plan-overview>div{display:grid;grid-template-columns:28px auto;grid-template-rows:auto auto;align-items:center;gap:0 8px;min-width:0;padding:12px;border-right:1px solid var(--border)}.visit-plan-overview>div:last-child{border-right:0}
.visit-plan-overview>div>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--authority-soft);color:var(--authority)}.visit-plan-overview svg{width:15px;height:15px}.visit-plan-overview strong{font-size:1rem;font-variant-numeric:tabular-nums}.visit-plan-overview small{color:var(--muted);font-size:.58rem;font-weight:750}
.visit-plan-schedule-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:14px 0 9px}.visit-plan-schedule-head>div{display:grid;gap:2px}.visit-plan-schedule-head strong{font-size:.92rem}.visit-plan-schedule-head small{color:var(--muted);font-size:.64rem}.visit-plan-schedule-head>span{padding:5px 8px;border-radius:999px;background:var(--authority-soft);color:var(--authority);font-size:.58rem;font-weight:850}
.visit-plan-days{display:grid;gap:9px}.visit-plan-day{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:var(--surface);transition:border-color 160ms ease,box-shadow 160ms ease}.visit-plan-day.expanded{border-color:color-mix(in srgb,var(--authority) 48%,var(--border));box-shadow:0 5px 18px rgba(15,39,57,.06)}
.visit-plan-day-toggle{display:grid;grid-template-columns:minmax(145px,1fr) auto 44px;align-items:center;gap:12px;width:100%;min-height:70px;padding:11px 12px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.visit-plan-day-toggle:hover{background:var(--canvas)}.visit-plan-day-toggle:focus-visible{outline:3px solid var(--ring);outline-offset:-3px}
.visit-plan-day-date{display:grid;gap:2px}.visit-plan-day-date small{color:var(--muted);font-size:.58rem;font-weight:800}.visit-plan-day-date strong{font-size:.86rem}
.visit-plan-day-metrics{display:flex;align-items:stretch}.visit-plan-day-metrics>span{display:grid;justify-items:center;min-width:62px;padding:4px 10px;border-left:1px solid var(--border)}.visit-plan-day-metrics strong{font-size:.82rem;font-variant-numeric:tabular-nums}.visit-plan-day-metrics small{color:var(--muted);font-size:.52rem}.visit-plan-day-metrics .is-live{color:var(--info)}.visit-plan-day-metrics .is-urgent{color:var(--danger)}
.visit-plan-day-open{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:11px;background:var(--canvas);color:var(--authority)}.visit-plan-day-open svg{width:19px}
.visit-plan-day-body{padding:10px;border-top:1px solid var(--border);background:var(--canvas)}.visit-plan-day-body.hidden{display:none}
.visit-plan-shop{width:100%;grid-template-columns:38px minmax(0,1fr) minmax(96px,auto);align-items:start;border-left-width:4px;color:var(--ink);text-align:left;cursor:pointer;transition:border-color 160ms ease,background 160ms ease}.visit-plan-shop:hover{border-color:color-mix(in srgb,var(--authority) 42%,var(--border));background:color-mix(in srgb,var(--authority-soft) 26%,var(--surface))}.visit-plan-shop:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
.visit-plan-shop.is-overdue{border-left-color:var(--danger)}.visit-plan-shop.status-in-progress{border-left-color:var(--info)}.visit-plan-shop.status-completed{border-left-color:var(--success)}
.visit-plan-shop-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:1px}.visit-plan-shop-top>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.visit-plan-shop-top b{color:var(--authority);font-size:.59rem;text-transform:uppercase}.visit-plan-shop-top em{padding:3px 6px;border-radius:999px;background:var(--canvas);color:var(--muted);font-size:.53rem;font-style:normal;font-weight:850}.visit-plan-shop.is-overdue .visit-plan-shop-top em{background:var(--danger-soft);color:var(--danger)}.visit-plan-shop.status-in-progress .visit-plan-shop-top em{background:var(--info-soft);color:var(--info)}.visit-plan-shop.status-completed .visit-plan-shop-top em{background:var(--success-soft);color:var(--success)}
.visit-plan-shop-priority{position:static}.visit-plan-shop-facts{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;margin-top:5px}.visit-plan-shop-salesman,.visit-plan-shop-assigned{display:flex;align-items:center;gap:6px;min-width:180px;padding:6px 8px;border:1px solid var(--border);border-radius:9px;background:var(--canvas);color:var(--authority)}.visit-plan-shop-salesman>span,.visit-plan-shop-assigned>span{display:grid;gap:1px}.visit-plan-shop-facts svg{width:14px;height:14px;flex:0 0 auto}.visit-plan-shop-facts small{font-size:.5rem;font-weight:800}.visit-plan-shop-facts strong{font-size:.61rem}.visit-plan-shop-open{align-self:center;display:flex;align-items:center;justify-content:flex-end;gap:5px;color:var(--authority)}.visit-plan-shop-open small{font-size:.56rem;font-weight:850}.visit-plan-shop-open svg{width:18px}
.visit-plan-empty{display:flex;align-items:center;justify-content:center;gap:12px;min-height:130px;padding:22px;border:1px dashed var(--border);border-radius:15px;background:var(--canvas);color:var(--muted)}.visit-plan-empty>svg{width:28px;height:28px}.visit-plan-empty>div{display:grid;gap:3px}.visit-plan-empty strong{color:var(--ink);font-size:.82rem}.visit-plan-empty small{max-width:470px;font-size:.66rem;line-height:1.45}
@media(max-width:760px){.visit-plan-range{align-items:stretch;flex-direction:column}.visit-plan-presets{grid-template-columns:repeat(4,minmax(0,1fr))}.visit-plan-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-plan-overview>div:nth-child(2){border-right:0}.visit-plan-overview>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.visit-plan-day-toggle{grid-template-columns:minmax(0,1fr) 44px}.visit-plan-day-metrics{grid-column:1;grid-row:2}.visit-plan-day-open{grid-column:2;grid-row:1/3}.visit-plan-day-metrics>span:first-child{border-left:0;padding-left:0}.visit-plan-shop{grid-template-columns:34px minmax(0,1fr)}.visit-plan-shop-open{grid-column:2;justify-content:flex-start;margin-top:4px}.visit-plan-shop-top{align-items:flex-start;flex-direction:column}.visit-plan-shop-facts{display:grid;grid-template-columns:1fr}.visit-plan-shop-salesman,.visit-plan-shop-assigned{min-width:0;width:100%}}
@media(max-width:520px){.visit-planner{padding:14px}.visit-plan-command{padding:11px}.visit-plan-presets button{min-width:0;padding-inline:4px;font-size:.61rem}.visit-plan-custom-dates{grid-template-columns:1fr auto 1fr}.visit-plan-custom-dates>button{grid-column:1/-1}.visit-plan-filters{grid-template-columns:1fr}.visit-plan-overview>div{padding:10px}.visit-plan-day-metrics>span{min-width:58px;padding-inline:8px}.visit-plan-schedule-head{align-items:flex-start}.visit-plan-schedule-head>div{max-width:78%}}
@media(prefers-reduced-motion:reduce){.visit-plan-presets button,.visit-plan-day,.visit-plan-shop{transition:none}}
.camera-only-button{width:100%;min-height:58px;border:1px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;font:inherit;font-weight:800;color:var(--ink);display:grid;place-items:center;gap:2px;padding:10px}.camera-only-button small{font-size:11px;font-weight:600;color:var(--muted)}
.live-camera-overlay{position:fixed;inset:0;z-index:9999;background:#07131ddd;display:grid;place-items:center;padding:16px}
.live-camera-sheet{width:min(100%,560px);overflow:hidden;border-radius:24px;background:#07131d;color:#fff;box-shadow:0 24px 80px #0008}
.live-camera-sheet header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px}.live-camera-sheet header div{display:grid;gap:2px}
.live-camera-sheet header span,.live-camera-sheet header small{font-size:11px;color:#c6d1da}.live-camera-sheet header strong{font-size:18px}.live-camera-sheet header button{width:44px;height:44px;border:0;border-radius:14px;background:#ffffff18;color:#fff;font-size:28px}
.live-camera-stage{position:relative;aspect-ratio:3/4;background:#000;display:grid;place-items:center;overflow:hidden}.live-camera-stage video{width:100%;height:100%;object-fit:cover}
.camera-status{position:absolute;left:12px;right:12px;bottom:12px;padding:9px 12px;border-radius:12px;background:#000a;text-align:center;font-size:12px}
.live-camera-sheet footer{padding:16px;display:grid;place-items:center}.camera-capture{min-width:190px;min-height:58px;border:0;border-radius:18px;background:#be123c;color:#fff;font:inherit;font-weight:850;display:flex;align-items:center;justify-content:center;gap:10px}
.camera-capture i{width:22px;height:22px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 3px #ffffff55}.camera-capture:disabled{opacity:.45}
@media (orientation:landscape) and (max-height:650px){.live-camera-sheet{width:min(100%,720px);display:grid;grid-template-columns:1fr 1.6fr}.live-camera-sheet header{align-items:flex-start}.live-camera-stage{aspect-ratio:4/3}.live-camera-sheet footer{grid-column:1/-1;padding:10px}}

/* Control Workspace v121 — one operational task at a time. */
main:has(#screen-more.active){width:min(100%,1180px)}
#screen-more{padding:18px clamp(14px,2.4vw,28px) 32px}
#screen-more .control-masthead{
  min-height:116px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;
  gap:3px 28px;padding:22px 24px;border-radius:18px;background:var(--authority-strong);box-shadow:none
}
#screen-more .control-masthead:after{display:none}
#screen-more .control-masthead>.eyebrow,#screen-more .control-masthead>h1,#screen-more .control-masthead>p{grid-column:1}
#screen-more .control-masthead h1{margin:2px 0 0;font-size:clamp(24px,3vw,32px);line-height:1.1}
#screen-more .control-masthead p{font-size:13px;line-height:1.5}
#screen-more .identity-chip{grid-column:2;grid-row:1/4;align-self:center;margin:0;min-width:210px;padding:9px 12px;border-radius:12px}
.control-workspace-nav{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 16px;padding:6px;
  border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm)
}
.control-workspace-nav>button{
  min-width:0;min-height:64px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;
  padding:9px 11px;color:var(--muted);text-align:left;border:1px solid transparent;border-radius:11px;background:transparent;
  transition:color .18s ease,background .18s ease,border-color .18s ease
}
.control-workspace-nav>button:hover,.control-workspace-nav>button:focus-visible{color:var(--ink);background:var(--canvas)}
.control-workspace-nav>button.active{color:var(--authority);border-color:color-mix(in srgb,var(--authority) 24%,var(--border));background:var(--authority-soft)}
.control-workspace-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--canvas)}
.control-workspace-nav>button.active .control-workspace-icon{color:#fff;background:var(--authority)}
.control-workspace-icon svg{width:19px;height:19px}
.control-workspace-nav>button>span:last-child{min-width:0;display:grid;gap:1px}
.control-workspace-nav strong{overflow:hidden;color:inherit;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.control-workspace-nav small{overflow:hidden;color:var(--muted);font-size:11px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}
[data-control-panel].control-panel-hidden{display:none!important}
[data-control-panel]:not(.control-panel-hidden){animation:control-panel-in .18s ease-out}
@keyframes control-panel-in{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}
#screen-more .visit-planner,#screen-more .customer-intake,#screen-more .customer-import,#screen-more .workflow-lab,#screen-more .control-system-panel{
  margin:0;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:none
}
#screen-more .customer-intake{gap:18px;background:var(--surface)}
#screen-more .customer-assignment{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
#screen-more .customer-intake-head,#screen-more .customer-import-head{padding-bottom:16px;border-bottom:1px solid var(--border)}
#screen-more .workflow-lab{border-top:1px solid var(--border)}
.control-system-panel{display:grid;gap:14px}
.control-system-panel .system-heading{margin:0 0 2px}
.control-system-panel .system-heading p{margin:3px 0 0;color:var(--muted);font-size:13px;font-weight:500}
.control-system-panel .info-card{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;overflow:hidden;border:1px solid var(--border);border-top:1px solid var(--border);border-radius:14px;box-shadow:none}
.control-system-panel .info-row{min-height:62px;padding:10px 14px;border:0;border-bottom:1px solid var(--border)}
.control-system-panel .info-row:nth-child(odd){border-right:1px solid var(--border)}
.control-system-panel .info-row:nth-last-child(-n+2){border-bottom:0}
.control-system-panel .info-row span{font-size:12px}
.control-system-panel .info-row strong{font-size:12px;font-variant-numeric:tabular-nums}
.control-system-panel .success-callout{margin:0;box-shadow:none}
@media(max-width:760px){
  #screen-more .control-masthead{grid-template-columns:1fr;padding:19px}
  #screen-more .identity-chip{grid-column:1;grid-row:auto;margin-top:12px;min-width:0;width:max-content}
  .control-workspace-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  #screen-more .visit-planner,#screen-more .customer-intake,#screen-more .customer-import,#screen-more .workflow-lab,#screen-more .control-system-panel{padding:16px}
}
@media(max-width:430px){
  #screen-more{padding-inline:10px}
  .control-workspace-nav{gap:5px;padding:5px}
  .control-workspace-nav>button{min-height:56px;grid-template-columns:32px minmax(0,1fr);gap:8px;padding:7px}
  .control-workspace-icon{width:32px;height:32px}
  .control-workspace-nav strong{font-size:12px}.control-workspace-nav small{font-size:10px}
  .control-system-panel .info-card{grid-template-columns:1fr}
  .control-system-panel .info-row:nth-child(odd){border-right:0}
  .control-system-panel .info-row:nth-last-child(2){border-bottom:1px solid var(--border)}
}
@media(prefers-reduced-motion:reduce){[data-control-panel]:not(.control-panel-hidden){animation:none}.control-workspace-nav>button{transition:none}}

/* Mandatory Plan v122 — separate action queue from completed work. */
.person-mandatory-plan{padding:18px!important;background:var(--surface)}
.person-mandatory-plan>.report-block-heading{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.person-mandatory-plan>.report-block-heading h2{font-size:1.18rem}
.person-mandatory-plan>.report-block-heading p{margin-top:2px;font-size:.72rem}
.person-plan-progress{
  min-height:76px;display:grid;grid-template-columns:auto minmax(170px,1fr) auto;align-items:center;gap:18px;
  margin:0 0 12px;padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:var(--canvas)
}
.person-plan-progress>span:first-child{display:grid;gap:1px;min-width:92px}
.person-plan-progress>span:first-child small{color:var(--muted);font-size:.61rem;font-weight:850;letter-spacing:.08em}
.person-plan-progress>span:first-child strong{color:var(--ink);font-size:1.35rem;font-variant-numeric:tabular-nums;line-height:1.05}
.person-plan-progress>span:first-child em{color:var(--muted);font-size:.72em;font-style:normal;font-weight:700}
.person-plan-progress>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}
.person-plan-progress>div>i{height:8px;overflow:hidden;border-radius:99px;background:var(--border)}
.person-plan-progress>div>i>b{display:block;height:100%;border-radius:inherit;background:var(--success)}
.person-plan-progress>div>small{color:var(--muted);font-size:.68rem;font-weight:750;white-space:nowrap}
.person-plan-progress-status{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.person-plan-progress-status b,.person-plan-progress-status em{padding:5px 8px;border-radius:999px;font-size:.65rem;font-style:normal;font-weight:850;white-space:nowrap}
.person-plan-progress-status b{color:var(--brand);background:var(--brand-soft)}
.person-plan-progress-status em{color:var(--info);background:var(--info-soft)}
.person-plan-groups{display:grid;gap:10px}
.person-plan-group{overflow:hidden;border:1px solid var(--border);border-radius:13px;background:var(--surface)}
.person-plan-group>summary{
  min-height:62px;display:grid;grid-template-columns:36px minmax(0,1fr) auto 18px;align-items:center;gap:10px;
  padding:10px 12px;color:var(--ink);list-style:none;cursor:pointer;touch-action:manipulation;background:var(--surface);
  transition:background .18s ease
}
.person-plan-group>summary::-webkit-details-marker{display:none}
.person-plan-group>summary:hover,.person-plan-group>summary:focus-visible{background:var(--canvas)}
.person-plan-group>summary>.person-plan-group-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px}
.person-plan-group.remaining>summary>.person-plan-group-icon{color:var(--brand);background:var(--brand-soft)}
.person-plan-group.visited>summary>.person-plan-group-icon{color:var(--success);background:var(--success-soft)}
.person-plan-group>summary>.person-plan-group-icon svg{width:18px;height:18px}
.person-plan-group>summary>span:nth-child(2){min-width:0;display:grid;gap:1px}
.person-plan-group>summary strong{font-size:.84rem}
.person-plan-group>summary small{color:var(--muted);font-size:.68rem}
.person-plan-group>summary>b{min-width:28px;min-height:28px;display:grid;place-items:center;padding:3px 7px;border-radius:999px;font-size:.72rem;font-variant-numeric:tabular-nums}
.person-plan-group.remaining>summary>b{color:var(--brand);background:var(--brand-soft)}
.person-plan-group.visited>summary>b{color:var(--success);background:var(--success-soft)}
.person-plan-group>summary>svg{width:17px;height:17px;color:var(--muted);transition:transform .18s ease}
.person-plan-group[open]>summary{border-bottom:1px solid var(--border);background:var(--canvas)}
.person-plan-group[open]>summary>svg{transform:rotate(90deg)}
.person-plan-group>.person-mandatory-list{gap:0;padding:6px 10px 10px;background:color-mix(in srgb,var(--canvas) 56%,var(--surface))}
.person-plan-group .person-mandatory-row{
  min-height:78px;grid-template-columns:38px minmax(0,1fr) minmax(105px,145px) auto;gap:10px;
  padding:10px 8px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none
}
.person-plan-group .person-mandatory-row:last-child{border-bottom:0}
.person-plan-group .person-mandatory-row:hover,.person-plan-group .person-mandatory-row:focus-visible{border-color:var(--border);border-radius:10px;background:var(--surface);box-shadow:none}
.person-plan-group .person-mandatory-sequence{width:36px;height:36px;border-radius:10px}
.person-plan-group.visited .person-mandatory-row{opacity:.88}
.person-plan-group.visited .person-mandatory-row.status-completed{background:transparent}
.person-plan-group .person-mandatory-main>strong{font-size:.8rem}
.person-plan-group .person-mandatory-main>small{font-size:.68rem}
.person-plan-group .person-mandatory-meta small{font-size:.64rem}
.person-plan-group .person-mandatory-meta em{font-size:.58rem}
.person-plan-group .person-mandatory-purpose>small{font-size:.67rem}
.person-plan-group .person-mandatory-open small{font-size:.64rem}
.person-mandatory-other{margin:10px 0 0;background:var(--surface)}
@media(max-width:700px){
  .person-mandatory-plan{padding:14px!important}
  .person-plan-progress{grid-template-columns:auto minmax(0,1fr);gap:10px}
  .person-plan-progress-status{grid-column:1/-1;justify-content:flex-start}
  .person-plan-group .person-mandatory-row{grid-template-columns:36px minmax(0,1fr);padding:10px 6px}
  .person-plan-group .person-mandatory-purpose,.person-plan-group .person-mandatory-open{grid-column:2}
}
@media(max-width:430px){
  .person-plan-progress{grid-template-columns:1fr;padding:11px}
  .person-plan-progress>div{grid-template-columns:minmax(0,1fr) auto}
  .person-plan-progress-status{grid-column:1}
  .person-plan-group>summary{grid-template-columns:34px minmax(0,1fr) auto 16px;padding:9px}
  .person-plan-group>summary>.person-plan-group-icon{width:34px;height:34px}
  .person-plan-group>summary small{font-size:.64rem}
  .person-plan-group>.person-mandatory-list{padding:4px 7px 8px}
}
@media(prefers-reduced-motion:reduce){.person-plan-group>summary,.person-plan-group>summary>svg{transition:none}}

/* Customer Master v123 — operational filters and team-source history. */
#screen-more .customer-intake{gap:14px}
#screen-more .customer-assignment{gap:12px}
.customer-master-filters,.customer-admin-tools{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.customer-master-filters>summary,.customer-admin-tools>summary{
  min-height:56px;display:grid;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:10px;
  padding:10px 13px;color:var(--ink);list-style:none;cursor:pointer;touch-action:manipulation;transition:background .18s ease
}
.customer-master-filters>summary::-webkit-details-marker,.customer-admin-tools>summary::-webkit-details-marker{display:none}
.customer-master-filters>summary:hover,.customer-master-filters>summary:focus-visible,.customer-admin-tools>summary:hover,.customer-admin-tools>summary:focus-visible{outline:0;background:var(--canvas)}
.customer-master-filters>summary>svg:first-child,.customer-admin-tools>summary>svg:first-child{width:20px;color:var(--authority)}
.customer-master-filters>summary>span:nth-child(2),.customer-admin-tools>summary>span:nth-child(2){display:grid;gap:2px;min-width:0}
.customer-master-filters>summary strong,.customer-admin-tools>summary strong{font-size:13px}
.customer-master-filters>summary small,.customer-admin-tools>summary small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.customer-master-filters>summary>svg:last-child,.customer-admin-tools>summary>svg:last-child{width:17px;color:var(--muted);transition:transform .18s ease}
.customer-master-filters[open]>summary,.customer-admin-tools[open]>summary{border-bottom:1px solid var(--border);background:var(--canvas)}
.customer-master-filters[open]>summary>svg:last-child,.customer-admin-tools[open]>summary>svg:last-child{transform:rotate(90deg)}
.customer-master-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;background:color-mix(in srgb,var(--canvas) 60%,var(--surface))}
.customer-master-filter-grid label{min-width:0;display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}
.customer-master-filter-grid select{width:100%;min-height:46px;padding:0 34px 0 11px;color:var(--ink);border:1px solid var(--border-strong);border-radius:11px;outline:0;background:var(--surface);font:inherit;font-size:13px;font-weight:750;text-transform:none;cursor:pointer}
.customer-master-filter-grid select:focus-visible{border-color:var(--authority);box-shadow:0 0 0 3px color-mix(in srgb,var(--authority) 14%,transparent)}
.customer-master-sort{grid-column:span 2}
.customer-master-filter-reset{min-height:46px;align-self:end;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 38%,var(--border));border-radius:11px;background:var(--brand-soft);font-size:12px;font-weight:850;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.customer-master-filter-reset:hover,.customer-master-filter-reset:focus-visible{outline:0;border-color:var(--brand);background:color-mix(in srgb,var(--brand-soft) 72%,var(--surface))}
.customer-master-filter-reset svg{width:17px}
.customer-master-record{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:var(--surface);box-shadow:var(--shadow-sm)}
.customer-master-record.editable{display:grid;grid-template-columns:minmax(0,1fr) 132px}
.customer-master-record.unassigned{border-left:4px solid var(--warning)}
.customer-master-record>.customer-assignment-row{min-height:104px;border:0;border-radius:0;background:transparent;box-shadow:none}
.customer-master-record>.customer-assignment-row:hover,.customer-master-record>.customer-assignment-row:focus-visible{border:0;background:var(--canvas);box-shadow:none}
.customer-assignment-copy>span em.channel{color:var(--authority);background:var(--authority-soft)}
.customer-source-counts{display:flex;align-items:stretch;gap:5px;margin-top:5px}
.customer-source-counts>em{min-width:66px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px;padding:5px 7px;color:var(--ink);border-radius:8px;background:var(--canvas);font-size:12px;font-style:normal;font-weight:900;font-variant-numeric:tabular-nums}
.customer-source-counts>em small{font-size:8px;font-weight:800;text-transform:uppercase}
.customer-source-counts>.merch{color:var(--success);background:var(--success-soft)}
.customer-source-counts>.sales{color:var(--authority);background:var(--authority-soft)}
.customer-record-manage{min-height:104px;display:grid;place-content:center;justify-items:center;gap:3px;padding:10px;color:var(--authority);border:0;border-left:1px solid var(--border);background:var(--canvas);cursor:pointer;touch-action:manipulation;transition:background .18s ease,color .18s ease}
.customer-record-manage:hover,.customer-record-manage:focus-visible{outline:0;color:var(--ink);background:var(--authority-soft)}
.customer-record-manage>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--authority-soft)}
.customer-record-manage svg{width:17px}
.customer-record-manage strong{font-size:11px}.customer-record-manage small{color:var(--muted);font-size:9px;text-align:center}
.customer-master-more{width:100%;min-height:48px;margin-top:10px}.customer-master-more span{margin-left:6px;color:var(--muted)}
.customer-admin-tools>summary{min-height:64px}.customer-admin-tools-body{display:grid;gap:14px;padding:14px;background:var(--canvas)}
.customer-history-source-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 12px;padding:5px;border:1px solid var(--border);border-radius:13px;background:var(--canvas)}
.customer-history-source-filter>button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;color:var(--muted);border:0;border-radius:9px;background:transparent;font-size:11px;font-weight:850;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.customer-history-source-filter>button strong{min-width:24px;padding:3px 6px;color:inherit;border-radius:999px;background:color-mix(in srgb,currentColor 9%,transparent);font-size:10px;font-variant-numeric:tabular-nums}
.customer-history-source-filter>button.active{color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm)}
.customer-history-source-filter>button[data-customer-source="MERCHANDISER"].active{color:var(--success)}
.customer-history-source-filter>button[data-customer-source="SALES"].active{color:var(--authority)}
.customer-overview-metrics.source-aware{grid-template-columns:repeat(5,minmax(0,1fr))}
.customer-overview-metrics.source-aware>.merch{border-color:var(--success);background:var(--success-soft)}
.customer-overview-metrics.source-aware>.sales{border-color:var(--authority);background:var(--authority-soft)}
.customer-context-strip{grid-template-columns:1.15fr repeat(4,1fr)}
.visit-team-label{display:inline-flex;margin-left:5px;padding:3px 6px;border-radius:999px;background:var(--canvas);font-size:8px;font-weight:900;text-transform:uppercase}
.visit-team-label.merchandiser{color:var(--success);background:var(--success-soft)}
.visit-team-label.sales{color:var(--authority);background:var(--authority-soft)}
.customer-history-visit.visit-team-merchandiser{border-left-color:var(--success)}
.customer-history-visit.visit-team-sales{border-left-color:var(--authority)}
@media(max-width:900px){
  .customer-master-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .customer-master-record.editable{grid-template-columns:minmax(0,1fr) 112px}
  .customer-overview-metrics.source-aware{grid-template-columns:repeat(3,minmax(0,1fr))}
  .customer-context-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
  .customer-master-filter-grid{grid-template-columns:1fr;padding:10px}
  .customer-master-sort{grid-column:auto}
  .customer-master-record.editable{grid-template-columns:1fr}
  .customer-record-manage{min-height:50px;grid-template-columns:24px auto auto;place-content:center;gap:7px;border-top:1px solid var(--border);border-left:0}
  .customer-record-manage>span{width:24px;height:24px}.customer-record-manage small{font-size:9px}
  .customer-source-counts{flex-wrap:wrap}
  .customer-history-source-filter{grid-template-columns:1fr}.customer-history-source-filter>button{justify-content:space-between;padding-inline:12px}
  .customer-overview-metrics.source-aware{grid-template-columns:repeat(2,minmax(0,1fr))}
  .customer-context-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .customer-context-strip>span:nth-child(odd){border-left:0}
}
@media(max-width:390px){.customer-source-counts>em{min-width:0;flex:1}.customer-assignment-row{grid-template-columns:44px minmax(0,1fr) 18px}}
@media(prefers-reduced-motion:reduce){.customer-master-filters>summary,.customer-admin-tools>summary,.customer-master-filters>summary>svg:last-child,.customer-admin-tools>summary>svg:last-child,.customer-master-filter-reset,.customer-record-manage,.customer-history-source-filter>button{transition:none}}

/* Focused People Report v124 - one identity, compact controls, no duplicate CTA. */
.team-focused-report-bar{display:none;min-height:64px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:13px;background:var(--canvas)}
.team-focused-report-icon{width:38px;height:38px;display:grid;place-items:center;color:var(--authority);border-radius:10px;background:var(--authority-soft)}
.team-focused-report-icon svg{width:18px;height:18px}
.team-focused-report-bar>span:nth-child(2){min-width:0;display:grid;gap:1px}
.team-focused-report-bar small{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.08em}
.team-focused-report-bar strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.team-focused-report-bar em{color:var(--muted);font-size:10px;font-style:normal}
.team-focused-report-bar>button{min-width:96px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;color:var(--authority);border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);font-size:11px;font-weight:850;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.team-focused-report-bar>button svg{width:16px;height:16px}
.team-focused-report-bar>button:hover,.team-focused-report-bar>button:focus-visible{outline:0;border-color:var(--authority);background:var(--authority-soft)}
#teamReportFilters.focused-report:not(.editing){padding:10px}
#teamReportFilters.focused-report:not(.editing) .team-focused-report-bar{display:grid}
#teamReportFilters.focused-report:not(.editing) .team-filter-heading,
#teamReportFilters.focused-report:not(.editing) .team-report-builder,
#teamReportFilters.focused-report:not(.editing) .team-directory-disclosure{display:none}
#teamReportFilters.focused-report.editing .team-run-report strong{font-size:12px}
.person-mandatory-plan>.report-block-heading .eyebrow,
.person-mandatory-plan>.report-block-heading p{display:none}
@media(max-width:600px){
  .team-focused-report-bar{grid-template-columns:34px minmax(0,1fr) auto;min-height:58px;padding:8px 9px}
  .team-focused-report-icon{width:34px;height:34px}
  .team-focused-report-bar>button{min-width:44px;padding:0 10px}
  .team-focused-report-bar>button svg{display:none}
  .person-mandatory-plan>.report-block-heading{align-items:center}
}
@media(max-width:390px){
  .team-focused-report-bar>button{width:44px;padding:0;font-size:0}
  .team-focused-report-bar>button svg{display:block}
}
@media(prefers-reduced-motion:reduce){.team-focused-report-bar>button{transition:none}}
/* Focused Person Priority v127 - action first, secondary analysis on demand. */
.person-priority-header{overflow:hidden;margin:14px 0 10px;border:1px solid var(--border);border-top:3px solid var(--brand);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm)}
.person-priority-header .person-summary-back{margin:6px 8px 0}
.person-priority-header .person-command-head{padding:12px 14px;border-bottom:0;background:var(--surface)}
.person-priority-header .person-command-avatar{width:50px;height:50px;border-radius:14px}
.person-priority-header .person-command-head h2{font-size:19px}
.person-priority-header .person-live-position{margin:0;border-width:1px 0 0;border-radius:0;box-shadow:none}
.person-route-heading-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--authority);border-radius:12px;background:var(--authority-soft)}
.person-route-heading-icon svg{width:21px;height:21px}
.person-performance-details{margin-top:12px!important;padding:0!important;border-top:1px solid var(--border)!important;box-shadow:none!important}
.person-performance-details>summary{min-height:68px;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:11px 13px;list-style:none;color:var(--ink);background:var(--surface);cursor:pointer;transition:background 180ms ease}
.person-performance-details>summary::-webkit-details-marker{display:none}
.person-performance-details>summary:hover,.person-performance-details>summary:focus-visible{outline:0;background:var(--authority-soft)}
.person-performance-details>summary:focus-visible{box-shadow:inset 0 0 0 3px var(--ring)}
.person-performance-details>summary>span:nth-child(2){min-width:0;display:grid;gap:2px}
.person-performance-details>summary small{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em}
.person-performance-details>summary strong{font-size:14px}
.person-performance-details>summary em{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.person-performance-details>summary>svg{width:18px;color:var(--muted);transition:transform 180ms ease}
.person-performance-details[open]>summary>svg{transform:rotate(90deg)}
.person-performance-icon{width:42px;height:42px;display:grid!important;place-items:center;color:var(--authority);border-radius:11px;background:var(--authority-soft)}
.person-performance-icon svg{width:20px;height:20px}
.person-performance-details[open]>summary{border-bottom:1px solid var(--border)}
.person-mandatory-empty-compact{min-height:72px;display:grid!important;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;margin:10px 0 14px!important;padding:12px!important;border-style:solid!important;background:var(--surface)!important}
.person-mandatory-empty-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--muted);border-radius:11px;background:var(--canvas)}
.person-mandatory-empty-icon svg{width:19px;height:19px}
.person-mandatory-empty-compact>span:nth-child(2){min-width:0;display:grid;gap:2px}
.person-mandatory-empty-compact small{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em}
.person-mandatory-empty-compact strong{font-size:13px}
.person-mandatory-empty-compact em{color:var(--muted);font-size:10px;font-style:normal}
@media(max-width:430px){.person-priority-header{margin-top:10px;border-radius:15px}.person-priority-header .person-command-head{grid-template-columns:44px minmax(0,1fr) auto;gap:9px;padding:10px}.person-priority-header .person-command-avatar{width:44px;height:44px}.person-priority-header .person-command-head h2{font-size:16px}.person-priority-header .person-command-head>div>.eyebrow{display:none}.person-priority-header .person-command-head>.status-pill{grid-column:auto;justify-self:end;min-height:30px;padding:5px 8px}.person-priority-header .person-command-workday{min-height:28px;margin-top:4px;padding:3px 7px}.person-priority-header .person-command-workday small{display:none}.person-visit-heading{grid-template-columns:40px minmax(0,1fr) auto!important;gap:9px!important}.person-route-heading-icon{width:40px;height:40px}.person-performance-details>summary{min-height:64px;grid-template-columns:38px minmax(0,1fr) 18px;padding:10px}.person-performance-icon{width:38px;height:38px}.person-mandatory-empty-compact{min-height:66px;grid-template-columns:38px minmax(0,1fr);padding:10px!important}.person-mandatory-empty-icon{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.person-performance-details>summary,.person-performance-details>summary>svg{transition:none!important}}

/* Focused Person Reset v128 — restrained hierarchy, one identity, action-first detail. */
#teamReportFilters.focused-report:not(.editing){display:none}
#teamReportOutput:has(.person-priority-header){display:grid;gap:12px}
#teamReportOutput:has(.person-priority-header)>*{margin-block:0}
.person-priority-header{overflow:hidden;margin:0;border:1px solid var(--border);border-top:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:none}
.person-report-toolbar{min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 8px;border-bottom:1px solid var(--border);background:var(--canvas)}
.person-report-toolbar>span{min-width:0;display:grid;justify-items:center;gap:1px;text-align:center}
.person-report-toolbar>span small{color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.08em}
.person-report-toolbar>span strong{overflow:hidden;max-width:100%;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.person-priority-header .person-summary-back,.person-change-filters{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:7px 10px;color:var(--authority);border:0;border-radius:9px;background:transparent;font:inherit;font-size:10px;font-weight:800;cursor:pointer;transition:background 180ms ease}
.person-priority-header .person-summary-back:hover,.person-priority-header .person-summary-back:focus-visible,.person-change-filters:hover,.person-change-filters:focus-visible{outline:0;background:var(--authority-soft);box-shadow:inset 0 0 0 2px var(--ring)}
.person-priority-header .person-summary-back svg,.person-change-filters svg{width:16px;height:16px}
.person-priority-header .person-command-head{min-height:72px;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;padding:11px 13px;border:0;background:var(--surface)}
.person-priority-header .person-command-avatar{width:46px;height:46px;border-radius:12px}
.person-priority-header .person-command-head h2{margin:0 0 4px;font-size:17px;letter-spacing:-.025em}
.person-priority-header .person-command-head p{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;white-space:normal}
.person-workday-inline{display:inline-flex;align-items:center;gap:4px;padding-left:8px;border-left:1px solid var(--border);color:var(--ink);font-weight:750;font-variant-numeric:tabular-nums}
.person-workday-inline svg{width:13px;height:13px;color:var(--muted)}
.person-priority-header .status-pill{min-height:30px;padding:5px 8px;background:var(--canvas);box-shadow:inset 0 0 0 1px var(--border)}
.person-priority-header .person-live-position{min-height:58px;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;margin:0;padding:9px 13px;border:0;border-top:1px solid var(--border);border-left:3px solid var(--success);border-radius:0;background:var(--canvas);box-shadow:none}
.person-priority-header .person-live-position-icon{width:34px;height:34px;border-radius:9px;background:var(--success-soft)}
.person-priority-header .person-live-position-icon svg{width:17px;height:17px}
.person-priority-header .person-live-position strong{font-size:12px}
.person-priority-header .person-live-position em{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.person-priority-header .person-live-position>b{min-width:70px;padding-left:10px;font-size:12px}

.person-visit-section{overflow:hidden;margin:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:none}
.person-visit-heading{min-height:64px;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px 13px;color:var(--ink);border-bottom:1px solid var(--border);background:var(--surface)}
.person-visit-heading .eyebrow{color:var(--brand);font-size:8px}
.person-visit-heading h2{margin:2px 0 0;color:var(--ink);font-size:16px;letter-spacing:-.02em}
.person-visit-heading p{margin:2px 0 0;color:var(--muted);font-size:9px}
.person-route-count{min-width:54px;width:auto;height:36px;display:flex;align-items:baseline;justify-content:center;gap:4px;padding:6px 9px;color:var(--authority);border:1px solid var(--border);border-radius:9px;background:var(--canvas)}
.person-route-count strong{font-size:13px}.person-route-count small{margin:0;color:var(--muted);font-size:8px;letter-spacing:0;text-transform:none}
.person-visit-section.is-single-day .person-visit-day>header{display:none}
.person-visit-day+.person-visit-day{border-top:6px solid var(--canvas)}
.person-visit-day>header{min-height:40px;padding:7px 12px;background:var(--canvas)}
.person-day-timing{min-height:52px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;border-bottom:1px solid var(--border);background:var(--canvas)}
.person-day-timing>span{min-height:52px;grid-template-columns:26px minmax(0,1fr);gap:6px;padding:8px 10px;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent}
.person-day-timing>span:last-child{border-right:0}.person-day-timing>span>svg{width:26px;height:26px;padding:6px;border-radius:8px;background:var(--surface)!important}
.person-day-timing small{font-size:7px}.person-day-timing strong{font-size:11px}.person-day-timing em,.person-day-timing>i{display:none}
.person-visit-day-list{padding:0 10px 3px}.person-visit-day-list:before{top:19px;bottom:22px;left:27px;background:var(--border)}
.person-visit-row{min-height:70px;grid-template-columns:32px minmax(0,1fr) 72px 16px;gap:8px;padding:9px 3px}
.person-visit-row:hover,.person-visit-row:focus-visible{border-radius:9px;background:var(--canvas);box-shadow:none;outline:2px solid var(--ring);outline-offset:-2px}
.person-visit-sequence{width:28px;height:28px;border-radius:9px;box-shadow:0 0 0 3px var(--surface);font-size:8px}
.person-visit-main{gap:2px}.person-visit-main .person-visit-time small{display:none}.person-visit-main .person-visit-time strong{font-size:9px}.person-visit-main>strong{font-size:11.5px;line-height:1.25}.person-visit-main>small{font-size:8.5px}.person-visit-main .shop-salesman{margin-top:1px;font-size:8px}
.person-visit-result>strong{font-size:10.5px}.person-visit-result>small{gap:0;margin-top:3px}.person-visit-result>small span{padding:0;background:transparent;font-size:7.5px}.person-visit-result>small span+span:before{margin:0 3px;color:var(--subtle);content:'·'}.person-visit-result>small .has-flags{color:var(--warning);background:transparent}
.person-route-leg{min-height:44px;background:var(--canvas)}

.person-mandatory-plan{overflow:hidden;padding:0!important;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:none}
.person-mandatory-plan>.report-block-heading{min-height:64px;align-items:center;margin:0;padding:11px 13px;border-bottom:1px solid var(--border)}
.person-mandatory-plan>.report-block-heading .eyebrow,.person-mandatory-plan>.report-block-heading p{display:block}
.person-mandatory-plan>.report-block-heading .eyebrow{font-size:8px}.person-mandatory-plan>.report-block-heading h2{font-size:16px}.person-mandatory-plan>.report-block-heading p{font-size:9px}
.person-mandatory-plan>.report-block-heading>span{min-height:28px;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:var(--canvas);color:var(--ink);font-size:9px}
.person-plan-progress{min-height:58px;grid-template-columns:auto minmax(120px,1fr) auto;gap:12px;margin:0;padding:9px 13px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--canvas)}
.person-plan-progress>span:first-child{min-width:64px}.person-plan-progress>span:first-child small{font-size:7px}.person-plan-progress>span:first-child strong{font-size:16px}.person-plan-progress>div>i{height:5px}.person-plan-progress>div>small{font-size:8px}.person-plan-progress-status{gap:4px}.person-plan-progress-status b,.person-plan-progress-status em{padding:4px 6px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:8px}.person-plan-progress-status b{color:var(--ink)}
.person-plan-groups{gap:0}.person-plan-group{border:0;border-radius:0}.person-plan-group+.person-plan-group{border-top:1px solid var(--border)}
.person-plan-group>summary{min-height:52px;grid-template-columns:30px minmax(0,1fr) auto 16px;gap:8px;padding:8px 12px}
.person-plan-group>summary>.person-plan-group-icon{width:30px;height:30px;border-radius:8px}.person-plan-group>summary>.person-plan-group-icon svg{width:15px;height:15px}.person-plan-group>summary strong{font-size:11px}.person-plan-group>summary small{font-size:9px}.person-plan-group>summary>b{min-width:24px;min-height:24px;padding:2px 6px;font-size:9px}
.person-plan-group[open]>summary{background:var(--canvas)}.person-plan-group>.person-mandatory-list{padding:0 10px 4px;background:var(--surface)}
.person-plan-group .person-mandatory-row{min-height:70px;grid-template-columns:30px minmax(0,1fr) minmax(82px,115px) 16px;gap:8px;padding:9px 3px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}
.person-plan-group .person-mandatory-row:hover,.person-plan-group .person-mandatory-row:focus-visible{border-radius:9px;background:var(--canvas);outline:2px solid var(--ring);outline-offset:-2px}
.person-plan-group .person-mandatory-sequence{width:28px;height:28px;border-radius:8px;background:var(--canvas);font-size:8px}
.person-plan-group .person-mandatory-main{gap:2px}.person-plan-group .person-mandatory-main>strong{font-size:11px;line-height:1.3}.person-plan-group .person-mandatory-main>small{font-size:8.5px}.person-plan-group .person-mandatory-meta{gap:5px}.person-plan-group .person-mandatory-meta small{font-size:7.5px}.person-plan-group .person-mandatory-meta em{padding:0;background:transparent;font-size:7px}.person-plan-group .person-mandatory-main>p{display:-webkit-box;overflow:hidden;margin:2px 0 0;padding:0;border:0;font-size:8px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.person-plan-group .person-mandatory-salesman{gap:4px;margin:1px 0 0;color:var(--muted)}.person-plan-group .person-mandatory-salesman>svg{width:11px;height:11px}.person-plan-group .person-mandatory-salesman small{display:none}.person-plan-group .person-mandatory-salesman strong{font-size:8px;font-weight:700}.person-plan-group .person-mandatory-purpose{gap:3px}.person-plan-group .person-mandatory-purpose>small{font-size:8px}.person-plan-group .person-mandatory-purpose>em{padding:2px 5px;font-size:7px}.person-plan-group .person-mandatory-open{display:grid;grid-template-columns:1fr;place-items:center;color:var(--muted)}.person-plan-group .person-mandatory-open svg{width:15px;height:15px}
.person-plan-group.visited .person-mandatory-row{opacity:.72}

.person-performance-details,.person-kpi-details,.person-report-tools{overflow:hidden;margin:0!important;padding:0!important;border:1px solid var(--border)!important;border-radius:14px;background:var(--surface);box-shadow:none!important}
.person-performance-details>summary,.person-kpi-details>summary,.person-report-tools>summary{min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:9px 12px;color:var(--ink);list-style:none;cursor:pointer;transition:background 180ms ease}
.person-performance-details>summary:hover,.person-performance-details>summary:focus-visible,.person-kpi-details>summary:hover,.person-kpi-details>summary:focus-visible,.person-report-tools>summary:hover,.person-report-tools>summary:focus-visible{outline:0;background:var(--canvas);box-shadow:inset 0 0 0 2px var(--ring)}
.person-performance-icon,.person-kpi-details-icon,.person-report-tools>summary>span:first-child{width:34px;height:34px;display:grid!important;place-items:center;color:var(--authority);border-radius:9px;background:var(--authority-soft)}
.person-performance-icon svg,.person-kpi-details-icon svg,.person-report-tools>summary>span:first-child svg{width:17px;height:17px}
.person-performance-details>summary>span:nth-child(2),.person-kpi-details>summary>span:nth-child(2),.person-report-tools>summary>span:nth-child(2){min-width:0;display:grid;gap:1px}
.person-performance-details>summary small,.person-kpi-details>summary small,.person-report-tools>summary small{color:var(--muted);font-size:7px;font-weight:850;letter-spacing:.06em}.person-performance-details>summary strong,.person-kpi-details>summary strong,.person-report-tools>summary strong{font-size:11px}.person-performance-details>summary em,.person-kpi-details>summary em{overflow:hidden;color:var(--muted);font-size:8.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.person-performance-details>summary>svg,.person-kpi-details>summary>svg,.person-report-tools>summary>svg{width:16px;color:var(--muted);transition:transform 180ms ease}.person-performance-details[open]>summary>svg,.person-kpi-details[open]>summary>svg,.person-report-tools[open]>summary>svg{transform:rotate(90deg)}
.person-performance-details[open]>summary,.person-kpi-details[open]>summary,.person-report-tools[open]>summary{border-bottom:1px solid var(--border)}
.person-kpi-details-body{padding:10px 12px 12px}.person-kpi-details-body>p{margin:0 0 9px;color:var(--muted);font-size:9px}.person-kpi-details .person-kpi-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.person-kpi-details .person-kpi-summary-card{min-height:64px;padding:8px}
.person-report-tools>div{padding:10px 12px}.person-report-tools .report-actions{margin:0}.person-report-tools .report-methodology{margin:8px 0 0}

@media(max-width:600px){
  .person-priority-header .person-command-head{grid-template-columns:42px minmax(0,1fr) auto;padding:10px}.person-priority-header .person-command-avatar{width:42px;height:42px}.person-priority-header .person-command-head h2{font-size:15px}.person-priority-header .person-command-head>.status-pill{grid-column:auto;justify-self:end}.person-workday-inline{padding-left:0;border-left:0}
  .person-priority-header .person-live-position{grid-template-columns:30px minmax(0,1fr) auto;padding:8px 10px}.person-priority-header .person-live-position-icon{width:30px;height:30px}.person-priority-header .person-live-position>b{grid-column:auto;padding:0 0 0 8px;border-top:0;border-left:1px solid var(--border);text-align:right}
  .person-visit-heading{grid-template-columns:minmax(0,1fr) auto!important;padding:10px 12px}.person-day-timing{grid-template-columns:repeat(3,minmax(0,1fr))}.person-day-timing>span{grid-template-columns:22px minmax(0,1fr);padding:7px 6px}.person-day-timing>span>svg{width:22px;height:22px;padding:5px}.person-day-timing strong{font-size:9.5px}
  .person-visit-row{grid-template-columns:30px minmax(0,1fr) 62px 14px;grid-template-rows:auto;min-height:68px;padding:8px 2px}.person-visit-sequence{grid-column:1;grid-row:1}.person-visit-main{grid-column:2;grid-row:1}.person-visit-result{grid-column:3;grid-row:1}.person-visit-chevron{grid-column:4;grid-row:1}
  .person-mandatory-plan>.report-block-heading{padding:10px 12px}.person-plan-progress{grid-template-columns:auto minmax(0,1fr);gap:8px;padding:8px 12px}.person-plan-progress-status{grid-column:1/-1;justify-content:flex-start}.person-plan-group .person-mandatory-row{grid-template-columns:30px minmax(0,1fr) 16px;align-items:start;padding:9px 2px}.person-plan-group .person-mandatory-purpose{grid-column:2;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:2px 0 0;border:0}.person-plan-group .person-mandatory-open{grid-column:3;grid-row:1/3;min-height:44px;padding:0;border:0}
  .person-kpi-details .person-kpi-summary-grid{grid-template-columns:1fr}
}
@media(max-width:390px){.person-report-toolbar>span small{display:none}.person-priority-header .person-summary-back span,.person-change-filters span{display:none}.person-priority-header .person-summary-back,.person-change-filters{width:44px;padding:0}.person-priority-header .person-live-position em{white-space:normal}.person-plan-progress>div>small{display:none}}
@media(prefers-reduced-motion:reduce){.person-priority-header .person-summary-back,.person-change-filters,.person-performance-details>summary,.person-kpi-details>summary,.person-report-tools>summary,.person-performance-details>summary>svg,.person-kpi-details>summary>svg,.person-report-tools>summary>svg{transition:none!important}}
.person-day-timing .pre-visit{grid-column:auto}
/* Compact evidence gallery with explicit loading and missing-file states. */
.today-evidence-hero{padding:16px;border-color:var(--border);background:var(--surface)}
.today-evidence-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.today-evidence-photo,.today-evidence-photo img,.today-evidence-photo>span{width:100%;height:118px;min-height:118px}
.today-evidence-photo{border:1px solid var(--border);border-radius:13px;background:#edf2f5;box-shadow:none}
.today-evidence-photo[aria-busy="true"]>span{color:#526774;background:linear-gradient(100deg,#edf2f5 25%,#f8fafb 42%,#edf2f5 60%);background-size:300% 100%;animation:evidence-loading 1.3s ease-in-out infinite}
.today-evidence-photo img{display:block;object-fit:cover}
.today-evidence-photo.is-unavailable{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;color:#6b7c87;border-style:dashed;background:#f6f8f9;cursor:default}
.today-evidence-photo.is-unavailable>svg{flex:0 0 auto;width:24px;height:24px;color:#8a5b62}
.today-evidence-photo.is-unavailable>span{display:block;width:auto;height:auto;min-height:0;text-align:left;color:inherit}
.today-evidence-photo.is-unavailable strong,.today-evidence-photo.is-unavailable small{display:block}
.today-evidence-photo.is-unavailable strong{color:#3d4f5a;font-size:11px}
.today-evidence-photo.is-unavailable small{margin-top:3px;color:#71818b;font-size:9px;line-height:1.35}
.today-evidence-photo.is-unavailable em{display:none}
@keyframes evidence-loading{0%{background-position:100% 0}100%{background-position:0 0}}
@media(max-width:720px){.today-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.today-evidence-photo,.today-evidence-photo img,.today-evidence-photo>span{height:104px;min-height:104px}.today-evidence-photo.is-unavailable>span{height:auto;min-height:0}.today-evidence-photo.is-unavailable small{display:none}}
@media(max-width:360px){.today-evidence-grid{grid-template-columns:1fr}.today-evidence-photo,.today-evidence-photo img,.today-evidence-photo>span{height:120px;min-height:120px}}
@media(prefers-reduced-motion:reduce){.today-evidence-photo[aria-busy="true"]>span{animation:none}}


/* Accessible zoom and rotation controls for full-resolution visit evidence. */
.evidence-lightbox-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px}
.evidence-viewer-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.evidence-viewer-tools button{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.08);cursor:pointer;touch-action:manipulation;transition:background .18s ease,border-color .18s ease}
.evidence-viewer-tools button svg{width:21px;height:21px;stroke-width:1.9}
.evidence-viewer-tools button span{color:inherit;font-weight:800}
.evidence-viewer-tools button:hover,.evidence-viewer-tools button:focus-visible{border-color:#8ddcc6;background:rgba(141,220,198,.16);outline:3px solid rgba(141,220,198,.2);outline-offset:1px}
.evidence-viewer-tools button:disabled{opacity:.38;cursor:not-allowed}
.evidence-zoom-value{min-width:48px;color:#dce8ee!important;font-size:11px!important;font-variant-numeric:tabular-nums;text-align:center}
.evidence-lightbox-stage{touch-action:none;overscroll-behavior:contain;cursor:zoom-in}
.evidence-lightbox-stage img{transform-origin:center;transition:transform .2s ease;will-change:transform;user-select:none;-webkit-user-drag:none}
.evidence-lightbox-footer>div small{color:#86a0b0;font-size:9px}
@media(max-width:700px){.evidence-lightbox-header{grid-template-columns:1fr}.evidence-viewer-tools{justify-content:center}.evidence-viewer-tools button{flex:0 0 44px;padding:0}.evidence-viewer-tools button span{display:none}.evidence-zoom-value{min-width:42px}.evidence-lightbox-stage{padding:8px}}
@media(max-width:390px){.evidence-viewer-tools{gap:6px}.evidence-viewer-tools button{flex-basis:42px;width:42px;min-width:42px;height:42px}.evidence-zoom-value{min-width:38px}}
@media(orientation:landscape) and (max-height:560px){.evidence-lightbox-header{grid-template-columns:minmax(0,1fr) auto;padding-block:7px!important}.evidence-viewer-tools button{width:40px;min-width:40px;height:40px}.evidence-lightbox-stage{padding:6px}}
@media(prefers-reduced-motion:reduce){.evidence-lightbox-stage img,.evidence-viewer-tools button{transition:none}}


/* Fleet Map — submitted operational locations only */
.reporting-hub-grid .report-entry.fleet{--entry-tone:#205f7a;--entry-soft:#e8f3f7}
.fleet-shell{display:grid;gap:16px}.fleet-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;border-radius:18px;background:#102f4a;color:#fff}.fleet-head h2{margin:4px 0;font-size:clamp(24px,3vw,36px)}.fleet-head p{margin:0;color:#dce9f1}.fleet-privacy{display:flex;align-items:center;gap:10px;min-width:230px;padding:12px 14px;border:1px solid #ffffff2b;border-radius:12px;background:#ffffff0d}.fleet-privacy svg{width:24px}.fleet-privacy span{display:grid}.fleet-privacy small{color:#c5d8e4}.fleet-toolbar{display:grid;grid-template-columns:minmax(170px,240px) minmax(220px,1fr) auto;gap:12px;padding:16px;border:1px solid var(--line,#d7e1e8);border-radius:16px;background:var(--surface,#fff)}.fleet-toolbar label{display:grid;gap:6px}.fleet-toolbar label>span{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--muted,#5f7280)}.fleet-toolbar input,.fleet-toolbar select{min-height:48px;padding:0 14px;border:1px solid var(--line,#cbd8e1);border-radius:10px;background:var(--surface,#fff);color:inherit;font:inherit}.fleet-toolbar button{align-self:end;min-height:48px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;background:#9f171b;color:#fff;font-weight:800;cursor:pointer}.fleet-toolbar button svg{width:20px}.fleet-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line,#d7e1e8);border-radius:16px;overflow:hidden;background:var(--surface,#fff)}.fleet-summary span{display:grid;gap:3px;padding:16px;border-right:1px solid var(--line,#d7e1e8)}.fleet-summary span:last-child{border:0}.fleet-summary strong{font-size:24px;color:var(--ink,#102f4a)}.fleet-summary small{color:var(--muted,#5f7280)}.fleet-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:16px;min-height:560px}.fleet-map-wrap,.fleet-route-list{border:1px solid var(--line,#d7e1e8);border-radius:16px;background:var(--surface,#fff);overflow:hidden}.fleet-map-wrap{position:relative}.fleet-map-wrap #fleetMap{height:100%;min-height:560px;background:#e8eff3}.fleet-map-note{position:absolute;z-index:500;left:12px;bottom:12px;right:12px;display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(16,47,74,.94);color:#fff;box-shadow:0 8px 28px #102f4a33}.fleet-map-note svg{width:22px;flex:0 0 auto}.fleet-map-note span{display:grid}.fleet-map-note small{color:#dce9f1}.fleet-route-list{padding:12px;overflow:auto;max-height:650px}.fleet-person-card{border:1px solid var(--line,#d7e1e8);border-radius:14px;overflow:hidden;margin-bottom:12px}.fleet-person-card:last-child{margin-bottom:0}.fleet-person-title{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px;background:var(--soft,#f3f7f9)}.fleet-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#102f4a;color:#fff;font-size:12px;font-weight:900}.fleet-person-title>span:nth-child(2){display:grid}.fleet-person-title small,.fleet-person-title em{font-size:12px;color:var(--muted,#5f7280);font-style:normal}.fleet-person-title em{white-space:nowrap}.fleet-timeline{list-style:none;margin:0;padding:6px 12px}.fleet-timeline li{position:relative;display:grid;grid-template-columns:28px 1fr 44px;gap:10px;align-items:center;min-height:68px;padding:8px 0}.fleet-timeline li:not(:last-child)::after{content:"";position:absolute;left:13px;top:47px;bottom:-8px;width:2px;background:#d5e0e7}.fleet-sequence{z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#205f7a;color:#fff;font-size:11px;font-weight:900}.fleet-timeline .day-start .fleet-sequence{background:#08745b}.fleet-timeline .day-close .fleet-sequence{background:#9f171b}.fleet-timeline li>div{display:grid;min-width:0}.fleet-timeline b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-timeline small{color:var(--muted,#5f7280)}.fleet-timeline button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line,#d7e1e8);border-radius:10px;background:var(--surface,#fff);color:#205f7a;cursor:pointer}.fleet-timeline button svg{width:20px}.fleet-map-marker-wrap{background:transparent;border:0}.fleet-map-marker{display:grid;place-items:center;width:34px;height:34px;border:3px solid #fff;border-radius:50%;background:var(--route-color);color:#fff;font-size:12px;font-weight:900;box-shadow:0 3px 12px #102f4a66}.fleet-map-marker.latest{outline:4px solid #ffffffb8}.leaflet-popup-content{line-height:1.55}.leaflet-control a{min-width:44px;min-height:44px;line-height:44px!important}
@media(max-width:800px){.fleet-head{align-items:flex-start;flex-direction:column;padding:18px}.fleet-privacy{width:100%;min-width:0}.fleet-toolbar{grid-template-columns:1fr}.fleet-toolbar button{width:100%}.fleet-summary{grid-template-columns:1fr 1fr}.fleet-summary span:nth-child(2){border-right:0}.fleet-summary span:nth-child(-n+2){border-bottom:1px solid var(--line,#d7e1e8)}.fleet-workspace{grid-template-columns:1fr;min-height:0}.fleet-map-wrap #fleetMap{min-height:420px}.fleet-route-list{max-height:none}.fleet-person-title{grid-template-columns:42px 1fr}.fleet-person-title em{grid-column:2}.fleet-map-note{position:relative;left:auto;right:auto;bottom:auto;border-radius:0}.fleet-timeline b{white-space:normal}}
@media(prefers-reduced-motion:reduce){.leaflet-fade-anim .leaflet-popup{transition:none}}
/* Focused mandatory rows v131 — use the full row width without crowding shop details. */
.person-plan-group .person-mandatory-row{
  grid-template-columns:32px minmax(250px,1.35fr) minmax(210px,1fr) minmax(160px,.72fr) 44px;
  align-items:center;
  gap:16px;
  min-height:92px;
  padding:12px 8px;
}
.person-plan-group .person-mandatory-main{gap:3px}
.person-plan-group .person-mandatory-main>strong{font-size:12px;line-height:1.35}
.person-plan-group .person-mandatory-main>small{font-size:9px;line-height:1.4}
.person-plan-group .person-mandatory-meta small{font-size:8px}
.person-mandatory-support,.person-mandatory-activity{min-width:0;display:grid;align-content:center;gap:8px}
.person-mandatory-support{
  min-height:54px;
  padding-left:16px;
  border-left:1px solid var(--border);
}
.person-plan-group .person-mandatory-salesman{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;margin:0;color:var(--authority)}
.person-plan-group .person-mandatory-salesman>svg{width:16px;height:16px}
.person-plan-group .person-mandatory-salesman>span{display:grid;gap:2px}
.person-plan-group .person-mandatory-salesman small{display:block;color:var(--muted);font-size:7px;letter-spacing:.06em}
.person-plan-group .person-mandatory-salesman strong{font-size:9px;font-weight:800;line-height:1.35}
.person-mandatory-note{display:grid;gap:2px;min-width:0}
.person-mandatory-note>small,.person-mandatory-status-summary>small{color:var(--muted);font-size:7px;font-weight:850;letter-spacing:.06em}
.person-mandatory-note>p{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:8.5px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.person-mandatory-activity{min-height:54px;padding-left:16px;border-left:1px solid var(--border)}
.person-mandatory-status-summary{display:grid;gap:3px}
.person-mandatory-status-summary>strong{color:var(--ink);font-size:10px;line-height:1.3;text-transform:capitalize}
.person-plan-group .person-mandatory-live{width:100%;margin:0;padding:7px 9px}
.person-plan-group .person-mandatory-purpose{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:0;border:0}
.person-plan-group .person-mandatory-open{width:44px;height:44px;display:grid;place-items:center;justify-self:end;color:var(--muted)}
.person-plan-group .person-mandatory-open svg{width:17px;height:17px}

@media(max-width:900px) and (min-width:601px){
  .person-plan-group .person-mandatory-row{grid-template-columns:30px minmax(210px,1.2fr) minmax(170px,.85fr) minmax(145px,.7fr) 44px;gap:10px}
  .person-mandatory-support,.person-mandatory-activity{padding-left:10px}
}
@media(max-width:600px){
  .person-plan-group .person-mandatory-row{
    grid-template-columns:30px minmax(0,1fr) 44px;
    grid-template-rows:auto auto auto;
    align-items:start;
    gap:8px 10px;
    min-height:0;
    padding:11px 4px;
  }
  .person-plan-group .person-mandatory-main{grid-column:2;grid-row:1}
  .person-plan-group .person-mandatory-open{grid-column:3;grid-row:1;align-self:center}
  .person-plan-group .person-mandatory-activity{grid-column:2/4;grid-row:2;min-height:0;padding:0;border:0}
  .person-plan-group .person-mandatory-support{grid-column:2/4;grid-row:3;min-height:0;padding:8px 0 0;border:0;border-top:1px solid var(--border)}
  .person-plan-group .person-mandatory-salesman{grid-template-columns:16px minmax(0,1fr)}
  .person-plan-group .person-mandatory-live{max-width:260px}
}
@media(prefers-reduced-motion:reduce){.person-plan-group .person-mandatory-row{transition:none}}

.fleet-map-marker.person-point{width:40px;height:40px;font-size:11px;letter-spacing:.02em}.fleet-map-marker.route-point{width:38px;height:38px}.fleet-overview-head{display:grid;gap:3px;padding:10px 8px 14px}.fleet-overview-head strong{font-size:15px}.fleet-overview-head small{color:var(--muted,#5f7280)}.fleet-overview-person{width:100%;min-height:68px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 20px;gap:10px;align-items:center;padding:10px 8px;border:0;border-top:1px solid var(--line,#d7e1e8);background:transparent;color:inherit;text-align:left;cursor:pointer}.fleet-overview-person:hover,.fleet-overview-person:focus-visible{background:var(--soft,#f3f7f9)}.fleet-overview-person>span:nth-child(2){display:grid;min-width:0}.fleet-overview-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted,#5f7280)}.fleet-overview-person em{color:var(--muted,#5f7280);font-size:11px;font-style:normal;white-space:nowrap}.fleet-overview-person>svg{width:18px}.leaflet-tooltip{font-weight:750;border:0;border-radius:8px;box-shadow:0 4px 18px #102f4a2e}
@media(max-width:560px){.fleet-overview-person{grid-template-columns:42px minmax(0,1fr) 18px}.fleet-overview-person em{grid-column:2}.fleet-overview-person>svg{grid-column:3;grid-row:1/3}}

.fleet-summary .fleet-quality-warning{background:#fff5e8}.fleet-summary .fleet-quality-warning strong,.fleet-summary .fleet-quality-warning small{color:#8a4f0b}[data-theme="dark"] .fleet-summary .fleet-quality-warning{background:#352818}
/* Fleet Visit Pin Reconciliation v107 — one customer pin, exception-only distance warning. */
.fleet-location-alert-banner{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--warning) 38%,var(--border));border-radius:13px;background:var(--warning-soft);color:var(--ink)}
.fleet-location-alert-banner>svg{width:22px;height:22px;place-self:center;color:var(--warning)}
.fleet-location-alert-banner>span{display:grid;gap:2px}.fleet-location-alert-banner strong{font-size:12px}.fleet-location-alert-banner small{color:var(--muted);font-size:10px;line-height:1.45}
.fleet-summary .fleet-location-warning{background:var(--warning-soft)}.fleet-summary .fleet-location-warning strong,.fleet-summary .fleet-location-warning small{color:var(--warning)}
.fleet-person-title em.has-alert{padding:4px 7px;border-radius:7px;background:var(--warning-soft);color:var(--warning);font-weight:850}
.fleet-timeline li.has-location-alert{margin:4px -6px;padding:10px 6px;border:1px solid color-mix(in srgb,var(--warning) 36%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--warning-soft) 72%,var(--surface))}
.fleet-visit-times{display:flex;flex-wrap:wrap;gap:3px 9px;margin-top:2px}.fleet-visit-times>span{white-space:nowrap}.fleet-visit-times>span+span:before{margin-right:9px;color:var(--subtle);content:'·'}
.fleet-visit-location-alert{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:7px;margin-top:7px;padding:7px 8px;border-radius:8px;background:var(--surface);color:var(--warning)}
.fleet-visit-location-alert>svg{width:18px;height:18px}.fleet-visit-location-alert>span{display:grid;gap:1px}.fleet-visit-location-alert strong{font-size:10px}.fleet-visit-location-alert small{color:var(--muted);font-size:9px}
.fleet-map-marker.location-alert{outline:4px solid color-mix(in srgb,var(--warning) 56%,transparent)}
.fleet-map-marker.location-alert:after{position:absolute;top:-8px;right:-8px;width:18px;height:18px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--warning);color:#fff;font-size:10px;font-weight:950;content:'!'}
.fleet-popup-alert{color:#8a4f0b}.fleet-overview-person.has-location-alerts{box-shadow:inset 3px 0 0 var(--warning)}.fleet-overview-person.has-location-alerts small{color:var(--warning);font-weight:750}
[data-theme="dark"] .fleet-location-alert-banner,[data-theme="dark"] .fleet-summary .fleet-location-warning,[data-theme="dark"] .fleet-person-title em.has-alert{background:#352818}[data-theme="dark"] .fleet-popup-alert{color:#f2bd66}
@media(max-width:560px){.fleet-location-alert-banner{grid-template-columns:30px minmax(0,1fr);padding:10px 11px}.fleet-visit-times{display:grid;gap:2px}.fleet-visit-times>span+span:before{display:none}.fleet-timeline li.has-location-alert{margin-inline:-4px}}

/* Fleet timeline labels: explicit action, full customer, exact UAE time */
.fleet-timeline li{align-items:start;padding:11px 0}.fleet-timeline li>div{gap:3px}.fleet-timeline li>div>strong{color:#205f7a;font-size:11px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.fleet-timeline b{overflow:visible;white-space:normal;text-overflow:clip;font-size:13px;line-height:1.35;word-break:break-word}.fleet-timeline small{display:flex;flex-wrap:wrap;gap:4px;font-size:11px}.fleet-timeline time{color:var(--ink,#102f4a);font-weight:750}.fleet-timeline li:not(:last-child)::after{top:51px}.leaflet-popup-content{max-width:280px;white-space:normal;word-break:break-word}
/* Fleet Map route legs v108 — actionable Google Maps links and stop-to-stop metrics. */
.fleet-google-link{display:inline-flex;align-items:center;gap:6px;width:max-content;min-height:44px;margin-top:5px;padding:0 10px;border:1px solid color-mix(in srgb,#205f7a 28%,var(--border));border-radius:9px;background:color-mix(in srgb,#205f7a 7%,var(--surface));color:#205f7a;font-size:11px;font-weight:850;text-decoration:none}.fleet-google-link:hover,.fleet-google-link:focus-visible{border-color:#205f7a;background:color-mix(in srgb,#205f7a 13%,var(--surface))}.fleet-google-link svg{width:17px;height:17px}
.fleet-timeline .fleet-travel-segment{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;margin:1px 0 3px 34px;padding:7px 8px;border:1px solid color-mix(in srgb,#205f7a 14%,var(--border));border-radius:10px;background:color-mix(in srgb,#205f7a 5%,var(--surface))}.fleet-timeline .fleet-travel-segment:after{display:none}.fleet-travel-route{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,#205f7a 10%,var(--surface));color:#205f7a}.fleet-travel-route svg{width:17px;height:17px}.fleet-travel-segment>span:nth-child(2){display:grid;gap:2px;min-width:0}.fleet-travel-segment>span:nth-child(2)>small{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.fleet-travel-segment>span:nth-child(2)>strong{display:flex;flex-wrap:wrap;gap:6px 16px}.fleet-travel-segment>span:nth-child(2)>strong>span{display:grid;gap:1px;white-space:nowrap}.fleet-travel-segment>span:nth-child(2)>strong b{font-size:12px}.fleet-travel-segment>span:nth-child(2)>strong small{color:var(--muted);font-size:8px;font-weight:700}.fleet-travel-segment>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 9px;border-radius:8px;color:#205f7a;font-size:10px;font-weight:850;text-decoration:none}.fleet-travel-segment>a:hover,.fleet-travel-segment>a:focus-visible{background:color-mix(in srgb,#205f7a 10%,var(--surface))}.fleet-popup-google{display:inline-flex;align-items:center;min-height:36px;margin-top:5px;color:#205f7a;font-weight:850;text-decoration:underline;text-underline-offset:3px}
[data-theme="dark"] .fleet-google-link,[data-theme="dark"] .fleet-travel-segment{color:#92cbe0}[data-theme="dark"] .fleet-travel-route,[data-theme="dark"] .fleet-travel-segment>a,[data-theme="dark"] .fleet-popup-google{color:#92cbe0}
@media(max-width:560px){.fleet-timeline .fleet-travel-segment{grid-template-columns:30px minmax(0,1fr);margin-left:26px}.fleet-travel-segment>a{grid-column:2;justify-content:flex-start;width:max-content;padding-inline:0 10px}.fleet-google-link{width:100%;justify-content:center}}
/* Fleet Customer 360 v109 — direct KPI and customer detail access from every store stop. */
.fleet-stop-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.fleet-stop-actions .fleet-google-link{margin-top:0}.fleet-customer-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:5px 10px;border:0;border-radius:9px;background:#9f171b;color:#fff;font:inherit;text-align:left;cursor:pointer}.fleet-customer-link:hover,.fleet-customer-link:focus-visible{background:#821216}.fleet-customer-link>svg{width:17px;height:17px;flex:0 0 auto}.fleet-customer-link>span{display:grid;gap:0}.fleet-customer-link strong{font-size:10px}.fleet-customer-link small{color:#fff;font-size:8px;opacity:.85}
.fleet-popup-customer{width:100%;min-height:44px;display:flex;align-items:center;gap:7px;margin-top:7px;padding:6px 9px;border:0;border-radius:8px;background:#9f171b;color:#fff;font:inherit;text-align:left;cursor:pointer}.fleet-popup-customer:hover,.fleet-popup-customer:focus-visible{background:#821216}.fleet-popup-customer>svg{width:17px;height:17px;flex:0 0 auto}.fleet-popup-customer>span{display:grid;font-size:11px;font-weight:850}.fleet-popup-customer small{color:#fff;font-size:8px;font-weight:650;opacity:.84}
[data-theme="dark"] .fleet-customer-link,[data-theme="dark"] .fleet-popup-customer{background:#c92a31}.fleet-customer-link:focus-visible,.fleet-popup-customer:focus-visible{outline:3px solid color-mix(in srgb,#9f171b 32%,transparent);outline-offset:2px}
@media(max-width:560px){.fleet-stop-actions{display:grid;grid-template-columns:1fr 1fr}.fleet-stop-actions .fleet-google-link,.fleet-customer-link{width:100%;justify-content:center}.fleet-customer-link{text-align:center}}
/* Polished branded SKU approval */
.sku-baseline-modal .sku-expectation{position:relative;margin:14px 0;padding:15px 17px 15px 20px;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,var(--surface-raised),color-mix(in srgb,var(--brand-soft),var(--surface-raised) 72%));box-shadow:none}.sku-baseline-modal .sku-expectation::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--brand)}
.sku-baseline-modal .baseline-confirmation,.sku-baseline-modal .baseline-confirmation.ready{position:relative;margin-top:14px;padding:0 18px 18px;overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface-raised);box-shadow:0 14px 36px rgba(12,41,66,.08)}.sku-baseline-modal .baseline-confirmation::before{content:"";display:block;height:5px;margin:0 -18px 17px;background:linear-gradient(90deg,var(--brand),var(--brand-strong) 55%,var(--authority))}
.sku-baseline-modal .baseline-confirmation-brand{width:58px;height:58px;flex-basis:58px;border:1px solid color-mix(in srgb,var(--brand),transparent 78%);border-radius:16px;box-shadow:0 6px 18px rgba(173,23,48,.12)}.sku-baseline-modal .baseline-confirmation-head h3{color:var(--text);font-size:19px;letter-spacing:-.025em}.sku-baseline-modal .baseline-confirmation-head p{color:var(--muted);font-size:12px}
.sku-baseline-modal .baseline-product-list{max-height:330px;border-radius:16px}.sku-baseline-modal .baseline-product-list li{min-height:52px;padding:9px 12px}.sku-baseline-modal .baseline-product-list li:nth-child(even){background:color-mix(in srgb,var(--authority-soft),transparent 58%)}.sku-baseline-modal .baseline-product-number{border-radius:50%}
.sku-baseline-modal .baseline-photo-reminder{min-height:66px;border-radius:16px;background:linear-gradient(135deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft),var(--surface-raised) 60%))}.sku-baseline-modal .baseline-acknowledgement{min-height:70px;align-items:center;border:1px solid color-mix(in srgb,var(--authority),transparent 72%);background:color-mix(in srgb,var(--authority-soft),var(--surface-raised) 58%)}.sku-baseline-modal .baseline-acknowledgement:has(input:checked){border-color:var(--success);background:var(--success-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--success),transparent 86%)}
/* Fleet Timeline Clarity v115 — compact map actions and readable mobile route hierarchy. */
.fleet-timeline>li:not(.fleet-travel-segment){
  grid-template-columns:28px minmax(0,1fr) 44px;
  column-gap:10px;
  align-items:start;
}
.fleet-stop-map-actions{
  display:grid;
  grid-template-columns:44px;
  gap:8px;
  align-content:start;
}
.fleet-timeline .fleet-stop-map-actions>button,
.fleet-timeline .fleet-stop-map-actions>a{
  box-sizing:border-box;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  color:#205f7a;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
  text-decoration:none;
  cursor:pointer;
}
.fleet-timeline .fleet-stop-map-actions>button:hover,
.fleet-timeline .fleet-stop-map-actions>a:hover{
  border-color:color-mix(in srgb,#205f7a 48%,var(--border));
  background:color-mix(in srgb,#205f7a 7%,var(--surface));
}
.fleet-timeline .fleet-stop-map-actions>button:focus-visible,
.fleet-timeline .fleet-stop-map-actions>a:focus-visible,
.fleet-timeline .fleet-customer-link:focus-visible,
.fleet-timeline .fleet-directions-link:focus-visible{
  outline:3px solid color-mix(in srgb,var(--focus) 30%,transparent);
  outline-offset:2px;
}
.fleet-stop-map-actions>button svg{width:20px;height:20px}
.fleet-stop-map-actions>.fleet-google-link svg,
.fleet-directions-link svg{width:20px;height:20px}
.fleet-timeline .fleet-customer-link{
  box-sizing:border-box;
  width:max-content;
  max-width:100%;
  min-width:0;
  height:44px;
  min-height:44px;
  display:grid;
  grid-template-columns:18px minmax(0,auto) 14px;
  align-items:center;
  gap:7px;
  margin-top:8px;
  padding:0 10px;
  color:#205f7a;
  border:1px solid color-mix(in srgb,#205f7a 22%,var(--border));
  border-radius:10px;
  background:color-mix(in srgb,#205f7a 5%,var(--surface));
  font:inherit;
  font-size:10px;
  font-weight:850;
  line-height:1.2;
  text-align:left;
  cursor:pointer;
}
.fleet-timeline .fleet-customer-link:hover{
  color:#174b62;
  border-color:color-mix(in srgb,#205f7a 45%,var(--border));
  background:color-mix(in srgb,#205f7a 10%,var(--surface));
}
.fleet-timeline .fleet-customer-link>svg{width:17px;height:17px}
.fleet-timeline .fleet-customer-link>svg:last-child{width:13px;height:13px;color:var(--muted)}
.fleet-timeline .fleet-customer-link>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fleet-timeline .fleet-travel-segment{
  grid-template-columns:30px minmax(0,1fr) 44px;
  gap:9px;
  min-height:64px;
  margin:3px 0 5px 34px;
  padding:9px;
}
.fleet-travel-segment>span:nth-child(2)>small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fleet-travel-segment>span:nth-child(2)>strong{gap:8px 18px}
.fleet-travel-segment>span:nth-child(2)>strong>span{min-width:58px}
.fleet-timeline .fleet-directions-link{
  box-sizing:border-box;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  display:grid;
  place-items:center;
  align-self:center;
  margin:0;
  padding:0;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
}
[data-theme="dark"] .fleet-timeline .fleet-stop-map-actions>button,
[data-theme="dark"] .fleet-timeline .fleet-stop-map-actions>a,
[data-theme="dark"] .fleet-timeline .fleet-directions-link{
  background:var(--surface);
  border-color:var(--border);
}
[data-theme="dark"] .fleet-timeline .fleet-customer-link{
  color:#92cbe0;
  background:color-mix(in srgb,#205f7a 18%,var(--surface));
  border-color:color-mix(in srgb,#92cbe0 28%,var(--border));
}
@media(max-width:560px){
  .fleet-timeline{padding-inline:10px}
  .fleet-timeline>li:not(.fleet-travel-segment){column-gap:8px;padding-block:12px}
  .fleet-timeline b{font-size:12px;line-height:1.42}
  .fleet-timeline li>div>strong{font-size:10px}
  .fleet-timeline .fleet-customer-link{width:max-content;max-width:100%;justify-content:start;text-align:left}
  .fleet-timeline .fleet-travel-segment{
    grid-template-columns:30px minmax(0,1fr) 44px;
    grid-column:auto;
    gap:8px;
    margin:3px 0 5px 26px;
    padding:8px;
  }
  .fleet-travel-segment>a{grid-column:auto;width:44px;padding:0}
  .fleet-travel-segment>span:nth-child(2)>strong{gap:7px 13px}
  .fleet-travel-segment>span:nth-child(2)>strong>span{min-width:50px}
  .fleet-travel-segment>span:nth-child(2)>strong b{font-size:11px}
}
@media(max-width:360px){
  .fleet-timeline{padding-inline:8px}
  .fleet-timeline>li:not(.fleet-travel-segment){grid-template-columns:28px minmax(0,1fr) 44px;column-gap:7px}
  .fleet-timeline .fleet-travel-segment{margin-left:24px;gap:7px;padding-inline:7px}
  .fleet-travel-segment>span:nth-child(2)>strong{gap:5px 9px}
}
@media(prefers-reduced-motion:reduce){
  .fleet-timeline .fleet-stop-map-actions>button,
  .fleet-timeline .fleet-stop-map-actions>a,
  .fleet-timeline .fleet-customer-link,
  .fleet-timeline .fleet-directions-link{transition:none}
}

/* Fleet Timeline Direct Detail v116 — customer name is the action; each route leg stays on one line. */
.fleet-timeline .fleet-customer-name{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:auto;
  min-height:44px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 14px;
  align-items:center;
  gap:6px;
  margin:0;
  padding:3px 2px 3px 0;
  color:var(--ink);
  border:0;
  border-radius:8px;
  background:transparent;
  font:inherit;
  font-size:13px;
  font-weight:850;
  line-height:1.38;
  text-align:left;
  justify-items:start;
  cursor:pointer;
  touch-action:manipulation;
}
.fleet-timeline .fleet-customer-name>span{min-width:0;overflow-wrap:anywhere}
.fleet-timeline .fleet-customer-name>svg{width:14px;height:14px;color:var(--muted)}
.fleet-timeline .fleet-customer-name:hover{color:#205f7a;background:color-mix(in srgb,#205f7a 6%,transparent)}
.fleet-timeline .fleet-customer-name:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 30%,transparent);outline-offset:2px}
.fleet-timeline .fleet-travel-segment{
  grid-template-columns:30px auto minmax(0,1fr) 44px;
  align-items:center;
  gap:8px;
  min-height:60px;
  margin:2px 0 4px 34px;
  padding:7px 8px;
}
.fleet-timeline .fleet-travel-label{
  display:block;
  color:var(--muted);
  font-size:9px;
  font-weight:850;
  letter-spacing:.03em;
  white-space:nowrap;
}
.fleet-timeline .fleet-travel-metrics{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  white-space:nowrap;
}
.fleet-timeline .fleet-travel-metrics>b{
  color:var(--ink);
  font-size:11px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
}
[data-theme="dark"] .fleet-timeline .fleet-customer-name:hover{color:#92cbe0;background:color-mix(in srgb,#92cbe0 8%,transparent)}
@media(max-width:560px){
  .fleet-timeline .fleet-customer-name{font-size:12px;line-height:1.42}
  .fleet-timeline .fleet-travel-segment{
    grid-template-columns:28px auto minmax(0,1fr) 44px;
    gap:7px;
    min-height:58px;
    margin:2px 0 4px 26px;
    padding:7px;
  }
  .fleet-timeline .fleet-travel-route{width:28px;height:28px}
  .fleet-timeline .fleet-travel-label{font-size:8.5px}
  .fleet-timeline .fleet-travel-metrics{gap:9px}
  .fleet-timeline .fleet-travel-metrics>b{font-size:10px}
}
@media(max-width:360px){
  .fleet-timeline .fleet-travel-segment{grid-template-columns:26px auto minmax(0,1fr) 44px;gap:6px;margin-left:23px;padding-inline:6px}
  .fleet-timeline .fleet-travel-route{width:26px;height:26px}
  .fleet-timeline .fleet-travel-metrics{gap:6px}
  .fleet-timeline .fleet-travel-metrics>b{font-size:9.5px}
}
@media(prefers-reduced-motion:reduce){.fleet-timeline .fleet-customer-name{transition:none}}
/* SKU audit product disclosure v1 */
.baseline-audit{border-color:var(--border);background:var(--surface)}
.baseline-audit-heading{border-color:var(--border)}
.baseline-audit-heading h3{color:var(--ink)}
.baseline-audit-heading p{color:var(--muted)}
.baseline-audit-heading>span{color:var(--ink);border:1px solid var(--border);background:var(--canvas)}
.baseline-audit-event{border-color:var(--border);background:var(--surface-raised);box-shadow:none}
.baseline-audit-copy p,.baseline-audit-copy time{color:var(--muted)}
.baseline-audit-copy{min-width:0}
.baseline-audit-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.baseline-audit-event-head>strong{color:var(--ink);font-size:14px;line-height:1.35}
.baseline-audit-event-head time{flex:0 0 auto;font-variant-numeric:tabular-nums}
.baseline-audit-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.baseline-audit-counts span{display:grid;gap:2px;min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:11px;background:var(--canvas)}
.baseline-audit-counts small{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.baseline-audit-counts strong{overflow-wrap:anywhere;color:var(--ink);font-size:13px;line-height:1.3}
.baseline-audit-delta{display:block;grid-template-columns:none;gap:0;margin-top:12px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised);font-size:12px}
.baseline-audit-delta.added{border-left:4px solid var(--accent)}
.baseline-audit-delta.removed{border-left:4px solid var(--danger)}
.baseline-audit-delta>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:10px 12px;cursor:pointer;list-style:none;touch-action:manipulation}
.baseline-audit-delta>summary::-webkit-details-marker{display:none}
.baseline-audit-delta>summary:hover{background:color-mix(in srgb,var(--accent-soft),transparent 56%)}
.baseline-audit-delta.removed>summary:hover{background:color-mix(in srgb,var(--danger-soft),transparent 56%)}
.baseline-audit-delta>summary:focus-visible{outline:3px solid color-mix(in srgb,var(--focus),transparent 55%);outline-offset:-3px}
.baseline-audit-delta-title{display:grid;gap:3px;min-width:0}
.baseline-audit-delta-title>strong,.baseline-audit-delta-head strong{color:var(--ink);font-size:13px;line-height:1.35}
.baseline-audit-delta-title>small,.baseline-audit-delta-head small{color:var(--muted);font-size:10px;line-height:1.4}
.baseline-audit-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin-top:7px}
.baseline-audit-preview>span{display:flex;align-items:baseline;gap:5px;min-width:0}
.baseline-audit-preview b{flex:0 0 auto;color:var(--muted);font-size:9px;font-weight:800;font-variant-numeric:tabular-nums}
.baseline-audit-preview code{overflow:hidden;color:var(--ink);font-family:inherit;font-size:10px;font-weight:750;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.baseline-audit-preview em{grid-column:1/-1;color:var(--muted);font-size:10px;font-style:normal;font-weight:750}
.baseline-audit-toggle{display:flex;align-items:center;justify-content:center;gap:6px;min-width:108px;min-height:44px;padding:0 10px;border:1px solid var(--border);border-radius:10px;color:var(--accent-strong);background:var(--surface);font-size:10px;font-weight:800}
.baseline-audit-delta.removed .baseline-audit-toggle{color:var(--danger)}
.baseline-audit-toggle svg{width:16px;height:16px;transition:transform .2s ease}
.baseline-audit-toggle .hide-label{display:none}
.baseline-audit-delta[open] .baseline-audit-toggle .show-label{display:none}
.baseline-audit-delta[open] .baseline-audit-toggle .hide-label{display:inline}
.baseline-audit-delta[open] .baseline-audit-toggle svg{transform:rotate(90deg)}
.baseline-audit-delta[open] .baseline-audit-preview{display:none}
.baseline-audit-delta-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 12px}
.baseline-audit-delta-head>span{display:grid;gap:2px}
.baseline-audit-delta-head>em{color:var(--muted);font-size:10px;font-style:normal;font-weight:750}
.baseline-audit-sku-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;margin:0;padding:4px 12px 8px;border-top:1px solid var(--border);list-style:none}
.baseline-audit-sku-list li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:44px;padding:6px 0;border-bottom:1px solid var(--border)}
.baseline-audit-serial{color:var(--muted);font-size:9px;font-weight:800;font-variant-numeric:tabular-nums}
.baseline-audit-sku-list code{min-width:0;color:var(--ink);font-family:inherit;font-size:11px;font-weight:800;overflow-wrap:anywhere}
[data-theme="dark"] .baseline-audit{--surface:#101f2b;--surface-raised:#152735;--canvas:#08131d;--border:#294050;--ink:#f1f6f9;--muted:#b1c0cb;--accent:#83dec5;--accent-strong:#83dec5;--accent-soft:#153a32;--danger:#ff968d;--danger-soft:#3d211f}
[data-theme="dark"] .baseline-audit,[data-theme="dark"] .baseline-audit-event,[data-theme="dark"] .baseline-audit-delta{box-shadow:none}
@media(max-width:430px){.baseline-audit{padding:13px}.baseline-audit-event{grid-template-columns:32px minmax(0,1fr);padding:11px;gap:9px}.baseline-audit-index{width:32px;height:32px}.baseline-audit-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.baseline-audit-counts>span:last-child{grid-column:1/-1}.baseline-audit-delta>summary{grid-template-columns:minmax(0,1fr);gap:8px}.baseline-audit-toggle{width:100%;min-width:0}.baseline-audit-sku-list{padding-inline:10px}}
@media(max-width:340px){.baseline-audit-event{grid-template-columns:1fr}.baseline-audit-event-head{display:grid}.baseline-audit-sku-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.baseline-audit-toggle svg{transition:none}}
/* Initial SKU integrity control v124 */
.sku-empty-reason{display:grid;gap:10px;margin-top:12px;padding:14px;border:1px solid color-mix(in srgb,var(--warning) 48%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--warning-soft) 42%,var(--surface))}
.sku-empty-reason label{display:grid;gap:3px;color:var(--ink)}
.sku-empty-reason label strong{font-size:13px;line-height:1.35}
.sku-empty-reason label small,.sku-empty-reason p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.sku-empty-reason select{box-sizing:border-box;width:100%;min-height:48px;padding:0 40px 0 12px;border:1px solid var(--border-strong,var(--border));border-radius:11px;color:var(--ink);background:var(--surface);font:inherit;font-size:13px;font-weight:750}
.sku-empty-reason select:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 38%,transparent);outline-offset:2px}
.baseline-integrity-alert{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;margin:14px 0;padding:12px;border:1px solid color-mix(in srgb,var(--warning) 50%,var(--border));border-radius:14px;color:var(--ink);background:color-mix(in srgb,var(--warning-soft) 48%,var(--surface))}
.baseline-integrity-alert>svg{width:22px;height:22px;color:var(--warning)}
.baseline-integrity-alert>span{display:grid;gap:3px;min-width:0}
.baseline-integrity-alert strong{font-size:13px;line-height:1.35}
.baseline-integrity-alert small{color:var(--muted);font-size:11px;line-height:1.45}
.baseline-integrity-alert>em{padding:6px 9px;border-radius:999px;color:var(--warning-strong,var(--ink));background:var(--surface);font-size:10px;font-style:normal;font-weight:850;white-space:nowrap}
.baseline-integrity-alert.critical{border-color:color-mix(in srgb,var(--danger) 58%,var(--border));background:color-mix(in srgb,var(--danger-soft) 54%,var(--surface))}
.baseline-integrity-alert.critical>svg,.baseline-integrity-alert.critical>em{color:var(--danger)}
.baseline-audit-event.empty-record{border-left:4px solid var(--warning)}
.baseline-audit-event.integrity-gap{border-left-color:var(--danger)}
.baseline-empty-detail{display:grid;gap:3px;margin-top:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 42%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--warning-soft) 34%,var(--surface))}
.baseline-empty-detail strong{color:var(--ink);font-size:12px;line-height:1.35}
.baseline-empty-detail span{color:var(--muted);font-size:10px;line-height:1.4}
.baseline-empty-detail.critical{border-color:color-mix(in srgb,var(--danger) 50%,var(--border));background:color-mix(in srgb,var(--danger-soft) 40%,var(--surface))}
[data-theme="dark"] .sku-empty-reason,[data-theme="dark"] .baseline-integrity-alert,[data-theme="dark"] .baseline-empty-detail{background:var(--surface-raised)}
@media(max-width:430px){.baseline-integrity-alert{grid-template-columns:34px minmax(0,1fr)}.baseline-integrity-alert>em{grid-column:2;justify-self:start}.sku-empty-reason{padding:12px}}
@media(prefers-reduced-motion:reduce){.sku-empty-reason select{scroll-behavior:auto}}
/* Shared store SKU availability review */
.sku-availability-list{display:grid;gap:8px;margin-top:12px}.sku-availability-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised)}.sku-availability-row.unavailable{border-color:color-mix(in srgb,var(--warning),var(--border) 62%);background:var(--warning-soft)}.sku-availability-row.new-sku{border-left:4px solid var(--success)}.sku-availability-check{display:grid;place-items:center;width:48px;height:48px;cursor:pointer}.sku-availability-check input{position:absolute;opacity:0;pointer-events:none}.sku-availability-check span{display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--border);border-radius:9px;background:var(--surface);color:transparent;font-size:18px;font-weight:900}.sku-availability-check input:checked+span{border-color:var(--success);background:var(--success);color:#fff}.sku-availability-check:has(input:focus-visible) span{outline:3px solid color-mix(in srgb,var(--focus),transparent 55%);outline-offset:2px}.sku-availability-copy{display:grid;gap:3px;min-width:0}.sku-availability-copy>span{display:flex;align-items:center;gap:6px}.sku-availability-copy b{color:var(--brand);font-size:11px}.sku-availability-copy em{padding:3px 6px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:9px;font-style:normal;font-weight:850}.sku-availability-copy strong{color:var(--ink);font-size:13px;line-height:1.35}.sku-availability-copy small{color:var(--muted);font-size:10px;line-height:1.4}.sku-availability-state{color:var(--success);font-size:10px;font-weight:850;white-space:nowrap}.unavailable .sku-availability-state{color:var(--warning)}.sku-new-remove{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--danger);cursor:pointer}.sku-new-remove svg{width:18px;height:18px}.sku-unavailable-reason{grid-column:2/-1;display:grid;gap:5px}.sku-unavailable-reason span{color:var(--warning);font-size:10px;font-weight:800}.sku-unavailable-reason select{width:100%;min-height:46px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 10px;font:inherit;font-size:16px}.sku-review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.sku-review-summary>div{display:grid;gap:3px;min-width:0;padding:11px 8px;border-right:1px solid var(--border)}.sku-review-summary>div:last-child{border-right:0}.sku-review-summary strong{color:var(--ink);font-size:17px}.sku-review-summary span{color:var(--muted);font-size:9px;line-height:1.25}.sku-reason-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--warning-soft);color:var(--warning);font-size:11px;line-height:1.45}.sku-review-step .sku-search-action{margin-top:10px}.sku-availability-row button,.sku-availability-row label,.sku-availability-row select{touch-action:manipulation}@media(max-width:380px){.sku-availability-row{grid-template-columns:44px minmax(0,1fr)}.sku-availability-state,.sku-new-remove{grid-column:2;justify-self:start}.sku-unavailable-reason{grid-column:1/-1}.sku-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sku-review-summary>div:nth-child(2){border-right:0}.sku-review-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media(prefers-reduced-motion:reduce){.sku-availability-check span{transition:none}}

/* Operational Merchandiser role mode v126 */
.operational-test-banner{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:24px;padding:10px 16px;background:var(--navy,#102f46);color:#fff;box-shadow:0 8px 24px rgba(7,19,29,.16)}
.operational-test-banner.hidden{display:none}
.operational-test-banner>div{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 10px;min-width:0}
.operational-test-banner span{grid-row:1/3;padding:6px 9px;border-radius:8px;background:#f6c453;color:#18232c;font-size:10px;font-weight:900;letter-spacing:.06em}
.operational-test-banner strong{font-size:14px;line-height:1.3}
.operational-test-banner small{color:#d8e3ea;font-size:10px;line-height:1.3}
.operational-test-banner button{min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.4);border-radius:10px;background:#fff;color:#102f46;font:inherit;font-size:12px;font-weight:850;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}
.operational-test-banner button:hover{background:#f2f7fa;border-color:#fff}
.operational-test-banner button:focus-visible,.role-mode-card:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 55%,transparent);outline-offset:3px}
body:has(.operational-test-banner:not(.hidden)) .topbar{position:relative}
#rolePreviewGrid.role-preview-grid:has(.role-mode-switch){grid-template-columns:1fr}
.operational-test-picker{display:grid;width:100%;min-height:112px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}
.role-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.role-mode-card{min-height:112px;padding:15px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--ink);display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.role-mode-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--authority) 55%,var(--border));box-shadow:var(--shadow-sm)}
.role-mode-card>span{width:48px;height:48px;flex:0 0 48px;padding:12px;border-radius:14px;background:var(--surface-soft);color:var(--muted)}
.role-mode-card svg{width:100%;height:100%}
.role-mode-card>div{display:grid;gap:3px;min-width:0}
.role-mode-card small{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.08em}
.role-mode-card strong{font-size:17px;line-height:1.25}
.role-mode-card em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.4}
.role-mode-card.active{border:2px solid var(--authority);background:color-mix(in srgb,var(--authority),transparent 94%)}
.role-mode-card.active>span{background:var(--authority);color:#fff}
.role-mode-card:disabled{cursor:default;opacity:.7}
.role-mode-switch>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;line-height:1.5}
[data-theme="dark"] .operational-test-banner{background:#071b2a;border-bottom:1px solid #294050}
@media(max-width:700px){.operational-test-banner{align-items:stretch;justify-content:space-between;gap:8px;padding:9px 12px}.operational-test-banner>div{grid-template-columns:auto minmax(0,1fr);gap:1px 7px}.operational-test-banner span{padding:5px 7px;font-size:8px}.operational-test-banner strong{font-size:12px}.operational-test-banner small{max-width:210px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.operational-test-banner button{padding:0 12px}.operational-test-picker{padding:13px}}
@media(max-width:600px){.role-mode-switch{grid-template-columns:1fr}.role-mode-card{min-height:96px}.role-mode-switch>p{grid-column:auto}}
@media(max-width:375px){.operational-test-banner strong{font-size:11px}.operational-test-banner small{max-width:145px}.operational-test-banner button{max-width:104px;padding:0 9px;font-size:10px}.role-mode-card{padding:13px}.role-mode-card>span{width:44px;height:44px;flex-basis:44px;padding:11px}}
@media(prefers-reduced-motion:reduce){.operational-test-banner button,.role-mode-card{transition:none}}

/* Evidence annotation + tracked reply attachment v128 */
.evidence-image-shell{position:relative;display:grid;place-items:center;max-width:100%;max-height:100%;transform-origin:center;transition:transform .2s ease;will-change:transform}
.evidence-image-shell>img{grid-area:1/1;transform:none!important;transition:none!important;will-change:auto!important}
.evidence-marker-canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:10px;cursor:crosshair;pointer-events:none;touch-action:none}
.evidence-lightbox-stage{position:relative}
.evidence-lightbox-stage.is-annotating{padding-bottom:90px;cursor:crosshair;overflow:hidden}
.evidence-viewer-tools .evidence-marker-toggle{border-color:rgba(239,35,60,.58);color:#ffb4bd}
.evidence-viewer-tools .evidence-marker-toggle.active{border-color:#ff6879;background:#ef233c;color:#fff;box-shadow:0 0 0 3px rgba(239,35,60,.2)}
.evidence-annotation-bar{position:absolute;z-index:3;right:14px;bottom:14px;left:14px;display:grid;grid-template-columns:minmax(120px,1fr) auto auto auto;align-items:center;gap:8px;max-width:720px;margin:auto;padding:9px;border:1px solid rgba(255,255,255,.17);border-radius:16px;background:rgba(12,24,34,.94);box-shadow:0 14px 36px rgba(0,0,0,.34);backdrop-filter:blur(12px)}
.evidence-annotation-bar>span{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:1px 8px;min-width:0;padding:0 7px}
.evidence-annotation-bar>span i{grid-row:1/3;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#ef233c;box-shadow:0 0 0 2px rgba(239,35,60,.34)}
.evidence-annotation-bar>span strong{color:#fff;font-size:11px;line-height:1.25}
.evidence-annotation-bar>span small{color:#a9bdcb;font-size:9px;line-height:1.25}
.evidence-annotation-bar button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid rgba(255,255,255,.18);border-radius:11px;color:#f7fbff;background:rgba(255,255,255,.07);font:inherit;font-size:10px;font-weight:820;cursor:pointer;touch-action:manipulation;transition:background-color .18s ease,border-color .18s ease}
.evidence-annotation-bar button svg{width:18px;height:18px;flex:0 0 auto}
.evidence-annotation-bar button:hover,.evidence-annotation-bar button:focus-visible{border-color:#8ddcc6;background:rgba(141,220,198,.16);outline:3px solid rgba(141,220,198,.2);outline-offset:1px}
.evidence-annotation-bar button:disabled{opacity:.38;cursor:not-allowed}
.evidence-annotation-bar .annotation-attach{border-color:#8ddcc6;color:#08251f;background:#8ddcc6}
.evidence-annotation-bar .annotation-attach:hover,.evidence-annotation-bar .annotation-attach:focus-visible{background:#a6ead7}
.thread-reply-attachment{margin-top:10px}
.thread-reply-attachment-preview{display:grid;grid-template-columns:68px minmax(0,1fr) 44px;align-items:center;gap:11px;padding:9px;border:1px solid color-mix(in srgb,var(--brand) 34%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--brand-soft) 58%,var(--surface))}
.thread-reply-attachment-preview img{width:68px;height:58px;object-fit:cover;border-radius:10px;background:var(--canvas)}
.thread-reply-attachment-preview>span{display:grid;gap:2px;min-width:0}
.thread-reply-attachment-preview small{color:var(--brand);font-size:8px;font-weight:900;letter-spacing:.09em}
.thread-reply-attachment-preview strong{overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.thread-reply-attachment-preview em{color:var(--muted);font-size:9px;font-style:normal}
.thread-reply-attachment-preview button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border);border-radius:11px;color:var(--danger);background:var(--surface);cursor:pointer;touch-action:manipulation}
.thread-reply-attachment-preview button svg{width:18px;height:18px}
.thread-reply-attachment-preview button:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 45%,transparent);outline-offset:2px}
.inbox-message-attachments{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:8px;margin-top:10px}
.inbox-message-attachment{aspect-ratio:4/3;cursor:zoom-in}
.inbox-message-attachment em{position:absolute;right:6px;bottom:6px;padding:4px 6px;border-radius:7px;color:#fff;background:rgba(3,19,30,.82);font-size:8px;font-style:normal;font-weight:850}
@media(max-width:700px){
  .evidence-viewer-tools{gap:8px}
  .evidence-viewer-tools button{flex-basis:44px}
  .evidence-lightbox-stage.is-annotating{padding-bottom:138px}
  .evidence-annotation-bar{grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px;right:8px;bottom:8px;left:8px;padding:8px}
  .evidence-annotation-bar button{width:44px;padding:0}
  .evidence-annotation-bar button>span{display:none}
  .evidence-annotation-bar .annotation-attach{grid-column:1/-1;width:100%}
  .evidence-annotation-bar .annotation-attach>span{display:inline}
}
@media(max-width:390px){
  .evidence-viewer-tools{gap:8px}
  .evidence-viewer-tools button{flex-basis:44px!important;width:44px!important;min-width:44px!important;height:44px!important}
  .evidence-zoom-value{min-width:34px!important}
  .thread-reply-attachment-preview{grid-template-columns:58px minmax(0,1fr) 44px;gap:8px}
  .thread-reply-attachment-preview img{width:58px;height:52px}
  .inbox-message-attachments{grid-template-columns:1fr}
}
@media(orientation:landscape) and (max-height:560px){
  .evidence-viewer-tools button{width:44px;min-width:44px;height:44px}
  .evidence-viewer-tools button span{display:none}
}
@media(prefers-reduced-motion:reduce){.evidence-image-shell,.evidence-annotation-bar button{transition:none}}

/* Organized Trade · audited post-completion evidence v129 */
.evidence-heading-audited{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.evidence-heading-audited>span{min-width:0}
.evidence-heading-audited>em{flex:0 0 auto;margin-top:3px;padding:5px 8px;border-radius:999px;color:var(--success);background:color-mix(in srgb,var(--success),transparent 90%);font-size:9px;font-style:normal;font-weight:850}
.today-evidence-item{overflow:hidden;min-width:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}
.today-evidence-item.is-post-completion{border-color:color-mix(in srgb,var(--success) 40%,var(--border))}
.today-evidence-item .today-evidence-photo{width:100%;border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none}
.evidence-audit-meta{display:grid;grid-template-columns:1fr;gap:5px;min-height:91px;padding:9px 10px}
.evidence-audit-meta strong,.evidence-audit-meta small,.evidence-audit-meta time{display:flex;align-items:center;gap:6px;min-width:0}
.evidence-audit-meta svg{width:13px;height:13px;flex:0 0 13px}
.evidence-audit-meta strong{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.evidence-audit-meta strong.added{color:var(--success)}
.evidence-audit-meta small,.evidence-audit-meta time{overflow:hidden;color:var(--ink);font-size:9px;font-style:normal;font-weight:720;line-height:1.3}
.evidence-audit-meta small{display:grid;grid-template-columns:13px minmax(0,1fr);align-items:start}
.evidence-audit-meta small span{overflow:visible;white-space:normal}
.evidence-audit-meta small b{grid-column:2;color:var(--muted);font-size:8px;font-weight:750}
.evidence-audit-meta time span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.evidence-audit-meta time{color:var(--muted);font-weight:650}
.evidence-audit-reason{padding-top:5px;border-top:1px solid var(--border);color:var(--muted);font-size:8px;line-height:1.35}
.post-visit-evidence-control{margin:2px 0 12px;border:1px solid color-mix(in srgb,var(--authority) 28%,var(--border));border-radius:15px;background:var(--surface-soft)}
.post-visit-evidence-control>summary{min-height:64px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:10px 12px;list-style:none;cursor:pointer;touch-action:manipulation}
.post-visit-evidence-control>summary::-webkit-details-marker{display:none}
.post-visit-evidence-control>summary>.post-evidence-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:var(--authority);background:var(--surface)}
.post-visit-evidence-control>summary>.post-evidence-icon svg{width:20px;height:20px}
.post-visit-evidence-control>summary>span:nth-child(2){display:grid;gap:2px;min-width:0}
.post-visit-evidence-control>summary small{color:var(--authority);font-size:8px;font-weight:900;letter-spacing:.07em}
.post-visit-evidence-control>summary strong{color:var(--ink);font-size:12px;line-height:1.25}
.post-visit-evidence-control>summary em{overflow:hidden;color:var(--muted);font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.post-visit-evidence-control>summary>b{padding:7px 9px;border:1px solid color-mix(in srgb,var(--authority) 35%,var(--border));border-radius:9px;color:var(--authority);background:var(--surface);font-size:9px}
.post-visit-evidence-control>summary>svg{width:18px;height:18px;color:var(--muted);transition:transform .18s ease}
.post-visit-evidence-control[open]>summary>svg{transform:rotate(90deg)}
.post-visit-evidence-control>summary:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 45%,transparent);outline-offset:2px}
.post-visit-evidence-control form{display:grid;gap:11px;padding:12px;border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 15px 15px}
.post-evidence-policy{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;border-radius:11px;color:var(--success);background:color-mix(in srgb,var(--success),transparent 92%)}
.post-evidence-policy>svg{width:21px;height:21px}
.post-evidence-policy>span{display:grid;gap:2px}
.post-evidence-policy strong{font-size:10px}
.post-evidence-policy small{color:var(--muted);font-size:9px;line-height:1.35}
.post-evidence-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.post-evidence-fields label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:800}
.post-evidence-fields select{width:100%;min-height:44px;padding:0 34px 0 11px;border:1px solid var(--border);border-radius:10px;color:var(--ink);background:var(--surface);font:inherit;font-size:11px}
.post-evidence-picker{min-height:62px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px dashed color-mix(in srgb,var(--authority) 45%,var(--border));border-radius:12px;color:var(--authority);background:color-mix(in srgb,var(--authority),transparent 96%);cursor:pointer}
.post-evidence-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.post-evidence-picker>span:first-of-type{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--surface)}
.post-evidence-picker svg{width:19px;height:19px}
.post-evidence-picker>span:last-child{display:grid;gap:2px}
.post-evidence-picker strong{color:var(--ink);font-size:11px}
.post-evidence-picker small{color:var(--muted);font-size:9px}
.post-evidence-picker:focus-within{outline:3px solid color-mix(in srgb,var(--focus) 45%,transparent);outline-offset:2px}
.post-evidence-draft{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.post-evidence-draft article{display:grid;grid-template-columns:50px minmax(0,1fr) 44px;align-items:center;gap:8px;min-width:0;padding:7px;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft)}
.post-evidence-draft img{width:50px;height:44px;object-fit:cover;border-radius:8px;background:var(--canvas)}
.post-evidence-draft article>span{display:grid;gap:2px;min-width:0}
.post-evidence-draft strong{overflow:hidden;color:var(--ink);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.post-evidence-draft small{color:var(--success);font-size:8px}
.post-evidence-draft button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:9px;color:var(--danger);background:transparent;cursor:pointer}
.post-evidence-draft button svg{width:17px;height:17px}
.post-evidence-save{min-height:48px}
.post-evidence-save svg{width:18px;height:18px}
.post-evidence-save:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:700px){
  .evidence-heading-audited>em{margin-top:1px}
  .post-visit-evidence-control>summary{grid-template-columns:42px minmax(0,1fr) 18px}
  .post-visit-evidence-control>summary>b{display:none}
  .post-evidence-fields,.post-evidence-draft{grid-template-columns:1fr}
  .evidence-audit-meta{min-height:88px}
}
@media(max-width:390px){
  .evidence-heading-audited{display:grid;gap:3px}
  .evidence-heading-audited>em{justify-self:start}
  .post-visit-evidence-control>summary em{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.post-visit-evidence-control>summary>svg{transition:none}}

/* A failed background must not obscure the recorded route and its controls. */
.fleet-map-status{position:absolute;z-index:800;left:12px;right:12px;bottom:28px;padding:9px 12px;border:1px solid #d4a34a;border-radius:8px;background:#fff6df;color:#593a0b;font-size:12px;line-height:1.4;pointer-events:none}

/* Contain Leaflet panes/controls below sticky application navigation. */
#fleetMap{isolation:isolate}
