﻿:root {
  --bg: #f4f6f8;
  --surface: #ffffff;
  --surface-soft: #f8fafb;
  --line: #dfe5ea;
  --text: #1f2a33;
  --muted: #66727f;
  --primary: #0f9f6e;
  --primary-dark: #087b55;
  --accent: #1769aa;
  --warning: #a56700;
  --shadow: 0 18px 45px rgba(31, 42, 51, 0.08);
  --app-width: 620px;
  --app-height: 880px;
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
}
button, textarea, input { font: inherit; }
button { cursor: pointer; }
.shell { min-height: 100vh; display: block; }
.sidebar {
  background: #ffffff;
  border-right: 1px solid var(--line);
  padding: 24px 18px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.sidebar { display: none; }
.brand { display: flex; align-items: center; gap: 12px; padding: 4px 8px 18px; border-bottom: 1px solid var(--line); }
.mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 8px; background: var(--primary); color: white; font-weight: 800; font-size: 22px; }
.brand-title { font-size: 20px; font-weight: 800; }
.brand-subtitle { color: var(--muted); font-size: 13px; margin-top: 3px; }
.nav { display: grid; gap: 8px; }
.nav-item {
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  padding: 12px 14px;
  border-radius: 8px;
  min-height: 44px;
}
.nav-item:hover { background: var(--surface-soft); }
.nav-item.active { background: #e8f7f1; color: var(--primary-dark); font-weight: 700; }
.sidebar-footer { margin-top: auto; display: grid; gap: 12px; }
.ghost-button, .secondary-button, .primary-button, .copy-button, .text-button, .icon-button {
  border-radius: 8px;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid var(--line);
  background: white;
  color: var(--text);
}
.primary-button { background: var(--primary); border-color: var(--primary); color: white; font-weight: 700; }
.primary-button:hover { background: var(--primary-dark); }
.secondary-button:hover, .ghost-button:hover, .copy-button:hover { background: var(--surface-soft); }
.copy-button { border-color: #bdd6c9; color: var(--primary-dark); font-weight: 700; }
.text-button { border: 0; color: var(--muted); background: transparent; padding: 0 6px; min-height: 32px; }
.mode-pill { border: 1px solid #b9ddcf; color: var(--primary-dark); background: #f0faf6; border-radius: 999px; padding: 8px 12px; text-align: center; font-size: 13px; }
.workspace { max-width: 900px; margin: 0 auto; padding: 22px 28px; display: grid; gap: 22px; align-content: start; }
.brain-home {
  min-height: calc(100vh - 44px);
  display: grid;
  place-items: center;
  padding: 0;
}
.brain-phone {
  width: min(var(--app-width), 100%);
  min-height: min(var(--app-height), calc(100vh - 44px));
  border: 1px solid #d8e1dd;
  border-radius: 28px;
  background: #f7f8f8;
  padding: 40px 34px 0;
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto auto auto 1fr;
  color: var(--text);
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(31, 42, 51, 0.12);
}
.brain-title {
  text-align: center;
  font-size: 38px;
  line-height: 1;
  color: #111111;
  font-weight: 800;
  margin-bottom: 28px;
}
.brain-form {
  display: grid;
  gap: 12px;
}
.brain-form label,
.brain-api label {
  display: grid;
  gap: 9px;
  color: #202427;
  font-size: 17px;
  font-weight: 700;
}
.brain-form input,
.brain-api input {
  width: 100%;
  border: 1px solid #dfe5ea;
  border-radius: 12px;
  color: #1f2a33;
  min-height: 54px;
  outline: none;
  background: #ffffff;
  padding: 0 16px;
  font-size: 17px;
  font-weight: 700;
}
.brain-form input:focus,
.brain-api input:focus {
  border-color: #07c160;
  box-shadow: 0 0 0 3px rgba(7, 193, 96, 0.12);
}
.brain-form input:disabled {
  background: #f1f3f4;
  color: #1f2a33;
  border-color: #d7dee3;
  cursor: default;
  opacity: 1;
}
.brain-profile-summary {
  display: grid;
  gap: 12px;
  padding: 4px 0 6px;
}
.brain-summary-row {
  display: grid;
  grid-template-columns: 132px 1fr;
  align-items: center;
  min-height: 56px;
  border: 1px solid #dfe8e3;
  border-radius: 13px;
  background: #ffffff;
  padding: 10px 16px;
}
.brain-summary-row span {
  color: #5f6b76;
  font-size: 16px;
  font-weight: 700;
}
.brain-summary-row strong {
  color: #1f2a33;
  font-size: 18px;
  font-weight: 800;
}
.brain-summary-text {
  display: grid;
  gap: 4px;
}
.brain-summary-text span {
  color: #1f2a33;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 500;
}
.brain-summary-text strong {
  color: #1f2a33;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 500;
}
.brain-api {
  margin-top: 22px;
  display: grid;
  gap: 12px;
  background: #ffffff;
  border: 1px solid #e7ece9;
  border-radius: 16px;
  padding: 18px;
}
.brain-api span {
  color: #202427;
  font-size: 17px;
  text-align: left;
  font-weight: 800;
}
.brain-api label {
  grid-template-columns: 92px 1fr;
  align-items: center;
  font-size: 17px;
  font-weight: 800;
  color: #d64545;
}
.brain-api input {
  border: 1px solid #dfe5ea;
  border-radius: 10px;
  min-height: 48px;
  padding: 0 14px;
}
.brain-api select {
  border: 1px solid #dfe5ea;
  border-radius: 10px;
  min-height: 48px;
  padding: 0 14px;
  background: #ffffff;
  color: #1f2a33;
  font-size: 16px;
  font-weight: 700;
}
.api-connect-button {
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  background: #07c160;
  color: #ffffff;
  font-size: 17px;
  font-weight: 800;
}
.api-connect-button:hover {
  background: #06ad56;
}
.brain-save-tip {
  margin: 22px 0 14px;
  text-align: right;
  color: #57636f;
  font-size: 14px;
}
.brain-profile-summary {
  margin: 18px 0 12px;
  padding: 24px 18px;
  border-radius: 16px;
  background: linear-gradient(135deg, #eafaf1, #ffffff);
  border: 1px solid #cdeedd;
  color: #07a95a;
  font-size: 30px;
  font-weight: 900;
  text-align: center;
}
.brain-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.brain-outline-button {
  min-height: 54px;
  border: 1px solid #07c160;
  border-radius: 12px;
  color: #07c160;
  background: white;
  font-size: 20px;
  font-weight: 800;
}
.brain-outline-button:hover {
  background: #effbf4;
}
.brain-tabs {
  align-self: end;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: auto -34px 0;
  padding: 12px 12px 16px;
  background: #ffffff;
  border-top: 1px solid #e3e8e5;
}
.brain-tabs button {
  border: 0;
  background: transparent;
  color: #5f6b76;
  min-height: 66px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  padding: 0;
}
.brain-tabs button:hover { color: #07c160; }
.brain-tabs em {
  font-style: normal;
  font-size: 14px;
  white-space: nowrap;
}
.tab-icon {
  width: 34px;
  height: 34px;
  border: 2px solid currentColor;
  display: block;
}
.tab-icon.circle { border-radius: 50%; }
.tab-icon.diamond { transform: rotate(45deg); border-radius: 5px; }
.tab-icon.small { width: 32px; height: 32px; }
.app-screen {
  min-height: calc(100vh - 44px);
  display: grid;
  place-items: center;
  padding: 0;
}
.pending-phone {
  width: min(var(--app-width), 100%);
  min-height: min(var(--app-height), calc(100vh - 44px));
  border: 1px solid #d8e1dd;
  border-radius: 28px;
  background: #f7f8f8;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(31, 42, 51, 0.12);
}
.pending-head {
  display: grid;
  grid-template-columns: 54px 1fr 54px;
  align-items: center;
  gap: 12px;
  padding: 30px 30px 18px;
}
.pending-head h1 {
  text-align: center;
  font-size: 38px;
  margin: 0;
  color: #111;
}
.round-icon {
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #ffffff;
  font-size: 34px;
  line-height: 1;
  padding: 0;
}
.round-icon.back { background: #16b66a; }
.round-icon.add { background: #179bdf; font-size: 36px; }
.pending-search { padding: 22px 48px 28px; display: grid; grid-template-columns: 1fr 96px; gap: 12px; }
.pending-search input {
  width: 100%;
  min-height: 64px;
  border: 1px solid #dce4e8;
  border-radius: 15px;
  padding: 0 24px;
  background: #ffffff;
  color: #1f2a33;
  outline: none;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
.pending-search button {
  border: 0;
  border-radius: 15px;
  background: #07c160;
  color: #ffffff;
  font-size: 18px;
  font-weight: 800;
}
.pending-search button:hover { background: #06ad56; }
.pending-search input:focus {
  border-color: #07c160;
  box-shadow: 0 0 0 3px rgba(7, 193, 96, 0.12);
}
.pending-sort {
  display: flex;
  gap: 8px;
  padding: 0 28px 8px;
  align-items: center;
  align-self: start;
}
.pending-sort button {
  width: auto !important;
  min-height: 30px !important;
  height: 30px !important;
  border: 1px solid #dfe6ea;
  border-radius: 999px;
  background: #f4f6f8;
  color: #5b6670;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 700;
  line-height: 28px;
}
.pending-sort button.active {
  border-color: #07c160;
  background: #e8f8ef;
  color: #078846;
  box-shadow: inset 0 0 0 1px rgba(7, 193, 96, 0.12);
}
.pending-list {
  overflow: auto;
  padding: 0 34px 20px;
  display: grid;
  gap: 20px;
  align-content: start;
  min-width: 0;
}
.pending-item {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-decoration: none;
}
.pending-name {
  min-height: 56px;
  border-radius: 14px;
  border: 1px solid #dce4e8;
  background: #ffffff;
  display: grid;
  place-items: center;
  color: #202427;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  padding: 6px;
  text-align: center;
}
.pending-plan {
  min-width: 0;
  min-height: 58px;
  border-radius: 14px;
  border: 1px solid #dce4e8;
  background: #ffffff;
  padding: 10px 16px;
  display: grid;
  align-content: center;
  gap: 4px;
}
.pending-plan strong {
  color: #07a95a;
  font-size: 17px;
  overflow-wrap: anywhere;
}
.pending-owner-name {
  display: inline-block;
  margin-left: 8px;
  color: #8a949c;
  font-size: 12px;
  line-height: 1;
  font-style: normal;
  font-weight: 400;
  vertical-align: middle;
}
.pending-plan span {
  color: #5f6b76;
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.pending-item.cat-a .pending-name,
.pending-item.cat-a .pending-plan {
  background: #eaf8f0;
  border-color: #97d9b3;
}
.pending-item.cat-a .pending-plan strong {
  color: #078846;
}
.pending-item.cat-b .pending-name,
.pending-item.cat-b .pending-plan {
  background: #edf6ff;
  border-color: #9fcaf0;
}
.pending-item.cat-b .pending-plan strong {
  color: #1671b7;
}
.pending-item.cat-c .pending-name,
.pending-item.cat-c .pending-plan {
  background: #fff6e6;
  border-color: #efcf92;
}
.pending-item.cat-c .pending-plan strong {
  color: #a86408;
}
.pending-item.cat-d .pending-name,
.pending-item.cat-d .pending-plan {
  background: #f3f1ff;
  border-color: #bdb4f1;
}
.pending-item.cat-d .pending-plan strong {
  color: #5d4bb7;
}
.pending-empty {
  border: 1px dashed #ccd7dd;
  border-radius: 16px;
  padding: 22px;
  text-align: center;
  color: #66727f;
  background: #ffffff;
}
.pending-empty strong {
  color: #07a95a;
}
.customer-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 10px 18px;
  border-top: 1px solid #e3e8e5;
  background: #ffffff;
  color: #4e5b66;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}
.customer-stats span,
.customer-stats button {
  min-height: 32px;
  border-radius: 999px;
  background: #f4f6f8;
  display: grid;
  place-items: center;
}
.customer-stats button {
  border: 0;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  cursor: pointer;
  padding: 0;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.customer-stats button:hover,
.customer-stats button:focus,
.customer-stats button:active {
  background: #f4f6f8;
  color: inherit;
  box-shadow: none;
}
.pending-tabs {
  align-self: auto;
  margin: 0;
}
.customer-form-phone {
  width: min(var(--app-width), 100%);
  min-height: min(var(--app-height), calc(100vh - 44px));
  border: 1px solid #d8e1dd;
  border-radius: 28px;
  background: #f7f8f8;
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(31, 42, 51, 0.12);
}
.customer-form-search {
  padding: 12px 48px 26px;
  display: grid;
  grid-template-columns: 1fr 86px;
  gap: 12px;
}
.customer-form-search input,
.customer-entry-form input,
.customer-entry-form select {
  width: 100%;
  min-height: 48px;
  border: 1px solid #dce4e8;
  border-radius: 12px;
  padding: 0 14px;
  background: #ffffff;
  color: #1f2a33;
  outline: none;
  font-size: 16px;
  font-weight: 700;
}
.customer-form-search button {
  border: 0;
  border-radius: 12px;
  background: #07c160;
  color: #ffffff;
  font-weight: 800;
}

.pending-search,
.customer-form-search {
  padding: 18px 28px 24px !important;
  display: grid;
  grid-template-columns: 1fr 86px !important;
  gap: 12px !important;
}
.pending-search input,
.customer-form-search input {
  min-height: 52px !important;
  border-radius: 12px !important;
  padding: 0 16px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: left !important;
}
.pending-search button,
.customer-form-search button {
  min-height: 52px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}
.customer-entry-form {
  padding: 22px 76px;
  display: grid;
  gap: 14px;
  align-content: start;
}
.customer-entry-form label {
  display: grid;
  gap: 7px;
  color: #202427;
  font-size: 15px;
  font-weight: 800;
}
.deal-row {
  display: flex;
  align-items: center;
  gap: 22px;
  color: #202427;
  font-size: 15px;
  font-weight: 800;
  padding-top: 4px;
}
.deal-row label {
  display: inline-flex;
  grid-template-columns: none;
  align-items: center;
  gap: 7px;
  color: #07a95a;
}
.customer-form-actions {
  padding: 0 100px 28px;
  gap: 16px;
}
.customer-form-actions .brain-outline-button {
  min-height: 50px;
  font-size: 20px;
  border-radius: 11px;
}
.customer-form-home[hidden] {
  display: none !important;
}
.video-phone {
  width: min(var(--app-width), 100%);
  min-height: min(var(--app-height), calc(100vh - 44px));
  border: 1px solid #d8e1dd;
  border-radius: 28px;
  background: #ffffff;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(31, 42, 51, 0.12);
}
.video-head {
  display: grid;
  grid-template-columns: 54px 1fr 54px;
  align-items: center;
  gap: 12px;
  padding: max(34px, calc(22px + env(safe-area-inset-top))) 30px 14px;
}
.video-head h1 {
  margin: 0;
  text-align: center;
  font-size: 30px;
  font-weight: 800;
}
.page-title-block {
  min-width: 0;
  text-align: center;
}
.page-title-block h1 {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.page-title-block p {
  margin: 5px 0 0;
  color: #8b949b;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 700;
}
.pending-head .page-title-block h1,
.video-head .page-title-block h1 {
  font-size: 28px;
  font-weight: 800;
  color: #111111;
}
.video-more {
  border: 0;
  background: transparent;
  font-size: 28px;
  color: #202427;
}
.video-profile {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 18px;
  padding: 16px 28px 12px;
}
.video-avatar {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: linear-gradient(135deg,#0b7d4d,#1ec875);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 34px;
  font-weight: 900;
}
.video-profile h2 {
  margin: 0 0 8px;
  font-size: 25px;
  line-height: 1.18;
}
.video-profile p {
  color: #3a4650;
  font-size: 15px;
  line-height: 1.45;
}
.video-stats {
  margin-top: 8px;
  display: grid;
  gap: 3px;
  color: #7b8791;
  font-size: 14px;
}
.video-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 10px 28px 18px;
}
.video-actions button {
  border: 0;
  border-radius: 12px;
  min-height: 48px;
  background: #f1f2f3;
  font-size: 18px;
  font-weight: 800;
  color: #202427;
}
.video-grid {
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 2px;
  padding: 0 0 2px;
  align-content: start;
}
.video-card {
  aspect-ratio: 9 / 12;
  border: 0;
  background: #2f7f92;
  color: #ffffff;
  padding: 10px 6px;
  display: grid;
  align-content: space-between;
  text-align: left;
}
.video-card:nth-child(2n) { background: #286f82; }
.video-card:nth-child(3n) { background: #3f7387; }
.video-card strong {
  font-size: 17px;
  line-height: 1.18;
  text-shadow: 0 2px 0 rgba(0,0,0,.22);
}
.video-card span {
  justify-self: end;
  font-size: 13px;
  background: rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 4px 8px;
}
.video-player-dialog {
  width: min(560px, calc(100vw - 28px));
}
.video-player-box {
  padding: 14px;
  display: grid;
  gap: 12px;
}
.video-player-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.video-player-head button {
  border: 0;
  background: #07c160;
  color: #fff;
  border-radius: 8px;
  min-height: 34px;
  padding: 0 14px;
}
#videoPlayer {
  width: 100%;
  max-height: 70vh;
  background: #111;
  border-radius: 10px;
}
.video-placeholder {
  padding: 16px;
  border-radius: 10px;
  background: #f4f6f8;
  color: #66727f;
  text-align: center;
}
.training-arena {
  margin: 12px;
  padding: 18px 16px;
  border: 1px solid #dfe8e4;
  border-radius: 8px;
  background: #ffffff;
  display: grid;
  gap: 12px;
}
.training-arena h2 {
  margin: 0;
  color: #18242b;
  font-size: 22px;
  line-height: 1.25;
}
.training-arena p {
  margin: 0;
  color: #53616b;
  font-size: 15px;
  line-height: 1.45;
}
.training-flow {
  display: grid;
  gap: 8px;
}
.training-flow div {
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  border-radius: 8px;
  background: #f5fbf7;
  border: 1px solid #dceee4;
}
.training-flow strong {
  color: #0f5136;
  font-size: 16px;
}
.training-flow span {
  color: #35424a;
  font-size: 14px;
  line-height: 1.4;
}
.video-home[hidden] {
  display: none !important;
}
.topbar { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
h1 { font-size: 28px; margin: 0 0 8px; letter-spacing: 0; }
p { margin: 0; color: var(--muted); line-height: 1.65; }
.top-actions { display: flex; gap: 10px; }
.input-band, .output-panel, .history-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}
.input-band,
.intel-panel,
.result-layout,
.quality-panel,
.profile-footer-entry {
  display: none !important;
}
body.show-new-page .input-band,
body.show-new-page .intel-panel,
body.show-new-page .result-layout {
  display: grid !important;
}
body.show-new-page .input-band {
  margin-top: 0;
}
.brain-home[hidden],
.pending-home[hidden] {
  display: none !important;
}
.pending-home[hidden],
.brain-home[hidden],
.customer-form-home[hidden] {
  display: none !important;
}
.input-band { padding: 20px; display: grid; gap: 12px; }
.field-header, .panel-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.field-header label { font-weight: 800; }
.field-header span, #resultMeta { color: var(--muted); font-size: 13px; }
textarea {
  width: 100%;
  min-height: 138px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px 16px;
  outline: none;
  line-height: 1.65;
  color: var(--text);
  background: #fbfcfd;
}
textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(15, 159, 110, 0.12); background: white; }
.quick-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); color: var(--muted); padding: 8px 12px; }
.chip:hover { color: var(--primary-dark); border-color: #b9ddcf; background: #f0faf6; }
.result-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: start; }
.output-panel { min-height: 480px; display: grid; grid-template-rows: auto 1fr; }
.panel-head { padding: 18px 20px; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 0 0 4px; font-size: 18px; }
.panel-head.compact h2 { margin: 0; }
pre {
  margin: 0;
  padding: 22px;
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.75;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  font-size: 15px;
}
.history-panel { min-height: 480px; max-height: 680px; overflow: hidden; display: grid; grid-template-rows: auto 1fr; }
.history-list { overflow: auto; padding: 10px; display: grid; gap: 8px; align-content: start; }
.history-item { width: 100%; border: 1px solid var(--line); background: white; border-radius: 8px; padding: 12px; text-align: left; display: grid; gap: 6px; }
.history-item:hover { border-color: #b9ddcf; background: #fbfffd; }
.history-item strong { font-size: 14px; color: var(--primary-dark); }
.history-item span { font-size: 13px; color: var(--text); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.5; }
.history-item em { font-style: normal; font-size: 12px; color: var(--muted); }
.empty { color: var(--muted); padding: 18px; text-align: center; }
dialog { border: 0; border-radius: 8px; padding: 0; width: min(560px, calc(100vw - 32px)); box-shadow: var(--shadow); }
dialog::backdrop { background: rgba(20, 30, 40, 0.28); }
.dialog-box { padding: 22px; display: grid; gap: 14px; }
.dialog-head { display: flex; align-items: center; justify-content: space-between; }
.dialog-head h2 { margin: 0; }
.icon-button { width: 36px; min-height: 36px; padding: 0; font-size: 22px; }
.dialog-box label { display: grid; gap: 8px; color: var(--text); font-weight: 700; }
.dialog-box input[type="text"], .dialog-box input[type="password"], .dialog-box input:not([type]), .dialog-box select { border: 1px solid var(--line); border-radius: 8px; min-height: 42px; padding: 0 12px; background: #ffffff; }
.toggle-line { grid-template-columns: auto 1fr; align-items: center; justify-content: start; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 8px; }
@media (max-width: 980px) {
  .shell { grid-template-columns: 1fr; }
  .sidebar { position: static; border-right: 0; border-bottom: 1px solid var(--line); }
  .nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-layout { grid-template-columns: 1fr; }
  .topbar { flex-direction: column; }
}
@media (max-width: 640px) {
  .workspace { padding: 18px; }
  .brain-home { min-height: calc(100vh - 36px); padding: 0; }
  .brain-phone {
    width: 100%;
    min-height: calc(100vh - 36px);
    border-radius: 18px;
    padding: 24px 16px 0;
  }
  .brain-title { font-size: 36px; margin-bottom: 22px; }
  .brain-form { gap: 10px; }
  .brain-form label { font-size: 14px; }
  .brain-form input { min-height: 42px; border-radius: 10px; }
  .brain-api { margin-top: 16px; padding: 14px; }
  .brain-api label { grid-template-columns: 74px 1fr; }
  .brain-actions { gap: 10px; }
  .brain-outline-button { min-height: 44px; font-size: 16px; }
  .brain-tabs { margin-left: -16px; margin-right: -16px; }
  .brain-tabs em { font-size: 12px; }
  .nav { grid-template-columns: 1fr; }
  .top-actions { width: 100%; }
  .top-actions button { flex: 1; }
  .field-header, .panel-head { align-items: flex-start; flex-direction: column; }
}
.customer-row {
  display: grid;
  grid-template-columns: minmax(160px, 220px) minmax(180px, 1fr) minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.customer-row label {
  display: grid;
  gap: 8px;
  font-weight: 800;
  color: var(--text);
}
.customer-row select,
.customer-row input {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  background: #fbfcfd;
  color: var(--text);
  outline: none;
}
.customer-row select:focus,
.customer-row input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(15, 159, 110, 0.12);
  background: white;
}
@media (max-width: 760px) {
  .customer-row { grid-template-columns: 1fr; }
}
.company-tools {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--line);
  background: #fbfcfd;
  border-radius: 8px;
  padding: 12px 14px;
}
.company-tools strong {
  display: block;
  margin-bottom: 4px;
}
.company-tools span {
  color: var(--muted);
  font-size: 13px;
}
.company-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
@media (max-width: 760px) {
  .company-tools { align-items: flex-start; flex-direction: column; }
  .company-actions { width: 100%; }
  .company-actions button { flex: 1; }
}
.intel-panel { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.intel-grid { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 14px; padding: 16px; }
.intel-card { border: 1px solid var(--line); border-radius: 8px; padding: 14px; background: #fbfcfd; }
.intel-card h3 { margin: 0 0 10px; font-size: 15px; }
.research-links { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); line-height: 1.6; }
.research-links a { text-decoration: none; border: 1px solid #bdd6c9; color: var(--primary-dark); background: #f0faf6; border-radius: 999px; padding: 7px 10px; }
.notes-area { min-height: 92px; margin-bottom: 10px; }
.follow-status p { margin: 0 0 8px; line-height: 1.55; color: var(--muted); }
.follow-status strong { color: var(--text); }
@media (max-width: 1080px) { .intel-grid { grid-template-columns: 1fr; } }
.auto-archive-tip {
  border: 1px solid #bdd6c9;
  background: #f0faf6;
  color: var(--primary-dark);
  border-radius: 8px;
  padding: 12px 14px;
  line-height: 1.6;
}
.auto-archive-tip strong { color: var(--text); }
/* Mobile / WeChat WebView optimization */
@media (max-width: 720px) {
  body { background: #ffffff; }
  .shell { display: block; min-height: 100vh; }
  .sidebar { display: none; }
  .sidebar {
    padding: 12px 14px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    gap: 12px;
  }
  .brand {
    padding: 0 0 10px;
    border-bottom: 0;
  }
  .mark { width: 36px; height: 36px; font-size: 18px; }
  .brand-title { font-size: 18px; }
  .brand-subtitle { font-size: 12px; }
  .nav {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .nav::-webkit-scrollbar { display: none; }
  .nav-item {
    white-space: nowrap;
    min-height: 38px;
    padding: 8px 12px;
    flex: 0 0 auto;
  }
  .sidebar-footer {
    grid-template-columns: 1fr 1fr;
    margin-top: 0;
  }
  .ghost-button,
  .mode-pill {
    min-height: 36px;
    font-size: 13px;
    padding: 7px 10px;
  }
  .workspace {
    padding: 14px;
    gap: 14px;
  }
  .topbar {
    gap: 12px;
  }
  h1 {
    font-size: 22px;
    margin-bottom: 4px;
  }
  .topbar p {
    font-size: 13px;
    line-height: 1.55;
  }
  .top-actions {
    position: sticky;
    top: 0;
    z-index: 5;
    background: rgba(255,255,255,.96);
    padding: 8px 0;
    border-bottom: 1px solid var(--line);
  }
  .top-actions button {
    min-height: 42px;
  }
  .input-band,
  .output-panel,
  .history-panel,
  .intel-panel {
    border-radius: 0;
    box-shadow: none;
    border-left: 0;
    border-right: 0;
  }
  .input-band { padding: 14px; }
  .auto-archive-tip {
    font-size: 13px;
    padding: 10px;
  }
  .field-header {
    gap: 6px;
  }
  .field-header label { font-size: 15px; }
  .field-header span { font-size: 12px; }
  textarea {
    min-height: 120px;
    font-size: 15px;
    padding: 12px;
  }
  .quick-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .quick-row::-webkit-scrollbar { display: none; }
  .chip {
    white-space: nowrap;
    flex: 0 0 auto;
    font-size: 13px;
  }
  .company-tools {
    padding: 10px;
  }
  .company-actions {
    width: 100%;
  }
  .company-actions button {
    width: 100%;
  }
  .intel-grid {
    grid-template-columns: 1fr;
    padding: 12px;
    gap: 10px;
  }
  .intel-card {
    padding: 12px;
  }
  .research-links a {
    padding: 8px 10px;
    font-size: 13px;
  }
  .result-layout {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .panel-head {
    padding: 14px;
    gap: 8px;
  }
  .panel-head h2 {
    font-size: 17px;
  }
  .copy-button {
    width: 100%;
    min-height: 42px;
  }
  pre {
    padding: 14px;
    font-size: 14px;
    line-height: 1.7;
  }
  .history-panel {
    min-height: 0;
    max-height: none;
  }
  .history-list {
    max-height: 360px;
  }
  .history-item {
    padding: 10px;
  }
  dialog {
    width: calc(100vw - 20px);
  }
  .dialog-box {
    padding: 16px;
  }
}

@media (max-width: 420px) {
  .workspace { padding: 10px; }
  h1 { font-size: 20px; }
  .sidebar-footer { grid-template-columns: 1fr; }
  .top-actions { gap: 8px; }
  .top-actions button { padding: 0 10px; }
  .panel-head.compact { flex-direction: row; align-items: center; }
}
.output-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.quality-panel { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.quality-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 16px; }
.quality-card { border: 1px solid var(--line); border-radius: 8px; background: #fbfcfd; padding: 14px; display: grid; gap: 10px; align-content: start; }
.quality-card h3 { margin: 0; font-size: 15px; }
.score-number { font-size: 34px; font-weight: 800; color: var(--primary-dark); line-height: 1; }
.quality-detail { color: var(--muted); line-height: 1.6; font-size: 13px; }
@media (max-width: 1080px) { .quality-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .quality-grid { grid-template-columns: 1fr; padding: 12px; } .output-actions { width: 100%; } .output-actions button { flex: 1; } }
.wide-dialog { width: min(920px, calc(100vw - 32px)); }
.profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.profile-grid label { display: grid; gap: 8px; font-weight: 700; }
.profile-grid .full { grid-column: 1 / -1; }
.profile-grid textarea { min-height: 92px; }
@media (max-width: 720px) { .profile-grid { grid-template-columns: 1fr; } .wide-dialog { width: calc(100vw - 20px); } }
.industry-row { display: grid; grid-template-columns: minmax(220px, 320px) 1fr; gap: 12px; align-items: end; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.industry-row label { display: grid; gap: 8px; font-weight: 800; }
.industry-row select { min-height: 42px; border: 1px solid var(--line); border-radius: 8px; padding: 0 12px; background: #fbfcfd; color: var(--text); }
.industry-summary { border: 1px solid #bdd6c9; background: #f0faf6; color: var(--primary-dark); border-radius: 8px; padding: 11px 12px; line-height: 1.5; }
@media (max-width: 720px) { .industry-row { grid-template-columns: 1fr; } }.input-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 4px;
}
.large-action {
  min-width: 150px;
  min-height: 46px;
  font-size: 16px;
}
.result-cards {
  padding: 16px;
  display: grid;
  gap: 14px;
  align-content: start;
}
.empty-result {
  border: 1px dashed var(--line);
  border-radius: 8px;
  padding: 18px;
  color: var(--muted);
  background: #fbfcfd;
}
.answer-card {
  border: 1px solid var(--line);
  border-left-width: 5px;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}
.answer-card h3 {
  margin: 0;
  padding: 12px 14px;
  font-size: 16px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.answer-body {
  padding: 12px 14px 14px;
  display: grid;
  gap: 8px;
  line-height: 1.7;
}
.answer-body p {
  color: var(--text);
}
.answer-body ul {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 6px;
}
.answer-card.status { border-left-color: #0f9f6e; background: #f7fffb; }
.answer-card.industry { border-left-color: #2563eb; background: #f8fbff; }
.answer-card.company { border-left-color: #7c3aed; background: #fbf8ff; }
.answer-card.research { border-left-color: #0891b2; background: #f5fcff; }
.answer-card.history { border-left-color: #64748b; background: #f8fafc; }
.answer-card.judge { border-left-color: #d97706; background: #fffaf2; }
.answer-card.intent { border-left-color: #dc2626; background: #fff7f7; }
.answer-card.elements { border-left-color: #16a34a; background: #f7fff8; }
.answer-card.competitor { border-left-color: #ea580c; background: #fff8f3; }
.answer-card.script { border-left-color: #0f9f6e; background: #f5fffa; }
.answer-card.common { border-left-color: #4f46e5; background: #f8f7ff; }
.answer-card.follow { border-left-color: #9333ea; background: #fcf7ff; }
.status-table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(255,255,255,0.72);
}
.status-table th,
.status-table td {
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  line-height: 1.55;
}
.status-table th {
  width: 150px;
  color: var(--muted);
  font-weight: 800;
  background: rgba(15, 159, 110, 0.06);
}
.status-table tr:last-child th,
.status-table tr:last-child td {
  border-bottom: 0;
}
@media (max-width: 720px) {
  .input-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .large-action { width: 100%; }
  .result-cards { padding: 12px; gap: 12px; }
  .answer-card h3 { font-size: 15px; padding: 11px 12px; }
  .answer-body { padding: 11px 12px 12px; }
  .status-table th { width: 104px; }
  .status-table th,
  .status-table td { padding: 9px 10px; }
}
.kv-list {
  display: grid;
  gap: 8px;
}
.kv-row {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255,255,255,0.72);
}
.kv-key {
  padding: 10px 12px;
  font-weight: 800;
  color: var(--primary-dark);
  background: rgba(15, 159, 110, 0.08);
  border-right: 1px solid rgba(15, 23, 42, 0.08);
}
.kv-value {
  padding: 10px 12px;
  color: var(--text);
  line-height: 1.65;
}
.kv-row.full {
  grid-template-columns: 1fr;
}
.kv-row.full .kv-value {
  background: #ffffff;
}
.answer-card.industry .kv-key { color: #1d4ed8; background: rgba(37, 99, 235, 0.08); }
.answer-card.company .kv-key { color: #6d28d9; background: rgba(124, 58, 237, 0.08); }
.answer-card.research .kv-key { color: #0e7490; background: rgba(8, 145, 178, 0.08); }
.answer-card.history .kv-key { color: #475569; background: rgba(100, 116, 139, 0.10); }
.answer-card.judge .kv-key { color: #b45309; background: rgba(217, 119, 6, 0.10); }
.answer-card.intent .kv-key { color: #b91c1c; background: rgba(220, 38, 38, 0.08); }
@media (max-width: 720px) {
  .kv-row { grid-template-columns: 1fr; }
  .kv-key { border-right: 0; border-bottom: 1px solid rgba(15, 23, 42, 0.08); }
}
.profile-reminder {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #b9ddcf;
  background: linear-gradient(180deg, #f2fbf7 0%, #ffffff 100%);
  border-radius: 8px;
  padding: 14px 16px;
}
.profile-reminder div {
  display: grid;
  gap: 4px;
}
.profile-reminder strong {
  color: var(--primary-dark);
  font-size: 16px;
}
.profile-reminder span {
  color: var(--muted);
  line-height: 1.55;
}
.profile-reminder button {
  flex-shrink: 0;
  min-width: 148px;
}
.company-profile-form {
  max-height: min(86vh, 860px);
  overflow: auto;
}
.company-profile-form textarea,
.company-profile-form input {
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 720px) {
  #companyProfileDialog {
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border-radius: 0;
  }
  #companyProfileDialog::backdrop {
    background: rgba(15, 23, 42, 0.16);
  }
  .company-profile-form {
    width: 100%;
    min-height: 100dvh;
    max-height: 100dvh;
    overflow-y: auto;
    padding: 16px;
    box-sizing: border-box;
  }
  .company-profile-form .dialog-head {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #ffffff;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
  }
  .company-profile-form .dialog-head h2 {
    font-size: 22px;
    line-height: 1.25;
  }
  .company-profile-form p {
    font-size: 14px;
  }
  .profile-grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }
  .profile-grid .full {
    grid-column: auto;
  }
  .profile-grid textarea {
    min-height: 110px;
  }
  .dialog-actions {
    position: sticky;
    bottom: 0;
    background: #ffffff;
    padding: 12px 0 0;
    border-top: 1px solid var(--line);
  }
  .dialog-actions button {
    flex: 1;
    min-height: 44px;
  }
  .profile-reminder {
    display: grid;
    gap: 12px;
    padding: 13px;
  }
  .profile-reminder button {
    width: 100%;
  }
}

.profile-reminder[hidden] { display: none; }
/* Company profile dialog hard mobile fit */
#companyProfileDialog {
  max-width: 100vw;
  overflow: hidden;
}
#companyProfileDialog .company-profile-form {
  width: min(920px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  box-sizing: border-box;
  overflow-x: hidden;
}
#companyProfileDialog .profile-grid,
#companyProfileDialog .profile-grid label {
  min-width: 0;
}
#companyProfileDialog input,
#companyProfileDialog textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 920px) {
  #companyProfileDialog {
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border-radius: 0;
  }
  #companyProfileDialog .company-profile-form {
    width: 100vw;
    max-width: 100vw;
    min-height: 100dvh;
    max-height: 100dvh;
    padding: 16px;
    overflow-y: auto;
    overflow-x: hidden;
  }
  #companyProfileDialog .profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #companyProfileDialog .profile-grid .full {
    grid-column: 1;
  }
}
/* Keep company profile entry visible; only collapse first-time copy */
.profile-reminder.compact {
  justify-content: flex-end;
  padding: 0;
  border: 0;
  background: transparent;
}
.profile-reminder.compact div {
  display: none;
}
.profile-reminder[hidden] {
  display: flex;
}
/* Use one-column company profile form everywhere to avoid horizontal scrolling */
#companyProfileDialog.wide-dialog,
#companyProfileDialog .wide-dialog,
#companyProfileDialog .company-profile-form {
  width: min(680px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
}
#companyProfileDialog .profile-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}
#companyProfileDialog .profile-grid .full {
  grid-column: 1 !important;
}
@media (max-width: 920px) {
  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }
  #companyProfileDialog,
  #companyProfileDialog .company-profile-form {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  #companyProfileDialog .company-profile-form {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
/* Final company profile entry behavior */
.profile-reminder {
  border: 1px solid #7fc8a8;
  background: linear-gradient(180deg, #eaf9f2 0%, #ffffff 100%);
  box-shadow: 0 10px 24px rgba(15, 159, 110, 0.10);
}
.profile-reminder[hidden] {
  display: none !important;
}
.profile-reminder.compact {
  display: flex;
  padding: 14px 16px;
  border: 1px solid #7fc8a8;
  background: linear-gradient(180deg, #eaf9f2 0%, #ffffff 100%);
}
.profile-reminder.compact div {
  display: grid;
}
.profile-footer-entry {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  color: var(--muted);
  font-size: 14px;
  padding: 4px 2px 18px;
}
.profile-footer-entry button {
  flex-shrink: 0;
}
@media (max-width: 720px) {
  .profile-footer-entry {
    display: grid;
    justify-content: stretch;
    text-align: center;
  }
  .profile-footer-entry button {
    width: 100%;
  }
}
.intel-summary {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}
.intel-summary div {
  border: 1px solid rgba(124, 58, 237, 0.14);
  border-radius: 8px;
  background: #fbf8ff;
  overflow: hidden;
}
.intel-summary strong {
  display: block;
  padding: 8px 10px;
  color: #6d28d9;
  background: rgba(124, 58, 237, 0.10);
  font-weight: 800;
}
.intel-summary span {
  display: block;
  padding: 9px 10px;
  color: var(--text);
  line-height: 1.55;
}
.research-links-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.notes-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 720px) { .notes-actions { display: grid; grid-template-columns: 1fr; } .notes-actions button { width: 100%; } }
.followup-box {
  border-top: 1px solid var(--line);
  padding: 14px 16px 16px;
  display: grid;
  gap: 12px;
  background: #fbfcfd;
}
.followup-thread {
  display: grid;
  gap: 10px;
}
.followup-item {
  border: 1px solid #d7eadf;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}
.followup-q {
  padding: 10px 12px;
  background: #eefaf5;
  color: var(--primary-dark);
  font-weight: 800;
}
.followup-a {
  padding: 12px;
  display: grid;
  gap: 8px;
}
.followup-item span {
  display: block;
  padding: 0 12px 10px;
  color: var(--muted);
  font-size: 12px;
}
.followup-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.followup-input textarea {
  min-height: 76px;
  resize: vertical;
}
.followup-input button {
  min-width: 96px;
  min-height: 44px;
}
@media (max-width: 720px) {
  .followup-box { padding: 12px; }
  .followup-input { grid-template-columns: 1fr; }
  .followup-input button { width: 100%; }
}
/* Final fixed company profile dialog layout */
#companyProfileDialog {
  width: min(760px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100dvh - 36px) !important;
  overflow: hidden !important;
}
#companyProfileDialog .company-profile-form {
  width: 100% !important;
  max-width: 100% !important;
  max-height: calc(100dvh - 36px) !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  padding: 0 !important;
  overflow: hidden !important;
}
#companyProfileDialog .dialog-head {
  padding: 18px 20px 10px;
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}
#companyProfileDialog .company-profile-form > p {
  padding: 12px 20px 0;
}
#companyProfileDialog .profile-scroll {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 14px 20px 18px;
}
#companyProfileDialog .dialog-actions {
  position: static !important;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 20px 18px !important;
  border-top: 1px solid var(--line);
  background: #ffffff;
  box-shadow: 0 -8px 18px rgba(15, 23, 42, 0.06);
}
#companyProfileDialog .dialog-actions button {
  min-width: 96px;
}
@media (max-width: 720px) {
  #companyProfileDialog {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
  }
  #companyProfileDialog .company-profile-form {
    height: 100dvh !important;
    max-height: 100dvh !important;
  }
  #companyProfileDialog .dialog-head,
  #companyProfileDialog .company-profile-form > p,
  #companyProfileDialog .profile-scroll,
  #companyProfileDialog .dialog-actions {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  #companyProfileDialog .dialog-actions {
    grid-template-columns: 1fr 1fr;
  }
  #companyProfileDialog .dialog-actions button {
    flex: 1;
  }
}

/* Final mobile app shell: keep the active page full-screen like WeChat. */
@media (max-width: 720px) {
  html,
  body {
    width: 100%;
    min-height: 100%;
    background: #f7f8f8;
    overflow-x: hidden;
  }
  .shell {
    min-height: 100dvh;
    display: block;
    background: #f7f8f8;
  }
  .workspace {
    width: 100%;
    max-width: none;
    min-height: 100dvh;
    margin: 0;
    padding: 0 !important;
    gap: 0;
  }
  .brain-home,
  .pending-home,
  .customer-form-home {
    width: 100%;
    min-height: 100dvh;
    display: block;
    padding: 0 !important;
  }
  .brain-phone,
  .pending-phone,
  .customer-form-phone {
    width: 100%;
    min-height: 100dvh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .brain-phone {
    padding: 28px 18px 0;
    grid-template-rows: auto auto auto auto auto 1fr;
  }
  .pending-phone {
    grid-template-rows: auto auto 1fr auto;
  }
  .customer-form-phone {
    grid-template-rows: auto auto 1fr auto auto;
  }
  .brain-title {
    font-size: 38px;
    margin-bottom: 24px;
  }
  .brain-form {
    gap: 12px;
  }
  .brain-form label,
  .brain-api span {
    font-size: 15px;
  }
  .brain-form input {
    min-height: 46px;
    font-size: 15px;
    border-radius: 11px;
  }
  .brain-api {
    margin-top: 18px;
    padding: 14px;
    border-radius: 14px;
  }
  .brain-api label {
    grid-template-columns: 76px 1fr;
    font-size: 14px;
  }
  .brain-api input {
    min-height: 42px;
    font-size: 14px;
  }
  .api-connect-button {
    min-height: 42px;
    font-size: 15px;
  }
  .brain-save-tip {
    margin: 16px 0 12px;
    font-size: 13px;
  }
  .brain-actions {
    gap: 10px;
  }
  .brain-outline-button {
    min-height: 48px;
    font-size: 18px;
  }
  .brain-tabs {
    margin: auto -18px 0;
    padding: 8px 8px calc(10px + env(safe-area-inset-bottom));
    min-height: 72px;
  }
  .pending-tabs {
    margin: 0;
  }
  .brain-tabs button {
    min-height: 56px;
  }
  .brain-tabs em {
    font-size: 12px;
  }
  .tab-icon {
    width: 23px;
    height: 23px;
  }
  .tab-icon.small {
    width: 22px;
    height: 22px;
  }
  .pending-head {
    padding: 18px 16px 12px;
    grid-template-columns: 42px 1fr 42px;
  }
  .pending-head h1 {
    font-size: 28px;
  }
  .round-icon {
    width: 38px;
    height: 38px;
    font-size: 28px;
  }
  .pending-search {
    padding: 14px 18px 18px;
    grid-template-columns: 1fr 72px;
    gap: 8px;
  }
.pending-sort {
  padding: 0 18px 10px;
}
.loss-check-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.36);
  padding: 14px 14px calc(14px + env(safe-area-inset-bottom));
  box-sizing: border-box;
}
.loss-check-modal {
  position: relative;
  width: min(430px, 100%);
  max-height: min(82vh, 700px);
  overflow: auto;
  padding: 15px;
  border: 1px solid #dfe8e3;
  border-radius: 14px;
  background: #f8fbf8;
  display: grid;
  gap: 12px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
}
.loss-check-open {
  overflow: hidden;
}
.loss-check-close {
  position: absolute;
  right: 10px;
  top: 8px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #526158;
  font-size: 24px;
  line-height: 1;
}
.loss-check-head {
  display: grid;
  gap: 7px;
  padding-right: 30px;
}
.loss-check-head strong {
  display: inline-block;
  width: fit-content;
  padding-bottom: 3px;
  border-bottom: 2px solid rgba(24, 160, 88, 0.24);
  font-size: 17px;
  line-height: 1.25;
  color: #17231c;
}
.loss-check-head p {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  color: #2f3d35;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}
.loss-check-head .loss-modal-lead {
  color: #758078;
  font-style: normal;
  font-size: 12px;
  font-weight: 500;
}
.loss-check-head .loss-modal-focus {
  color: #17231c;
  font-size: 14px;
  font-weight: 900;
}
.loss-check-head span {
  width: fit-content;
  max-width: 100%;
  padding: 3px 6px;
  border-radius: 6px;
  background: #dff5e8;
  color: #0f7d45;
  font-weight: 800;
  font-size: 11px;
  line-height: 1.3;
}
.loss-check-grid {
  display: grid;
  gap: 10px;
}
.loss-check-card {
  border: 1px solid #e3e8e5;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
  display: grid;
  gap: 10px;
}
.loss-check-tag {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 6px 8px;
  border-radius: 5px;
  background: #f1f5f3;
  color: #1f2d25;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
.loss-check-card dl {
  margin: 0;
  display: grid;
  gap: 5px;
}
.loss-check-card dt {
  color: #79847e;
  font-size: 12px;
  font-weight: 700;
}
.loss-check-card dd {
  margin: 0 0 5px;
  color: #243029;
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.loss-check-card dd.bad {
  color: #9a3412;
}
.loss-check-card dd.fix {
  padding: 9px;
  border-radius: 7px;
  background: #effaf2;
  color: #17462a;
  font-weight: 700;
}
.loss-check-actions,
.loss-check-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 8px;
  border-radius: 8px;
  background: #f2fbf6;
}
.loss-check-actions {
  grid-template-columns: 1fr 1fr 1fr;
  background: #eaf8ef;
}
.loss-check-actions button,
.loss-check-footer button {
  min-height: 34px;
  border: 1px solid #cfd9d3;
  border-radius: 7px;
  background: #fff;
  color: #233129;
  font-size: 13px;
  font-weight: 700;
}
.loss-check-footer .primary {
  border-color: #18a058;
  background: #18a058;
  color: #fff;
}
  .customer-form-search {
    padding: 10px 18px 16px;
    grid-template-columns: 1fr 72px;
    gap: 8px;
  }
  .pending-search input {
    min-height: 48px;
    font-size: 17px;
    border-radius: 13px;
  }
  .customer-form-search input,
  .customer-entry-form input,
  .customer-entry-form select {
    min-height: 44px;
    font-size: 14px;
  }
  .pending-search button {
    border-radius: 13px;
    font-size: 15px;
  }
  .customer-form-search button {
    border-radius: 13px;
    font-size: 15px;
  }
  .customer-entry-form {
    padding: 16px 28px;
    gap: 11px;
  }
  .deal-row {
    gap: 16px;
    flex-wrap: wrap;
  }
  .customer-form-actions {
    padding: 0 52px 22px;
    gap: 10px;
  }
  .customer-form-actions .brain-outline-button {
    min-height: 42px;
    font-size: 16px;
  }
  .pending-list {
    padding: 4px 18px 18px;
    gap: 14px;
  }
  .pending-item {
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 10px;
  }
  .pending-name {
    min-height: 52px;
    font-size: 13px;
  }
  .pending-plan {
    min-height: 54px;
    padding: 9px 12px;
  }
  .pending-plan strong {
    font-size: 15px;
  }
  .pending-plan span {
    font-size: 12px;
  }
}

/* App visual standard: WeChat-like spacing, type, controls and safe header area. */
.pending-head,
.customer-form-phone .pending-head {
  padding-top: max(34px, calc(22px + env(safe-area-inset-top)));
}
.pending-head h1,
.customer-form-phone .pending-head h1 {
  font-size: 34px;
  font-weight: 800;
}
.customer-entry-form {
  gap: 18px;
}
.customer-entry-form label,
.deal-row {
  font-size: 17px;
}
.customer-form-search input,
.customer-entry-form input,
.customer-entry-form select {
  min-height: 54px;
  border-radius: 13px;
  font-size: 17px;
}
.customer-form-search button {
  min-height: 54px;
  font-size: 17px;
}
.customer-form-actions {
  padding-bottom: 34px;
}
.customer-form-actions .brain-outline-button {
  min-height: 48px;
  font-size: 18px;
  border-radius: 12px;
}
.brain-tabs {
  padding-bottom: calc(14px + env(safe-area-inset-bottom));
}
@media (max-width: 720px) {
  .pending-head,
  .customer-form-phone .pending-head {
    padding-top: max(28px, calc(16px + env(safe-area-inset-top)));
    padding-bottom: 14px;
  }
  .pending-head h1,
  .customer-form-phone .pending-head h1 {
    font-size: 28px;
  }
  .customer-entry-form {
    padding: 20px 30px;
    gap: 15px;
  }
  .customer-entry-form label,
  .deal-row {
    font-size: 16px;
  }
  .customer-form-search input,
  .customer-entry-form input,
  .customer-entry-form select {
    min-height: 48px;
    font-size: 16px;
  }
  .customer-form-search button {
    min-height: 48px;
    font-size: 16px;
  }
  .customer-form-actions {
    padding: 0 44px 26px;
  }
  .customer-form-actions .brain-outline-button {
    min-height: 44px;
    font-size: 16px;
  }
}

/* Final app-size lock: every main product page uses the same shell. */
.brain-phone,
.pending-phone,
.customer-form-phone,
.video-phone,
.customer-detail-phone,
.customer-chat-phone {
  width: min(var(--app-width), 100%) !important;
  min-height: min(var(--app-height), calc(100vh - 44px)) !important;
  max-height: min(var(--app-height), calc(100vh - 44px));
  overflow: hidden;
}
.brain-phone {
  overflow-y: auto !important;
}
.brain-phone,
.pending-phone,
.customer-form-phone,
.video-phone,
.customer-detail-phone,
.customer-chat-phone {
  grid-template-rows: auto auto 1fr auto;
}
.brain-tabs,
.pending-tabs {
  min-height: 78px;
  grid-template-columns: repeat(5, 1fr);
}
.video-phone {
  grid-template-rows: auto auto auto 1fr auto !important;
}
.customer-detail-phone,
.customer-chat-phone {
  width: min(var(--app-width), 100%) !important;
  min-height: min(var(--app-height), calc(100vh - 44px)) !important;
  max-height: min(var(--app-height), calc(100vh - 44px));
  border: 1px solid #d8e1dd;
  border-radius: 28px;
  background: #f5f5f5;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto auto auto;
}
.chat-head {
  min-height: 58px;
  padding: 12px 14px 8px;
  border-bottom: 1px solid #e6e6e6;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  background: #ffffff;
}
.chat-head h1 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
  line-height: 1.2;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-back,
.chat-more,
.chat-icon-button {
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: #1f2a33;
  font-size: 24px;
  line-height: 1;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 20;
  cursor: pointer;
}
.chat-head-spacer {
  width: 34px;
  height: 34px;
  display: block;
}
.chat-more {
  font-size: 22px;
}
.chat-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.chat-icon-button {
  border: 1px solid #d7e4dd;
  border-radius: 8px;
  background: #f7fbf8;
  color: #1f3a2f;
  font-size: 14px;
  font-weight: 700;
}
.chat-record-button {
  min-width: 48px;
  grid-template-columns: auto auto;
  gap: 4px;
  padding: 0 7px;
}
.record-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b6c3bc;
}
.chat-record-button.is-recording {
  border-color: #efb2b2;
  background: #fff5f5;
  color: #b42318;
}
.chat-record-button.is-recording .record-dot {
  background: #e03131;
}
.chat-record-button.is-processing {
  opacity: .72;
  cursor: wait;
}
.chat-thread {
  overflow: auto;
  padding: 18px 18px 10px;
}
.chat-time {
  text-align: center;
  color: #9a9da3;
  font-size: 14px;
  margin: 12px 0;
}
.chat-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 14px 0;
}
.chat-row.user {
  justify-content: flex-end;
}
.chat-avatar {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #21c063;
  color: #ffffff;
  display: grid;
  place-items: center;
  font-weight: 800;
  flex: 0 0 auto;
}
.chat-row.bot .chat-avatar {
  background: #1d7ed0;
}
.chat-bubble {
  max-width: 72%;
  border-radius: 8px;
  padding: 10px 14px;
  background: #ffffff;
  color: #1f2a33;
  font-size: 16px;
  line-height: 1.55;
}
.chat-row.user .chat-avatar {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #eaffdf;
  color: #15a34a;
  border: 1px solid #95ec69;
  font-weight: 900;
  box-shadow: none;
}
.chat-row.user .chat-bubble {
  background: #95ec69;
}
.chat-bubble.is-pending {
  color: #69747d;
  background: #ffffff;
}
.chat-input {
  display: grid;
  grid-template-columns: 1fr 72px;
  gap: 10px;
  padding: 12px 18px 16px;
  background: #f5f5f5;
}
.chat-input input,
.chat-input textarea {
  min-height: 42px;
  border: 1px solid #d8e0dd;
  border-radius: 8px;
  padding: 0 12px;
  font-size: 15px;
}
.chat-input textarea {
  padding: 9px 12px;
  line-height: 22px;
  resize: none;
  overflow-y: hidden;
  box-sizing: border-box;
}
.chat-input button {
  border: 0;
  border-radius: 8px;
  background: #07c160;
  color: #ffffff;
  font-weight: 800;
}
.pending-phone {
  grid-template-rows: auto auto auto 1fr auto auto !important;
}
@media (max-width: 720px) {
  .brain-phone,
  .pending-phone,
  .customer-form-phone,
  .video-phone,
  .customer-detail-phone,
.customer-chat-phone {
    width: 100% !important;
    min-height: 100dvh !important;
    max-height: none;
  }
  .brain-phone,
  .pending-phone,
  .customer-form-phone,
  .video-phone,
  .customer-detail-phone,
.customer-chat-phone {
    border-radius: 0;
  }
  .brain-tabs,
  .pending-tabs {
    min-height: 68px;
    grid-template-columns: repeat(5, 1fr);
  }
}

/* Search bar standard */
.pending-search,
.customer-form-search {
  padding: 18px 28px 24px !important;
  grid-template-columns: 1fr 86px !important;
  gap: 12px !important;
}
.pending-search input,
.customer-form-search input,
.pending-search button,
.customer-form-search button {
  min-height: 52px !important;
  border-radius: 12px !important;
}
.pending-search input,
.customer-form-search input {
  font-size: 16px !important;
  text-align: left !important;
}
.pending-search button,
.customer-form-search button {
  font-size: 16px !important;
}
@media (max-width: 720px) {
  .pending-search,
  .customer-form-search {
    padding: 14px 18px 18px !important;
    grid-template-columns: 1fr 76px !important;
    gap: 10px !important;
  }
  .pending-search input,
  .customer-form-search input,
  .pending-search button,
  .customer-form-search button {
    min-height: 48px !important;
  }
}
/* Natural mobile flow and strict hidden pages */
[hidden],
.app-screen[hidden],
.brain-home[hidden],
.pending-home[hidden],
.customer-form-home[hidden],
.customer-chat-home[hidden],
.customer-detail-home[hidden],
.video-home[hidden] {
  display: none !important;
}

.workspace,
.brain-home,
.app-screen {
  overflow: visible !important;
}

.brain-phone,
.pending-phone,
.customer-form-phone,
.video-phone,
.customer-detail-phone,
.customer-chat-phone {
  max-height: none !important;
  overflow: visible !important;
}

.brain-phone,
.pending-phone,
.customer-form-phone,
.video-phone {
  height: auto !important;
}

.pending-list,
.chat-thread {
  overflow: visible !important;
  max-height: none !important;
}

@media (max-width: 720px) {
  html,
  body,
  .shell,
  .workspace,
  .brain-home,
  .app-screen {
    height: auto !important;
    min-height: 100dvh;
    overflow: visible !important;
  }

  .workspace {
    padding: 0 !important;
    display: block !important;
  }

  .brain-home,
  .app-screen {
    display: block !important;
    min-height: auto !important;
  }

  .brain-home[hidden],
  .app-screen[hidden],
  .pending-home[hidden],
  .customer-form-home[hidden],
  .customer-chat-home[hidden],
  .video-home[hidden] {
    display: none !important;
  }

  .brain-phone,
  .pending-phone,
  .customer-form-phone,
  .video-phone,
  .customer-detail-phone,
  .customer-chat-phone {
    min-height: 100dvh !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .pending-list,
  .chat-thread {
    overflow: visible !important;
    max-height: none !important;
  }
}
/* Customer detail page */
.customer-detail-phone {
  width: min(var(--app-width), 100%);
  min-height: min(var(--app-height), calc(100vh - 44px));
  border: 1px solid #d8e1dd;
  border-radius: 28px;
  background: #f5f5f5;
  display: grid;
  grid-template-rows: auto 1fr auto;
  overflow: visible;
}
.detail-head { background: #ffffff; }
.customer-detail-content {
  display: grid;
  gap: 14px;
  padding: 18px;
}
.detail-zone {
  border-radius: 12px;
  padding: 14px;
  border: 1px solid #dde7e3;
}
.detail-zone h2 {
  margin: 0 0 12px;
  font-size: 17px;
  line-height: 1.3;
}
.detail-basic { background: #eef8f2; }
.detail-strategy { background: #eef5ff; }
.detail-notes { background: #fff7e8; display: grid; gap: 12px; }
.detail-table,
.detail-strategy-body {
  display: grid;
  gap: 8px;
}
.detail-table div,
.detail-strategy-body div {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(255,255,255,0.72);
  font-size: 15px;
  line-height: 1.45;
}
.detail-table strong,
.detail-strategy-body strong { color: #355047; }
.detail-table span,
.detail-strategy-body span { color: #1f2a33; }
.detail-notes label {
  display: grid;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
}
.detail-notes input,
.detail-notes textarea {
  width: 100%;
  border: 1px solid #d8e0dd;
  border-radius: 10px;
  background: #ffffff;
  padding: 10px 12px;
  font-size: 15px;
}
.detail-notes textarea {
  min-height: 130px;
  resize: vertical;
  line-height: 1.55;
}
.detail-save-button {
  min-height: 44px;
  border: 0;
  border-radius: 10px;
  background: #07c160;
  color: #ffffff;
  font-weight: 800;
}
@media (max-width: 720px) {
  .customer-detail-phone {
    width: 100% !important;
    min-height: 100dvh !important;
    max-height: none !important;
    border-radius: 0;
    overflow: visible !important;
  }
  .detail-table div,
  .detail-strategy-body div {
    grid-template-columns: 86px 1fr;
  }
}
/* Chat strategy paragraphs */
.strategy-bubble {
  display: grid;
  gap: 10px;
  position: relative;
  padding-bottom: 34px;
}
.chat-strategy-section {
  display: grid;
  gap: 6px;
  padding-bottom: 8px;
  border-bottom: 1px solid #edf0f2;
}
.chat-strategy-section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.chat-strategy-section strong {
  color: #0f7f59;
  font-size: 15px;
}
.chat-strategy-section p {
  margin: 0;
  white-space: pre-wrap;
}
.strategy-score-box,
.strategy-score-saved {
  justify-self: end;
  align-self: end;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 12px;
}
.strategy-score-box {
  color: #7a858c;
}
.strategy-score-box label {
  white-space: nowrap;
}
.strategy-score-box input {
  width: 58px;
  height: 26px;
  border: 0;
  border-bottom: 1px solid #9aa5ad;
  border-radius: 0;
  padding: 0 2px;
  font-size: 12px;
  background: transparent;
  text-align: center;
  outline: none;
}
.strategy-score-box button {
  height: 26px;
  border: 0;
  border-radius: 6px;
  padding: 0 9px;
  background: #07c160;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
}
.strategy-score-saved {
  color: #667078;
  background: #f2f6f4;
  border-radius: 999px;
  padding: 3px 8px;
}
.strategy-score-saved span {
  color: #07c160;
  font-weight: 900;
}
.strategy-score-saved em {
  font-style: normal;
}
.chat-light-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 6px 0 8px;
}
.chat-light-actions button {
  min-height: 28px;
  border: 1px solid #dce8e2;
  border-radius: 6px;
  background: #ffffff;
  color: #4e5b66;
  padding: 0 9px;
  font-size: 12px;
  font-weight: 700;
}
.chat-light-actions button.active {
  border-color: #07c160;
  color: #078846;
  background: #eefbf4;
}
.chat-light-actions button:disabled {
  opacity: .62;
}
.chat-light-actions span {
  color: #078846;
  font-size: 12px;
  font-weight: 700;
}
.detail-category-select {
  width: 100%;
  min-height: 38px;
  border: 1px solid #cfded8;
  border-radius: 8px;
  background: #ffffff;
  color: #1f2a33;
  padding: 0 10px;
  font-size: 15px;
  font-weight: 700;
}
.detail-owner-name {
  display: block;
  margin-top: 4px;
  color: #8a949c;
  font-size: 12px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 400;
}
.detail-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.detail-section-title h2 { margin: 0; }
.detail-plus-button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #07c160;
  color: #ffffff;
  font-size: 24px;
  line-height: 1;
  font-weight: 800;
}
.detail-add-row,
.detail-reminder-editor {
  display: grid;
  gap: 8px;
}
.detail-reminder-editor {
  grid-template-columns: 1fr minmax(92px, 130px) 64px;
}
.detail-add-row {
  grid-template-columns: 1fr 64px;
}
.detail-add-row[hidden],
.detail-reminder-editor[hidden] { display: none !important; }
.detail-add-row input,
.detail-reminder-editor input {
  min-height: 40px;
  border: 1px solid #d8e0dd;
  border-radius: 9px;
  background: #ffffff;
  padding: 0 10px;
  font-size: 14px;
}
.detail-add-row button,
.detail-reminder-editor button {
  border: 0;
  border-radius: 9px;
  background: #07c160;
  color: #ffffff;
  font-weight: 800;
}
.detail-record-list {
  display: grid;
  gap: 8px;
}
.detail-record,
.detail-empty-record {
  border-radius: 9px;
  background: rgba(255,255,255,0.7);
  padding: 9px 10px;
  line-height: 1.45;
}
.detail-record {
  display: grid;
  gap: 3px;
}
.detail-record strong {
  color: #1f2a33;
  font-size: 15px;
}
.detail-record span,
.detail-empty-record {
  color: #6b7480;
  font-size: 13px;
}
@media (max-width: 720px) {
  .detail-reminder-editor { grid-template-columns: 1fr; }
}
/* Compact action buttons */
.brain-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  margin: 12px 0 10px !important;
}
.brain-outline-button,
.primary-button,
.secondary-button,
.pending-search button,
.customer-form-search button,
.detail-add-row button,
.detail-reminder-editor button {
  width: auto !important;
  min-width: 88px !important;
  min-height: 42px !important;
  height: 42px !important;
  border-radius: 9px !important;
  padding: 0 22px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 42px !important;
}
.brain-outline-button,
.pending-search button,
.customer-form-search button {
  color: #ffffff !important;
  background: #07c160 !important;
  border: 1px solid #07c160 !important;
}
.primary-button,
.detail-add-row button,
.detail-reminder-editor button {
  background: #07c160 !important;
  border-color: #07c160 !important;
  color: #ffffff !important;
}
.api-connect-button {
  width: 100% !important;
  min-height: 48px !important;
  height: 48px !important;
  border-radius: 13px !important;
  padding: 0 24px !important;
  font-size: 18px !important;
  line-height: 48px !important;
  justify-self: stretch !important;
}
.customer-form-actions {
  padding: 0 28px 20px !important;
  justify-content: center !important;
}
.large-action {
  min-width: 108px !important;
}
@media (max-width: 720px) {
  .brain-actions { gap: 12px !important; }
  .brain-outline-button,
  .primary-button,
  .secondary-button,
  .pending-search button,
  .customer-form-search button,
  .detail-add-row button,
  .detail-reminder-editor button {
    min-width: 82px !important;
    min-height: 40px !important;
    height: 40px !important;
    border-radius: 9px !important;
    padding: 0 18px !important;
    font-size: 15px !important;
    line-height: 40px !important;
  }
  .api-connect-button {
    width: 100% !important;
    min-height: 46px !important;
    height: 46px !important;
    border-radius: 13px !important;
    font-size: 17px !important;
    line-height: 46px !important;
  }
}

/* WeChat-like fixed chat viewport */
.customer-chat-home {
  min-height: 0 !important;
  height: var(--app-height) !important;
  overflow: hidden !important;
}
.customer-chat-phone {
  height: min(var(--app-height), calc(100vh - 44px)) !important;
  min-height: min(var(--app-height), calc(100vh - 44px)) !important;
  max-height: min(var(--app-height), calc(100vh - 44px)) !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}
.customer-chat-phone .chat-thread {
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.customer-chat-phone .chat-thread::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
.customer-chat-phone .chat-input {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 5 !important;
}
@media (max-width: 720px) {
  .customer-chat-home {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }
  .customer-chat-phone {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
  }
}

/* Brain page action spacing */
.brain-home .brain-actions {
  margin: -6px 0 8px !important;
}
.brain-home .brain-save-tip {
  margin: 8px 0 0 !important;
  min-height: 0 !important;
}
.brain-home .brain-customer-stats {
  margin-top: 8px !important;
}
@media (max-width: 720px) {
  .brain-home .brain-actions {
    margin: -8px 0 8px !important;
  }
}

/* Customer entry fixed action row */
.customer-form-phone {
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto auto !important;
}
.customer-form-phone .customer-entry-form {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.customer-form-phone .customer-entry-form::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
.customer-form-phone .customer-form-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  padding: 10px 60px 12px !important;
  background: #f7f8f8 !important;
}
@media (max-width: 720px) {
  .customer-form-phone {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }
  .customer-form-phone .customer-form-actions {
    padding: 8px 28px 10px !important;
  }
}

/* Final brain action spacing: keep the buttons visually connected but not cramped */
.brain-home .brain-actions {
  margin: 18px 0 18px !important;
}
.brain-home .brain-save-tip {
  margin: 10px 0 0 !important;
  min-height: 0 !important;
}
.brain-home .brain-customer-stats {
  margin-top: 0 !important;
}
@media (max-width: 720px) {
  .brain-home .brain-actions {
    margin: 16px 0 16px !important;
  }
}

/* Customer detail fixed viewport with hidden internal scroll */
.customer-detail-home {
  height: var(--app-height) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.customer-detail-phone {
  height: min(var(--app-height), calc(100vh - 44px)) !important;
  min-height: min(var(--app-height), calc(100vh - 44px)) !important;
  max-height: min(var(--app-height), calc(100vh - 44px)) !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}
.customer-detail-phone .customer-detail-content {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.customer-detail-phone .customer-detail-content::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
@media (max-width: 720px) {
  .customer-detail-home {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }
.customer-detail-phone {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
  }
}

/* Brain profile lock state */
.brain-home .brain-actions {
  justify-content: flex-end !important;
}
.brain-home .brain-actions .brain-outline-button {
  min-width: 132px !important;
}
.brain-home .brain-actions .brain-outline-button[hidden] {
  display: none !important;
}
.brain-profile-summary {
  cursor: pointer;
  user-select: none;
}



/* API key field state */
.brain-api input.no-key-needed,
.brain-api input:disabled {
  background: #f4f7f5 !important;
  color: #6b7780 !important;
  border-color: #dce5df !important;
  -webkit-text-security: none !important;
  cursor: default !important;
}

.api-key-box {
  display: grid;
  grid-template-columns: 1fr 56px;
  gap: 8px;
  align-items: center;
}
.api-key-eye {
  min-height: 48px;
  border: 1px solid #dfe5ea;
  border-radius: 10px;
  background: #ffffff;
  color: #07a553;
  font-size: 14px;
  font-weight: 800;
}
.api-key-eye:disabled {
  color: #9aa4ad;
  background: #f4f7f5;
  cursor: default;
}

/* Clean answer reading rhythm */
.strategy-bubble {
  display: grid;
  gap: 8px;
  line-height: 1.7;
}
.strategy-line {
  padding: 11px 12px;
  border-radius: 8px;
  background: #f6f8fa;
}
.strategy-line p {
  margin: 0;
  color: #25313b;
  font-size: 15px;
}
.strategy-line strong {
  color: #111827;
  font-weight: 800;
  background: linear-gradient(transparent 60%, rgba(7, 193, 96, 0.16) 60%);
}
.strategy-title {
  margin: 0 0 6px;
  color: #111827;
  font-size: 15px;
  font-weight: 900;
}
.strategy-judge {
  background: #eef6ff;
}
.strategy-reason {
  background: #f5f7fa;
}
.strategy-script {
  background: #eafaf1;
}
.strategy-script p {
  font-weight: 650;
}
.strategy-action {
  background: #fff4d8;
}
.strategy-warning {
  background: #ffecec;
}
.answer-body p {
  line-height: 1.78;
  margin: 0 0 10px;
}
.answer-body strong,
.kv-value strong {
  color: #111827;
  font-weight: 800;
}



/* Customer chat image OCR button */
.chat-input .chat-image-button {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border: 1px solid #cfd8d4;
  border-radius: 50%;
  background: #f7faf8;
  color: #56636b;
  font-size: 24px;
  line-height: 1;
  font-weight: 500;
  display: inline-grid;
  place-items: center;
  padding: 0;
}
.chat-input .chat-image-button:disabled {
  opacity: .65;
}

/* Mobile WeChat-like compact scale */
@media (max-width: 720px) {
  :root { --app-width: 100vw; --app-height: 100vh; }
  body { background: #ededed; font-size: 15px; }
  .workspace { width: 100%; max-width: none; padding: 0; margin: 0; }
  .brain-phone,
  .pending-phone,
  .customer-form-phone,
  .customer-chat-phone,
  .customer-detail-phone,
  .video-phone {
    width: 100%; min-height: 100vh; border: 0; border-radius: 0; box-shadow: none; background: #f7f8f8;
  }
  .pending-head,
  .chat-head,
  .detail-head,
  .video-head {
    padding: max(18px, calc(10px + env(safe-area-inset-top))) 14px 8px;
    min-height: 54px; grid-template-columns: 38px 1fr 38px; gap: 8px;
    background: #f2f2f2; border-bottom: 1px solid #dfe3e6;
  }
  .pending-head h1,
  .chat-head h1,
  .detail-head h1,
  .video-head h1 {
    font-size: 17px; line-height: 1.25; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .round-icon,
  .chat-back,
  .chat-more,
  .video-more {
    width: 34px; height: 34px; min-height: 34px; font-size: 24px; line-height: 1; background: transparent; color: #202427;
  }
  .round-icon.add { background: transparent; color: #202427; font-size: 24px; }
  .customer-entry-form { padding: 16px 18px 104px; gap: 12px; overflow: auto; }
  .customer-entry-form label { gap: 6px; font-size: 14px; font-weight: 700; color: #202427; }
  .customer-form-search input,
  .customer-entry-form input,
  .customer-entry-form select,
  .pending-search input,
  .customer-form-search input {
    min-height: 42px !important; border-radius: 8px !important; padding: 0 12px !important;
    font-size: 15px !important; font-weight: 500 !important; background: #ffffff;
  }
  .customer-entry-form input::placeholder { color: #8a8f94; font-weight: 500; }
  .deal-row { gap: 16px; font-size: 14px; font-weight: 700; }
  .customer-form-actions {
    position: fixed; left: 0; right: 0; bottom: 61px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
    padding: 8px 18px 10px; background: rgba(247,248,248,.96); border-top: 1px solid #e1e5e8;
  }
  .customer-form-actions .brain-outline-button {
    min-height: 42px; border-radius: 8px; font-size: 16px; font-weight: 700; background: #07c160; color: #ffffff; border-color: #07c160;
  }
  .brain-tabs { height: 61px; min-height: 61px; border-top: 1px solid #dfe3e6; background: #ffffff; }
  .brain-tabs button { min-height: 60px; padding: 5px 0 4px; gap: 2px; }
  .brain-tabs em { font-size: 12px; font-weight: 500; color: #606a73; }
  .tab-icon { width: 25px; height: 25px; border-width: 3px; }
  .tab-icon.small { width: 24px; height: 24px; }
  .pending-search,
  .customer-form-search { padding: 10px 12px 12px !important; grid-template-columns: 1fr 64px !important; gap: 8px !important; }
  .pending-search button,
  .customer-form-search button { min-height: 42px !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 700 !important; }
}

/* WeChat-like chat bubble width and reading style */
.customer-chat-phone .chat-thread {
  padding-left: 10px !important;
  padding-right: 10px !important;
  background: #ededed !important;
}
.customer-chat-phone .chat-row {
  gap: 6px !important;
  margin: 4px 0 !important;
}
.customer-chat-phone .chat-avatar {
  width: 38px !important;
  height: 38px !important;
  border-radius: 6px !important;
  font-size: 18px !important;
}
.customer-chat-phone .chat-bubble {
  max-width: calc(100% - 54px) !important;
  border-radius: 7px !important;
  padding: 7px 10px !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.customer-chat-phone .chat-row.user .chat-bubble {
  max-width: calc(100% - 54px) !important;
  background: #95ec69 !important;
}
.customer-chat-phone .strategy-bubble {
  display: block !important;
  gap: 0 !important;
}
.customer-chat-phone .strategy-line {
  padding: 0 !important;
  margin: 0 0 6px !important;
  border-radius: 0 !important;
  background: transparent !important;
  max-width: 100% !important;
}
.customer-chat-phone .strategy-line.strategy-light {
  margin-bottom: 7px !important;
}
.customer-chat-phone .strategy-script {
  background: #ecfdf3 !important;
  border: 1px solid #c9ecd7 !important;
  border-radius: 8px !important;
  padding: 8px 9px !important;
}
.customer-chat-phone .strategy-script .strategy-title {
  color: #087b3e !important;
}
.customer-chat-phone .strategy-mini {
  margin-bottom: 6px !important;
  border-bottom: 1px solid #eef2f0 !important;
}
.customer-chat-phone .strategy-mini-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) 18px !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  border: 1px solid #e1ebe5 !important;
  border-radius: 7px !important;
  background: #f8fbf9 !important;
  padding: 5px 7px !important;
  text-align: left !important;
  color: #1f2933 !important;
}
.customer-chat-phone .strategy-mini-head strong {
  font-size: 13px !important;
  color: #111827 !important;
}
.customer-chat-phone .strategy-mini-head span {
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  font-size: 13px !important;
  color: #59636e !important;
}
.customer-chat-phone .strategy-mini-head em {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center !important;
  background: #eaf5ef !important;
  color: #49705b !important;
  font-style: normal !important;
  font-size: 13px !important;
  line-height: 1 !important;
}
.customer-chat-phone .strategy-mini-head em::before {
  content: "鈱?;
}
.customer-chat-phone .strategy-mini.is-open .strategy-mini-head em::before {
  content: "鈱?;
}
.customer-chat-phone .strategy-mini-body {
  display: none !important;
  padding: 4px 0 7px !important;
}
.customer-chat-phone .strategy-mini.is-open .strategy-mini-body {
  display: block !important;
}
.customer-chat-phone .strategy-line:last-child {
  margin-bottom: 0 !important;
}
.customer-chat-phone .strategy-detail {
  margin-top: 7px !important;
  padding-top: 6px !important;
  border-top: 1px solid #e7ece9 !important;
  max-width: 100% !important;
}
.customer-chat-phone .strategy-detail-toggle {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  text-align: left !important;
  color: #111827 !important;
}
.customer-chat-phone .strategy-detail-toggle::before {
  content: "鈻?;
  margin-right: 2px;
}
.customer-chat-phone .strategy-detail.is-open .strategy-detail-toggle::before {
  content: "鈻?;
}
.customer-chat-phone .strategy-detail-content {
  display: none !important;
  padding-top: 6px !important;
}
.customer-chat-phone .strategy-detail.is-open .strategy-detail-content {
  display: block !important;
}
.customer-chat-phone .strategy-title {
  margin: 0 0 2px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.customer-chat-phone .strategy-line p {
  font-size: 14px !important;
  line-height: 1.42 !important;
  max-width: 100% !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
.customer-chat-phone .strategy-line strong,
.customer-chat-phone .answer-body strong,
.customer-chat-phone .kv-value strong {
  background: transparent !important;
  font-weight: 700 !important;
}
.customer-chat-phone .stage-update-box,
.customer-chat-phone .strategy-score-box,
.customer-chat-phone .strategy-score-saved {
  margin-top: 10px !important;
}
.customer-chat-phone .chat-light-actions {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 6px 0 7px !important;
  gap: 5px !important;
}
.customer-chat-phone .chat-light-actions button {
  min-height: 28px !important;
  padding: 0 5px !important;
  border-radius: 6px !important;
  border: 1px solid #d8e7de !important;
  background: #f3faf6 !important;
  color: #526059 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.customer-chat-phone .chat-light-actions span {
  grid-column: 1 / -1 !important;
  min-height: 0 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}
.customer-chat-phone .chat-variant-picker {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 5px !important;
  margin: 5px 0 7px !important;
}
.customer-chat-phone .chat-variant-option {
  min-height: 28px !important;
  padding: 0 5px !important;
  border-radius: 6px !important;
  border: 1px solid #cfe4d7 !important;
  background: #ffffff !important;
  color: #3f6250 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.customer-chat-phone .chat-variant-option.active {
  background: #e8f8ef !important;
  border-color: #8ed5aa !important;
  color: #087b3e !important;
}
.customer-chat-phone .stage-update-box div {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.customer-chat-phone .stage-update-box button {
  min-height: 31px !important;
  padding: 0 9px !important;
  font-size: 14px !important;
  border-radius: 5px !important;
}

/* Compact stage update buttons like score confirm button */
.customer-chat-phone .stage-update-box {
  margin-top: 8px !important;
  font-size: 12px !important;
}
.customer-chat-phone .stage-update-box strong {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #7a858c !important;
}
.customer-chat-phone .stage-update-box div {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 5px !important;
}
.customer-chat-phone .stage-update-box button {
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 9px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #f2f6f4 !important;
  color: #667078 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 26px !important;
}
.customer-chat-phone .stage-update-box button.active {
  background: #07c160 !important;
  color: #ffffff !important;
}

/* Login home */
.login-home {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: start;
  background:
    radial-gradient(circle at 88% 7%, rgba(255,255,255,.34) 0 13%, transparent 14%),
    radial-gradient(circle at 50% 88%, rgba(180,255,214,.72), transparent 46%),
    linear-gradient(180deg,#19bf55 0%,#31d571 38%,#ecfff4 72%,#ffffff 100%);
  padding: max(118px, calc(92px + env(safe-area-inset-top))) 26px 28px;
  overflow-y: auto;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}
.login-home[hidden] { display: none !important; }
.login-bg-orb {
  position: fixed;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
}
.login-bg-orb-one {
  top: -40px;
  right: -64px;
  width: 220px;
  height: 220px;
}
.login-bg-orb-two {
  top: -8px;
  right: 20px;
  width: 150px;
  height: 150px;
  background: rgba(255,255,255,.16);
}
.login-visual {
  width: min(100%, 420px);
  margin: 0 auto;
}
.login-visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}
.login-home h1 {
  position: relative;
  z-index: 1;
  margin: 0 0 62px;
  text-align: center;
  color: #fff;
  font-size: clamp(42px, 12vw, 62px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: 3px;
}
.login-form {
  position: relative;
  z-index: 1;
  width: min(100%, 420px);
  margin: 0 auto;
  display: grid;
  gap: 0;
  padding: 36px 32px 42px;
  border-radius: 24px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 22px 44px rgba(22, 163, 74, .18), 0 0 0 1px rgba(255,255,255,.68) inset;
}
.login-form input[type="text"],
.login-form input[type="password"],
.login-form > input,
.login-field input {
  width: 100%;
  height: 58px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0 6px;
  color: #242b33;
  font-size: 19px;
  outline: none;
}
.login-field {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  min-height: 68px;
  border-bottom: 1px solid rgba(17,24,39,.1);
}
.login-field-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #111827;
}
.login-field-icon svg {
  width: 29px;
  height: 29px;
}
.login-form input::placeholder { color: #8c96a3; }
.login-options {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #7c7f83;
  font-size: 13px;
  margin-top: 12px;
}
.login-options label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.login-options input {
  width: 16px;
  height: 16px;
  accent-color: #21c85a;
}
.login-options button,
.login-forgot-bottom {
  border: 0;
  background: transparent;
  color: #1769aa;
  font-size: 15px;
  padding: 0;
}
.login-button {
  height: 62px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg,#22c55e,#20c45b);
  color: #ffffff;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 2px;
  margin-top: 34px;
  box-shadow: 0 14px 26px rgba(34,197,94,.28);
}
.login-button:disabled,
.login-button.is-loading {
  opacity: .76;
  cursor: wait;
  box-shadow: none;
}
.login-status {
  display: none;
  width: 100%;
  min-height: 34px;
  box-sizing: border-box;
  margin: 10px 0 -4px;
  padding: 8px 10px;
  border-radius: 9px;
  border: 1px solid transparent;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
  text-align: center;
}
.login-status.show {
  display: block;
}
.login-status.is-error {
  border-color: #f3c2c2;
  background: #fff4f4;
  color: #b42318;
}
.login-status.is-loading {
  border-color: #cbe9d5;
  background: #f2fbf5;
  color: #137a3b;
}
.login-status.is-success {
  border-color: #bfe8cd;
  background: #effcf4;
  color: #08783b;
}
.login-agreement {
  position: relative;
  z-index: 1;
  width: min(100%, 360px);
  margin: 92px auto 0;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  color: #7b8794;
  font-size: 12px;
  line-height: 1.4;
}
.login-agreement input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.login-agreement-box {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  color: #111827;
}
.login-agreement-box svg {
  width: 24px;
  height: 24px;
}
.login-agreement input:checked + .login-agreement-box {
  color: #20bf55;
  background: linear-gradient(180deg,#ecfdf3,#ffffff);
  border-radius: 5px;
}
.login-agreement input:checked + .login-agreement-box::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 7px;
  border-left: 2px solid #20bf55;
  border-bottom: 2px solid #20bf55;
  transform: rotate(-45deg) translate(1px,-1px);
}
.login-agreement button {
  border: 0;
  padding: 0;
  background: transparent;
  color: #5f6b76;
  font: inherit;
}
.login-forgot-bottom {
  justify-self: end;
  margin-top: 8px;
}
body.show-login-home .shell {
  visibility: hidden;
  pointer-events: none;
}
body.boot-target-page .shell,
body.boot-target-page .login-home {
  visibility: hidden !important;
  pointer-events: none !important;
}
body.boot-target-page {
  background: #ffffff;
}
.app-startup-error {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  max-width: 560px;
  margin: 0 auto;
  padding: 12px 14px;
  border: 1px solid rgba(185, 28, 28, .28);
  border-radius: 8px;
  background: #fff7f7;
  color: #8a1111;
  box-shadow: 0 10px 28px rgba(20, 20, 20, .12);
  font-size: 14px;
  line-height: 1.5;
}
@media (max-width: 720px) {
  .login-home { padding: max(18px, env(safe-area-inset-top)) 24px 24px; }
  .login-home h1 { margin-top: 4px; margin-bottom: 28px; }
  .login-form { gap: 15px; }
  .login-form input[type="text"],
  .login-form input[type="password"],
  .login-form > input { height: 50px; font-size: 16px; border-radius: 10px; }
  .login-button { height: 54px; font-size: 22px; border-radius: 12px; }
}

/* Login home without heavy top image */
.login-home {
  padding-top: max(84px, calc(68px + env(safe-area-inset-top))) !important;
  background: linear-gradient(180deg,#eef7ff 0%,#ffffff 42%,#ffffff 100%) !important;
}
.login-visual { display: none !important; }
.login-home h1 {
  margin: 0 0 44px !important;
}
@media (max-width: 720px) {
  .login-home { padding-top: max(76px, calc(58px + env(safe-area-inset-top))) !important; }
  .login-home h1 { margin-bottom: 36px !important; }
}

/* Hide user-facing model connection area; admin uses admin panel */
.brain-api {
  display: none !important;
}
.admin-panel .brain-api {
  display: initial !important;
}
.admin-strategy-entry {
  gap: 9px !important;
}
.admin-strategy-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.admin-strategy-buttons button {
  min-height: 32px;
  padding: 0 6px;
  border: 1px solid #d8e6dd;
  border-radius: 7px;
  background: #ffffff;
  color: #16784b;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

/* Keep pending customer list directly under filters */
.pending-home .pending-phone {
  display: grid !important;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto !important;
}
.pending-home .pending-list {
  align-self: start !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow-y: auto !important;
  padding-top: 8px !important;
}
.pending-home .pending-tabs {
  align-self: end !important;
}

/* WeChat-like global typography normalization */
html,
body,
button,
input,
textarea,
select {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
body {
  color: #191919 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
strong,
b,
h1,
h2,
h3,
h4,
.brand-title,
.brain-title,
.pending-head h1,
.chat-head h1,
.detail-head h1,
.video-head h1,
.customer-entry-form label,
.deal-row,
.brain-tabs em,
.login-home h1,
.login-button,
.customer-stats,
.customer-stats button,
.chat-bubble,
.strategy-title,
.strategy-line strong,
.answer-body strong,
.kv-value strong,
.stage-update-box strong,
.stage-update-box button,
.strategy-score-box button {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif !important;
  font-weight: 400 !important;
}
.pending-head h1,
.chat-head h1,
.detail-head h1,
.video-head h1 {
  font-size: 17px !important;
  color: #191919 !important;
}
.brain-title {
  font-size: 32px !important;
  color: #191919 !important;
}
.customer-entry-form label,
.deal-row,
.brain-form label {
  font-size: 15px !important;
  color: #191919 !important;
}
.customer-entry-form input,
.customer-entry-form select,
.brain-form input,
.login-form input,
.chat-input input,
.chat-input textarea {
  font-size: 15px !important;
  color: #191919 !important;
}
.brain-tabs em {
  font-size: 12px !important;
  color: #191919 !important;
}
.brain-tabs button.active em,
.brain-tabs button:focus em,
.brain-tabs button:hover em {
  color: #07c160 !important;
}
.chat-bubble,
.strategy-line p,
.answer-body p {
  font-size: 15px !important;
  line-height: 1.58 !important;
}
.login-home h1 {
  font-size: clamp(42px, 12vw, 68px) !important;
  color: #f08a00 !important;
}
.login-button {
  font-size: 22px !important;
}
.customer-stats,
.customer-stats button {
  font-size: 14px !important;
  color: #5f6870 !important;
}

/* Enterprise admin backend */
.admin-page-body {
  margin: 0;
  min-height: 100vh;
  background: #ededed !important;
  color: #191919 !important;
}
.enterprise-admin-page {
  width: min(430px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 12px 14px 28px;
  background: #f7f8f8;
}
.enterprise-admin-head {
  padding: 8px 2px 10px;
  text-align: center;
}
.enterprise-admin-head h1 {
  margin: 0;
  font-size: 20px;
  font-weight: 400;
}
.enterprise-admin-head p,
#adminLoginStatus,
#adminStatusText {
  margin: 8px 0 0;
  color: #7a8388;
  font-size: 13px;
  line-height: 1.55;
}
.enterprise-admin-card {
  display: grid;
  gap: 8px;
  margin: 0 0 10px;
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e5e5e5;
}
.enterprise-admin-card h2 {
  margin: 0 0 1px;
  font-size: 16px;
  font-weight: 400;
}
.enterprise-admin-card.admin-accordion {
  padding: 0;
  overflow: hidden;
}
.admin-accordion-head {
  width: 100%;
  min-height: 44px !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #191919 !important;
  font-size: 16px !important;
  text-align: left;
}
.admin-accordion-head span {
  font-weight: 500;
}
.admin-accordion-head em {
  font-style: normal;
  color: #7a8388;
  font-size: 17px;
}
.admin-accordion-body {
  display: grid;
  gap: 8px;
  padding: 0 12px 12px;
}
.admin-accordion-body[hidden] {
  display: none !important;
}
.enterprise-admin-card label {
  display: grid;
  gap: 5px;
  font-size: 14px;
  color: #191919;
}
.enterprise-admin-card input,
.enterprise-admin-card select,
.enterprise-admin-card textarea {
  width: 100%;
  min-height: 34px;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  background: #fff;
  padding: 0 9px;
  color: #191919;
  font-size: 14px;
  outline: none;
}
.enterprise-admin-card input:focus,
.enterprise-admin-card select:focus,
.enterprise-admin-card textarea:focus {
  border-color: #07c160;
}
.enterprise-admin-card .enterprise-kb-text {
  min-height: 118px;
  padding: 9px 10px;
  resize: vertical;
  line-height: 1.45;
}
.enterprise-admin-card .admin-help-text {
  margin: 0;
  color: #7a8388;
  font-size: 13px;
  line-height: 1.45;
}
.enterprise-admin-card button {
  min-height: 35px;
  border: 0;
  border-radius: 6px;
  background: #07c160;
  color: #fff;
  font-size: 14px;
}
.enterprise-admin-card button:disabled {
  opacity: .58;
}
.enterprise-admin-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.sales-policy-options {
  display: grid;
  gap: 6px;
}
.sales-policy-options label {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  color: #53616b;
}
.sales-policy-options input {
  width: 18px;
  min-height: 18px;
  height: 18px;
}
.sales-policy-card textarea {
  min-height: 58px;
  padding: 8px 9px;
  line-height: 1.4;
  resize: vertical;
}
.sales-dashboard-content {
  display: grid;
  gap: 8px;
}
.sales-dashboard-refresh {
  width: 100%;
  min-height: 32px;
  border: 1px solid #07c160;
  border-radius: 7px;
  background: #07c160;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
}
.sales-dashboard-refresh:disabled {
  opacity: .72;
}
.sales-dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.sales-dashboard-metrics span,
.sales-pipeline-grid span {
  min-width: 0;
  min-height: 42px;
  padding: 5px 4px;
  border-radius: 6px;
  background: #f7fbf9;
  border: 1px solid #e2eee8;
  color: #68737b;
  font-size: 11px;
  line-height: 1.25;
  text-align: center;
}
.sales-dashboard-metrics em {
  display: block;
  font-style: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sales-dashboard-metrics b,
.sales-pipeline-grid b {
  display: block;
  margin-top: 2px;
  color: #191919;
  font-size: 15px;
  font-weight: 700;
}
.sales-dashboard-section {
  display: grid;
  gap: 4px;
  padding: 7px 0 0;
  border-top: 1px solid #edf1f3;
}
.sales-dashboard-section strong {
  color: #191919;
  font-size: 14px;
  font-weight: 700;
}
.sales-dashboard-section p {
  margin: 0;
  color: #53616b;
  font-size: 12px;
  line-height: 1.38;
}
.sales-pipeline-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.sales-pipeline-grid span {
  min-height: 38px;
}
.strategy-discovery-list {
  display: grid;
  gap: 8px;
}
.strategy-discovery-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.strategy-discovery-filter button {
  width: auto;
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid #dce9e2;
  border-radius: 999px;
  background: #fff;
  color: #53616b;
  font-size: 12px;
  font-weight: 700;
}
.strategy-discovery-filter button.active {
  border-color: #07c160;
  background: #e9fff3;
  color: #078658;
}
.strategy-discovery-card .admin-accordion-body,
.strategy-draft-card .admin-accordion-body,
.adopted-strategy-card .admin-accordion-body {
  display: grid;
  gap: 8px;
}
.strategy-draft-list {
  display: grid;
  gap: 8px;
}
.adopted-strategy-list {
  display: grid;
  gap: 8px;
}
.strategy-discovery-row {
  display: grid;
  gap: 5px;
  padding: 9px;
  border: 1px solid #e2eee8;
  border-radius: 7px;
  background: #f9fcfb;
}
.strategy-draft-row {
  display: grid;
  gap: 7px;
  padding: 9px;
  border: 1px solid #e2eee8;
  border-radius: 7px;
  background: #f9fcfb;
}
.adopted-strategy-row {
  display: grid;
  gap: 5px;
  padding: 9px;
  border: 1px solid #e2eee8;
  border-radius: 7px;
  background: #f9fcfb;
}
.strategy-discovery-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.strategy-discovery-head strong {
  min-width: 0;
  color: #191919;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.strategy-discovery-head span {
  flex: 0 0 auto;
  padding: 2px 7px;
  border-radius: 999px;
  background: #e9fff3;
  color: #078658;
  font-size: 11px;
  font-weight: 700;
}
.strategy-discovery-row p,
.adopted-strategy-row p,
.strategy-discovery-row small,
.adopted-strategy-row small,
.strategy-draft-row small {
  margin: 0;
  color: #53616b;
  font-size: 12px;
  line-height: 1.38;
}
.strategy-discovery-row b {
  color: #191919;
}
.adopted-strategy-row b {
  color: #191919;
}
.strategy-discovery-meta,
.strategy-discovery-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.strategy-discovery-sources {
  display: grid;
  gap: 3px;
  padding: 5px 6px;
  border: 1px dashed #dbe8e1;
  border-radius: 6px;
  background: #fff;
}
.strategy-discovery-sources span {
  color: #68737b;
  font-size: 11px;
  line-height: 1.35;
}
.strategy-discovery-meta span {
  padding: 2px 6px;
  border-radius: 5px;
  background: #fff;
  border: 1px solid #edf1f3;
  color: #68737b;
  font-size: 11px;
}
.enterprise-admin-card .strategy-discovery-actions button {
  width: auto;
  min-height: 26px;
  padding: 0 8px;
  border: 1px solid #07c160;
  background: #fff;
  color: #07a653;
  font-size: 12px;
}
.strategy-draft-row label {
  display: grid;
  gap: 3px;
  color: #53616b;
  font-size: 12px;
}
.strategy-draft-row input,
.strategy-draft-row textarea {
  width: 100%;
  border: 1px solid #dfe8e4;
  border-radius: 6px;
  background: #fff;
  color: #191919;
  font-size: 12px;
  line-height: 1.36;
  padding: 6px 7px;
  resize: vertical;
}
.strategy-precheck-result {
  display: grid;
  gap: 6px;
  padding: 8px;
  border: 1px solid #dfe8e4;
  border-radius: 7px;
  background: #fff;
}
.strategy-precheck-result[hidden] {
  display: none !important;
}
.strategy-precheck-result strong {
  color: #191919;
  font-size: 12px;
}
.strategy-precheck-result p {
  margin: 2px 0 0;
  color: #53616b;
  font-size: 12px;
  line-height: 1.38;
}
.strategy-precheck-result .precheck-status {
  width: fit-content;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}
.strategy-precheck-result .precheck-status.ok {
  background: #e9fff3;
  color: #078658;
}
.strategy-precheck-result .precheck-status.bad {
  background: #fff1f0;
  color: #b42318;
}
.precheck-preview {
  display: grid;
  gap: 2px;
}
.brain-profile-summary {
  color: #7a8388 !important;
  font-size: 13px !important;
}

/* Sales "Me" page only keeps customer stats */
.brain-home {
  background: linear-gradient(180deg,#eef7ff 0%,#ffffff 42%,#ffffff 100%) !important;
}
.brain-home .brain-phone {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.is-sales-user .brain-home .brain-form,
.is-sales-user .brain-home .brain-profile-summary,
.is-sales-user .brain-home .brain-save-tip,
.is-sales-user .brain-home .brain-actions,
.is-sales-user .brain-home #adminPanel {
  display: none !important;
}
.brain-home .brain-customer-stats {
  margin-top: 34px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
.brain-home .brain-customer-stats .stats-group {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border: 1px solid #e2e8ee !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.brain-home .brain-customer-stats .stats-fixed {
  background: #f8fbff !important;
}
.brain-home .brain-customer-stats .stats-metrics {
  background: #f7fbf9 !important;
}
.brain-home .brain-customer-stats .stats-group-title {
  min-height: 30px !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
  color: #7d858c !important;
  background: #f0f5f8 !important;
  border-bottom: 1px solid #e5ebef !important;
  font-size: 13px !important;
  line-height: 30px !important;
}
.brain-home .brain-customer-stats span,
.brain-home .brain-customer-stats button {
  width: 100% !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f3 !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,0.72) !important;
  text-align: left !important;
  color: #191919 !important;
  font-size: 15px !important;
  line-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.brain-home .brain-customer-stats em {
  font-style: normal !important;
  color: #3f464d !important;
}
.brain-home .brain-customer-stats strong {
  font-weight: 400 !important;
  color: #191919 !important;
}
.brain-home .brain-customer-stats button:last-child {
  border-bottom: 0 !important;
}
.company-code-group {
  display: grid;
  gap: 6px;
  padding: 9px 0;
  border-top: 1px solid #eee;
}
.company-code-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  font-size: 14px;
}
.company-code-row .sales-key-name {
  min-height: 34px;
  font-size: 14px;
}
.company-code-row span {
  color: #07a653;
  font-family: Consolas, "SFMono-Regular", monospace;
}
.enterprise-admin-card #createSalesKeysButton {
  width: auto !important;
  justify-self: center !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  line-height: 30px !important;
  background: transparent !important;
  color: #191919 !important;
  border: 0 !important;
}
.sales-key-row {
  grid-template-columns: 18px 76px minmax(88px, 1fr) 30px 30px !important;
  gap: 4px !important;
  align-items: center !important;
  padding: 7px 0 !important;
  border-top: 1px solid #f0f0f0 !important;
}
.sales-key-row:first-child {
  border-top: 0 !important;
}
.company-code-row .sales-key-index {
  color: #3f6f9f !important;
  font-family: inherit !important;
  text-align: center !important;
  font-size: 13px !important;
}
.company-code-row .sales-key-code {
  color: #07a653 !important;
  font-family: Consolas, "SFMono-Regular", monospace !important;
  font-size: 11px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.company-code-row .sales-key-name {
  min-height: 28px !important;
  height: 28px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  padding: 0 6px !important;
  min-width: 0 !important;
}
.enterprise-admin-card .sales-key-action {
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  border: 1px solid #07c160 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #07a653 !important;
  font-size: 11px !important;
  line-height: 22px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-align: center !important;
}
#newSalesKeyCode {
  margin: 2px 0 0 !important;
  color: #7a8388 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
#salesKeyCard h2,
#salesKeyCard label {
  display: none !important;
}
.hidden-model-field {
  display: none !important;
}
.admin-muted {
  margin: 0;
  color: #7a8388;
  font-size: 13px;
  line-height: 1.45;
}
.api-client-row,
.usage-log-row,
.runtime-error-row {
  display: grid;
  gap: 4px;
  padding: 9px 0;
  border-top: 1px solid #edf1f3;
}
.api-client-row:first-child,
.usage-log-row:first-child,
.runtime-error-row:first-child {
  border-top: 0;
}
.api-client-row div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.usage-log-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.api-client-row strong,
.usage-log-row strong,
.runtime-error-row strong {
  color: #191919;
  font-size: 14px;
  font-weight: 600;
}
.api-client-row span,
.usage-log-row span,
.runtime-error-row span,
.api-client-row small,
.usage-log-row small,
.runtime-error-row small {
  color: #7a8388;
  font-size: 12px;
  line-height: 1.4;
}
.runtime-error-row details {
  margin-top: 4px;
}
.runtime-error-row summary {
  cursor: pointer;
  color: #52616b;
  font-size: 12px;
  font-weight: 700;
}
.usage-log-row .usage-runtime-packet {
  color: #53625a;
  font-size: 11.5px;
  line-height: 1.35;
  word-break: break-all;
}
.runtime-error-row pre {
  max-height: 180px;
  margin: 6px 0 0;
  padding: 8px;
  overflow: auto;
  border-radius: 7px;
  background: #111827;
  color: #d1fae5;
  font-size: 11px;
  line-height: 1.45;
  white-space: pre-wrap;
}
.usage-status {
  flex: 0 0 auto;
  padding: 2px 7px;
  border-radius: 999px;
  background: #eef3f1;
  color: #52616b;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}
.usage-status.is-cache {
  background: #e8fff2;
  color: #078848;
}
.usage-status.is-warn {
  background: #fff4e5;
  color: #9a5a00;
}
.usage-status.is-ok {
  background: #eef5ff;
  color: #2c5d9f;
}
.usage-error {
  color: #b42318 !important;
}
.api-client-row code,
#apiClientStatus code {
  display: block;
  max-width: 100%;
  padding: 7px 8px;
  border-radius: 6px;
  background: #f6f8fa;
  color: #07a653;
  font-size: 12px;
  font-family: Consolas, "SFMono-Regular", monospace;
  overflow-wrap: anywhere;
}
#apiClientStatus {
  margin: 0;
  color: #3f464d;
  font-size: 13px;
  line-height: 1.5;
}
.enterprise-admin-card .inline-copy-button {
  width: auto !important;
  min-height: 28px !important;
  margin-top: 6px !important;
  padding: 0 10px !important;
  border: 1px solid #07c160 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #07a653 !important;
  font-size: 12px !important;
}
.usage-log-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
  gap: 6px;
}
.usage-log-summary span {
  min-width: 0;
  padding: 8px 6px;
  border-radius: 6px;
  background: #f7fbf9;
  color: #7a8388;
  font-size: 12px;
  text-align: center;
}
.usage-log-summary b {
  display: block;
  margin-top: 2px;
  color: #191919;
  font-size: 14px;
}
.feedback-review-stats {
  display: grid;
  gap: 6px;
  margin: 8px 0 10px;
}
.feedback-review-stat-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.feedback-review-stat-group strong,
.feedback-review-stat-group span {
  padding: 5px 7px;
  border-radius: 6px;
  background: #f7fbf9;
  color: #52616b;
  font-size: 12px;
  line-height: 1.25;
}
.feedback-review-stat-group strong {
  color: #1f2b24;
  font-weight: 700;
}
.usage-log-filters {
  display: grid;
  grid-template-columns: minmax(94px, 0.8fr) repeat(3, minmax(110px, 1fr)) auto auto;
  gap: 8px;
  margin: 8px 0 10px;
}
.usage-log-filters input,
.usage-log-filters select {
  min-width: 0;
  height: 34px;
  padding: 0 9px;
  border: 1px solid #dfe7e3;
  border-radius: 6px;
  background: #fff;
  color: #1f2b24;
  font-size: 12px;
}
.usage-log-filters .secondary {
  border-color: #dfe7e3 !important;
  color: #52616b !important;
}
.prompt-pack-config {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}
.prompt-pack-config label {
  display: grid;
  gap: 4px;
  color: #52616b;
  font-size: 12px;
}
.prompt-pack-config label.full {
  grid-column: 1 / -1;
}
.prompt-pack-config input,
.prompt-pack-config select,
.prompt-pack-config textarea {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid #dfe7e3;
  border-radius: 6px;
  background: #fff;
  color: #1f2b24;
  font-size: 12px;
}
.prompt-pack-config textarea {
  min-height: 58px;
  resize: vertical;
}
.prompt-pack-toggle {
  align-content: end;
}
.prompt-pack-toggle input {
  width: auto;
  min-height: 0;
}
.prompt-pack-actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.prompt-pack-actions button {
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  background: #07c160;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.prompt-pack-actions .secondary {
  border: 1px solid #dfe7e3;
  background: #fff;
  color: #52616b;
}
@media (max-width: 760px) {
  .usage-log-filters {
    grid-template-columns: 1fr 1fr;
  }
  .prompt-pack-config {
    grid-template-columns: 1fr;
  }
}

/* WeChat-like compact spacing */
.brain-phone,
.pending-phone,
.chat-phone,
.detail-phone,
.video-phone {
  line-height: 1.32 !important;
}
.pending-body,
.detail-body,
.video-body,
.chat-body {
  padding-top: 12px !important;
}
.pending-list,
.customer-list,
.chat-thread,
.detail-sections,
.video-list {
  gap: 8px !important;
}
.pending-controls,
.customer-search-row,
.brain-form,
.customer-entry-form,
.detail-section,
.admin-card {
  gap: 8px !important;
}
.pending-customer-card,
.customer-card,
.customer-row,
.detail-section,
.admin-card,
.strategy-card,
.chat-bubble {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.pending-customer-card,
.customer-card,
.customer-row {
  margin-bottom: 8px !important;
}
.pending-customer-card strong,
.customer-card strong,
.customer-row strong,
.chat-bubble,
.strategy-card,
.detail-section p,
.detail-section li {
  line-height: 1.36 !important;
}
.brain-tabs {
  height: 58px !important;
  padding-top: 5px !important;
  padding-bottom: 4px !important;
}
.brain-tabs button {
  gap: 2px !important;
}
.tab-icon {
  width: 28px !important;
  height: 28px !important;
}

/* Sales key list compact controls */
.sales-key-summary {
  color: #191919 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  margin: 2px 0 6px !important;
}
.sales-key-tools {
  display: flex !important;
  gap: 8px !important;
  margin: 0 0 6px !important;
}
.sales-key-tool {
  width: auto !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 9px !important;
  border: 1px solid #07c160 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #07a653 !important;
  font-size: 12px !important;
  line-height: 24px !important;
}

/* Owner enterprise knowledge upload */
.enterprise-kb-file-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
}
#enterpriseKbFile {
  display: none !important;
}
#enterpriseKbFileName {
  min-height: 34px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 10px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #191919 !important;
  font-size: 14px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.enterprise-kb-file-button {
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  background: #07c160 !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 34px !important;
  white-space: nowrap !important;
}
#enterpriseKbText[hidden] {
  display: none !important;
}

/* H5 full-screen fixed layout override - 2026-06-11 */
html,
body {
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden !important;
}

body,
.shell,
.workspace,
.brain-home,
.app-screen,
.pending-home,
.customer-form-home,
.customer-chat-home,
.customer-detail-home {
  width: 100%;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

.brain-home,
.app-screen,
.pending-home,
.customer-form-home,
.customer-chat-home,
.customer-detail-home {
  padding: 0 !important;
}

.brain-phone,
.pending-phone,
.customer-form-phone,
.customer-chat-phone,
.customer-detail-phone,
.video-phone {
  width: 100% !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.brain-tabs,
.pending-tabs,
.mobile-bottom-nav {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 20;
  flex: 0 0 auto;
  min-height: calc(56px + env(safe-area-inset-bottom));
  padding-bottom: env(safe-area-inset-bottom) !important;
}

.brain-main,
.pending-list,
.customer-entry-form,
.customer-detail-content,
.video-grid,
.training-arena,
.chat-thread,
.customer-chat-main,
.customer-form-main,
.pending-main,
.customer-detail-main {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.video-phone {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}
.video-phone .training-arena {
  margin: 0 !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  align-content: start;
}
.video-phone .pending-tabs {
  display: grid !important;
}

.brain-main::-webkit-scrollbar,
.pending-list::-webkit-scrollbar,
.customer-entry-form::-webkit-scrollbar,
.customer-detail-content::-webkit-scrollbar,
.video-grid::-webkit-scrollbar,
.chat-thread::-webkit-scrollbar,
.customer-chat-main::-webkit-scrollbar,
.customer-form-main::-webkit-scrollbar,
.pending-main::-webkit-scrollbar,
.customer-detail-main::-webkit-scrollbar,
.enterprise-admin-page::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.pending-list,
.customer-entry-form,
.customer-detail-content,
.video-grid,
.brain-main {
  padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
}

.chat-thread {
  padding-bottom: 12px !important;
}

body.admin-page-body {
  height: 100dvh !important;
  overflow: hidden !important;
}

.enterprise-admin-page {
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  padding-bottom: max(18px, env(safe-area-inset-bottom)) !important;
}

/* Enterprise profile saved/modify state */
.enterprise-profile-card label {
  font-weight: 600 !important;
  color: #191919 !important;
}
.enterprise-profile-card input {
  margin-top: 5px !important;
  font-weight: 400 !important;
}
.enterprise-profile-card input.profile-field-locked,
.enterprise-profile-card input[readonly] {
  background: #f7f7f7 !important;
  color: #333 !important;
  border-color: #e5e5e5 !important;
  -webkit-text-fill-color: #333 !important;
}
.profile-action-row {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 2px !important;
}
.enterprise-admin-card .profile-action-row button {
  width: auto !important;
  min-width: 58px !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 14px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  line-height: 28px !important;
}
.enterprise-admin-card .profile-edit-button {
  border: 1px solid #07c160 !important;
  background: #fff !important;
  color: #07a653 !important;
}
.enterprise-admin-card .profile-save-button {
  border: 1px solid #07c160 !important;
  background: #07c160 !important;
  color: #fff !important;
}
.enterprise-admin-card .profile-action-row button:disabled {
  opacity: .45 !important;
}

/* Admin bottom navigation */
.admin-page-body {
  padding-bottom: calc(58px + env(safe-area-inset-bottom)) !important;
}
.admin-bottom-tabs {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 80 !important;
  height: calc(56px + env(safe-area-inset-bottom)) !important;
  padding: 5px 6px env(safe-area-inset-bottom) !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 0 !important;
  background: #fff !important;
  border-top: 1px solid #e8e8e8 !important;
  box-sizing: border-box !important;
}
.admin-bottom-tabs button {
  border: 0 !important;
  background: transparent !important;
  color: #5b5b5b !important;
  display: grid !important;
  place-items: center !important;
  gap: 2px !important;
  padding: 0 !important;
  min-height: 0 !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
}
.admin-bottom-tabs button.active,
.admin-bottom-tabs button:hover,
.admin-bottom-tabs button:focus {
  color: #07c160 !important;
}
.admin-bottom-tabs em {
  font-style: normal !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
}
.admin-bottom-tabs .tab-icon {
  width: 25px !important;
  height: 25px !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  position: relative !important;
  color: currentColor !important;
}
.admin-bottom-tabs .tab-icon::before,
.admin-bottom-tabs .tab-icon::after {
  content: "" !important;
  position: absolute !important;
  box-sizing: border-box !important;
}
.admin-bottom-tabs button[data-admin-page="new"] .tab-icon::before {
  width: 12px;
  height: 12px;
  left: 6px;
  top: 1px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.admin-bottom-tabs button[data-admin-page="new"] .tab-icon::after {
  width: 20px;
  height: 12px;
  left: 2px;
  bottom: 1px;
  border: 2px solid currentColor;
  border-radius: 12px 12px 5px 5px;
}
.admin-bottom-tabs button[data-admin-page="old"] .tab-icon {
  background:
    linear-gradient(currentColor,currentColor) 1px 21px / 15px 2px no-repeat,
    linear-gradient(145deg,transparent 44%,currentColor 45% 55%,transparent 56%) 0 14px / 10px 10px no-repeat;
}
.admin-bottom-tabs button[data-admin-page="old"] .tab-icon::before {
  width: 15px;
  height: 20px;
  left: 1px;
  top: 1px;
  border: 2px solid currentColor;
  border-radius: 10px 10px 8px 8px;
  border-bottom-color: transparent;
}
.admin-bottom-tabs button[data-admin-page="old"] .tab-icon::after {
  width: 9px;
  height: 2px;
  right: 0;
  top: 8px;
  background: currentColor;
  box-shadow: 0 6px 0 currentColor;
}
.admin-bottom-tabs button[data-admin-page="lead"] .tab-icon::before {
  inset: 3px 5px;
  border: 2px solid currentColor;
  border-radius: 3px;
}
.admin-bottom-tabs button[data-admin-page="lead"] .tab-icon::after {
  width: 11px;
  height: 2px;
  left: 7px;
  top: 10px;
  background: currentColor;
  box-shadow: 0 5px 0 currentColor;
}
.admin-bottom-tabs button[data-admin-page="strategy"] .tab-icon::before {
  width: 20px;
  height: 16px;
  left: 2px;
  top: 5px;
  border: 2px solid currentColor;
  border-radius: 4px;
}
.admin-bottom-tabs button[data-admin-page="strategy"] .tab-icon::after {
  width: 10px;
  height: 8px;
  right: 0;
  top: 1px;
  border-left: 7px solid currentColor;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
.admin-bottom-tabs button[data-admin-page="brain"] .tab-icon::before {
  width: 12px;
  height: 12px;
  left: 6px;
  top: 2px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.admin-bottom-tabs button[data-admin-page="brain"] .tab-icon::after {
  width: 22px;
  height: 10px;
  left: 1px;
  bottom: 2px;
  border: 2px solid currentColor;
  border-radius: 11px 11px 4px 4px;
}
.enterprise-admin-page {
  padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
}


/* Compact enterprise profile rows */
.enterprise-profile-card {
  gap: 7px !important;
}
.enterprise-profile-card label {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 34px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}
.enterprise-profile-card input {
  margin-top: 0 !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 10px !important;
  font-size: 15px !important;
  line-height: 34px !important;
}
.enterprise-profile-card .profile-action-row {
  margin-top: 4px !important;
}
.enterprise-default-profile {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e6eeea;
}
.enterprise-default-profile-head {
  display: grid;
  gap: 4px;
  margin-bottom: 10px;
}
.enterprise-default-profile-head strong {
  font-size: 15px;
  color: #1f3329;
}
.enterprise-default-profile-head span {
  font-size: 12px;
  color: #748179;
  line-height: 1.5;
}
.enterprise-default-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.enterprise-profile-card .enterprise-default-grid label {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  align-items: start !important;
  min-width: 0 !important;
  min-height: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #314137;
}
.enterprise-default-grid .full {
  grid-column: 1 / -1;
}
.enterprise-default-grid select,
.enterprise-default-grid textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #dbe6e1;
  border-radius: 8px;
  background: #fff;
  color: #17231d;
  font: inherit;
}
.enterprise-default-grid select {
  height: 38px;
  padding: 0 10px;
}
.enterprise-default-grid textarea {
  min-height: 66px;
  padding: 9px 10px;
  resize: vertical;
}
#enterpriseDefaultProfileSaveButton {
  margin-top: 12px;
}
@media (max-width: 360px) {
  .enterprise-profile-card label {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    font-size: 14px !important;
  }
  .enterprise-profile-card input {
    font-size: 14px !important;
  }
}
@media (max-width: 720px) {
  .enterprise-default-grid {
    grid-template-columns: 1fr;
  }
}


/* Sales key collapsed ellipsis */
.sales-key-ellipsis {
  width: 100% !important;
  min-height: 24px !important;
  height: 24px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #9aa0a6 !important;
  font-size: 24px !important;
  line-height: 18px !important;
  letter-spacing: 6px !important;
  text-align: center !important;
  cursor: pointer !important;
}
.sales-key-ellipsis:active,
.sales-key-ellipsis:hover {
  color: #6f767d !important;
  background: transparent !important;
}


/* Chat page fixed input row and bottom navigation */
.customer-chat-phone {
  grid-template-rows: auto minmax(0, 1fr) auto auto !important;
}
.customer-chat-phone .chat-input {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 76px !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  background: #f5f5f5 !important;
}
.customer-chat-phone .chat-input input,
.customer-chat-phone .chat-input textarea {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.customer-chat-phone .chat-input input {
  height: 42px !important;
}
.customer-chat-phone .chat-input textarea {
  min-height: 42px !important;
  max-height: 104px !important;
}
.customer-chat-phone .chat-input #customerChatSendButton {
  width: 76px !important;
  min-width: 76px !important;
  height: 42px !important;
  padding: 0 !important;
  line-height: 42px !important;
  border-radius: 9px !important;
}
.customer-chat-phone .chat-input .chat-image-button {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border-radius: 50% !important;
}


/* Boss account keeps company profile on Me page */
.is-admin-user .brain-home .brain-form,
.is-admin-user .brain-home .brain-profile-summary,
.is-admin-user .brain-home .brain-actions,
.is-admin-user .brain-home #adminPanel {
  display: grid !important;
}
.is-admin-user .brain-home .brain-customer-stats {
  display: none !important;
}
.is-admin-user .brain-home .brain-profile-summary,
.is-admin-user .brain-home .brain-save-tip {
  display: block !important;
}

.detail-audio-entry {
  border: 1px solid #cdeedd !important;
  background: #f0fbf5 !important;
}
.detail-audio-title {
  align-items: center !important;
}
.detail-audio-title h2 {
  margin: 0 !important;
}
.detail-audio-mini-button {
  min-width: 88px;
  height: 32px;
  border: 0;
  border-radius: 9px;
  background: #07c160;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  padding: 0 12px;
  box-shadow: 0 5px 12px rgba(7,193,96,.18);
}
.detail-audio-button {
  min-height: 34px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #07c160 !important;
  color: #fff !important;
  padding: 0 12px !important;
  font-weight: 800 !important;
}
.detail-audio-latest {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 9px 10px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #dcefe5;
  display: grid;
  gap: 4px;
}
.detail-audio-latest em {
  font-style: normal;
  font-size: 12px;
  color: #078658;
  font-weight: 800;
}
.detail-audio-latest span {
  font-size: 12px;
  color: #7a858d;
}
.detail-audio-latest p {
  margin: 0;
  color: #24313a;
  font-size: 13px;
  line-height: 1.45;
}
.detail-audio-latest.is-empty {
  color: #7a858d;
  font-size: 13px;
}

.detail-audio-entry {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  padding: 10px !important;
}
.detail-audio-entry > strong {
  color: #1f3a35 !important;
  font-size: 16px !important;
}
.detail-audio-entry > span {
  display: block !important;
}
.detail-audio-button {
  width: auto !important;
  justify-self: start !important;
  min-height: 34px !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}
.detail-audio-results {
  display: grid;
  gap: 7px;
  grid-template-columns: 1fr !important;
}
.detail-strategy-body .detail-audio-results,
.detail-strategy-body .detail-audio-result-card {
  grid-column: 1 / -1 !important;
}
.detail-audio-results.is-empty {
  color: #667078;
  font-size: 14px;
  background: rgba(255,255,255,.72);
  border: 1px solid #d7eee2;
  border-radius: 10px;
  padding: 12px;
}
.detail-audio-result-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  color: #667078;
  font-size: 13px;
}
.detail-audio-result-head strong {
  color: #078658;
  font-size: 14px;
}
.detail-audio-result-card {
  background: #fff;
  border: 1px solid #dbe8ef;
  border-radius: 8px;
  padding: 9px 11px;
  display: block !important;
  gap: 5px;
  grid-template-columns: none !important;
}
.detail-audio-result-card.is-strategy {
  background: #fbfdff;
}
.detail-audio-result-card h4 {
  margin: 0 0 2px;
  font-size: 16px;
  color: #111827;
  font-weight: 900;
  line-height: 1.25;
}
.detail-audio-result-card p {
  margin: 5px 0 0;
  color: #25313b;
  font-size: 13px;
  line-height: 1.42;
  white-space: pre-wrap;
}
.detail-audio-result-card b {
  color: #0f7d59;
}



/* Contact and department entry */
.entry-key-person-label {
  display: grid;
  gap: 8px;
}
.entry-key-person-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px;
  gap: 8px;
  align-items: center;
}
.entry-key-person-row input {
  min-width: 0;
  white-space: nowrap;
}
.contact-department-field { display: grid; gap: 7px; }
.contact-department-head,
.contact-department-row { display: grid; grid-template-columns: minmax(88px, 0.8fr) minmax(128px, 1.4fr) 34px; gap: 10px; align-items: center; }
.contact-department-head { color: #1677c8; font-size: 14px; font-weight: 700; padding: 0 2px; }
.contact-department-row input { min-width: 0; }
.contact-add-button,
.contact-department-row button { width: 34px !important; min-width: 34px !important; height: 34px !important; min-height: 34px !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; color: #1677c8 !important; font-size: 30px !important; line-height: 32px !important; font-weight: 800 !important; }
.contact-add-button { justify-self: end; margin-top: -2px; }
.entry-key-person-row .contact-add-button {
  width: 58px !important;
  min-width: 58px !important;
  height: 38px !important;
  min-height: 38px !important;
  border-radius: 8px !important;
  background: #18a058 !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
.contact-department-row button { color: #8a8f94 !important; font-size: 24px !important; }
@media (max-width: 720px) {
  .contact-department-head,
  .contact-department-row { grid-template-columns: minmax(80px, 0.8fr) minmax(116px, 1.35fr) 32px; gap: 8px; }
}


/* Customer chat stage and leave confirm */
.chat-status-bar { display: grid; gap: 8px; margin: 8px 0 12px; }
.chat-status-bar label { display: grid; grid-template-columns: 92px minmax(0,1fr); align-items: center; min-height: 42px; padding: 0 14px; background: #f7fffb; border-radius: 10px; color: #3d4a43; font-size: 15px; }
.chat-status-bar select { border: 0; background: transparent; color: #191919; font-size: 15px; outline: none; min-height: 38px; }
.chat-status-bar em { font-style: normal; color: #191919; }
.status-confirm-mask { position: fixed; inset: 0; z-index: 1000; display: none; align-items: flex-end; justify-content: center; background: rgba(0,0,0,.28); }
.status-confirm-mask.show { display: flex; }
.status-confirm-panel { width: min(520px, 100vw); max-height: calc(100dvh - 24px); overflow: hidden; background: #fff; border-radius: 16px 16px 0 0; padding: 0; box-sizing: border-box; display: flex; flex-direction: column; }
.status-confirm-scroll { min-height: 0; overflow-y: auto; overflow-x: hidden; flex: 1 1 auto; display: grid; gap: 8px; padding: 14px 16px 8px; box-sizing: border-box; -webkit-overflow-scrolling: touch; }
.status-confirm-panel h3 { margin: 0; font-size: 17px; font-weight: 700; color: #191919; }
.status-confirm-tip { margin: -2px 0 0; color: #667078; font-size: 13px; line-height: 1.35; }
.status-confirm-panel label { display: grid; gap: 4px; font-size: 13px; color: #5b6670; }
.status-confirm-panel select,
.status-confirm-panel textarea { width: 100%; box-sizing: border-box; border: 1px solid #dfe5ea; border-radius: 9px; background: #f8faf9; color: #191919; font-size: 15px; padding: 7px 10px; outline: none; }
.status-confirm-panel select { min-height: 38px; }
.status-confirm-panel textarea { min-height: 58px; max-height: 84px; resize: vertical; }
.status-pain-box { display: grid; gap: 6px; }
.status-pain-box strong { font-size: 13px; color: #5b6670; }
#statusPainOptions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
#statusPainOptions label { display: flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 8px; border-radius: 8px; background: #f3f6f5; color: #191919; font-size: 13px; }
#statusPainOptions input { width: 18px; height: 18px; flex: 0 0 18px; }
.status-confirm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 0; flex: 0 0 auto; padding: 8px 16px calc(16px + env(safe-area-inset-bottom)); background: #fff; box-sizing: border-box; }
.status-confirm-actions button { min-height: 38px; border: 0; border-radius: 9px; font-size: 14px; }
#statusLaterButton { background: #eef2f1; color: #59646b; }
#statusSaveButton { background: #07c160; color: #fff; }

@media (max-width: 720px) {
  .customer-detail-content {
    gap: 9px !important;
    padding: 10px 10px calc(72px + env(safe-area-inset-bottom)) !important;
  }
  .detail-zone {
    border-radius: 10px !important;
    padding: 10px !important;
  }
  .detail-zone h2 {
    margin-bottom: 8px !important;
    font-size: 15px !important;
  }
  .detail-table,
  .detail-strategy-body {
    gap: 6px !important;
  }
  .detail-table div,
  .detail-strategy-body div {
    grid-template-columns: 78px minmax(0,1fr) !important;
    gap: 8px !important;
    padding: 8px 9px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1.32 !important;
  }
  .detail-strategy-body .detail-audio-result-card {
    display: block !important;
    grid-template-columns: none !important;
    padding: 10px 11px !important;
  }
  .detail-strategy-body .detail-audio-result-card h4 {
    display: block !important;
    margin: 0 0 7px !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
  }
  .detail-strategy-body .detail-audio-result-card p {
    display: block !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
  .detail-category-select {
    min-height: 34px !important;
    height: 34px !important;
    border-radius: 7px !important;
    font-size: 14px !important;
    padding: 0 8px !important;
  }
  .status-confirm-panel {
    width: 100vw !important;
    max-height: calc(100dvh - 24px) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px 14px 0 0 !important;
    padding: 0 !important;
    gap: 9px !important;
  }
  .status-confirm-scroll {
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    flex: 1 1 auto !important;
    display: grid !important;
    gap: 9px !important;
    padding: 13px 12px 8px !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .status-confirm-panel h3 {
    font-size: 16px !important;
    margin-bottom: 0 !important;
  }
  .status-confirm-panel label,
  .status-pain-box strong {
    font-size: 13px !important;
  }
  .status-confirm-panel select,
  .status-confirm-panel textarea {
    min-height: 34px !important;
    border-radius: 8px !important;
    padding: 7px 9px !important;
    font-size: 14px !important;
  }
  .status-confirm-panel textarea {
    min-height: 58px !important;
  }
  #statusPainOptions {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }
  #statusPainOptions label {
    min-height: 30px !important;
    padding: 0 7px !important;
    font-size: 13px !important;
  }
  .status-confirm-actions button {
    min-height: 38px !important;
    font-size: 14px !important;
  }
  .status-confirm-actions {
    flex-shrink: 0 !important;
    padding: 8px 12px calc(16px + env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }
}

/* Compact mobile list pages */
.pending-home .pending-head {
  display: none !important;
}
.pending-home .pending-head .round-icon {
  display: none !important;
}
.video-home .video-head {
  display: none !important;
}
.video-home .video-head .round-icon,
.video-home .video-more {
  display: none !important;
}
.video-home .video-head h1 {
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}
.video-home .video-head p {
  display: none !important;
}
.video-home .training-arena h2 {
  display: none !important;
}
.video-home .video-phone {
  grid-template-rows: minmax(0, 1fr) auto !important;
}
.video-home .training-arena {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 12px 14px calc(72px + env(safe-area-inset-bottom)) !important;
}
.video-home .pending-tabs {
  align-self: end !important;
  width: 100% !important;
  flex-shrink: 0 !important;
}
.pending-home .pending-head h1 {
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}
.pending-home .pending-head p {
  display: none !important;
}
.pending-home .page-title-block {
  min-width: 0 !important;
}
.pending-home .pending-search {
  padding: 8px 14px 10px !important;
  grid-template-columns: 1fr 74px !important;
  gap: 8px !important;
}
.pending-home .pending-search input {
  min-height: 44px !important;
  border-radius: 9px !important;
  padding: 0 12px !important;
  font-size: 17px !important;
  text-align: left !important;
}
.pending-home .pending-search button {
  min-height: 44px !important;
  border-radius: 9px !important;
  font-size: 15px !important;
}
.pending-home .pending-sort {
  padding: 0 14px 8px !important;
  gap: 7px !important;
  flex-wrap: nowrap !important;
}
.pending-home .pending-sort button {
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  line-height: 26px !important;
}
.pending-home .pending-inline-add {
  margin-left: auto;
  min-width: 58px;
  height: 26px;
  border: 1px solid #1688e8;
  border-radius: 8px;
  color: #1677c8;
  background: #fff;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 800;
}
.pending-home .pending-list {
  padding: 0 14px 16px !important;
  gap: 10px !important;
}
.pending-home .pending-phone {
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
}
.pending-home .pending-tabs {
  align-self: end !important;
  width: 100% !important;
  flex-shrink: 0 !important;
}
.pending-home .pending-list {
  min-height: 0 !important;
  overflow-y: auto !important;
  padding-bottom: 16px !important;
}
.pending-home .pending-item {
  grid-template-columns: 58px minmax(0, 1fr) !important;
  gap: 8px !important;
}
.pending-home .pending-name {
  min-height: 48px !important;
  border-radius: 10px !important;
  padding: 4px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
}
.pending-home .pending-name {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  text-align: center !important;
}
.pending-home .pending-name span {
  display: block !important;
}
.pending-home .pending-name .pending-owner-name {
  display: block !important;
  margin: 0 !important;
  padding: 1px 4px !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,.72) !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home .pending-plan {
  min-height: 48px !important;
  border-radius: 10px !important;
  padding: 8px 10px !important;
  gap: 2px !important;
}
.pending-home .pending-plan strong {
  font-size: 15px !important;
  line-height: 1.25 !important;
}
.pending-home .pending-plan span {
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.pending-home .pending-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
.pending-home .pending-card-head em {
  flex: 0 0 auto !important;
  padding: 2px 6px !important;
  border-radius: 6px !important;
  background: #eaf8ef !important;
  color: #07984d !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
.pending-home .pending-contact {
  color: #6b7280 !important;
}
.pending-home .pending-next {
  color: #1f2937 !important;
  font-weight: 600 !important;
}
.pending-home .pending-actions {
  display: flex !important;
  gap: 8px !important;
  margin-top: 6px !important;
}
.pending-home .pending-actions button {
  min-height: 28px !important;
  padding: 0 9px !important;
  border-radius: 6px !important;
  border: 1px solid #d8e6dd !important;
  background: #fff !important;
  color: #157347 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.pending-home .pending-actions button:first-child {
  border-color: #07c160 !important;
  background: #07c160 !important;
  color: #fff !important;
}
.pending-home .pending-sort {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.pending-home .pending-sort button,
.pending-home .pending-sort .pending-inline-add {
  min-height: 30px !important;
  padding: 0 8px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.brain-tabs {
  grid-template-columns: repeat(5, 1fr) !important;
}
.brain-tabs button {
  min-height: 58px !important;
  gap: 3px !important;
}
.brain-tabs em {
  font-size: 12px !important;
}
.brain-tabs .tab-icon {
  width: 25px !important;
  height: 25px !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  position: relative;
  color: currentColor;
}
.brain-tabs .tab-icon::before,
.brain-tabs .tab-icon::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
}
.brain-tabs button[data-page="new"] .tab-icon::before {
  width: 12px;
  height: 12px;
  left: 6px;
  top: 1px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.brain-tabs button[data-page="new"] .tab-icon::after {
  width: 20px;
  height: 12px;
  left: 2px;
  bottom: 1px;
  border: 2px solid currentColor;
  border-radius: 12px 12px 5px 5px;
  border-top-width: 2px;
}
.brain-tabs button[data-page="old"] .tab-icon::before {
  width: 15px;
  height: 20px;
  left: 1px;
  top: 1px;
  border: 2px solid currentColor;
  border-radius: 10px 10px 8px 8px;
  border-bottom-color: transparent;
}
.brain-tabs button[data-page="old"] .tab-icon::after {
  width: 9px;
  height: 2px;
  right: 0;
  top: 8px;
  background: currentColor;
  box-shadow: 0 6px 0 currentColor;
}
.brain-tabs button[data-page="old"] .tab-icon {
  background:
    linear-gradient(currentColor,currentColor) 1px 21px / 15px 2px no-repeat,
    linear-gradient(145deg,transparent 44%,currentColor 45% 55%,transparent 56%) 0 14px / 10px 10px no-repeat;
}
.brain-tabs button[data-page="lead"] .tab-icon::before {
  inset: 3px 5px;
  border: 2px solid currentColor;
  border-radius: 3px;
}
.brain-tabs button[data-page="lead"] .tab-icon::after {
  width: 11px;
  height: 2px;
  left: 7px;
  top: 10px;
  background: currentColor;
  box-shadow: 0 5px 0 currentColor;
}
.brain-tabs button[data-page="strategy"] .tab-icon::before {
  width: 20px;
  height: 16px;
  left: 2px;
  top: 5px;
  border: 2px solid currentColor;
  border-radius: 4px;
}
.brain-tabs button[data-page="strategy"] .tab-icon::after {
  width: 10px;
  height: 8px;
  right: 0;
  top: 1px;
  border-left: 7px solid currentColor;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
.brain-tabs button[data-page="brain"] .tab-icon::before {
  width: 12px;
  height: 12px;
  left: 6px;
  top: 2px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.brain-tabs button[data-page="brain"] .tab-icon::after {
  width: 22px;
  height: 10px;
  left: 1px;
  bottom: 2px;
  border: 2px solid currentColor;
  border-radius: 11px 11px 4px 4px;
}

/* Customer profile form adjustments from annotated screenshot */
.customer-form-home .pending-head {
  display: none !important;
}
.customer-form-home .pending-head h1 {
  justify-self: center;
  width: auto;
  min-width: 176px;
  min-height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: #55c46b;
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}
.customer-form-home .contact-department-field {
  display: grid !important;
  gap: 5px !important;
}
.customer-form-home .contact-department-head,
.customer-form-home .contact-department-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 30px !important;
  gap: 7px !important;
}
.customer-form-home .contact-department-head {
  font-size: 12px !important;
  color: #5f6b76 !important;
  padding: 0 2px !important;
}
.customer-form-home .contact-department-row input {
  min-height: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  padding: 0 9px !important;
}
.customer-form-home .contact-add-button,
.customer-form-home .contact-department-row button {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  border-radius: 50% !important;
  border: 0 !important;
  background: #07c160 !important;
  color: #ffffff !important;
  font-size: 22px !important;
  line-height: 30px !important;
  font-weight: 800 !important;
  display: grid !important;
  place-items: center !important;
}
.customer-form-home .contact-add-button {
  justify-self: end !important;
  margin-top: -2px !important;
}
.customer-form-home .contact-department-row button {
  background: #eef2f1 !important;
  color: #59646b !important;
  font-size: 18px !important;
}
.customer-form-home .customer-entry-form {
  gap: 7px !important;
  padding-top: 10px !important;
}
.customer-form-home .customer-entry-form label {
  gap: 4px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}
.customer-form-home .field-example {
  color: #5f6b76;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.customer-form-home .customer-entry-form input,
.customer-form-home .customer-entry-form select {
  min-height: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  padding: 0 12px !important;
  font-size: 15px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.customer-form-home .customer-entry-form input::placeholder {
  color: #8d949b !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

/* Fix customer profile page scrolling after removing the top title */
.customer-form-home .customer-form-phone {
  grid-template-rows: minmax(0, 1fr) auto auto !important;
  overflow: hidden !important;
}
.customer-form-home .customer-entry-form {
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 10px 18px calc(132px + env(safe-area-inset-bottom)) !important;
  align-content: start !important;
}
.customer-form-home .deal-row {
  min-height: 38px !important;
  margin-bottom: 10px !important;
  flex-shrink: 0 !important;
}
.customer-form-home .customer-form-actions {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 10 !important;
  flex-shrink: 0 !important;
  padding: 8px 18px 10px !important;
}

/* Step 16E: mobile button scale and shape polish */
.customer-form-home .entry-key-person-row {
  grid-template-columns: minmax(0, 1fr) 58px !important;
  gap: 8px !important;
}
.customer-form-home .entry-key-person-row .contact-add-button {
  width: 58px !important;
  min-width: 58px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid #07c160 !important;
  border-radius: 6px !important;
  background: #07c160 !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  display: inline-grid !important;
  place-items: center !important;
  margin-top: 0 !important;
}
.customer-form-home .customer-form-actions .brain-outline-button {
  min-height: 38px !important;
  border-radius: 7px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.loss-check-actions,
.loss-check-footer {
  gap: 6px;
  padding: 6px;
  border-radius: 7px;
}
.loss-check-actions button,
.loss-check-footer button {
  min-height: 30px;
  padding: 0 7px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
}
.loss-check-footer .primary {
  min-height: 34px;
  font-size: 13px;
}
.customer-chat-phone .chat-light-actions {
  gap: 5px !important;
}
.customer-chat-phone .chat-light-actions button {
  min-height: 26px !important;
  padding: 0 8px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
}

/* Customer entry compact form polish */
.customer-form-home .customer-entry-form {
  gap: 6px !important;
  padding-top: 8px !important;
}
.customer-form-home .customer-entry-form label {
  gap: 3px !important;
  font-size: 14px !important;
}
.customer-form-home .customer-entry-form input,
.customer-form-home .customer-entry-form select,
.customer-form-home .entry-key-person-row .contact-add-button {
  min-height: 34px !important;
  height: 34px !important;
}
.customer-form-home .customer-entry-form input,
.customer-form-home .customer-entry-form select {
  padding: 0 10px !important;
  font-size: 14px !important;
}
.customer-form-home .entry-key-person-row {
  grid-template-columns: minmax(0, 1fr) 54px !important;
  gap: 7px !important;
}
.customer-form-home .entry-key-person-row .contact-add-button {
  width: 54px !important;
  min-width: 54px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
}
.customer-form-home .deal-row {
  display: grid !important;
  grid-template-columns: 84px minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 36px !important;
  margin: 4px 0 2px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}
.customer-form-home .deal-row > span {
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.customer-form-home .deal-row label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 0 8px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #1f2933 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.customer-form-home .deal-row input[type="radio"] {
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 16px !important;
}
.customer-form-home .customer-form-actions {
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  gap: 8px !important;
  padding: 8px 18px 10px !important;
  background: #f7f8f8 !important;
}
.customer-form-home .customer-form-actions .brain-outline-button {
  min-height: 38px !important;
  height: 38px !important;
  font-size: 13px !important;
  border-radius: 8px !important;
}
.customer-form-home #entrySaveButton {
  border-color: #07c160 !important;
  background: #07c160 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.customer-form-home #entryEditButton {
  background: #fff !important;
  color: #59646b !important;
}

/* Pending list search and sort compact polish */
.pending-home .pending-search {
  padding: 6px 14px 8px !important;
  grid-template-columns: minmax(0, 1fr) 58px !important;
  gap: 7px !important;
}
.pending-home .pending-search input,
.pending-home .pending-search button {
  min-height: 32px !important;
  height: 32px !important;
  border-radius: 7px !important;
}
.pending-home .pending-search input {
  padding: 0 10px !important;
  font-size: 14px !important;
}
.pending-home .pending-search button {
  padding: 0 8px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.pending-home .pending-sort {
  padding-bottom: 7px !important;
}
.pending-home .pending-sort button,
.pending-home .pending-sort .pending-inline-add {
  min-height: 28px !important;
  height: 28px !important;
  font-size: 12px !important;
}
.pending-home .pending-sales-filter {
  padding: 0 14px 7px !important;
}
.pending-home .pending-sales-filter[hidden] {
  display: none !important;
}
.pending-home .pending-sales-filter select {
  width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  border: 1px solid #d8e6dd !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  padding: 0 10px !important;
  font-size: 13px !important;
}
.pending-home .pending-name .pending-owner-name {
  width: 3.4em !important;
  max-width: 3.4em !important;
  padding: 1px 2px !important;
  text-align: center !important;
}

/* Boss stats customer drilldown */
.boss-stats-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(15, 23, 42, .34);
}
.boss-stats-modal {
  width: min(360px, 100%);
  max-height: min(620px, 86vh);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-radius: 14px;
  background: #f8fafc;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
}
.boss-stats-modal header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #ffffff;
  border-bottom: 1px solid #e5edf0;
}
.boss-stats-modal header strong {
  display: block;
  color: #111827;
  font-size: 16px;
}
.boss-stats-modal header span {
  display: block;
  margin-top: 2px;
  color: #6b7280;
  font-size: 12px;
}
.boss-stats-modal header button {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: #eef2f7;
  color: #334155;
  font-size: 20px;
  line-height: 30px;
}
.boss-customer-list {
  display: grid;
  gap: 8px;
  overflow-y: auto;
  padding: 10px;
}
.boss-customer-row {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  border: 1px solid #e3ece7;
  border-radius: 10px;
  background: #ffffff;
  padding: 8px;
  text-align: left;
}
.boss-customer-row i {
  display: grid;
  place-items: center;
  min-height: 42px;
  border-radius: 8px;
  background: #eaf8ef;
  color: #07984d;
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}
.boss-customer-main {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.boss-customer-main strong,
.boss-customer-main em,
.boss-customer-main small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.boss-customer-main strong {
  color: #111827;
  font-size: 14px;
}
.boss-customer-main em {
  color: #6b7280;
  font-style: normal;
  font-size: 12px;
}
.boss-customer-main small {
  color: #1f2937;
  font-size: 12px;
}
.boss-customer-row > span:last-child {
  max-width: 54px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #64748b;
  font-size: 11px;
}
.boss-customer-empty {
  padding: 22px 12px;
  color: #6b7280;
  text-align: center;
  font-size: 13px;
}

/* Customer contact added row */
.customer-form-home .entry-added-contacts {
  display: grid;
  gap: 6px;
}
.customer-form-home .entry-added-contacts[hidden] {
  display: none !important;
}
.customer-form-home .entry-added-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: center;
  min-height: 34px;
  padding: 4px 5px 4px 9px;
  border: 1px solid #dceee4;
  border-radius: 7px;
  background: #f3fbf6;
}
.customer-form-home .entry-added-contact span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #1f2937;
  font-size: 13px;
  font-weight: 400;
}

/* H5 Me page single source of truth */
.brain-home .brain-phone {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto !important;
  align-content: start !important;
  padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important;
}
.brain-phone .brain-title {
  margin: 4px 0 18px !important;
  color: #191919 !important;
  font-size: 28px !important;
  line-height: 1.18 !important;
  font-weight: 600 !important;
}
.brain-phone .me-accordion {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e2e8e5 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.brain-phone .me-accordion-head {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f8fbf9 !important;
  color: #202b33 !important;
  font-size: 15px !important;
  line-height: 42px !important;
  font-weight: 500 !important;
  text-align: left !important;
  box-shadow: none !important;
}
.brain-phone .me-accordion-head span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.brain-phone .me-accordion-head em {
  flex: 0 0 auto !important;
  color: #6f7a83 !important;
  font-style: normal !important;
  font-size: 15px !important;
  line-height: 1 !important;
}
.brain-phone .me-accordion-body {
  display: grid !important;
  gap: 8px !important;
  padding: 9px 12px 11px !important;
  border-top: 1px solid #edf1f3 !important;
  background: #ffffff !important;
}
.brain-phone .me-accordion:not(.is-open) .me-accordion-body,
.brain-phone .me-accordion .me-accordion-body[hidden] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
  overflow: hidden !important;
}
.brain-phone .me-accordion .brain-api {
  margin-top: 0 !important;
}
.brain-phone #adminPanel {
  display: grid !important;
  gap: 0 !important;
  min-height: 0 !important;
  overflow-y: auto !important;
}
.brain-phone #adminPanel .owner-panel-card {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e2e8e5 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.brain-phone #adminPanel .owner-field {
  display: grid !important;
  gap: 5px !important;
  margin: 0 !important;
  color: #42505a !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
}
.brain-phone #adminPanel .owner-field input,
.brain-phone #adminPanel .owner-field select {
  width: 100% !important;
  min-height: 32px !important;
  height: 32px !important;
  border: 1px solid #dde8e2 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
  padding: 0 9px !important;
  font-size: 13px !important;
  line-height: 32px !important;
  box-shadow: none !important;
}
.brain-phone #adminPanel .owner-action-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 8px !important;
}
.brain-phone #adminPanel .owner-action-row button,
.brain-phone #adminPanel .owner-strategy-buttons button {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 7px !important;
  background: #f2fbf5 !important;
  color: #1f7a3b !important;
  font-size: 13px !important;
  line-height: 28px !important;
  font-weight: 500 !important;
  text-align: center !important;
  box-shadow: none !important;
}
.brain-phone #adminPanel .owner-note,
.brain-phone #adminPanel .owner-report-history {
  margin: 0 !important;
  color: #66737b !important;
  font-size: 12px !important;
  line-height: 1.38 !important;
  font-weight: 400 !important;
}
.brain-phone #adminPanel .owner-daily-report {
  width: 100% !important;
  max-height: 260px !important;
  overflow: auto !important;
  margin: 4px 0 0 !important;
  padding: 10px 11px !important;
  border: 1px solid #e4ece8 !important;
  border-radius: 8px !important;
  background: #fbfdfc !important;
  color: #25313a !important;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}
.brain-phone #adminPanel .owner-strategy-buttons {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 7px !important;
}
.brain-phone #adminPanel .owner-strategy-buttons button {
  width: 100% !important;
}


/* Admin page single source of truth */
.admin-page-body {
  margin: 0 !important;
  min-height: 100vh !important;
  padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important;
  background: #ededed !important;
  color: #191919 !important;
}
.admin-page-body .enterprise-admin-page {
  box-sizing: border-box !important;
  width: min(430px, 100%) !important;
  min-height: 100vh !important;
  margin: 0 auto !important;
  padding: 8px 12px calc(72px + env(safe-area-inset-bottom)) !important;
  background: #f5f7f6 !important;
}
.admin-page-body .enterprise-admin-head[hidden],
.admin-page-body #adminLoginCard[hidden],
.admin-page-body #adminContent[hidden],
.admin-page-body .dashboard-customer-modal[hidden] {
  display: none !important;
}
.admin-page-body .enterprise-admin-head {
  padding: 8px 2px 10px !important;
  text-align: center !important;
}
.admin-page-body .enterprise-admin-head h1 {
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 400 !important;
}
.admin-page-body .enterprise-admin-head p,
.admin-page-body #adminLoginStatus,
.admin-page-body #adminStatusText,
.admin-page-body .enterprise-admin-card .admin-help-text,
.admin-page-body .owner-strategy-tip {
  margin: 6px 0 0 !important;
  color: #7a8388 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.admin-page-body #adminContent {
  display: grid !important;
  gap: 7px !important;
}
.admin-page-body .enterprise-admin-card {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid #e1e8e4 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.admin-page-body .enterprise-admin-card h2 {
  margin: 0 0 1px !important;
  color: #191919 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}
.admin-page-body #modelConfigCard h2 {
  display: none !important;
}
.admin-page-body #adminContent > .enterprise-admin-card.admin-accordion {
  display: block !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-color: #dfe8e3 !important;
  background: #ffffff !important;
}
.admin-page-body #adminContent > .enterprise-admin-card.admin-accordion:not(.is-open) .admin-accordion-body,
.admin-page-body #adminContent > .enterprise-admin-card.admin-accordion .admin-accordion-body[hidden] {
  display: none !important;
}
.admin-page-body #adminContent > .enterprise-admin-card.admin-accordion.is-open .admin-accordion-body {
  display: grid !important;
  gap: 7px !important;
  padding: 8px 12px 10px !important;
  background: #ffffff !important;
}
.admin-page-body #adminContent > .enterprise-admin-card.admin-accordion .admin-accordion-head {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-height: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f7faf8 !important;
  color: #202b33 !important;
  font-size: 14px !important;
  line-height: 38px !important;
  text-align: left !important;
  box-shadow: none !important;
}
.admin-page-body #adminContent > .enterprise-admin-card.admin-accordion:nth-of-type(2n) .admin-accordion-head {
  background: #f2f8f5 !important;
}
.admin-page-body #adminContent > .enterprise-admin-card.admin-accordion .admin-accordion-head span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-weight: 600 !important;
}
.admin-page-body #adminContent > .enterprise-admin-card.admin-accordion .admin-accordion-head em {
  flex: 0 0 auto !important;
  color: #7b8781 !important;
  font-style: normal !important;
  font-size: 15px !important;
}
.admin-page-body .enterprise-admin-card label,
.admin-page-body .sales-dashboard-section p,
.admin-page-body .strategy-discovery-row p,
.admin-page-body .adopted-strategy-row p,
.admin-page-body .strategy-draft-row small {
  color: #53616b !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.admin-page-body .enterprise-admin-card input,
.admin-page-body .enterprise-admin-card select,
.admin-page-body .enterprise-admin-card textarea {
  width: 100% !important;
  min-height: 31px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #191919 !important;
  padding: 0 8px !important;
  font-size: 13px !important;
  outline: none !important;
  box-shadow: none !important;
}
.admin-page-body .enterprise-admin-card textarea {
  padding-top: 7px !important;
  line-height: 1.4 !important;
  resize: vertical !important;
}
.admin-page-body .enterprise-admin-card input:focus,
.admin-page-body .enterprise-admin-card select:focus,
.admin-page-body .enterprise-admin-card textarea:focus {
  border-color: #07c160 !important;
}
.admin-page-body .enterprise-admin-card button:not(.admin-accordion-head) {
  min-height: 31px !important;
  border-radius: 7px !important;
  font-size: 13px !important;
}
.admin-page-body .admin-strategy-mode-field {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
  padding: 2px 0 !important;
}
.admin-page-body .admin-strategy-mode-field > strong {
  color: #53616b !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
.admin-page-body .admin-strategy-mode-toggle {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 4px !important;
  padding: 3px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 8px !important;
  background: #f5faf7 !important;
}
.admin-page-body .admin-strategy-mode-toggle label {
  margin: 0 !important;
  min-width: 0 !important;
}
.admin-page-body .admin-strategy-mode-toggle input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.admin-page-body .admin-strategy-mode-toggle span {
  display: grid !important;
  place-items: center !important;
  min-height: 30px !important;
  border-radius: 6px !important;
  color: #52605a !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.admin-page-body .admin-strategy-mode-toggle input:checked + span {
  background: #07c160 !important;
  color: #ffffff !important;
  box-shadow: 0 1px 4px rgba(7, 193, 96, .18) !important;
}
.admin-page-body .admin-strategy-mode-help {
  margin: 0 !important;
  color: #7a8388 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.admin-page-body .sales-dashboard-content,
.admin-page-body .strategy-discovery-list,
.admin-page-body .strategy-draft-list,
.admin-page-body .adopted-strategy-list {
  display: grid !important;
  gap: 8px !important;
}
.admin-page-body .sales-dashboard-refresh {
  width: 100% !important;
  min-height: 32px !important;
  border: 1px solid #07c160 !important;
  border-radius: 7px !important;
  background: #07c160 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.admin-page-body .owner-strategy-summary,
.admin-page-body .sales-dashboard-metrics,
.admin-page-body .sales-pipeline-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 5px !important;
}
.admin-page-body .owner-strategy-summary button,
.admin-page-body .sales-dashboard-metrics button,
.admin-page-body .sales-pipeline-grid button,
.admin-page-body .sales-dashboard-metrics span {
  min-height: 46px !important;
  padding: 6px 4px !important;
  border: 1px solid #dcebe3 !important;
  border-radius: 7px !important;
  background: #f8fbf9 !important;
  color: #4d5a63 !important;
  text-align: center !important;
}
.admin-page-body .owner-strategy-summary strong,
.admin-page-body .sales-dashboard-metrics button b,
.admin-page-body .sales-pipeline-grid button b,
.admin-page-body .sales-dashboard-metrics b {
  display: block !important;
  margin-top: 2px !important;
  color: #191919 !important;
  font-size: 17px !important;
  line-height: 1 !important;
}
.admin-page-body .owner-strategy-summary span,
.admin-page-body .sales-dashboard-metrics button em,
.admin-page-body .sales-pipeline-grid button span {
  display: block !important;
  color: #7a8388 !important;
  font-size: 12px !important;
  font-style: normal !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.admin-page-body .sales-dashboard-section {
  display: grid !important;
  gap: 4px !important;
  padding: 7px 0 0 !important;
  border-top: 1px solid #edf1f3 !important;
}
.admin-page-body .strategy-discovery-row,
.admin-page-body .strategy-draft-row,
.admin-page-body .adopted-strategy-row {
  display: grid !important;
  gap: 4px !important;
  padding: 8px !important;
  border: 1px solid #e2eee8 !important;
  border-radius: 7px !important;
  background: #f9fcfb !important;
}
.admin-page-body .strategy-discovery-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
.admin-page-body .strategy-discovery-head strong,
.admin-page-body .sales-dashboard-section strong {
  min-width: 0 !important;
  color: #191919 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.admin-page-body .strategy-discovery-head span {
  flex: 0 0 auto !important;
  padding: 1px 6px !important;
  border-radius: 999px !important;
  background: #e9fff3 !important;
  color: #078658 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}
.admin-page-body .strategy-discovery-meta,
.admin-page-body .strategy-discovery-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}
.admin-page-body .enterprise-admin-card .strategy-discovery-actions button {
  width: auto !important;
  min-height: 26px !important;
  padding: 0 8px !important;
  border: 1px solid #07c160 !important;
  background: #ffffff !important;
  color: #07a653 !important;
  font-size: 12px !important;
}
.admin-page-body .dashboard-customer-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 80 !important;
  display: grid !important;
  place-items: start center !important;
  padding: max(18px, env(safe-area-inset-top)) 16px 16px !important;
  background: rgba(0,0,0,.28) !important;
}
.admin-page-body .dashboard-customer-panel {
  width: min(460px, 100%) !important;
  max-height: 76vh !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  border-radius: 12px !important;
  background: #ffffff !important;
}
.admin-page-body .dashboard-customer-panel header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid #edf1f3 !important;
}
.admin-page-body .dashboard-customer-list {
  overflow: auto !important;
  display: grid !important;
  gap: 8px !important;
  padding: 12px !important;
}
.admin-page-body .dashboard-customer-list button {
  display: grid !important;
  gap: 4px !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 9px 10px !important;
  border: 1px solid #e2eee8 !important;
  border-radius: 8px !important;
  background: #f9fcfb !important;
  text-align: left !important;
}


/* Pending list final top layout */
.pending-home .pending-phone {
  display: grid !important;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto !important;
  align-content: stretch !important;
  background: #ffffff !important;
}
.pending-home .pending-head {
  display: none !important;
}
.pending-home .pending-search {
  grid-row: 1 !important;
  align-self: start !important;
  flex: 0 0 auto !important;
}
.pending-home .pending-sort {
  grid-row: 2 !important;
  align-self: start !important;
  flex: 0 0 auto !important;
}
.pending-home .pending-sales-filter {
  grid-row: 3 !important;
  align-self: start !important;
  flex: 0 0 auto !important;
}
.pending-home .pending-sales-filter[hidden] {
  display: none !important;
}
.pending-home .pending-list {
  grid-row: 5 !important;
  align-self: stretch !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  align-content: start !important;
  justify-content: stretch !important;
  padding: 0 14px calc(12px + env(safe-area-inset-bottom)) !important;
  margin: 0 !important;
}
.pending-home .pending-list:empty {
  min-height: 0 !important;
}
.pending-home .pending-tabs {
  grid-row: 6 !important;
  align-self: end !important;
  width: 100% !important;
  flex: 0 0 auto !important;
}

/* Customer chat compact header */
.customer-chat-home .customer-chat-phone {
  grid-template-rows: 46px minmax(0, 1fr) auto auto !important;
}
.customer-chat-home .chat-head {
  min-height: 46px !important;
  height: 46px !important;
  padding: 0 14px !important;
  grid-template-columns: 34px minmax(0, 1fr) 34px !important;
  border-bottom: 1px solid #e4e7e6 !important;
  background: #ffffff !important;
}
.customer-chat-home .chat-head h1 {
  min-width: 0 !important;
  margin: 0 !important;
  color: #191919 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-align: left !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .chat-back,
.customer-chat-home .chat-head-spacer,
.customer-chat-home .chat-more,
.customer-chat-home .chat-icon-button {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  font-size: 24px !important;
  line-height: 34px !important;
}
.customer-chat-home .chat-more {
  font-size: 18px !important;
  letter-spacing: 2px !important;
}
.customer-chat-home .chat-head {
  min-height: 54px !important;
  padding: 10px 12px 8px !important;
  grid-template-columns: 30px minmax(0, 1fr) auto !important;
  gap: 8px !important;
}
.customer-chat-home .chat-head-actions {
  display: flex !important;
  gap: 6px !important;
}
.customer-chat-home .chat-icon-button {
  border: 1px solid #d7e4dd !important;
  border-radius: 8px !important;
  background: #f7fbf8 !important;
  color: #1f3a2f !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
.customer-chat-home .chat-record-button {
  width: auto !important;
  min-width: 48px !important;
  padding: 0 7px !important;
  grid-template-columns: auto auto !important;
}
.customer-chat-home .chat-record-button.is-recording {
  border-color: #efb2b2 !important;
  background: #fff5f5 !important;
  color: #b42318 !important;
}
.customer-chat-home .chat-thread {
  padding-top: 12px !important;
}

/* Boss stats modal top aligned */
.boss-stats-overlay {
  place-items: start center !important;
  padding: calc(12px + env(safe-area-inset-top)) 14px 14px !important;
}
.boss-stats-modal {
  width: min(360px, 100%) !important;
  max-height: min(560px, 72vh) !important;
  border-radius: 12px !important;
  margin-top: 0 !important;
}
.boss-customer-row {
  cursor: pointer;
}
.boss-customer-row:active {
  background: #eef8f2 !important;
}

/* Pending filter visible label layout */
.pending-home .pending-search {
  width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 64px !important;
  padding: 6px 12px 8px !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.pending-home .pending-search input {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.pending-home .pending-search button {
  width: 64px !important;
  min-width: 64px !important;
  box-sizing: border-box !important;
}
.pending-home .pending-sales-filter {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 14px 8px !important;
  box-sizing: border-box !important;
}
.pending-home .pending-sales-filter[hidden] {
  display: none !important;
}
.pending-home .pending-filter-label {
  height: 30px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 7px !important;
  background: #eef8f2 !important;
  color: #16784b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.pending-home .pending-sales-filter select {
  min-width: 0 !important;
  width: 100% !important;
}

/* Contact added single table */
.customer-form-home .entry-added-contacts {
  display: block !important;
  border: 1px solid #dceee4 !important;
  border-radius: 9px !important;
  background: #f7fcf9 !important;
  overflow: hidden !important;
}
.customer-form-home .entry-added-contacts[hidden] {
  display: none !important;
}
.customer-form-home .entry-added-contact-table {
  display: grid !important;
  gap: 0 !important;
}
.customer-form-home .entry-added-contact {
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-bottom: 1px solid #e3f1e8 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
}
.customer-form-home .entry-added-contact:last-child {
  border-bottom: 0 !important;
}
.customer-form-home .entry-added-contact span {
  font-size: 14px !important;
  color: #1f2937 !important;
  font-weight: 400 !important;
}

/* Customer profile structured contacts */
.customer-form-home .entry-key-person-editor {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 54px !important;
  gap: 7px !important;
  align-items: center !important;
}
.customer-form-home .entry-key-person-editor #entryContactInfo {
  grid-column: 1 / 4 !important;
}
.customer-form-home .entry-key-person-editor #entryContactNote {
  grid-column: 1 / -1 !important;
}
.customer-form-home .entry-key-person-editor .contact-add-button {
  grid-column: 4 !important;
  grid-row: 1 !important;
  width: 54px !important;
  min-width: 54px !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  border-radius: 6px !important;
  font-size: 12px !important;
}
.customer-form-home .entry-added-contacts,
.customer-detail-home .entry-added-contacts {
  display: block !important;
  border: 1px solid #dceee4 !important;
  border-radius: 9px !important;
  background: #f7fcf9 !important;
  overflow: hidden !important;
}
.customer-form-home .entry-added-contact,
.customer-detail-home .entry-added-contact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: start !important;
  min-height: 0 !important;
  padding: 8px 9px !important;
  border: 0 !important;
  border-bottom: 1px solid #e3f1e8 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.customer-form-home .entry-added-contact:last-child,
.customer-detail-home .entry-added-contact:last-child {
  border-bottom: 0 !important;
}
.customer-form-home .entry-contact-main,
.customer-detail-home .entry-contact-main {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}
.customer-form-home .entry-contact-main strong,
.customer-detail-home .entry-contact-main strong {
  min-width: 0 !important;
  color: #1f2933 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  word-break: break-word !important;
}
.customer-form-home .entry-contact-main strong em,
.customer-detail-home .entry-contact-main strong em {
  margin-right: 4px !important;
  color: #07984d !important;
  font-style: normal !important;
}
.customer-form-home .entry-contact-main small,
.customer-detail-home .entry-contact-main small,
.customer-form-home .entry-contact-main p,
.customer-detail-home .entry-contact-main p {
  margin: 0 !important;
  color: #66737b !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}
.customer-form-home .entry-contact-actions,
.customer-detail-home .entry-contact-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
}
.customer-form-home .entry-contact-actions button,
.customer-detail-home .entry-contact-actions button {
  min-width: 44px !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 6px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #16784b !important;
  font-size: 11px !important;
  line-height: 22px !important;
  font-weight: 600 !important;
}
.customer-form-home .entry-contact-actions button:disabled,
.customer-detail-home .entry-contact-actions button:disabled {
  opacity: .38 !important;
}
.customer-form-home .customer-form-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  position: relative !important;
  z-index: 45 !important;
  padding: 8px 18px calc(76px + env(safe-area-inset-bottom)) !important;
  background: #fff !important;
}
.customer-form-home #entrySaveButton,
.customer-detail-home #customerDetailSaveButton {
  background: #07c160 !important;
  border-color: #07c160 !important;
  color: #ffffff !important;
}

/* Customer chat compact card and forced status update */
.customer-chat-phone .chat-bubble {
  padding: 7px 10px !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
}
.customer-chat-phone .strategy-title {
  margin-bottom: 2px !important;
  font-size: 13px !important;
}
.customer-chat-phone .strategy-line {
  margin-bottom: 6px !important;
}
.customer-chat-phone .strategy-line p {
  font-size: 14px !important;
  line-height: 1.42 !important;
}
.customer-chat-phone .strategy-detail {
  margin-top: 7px !important;
  padding-top: 6px !important;
}
.customer-chat-phone .strategy-detail .strategy-detail-content {
  display: none !important;
}
.customer-chat-phone .strategy-detail.is-open .strategy-detail-content {
  display: block !important;
}
.customer-chat-phone .stage-update-box {
  display: none !important;
}
.customer-chat-phone .chat-light-actions {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 5px !important;
  margin: 6px 0 7px !important;
}
.customer-chat-phone .chat-light-actions button {
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 4px !important;
  border: 1px solid #d8e7de !important;
  border-radius: 6px !important;
  background: #f3faf6 !important;
  color: #526059 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 26px !important;
  white-space: nowrap !important;
}
.customer-chat-phone .chat-light-actions button.active {
  border-color: #07c160 !important;
  background: #e7f8ee !important;
  color: #07984d !important;
}
.customer-chat-phone .chat-light-actions span {
  grid-column: 1 / -1 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}
.status-confirm-mask {
  align-items: flex-end !important;
}
.status-confirm-panel {
  max-height: calc(100dvh - 24px) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
.status-confirm-scroll {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
.status-confirm-actions {
  grid-template-columns: 1fr 1fr !important;
  flex: 0 0 auto !important;
  padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
  box-sizing: border-box !important;
}
#statusLaterButton {
  background: #eef2f1 !important;
  color: #59646b !important;
  font-weight: 700 !important;
}
#statusSaveButton {
  background: #07c160 !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* Pending toolbar compact polish */
.pending-home .pending-search {
  padding: 6px 14px 6px !important;
  grid-template-columns: minmax(0, 1fr) 52px !important;
  gap: 6px !important;
}
.pending-home .pending-search input,
.pending-home .pending-search button,
.pending-home .pending-sort button,
.pending-home .pending-sort .pending-inline-add {
  height: 32px !important;
  min-height: 32px !important;
  box-sizing: border-box !important;
  border-radius: 7px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}
.pending-home .pending-search input {
  padding: 0 10px !important;
  border: 1px solid #dfe6e2 !important;
  background: #ffffff !important;
}
.pending-home .pending-search button,
.pending-home .pending-sort button,
.pending-home .pending-sort .pending-inline-add {
  padding: 0 9px !important;
  border: 1px solid #d9e5de !important;
  background: #f7fbf8 !important;
  color: #20332a !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.pending-home .pending-search button {
  width: 52px !important;
  min-width: 52px !important;
}
.pending-home .pending-sort {
  padding: 0 14px 7px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
}
.pending-home .pending-sort button.active {
  border-color: #9ed8bb !important;
  background: #eaf8f0 !important;
  color: #14643b !important;
}
.pending-home .pending-inline-add {
  min-width: 0 !important;
}

/* Pending customer card compact display */
.pending-home .pending-item {
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 7px !important;
  margin-bottom: 6px !important;
}
.pending-home .pending-name {
  min-height: 40px !important;
  height: 40px !important;
  padding: 3px 4px !important;
  border-radius: 8px !important;
  gap: 2px !important;
}
.pending-home .pending-name span:first-child {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
}
.pending-home .pending-name .pending-owner-name {
  max-width: 100% !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  padding: 1px 3px !important;
}
.pending-home .pending-plan {
  min-height: 40px !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  gap: 1px !important;
  overflow: hidden !important;
}
.pending-home .pending-card-head {
  gap: 6px !important;
  min-width: 0 !important;
}
.pending-home .pending-card-head strong {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}
.pending-home .pending-card-head em {
  flex: 0 0 auto !important;
  padding: 1px 5px !important;
  border-radius: 5px !important;
  font-size: 10px !important;
  line-height: 16px !important;
  max-height: 18px !important;
}
.pending-home .pending-contact,
.pending-home .pending-next {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  line-height: 1.22 !important;
}
.pending-home .pending-next {
  font-weight: 600 !important;
}
.pending-home .pending-actions {
  margin-top: 4px !important;
  gap: 6px !important;
}
.pending-home .pending-actions button {
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 7px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
  line-height: 22px !important;
}

/* Pending list: keep salesperson inside the customer card */
.pending-home .pending-item,
.pending-home .pending-item.no-owner {
  grid-template-columns: minmax(0, 1fr) !important;
}
.pending-home .pending-name {
  display: none !important;
}
.pending-home .pending-owner-inline {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #6b7280 !important;
  font-size: 11px !important;
  line-height: 15px !important;
}

/* Pending card repair: one-line next action and small matched buttons */
.pending-home .pending-next {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  line-height: 16px !important;
  height: 16px !important;
  max-height: 16px !important;
}
.pending-home .pending-actions {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin-top: 3px !important;
}
.pending-home .pending-actions button {
  min-height: 22px !important;
  height: 22px !important;
  padding: 0 7px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
  line-height: 20px !important;
  border: 1px solid #d8e6dd !important;
  background: #fff !important;
  color: #157347 !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
.pending-home .pending-actions button:first-child {
  border-color: #d8e6dd !important;
  background: #fff !important;
  color: #157347 !important;
}

/* WeChat-like customer chat UI */
.customer-chat-home .customer-chat-phone {
  grid-template-rows: 60px minmax(0, 1fr) auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ededed !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-head {
  height: 60px !important;
  min-height: 60px !important;
  padding: 0 16px !important;
  grid-template-columns: 40px minmax(0, 1fr) 40px !important;
  gap: 8px !important;
  background: #ededed !important;
  border-bottom: 1px solid #e2e2e2 !important;
}
.customer-chat-home .chat-back {
  width: 40px !important;
  height: 44px !important;
  color: #111 !important;
  font-size: 36px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  background: transparent !important;
}
.customer-chat-home .chat-head h1 {
  color: #111 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 60px !important;
  letter-spacing: 0 !important;
}
.customer-chat-home .chat-head-actions {
  justify-content: flex-end !important;
  gap: 0 !important;
}
.customer-chat-home .chat-profile-button {
  width: 44px !important;
  height: 44px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111 !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 2px !important;
}
.customer-chat-home .chat-thread {
  padding: 12px 12px 10px !important;
  background: #ededed !important;
}
.customer-chat-home .chat-time {
  margin: 10px 0 !important;
  color: #9c9c9c !important;
  font-size: 12px !important;
}
.customer-chat-home .chat-row {
  margin: 10px 0 !important;
  gap: 8px !important;
}
.customer-chat-home .chat-avatar {
  width: 36px !important;
  height: 36px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  background: #07c160 !important;
}
.customer-chat-home .chat-row.bot .chat-avatar {
  background: #1989fa !important;
}
.customer-chat-home .chat-bubble {
  max-width: 76% !important;
  border-radius: 5px !important;
  padding: 8px 10px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-row.user .chat-bubble {
  background: #95ec69 !important;
  color: #111 !important;
}
.customer-chat-home .chat-input {
  min-height: 64px !important;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) 28px 34px 34px auto !important;
  gap: 7px !important;
  align-items: center !important;
  background: #f7f7f7 !important;
  border-top: 1px solid #dedede !important;
}
.customer-chat-home .chat-input textarea {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 86px !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: 26px !important;
  resize: none !important;
}
.customer-chat-home .chat-input button {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 2px solid #1f1f1f !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #1f1f1f !important;
  display: grid !important;
  place-items: center !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}
.customer-chat-home .chat-voice-button {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  color: #111827 !important;
  transform: none !important;
}
.customer-chat-home .chat-voice-button svg {
  width: 25px !important;
  height: 25px !important;
  display: block !important;
}
.customer-chat-home .chat-inline-record-button {
  border: 0 !important;
  width: 28px !important;
  min-width: 28px !important;
  color: #8a8a8a !important;
  font-size: 14px !important;
}
.customer-chat-home .chat-inline-record-button svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
}
.customer-chat-home .chat-inline-record-button .record-dot {
  display: none !important;
}
.customer-chat-home .chat-inline-record-button.is-recording {
  border: 1px solid #e03131 !important;
  background: #fff5f5 !important;
  color: #b42318 !important;
  width: auto !important;
  min-width: 44px !important;
  border-radius: 16px !important;
  font-size: 11px !important;
}
.customer-chat-home .chat-emoji-button {
  font-size: 25px !important;
}
.customer-chat-home .chat-image-button {
  font-size: 28px !important;
}
.customer-chat-home #customerChatSendButton {
  display: none !important;
  width: auto !important;
  min-width: 46px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #07c160 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.customer-chat-home #customerChatSendButton.is-visible,
.customer-chat-home #customerChatSendButton:disabled {
  display: grid !important;
}
.customer-chat-home .customer-chat-phone > .brain-tabs {
  display: none !important;
}

/* Login green design final override */
.login-home {
  grid-template-rows: auto auto 1fr !important;
  align-content: start !important;
  padding: max(136px, calc(110px + env(safe-area-inset-top))) 26px 28px !important;
  background:
    radial-gradient(circle at 89% 4%, rgba(255,255,255,.3) 0 14%, transparent 15%),
    radial-gradient(circle at 70% 0%, rgba(255,255,255,.09) 0 28%, transparent 29%),
    radial-gradient(circle at 50% 84%, rgba(191,255,221,.74), transparent 45%),
    linear-gradient(180deg,#18bf53 0%,#23cf62 36%,#effff5 70%,#ffffff 100%) !important;
}
.login-home::before {
  content: "";
  position: fixed;
  left: -8%;
  right: -8%;
  top: 42%;
  height: 112px;
  pointer-events: none;
  background: #f3fff7;
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  transform: translateY(-50%) rotate(180deg);
  box-shadow: 0 -18px 28px rgba(255,255,255,.36);
}
.login-home::after {
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  height: 46%;
  pointer-events: none;
  background:
    linear-gradient(135deg, transparent 0 67%, rgba(255,255,255,.86) 67.3% 100%);
  opacity: .9;
  clip-path: polygon(0 0, 100% 0, 100% 89%, 86% 96%, 70% 100%, 52% 98%, 34% 92%, 15% 86%, 0 80%);
}
.login-home h1 {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 0 70px !important;
  color: #fff !important;
  font-size: clamp(48px, 13vw, 68px) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 2px !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
}
.login-form {
  position: relative !important;
  z-index: 3 !important;
  width: min(100%, 430px) !important;
  gap: 0 !important;
  padding: 34px 31px 40px !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 22px 42px rgba(34, 197, 94, .18), 0 0 0 1px rgba(255,255,255,.72) inset !important;
}
.login-field {
  grid-template-columns: 62px minmax(0, 1fr) !important;
  min-height: 66px !important;
  border-bottom: 1px solid rgba(17,24,39,.09) !important;
}
.login-field-icon {
  width: 45px !important;
  height: 45px !important;
}
.login-field-icon svg {
  width: 31px !important;
  height: 31px !important;
}
.login-field input {
  height: 58px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 6px !important;
  font-size: 19px !important;
  color: #111827 !important;
}
.login-button {
  height: 62px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,#20c75a,#22c55e) !important;
  font-size: 20px !important;
  margin-top: 42px !important;
  box-shadow: 0 15px 30px rgba(34,197,94,.3) !important;
}
.login-options {
  margin-top: 11px !important;
  font-size: 13px !important;
}
.login-agreement {
  position: relative !important;
  z-index: 3 !important;
  width: min(100%, 360px) !important;
  margin-top: 92px !important;
  color: #7d8792 !important;
  font-size: 12px !important;
}
@media (max-width: 720px) {
  .login-home {
    padding: max(126px, calc(96px + env(safe-area-inset-top))) 26px 28px !important;
  }
  .login-home h1 {
    margin-bottom: 64px !important;
    font-size: clamp(48px, 15vw, 64px) !important;
  }
  .login-form {
    width: calc(100vw - 52px) !important;
    padding: 33px 30px 39px !important;
  }
.login-agreement {
    margin-top: 94px !important;
  }
}

/* Bottom tab SVG icons */
.brain-tabs .tab-icon {
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  transform: none !important;
  color: currentColor !important;
  display: grid !important;
  place-items: center !important;
}
.brain-tabs .tab-icon::before,
.brain-tabs .tab-icon::after {
  display: none !important;
  content: none !important;
}
.brain-tabs .tab-icon svg {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
  stroke: currentColor !important;
}
.brain-tabs button.active,
.brain-tabs button:hover,
.brain-tabs button:focus {
  color: #22c55e !important;
}
.brain-tabs button.active em,
.brain-tabs button:hover em,
.brain-tabs button:focus em {
  color: #22c55e !important;
}

/* Login compact repair */
.login-form {
  padding: 28px 28px 34px !important;
  border-radius: 22px !important;
}
.login-field {
  grid-template-columns: 48px minmax(0, 1fr) !important;
  min-height: 50px !important;
  height: 50px !important;
  padding: 0 12px !important;
  margin-bottom: 12px !important;
  border: 1px solid rgba(17,24,39,.08) !important;
  border-radius: 12px !important;
  background: rgba(245,248,247,.9) !important;
}
.login-field-icon {
  width: 34px !important;
  height: 34px !important;
  color: #4b5563 !important;
}
.login-field-icon svg {
  width: 25px !important;
  height: 25px !important;
  stroke-width: 1.65 !important;
}
.login-field input {
  height: 48px !important;
  min-height: 48px !important;
  font-size: 17px !important;
  color: #111827 !important;
}
.login-options {
  margin: 4px 0 0 !important;
  padding-left: 4px !important;
}
.login-options label {
  gap: 8px !important;
  color: #7b8794 !important;
  font-size: 14px !important;
}
.login-options input {
  width: 17px !important;
  height: 17px !important;
}
.login-button {
  width: 82% !important;
  justify-self: center !important;
  height: 50px !important;
  min-height: 50px !important;
  margin-top: 28px !important;
  font-size: 18px !important;
  letter-spacing: 1px !important;
  box-shadow: 0 12px 24px rgba(34,197,94,.24) !important;
}
@media (max-width: 720px) {
  .login-form {
    padding: 28px 28px 34px !important;
  }
  .login-field {
    min-height: 50px !important;
    height: 50px !important;
  }
  .login-button {
    height: 50px !important;
    min-height: 50px !important;
  }
}

/* Login fit one screen */
.login-home {
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  padding: max(52px, calc(34px + env(safe-area-inset-top))) 26px max(14px, env(safe-area-inset-bottom)) !important;
}
.login-home::before {
  top: 36% !important;
  height: 76px !important;
}
.login-home::after {
  height: 37% !important;
}
.login-bg-orb-one {
  width: 150px !important;
  height: 150px !important;
  right: -46px !important;
  top: -30px !important;
}
.login-bg-orb-two {
  width: 105px !important;
  height: 105px !important;
  right: 28px !important;
  top: -3px !important;
}
.login-home h1 {
  margin: 0 0 28px !important;
  font-size: clamp(30px, 8.5vw, 40px) !important;
  letter-spacing: 1px !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.07) !important;
}
.login-form {
  width: min(100%, 360px) !important;
  padding: 18px 20px 22px !important;
  border-radius: 18px !important;
}
.login-field {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 9px !important;
  margin-bottom: 8px !important;
  border-radius: 9px !important;
}
.login-field-icon {
  width: 24px !important;
  height: 24px !important;
}
.login-field-icon svg {
  width: 18px !important;
  height: 18px !important;
  stroke-width: 1.55 !important;
}
.login-field input {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 4px !important;
  font-size: 14px !important;
  line-height: 32px !important;
}
.login-options {
  margin: 2px 0 0 !important;
  padding-left: 2px !important;
}
.login-options label {
  gap: 6px !important;
  font-size: 12px !important;
}
.login-options input {
  width: 13px !important;
  height: 13px !important;
}
.login-button {
  width: 76% !important;
  height: 38px !important;
  min-height: 38px !important;
  margin-top: 16px !important;
  font-size: 15px !important;
  letter-spacing: 1px !important;
  box-shadow: 0 8px 18px rgba(34,197,94,.22) !important;
}
.login-agreement {
  width: min(100%, 310px) !important;
  margin-top: 44px !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  gap: 7px !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
}
.login-agreement-box {
  width: 22px !important;
  height: 22px !important;
}
.login-agreement-box svg {
  width: 20px !important;
  height: 20px !important;
}
.login-agreement input:checked + .login-agreement-box::after {
  width: 10px !important;
  height: 6px !important;
}
@media (max-width: 720px) {
  .login-home {
    padding: max(48px, calc(30px + env(safe-area-inset-top))) 26px max(12px, env(safe-area-inset-bottom)) !important;
  }
  .login-home h1 {
    margin-bottom: 26px !important;
    font-size: clamp(30px, 9vw, 38px) !important;
  }
  .login-form {
    width: calc(100vw - 52px) !important;
    max-width: 360px !important;
    padding: 18px 20px 22px !important;
  }
  .login-agreement {
    margin-top: 42px !important;
  }
}
@media (max-height: 720px) {
  .login-home {
    padding-top: max(36px, calc(22px + env(safe-area-inset-top))) !important;
  }
  .login-home h1 {
    margin-bottom: 20px !important;
    font-size: clamp(28px, 8vw, 36px) !important;
  }
  .login-form {
    padding: 16px 18px 20px !important;
  }
  .login-field {
    min-height: 32px !important;
    height: 32px !important;
    margin-bottom: 7px !important;
  }
  .login-button {
    height: 36px !important;
    min-height: 36px !important;
    margin-top: 14px !important;
  }
  .login-agreement {
    margin-top: 28px !important;
  }
}

/* Login tap target guard */
.login-home::before,
.login-home::after,
.login-home .login-bg-orb,
.login-home .login-form::before,
.login-home .login-form::after {
  pointer-events: none !important;
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
}
.login-home .login-form {
  position: relative !important;
  z-index: 30 !important;
  pointer-events: auto !important;
  isolation: isolate !important;
}
.login-home .login-button,
.login-home .login-button * {
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
  touch-action: manipulation !important;
  pointer-events: auto !important;
}
.login-home .login-button {
  position: relative !important;
  z-index: 60 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  pointer-events: auto !important;
  -webkit-tap-highlight-color: transparent !important;
  -webkit-user-drag: none !important;
  transform: translateZ(0) !important;
}
.login-home .login-button:disabled,
.login-home .login-button.is-loading {
  cursor: wait !important;
}
.login-home .login-field,
.login-home .login-options,
.login-home .login-status {
  position: relative !important;
  z-index: 35 !important;
}

/* Bottom tab text and active fill refinement */
.brain-tabs button {
  gap: 0 !important;
}
.brain-tabs em {
  margin-top: -2px !important;
  line-height: 16px !important;
}
.brain-tabs .tab-icon svg {
  fill: transparent !important;
}
.brain-tabs button.active .tab-icon svg,
.brain-tabs button:hover .tab-icon svg,
.brain-tabs button:focus .tab-icon svg {
  fill: rgba(34,197,94,.16) !important;
}
.brain-tabs button.active .tab-icon svg path,
.brain-tabs button:hover .tab-icon svg path,
.brain-tabs button:focus .tab-icon svg path {
  stroke: #22c55e !important;
}

/* Bottom tab final mobile alignment */
.brain-tabs {
  padding-bottom: calc(2px + env(safe-area-inset-bottom)) !important;
}
.brain-tabs button {
  justify-content: start !important;
  gap: 0 !important;
  padding-top: 5px !important;
  padding-bottom: 0 !important;
}
.brain-tabs em {
  margin-top: -5px !important;
  line-height: 13px !important;
  transform: translateY(-2px);
}
.brain-tabs .tab-icon {
  position: relative !important;
}
.brain-tabs .tab-icon::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 5px !important;
  border-radius: 999px !important;
  background: transparent !important;
  z-index: 0 !important;
}
.brain-tabs .tab-icon svg {
  position: relative !important;
  z-index: 1 !important;
}
.brain-tabs button.active .tab-icon::after,
.brain-tabs button:hover .tab-icon::after,
.brain-tabs button:focus .tab-icon::after {
  background: rgba(34,197,94,.18) !important;
}

/* Customer chat header: show customer name, no right-side more menu */
.customer-chat-home .chat-head {
  grid-template-columns: 40px minmax(0, 1fr) 40px !important;
}
.customer-chat-home .chat-head h1 {
  text-align: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .chat-head-actions,
.customer-chat-home .chat-profile-button {
  display: none !important;
}

/* Customer chat message text compactness */
.customer-chat-home .chat-bubble {
  font-size: 13px !important;
  line-height: 1.38 !important;
}
.customer-chat-home .strategy-card,
.customer-chat-home .strategy-line p,
.customer-chat-home .answer-body p {
  font-size: 13px !important;
  line-height: 1.4 !important;
}
.customer-chat-home .strategy-title,
.customer-chat-home .strategy-line strong,
.customer-chat-home .answer-body strong {
  font-size: 13px !important;
}

/* Bottom tab shape and spacing correction */
.brain-tabs button {
  gap: 2px !important;
}
.brain-tabs em {
  margin-top: 0 !important;
  transform: none !important;
  font-size: 11px !important;
  line-height: 12px !important;
}
.brain-tabs .tab-icon {
  width: 27px !important;
  height: 27px !important;
}
.brain-tabs .tab-icon::after {
  display: none !important;
  content: none !important;
}
.brain-tabs .tab-icon svg {
  width: 27px !important;
  height: 27px !important;
  fill: none !important;
  stroke: currentColor !important;
  overflow: visible !important;
}
.brain-tabs .tab-icon svg path {
  fill: none !important;
  stroke: currentColor !important;
}
.brain-tabs button.active,
.brain-tabs button:hover,
.brain-tabs button:focus {
  color: #22c55e !important;
}
.brain-tabs button.active .tab-icon svg,
.brain-tabs button:hover .tab-icon svg,
.brain-tabs button:focus .tab-icon svg,
.brain-tabs button.active .tab-icon svg path,
.brain-tabs button:hover .tab-icon svg path,
.brain-tabs button:focus .tab-icon svg path {
  fill: none !important;
  stroke: #22c55e !important;
}

/* Bottom nav global final alignment */
.brain-tabs,
.pending-tabs {
  box-sizing: border-box !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
  height: 70px !important;
  min-height: 70px !important;
  margin: 0 !important;
  padding: 5px 12px calc(10px + env(safe-area-inset-bottom)) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 0 !important;
  background: #ffffff !important;
  border-top: 1px solid #e2e5e3 !important;
}
.brain-tabs button,
.pending-tabs button {
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 2px 0 3px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  text-align: center !important;
  line-height: 1 !important;
}
.brain-tabs em,
.pending-tabs em {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  font-size: 11px !important;
  line-height: 12px !important;
  text-align: center !important;
  white-space: nowrap !important;
}
.brain-tabs .tab-icon,
.pending-tabs .tab-icon {
  width: 25px !important;
  height: 25px !important;
  margin: 0 auto !important;
  border: 0 !important;
  transform: none !important;
}
.brain-tabs .tab-icon::before,
.brain-tabs .tab-icon::after,
.pending-tabs .tab-icon::before,
.pending-tabs .tab-icon::after {
  display: none !important;
  content: none !important;
}
.brain-tabs .tab-icon svg,
.pending-tabs .tab-icon svg {
  width: 25px !important;
  height: 25px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  overflow: visible !important;
}
.brain-tabs .tab-icon svg path,
.pending-tabs .tab-icon svg path {
  fill: none !important;
  stroke: currentColor !important;
}
.brain-tabs button.active,
.brain-tabs button:hover,
.brain-tabs button:focus,
.pending-tabs button.active,
.pending-tabs button:hover,
.pending-tabs button:focus {
  color: #22c55e !important;
}
.brain-tabs button.active .tab-icon svg,
.brain-tabs button:hover .tab-icon svg,
.brain-tabs button:focus .tab-icon svg,
.brain-tabs button.active .tab-icon svg path,
.brain-tabs button:hover .tab-icon svg path,
.brain-tabs button:focus .tab-icon svg path,
.pending-tabs button.active .tab-icon svg,
.pending-tabs button:hover .tab-icon svg,
.pending-tabs button:focus .tab-icon svg,
.pending-tabs button.active .tab-icon svg path,
.pending-tabs button:hover .tab-icon svg path,
.pending-tabs button:focus .tab-icon svg path {
  fill: none !important;
  stroke: #22c55e !important;
}

/* Admin bottom nav final alignment */
.admin-page-body {
  padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important;
}
.admin-bottom-tabs {
  box-sizing: border-box !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 70px !important;
  min-height: 70px !important;
  padding: 5px 12px calc(10px + env(safe-area-inset-bottom)) !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 0 !important;
  background: #ffffff !important;
  border-top: 1px solid #e2e5e3 !important;
}
.admin-bottom-tabs button {
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 2px 0 3px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  text-align: center !important;
  line-height: 1 !important;
}
.admin-bottom-tabs em {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  line-height: 12px !important;
  text-align: center !important;
  white-space: nowrap !important;
}
.admin-bottom-tabs .tab-icon {
  width: 25px !important;
  height: 25px !important;
  margin: 0 auto !important;
  border: 0 !important;
  transform: none !important;
}
.admin-bottom-tabs button.active,
.admin-bottom-tabs button:hover,
.admin-bottom-tabs button:focus {
  color: #22c55e !important;
}

/* Admin bottom nav uses the same SVG icons as sales H5 */
.admin-bottom-tabs .tab-icon {
  background: none !important;
}
.admin-bottom-tabs .tab-icon::before,
.admin-bottom-tabs .tab-icon::after {
  display: none !important;
  content: none !important;
}
.admin-bottom-tabs .tab-icon svg {
  width: 25px !important;
  height: 25px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  overflow: visible !important;
}
.admin-bottom-tabs .tab-icon svg path {
  fill: none !important;
  stroke: currentColor !important;
}
.admin-bottom-tabs button.active .tab-icon svg,
.admin-bottom-tabs button:hover .tab-icon svg,
.admin-bottom-tabs button:focus .tab-icon svg,
.admin-bottom-tabs button.active .tab-icon svg path,
.admin-bottom-tabs button:hover .tab-icon svg path,
.admin-bottom-tabs button:focus .tab-icon svg path {
  fill: none !important;
  stroke: #22c55e !important;
}

/* Stable app bottom navigation isolation */
.app-bottom-nav {
  box-sizing: border-box !important;
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  transform: translateX(-50%) !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  width: min(100%, 430px) !important;
  height: calc(66px + env(safe-area-inset-bottom)) !important;
  min-height: calc(66px + env(safe-area-inset-bottom)) !important;
  margin: 0 !important;
  padding: 4px 10px calc(7px + env(safe-area-inset-bottom)) !important;
  gap: 0 !important;
  border-top: 1px solid #e0e5e2 !important;
  background: #ffffff !important;
  box-shadow: 0 -1px 0 rgba(15, 23, 42, 0.02) !important;
  z-index: 40 !important;
}
.app-bottom-nav button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 2px 0 3px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #5e6a72 !important;
  text-align: center !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
.app-bottom-nav em {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: currentColor !important;
  font-size: 11px !important;
  line-height: 12px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  text-align: center !important;
  white-space: nowrap !important;
  transform: none !important;
}
.app-bottom-nav .tab-icon {
  display: block !important;
  width: 25px !important;
  height: 25px !important;
  margin: 0 auto !important;
  border: 0 !important;
  color: currentColor !important;
  transform: none !important;
}
.app-bottom-nav .tab-icon::before,
.app-bottom-nav .tab-icon::after {
  display: none !important;
  content: none !important;
}
.app-bottom-nav .tab-icon svg {
  display: block !important;
  width: 25px !important;
  height: 25px !important;
  overflow: visible !important;
  fill: none !important;
  stroke: currentColor !important;
}
.app-bottom-nav .tab-icon svg path {
  fill: none !important;
  stroke: currentColor !important;
}
.app-bottom-nav button.active,
.app-bottom-nav button:hover,
.app-bottom-nav button:focus {
  color: #22c55e !important;
}
.app-bottom-nav button.active .tab-icon svg,
.app-bottom-nav button:hover .tab-icon svg,
.app-bottom-nav button:focus .tab-icon svg,
.app-bottom-nav button.active .tab-icon svg path,
.app-bottom-nav button:hover .tab-icon svg path,
.app-bottom-nav button:focus .tab-icon svg path {
  fill: none !important;
  stroke: #22c55e !important;
}

/* Stable Me page isolation */
.me-page .me-page-phone {
  box-sizing: border-box !important;
  padding: 16px 18px calc(82px + env(safe-area-inset-bottom)) !important;
  background: #f7faf9 !important;
}
.me-page .me-page-title {
  margin: 2px 0 18px !important;
  color: #191919 !important;
  font-size: 28px !important;
  line-height: 1.18 !important;
  font-weight: 600 !important;
  text-align: left !important;
  letter-spacing: 0 !important;
}
.me-page .me-section {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e2e8e5 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.me-page .me-section-head {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f8fbf9 !important;
  color: #191919 !important;
  font-size: 15px !important;
  line-height: 42px !important;
  font-weight: 500 !important;
  text-align: left !important;
  box-shadow: none !important;
}
.me-page .me-section-head span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.me-page .me-section-head em {
  flex: 0 0 auto !important;
  color: #6f7a83 !important;
  font-size: 15px !important;
  font-style: normal !important;
  line-height: 1 !important;
}
.me-page .me-section-body {
  display: grid !important;
  gap: 8px !important;
  padding: 9px 12px 11px !important;
  border-top: 1px solid #edf2ef !important;
  background: #ffffff !important;
}
.me-page .me-section-body[hidden] {
  display: none !important;
}
.me-page .me-profile-form,
.me-page .me-api-panel {
  display: grid !important;
  gap: 8px !important;
}
.me-page .me-profile-form label,
.me-page .me-api-panel label {
  display: grid !important;
  gap: 5px !important;
  margin: 0 !important;
  color: #42505a !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
}
.me-page .me-profile-form input,
.me-page .me-api-panel input,
.me-page .me-api-panel select {
  width: 100% !important;
  min-height: 32px !important;
  height: 32px !important;
  border: 1px solid #dde8e2 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
  padding: 0 9px !important;
  font-size: 13px !important;
  line-height: 32px !important;
  box-shadow: none !important;
}
.me-page .me-profile-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin: 0 !important;
}
.me-page .me-profile-actions button,
.me-page .me-api-panel .api-connect-button,
.me-page .me-api-panel .api-key-eye {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 7px !important;
  background: #f2fbf5 !important;
  color: #1f7a3b !important;
  font-size: 13px !important;
  line-height: 28px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
.me-page .me-api-panel .api-key-box {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px !important;
  align-items: center !important;
}
.me-page .me-api-panel > span {
  color: #66737b !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.me-page .me-customer-stats {
  margin: 0 0 8px !important;
}

/* Pending customer list page: single source of truth */
.pending-home .pending-phone {
  box-sizing: border-box !important;
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto !important;
  align-content: stretch !important;
  padding: 8px 0 calc(82px + env(safe-area-inset-bottom)) !important;
  background: #f7faf9 !important;
  overflow: hidden !important;
}
.pending-home .pending-head,
.pending-home #pendingPageSubtitle {
  display: none !important;
}
.pending-home .pending-search {
  position: sticky !important;
  top: 0 !important;
  z-index: 24 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 58px !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 12px 7px !important;
  background: #f7faf9 !important;
}
.pending-home .pending-search input,
.pending-home .pending-search button,
.pending-home .pending-sort button {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 32px !important;
  height: 32px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  line-height: 30px !important;
}
.pending-home .pending-search input {
  width: 100% !important;
  padding: 0 10px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
}
.pending-home .pending-search button {
  width: 58px !important;
  padding: 0 !important;
  background: #f2fbf5 !important;
  color: #1f7a3b !important;
  font-weight: 500 !important;
}
.pending-home .pending-sort {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 12px 7px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
}
.pending-home .pending-sort::-webkit-scrollbar {
  display: none !important;
}
.pending-home .pending-sort button {
  flex: 0 0 auto !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #42505a !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  line-height: 24px !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.pending-home .pending-sort button.active {
  border-color: #bdebd0 !important;
  background: #ecfbf1 !important;
  color: #16803a !important;
}
.pending-home .pending-sales-filter {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  margin: 0 12px 7px !important;
  padding: 0 8px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}
.pending-home .pending-sales-filter[hidden] {
  display: none !important;
}
.pending-home .pending-filter-label {
  color: #66737b !important;
  font-size: 12px !important;
  line-height: 1 !important;
}
.pending-home .pending-sales-filter select {
  width: 100% !important;
  min-height: 28px !important;
  height: 28px !important;
  border: 0 !important;
  background: transparent !important;
  color: #1f2933 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}
.pending-home .pending-filter-popover {
  position: relative !important;
  z-index: 30 !important;
  margin: -1px 12px 8px !important;
}
.pending-home .pending-filter-popover[hidden] {
  display: none !important;
}
.pending-home .pending-list {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 14px calc(24px + env(safe-area-inset-bottom)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.pending-home .pending-floating-add {
  box-sizing: border-box !important;
  position: absolute !important;
  right: 16px !important;
  bottom: calc(82px + env(safe-area-inset-bottom)) !important;
  z-index: 36 !important;
  width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #22c55e !important;
  color: #ffffff !important;
  font-size: 28px !important;
  line-height: 42px !important;
  font-weight: 500 !important;
  text-align: center !important;
  box-shadow: 0 10px 22px rgba(34, 197, 94, .28) !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}
.pending-home .pending-tabs em {
  font-size: 10px !important;
  line-height: 12px !important;
}
.pending-home .pending-empty {
  margin: 0 !important;
  padding: 10px 11px !important;
  border: 1px solid #e2e8e5 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: #66737b !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}
.pending-home .pending-item,
.pending-home .pending-item.no-owner {
  box-sizing: border-box !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
}
.pending-home .pending-plan {
  box-sizing: border-box !important;
  position: static !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #e2e8e5 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
}
.pending-home .pending-item.cat-a .pending-plan { background: #f2fbf5 !important; border-color: #cfeedd !important; }
.pending-home .pending-item.cat-b .pending-plan { background: #f5faff !important; border-color: #d7e8f7 !important; }
.pending-home .pending-item.cat-c .pending-plan { background: #fffaf0 !important; border-color: #f0e0bd !important; }
.pending-home .pending-item.cat-d .pending-plan { background: #fbf9ff !important; border-color: #e2ddf3 !important; }
.pending-home .pending-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.pending-home .pending-card-head strong {
  min-width: 0 !important;
  color: #1f2933 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home .pending-card-head em {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 24px !important;
  height: 24px !important;
  padding: 0 6px !important;
  border-radius: 8px !important;
  background: #eefaf2 !important;
  color: #16803a !important;
  font-size: 14px !important;
  line-height: 24px !important;
  font-style: normal !important;
  font-weight: 700 !important;
}
.pending-home .pending-owner-inline {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: fit-content !important;
  max-width: 72px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #0f9f54 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}
.pending-home .pending-contact,
.pending-home .pending-next {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home .pending-contact { color: #66737b !important; }
.pending-home .pending-next { color: #1f2937 !important; font-weight: 700 !important; }
.pending-home .pending-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 7px !important;
  overflow: visible !important;
}
.pending-home .pending-actions button {
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 9px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 7px !important;
  background: #f2fbf5 !important;
  color: #1f7a3b !important;
  font-size: 12px !important;
  line-height: 26px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

/* Stable Chat page isolation */
/* Chat page single source of truth */
.customer-chat-home .customer-chat-phone {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  padding: 0 !important;
  background: #f2f4f3 !important;
  overflow: hidden !important;
}
.customer-chat-home .chat-head {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 50px !important;
  height: 50px !important;
  padding: 6px 12px !important;
  border-bottom: 1px solid #e2e6e4 !important;
  background: #f7f8f8 !important;
  box-shadow: none !important;
}
.customer-chat-home .communication-head {
  display: none !important;
}
.customer-chat-home .chat-head h1 {
  margin: 0 !important;
  color: #191919 !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-align: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .chat-back,
.customer-chat-home .chat-icon-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #1f2933 !important;
  font-size: 22px !important;
  line-height: 34px !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-head-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
.customer-chat-home .chat-thread {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 12px 12px 10px !important;
  overflow-y: auto !important;
  background: #f2f4f3 !important;
  scroll-behavior: smooth !important;
}
.customer-chat-home .communication-page-return {
  width: 100% !important;
  min-width: 0 !important;
}
.customer-chat-home .communication-page-return button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 34px !important;
  padding: 0 6px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #2d6f49 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  touch-action: manipulation !important;
}
.customer-chat-home .communication-page-return button:active {
  background: #e6f4ec !important;
}
.customer-chat-home .app-bottom-nav {
  display: none !important;
}
.customer-chat-home #customerChatInput[hidden] {
  display: none !important;
}
.customer-chat-home .communication-file-input {
  position: fixed !important;
  left: -9999px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  z-index: -1 !important;
}
.customer-chat-home .communication-customer-card,
.customer-chat-home .communication-results {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid #e1e8e5 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.customer-chat-home .communication-customer-card strong {
  color: #13251b !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .communication-customer-card span {
  color: #6b7780 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}
.customer-chat-home .communication-section-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
.customer-chat-home .communication-section-title h2 {
  margin: 0 !important;
  color: #13251b !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
}
.customer-chat-home .communication-section-title span {
  color: #7c888f !important;
  font-size: 12px !important;
}
.customer-chat-home .communication-material-hint {
  box-sizing: border-box !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding: 6px 9px !important;
  border: 1px solid #dce9e2 !important;
  border-radius: 999px !important;
  background: #f8fbf9 !important;
  color: #66737b !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
.customer-chat-home .communication-empty,
.customer-chat-home .communication-tip {
  padding: 9px !important;
  border: 1px dashed #d6e6dd !important;
  border-radius: 8px !important;
  background: #f8fbf9 !important;
  color: #66737b !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.customer-chat-home .communication-results {
  background: #f8fbf9 !important;
}
.customer-chat-home .communication-action-bar {
  position: relative !important;
  z-index: 60 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 8px !important;
  padding: 9px 12px calc(12px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #dfe8e3 !important;
  background: #ffffff !important;
}
.customer-chat-home .communication-action-bar > button {
  min-width: 0 !important;
  min-height: 42px !important;
  border-radius: 9px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}
.customer-chat-home .communication-add-button {
  border: 1px solid #b9d9c6 !important;
  background: #f2fbf5 !important;
  color: #087a3f !important;
}
.customer-chat-home .communication-analyze-button {
  border: 1px solid #07c160 !important;
  background: #07c160 !important;
  color: #ffffff !important;
}
.customer-chat-home .communication-analyze-button:disabled {
  opacity: .68 !important;
}
.customer-chat-home .communication-add-menu {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: calc(100% + 8px) !important;
  display: grid !important;
  gap: 7px !important;
  padding: 10px !important;
  border: 1px solid #cfe6d8 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16) !important;
}
.customer-chat-home .communication-add-menu[hidden] {
  display: none !important;
}
.customer-chat-home .communication-add-menu button {
  width: 100% !important;
  min-height: 36px !important;
  border: 1px solid #dce9e2 !important;
  border-radius: 8px !important;
  background: #f8fbf9 !important;
  color: #21312a !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.customer-chat-home .communication-menu-group {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
  padding: 7px !important;
  border: 1px solid #edf3ef !important;
  border-radius: 9px !important;
  background: #fbfdfc !important;
}
.customer-chat-home .communication-menu-group span {
  grid-column: 1 / -1 !important;
  color: #6b7780 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.customer-chat-home .communication-menu-group.is-single button {
  grid-column: 1 / -1 !important;
}
.customer-chat-home .communication-text-dialog {
  position: fixed !important;
  inset: 0 !important;
  z-index: 90 !important;
  display: grid !important;
  align-items: end !important;
  padding: 12px !important;
  background: rgba(15, 23, 42, 0.28) !important;
  box-sizing: border-box !important;
}
.customer-chat-home .communication-text-dialog[hidden] {
  display: none !important;
}
.customer-chat-home .communication-text-panel {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 430px !important;
  margin: 0 auto !important;
  max-height: calc(100dvh - 24px) !important;
  padding: 14px 14px calc(14px + env(safe-area-inset-bottom)) !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18) !important;
}
.customer-chat-home .communication-text-panel h2 {
  margin: 0 !important;
  color: #13251b !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
}
.customer-chat-home .communication-text-panel textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 128px !important;
  max-height: 38dvh !important;
  padding: 10px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 9px !important;
  background: #fbfdfc !important;
  color: #1f2933 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  resize: vertical !important;
}
.customer-chat-home .communication-text-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
.customer-chat-home .communication-text-actions button {
  min-height: 40px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}
.customer-chat-home .communication-text-actions button:first-child {
  border: 1px solid #dce8e2 !important;
  background: #f8fbf9 !important;
  color: #42515c !important;
}
.customer-chat-home .communication-text-actions button:last-child {
  border: 1px solid #07c160 !important;
  background: #07c160 !important;
  color: #ffffff !important;
}
.customer-chat-home .communication-manual-panel {
  gap: 8px !important;
  max-width: min(390px, calc(100vw - 24px)) !important;
  max-height: min(72dvh, 560px) !important;
  overflow-y: auto !important;
  padding: 13px 13px calc(13px + env(safe-area-inset-bottom)) !important;
}
.customer-chat-home .communication-manual-panel h2 {
  font-size: 17px !important;
}
.customer-chat-home .communication-manual-note {
  margin: -2px 0 2px !important;
  color: #6b7780 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
.customer-chat-home .communication-manual-field {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
}
.customer-chat-home .communication-manual-field > span,
.customer-chat-home .communication-competitor-head span {
  color: #405149 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;
}
.customer-chat-home .communication-manual-panel textarea {
  min-height: 72px !important;
  max-height: 22dvh !important;
  padding: 9px !important;
  font-size: 14px !important;
}
.customer-chat-home .communication-competitor-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
.customer-chat-home .communication-competitor-head button {
  flex-shrink: 0 !important;
  min-height: 30px !important;
  padding: 0 9px !important;
  border: 1px solid #cce7d5 !important;
  border-radius: 8px !important;
  background: #f4fbf6 !important;
  color: #178542 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}
.customer-chat-home .communication-competitor-list {
  display: grid !important;
  gap: 6px !important;
}
.customer-chat-home .communication-competitor-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 6px !important;
  min-width: 0 !important;
}
.customer-chat-home .communication-competitor-row input {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 36px !important;
  padding: 8px 9px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 8px !important;
  background: #fbfdfc !important;
  color: #1f2933 !important;
  font-size: 14px !important;
}
.customer-chat-home .communication-competitor-row button {
  min-height: 36px !important;
  padding: 0 9px !important;
  border: 1px solid #e5e9e7 !important;
  border-radius: 8px !important;
  background: #f8faf9 !important;
  color: #6a7370 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
.customer-chat-home .communication-manual-error {
  padding: 7px 9px !important;
  border-radius: 8px !important;
  background: #fff5f5 !important;
  color: #c2410c !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.customer-chat-home .communication-manual-error[hidden] {
  display: none !important;
}
.customer-chat-home .communication-manual-actions {
  position: sticky !important;
  bottom: 0 !important;
  padding-top: 4px !important;
  background: #ffffff !important;
}
@media (max-width: 420px) {
  .customer-chat-home .communication-competitor-row {
    grid-template-columns: 1fr !important;
  }
  .customer-chat-home .communication-competitor-row button {
    justify-self: end !important;
  }
}
.customer-chat-home .chat-time {
  align-self: center !important;
  color: #8b949b !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}
.customer-chat-home .chat-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 7px !important;
  width: 100% !important;
}
.customer-chat-home .chat-row.user {
  justify-content: flex-end !important;
}
.customer-chat-home .chat-row.bot {
  justify-content: flex-start !important;
}
.customer-chat-home .chat-avatar {
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 6px !important;
  display: grid !important;
  place-items: center !important;
  background: #dfe8e4 !important;
  color: #2f3a42 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.customer-chat-home .chat-row.bot .chat-avatar {
  background: #dff4e7 !important;
  color: #16803a !important;
}
.customer-chat-home .chat-bubble {
  box-sizing: border-box !important;
  max-width: min(82%, 310px) !important;
  min-width: 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-row.user .chat-bubble {
  background: #95ec69 !important;
  color: #101820 !important;
}
.customer-chat-home .strategy-bubble {
  max-width: min(88%, 330px) !important;
  padding: 8px !important;
}
.customer-chat-home .strategy-title,
.customer-chat-home .strategy-line strong,
.customer-chat-home .answer-body strong {
  color: #1f2933 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}
.customer-chat-home .strategy-line,
.customer-chat-home .strategy-detail,
.customer-chat-home .strategy-mini {
  margin: 0 0 7px !important;
}
.customer-chat-home .strategy-line p,
.customer-chat-home .answer-body p {
  margin: 2px 0 0 !important;
  color: #2f3a42 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.customer-chat-home .strategy-mini-head,
.customer-chat-home .strategy-detail-toggle {
  min-height: 32px !important;
  border-radius: 7px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.customer-chat-home .chat-light-actions,
.customer-chat-home .chat-variant-picker {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 6px 0 !important;
}
.customer-chat-home .chat-light-actions button,
.customer-chat-home .chat-variant-option,
.customer-chat-home .stage-update-box button,
.customer-chat-home .strategy-score-box button {
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 9px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 7px !important;
  background: #f2fbf5 !important;
  color: #1f7a3b !important;
  font-size: 12px !important;
  line-height: 26px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-input {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 34px 34px 34px auto !important;
  align-items: end !important;
  gap: 6px !important;
  min-height: 48px !important;
  padding: 7px 8px !important;
  border-top: 1px solid #dde5e2 !important;
  background: #f7f8f8 !important;
}
.customer-chat-home .chat-input textarea {
  width: 100% !important;
  min-height: 34px !important;
  max-height: 104px !important;
  padding: 7px 9px !important;
  border: 1px solid #d9e4df !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  resize: none !important;
  overflow-y: auto !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-input button {
  min-width: 34px !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 1px solid #d9e4df !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #4b5963 !important;
  font-size: 14px !important;
  line-height: 32px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-input #customerChatSendButton {
  min-width: 44px !important;
  padding: 0 10px !important;
  background: #07c160 !important;
  border-color: #07c160 !important;
  color: #ffffff !important;
}
.customer-chat-home .chat-input .chat-inline-record-button svg,
.customer-chat-home .chat-input .chat-voice-button svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Stable Detail page isolation */
.customer-detail-home .customer-detail-phone {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto auto !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  padding: 0 !important;
  background: #f7faf9 !important;
  overflow: hidden !important;
}
.customer-detail-home .detail-head {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 50px !important;
  height: 50px !important;
  padding: 6px 12px !important;
  border-bottom: 1px solid #e2e6e4 !important;
  background: #f7f8f8 !important;
  box-shadow: none !important;
}
.customer-detail-home .detail-head h1 {
  margin: 0 !important;
  color: #191919 !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-align: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-detail-home .detail-head .chat-back {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #1f2933 !important;
  font-size: 22px !important;
  line-height: 34px !important;
  box-shadow: none !important;
}
.customer-detail-home .customer-detail-content {
  box-sizing: border-box !important;
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 10px 12px 10px !important;
  overflow-y: auto !important;
  background: #f7faf9 !important;
}
.customer-detail-home .detail-zone {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid #e2e8e5 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.customer-detail-home .customer-growth-summary {
  display: grid !important;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid #dfe9e4 !important;
  border-radius: 8px !important;
  background: #f8fbfa !important;
}
.customer-detail-home .customer-growth-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
.customer-detail-home .customer-growth-head strong {
  min-width: 0 !important;
  color: #1f2933 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}
.customer-detail-home .customer-growth-head span {
  flex: 0 0 auto !important;
  color: #1f7a3b !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}
.customer-detail-home .customer-growth-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.customer-detail-home .customer-growth-tags em {
  min-height: 24px !important;
  padding: 4px 8px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #2f3a42 !important;
  font-size: 12px !important;
  line-height: 14px !important;
  font-style: normal !important;
}
.customer-detail-home .customer-growth-main {
  display: grid !important;
  gap: 6px !important;
}
.customer-detail-home .customer-growth-main p {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #2f3a42 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
.customer-detail-home .customer-growth-main b {
  color: #66737b !important;
  font-weight: 500 !important;
}
.customer-detail-home .customer-growth-main span {
  min-width: 0 !important;
  word-break: break-word !important;
}
.customer-detail-home .customer-growth-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}
.customer-detail-home .customer-growth-actions button {
  min-height: 32px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #1f7a3b !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
.customer-detail-home .detail-section-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-height: 30px !important;
  margin: 0 !important;
}
.customer-detail-home .detail-section-title h2,
.customer-detail-home .detail-zone h2 {
  margin: 0 !important;
  color: #1f2933 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}
.customer-detail-home .detail-plus-button,
.customer-detail-home .detail-audio-mini-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-width: 30px !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 9px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 7px !important;
  background: #f2fbf5 !important;
  color: #1f7a3b !important;
  font-size: 12px !important;
  line-height: 26px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
.customer-detail-home .detail-table,
.customer-detail-home .detail-strategy-body {
  display: grid !important;
  gap: 7px !important;
}
.customer-detail-home .detail-table div {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  padding: 6px 8px !important;
  border: 1px solid #edf2ef !important;
  border-radius: 8px !important;
  background: #fbfdfc !important;
}
.customer-detail-home .detail-table .detail-contact-row {
  grid-template-columns: 72px minmax(0, 1fr) !important;
  align-items: start !important;
}
.customer-detail-home .detail-table strong {
  color: #66737b !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
}
.customer-detail-home .detail-table span {
  min-width: 0 !important;
  color: #1f2933 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}
.customer-detail-home .detail-category-select {
  width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
  padding: 0 8px !important;
  font-size: 13px !important;
  box-shadow: none !important;
}
.customer-detail-home .detail-text-input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
  padding: 0 8px !important;
  font-size: 13px !important;
  line-height: 30px !important;
  box-shadow: none !important;
}
.customer-detail-home .detail-text-input::placeholder {
  color: #9aa5ad !important;
}
.customer-detail-home .detail-contact-editor {
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
}
.customer-detail-home .detail-contact-empty {
  padding: 8px !important;
  color: #9aa5ad !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.customer-detail-home .detail-contact-draft {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 50px !important;
  gap: 6px !important;
}
.customer-detail-home .detail-contact-draft input:first-child {
  grid-column: 1 / 4 !important;
}
.customer-detail-home .detail-contact-draft input:nth-of-type(2) {
  grid-column: 1 / -1 !important;
}
.customer-detail-home .detail-contact-draft input,
.customer-detail-home .detail-contact-draft select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
  padding: 0 7px !important;
  font-size: 12px !important;
}
.customer-detail-home .detail-contact-draft button {
  grid-column: 4 !important;
  grid-row: 1 !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 7px !important;
  border: 1px solid #07c160 !important;
  border-radius: 7px !important;
  background: #07c160 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.customer-detail-home .customer-detail-actions {
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 45 !important;
  padding: 8px 12px calc(76px + env(safe-area-inset-bottom)) !important;
  background: #ffffff !important;
  border-top: 1px solid #e5ebe8 !important;
}
.customer-detail-home .customer-detail-actions button {
  width: 100% !important;
  min-height: 38px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.customer-detail-home .detail-audio-results {
  display: grid !important;
  gap: 7px !important;
}
.customer-detail-home .detail-audio-result-card,
.customer-detail-home .detail-audio-results.is-empty {
  padding: 8px !important;
  border: 1px solid #edf2ef !important;
  border-radius: 8px !important;
  background: #fbfdfc !important;
  color: #2f3a42 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
.customer-detail-home .detail-audio-result-card h4 {
  margin: 0 0 5px !important;
  color: #1f2933 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}
.customer-detail-home .detail-audio-result-card p {
  margin: 3px 0 !important;
}
.customer-detail-home .detail-add-row,
.customer-detail-home .detail-reminder-editor {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px !important;
  margin: 0 !important;
}
.customer-detail-home .detail-reminder-editor {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
}
.customer-detail-home .detail-add-row[hidden],
.customer-detail-home .detail-reminder-editor[hidden] {
  display: none !important;
}
.customer-detail-home .detail-add-row input,
.customer-detail-home .detail-reminder-editor input {
  width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
  padding: 0 8px !important;
  font-size: 12px !important;
  box-shadow: none !important;
}
.customer-detail-home .detail-add-row button,
.customer-detail-home .detail-reminder-editor button {
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 9px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 7px !important;
  background: #f2fbf5 !important;
  color: #1f7a3b !important;
  font-size: 12px !important;
  line-height: 28px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
.customer-detail-home .detail-record-list {
  display: grid !important;
  gap: 6px !important;
}
.customer-detail-home .detail-record,
.customer-detail-home .detail-empty-record {
  display: grid !important;
  gap: 3px !important;
  padding: 7px 8px !important;
  border: 1px solid #edf2ef !important;
  border-radius: 8px !important;
  background: #fbfdfc !important;
  color: #66737b !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.customer-detail-home .detail-record strong {
  color: #1f2933 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}
.customer-detail-home .detail-record span {
  color: #7a858d !important;
  font-size: 11px !important;
}
@media (max-width: 380px) {
  .customer-detail-home .detail-reminder-editor {
    grid-template-columns: 1fr !important;
  }
}
.brain-phone #adminPanel .admin-row {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 0 0 8px !important;
}
.brain-phone #adminPanel .admin-row button,
.brain-phone #adminPanel .admin-strategy-buttons button {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 7px !important;
  background: #f2fbf5 !important;
  color: #1f7a3b !important;
  font-size: 13px !important;
  line-height: 28px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
.brain-phone #adminPanel label,
.brain-phone #adminPanel .admin-note,
.brain-phone #adminPanel .report-history {
  font-size: 12px !important;
  line-height: 1.38 !important;
  color: #66737b !important;
}
.brain-phone #adminPanel input,
.brain-phone #adminPanel select {
  min-height: 32px !important;
  height: 32px !important;
  border-radius: 7px !important;
  font-size: 13px !important;
  padding: 0 9px !important;
}
.brain-phone #adminPanel .daily-report {
  width: 100% !important;
  max-height: 260px !important;
  overflow: auto !important;
  margin: 4px 0 0 !important;
  padding: 10px 11px !important;
  border: 1px solid #e4ece8 !important;
  border-radius: 8px !important;
  background: #fbfdfc !important;
  color: #25313a !important;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}
.brain-phone #adminPanel .admin-strategy-buttons {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 7px !important;
}
.brain-phone #adminPanel .admin-strategy-buttons button {
  width: 100% !important;
  text-align: center !important;
}

/* Pending search filter picker */
.pending-home .pending-sort {
  position: relative !important;
}
.pending-home .pending-sort button,
.pending-home .pending-sort .pending-inline-add {
  border-color: #bfe8d1 !important;
  background: #ffffff !important;
  color: #173127 !important;
}
.pending-home .pending-sort button.active {
  border-color: #07c160 !important;
  background: #eaf8f0 !important;
  color: #087a3f !important;
}
.pending-home .pending-filter-popover {
  position: relative !important;
  z-index: 30 !important;
  margin: -1px 14px 8px !important;
}
.pending-home .pending-filter-popover[hidden] {
  display: none !important;
}
.pending-filter-panel {
  width: min(100%, 330px) !important;
  margin-left: min(var(--filter-left, 0px), 28px) !important;
  border: 1px solid #9ed8bb !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 68, 38, .12) !important;
  overflow: hidden !important;
}
.pending-filter-panel-head {
  min-height: 32px !important;
  padding: 0 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 1px solid #e1f1e8 !important;
  background: #f3fbf6 !important;
}
.pending-filter-panel-head strong {
  color: #0f5130 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.pending-filter-panel-head button {
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 8px !important;
  border: 1px solid #9ed8bb !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  color: #087a3f !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
.pending-filter-options {
  max-height: 188px !important;
  overflow-y: auto !important;
  padding: 5px 0 !important;
}
.pending-filter-options button {
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #ffffff !important;
  color: #24312b !important;
  font-size: 12px !important;
  text-align: left !important;
}
.pending-filter-options button.active {
  background: #eef8f2 !important;
  color: #087a3f !important;
}
.pending-filter-options button span {
  width: 13px !important;
  height: 13px !important;
  border: 1px solid #8fcfaf !important;
  border-radius: 3px !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
}
.pending-filter-options button.active span {
  background: #07c160 !important;
  border-color: #07c160 !important;
}
.pending-filter-options button.active span::after {
  content: "" !important;
  width: 6px !important;
  height: 3px !important;
  border-left: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
  transform: rotate(-45deg) translateY(-1px) !important;
}
.pending-home .pending-sales-filter {
  display: none !important;
}

/* Pending card owner/action copy refinement */
.pending-home .pending-owner-inline {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: fit-content !important;
  max-width: 72px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #0f9f54 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}
.pending-home .pending-next {
  color: #1f2937 !important;
  font-weight: 700 !important;
}

/* Loss check full-screen compact modal */
.loss-check-overlay {
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
  background: #f4fbf6 !important;
}
.loss-check-modal {
  width: 100% !important;
  max-width: none !important;
  height: 100dvh !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: max(10px, env(safe-area-inset-top)) 12px max(10px, env(safe-area-inset-bottom)) !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto auto !important;
  gap: 7px !important;
  background: #f4fbf6 !important;
}
.loss-check-close {
  top: max(6px, env(safe-area-inset-top)) !important;
  right: 8px !important;
  width: 28px !important;
  height: 28px !important;
  color: #5b6860 !important;
  font-size: 21px !important;
}
.loss-check-head {
  gap: 4px !important;
  padding: 0 30px 0 0 !important;
}
.loss-check-head strong {
  font-size: 15px !important;
  line-height: 1.18 !important;
  padding-bottom: 2px !important;
}
.loss-check-head p {
  gap: 3px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}
.loss-check-head .loss-modal-lead {
  font-size: 11px !important;
}
.loss-check-head .loss-modal-focus {
  font-size: 12px !important;
}
.loss-check-head span {
  padding: 2px 5px !important;
  border-radius: 5px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}
.loss-check-card {
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 8px !important;
  gap: 6px !important;
  border-radius: 7px !important;
}
.loss-check-tag {
  padding: 4px 6px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}
.loss-check-card dl {
  min-height: 0 !important;
  gap: 2px !important;
}
.loss-check-card dt {
  font-size: 10px !important;
  line-height: 1.15 !important;
}
.loss-check-card dd {
  margin: 0 0 3px !important;
  font-size: 12px !important;
  line-height: 1.32 !important;
}
.loss-check-card dd.fix {
  padding: 6px !important;
  border-radius: 6px !important;
  line-height: 1.34 !important;
}
.loss-check-card dd.loss-talk-line {
  padding: 8px !important;
  border-radius: 8px !important;
  background: #f6faef !important;
  color: #111711 !important;
  font-weight: 760 !important;
  line-height: 1.42 !important;
}
.loss-check-card dd.loss-talk-note {
  color: #65736a !important;
  font-size: 11px !important;
}
.loss-check-actions,
.loss-check-footer {
  flex-shrink: 0 !important;
  gap: 5px !important;
  padding: 5px !important;
  border-radius: 7px !important;
}
.loss-check-actions button,
.loss-check-footer button {
  min-height: 28px !important;
  padding: 0 5px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
}
.loss-check-footer .primary {
  min-height: 30px !important;
  font-size: 12px !important;
}
@media (max-height: 700px) {
  .loss-check-modal { gap: 5px !important; padding-top: max(8px, env(safe-area-inset-top)) !important; }
  .loss-check-card { padding: 7px !important; gap: 5px !important; }
  .loss-check-card dd { font-size: 11px !important; line-height: 1.24 !important; margin-bottom: 2px !important; }
  .loss-check-card dt { font-size: 9px !important; }
  .loss-check-card dd.fix { padding: 5px !important; }
}

/* Loss check modal content-fit correction */
.loss-check-overlay {
  align-items: center !important;
  justify-content: center !important;
  padding: max(10px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
  background: rgba(15, 23, 42, 0.28) !important;
}
.loss-check-modal {
  width: min(430px, calc(100% - 0px)) !important;
  max-width: 430px !important;
  height: auto !important;
  max-height: calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom))) !important;
  border: 1px solid #dfe8e3 !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.18) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-rows: auto auto auto auto !important;
  gap: 7px !important;
  background: #f4fbf6 !important;
}
.loss-check-card {
  overflow: visible !important;
}
.loss-check-tag {
  width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}/* Loss check tag size adjustment */
.loss-check-tag {
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

/* Loss check fixed field labels */
.loss-check-card dt {
  color: #18a058 !important;
  font-size: 13px !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
}
@media (max-height: 700px) {
  .loss-check-card dt {
    font-size: 12px !important;
    line-height: 1.18 !important;
  }
}

/* Chat page structure refinements */
.customer-chat-home .strategy-mini-head,
.customer-chat-home .strategy-detail-toggle {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) 18px !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-height: 32px !important;
  padding: 5px 7px !important;
  border: 1px solid #e1ebe5 !important;
  border-radius: 7px !important;
  background: #f8fbf9 !important;
  color: #1f2933 !important;
  text-align: left !important;
  box-shadow: none !important;
}
.customer-chat-home .strategy-mini-head strong,
.customer-chat-home .strategy-detail-toggle {
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
.customer-chat-home .strategy-mini-head span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #59636e !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.customer-chat-home .strategy-mini-head em,
.customer-chat-home .strategy-detail-toggle::before {
  width: 18px !important;
  height: 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #eaf5ef !important;
  color: #49705b !important;
  font-style: normal !important;
  font-size: 13px !important;
  line-height: 1 !important;
}
.customer-chat-home .strategy-mini-head em::before,
.customer-chat-home .strategy-detail-toggle::before {
  content: "鈱? !important;
}
.customer-chat-home .strategy-mini.is-open .strategy-mini-head em::before,
.customer-chat-home .strategy-detail.is-open .strategy-detail-toggle::before {
  content: "鈱? !important;
}
.customer-chat-home .strategy-mini-body,
.customer-chat-home .strategy-detail-content {
  display: none !important;
  padding: 6px 0 0 !important;
}
.customer-chat-home .strategy-mini.is-open .strategy-mini-body,
.customer-chat-home .strategy-detail.is-open .strategy-detail-content {
  display: block !important;
}
.customer-chat-home .strategy-mini-body p,
.customer-chat-home .strategy-detail-content p {
  margin: 0 0 4px !important;
  color: #2f3a42 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
.customer-chat-home .chat-variant-picker {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 5px !important;
  margin: 5px 0 7px !important;
}
.customer-chat-home .chat-variant-option {
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 5px !important;
  border: 1px solid #cfe4d7 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #3f6250 !important;
  font-size: 11px !important;
  line-height: 26px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.customer-chat-home .chat-variant-option.active {
  background: #e8f8ef !important;
  border-color: #8ed5aa !important;
  color: #087b3e !important;
}
.customer-chat-home .chat-input {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) 32px 32px 32px auto !important;
  align-items: end !important;
  gap: 5px !important;
  min-height: 46px !important;
  height: auto !important;
  padding: 6px 7px !important;
  overflow: visible !important;
}
.customer-chat-home .chat-input textarea {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  height: auto !important;
  max-height: 104px !important;
  padding: 7px 9px !important;
  line-height: 20px !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  resize: none !important;
  overflow-y: auto !important;
}
.customer-chat-home .chat-input button {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  line-height: 30px !important;
  border-radius: 8px !important;
}
.customer-chat-home .chat-input #customerChatSendButton {
  width: auto !important;
  min-width: 42px !important;
  padding: 0 9px !important;
}

/* Chat response four-block card */
.customer-chat-home .strategy-bubble {
  display: grid !important;
  gap: 8px !important;
}
.customer-chat-home .chat-response-template {
  display: grid !important;
  gap: 8px !important;
  width: 100% !important;
  white-space: normal !important;
}
.customer-chat-home .chat-template-block {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 9px 10px !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  max-width: 100% !important;
  white-space: normal !important;
}
.customer-chat-home .chat-template-block h3 {
  margin: 0 0 6px !important;
  color: #13251b !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}
.customer-chat-home .chat-template-block p {
  margin: 0 !important;
  color: #26352d !important;
  font-size: 14px !important;
  line-height: 1.52 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
.customer-chat-home .chat-template-block p + p {
  margin-top: 7px !important;
}
.customer-chat-home .chat-template-analysis {
  background: #f6f8f9 !important;
  border-color: #e6ece9 !important;
}
.customer-chat-home .chat-template-script {
  background: #ecf9f1 !important;
  border-color: #bde7cb !important;
}
.customer-chat-home .chat-template-next {
  background: #fff8e8 !important;
  border-color: #f0dfb6 !important;
}
.customer-chat-home .chat-template-actions {
  display: block !important;
  background: #f8fbf9 !important;
  border-color: #dce9e2 !important;
  padding: 8px !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: auto !important;
  justify-self: stretch !important;
}
.customer-chat-home .chat-template-actions h3 {
  margin: 0 0 6px !important;
  color: #13251b !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}
.customer-chat-home .chat-template-script-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 6px !important;
}
.customer-chat-home .chat-template-script-head h3 {
  margin: 0 !important;
}
.customer-chat-home .strategy-copy-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid #9bd4ad !important;
  background: #ffffff !important;
  color: #078846 !important;
  border-radius: 7px !important;
  min-height: 26px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.customer-chat-home .strategy-copy-button:disabled {
  opacity: .62 !important;
}
.customer-chat-home .strategy-script .chat-variant-picker {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 5px !important;
  margin: 0 0 7px !important;
}
.customer-chat-home .strategy-script .chat-variant-option {
  appearance: none !important;
  -webkit-appearance: none !important;
  height: 27px !important;
  min-height: 27px !important;
  border: 1px solid #d7e4dd !important;
  background: #ffffff !important;
  color: #405047 !important;
  border-radius: 7px !important;
  padding: 0 5px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 25px !important;
}
.customer-chat-home .strategy-script .chat-variant-option.active {
  border-color: #07c160 !important;
  background: #dff7ea !important;
  color: #067a3d !important;
}
.customer-chat-home .chat-light-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin: 0 !important;
  min-height: 0 !important;
  align-items: center !important;
}
.customer-chat-home .chat-light-actions button {
  width: 100% !important;
  min-width: 0 !important;
  height: 29px !important;
  min-height: 29px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.customer-chat-home .chat-light-actions button[data-chat-action="up"].active {
  border-color: #07c160 !important;
  background: #e7f8ee !important;
  color: #078846 !important;
}
.customer-chat-home .chat-template-actions > span {
  display: block !important;
  min-height: 0 !important;
  margin-top: 5px !important;
  color: #078846 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}
.customer-chat-home .chat-template-actions > span:empty {
  display: none !important;
  margin: 0 !important;
}
.customer-chat-home .chat-template-concerns ul {
  display: grid !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.customer-chat-home .chat-template-concerns li {
  margin: 0 !important;
  padding: 6px 8px !important;
  border: 1px solid #e0ece5 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #2f3a42 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

/* Login page rebuild: plain, tap-safe shell */
.login-home {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  min-height: 100dvh !important;
  width: 100% !important;
  padding: calc(20px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: linear-gradient(180deg, #f7fbf8 0%, #eef7f2 100%) !important;
  color: #17231d !important;
  box-sizing: border-box !important;
}
.login-home[hidden] {
  display: none !important;
}
.login-home::before,
.login-home::after,
.login-bg-orb,
.login-form::before,
.login-form::after {
  content: none !important;
  display: none !important;
  pointer-events: none !important;
}
.login-home h1 {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 0 4px !important;
  color: #10251a !important;
  font-size: 34px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}
.login-form {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  gap: 12px !important;
  width: min(390px, 100%) !important;
  max-width: 390px !important;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid #dfe8e3 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 28px rgba(20, 42, 30, .08) !important;
  pointer-events: auto !important;
}
.login-field {
  position: relative !important;
  z-index: 4 !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 10px !important;
  border: 1px solid #dbe5df !important;
  border-radius: 9px !important;
  background: #fbfdfc !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}
.login-field-icon {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  color: #5f7668 !important;
  pointer-events: none !important;
}
.login-field-icon svg {
  width: 20px !important;
  height: 20px !important;
}
.login-field:has(#loginUserName) {
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 7px !important;
}
.login-field:has(#loginUserName) .login-field-icon,
.login-field:has(#loginUserName) .login-field-icon svg {
  width: 18px !important;
  height: 18px !important;
}
.login-field #loginUserName {
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}
.login-field input,
.login-form > input {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  background: transparent !important;
  color: #15241c !important;
  font-size: 15px !important;
  line-height: 46px !important;
  font-weight: 700 !important;
  pointer-events: auto !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  white-space: nowrap !important;
}
.login-options {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #4d5c54 !important;
  font-size: 14px !important;
  pointer-events: auto !important;
}
.login-options label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
}
.login-options input,
.login-agreement input {
  width: 22px !important;
  height: 22px !important;
  accent-color: #07c160 !important;
  pointer-events: auto !important;
}
.login-button {
  position: relative !important;
  z-index: 10 !important;
  display: block !important;
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 2px 0 0 !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #07c160 !important;
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 50px !important;
  font-weight: 900 !important;
  text-align: center !important;
  box-shadow: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
}
.login-button:disabled,
.login-button.is-loading {
  background: #72d99e !important;
  color: #ffffff !important;
  opacity: 1 !important;
}
.login-fallback-button {
  position: relative !important;
  z-index: 10 !important;
  justify-self: center !important;
  display: block !important;
  width: 82% !important;
  min-height: 30px !important;
  margin: 2px 0 0 !important;
  padding: 3px 8px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #2f8f52 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-align: center !important;
  box-shadow: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
}
.login-fallback-button:active {
  background: rgba(7,193,96,.08) !important;
}
.login-status {
  position: relative !important;
  z-index: 4 !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  color: #b42318 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  text-align: center !important;
  pointer-events: none !important;
}
.login-status.is-loading {
  color: #087b55 !important;
  background: transparent !important;
}
.login-status.is-success {
  color: #087b55 !important;
  background: transparent !important;
}
.login-agreement {
  position: relative !important;
  z-index: 5 !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 8px 9px !important;
  border: 1px solid #d7e7dd !important;
  border-radius: 9px !important;
  background: #f8fbf9 !important;
  color: #516057 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
  transition: border-color .16s ease, background-color .16s ease !important;
}
.login-agreement.needs-attention {
  border-color: #ef4444 !important;
  background: #fff6f6 !important;
}
.login-agreement input {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
}
.login-agreement-box {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  width: 24px !important;
  height: 24px !important;
  border: 2px solid #9aa7a0 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: transparent !important;
  pointer-events: none !important;
}
.login-agreement-box svg {
  width: 18px !important;
  height: 18px !important;
}
.login-agreement input:checked + .login-agreement-box {
  border-color: #07c160 !important;
  background: #07c160 !important;
  color: #ffffff !important;
}
.login-agreement:has(input:checked) {
  border-color: #98e5b8 !important;
  background: #f0fbf4 !important;
}
.login-agreement-text {
  min-width: 0 !important;
  pointer-events: auto !important;
}
.login-agreement button {
  position: relative !important;
  z-index: 4 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #087b55 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 800 !important;
  pointer-events: auto !important;
}

/* Login restore visual: green layout with agreement below card */
.login-home {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 100dvh !important;
  padding: max(74px, calc(54px + env(safe-area-inset-top))) 26px calc(18px + env(safe-area-inset-bottom)) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background:
    radial-gradient(circle at 88% 5%, rgba(255,255,255,.32) 0 13%, transparent 14%),
    radial-gradient(circle at 72% 0%, rgba(255,255,255,.12) 0 29%, transparent 30%),
    radial-gradient(circle at 50% 84%, rgba(196,255,224,.72), transparent 45%),
    linear-gradient(180deg,#18bf53 0%,#23cf62 34%,#effff5 70%,#ffffff 100%) !important;
  color: #17231d !important;
}
.login-home[hidden] {
  display: none !important;
}
.login-home::before {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  left: -8% !important;
  right: -8% !important;
  top: 37% !important;
  height: 84px !important;
  pointer-events: none !important;
  background: #f3fff7 !important;
  border-radius: 0 0 50% 50% / 0 0 100% 100% !important;
  transform: translateY(-50%) rotate(180deg) !important;
  box-shadow: 0 -18px 28px rgba(255,255,255,.34) !important;
}
.login-home::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 38% !important;
  pointer-events: none !important;
  background: linear-gradient(135deg, transparent 0 67%, rgba(255,255,255,.82) 67.3% 100%) !important;
  opacity: .86 !important;
  clip-path: polygon(0 0, 100% 0, 100% 88%, 86% 96%, 70% 100%, 52% 98%, 34% 92%, 15% 86%, 0 80%) !important;
}
.login-form::before,
.login-form::after,
.login-bg-orb {
  content: none !important;
  display: none !important;
  pointer-events: none !important;
}
.login-home h1 {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 0 58px !important;
  color: #ffffff !important;
  font-size: clamp(48px, 14vw, 66px) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
}
.login-form {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  gap: 0 !important;
  width: min(390px, calc(100vw - 52px)) !important;
  max-width: 390px !important;
  margin: 0 !important;
  padding: 30px 28px 30px !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 22px 42px rgba(34, 197, 94, .18), 0 0 0 1px rgba(255,255,255,.72) inset !important;
  pointer-events: auto !important;
}
.login-field {
  position: relative !important;
  z-index: 4 !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 52px !important;
  height: 52px !important;
  margin: 0 0 12px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(17,24,39,.08) !important;
  border-radius: 12px !important;
  background: rgba(245,248,247,.92) !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}
.login-field-icon {
  display: grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  color: #4b5563 !important;
  pointer-events: none !important;
}
.login-field-icon svg {
  width: 24px !important;
  height: 24px !important;
  stroke-width: 1.65 !important;
}
.login-field:has(#loginUserName) {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 6px !important;
}
.login-field:has(#loginUserName) .login-field-icon,
.login-field:has(#loginUserName) .login-field-icon svg {
  width: 22px !important;
  height: 22px !important;
}
.login-field input,
.login-form > input {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  background: transparent !important;
  color: #111827 !important;
  font-size: 17px !important;
  line-height: 50px !important;
  font-weight: 700 !important;
  pointer-events: auto !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  white-space: nowrap !important;
}
.login-field #loginUserName {
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}
.login-options {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 24px !important;
  margin: 2px 0 0 !important;
  padding-left: 4px !important;
  color: #7b8794 !important;
  font-size: 14px !important;
  pointer-events: auto !important;
}
.login-options label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
}
.login-options input {
  width: 17px !important;
  height: 17px !important;
  accent-color: #07c160 !important;
}
.login-button {
  position: relative !important;
  z-index: 10 !important;
  justify-self: center !important;
  display: block !important;
  width: 82% !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 28px 0 0 !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,#20c75a,#22c55e) !important;
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 50px !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  box-shadow: 0 12px 24px rgba(34,197,94,.24) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
}
.login-button:disabled,
.login-button.is-loading {
  background: #72d99e !important;
  color: #ffffff !important;
  opacity: 1 !important;
}
.login-status {
  position: relative !important;
  z-index: 4 !important;
  min-height: 21px !important;
  margin: 10px 0 0 !important;
  padding: 0 4px !important;
  color: #b42318 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  text-align: center !important;
  pointer-events: none !important;
}
.login-status.is-loading,
.login-status.is-success {
  color: #087b55 !important;
}
.login-agreement {
  position: relative !important;
  z-index: 4 !important;
  display: grid !important;
  grid-template-columns: 21px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 7px !important;
  width: min(360px, calc(100vw - 56px)) !important;
  max-width: 360px !important;
  min-height: 28px !important;
  margin: 18px auto 0 !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #7d8792 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
}
.login-agreement.needs-attention {
  color: #b42318 !important;
}
.login-agreement input {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
}
.login-agreement-box {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  border: 2px solid #a5b0aa !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  color: transparent !important;
  pointer-events: none !important;
}
.login-agreement-box svg {
  width: 15px !important;
  height: 15px !important;
}
.login-agreement input:checked + .login-agreement-box {
  border-color: #07c160 !important;
  background: #07c160 !important;
  color: #ffffff !important;
}
.login-agreement:has(input:checked) {
  color: #5f6f66 !important;
}
.login-agreement button {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #087b55 !important;
  font: inherit !important;
  font-weight: 800 !important;
  pointer-events: auto !important;
}
@media (max-height: 720px) {
  .login-home {
    padding-top: max(46px, calc(30px + env(safe-area-inset-top))) !important;
  }
  .login-home h1 {
    margin-bottom: 42px !important;
    font-size: clamp(42px, 13vw, 58px) !important;
  }
  .login-form {
    padding: 24px 26px 24px !important;
  }
  .login-agreement {
    margin-top: 12px !important;
  }
}

/* Login native-03 compact polish */
.login-home {
  padding-top: max(58px, calc(40px + env(safe-area-inset-top))) !important;
}
.login-home h1 {
  margin-bottom: 42px !important;
  font-size: clamp(40px, 11.5vw, 56px) !important;
  letter-spacing: 0 !important;
}
.login-form {
  width: min(360px, calc(100vw - 56px)) !important;
  max-width: 360px !important;
  padding: 22px 22px 18px !important;
  border-radius: 20px !important;
}
.login-field {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  min-height: 44px !important;
  height: 44px !important;
  margin-bottom: 9px !important;
  padding: 0 11px !important;
  border-radius: 11px !important;
}
.login-field-icon {
  width: 24px !important;
  height: 24px !important;
}
.login-field-icon svg,
.login-field:has(#loginUserName) .login-field-icon,
.login-field:has(#loginUserName) .login-field-icon svg {
  width: 20px !important;
  height: 20px !important;
}
.login-field input,
.login-form > input {
  height: 42px !important;
  min-height: 42px !important;
  font-size: 15px !important;
  line-height: 42px !important;
  font-weight: 650 !important;
}
.login-field #loginUserName {
  font-size: 13px !important;
  font-weight: 750 !important;
}
.login-options {
  min-height: 20px !important;
  margin-top: 0 !important;
  padding-left: 2px !important;
  font-size: 12px !important;
}
.login-options label {
  gap: 6px !important;
}
.login-options input {
  width: 14px !important;
  height: 14px !important;
}
.login-button {
  width: 78% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin-top: 18px !important;
  font-size: 16px !important;
  line-height: 42px !important;
  letter-spacing: 0 !important;
  box-shadow: 0 9px 18px rgba(34,197,94,.22) !important;
}
.login-fallback-button {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 20px !important;
  margin: 7px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #087b55 !important;
  font-size: 11px !important;
  line-height: 20px !important;
  font-weight: 650 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-shadow: none !important;
}
.login-status {
  min-height: 18px !important;
  margin-top: 6px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.login-agreement {
  grid-template-columns: 17px minmax(0, 1fr) !important;
  gap: 6px !important;
  width: min(326px, calc(100vw - 66px)) !important;
  max-width: 326px !important;
  min-height: 22px !important;
  margin-top: 12px !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
}
.login-agreement-box {
  width: 16px !important;
  height: 16px !important;
  border-width: 1.5px !important;
  border-radius: 4px !important;
}
.login-agreement-box svg {
  width: 12px !important;
  height: 12px !important;
}
.login-agreement button {
  font-weight: 700 !important;
}
@media (max-height: 720px) {
  .login-home {
    padding-top: max(38px, calc(24px + env(safe-area-inset-top))) !important;
  }
  .login-home h1 {
    margin-bottom: 30px !important;
    font-size: clamp(36px, 10.5vw, 48px) !important;
  }
  .login-form {
    padding: 18px 20px 16px !important;
  }
  .login-field {
    min-height: 40px !important;
    height: 40px !important;
    margin-bottom: 7px !important;
  }
  .login-field input,
  .login-form > input {
    height: 38px !important;
    min-height: 38px !important;
    line-height: 38px !important;
  }
  .login-button {
    height: 39px !important;
    min-height: 39px !important;
    margin-top: 14px !important;
    line-height: 39px !important;
  }
}

/* Customer profile contact mobile overflow fix */
.customer-form-home,
.customer-detail-home,
.customer-form-phone,
.customer-detail-phone {
  overflow-x: hidden !important;
}
.customer-form-home *,
.customer-detail-home * {
  box-sizing: border-box !important;
}
.customer-form-home .entry-contact-info-label,
.customer-detail-home .detail-contact-row,
.customer-detail-home .detail-contact-editor {
  min-width: 0 !important;
  max-width: 100% !important;
}
.customer-form-home .entry-key-person-editor,
.customer-detail-home .detail-contact-draft {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
.customer-form-home .entry-key-person-editor input,
.customer-form-home .entry-key-person-editor select,
.customer-detail-home .detail-contact-draft input,
.customer-detail-home .detail-contact-draft select {
  min-width: 0 !important;
  max-width: 100% !important;
}
@media (max-width: 560px) {
  .customer-form-home .customer-entry-form,
  .customer-detail-home .customer-detail-body,
  .customer-detail-home .detail-table span {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .customer-form-home .entry-key-person-editor {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 7px !important;
  }
  .customer-form-home .entry-key-person-editor #entryContactInfo,
  .customer-form-home .entry-key-person-editor #entryContactNote {
    grid-column: 1 / -1 !important;
  }
  .customer-form-home .entry-key-person-editor #entryContactRole,
  .customer-form-home .entry-key-person-editor #entryContactImportance,
  .customer-form-home .entry-key-person-editor #entryContactAttitude {
    grid-column: auto !important;
  }
  .customer-form-home .entry-key-person-editor .contact-add-button {
    grid-column: 2 !important;
    grid-row: auto !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .customer-detail-home .detail-contact-draft {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 7px !important;
  }
  .customer-detail-home .detail-contact-draft input:first-child,
  .customer-detail-home .detail-contact-draft input:nth-of-type(2) {
    grid-column: 1 / -1 !important;
  }
  .customer-detail-home .detail-contact-draft select {
    grid-column: auto !important;
  }
  .customer-detail-home .detail-contact-draft button {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .customer-form-home .entry-added-contact,
  .customer-detail-home .entry-added-contact {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .customer-form-home .entry-contact-actions,
  .customer-detail-home .entry-contact-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
.customer-form-home .entry-contact-actions button,
  .customer-detail-home .entry-contact-actions button {
    min-width: 0 !important;
    width: 100% !important;
    padding: 0 4px !important;
  }
}

/* Customer profile contact mobile structure */
.customer-form-home .entry-contact-info-label,
.customer-detail-home .detail-table .detail-contact-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  align-items: stretch !important;
}
.customer-detail-home .detail-table .detail-contact-row > strong,
.customer-detail-home .detail-table .detail-contact-row > span {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.customer-form-home .entry-key-person-editor,
.customer-detail-home .detail-contact-draft {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding: 8px !important;
  border: 1px solid #dceee4 !important;
  border-radius: 10px !important;
  background: #f7fcf9 !important;
}
.customer-detail-home .detail-contact-editor,
.customer-detail-home .entry-added-contact-table {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.customer-form-home .entry-contact-field,
.customer-detail-home .entry-contact-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #5f6f68 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}
.customer-form-home .entry-contact-field > span,
.customer-detail-home .entry-contact-field > span {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: #5f6f68 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}
.customer-form-home .entry-key-person-editor input,
.customer-form-home .entry-key-person-editor select,
.customer-detail-home .detail-contact-draft input,
.customer-detail-home .detail-contact-draft select {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid #d8e7df !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
  font-size: 14px !important;
  line-height: 36px !important;
}
.customer-form-home .entry-key-person-editor #entryContactInfo,
.customer-form-home .entry-key-person-editor #entryContactNote,
.customer-form-home .entry-key-person-editor #entryContactRole,
.customer-form-home .entry-key-person-editor #entryContactImportance,
.customer-form-home .entry-key-person-editor #entryContactAttitude {
  grid-column: auto !important;
}
.customer-form-home .entry-key-person-editor .contact-add-button,
.customer-detail-home .detail-contact-draft button {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid #07c160 !important;
  border-radius: 8px !important;
  background: #07c160 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 36px !important;
  font-weight: 700 !important;
}
.customer-form-home .entry-added-contacts,
.customer-detail-home .entry-added-contacts,
.customer-form-home .entry-added-contact-table,
.customer-detail-home .entry-added-contact-table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.customer-form-home .entry-added-contact,
.customer-detail-home .entry-added-contact {
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.customer-form-home .entry-contact-actions,
.customer-detail-home .entry-contact-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.customer-form-home .entry-contact-actions button,
.customer-detail-home .entry-contact-actions button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

/* Communication page action bar regression fix */
.customer-chat-home .customer-chat-phone {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}
.customer-chat-home .communication-head,
.customer-chat-home .customer-chat-phone > .app-bottom-nav {
  display: none !important;
}
.customer-chat-home .chat-thread {
  grid-row: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: 18px !important;
  overflow-y: auto !important;
}
.customer-chat-home .communication-action-bar {
  grid-row: 2 !important;
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: 80 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 9px 12px calc(12px + env(safe-area-inset-bottom)) !important;
  background: #ffffff !important;
  border-top: 1px solid #dfe8e3 !important;
  box-sizing: border-box !important;
}
.customer-chat-home .communication-action-bar > button {
  min-width: 0 !important;
  width: 100% !important;
  white-space: nowrap !important;
}

/* Communication page bottom actions must stay visible */
.customer-chat-home .customer-chat-phone {
  display: flex !important;
  flex-direction: column !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.customer-chat-home .communication-head,
.customer-chat-home .customer-chat-phone > .app-bottom-nav,
.customer-chat-home .communication-page-return {
  display: none !important;
}
.customer-chat-home .chat-thread {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
  padding-bottom: 22px !important;
  -webkit-overflow-scrolling: touch !important;
}
.customer-chat-home .communication-action-bar {
  flex: 0 0 auto !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 8px 10px calc(10px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #dfe8e3 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  z-index: 90 !important;
}
.customer-chat-home .communication-back-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  border: 1px solid #e2e8e5 !important;
  border-radius: 10px !important;
  background: #f8faf9 !important;
  color: #8b9691 !important;
  box-shadow: none !important;
  touch-action: manipulation !important;
}
.customer-chat-home .communication-back-button svg {
  width: 22px !important;
  height: 22px !important;
  stroke: currentColor !important;
}
.customer-chat-home .communication-action-bar > .communication-add-button,
.customer-chat-home .communication-action-bar > .communication-analyze-button {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 8px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Mobile popover standard: compact tool menu */
.customer-chat-home .communication-add-menu {
  position: absolute !important;
  left: 10px !important;
  right: 10px !important;
  bottom: calc(100% + 8px) !important;
  z-index: 120 !important;
  display: grid !important;
  gap: 8px !important;
  width: auto !important;
  max-width: calc(100vw - 24px) !important;
  max-height: 45dvh !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  padding: 10px !important;
  border: 1px solid rgba(207, 225, 216, 0.9) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.14) !important;
  box-sizing: border-box !important;
}
.customer-chat-home .communication-add-menu[hidden] {
  display: none !important;
}
.customer-chat-home .communication-menu-group {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 7px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.customer-chat-home .communication-menu-group + .communication-menu-group {
  padding-top: 8px !important;
  border-top: 1px solid #edf3ef !important;
}
.customer-chat-home .communication-menu-group span {
  grid-column: 1 / -1 !important;
  margin: 0 2px !important;
  color: #516058 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}
.customer-chat-home .communication-add-menu button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 10px !important;
  border: 1px solid #dce9e2 !important;
  border-radius: 9px !important;
  background: #f8fbf9 !important;
  color: #1f3128 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}
.customer-chat-home .communication-add-menu button.is-coming-soon {
  border-color: #e6ece9 !important;
  background: #f3f5f4 !important;
  color: #8a9690 !important;
}
.customer-chat-home .communication-menu-group.is-single {
  grid-template-columns: minmax(0, 1fr) !important;
}
.customer-chat-home .communication-menu-group.is-single button {
  grid-column: 1 / -1 !important;
}

/* Customer form/detail keyboard guard */
body.customer-form-keyboard-open .customer-form-home .customer-form-actions,
body.customer-form-keyboard-open .customer-detail-home .customer-detail-actions {
  display: none !important;
}
body.customer-form-keyboard-open .customer-form-home .customer-form-phone,
body.customer-form-keyboard-open .customer-detail-home .customer-detail-phone {
  grid-template-rows: minmax(0, 1fr) auto !important;
}
body.customer-form-keyboard-open .customer-form-home .customer-entry-form {
  padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important;
}
body.customer-form-keyboard-open .customer-detail-home .customer-detail-content {
  padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important;
}
body.customer-form-keyboard-open .customer-form-home .app-bottom-nav,
body.customer-form-keyboard-open .customer-detail-home .app-bottom-nav {
  display: none !important;
}

/* Communication add menu v2: small action menu */
.customer-chat-home .communication-customer-card {
  position: relative !important;
  padding-right: 72px !important;
}
.customer-chat-home .communication-material-count {
  position: absolute !important;
  right: 10px !important;
  bottom: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 18px !important;
  padding: 0 6px !important;
  border: 1px solid #dcebe2 !important;
  border-radius: 999px !important;
  background: #f7fbf8 !important;
  color: #6f8778 !important;
  font-size: 12px !important;
  line-height: 18px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.customer-chat-home .communication-material-hint {
  display: none !important;
}
.customer-chat-home .communication-add-menu {
  left: 50% !important;
  right: auto !important;
  bottom: calc(100% + 8px) !important;
  transform: translateX(-50%) !important;
  width: min(360px, calc(100vw - 48px)) !important;
  max-width: min(360px, calc(100vw - 48px)) !important;
  max-height: min(242px, calc(45dvh - 24px)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 6px !important;
  padding: 6px !important;
  border: 1px solid rgba(214, 226, 220, 0.95) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.13) !important;
  overflow-y: auto !important;
}
.customer-chat-home .communication-add-menu-head {
  grid-column: 1 / -1 !important;
  display: grid !important;
  gap: 2px !important;
  padding: 4px 6px 6px !important;
  border-bottom: 1px solid #edf2ef !important;
}
.customer-chat-home .communication-add-menu-head strong {
  color: #1f3128 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
}
.customer-chat-home .communication-add-menu-head span {
  color: #738078 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}
.customer-chat-home .communication-add-menu[hidden] {
  display: none !important;
}
.customer-chat-home .communication-add-menu > button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 7px 9px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #1f3128 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.customer-chat-home .communication-add-menu > button span,
.customer-chat-home .communication-add-menu > button em {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .communication-add-menu > button em {
  flex-shrink: 0 !important;
  max-width: 72px !important;
  color: #7a8a80 !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 700 !important;
}
.customer-chat-home .communication-add-menu > button[data-communication-add="purpose"] {
  grid-column: 1 / -1 !important;
}
.customer-chat-home .communication-add-menu > button:active {
  background: #f2fbf5 !important;
}

/* Today home v1: sales action-first entry. */
.brain-home .today-brand-title {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 4px !important;
  padding: 22px 28px 8px !important;
  margin: 0 !important;
  color: #111513 !important;
  font-size: 0 !important;
  line-height: 1 !important;
}
.brain-home .today-brand-title strong {
  display: block !important;
  color: #111513 !important;
  font-size: 34px !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
}
.brain-home .today-brand-title span {
  display: block !important;
  color: #555f59 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 3px !important;
}
.today-home {
  position: relative !important;
  gap: 14px !important;
  padding: 10px 18px 14px !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(202, 236, 91, 0.42), transparent 30%),
    radial-gradient(circle at 80% 12%, rgba(244, 250, 220, 0.78), transparent 28%),
    #f8faf6 !important;
}
.today-top {
  display: grid !important;
  gap: 18px !important;
}
.today-top h1 {
  margin: 0 !important;
  color: #050706 !important;
  font-size: 28px !important;
  line-height: 1.16 !important;
  text-align: center !important;
  letter-spacing: 0 !important;
  font-weight: 950 !important;
}
.today-search {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 36px !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 0 12px !important;
  border: 2px solid #111513 !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 9px 20px rgba(18, 24, 20, 0.08) !important;
}
.today-search span,
.today-search button {
  display: grid !important;
  place-items: center !important;
  min-width: 0 !important;
  color: #050706 !important;
  font-size: 31px !important;
  line-height: 1 !important;
}
.today-search em {
  min-width: 0 !important;
  color: #777d79 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-style: normal !important;
  font-weight: 800 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.today-search button {
  border: 0 !important;
  background: transparent !important;
  font-size: 23px !important;
}
.today-main-card {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 16px !important;
  padding: 0 14px 18px !important;
  border: 1px solid rgba(225, 231, 219, 0.96) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 12px 26px rgba(15, 21, 18, 0.09) !important;
  overflow: hidden !important;
}
.today-main-label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 -14px !important;
  min-height: 50px !important;
}
.today-main-label span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 50px !important;
  padding: 0 30px 0 18px !important;
  border-radius: 0 0 8px 0 !important;
  background: #141514 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}
.today-main-label span::before {
  content: "鈫? !important;
  margin-right: 8px !important;
  color: #b6e34a !important;
  font-size: 20px !important;
}
.today-main-label button {
  border: 0 !important;
  background: transparent !important;
  color: #111513 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  padding: 0 16px !important;
}
.today-card-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  gap: 10px !important;
  align-items: center !important;
}
.today-card-body h2 {
  margin: 0 0 9px !important;
  color: #050706 !important;
  font-size: 27px !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  font-weight: 950 !important;
}
.today-card-body p {
  margin: 0 !important;
  color: #6d746f !important;
  font-size: 15px !important;
  line-height: 1.36 !important;
  font-weight: 750 !important;
}
.today-target-visual {
  position: relative !important;
  width: 108px !important;
  height: 108px !important;
  border-radius: 50% !important;
  background: repeating-radial-gradient(circle, #d8f07b 0 12px, #f7fbeb 13px 24px) !important;
  box-shadow: inset 0 0 0 12px rgba(157, 201, 39, 0.16), 0 12px 22px rgba(116, 151, 34, 0.12) !important;
}
.today-target-visual span,
.today-target-visual i,
.today-target-visual b {
  position: absolute !important;
  display: block !important;
}
.today-target-visual span {
  inset: 40px !important;
  border-radius: 50% !important;
  background: #96bf1e !important;
}
.today-target-visual i {
  width: 72px !important;
  height: 7px !important;
  right: -7px !important;
  top: 50px !important;
  border-radius: 999px !important;
  background: #111513 !important;
  transform: rotate(-42deg) !important;
}
.today-target-visual b {
  right: -12px !important;
  top: 25px !important;
  width: 22px !important;
  height: 22px !important;
  background: #a6ce2d !important;
  clip-path: polygon(0 0, 100% 50%, 0 100%, 25% 50%) !important;
}
.today-metrics {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.today-metrics button,
.today-core-grid button,
.today-confirm-strip,
.today-customer-card {
  box-sizing: border-box !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}
.today-metrics button {
  display: grid !important;
  place-items: center !important;
  gap: 4px !important;
  min-height: 84px !important;
  padding: 10px 4px !important;
  background: #f3f8e7 !important;
  color: #111513 !important;
}
.today-metrics span {
  color: #151a17 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
}
.today-metrics strong {
  color: #8abc22 !important;
  font-size: 37px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}
.today-primary-button {
  min-height: 58px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #111513 !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  box-shadow: inset 0 -2px 0 rgba(255,255,255,0.08) !important;
}
.today-primary-button::before {
  content: "馃帣" !important;
  margin-right: 9px !important;
  color: #b9e84a !important;
}
.today-filter-tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 5px !important;
  padding: 5px !important;
  border-radius: 8px !important;
  background: #dced96 !important;
}
.today-filter-tabs button {
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #111513 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}
.today-filter-tabs button.active {
  background: #111513 !important;
  color: #ffffff !important;
}
.today-core-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.today-core-grid button {
  display: grid !important;
  gap: 5px !important;
  min-height: 112px !important;
  padding: 13px !important;
  background: #f0f8cf !important;
  color: #111513 !important;
  text-align: left !important;
}
.today-core-grid button:first-child {
  background: #fff0e4 !important;
}
.today-core-grid span {
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
}
.today-core-grid strong {
  font-size: 36px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}
.today-core-grid em {
  color: #666f69 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
.today-customer-list {
  display: grid !important;
  gap: 10px !important;
}
.today-customer-card {
  display: grid !important;
  gap: 6px !important;
  width: 100% !important;
  padding: 13px !important;
  border: 1px solid #dfe8df !important;
  background: #ffffff !important;
  color: #111513 !important;
  text-align: left !important;
}
.today-customer-card span {
  justify-self: start !important;
  padding: 4px 8px !important;
  border-radius: 8px !important;
  background: #ecf7d6 !important;
  color: #598100 !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}
.today-customer-card strong {
  font-size: 19px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
}
.today-customer-card em,
.today-customer-card p {
  margin: 0 !important;
  min-width: 0 !important;
  color: #5f6b64 !important;
  font-size: 13px !important;
  line-height: 1.36 !important;
  font-style: normal !important;
  font-weight: 750 !important;
  overflow-wrap: anywhere !important;
}
.today-customer-card b {
  color: #111513 !important;
  margin-right: 6px !important;
}
.today-empty {
  padding: 16px !important;
  border: 1px dashed #dce6dc !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #6b756e !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
}
.today-confirm-strip {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 4px 10px !important;
  width: 100% !important;
  min-height: 72px !important;
  padding: 13px 16px !important;
  border: 1px solid #e4eadf !important;
  background: #f8faef !important;
  color: #111513 !important;
  text-align: left !important;
}
.today-confirm-strip span {
  min-width: 0 !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 950 !important;
}
.today-confirm-strip strong {
  color: #8abc22 !important;
  font-size: 24px !important;
}
.today-confirm-strip em {
  grid-column: 1 / -1 !important;
  color: #69736d !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-style: normal !important;
  font-weight: 750 !important;
}
.today-confirm-strip::after {
  content: "鈥? !important;
  grid-row: 1 / span 2 !important;
  grid-column: 2 !important;
  align-self: center !important;
  color: #111513 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
}
.today-modal .boss-customer-row i {
  background: #ddef95 !important;
  color: #111513 !important;
}
@media (max-width: 430px) {
  .brain-home .today-brand-title {
    padding: 20px 20px 8px !important;
  }
  .brain-home .today-brand-title strong {
    font-size: 30px !important;
  }
  .today-home {
    padding: 10px 14px 14px !important;
  }
  .today-top h1 {
    font-size: 25px !important;
  }
  .today-card-body {
    grid-template-columns: minmax(0, 1fr) 82px !important;
  }
  .today-card-body h2 {
    font-size: 23px !important;
  }
  .today-target-visual {
    width: 82px !important;
    height: 82px !important;
  }
  .today-target-visual i {
    width: 56px !important;
    top: 39px !important;
  }
  .today-metrics button {
    min-height: 76px !important;
  }
  .today-metrics strong {
    font-size: 32px !important;
  }
  .today-core-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .today-core-grid button:last-child {
    grid-column: 1 / -1 !important;
    min-height: 76px !important;
  }
}

/* Advisor UI v1: visual entry only, old business flows stay intact. */
.growth-advisor-home {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 12px !important;
  color: #16231d !important;
}
.growth-hero {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 54px !important;
  gap: 12px !important;
  align-items: center !important;
  min-width: 0 !important;
  padding: 16px !important;
  border: 1px solid #d8e4de !important;
  border-radius: 8px !important;
  background: #f7fbf8 !important;
}
.growth-hero-copy {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
}
.growth-kicker {
  color: #547260 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
.growth-hero h1 {
  margin: 0 !important;
  color: #14241d !important;
  font-size: 25px !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  font-weight: 900 !important;
}
.growth-hero p {
  margin: 0 !important;
  color: #51615a !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.growth-hero-mark {
  display: grid !important;
  place-items: center !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 8px !important;
  background: #1f6f4a !important;
  color: #ffffff !important;
  font-size: 25px !important;
  font-weight: 900 !important;
}
.growth-role-switch {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 4px !important;
  border: 1px solid #dce7e1 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}
.growth-role-switch button,
.growth-shortcuts button,
.growth-action-grid button {
  box-sizing: border-box !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}
.growth-role-switch button {
  min-height: 36px !important;
  background: transparent !important;
  color: #5d6d66 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.growth-role-switch button.active {
  background: #1f6f4a !important;
  color: #ffffff !important;
}
.growth-focus-card {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
  padding: 13px !important;
  border: 1px solid #dde7e2 !important;
  border-left: 4px solid #d48b35 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}
.growth-focus-card span {
  color: #6f7a74 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
.growth-focus-card strong {
  color: #17241e !important;
  font-size: 17px !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
}
.growth-focus-card p {
  margin: 0 !important;
  color: #596862 !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
}
.growth-action-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.growth-action-grid button {
  display: grid !important;
  gap: 7px !important;
  align-content: center !important;
  min-height: 82px !important;
  padding: 10px 8px !important;
  border: 1px solid #dfe8e3 !important;
  background: #ffffff !important;
  color: #1b2c24 !important;
  text-align: left !important;
}
.growth-action-grid span {
  min-width: 0 !important;
  color: #617169 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  overflow-wrap: anywhere !important;
}
.growth-action-grid strong {
  color: #1f6f4a !important;
  font-size: 25px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}
.growth-shortcuts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.growth-shortcuts button {
  min-height: 40px !important;
  padding: 0 10px !important;
  background: #eef6f1 !important;
  color: #1f6f4a !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}
.growth-system-title {
  margin: 6px 12px 0 !important;
  color: #6d7a74 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}
.diagnosis-advisor-top {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 10px !important;
  margin: 0 12px 10px !important;
  padding: 13px !important;
  border: 1px solid #dfe8e3 !important;
  border-radius: 8px !important;
  background: #fbfdfc !important;
  color: #16231d !important;
}
.diagnosis-customer-line {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.diagnosis-customer-line span,
.diagnosis-customer-line em {
  min-width: 0 !important;
  line-height: 1.25 !important;
}
.diagnosis-customer-line span {
  color: #17241e !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.diagnosis-customer-line em {
  flex: 0 1 auto !important;
  color: #6f7c75 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 750 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.diagnosis-advisor-top h2 {
  margin: 0 !important;
  color: #17241e !important;
  font-size: 19px !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
  font-weight: 900 !important;
}
.diagnosis-advisor-top p {
  margin: 0 !important;
  color: #56675f !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
}
.diagnosis-step-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
}
.diagnosis-step-row span {
  display: grid !important;
  place-items: center !important;
  min-height: 28px !important;
  border-radius: 8px !important;
  background: #eef4f1 !important;
  color: #355848 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}
.diagnosis-primary-action {
  box-sizing: border-box !important;
  min-height: 42px !important;
  width: 100% !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #1f6f4a !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}
.customer-chat-home .chat-thread {
  padding-top: 0 !important;
}
@media (max-width: 430px) {
  .growth-hero {
    grid-template-columns: minmax(0, 1fr) 46px !important;
    padding: 13px !important;
  }
  .growth-hero h1 {
    font-size: 22px !important;
  }
  .growth-hero-mark {
    width: 46px !important;
    height: 46px !important;
    font-size: 21px !important;
  }
  .growth-action-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .growth-action-grid button {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    min-height: 54px !important;
  }
  .diagnosis-customer-line {
    display: grid !important;
  }
  .diagnosis-customer-line em {
    white-space: normal !important;
  }
}

/* Keep today home rules after the previous advisor-home compatibility block. */
.brain-home .today-home {
  gap: 14px !important;
  padding: 10px 18px 14px !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(202, 236, 91, 0.42), transparent 30%),
    radial-gradient(circle at 80% 12%, rgba(244, 250, 220, 0.78), transparent 28%),
    #f8faf6 !important;
}
.brain-home .brain-phone > .today-brand-title {
  display: grid !important;
  visibility: visible !important;
  position: relative !important;
  height: auto !important;
  width: auto !important;
  opacity: 1 !important;
  overflow: visible !important;
  clip: auto !important;
  transform: none !important;
  padding: 22px 28px 8px !important;
  margin: 0 !important;
  text-align: left !important;
}
.brain-home .brain-phone > .today-brand-title strong {
  display: block !important;
}
.brain-home .brain-phone > .today-brand-title span {
  display: block !important;
}
.brain-home .today-home .today-core-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.brain-home .today-home .today-core-grid button {
  min-height: 112px !important;
}
@media (max-width: 430px) {
  .brain-home .today-home {
    padding: 10px 14px 14px !important;
  }
  .brain-home .today-home .today-core-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .brain-home .today-home .today-core-grid button:last-child {
    grid-column: 1 / -1 !important;
    min-height: 76px !important;
  }
}

/* Today home v2: refined scale and reference-style bottom nav. */
.brain-home .brain-phone {
  padding-bottom: 98px !important;
}
.brain-home .brain-phone > .app-bottom-nav {
  display: none !important;
}
.brain-home .brain-phone > .today-brand-title {
  padding: 16px 24px 4px !important;
}
.brain-home .brain-phone > .today-brand-title strong {
  font-size: 28px !important;
  line-height: 1.02 !important;
}
.brain-home .brain-phone > .today-brand-title span {
  font-size: 11px !important;
  letter-spacing: 2.4px !important;
}
.brain-home .today-home {
  gap: 10px !important;
  padding: 8px 18px 12px !important;
}
.brain-home .today-top {
  gap: 12px !important;
}
.brain-home .today-top h1 {
  font-size: 24px !important;
  line-height: 1.12 !important;
}
.brain-home .today-search {
  grid-template-columns: 28px minmax(0, 1fr) 30px !important;
  min-height: 46px !important;
  padding: 0 11px !important;
  border-width: 1.5px !important;
  box-shadow: 0 6px 14px rgba(18, 24, 20, 0.07) !important;
}
.brain-home .today-search span {
  font-size: 25px !important;
}
.brain-home .today-search em {
  font-size: 14px !important;
  font-weight: 760 !important;
}
.brain-home .today-search button {
  font-size: 19px !important;
}
.brain-home .today-main-card {
  gap: 12px !important;
  padding: 0 12px 14px !important;
  box-shadow: 0 8px 20px rgba(15, 21, 18, 0.075) !important;
}
.brain-home .today-main-label {
  min-height: 42px !important;
  margin: 0 -12px !important;
}
.brain-home .today-main-label span {
  min-height: 42px !important;
  padding: 0 24px 0 15px !important;
  font-size: 14px !important;
}
.brain-home .today-main-label span::before {
  font-size: 17px !important;
}
.brain-home .today-main-label button {
  font-size: 12px !important;
  padding: 0 13px !important;
}
.brain-home .today-card-body {
  grid-template-columns: minmax(0, 1fr) 86px !important;
  gap: 8px !important;
}
.brain-home .today-card-body h2 {
  margin-bottom: 7px !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
}
.brain-home .today-card-body p {
  font-size: 13px !important;
  line-height: 1.36 !important;
}
.brain-home .today-target-visual {
  width: 84px !important;
  height: 84px !important;
}
.brain-home .today-target-visual span {
  inset: 31px !important;
}
.brain-home .today-target-visual i {
  width: 55px !important;
  height: 6px !important;
  right: -4px !important;
  top: 39px !important;
}
.brain-home .today-target-visual b {
  right: -8px !important;
  top: 20px !important;
  width: 18px !important;
  height: 18px !important;
}
.brain-home .today-metrics {
  gap: 8px !important;
}
.brain-home .today-metrics button {
  min-height: 68px !important;
  padding: 8px 4px !important;
}
.brain-home .today-metrics span {
  font-size: 12px !important;
}
.brain-home .today-metrics strong {
  font-size: 29px !important;
}
.brain-home .today-primary-button {
  min-height: 48px !important;
  font-size: 16px !important;
}
.brain-home .today-filter-tabs {
  gap: 4px !important;
  padding: 4px !important;
}
.brain-home .today-filter-tabs button {
  min-height: 36px !important;
  font-size: 13px !important;
}
.brain-home .today-core-grid {
  gap: 9px !important;
}
.brain-home .today-core-grid button {
  min-height: 88px !important;
  padding: 11px !important;
}
.brain-home .today-core-grid span {
  font-size: 14px !important;
}
.brain-home .today-core-grid strong {
  font-size: 28px !important;
}
.brain-home .today-core-grid em {
  font-size: 11px !important;
}
.brain-home .today-customer-card {
  padding: 11px !important;
}
.brain-home .today-customer-card strong {
  font-size: 16px !important;
}
.brain-home .today-customer-card em,
.brain-home .today-customer-card p {
  font-size: 12px !important;
}
.brain-home .today-confirm-strip {
  min-height: 62px !important;
  padding: 11px 14px !important;
}
.brain-home .today-confirm-strip span {
  font-size: 15px !important;
}
.brain-home .today-confirm-strip strong {
  font-size: 21px !important;
}
.brain-home .today-confirm-strip em {
  font-size: 12px !important;
}
.today-bottom-nav {
  position: fixed !important;
  left: 50% !important;
  bottom: max(10px, env(safe-area-inset-bottom)) !important;
  z-index: 80 !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 0 !important;
  width: min(390px, calc(100vw - 26px)) !important;
  min-height: 72px !important;
  padding: 8px 10px 7px !important;
  border: 1px solid rgba(224, 229, 221, 0.96) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 8px 28px rgba(18, 24, 20, 0.14) !important;
  backdrop-filter: blur(10px) !important;
}
.today-bottom-nav button {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  gap: 2px !important;
  min-width: 0 !important;
  min-height: 50px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  color: #6a716d !important;
  font-family: inherit !important;
  letter-spacing: 0 !important;
}
.today-bottom-nav span {
  display: grid !important;
  place-items: center !important;
  width: 25px !important;
  height: 25px !important;
  color: currentColor !important;
  font-size: 20px !important;
  line-height: 1 !important;
}
.today-bottom-nav em {
  color: currentColor !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
.today-bottom-nav button.active {
  color: #111513 !important;
}
.today-bottom-nav button.active::after {
  content: "" !important;
  width: 18px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: #9cc624 !important;
}
.today-bottom-nav .today-nav-diagnose {
  min-height: 66px !important;
  margin-top: -28px !important;
  color: #111513 !important;
}
.today-bottom-nav .today-nav-diagnose span {
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  background: #d8ee71 !important;
  color: #111513 !important;
  font-size: 27px !important;
  box-shadow: 0 4px 16px rgba(121, 154, 30, 0.24), 0 0 0 7px #ffffff !important;
}
.today-bottom-nav .today-nav-diagnose em {
  margin-top: -3px !important;
  color: #111513 !important;
  font-weight: 950 !important;
}
@media (max-width: 430px) {
  .brain-home .brain-phone > .today-brand-title {
    padding: 12px 20px 2px !important;
  }
  .brain-home .brain-phone > .today-brand-title strong {
    font-size: 23px !important;
  }
  .brain-home .brain-phone > .today-brand-title span {
    font-size: 10px !important;
    letter-spacing: 2px !important;
  }
  .brain-home .today-home {
    gap: 8px !important;
    padding: 6px 14px 10px !important;
  }
  .brain-home .today-top h1 {
    font-size: 20px !important;
  }
  .brain-home .today-search {
    min-height: 42px !important;
    grid-template-columns: 24px minmax(0, 1fr) 28px !important;
  }
  .brain-home .today-search span {
    font-size: 22px !important;
  }
  .brain-home .today-search em {
    font-size: 13px !important;
  }
  .brain-home .today-card-body {
    grid-template-columns: minmax(0, 1fr) 68px !important;
  }
  .brain-home .today-card-body h2 {
    font-size: 18px !important;
    line-height: 1.22 !important;
  }
  .brain-home .today-card-body p {
    font-size: 12px !important;
  }
  .brain-home .today-target-visual {
    width: 68px !important;
    height: 68px !important;
  }
  .brain-home .today-target-visual i {
    width: 46px !important;
    top: 31px !important;
  }
  .brain-home .today-metrics button {
    min-height: 58px !important;
  }
  .brain-home .today-metrics strong {
    font-size: 24px !important;
  }
  .brain-home .today-primary-button {
    min-height: 43px !important;
    font-size: 14px !important;
  }
  .brain-home .today-filter-tabs button {
    min-height: 31px !important;
    font-size: 12px !important;
  }
  .brain-home .today-core-grid button {
    min-height: 76px !important;
    padding: 9px !important;
  }
  .brain-home .today-core-grid span {
    font-size: 13px !important;
  }
  .brain-home .today-core-grid strong {
    font-size: 23px !important;
  }
  .brain-home .today-core-grid em {
    font-size: 10.5px !important;
  }
  .brain-home .today-confirm-strip span {
    font-size: 14px !important;
  }
  .today-bottom-nav {
    width: min(380px, calc(100vw - 20px)) !important;
    min-height: 64px !important;
    border-radius: 24px !important;
  }
  .today-bottom-nav span {
    font-size: 17px !important;
  }
  .today-bottom-nav em {
    font-size: 11px !important;
  }
  .today-bottom-nav .today-nav-diagnose span {
    width: 50px !important;
    height: 50px !important;
    font-size: 22px !important;
  }
}

/* Today home v3: one-screen mobile composition. */
.brain-home .brain-phone {
  height: min(var(--app-height), 100dvh) !important;
  min-height: 0 !important;
  padding-bottom: 74px !important;
}
.brain-home .brain-phone > .growth-system-title,
.brain-home .brain-phone > .me-accordion,
.brain-home .brain-phone > .customer-stats,
.brain-home .brain-phone > .me-profile-summary,
.brain-home .brain-phone > .brain-actions,
.brain-home .brain-phone > .brain-save-tip,
.brain-home .brain-phone > #adminPanel {
  display: none !important;
}
.brain-home .brain-phone > .today-home ~ * {
  display: none !important;
}
.brain-home .today-home {
  align-content: start !important;
  gap: 7px !important;
  padding: 5px 16px 8px !important;
  overflow: visible !important;
}
.brain-home .brain-phone > .today-brand-title {
  padding: 10px 22px 1px !important;
}
.brain-home .brain-phone > .today-brand-title strong {
  font-size: 23px !important;
}
.brain-home .brain-phone > .today-brand-title span {
  font-size: 10px !important;
  letter-spacing: 2px !important;
}
.brain-home .today-top {
  gap: 8px !important;
}
.brain-home .today-top h1 {
  font-size: 21px !important;
}
.brain-home .today-search {
  min-height: 40px !important;
  border-radius: 8px !important;
}
.brain-home .today-main-card {
  gap: 8px !important;
  padding: 0 10px 10px !important;
}
.brain-home .today-main-label,
.brain-home .today-main-label span {
  min-height: 34px !important;
}
.brain-home .today-main-label {
  margin: 0 -10px !important;
}
.brain-home .today-main-label span {
  padding: 0 20px 0 13px !important;
  font-size: 13px !important;
}
.brain-home .today-main-label button {
  font-size: 11px !important;
}
.brain-home .today-card-body {
  grid-template-columns: minmax(0, 1fr) 64px !important;
}
.brain-home .today-card-body h2 {
  margin-bottom: 4px !important;
  font-size: 19px !important;
}
.brain-home .today-card-body p {
  font-size: 12px !important;
}
.brain-home .today-target-visual {
  width: 62px !important;
  height: 62px !important;
}
.brain-home .today-target-visual span {
  inset: 23px !important;
}
.brain-home .today-target-visual i {
  width: 41px !important;
  height: 5px !important;
  top: 29px !important;
}
.brain-home .today-target-visual b {
  width: 14px !important;
  height: 14px !important;
  right: -5px !important;
  top: 16px !important;
}
.brain-home .today-metrics {
  gap: 6px !important;
}
.brain-home .today-metrics button {
  min-height: 52px !important;
  padding: 6px 3px !important;
}
.brain-home .today-metrics span {
  font-size: 11px !important;
}
.brain-home .today-metrics strong {
  font-size: 22px !important;
}
.brain-home .today-primary-button {
  min-height: 39px !important;
  font-size: 14px !important;
}
.brain-home .today-filter-tabs {
  padding: 3px !important;
}
.brain-home .today-filter-tabs button {
  min-height: 29px !important;
  font-size: 12px !important;
}
.brain-home .today-core-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
}
.brain-home .today-core-grid button,
.brain-home .today-home .today-core-grid button {
  min-height: 66px !important;
  padding: 8px !important;
}
.brain-home .today-core-grid button:last-child {
  grid-column: auto !important;
}
.brain-home .today-core-grid span {
  font-size: 12px !important;
}
.brain-home .today-core-grid strong {
  font-size: 21px !important;
}
.brain-home .today-core-grid em {
  font-size: 10px !important;
}
.brain-home .today-customer-list {
  gap: 0 !important;
}
.brain-home .today-customer-card:nth-child(n+2),
.brain-home .today-empty {
  display: none !important;
}
.brain-home .today-customer-card {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 3px 8px !important;
  padding: 8px 9px !important;
}
.brain-home .today-customer-card span {
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  padding: 5px 7px !important;
  font-size: 10px !important;
}
.brain-home .today-customer-card strong {
  font-size: 13px !important;
}
.brain-home .today-customer-card em {
  display: none !important;
}
.brain-home .today-customer-card p {
  font-size: 10.5px !important;
  line-height: 1.22 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.brain-home .today-confirm-strip {
  min-height: 48px !important;
  padding: 8px 12px !important;
}
.brain-home .today-confirm-strip span {
  font-size: 13px !important;
}
.brain-home .today-confirm-strip strong {
  font-size: 18px !important;
}
.brain-home .today-confirm-strip em {
  font-size: 10.5px !important;
}
.today-bottom-nav {
  min-height: 60px !important;
  padding: 6px 9px 5px !important;
  border-radius: 22px !important;
}
.today-bottom-nav button {
  min-height: 45px !important;
}
.today-bottom-nav span {
  width: 21px !important;
  height: 21px !important;
  font-size: 16px !important;
}
.today-bottom-nav em {
  font-size: 10.5px !important;
}
.today-bottom-nav .today-nav-diagnose {
  min-height: 56px !important;
  margin-top: -22px !important;
}
.today-bottom-nav .today-nav-diagnose span {
  width: 48px !important;
  height: 48px !important;
  font-size: 21px !important;
  box-shadow: 0 4px 14px rgba(121, 154, 30, 0.22), 0 0 0 6px #ffffff !important;
}

@media (max-width: 430px) {
  .brain-home .brain-phone {
    padding-bottom: 68px !important;
  }
  .brain-home .today-home {
    gap: 6px !important;
    padding: 4px 13px 7px !important;
  }
  .brain-home .brain-phone > .today-brand-title {
    padding: 8px 19px 0 !important;
  }
  .brain-home .brain-phone > .today-brand-title strong {
    font-size: 21px !important;
  }
  .brain-home .today-top h1 {
    font-size: 19px !important;
  }
  .brain-home .today-search {
    min-height: 38px !important;
  }
  .brain-home .today-card-body h2 {
    font-size: 18px !important;
  }
  .brain-home .today-primary-button {
    min-height: 37px !important;
  }
  .brain-home .today-core-grid button,
  .brain-home .today-home .today-core-grid button {
    min-height: 62px !important;
  }
  .today-bottom-nav {
    min-height: 58px !important;
  }
}

@media (max-height: 760px) {
  .brain-home .today-customer-list {
    display: none !important;
  }
  .brain-home .today-main-card {
    gap: 7px !important;
  }
  .brain-home .today-core-grid button,
  .brain-home .today-home .today-core-grid button {
    min-height: 58px !important;
  }
}

/* Today home v4: real-phone width and safe-area stabilization. */
.today-mic-icon,
.today-nav-icon {
  position: relative !important;
  display: inline-block !important;
  box-sizing: border-box !important;
  color: currentColor !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
.today-mic-icon,
.today-nav-mic {
  width: 18px !important;
  height: 22px !important;
}
.today-mic-icon::before,
.today-nav-mic::before {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 1px !important;
  width: 8px !important;
  height: 13px !important;
  border: 2px solid currentColor !important;
  border-radius: 999px !important;
}
.today-mic-icon::after,
.today-nav-mic::after {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 15px !important;
  width: 2px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  box-shadow: -5px -5px 0 -3px currentColor, 5px -5px 0 -3px currentColor, 0 6px 0 -0.5px currentColor !important;
}
.today-primary-button::before {
  content: "" !important;
  display: inline-block !important;
  position: relative !important;
  width: 16px !important;
  height: 21px !important;
  margin-right: 9px !important;
  color: #c9f45b !important;
  vertical-align: -5px !important;
  background:
    linear-gradient(currentColor, currentColor) 50% 100% / 2px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 50% calc(100% - 1px) / 11px 2px no-repeat !important;
  border: 2px solid currentColor !important;
  border-bottom-color: transparent !important;
  border-radius: 999px 999px 8px 8px !important;
}
.today-nav-home {
  width: 22px !important;
  height: 22px !important;
}
.today-nav-home::before,
.today-nav-home::after,
.today-nav-customer::before,
.today-nav-customer::after,
.today-nav-actions::before,
.today-nav-actions::after,
.today-nav-user::before,
.today-nav-user::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  box-sizing: border-box !important;
}
.today-nav-home::before {
  left: 4px !important;
  top: 3px !important;
  width: 14px !important;
  height: 14px !important;
  border-top: 2px solid currentColor !important;
  border-left: 2px solid currentColor !important;
  transform: rotate(45deg) !important;
}
.today-nav-home::after {
  left: 6px !important;
  top: 10px !important;
  width: 10px !important;
  height: 10px !important;
  border: 2px solid currentColor !important;
  border-top: 0 !important;
  border-radius: 2px !important;
}
.today-nav-customer,
.today-nav-user {
  width: 22px !important;
  height: 22px !important;
}
.today-nav-customer::before,
.today-nav-user::before {
  left: 7px !important;
  top: 3px !important;
  width: 8px !important;
  height: 8px !important;
  border: 2px solid currentColor !important;
  border-radius: 50% !important;
}
.today-nav-customer::after,
.today-nav-user::after {
  left: 4px !important;
  bottom: 2px !important;
  width: 14px !important;
  height: 9px !important;
  border: 2px solid currentColor !important;
  border-bottom: 0 !important;
  border-radius: 999px 999px 0 0 !important;
}
.today-nav-customer {
  transform: rotate(45deg) !important;
}
.today-nav-actions {
  width: 22px !important;
  height: 22px !important;
  background:
    linear-gradient(currentColor, currentColor) 5px 6px / 12px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 5px 11px / 12px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 5px 16px / 12px 2px no-repeat !important;
}
.today-nav-actions::before {
  left: 1px !important;
  top: 5px !important;
  width: 3px !important;
  height: 3px !important;
  border-radius: 50% !important;
  background: currentColor !important;
  box-shadow: 0 5px 0 currentColor, 0 10px 0 currentColor !important;
}

@media (max-width: 640px) {
  .workspace {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .brain-home {
    width: 100% !important;
    min-height: 100dvh !important;
    display: block !important;
    padding: 0 !important;
    background: #f6f8f6 !important;
  }
  .brain-home .brain-phone {
    width: min(100vw, 430px) !important;
    max-width: 430px !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 auto !important;
    padding: 0 0 calc(84px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #f8faf8 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
  }
  .brain-home .brain-phone::-webkit-scrollbar {
    display: none !important;
  }
  .brain-home .brain-phone > .today-brand-title {
    width: min(100% - 48px, 390px) !important;
    margin: 0 auto !important;
    padding: 18px 0 3px !important;
  }
  .brain-home .brain-phone > .today-brand-title strong {
    font-size: clamp(28px, 7.4vw, 34px) !important;
    line-height: 1.02 !important;
  }
  .brain-home .brain-phone > .today-brand-title span {
    font-size: clamp(12px, 3.1vw, 14px) !important;
    line-height: 1.15 !important;
    letter-spacing: 2px !important;
  }
  .brain-home .today-home {
    width: min(calc(100vw - 44px), 390px) !important;
    max-width: 390px !important;
    margin: 0 auto !important;
    gap: 8px !important;
    padding: 7px 16px calc(112px + env(safe-area-inset-bottom)) !important;
    background:
      radial-gradient(circle at 10% 0%, rgba(210, 239, 105, 0.58), transparent 29%),
      radial-gradient(circle at 88% 10%, rgba(243, 249, 219, 0.86), transparent 31%),
      #f5fbdf !important;
  }
  .brain-home .today-top {
    gap: 10px !important;
  }
  .brain-home .today-top h1 {
    font-size: clamp(24px, 6.2vw, 28px) !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
  }
  .brain-home .today-search {
    grid-template-columns: 26px minmax(0, 1fr) 30px !important;
    min-height: 44px !important;
    padding: 0 11px !important;
    border-width: 1.5px !important;
  }
  .brain-home .today-search span {
    font-size: 22px !important;
  }
  .brain-home .today-search em {
    font-size: clamp(14px, 3.8vw, 16px) !important;
    line-height: 1.2 !important;
  }
  .brain-home .today-search button {
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    font-size: 0 !important;
    color: #111513 !important;
  }
  .brain-home .today-main-card {
    gap: 8px !important;
    padding: 0 12px 10px !important;
    border-radius: 8px !important;
  }
  .brain-home .today-main-label,
  .brain-home .today-main-label span {
    min-height: 38px !important;
  }
  .brain-home .today-main-label {
    margin: 0 -12px !important;
  }
  .brain-home .today-main-label span {
    min-width: 128px !important;
    padding: 0 20px 0 14px !important;
    font-size: 16px !important;
  }
  .brain-home .today-main-label button {
    font-size: 14px !important;
    padding: 0 13px !important;
    white-space: nowrap !important;
  }
  .brain-home .today-card-body {
    grid-template-columns: minmax(0, 1fr) 66px !important;
    gap: 8px !important;
  }
  .brain-home .today-card-body h2 {
    margin-bottom: 5px !important;
    font-size: clamp(20px, 5.2vw, 23px) !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
  }
  .brain-home .today-card-body p {
    font-size: clamp(12.5px, 3.45vw, 14px) !important;
    line-height: 1.34 !important;
  }
  .brain-home .today-target-visual {
    width: 66px !important;
    height: 66px !important;
  }
  .brain-home .today-target-visual span {
    inset: 24px !important;
  }
  .brain-home .today-target-visual i {
    width: 44px !important;
    height: 5px !important;
    top: 31px !important;
    right: -4px !important;
  }
  .brain-home .today-target-visual b {
    width: 14px !important;
    height: 14px !important;
    right: -6px !important;
    top: 18px !important;
  }
  .brain-home .today-metrics {
    gap: 7px !important;
  }
  .brain-home .today-metrics button {
    min-height: 54px !important;
    padding: 6px 3px !important;
  }
  .brain-home .today-metrics span {
    font-size: clamp(11.5px, 3.05vw, 13px) !important;
    line-height: 1.15 !important;
  }
  .brain-home .today-metrics strong {
    font-size: clamp(25px, 6.7vw, 30px) !important;
  }
  .brain-home .today-primary-button {
    min-height: 42px !important;
    font-size: clamp(16px, 4.2vw, 17px) !important;
    border-radius: 8px !important;
  }
  .brain-home .today-filter-tabs {
    gap: 4px !important;
    padding: 4px !important;
    border-radius: 8px !important;
  }
  .brain-home .today-filter-tabs button {
    min-height: 31px !important;
    font-size: clamp(13px, 3.65vw, 15px) !important;
    white-space: nowrap !important;
  }
  .brain-home .today-core-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .brain-home .today-core-grid button,
  .brain-home .today-home .today-core-grid button {
    min-height: 74px !important;
    padding: 8px !important;
  }
  .brain-home .today-core-grid button:last-child {
    grid-column: auto !important;
    min-height: 74px !important;
  }
  .brain-home .today-core-grid span {
    font-size: clamp(12px, 3.25vw, 14px) !important;
  }
  .brain-home .today-core-grid strong {
    font-size: clamp(22px, 6vw, 28px) !important;
  }
  .brain-home .today-core-grid em {
    font-size: clamp(10px, 2.75vw, 12px) !important;
  }
  .brain-home .today-customer-card {
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 3px 8px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 5px 10px !important;
    overflow: hidden !important;
  }
  .brain-home .today-customer-card span {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    padding: 4px 7px !important;
    font-size: 11px !important;
  }
  .brain-home .today-customer-card strong {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .brain-home .today-customer-card p {
    display: none !important;
  }
  .brain-home .today-customer-card p:nth-of-type(n+2) {
    display: none !important;
  }
  .brain-home .today-confirm-strip {
    min-height: 54px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
  }
  .brain-home .today-confirm-strip span {
    font-size: clamp(14px, 3.75vw, 16px) !important;
  }
  .brain-home .today-confirm-strip strong {
    font-size: clamp(21px, 5.8vw, 25px) !important;
  }
  .brain-home .today-confirm-strip em {
    font-size: clamp(11px, 3vw, 13px) !important;
  }
  .today-bottom-nav {
    width: min(calc(100vw - 28px), 390px) !important;
    max-width: 390px !important;
    min-height: 68px !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    padding: 8px 10px 7px !important;
    border-radius: 26px !important;
  }
  .today-bottom-nav button {
    min-height: 50px !important;
  }
  .today-bottom-nav span {
    width: 23px !important;
    height: 23px !important;
    font-size: 0 !important;
  }
  .today-bottom-nav em {
    font-size: 12px !important;
  }
  .today-bottom-nav .today-nav-diagnose {
    min-height: 66px !important;
    margin-top: -27px !important;
  }
.today-bottom-nav .today-nav-diagnose span {
    width: 56px !important;
    height: 56px !important;
    font-size: 0 !important;
  }
  .today-bottom-nav .today-nav-diagnose .today-nav-mic::before {
    left: 21px !important;
    top: 13px !important;
    width: 14px !important;
    height: 21px !important;
  }
  .today-bottom-nav .today-nav-diagnose .today-nav-mic::after {
    left: 27px !important;
    top: 37px !important;
    height: 9px !important;
  }
}

@media (max-width: 390px) {
  .brain-home .today-home {
    width: min(calc(100vw - 34px), 360px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .brain-home .brain-phone > .today-brand-title {
    width: min(100% - 40px, 360px) !important;
  }
  .brain-home .today-card-body {
    grid-template-columns: minmax(0, 1fr) 66px !important;
  }
  .brain-home .today-target-visual {
    width: 66px !important;
    height: 66px !important;
  }
  .brain-home .today-card-body h2 {
    font-size: clamp(20px, 5.35vw, 22px) !important;
  }
  .today-bottom-nav {
    width: min(calc(100vw - 24px), 366px) !important;
  }
}

/* Today home v5: align phone typography scale with the existing customer pages. */
@media (max-width: 640px) {
  .brain-home .brain-phone {
    padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
  }
  .brain-home .brain-phone > .today-brand-title {
    width: min(calc(100% - 54px), 360px) !important;
    padding: 14px 0 2px !important;
  }
  .brain-home .brain-phone > .today-brand-title strong {
    font-size: clamp(24px, 6.25vw, 28px) !important;
    line-height: 1.02 !important;
  }
  .brain-home .brain-phone > .today-brand-title span {
    font-size: clamp(10px, 2.65vw, 12px) !important;
    letter-spacing: 1.6px !important;
  }
  .brain-home .today-home {
    width: min(calc(100vw - 56px), 360px) !important;
    max-width: 360px !important;
    gap: 7px !important;
    padding: 6px 13px calc(98px + env(safe-area-inset-bottom)) !important;
  }
  .brain-home .today-top {
    gap: 8px !important;
  }
  .brain-home .today-top h1 {
    font-size: clamp(19px, 5.1vw, 22px) !important;
    line-height: 1.12 !important;
  }
  .brain-home .today-search {
    grid-template-columns: 22px minmax(0, 1fr) 25px !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    border-width: 1.5px !important;
  }
  .brain-home .today-search span {
    font-size: 19px !important;
  }
  .brain-home .today-search em {
    font-size: clamp(12px, 3.2vw, 14px) !important;
    font-weight: 760 !important;
  }
  .brain-home .today-search button {
    width: 25px !important;
    height: 25px !important;
  }
  .today-mic-icon,
  .today-nav-mic {
    transform: scale(0.86) !important;
    transform-origin: center !important;
  }
  .brain-home .today-main-card {
    gap: 7px !important;
    padding: 0 10px 9px !important;
  }
  .brain-home .today-main-label {
    margin: 0 -10px !important;
  }
  .brain-home .today-main-label,
  .brain-home .today-main-label span {
    min-height: 34px !important;
  }
  .brain-home .today-main-label span {
    min-width: 118px !important;
    padding: 0 17px 0 12px !important;
    font-size: 14px !important;
  }
  .brain-home .today-main-label span::before {
    font-size: 14px !important;
    margin-right: 6px !important;
  }
  .brain-home .today-main-label button {
    font-size: 12px !important;
    padding: 0 11px !important;
  }
  .brain-home .today-card-body {
    grid-template-columns: minmax(0, 1fr) 58px !important;
    gap: 7px !important;
  }
  .brain-home .today-card-body h2 {
    font-size: clamp(17px, 4.55vw, 19px) !important;
    line-height: 1.18 !important;
    margin-bottom: 4px !important;
  }
  .brain-home .today-card-body p {
    font-size: clamp(11px, 2.95vw, 12.5px) !important;
    line-height: 1.28 !important;
  }
  .brain-home .today-target-visual {
    width: 58px !important;
    height: 58px !important;
  }
  .brain-home .today-target-visual span {
    inset: 21px !important;
  }
  .brain-home .today-target-visual i {
    width: 39px !important;
    height: 5px !important;
    top: 27px !important;
    right: -4px !important;
  }
  .brain-home .today-target-visual b {
    width: 12px !important;
    height: 12px !important;
    right: -5px !important;
    top: 15px !important;
  }
  .brain-home .today-metrics {
    gap: 6px !important;
  }
  .brain-home .today-metrics button {
    min-height: 47px !important;
    padding: 5px 3px !important;
  }
  .brain-home .today-metrics span {
    font-size: clamp(10px, 2.75vw, 11.5px) !important;
  }
  .brain-home .today-metrics strong {
    font-size: clamp(21px, 5.7vw, 25px) !important;
  }
  .brain-home .today-primary-button {
    min-height: 37px !important;
    font-size: clamp(13px, 3.55vw, 15px) !important;
  }
  .today-primary-button::before {
    width: 13px !important;
    height: 17px !important;
    margin-right: 7px !important;
    vertical-align: -4px !important;
  }
  .brain-home .today-filter-tabs {
    padding: 3px !important;
  }
  .brain-home .today-filter-tabs button {
    min-height: 29px !important;
    font-size: clamp(11px, 3vw, 12.5px) !important;
  }
  .brain-home .today-core-grid {
    gap: 6px !important;
  }
  .brain-home .today-core-grid button,
  .brain-home .today-home .today-core-grid button,
  .brain-home .today-core-grid button:last-child {
    min-height: 61px !important;
    padding: 7px !important;
  }
  .brain-home .today-core-grid span {
    font-size: clamp(10.5px, 2.85vw, 12px) !important;
  }
  .brain-home .today-core-grid strong {
    font-size: clamp(20px, 5.35vw, 24px) !important;
  }
  .brain-home .today-core-grid em {
    font-size: clamp(9px, 2.45vw, 10.5px) !important;
  }
  .brain-home .today-confirm-strip {
    min-height: 47px !important;
    padding: 7px 10px !important;
  }
  .brain-home .today-confirm-strip span {
    font-size: clamp(12px, 3.25vw, 14px) !important;
  }
  .brain-home .today-confirm-strip strong {
    font-size: clamp(18px, 4.85vw, 22px) !important;
  }
  .brain-home .today-confirm-strip em {
    font-size: clamp(9.5px, 2.55vw, 11px) !important;
  }
  .brain-home .today-customer-card {
    height: 34px !important;
    min-height: 34px !important;
    padding: 4px 8px !important;
  }
  .brain-home .today-customer-card span {
    font-size: 10px !important;
    padding: 3px 6px !important;
  }
  .brain-home .today-customer-card strong {
    font-size: 12px !important;
  }
  .today-bottom-nav {
    width: min(calc(100vw - 30px), 360px) !important;
    max-width: 360px !important;
    min-height: 61px !important;
    bottom: calc(8px + env(safe-area-inset-bottom)) !important;
    padding: 6px 9px 5px !important;
    border-radius: 23px !important;
  }
  .today-bottom-nav button {
    min-height: 48px !important;
  }
  .today-bottom-nav span {
    width: 20px !important;
    height: 20px !important;
  }
  .today-bottom-nav em {
    font-size: 11px !important;
    font-weight: 760 !important;
  }
  .today-bottom-nav .today-nav-diagnose {
    min-height: 58px !important;
    margin-top: -22px !important;
  }
  .today-bottom-nav .today-nav-diagnose span {
    width: 48px !important;
    height: 48px !important;
  }
  .today-bottom-nav .today-nav-diagnose .today-nav-mic::before {
    left: 17px !important;
    top: 10px !important;
    width: 12px !important;
    height: 19px !important;
  }
  .today-bottom-nav .today-nav-diagnose .today-nav-mic::after {
    left: 22px !important;
    top: 32px !important;
    height: 8px !important;
  }
}

@media (max-width: 390px) {
  .brain-home .today-home {
    width: min(calc(100vw - 44px), 346px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .brain-home .brain-phone > .today-brand-title {
    width: min(calc(100% - 52px), 346px) !important;
  }
  .today-bottom-nav {
    width: min(calc(100vw - 26px), 352px) !important;
  }
}

/* Today home v6: real-phone fixed scale; avoid viewport font inflation. */
@media (max-width: 640px) {
  .brain-home,
  .brain-home * {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  .brain-home .brain-phone {
    height: min(var(--app-height), 100dvh) !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }
  .brain-home .brain-phone > .today-brand-title {
    width: min(calc(100% - 52px), 352px) !important;
    padding: 12px 0 2px !important;
  }
  .brain-home .brain-phone > .today-brand-title strong {
    font-size: 22px !important;
    line-height: 1.03 !important;
    font-weight: 950 !important;
  }
  .brain-home .brain-phone > .today-brand-title span {
    font-size: 10px !important;
    line-height: 1.12 !important;
    letter-spacing: 1.6px !important;
  }
  .brain-home .today-home {
    width: min(calc(100vw - 48px), 352px) !important;
    max-width: 352px !important;
    gap: 7px !important;
    padding: 5px 12px calc(120px + env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
  }
  .brain-home .today-top {
    gap: 7px !important;
  }
  .brain-home .today-top h1 {
    font-size: 20px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }
  .brain-home .today-search {
    grid-template-columns: 20px minmax(0, 1fr) 24px !important;
    gap: 7px !important;
    min-height: 37px !important;
    padding: 0 10px !important;
    border-width: 1.5px !important;
    border-radius: 7px !important;
  }
  .brain-home .today-search span {
    font-size: 18px !important;
  }
  .brain-home .today-search em {
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 760 !important;
  }
  .brain-home .today-search button {
    width: 24px !important;
    height: 24px !important;
  }
  .brain-home .today-main-card {
    gap: 7px !important;
    padding: 0 10px 9px !important;
    overflow: hidden !important;
  }
  .brain-home .today-main-label {
    min-height: 33px !important;
    margin: 0 -10px !important;
  }
  .brain-home .today-main-label span {
    min-width: 116px !important;
    min-height: 33px !important;
    padding: 0 16px 0 12px !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }
  .brain-home .today-main-label span::before {
    font-size: 13px !important;
    margin-right: 6px !important;
  }
  .brain-home .today-main-label button {
    flex: 0 0 auto !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
  }
  .brain-home .today-card-body {
    grid-template-columns: minmax(0, 1fr) 54px !important;
    gap: 8px !important;
    align-items: center !important;
  }
  .brain-home .today-card-body > div:first-child {
    min-width: 0 !important;
    position: relative !important;
    z-index: 1 !important;
  }
  .brain-home .today-card-body h2 {
    max-width: 100% !important;
    margin: 0 0 4px !important;
    font-size: 18px !important;
    line-height: 1.16 !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }
  .brain-home .today-card-body p {
    font-size: 11.5px !important;
    line-height: 1.24 !important;
    white-space: normal !important;
  }
  .brain-home .today-target-visual {
    justify-self: end !important;
    width: 54px !important;
    height: 54px !important;
  }
  .brain-home .today-target-visual span {
    inset: 20px !important;
  }
  .brain-home .today-target-visual i {
    width: 36px !important;
    height: 5px !important;
    top: 25px !important;
    right: -3px !important;
  }
  .brain-home .today-target-visual b {
    width: 11px !important;
    height: 11px !important;
    right: -4px !important;
    top: 14px !important;
  }
  .brain-home .today-metrics {
    gap: 6px !important;
  }
  .brain-home .today-metrics button {
    min-height: 45px !important;
    padding: 5px 3px !important;
  }
  .brain-home .today-metrics span {
    font-size: 10.5px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
  }
  .brain-home .today-metrics strong {
    font-size: 23px !important;
    line-height: 1 !important;
  }
  .brain-home .today-primary-button {
    min-height: 36px !important;
    font-size: 14px !important;
    line-height: 1 !important;
  }
  .brain-home .today-filter-tabs {
    grid-template-columns: 0.78fr 1fr 1.24fr 1fr !important;
    gap: 4px !important;
    padding: 3px !important;
  }
  .brain-home .today-filter-tabs button {
    min-width: 0 !important;
    min-height: 29px !important;
    padding: 0 4px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }
  .brain-home .today-core-grid {
    gap: 6px !important;
  }
  .brain-home .today-core-grid button,
  .brain-home .today-home .today-core-grid button,
  .brain-home .today-core-grid button:last-child {
    min-height: 58px !important;
    padding: 7px !important;
  }
  .brain-home .today-core-grid span {
    font-size: 11.5px !important;
    line-height: 1.12 !important;
  }
  .brain-home .today-core-grid strong {
    font-size: 22px !important;
    line-height: 1 !important;
  }
  .brain-home .today-core-grid em {
    font-size: 10px !important;
    line-height: 1.15 !important;
  }
  .brain-home .today-confirm-strip {
    min-height: 48px !important;
    padding: 8px 10px !important;
  }
  .brain-home .today-confirm-strip span {
    font-size: 13px !important;
    line-height: 1.15 !important;
  }
  .brain-home .today-confirm-strip strong {
    font-size: 22px !important;
    line-height: 1 !important;
  }
  .brain-home .today-confirm-strip em {
    font-size: 10.5px !important;
    line-height: 1.15 !important;
  }
  .brain-home .today-customer-card {
    height: 34px !important;
    min-height: 34px !important;
    padding: 4px 8px !important;
  }
  .brain-home .today-customer-card span {
    font-size: 10px !important;
    padding: 3px 6px !important;
  }
  .brain-home .today-customer-card strong {
    font-size: 12px !important;
  }
  .today-bottom-nav {
    width: min(calc(100vw - 30px), 352px) !important;
    max-width: 352px !important;
    min-height: 62px !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    padding: 6px 9px 5px !important;
    border-radius: 24px !important;
  }
  .today-bottom-nav button {
    min-height: 48px !important;
  }
  .today-bottom-nav span {
    width: 20px !important;
    height: 20px !important;
  }
  .today-bottom-nav em {
    font-size: 11px !important;
    line-height: 1.05 !important;
  }
  .today-bottom-nav .today-nav-diagnose {
    min-height: 58px !important;
    margin-top: -22px !important;
  }
  .today-bottom-nav .today-nav-diagnose span {
    width: 48px !important;
    height: 48px !important;
  }
}

@media (max-width: 390px) {
  .brain-home .today-home {
    width: min(calc(100vw - 44px), 346px) !important;
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
  .brain-home .brain-phone > .today-brand-title {
    width: min(calc(100% - 52px), 346px) !important;
  }
  .brain-home .today-card-body {
    grid-template-columns: minmax(0, 1fr) 50px !important;
  }
  .brain-home .today-card-body h2 {
    font-size: 17px !important;
  }
  .brain-home .today-target-visual {
    width: 50px !important;
    height: 50px !important;
  }
  .brain-home .today-target-visual span {
    inset: 18px !important;
  }
  .brain-home .today-target-visual i {
    width: 34px !important;
    top: 23px !important;
  }
  .today-bottom-nav {
    width: min(calc(100vw - 26px), 348px) !important;
  }
}

/* Today home v7: make "who to follow today" the primary surface. */
@media (max-width: 640px) {
  .brain-home .brain-phone {
    padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important;
  }
  .brain-home .brain-phone > .today-brand-title {
    display: none !important;
  }
  .brain-home .today-home {
    width: min(calc(100vw - 34px), 360px) !important;
    max-width: 360px !important;
    gap: 8px !important;
    padding: 12px 11px calc(86px + env(safe-area-inset-bottom)) !important;
  }
  .brain-home .today-top {
    gap: 6px !important;
  }
  .brain-home .today-top h1 {
    font-size: 20px !important;
    line-height: 1.16 !important;
    text-align: left !important;
    white-space: normal !important;
  }
  .brain-home .today-top p {
    display: block !important;
    margin: 0 !important;
    color: #5e6963 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 780 !important;
  }
  .brain-home .today-search {
    min-height: 35px !important;
    margin-top: 2px !important;
  }
  .brain-home .today-search em {
    font-size: 12px !important;
  }
  .brain-home .today-main-card {
    gap: 7px !important;
    padding: 0 8px 8px !important;
    box-shadow: 0 7px 18px rgba(15, 21, 18, 0.07) !important;
  }
  .brain-home .today-main-label,
  .brain-home .today-main-label span {
    min-height: 30px !important;
  }
  .brain-home .today-main-label {
    margin: 0 -8px !important;
  }
  .brain-home .today-main-label span {
    min-width: 104px !important;
    padding: 0 14px 0 10px !important;
    font-size: 12px !important;
  }
  .brain-home .today-main-label button {
    font-size: 11px !important;
  }
  .brain-home .today-card-body {
    display: none !important;
  }
  .brain-home .today-metrics {
    gap: 6px !important;
  }
  .brain-home .today-metrics button {
    min-height: 40px !important;
    padding: 5px 3px !important;
  }
  .brain-home .today-metrics span {
    font-size: 10.5px !important;
    line-height: 1.05 !important;
  }
  .brain-home .today-metrics strong {
    font-size: 21px !important;
  }
  .brain-home .today-primary-button {
    display: none !important;
  }
  .brain-home .today-filter-tabs {
    order: 3 !important;
    grid-template-columns: 0.72fr 1fr 1.24fr 0.92fr !important;
    gap: 4px !important;
    padding: 3px !important;
  }
  .brain-home .today-filter-tabs button {
    min-height: 28px !important;
    font-size: 11.5px !important;
    padding: 0 4px !important;
  }
  .brain-home .today-customer-list {
    order: 4 !important;
    display: grid !important;
    gap: 7px !important;
  }
  .brain-home .today-customer-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 5px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 9px 10px !important;
    border: 1px solid #dfe8df !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #111513 !important;
    text-align: left !important;
    box-shadow: 0 6px 14px rgba(20, 30, 23, 0.05) !important;
  }
  .brain-home .today-customer-card:nth-child(n+2) {
    display: grid !important;
  }
  .brain-home .today-customer-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-width: 0 !important;
  }
  .brain-home .today-customer-head strong {
    min-width: 0 !important;
    color: #101714 !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .brain-home .today-customer-head span {
    flex: 0 0 auto !important;
    padding: 3px 7px !important;
    border-radius: 999px !important;
    background: #e7f6bf !important;
    color: #5d8300 !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }
  .brain-home .today-customer-card em {
    display: block !important;
    color: #66726c !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    font-style: normal !important;
    font-weight: 760 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .brain-home .today-customer-card p {
    display: block !important;
    margin: 0 !important;
    color: #27342d !important;
    font-size: 11.5px !important;
    line-height: 1.28 !important;
    font-weight: 760 !important;
    white-space: normal !important;
  }
  .brain-home .today-customer-card p b {
    display: inline-block !important;
    margin-right: 5px !important;
    color: #1f6f4a !important;
    font-weight: 950 !important;
  }
  .brain-home .today-customer-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    margin-top: 2px !important;
  }
  .brain-home .today-customer-actions button {
    min-height: 28px !important;
    border: 1px solid #cfe3d4 !important;
    border-radius: 7px !important;
    background: #f6fbf2 !important;
    color: #1f6f4a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }
  .brain-home .today-customer-actions button:first-child {
    border-color: #101714 !important;
    background: #101714 !important;
    color: #ffffff !important;
  }
  .brain-home .today-empty {
    min-height: 58px !important;
    padding: 13px !important;
    border: 1px solid #dfe8df !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,0.86) !important;
    color: #59665f !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
  }
  .brain-home .today-core-grid {
    order: 5 !important;
    gap: 6px !important;
  }
  .brain-home .today-core-grid button,
  .brain-home .today-home .today-core-grid button,
  .brain-home .today-core-grid button:last-child {
    min-height: 48px !important;
    padding: 6px !important;
  }
  .brain-home .today-core-grid span {
    font-size: 10.5px !important;
  }
  .brain-home .today-core-grid strong {
    font-size: 18px !important;
  }
  .brain-home .today-core-grid em {
    font-size: 9.5px !important;
  }
  .brain-home .today-confirm-strip {
    order: 6 !important;
    min-height: 42px !important;
    padding: 7px 9px !important;
  }
  .today-bottom-nav {
    display: none !important;
  }
  .today-bottom-nav button,
  .today-bottom-nav .today-nav-diagnose {
    min-height: 40px !important;
    margin-top: 0 !important;
  }
  .today-bottom-nav span,
  .today-bottom-nav .today-nav-diagnose span {
    width: 17px !important;
    height: 17px !important;
  }
  .today-bottom-nav em {
    font-size: 9.5px !important;
  }
  .today-bottom-nav .today-nav-diagnose span {
    background: transparent !important;
    box-shadow: none !important;
  }
  .today-bottom-nav .today-nav-diagnose .today-nav-mic::before {
    left: 5px !important;
    top: 1px !important;
    width: 7px !important;
    height: 12px !important;
  }
  .today-bottom-nav .today-nav-diagnose .today-nav-mic::after {
    left: 8px !important;
    top: 13px !important;
    height: 5px !important;
  }
}

@media (max-width: 390px) {
  .brain-home .today-home {
    width: min(calc(100vw - 30px), 350px) !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .brain-home .today-top h1 {
    font-size: 19px !important;
  }
  .brain-home .today-customer-card {
    padding: 8px 9px !important;
  }
  .today-bottom-nav {
    width: min(calc(100vw - 44px), 326px) !important;
  }
}

/* Customer chat detail v1: immersive conversation page, no global nav. */
.customer-chat-home .customer-chat-phone {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  height: min(var(--app-height), 100dvh) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(205, 236, 94, 0.42), transparent 31%),
    radial-gradient(circle at 76% 0%, rgba(240, 250, 205, 0.72), transparent 30%),
    #f7faef !important;
}
.customer-chat-home .communication-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 74px !important;
  padding: calc(10px + env(safe-area-inset-top)) 14px 10px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-back,
.customer-chat-home .chat-icon-button {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.72) !important;
  color: #121613 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
}
.customer-chat-home .chat-profile-button {
  font-size: 24px !important;
}
.customer-chat-title-block {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
  text-align: center !important;
}
.customer-chat-home .chat-head h1 {
  margin: 0 !important;
  color: #101411 !important;
  font-size: 20px !important;
  line-height: 1.12 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-title-block p {
  margin: 0 !important;
  color: #657167 !important;
  font-size: 11.5px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .diagnosis-advisor-top,
.customer-chat-home .communication-action-bar,
.customer-chat-home .app-bottom-nav {
  display: none !important;
}
.customer-chat-home .chat-thread {
  min-height: 0 !important;
  height: auto !important;
  overflow-y: auto !important;
  padding: 10px 14px 12px !important;
  display: grid !important;
  align-content: start !important;
  gap: 11px !important;
  background: rgba(255,255,255,0.72) !important;
  border-radius: 18px 18px 0 0 !important;
  margin: 0 10px !important;
}
.customer-chat-home .chat-empty-hint {
  justify-self: start !important;
  max-width: 82% !important;
  padding: 11px 12px !important;
  border: 1px solid #e1efcf !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.92) !important;
  color: #415046 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 760 !important;
}
.customer-chat-home .chat-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
}
.customer-chat-home .chat-row.user {
  justify-content: flex-end !important;
}
.customer-chat-home .chat-row.bot {
  justify-content: flex-start !important;
}
.customer-chat-home .chat-avatar {
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
  display: grid !important;
  place-items: center !important;
  background: #b9ef3d !important;
  color: #111711 !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}
.customer-chat-home .chat-row.user .chat-avatar {
  order: 2 !important;
  background: #111711 !important;
  color: #c9f65e !important;
}
.customer-chat-home .chat-bubble {
  box-sizing: border-box !important;
  max-width: min(83%, 315px) !important;
  min-width: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #dceccd !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,0.95) !important;
  color: #17201a !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
  font-weight: 780 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-row.user .chat-bubble {
  border-color: #111711 !important;
  border-radius: 13px 4px 13px 13px !important;
  background: #111711 !important;
  color: #ffffff !important;
}
.customer-chat-home .chat-system-bubble {
  color: #344139 !important;
  font-size: 13px !important;
  font-weight: 780 !important;
}
.customer-chat-home .strategy-bubble {
  max-width: min(88%, 330px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.customer-chat-home .chat-advice-list {
  display: grid !important;
  gap: 9px !important;
}
.customer-chat-home .chat-advice-card {
  display: grid !important;
  gap: 8px !important;
  padding: 12px !important;
  border: 1px solid #d9efc8 !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(246,255,224,0.94)) !important;
  color: #17201a !important;
}
.customer-chat-home .chat-advice-card > p {
  margin: 0 !important;
  color: #17201a !important;
  font-size: 15px !important;
  line-height: 1.38 !important;
  font-weight: 950 !important;
}
.customer-chat-home .chat-advice-body {
  color: #4f5f55 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 780 !important;
}
.customer-chat-home .chat-advice-card > button {
  justify-self: start !important;
  min-height: 30px !important;
  padding: 0 13px !important;
  border: 1px solid #b9df87 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #5a8500 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}
.customer-chat-home .chat-advice-card > button::after {
  content: "鈱? !important;
  margin-left: 4px !important;
}
.customer-chat-home .chat-advice-card.is-open > button::after {
  content: "鈱? !important;
}
.customer-chat-home .chat-advice-detail {
  display: none !important;
  gap: 7px !important;
  padding: 10px !important;
  border: 1px solid #e2eadf !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}
.customer-chat-home .chat-advice-card.is-open .chat-advice-detail {
  display: grid !important;
}
.customer-chat-home .chat-advice-detail div {
  display: grid !important;
  gap: 3px !important;
}
.customer-chat-home .chat-advice-detail strong {
  color: #5a8500 !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}
.customer-chat-home .chat-advice-detail span {
  color: #2d392f !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 760 !important;
}
.customer-chat-home .customer-dialog-input {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 6 !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 54px !important;
  gap: 7px !important;
  align-items: end !important;
  min-height: 58px !important;
  padding: 8px 12px calc(8px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid rgba(216, 227, 216, 0.92) !important;
  background: rgba(248,250,244,0.96) !important;
}
.customer-chat-home .customer-dialog-input textarea {
  min-height: 38px !important;
  max-height: 108px !important;
  padding: 9px 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #edf2e8 !important;
  color: #17201a !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  resize: none !important;
  outline: none !important;
}
.customer-chat-home .customer-dialog-input button {
  height: 38px !important;
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #1a221d !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}
.customer-chat-home .customer-dialog-input #customerChatSendButton {
  background: #111711 !important;
  color: #c9f65e !important;
}
.customer-chat-home .customer-dialog-input .chat-voice-button {
  display: grid !important;
  place-items: center !important;
}
.customer-chat-home .customer-dialog-input .today-mic-icon {
  transform: scale(0.8) !important;
}
.customer-chat-home .customer-dialog-input .chat-image-button {
  display: none !important;
}

/* Diagnosis scope fix: compact mobile sheet and stable bottom actions. */
.customer-chat-home .communication-action-bar {
  grid-template-columns: 42px minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 7px !important;
  align-items: center !important;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
  background: rgba(255, 255, 255, 0.98) !important;
}
.customer-chat-home .communication-action-bar > .communication-back-button {
  width: 42px !important;
  min-width: 42px !important;
  height: 38px !important;
  min-height: 38px !important;
}
.customer-chat-home .communication-action-bar > .communication-update-button,
.customer-chat-home .communication-action-bar > .communication-add-button {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 8px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}
.customer-chat-home .communication-diagnosis-panel {
  left: 50% !important;
  right: auto !important;
  bottom: calc(100% + 8px) !important;
  transform: translateX(-50%) !important;
  width: min(336px, calc(100vw - 34px)) !important;
  max-width: min(336px, calc(100vw - 34px)) !important;
  max-height: min(calc(100dvh - 180px), 390px) !important;
  padding: 10px !important;
  gap: 7px !important;
  border-radius: 14px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.16) !important;
}
.customer-chat-home .communication-diagnosis-head {
  gap: 6px !important;
}
.customer-chat-home .communication-diagnosis-head strong {
  font-size: 15px !important;
  font-weight: 800 !important;
}
.customer-chat-home .communication-diagnosis-head button:not(.voice-narration-toggle) {
  width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  font-size: 17px !important;
}
.customer-chat-home .communication-diagnosis-panel p {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
.customer-chat-home .communication-voice-status {
  min-height: 32px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
}
.customer-chat-home #communicationDiagnosisText {
  min-height: 58px !important;
  max-height: 94px !important;
  padding: 8px 9px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
}
.customer-chat-home .communication-diagnosis-actions {
  gap: 6px !important;
}
.customer-chat-home .communication-diagnosis-actions button {
  min-height: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
}
.customer-chat-home .communication-diagnosis-entry-list {
  gap: 5px !important;
  padding-top: 6px !important;
}
.customer-chat-home .communication-diagnosis-material-state.compact-sheet-head {
  gap: 2px !important;
  padding: 0 2px 6px !important;
}
.customer-chat-home .communication-diagnosis-material-state.compact-sheet-head strong {
  font-size: 15px !important;
}
.customer-chat-home .communication-diagnosis-material-state.compact-sheet-head span {
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.customer-chat-home .communication-diagnosis-entry-list > .compact-sheet-row,
.customer-chat-home .communication-diagnosis-entry-list button {
  min-height: 36px !important;
  padding: 7px 9px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
}
.customer-chat-home .communication-diagnosis-entry-list > .compact-sheet-row em,
.customer-chat-home .communication-diagnosis-entry-list button em {
  max-width: 120px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}
.customer-chat-home .communication-add-menu,
.customer-chat-home .communication-add-menu.compact-action-sheet {
  width: min(340px, calc(100vw - 38px)) !important;
  max-width: min(340px, calc(100vw - 38px)) !important;
  max-height: min(calc(100dvh - 180px), 360px) !important;
  padding: 10px !important;
  gap: 6px !important;
  border-radius: 14px !important;
}
.customer-chat-home .communication-add-menu-head strong,
.customer-chat-home .compact-sheet-head strong {
  font-size: 15px !important;
}
.customer-chat-home .communication-add-menu-head span,
.customer-chat-home .compact-sheet-head span {
  font-size: 12px !important;
}
.customer-chat-home .communication-add-menu > button,
.customer-chat-home .communication-add-menu > button[data-communication-add="purpose"] {
  min-height: 38px !important;
  padding: 7px 9px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
}
.customer-chat-home .communication-add-menu > button em {
  font-size: 11px !important;
}
@media (max-width: 360px) {
  .customer-chat-home .communication-action-bar {
    grid-template-columns: 40px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .customer-chat-home .communication-action-bar > .communication-update-button,
  .customer-chat-home .communication-action-bar > .communication-add-button {
    padding: 0 6px !important;
    font-size: 13px !important;
  }
  .customer-chat-home .communication-diagnosis-panel {
    width: min(320px, calc(100vw - 24px)) !important;
    max-height: min(calc(100dvh - 170px), 370px) !important;
  }
}

/* Communication entry split: return / update profile / diagnosis */
.customer-chat-home .communication-action-bar {
  grid-template-columns: 42px minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
}

.customer-chat-home .communication-action-bar > .communication-update-button,
.customer-chat-home .communication-action-bar > .communication-add-button {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  touch-action: manipulation !important;
}

.customer-chat-home .communication-action-bar > .communication-update-button {
  border: 1px solid rgba(33, 192, 99, 0.36) !important;
  background: #f3fbf6 !important;
  color: #178a45 !important;
}

.customer-chat-home .communication-action-bar > .communication-add-button {
  border: 0 !important;
  background: #21c063 !important;
  color: #ffffff !important;
}

.customer-chat-home .communication-add-menu.compact-action-sheet {
  width: min(342px, calc(100vw - 32px)) !important;
  max-height: min(58dvh, 420px) !important;
  padding: 10px !important;
  gap: 6px !important;
}

.customer-chat-home .communication-add-menu-head strong,
.customer-chat-home .compact-sheet-head strong {
  font-size: 16px !important;
  line-height: 1.25 !important;
}

.customer-chat-home .communication-add-menu-head span,
.customer-chat-home .compact-sheet-head span {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.customer-chat-home .communication-add-menu.compact-action-sheet > .compact-sheet-row,
.customer-chat-home .communication-diagnosis-entry-list > .compact-sheet-row {
  min-height: 38px !important;
  padding: 7px 10px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  gap: 10px !important;
}

.customer-chat-home .compact-sheet-row span {
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.customer-chat-home .compact-sheet-row em {
  flex: 0 0 auto !important;
  max-width: 42% !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

.customer-chat-home .communication-update-profile-action {
  margin-top: 4px !important;
  border-color: rgba(33, 192, 99, 0.38) !important;
  background: #ecfbf1 !important;
  color: #157a3c !important;
}

.customer-chat-home .communication-update-profile-action span {
  font-weight: 850 !important;
}

.customer-chat-home .communication-profile-status {
  position: static !important;
  justify-self: start !important;
  display: inline-flex !important;
  max-width: calc(100% - 82px) !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
  background: #f3f6f4 !important;
  color: #748078 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-style: normal !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.customer-chat-home .communication-profile-status.is-pending {
  background: #fff7ed !important;
  color: #b45309 !important;
}

.customer-chat-home .communication-profile-status.is-updated {
  background: #ecfdf3 !important;
  color: #18864a !important;
}

@media (max-width: 360px) {
  .customer-chat-home .communication-action-bar {
    grid-template-columns: 40px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 6px !important;
  }
  .customer-chat-home .communication-action-bar > .communication-update-button,
  .customer-chat-home .communication-action-bar > .communication-add-button {
    padding: 0 7px !important;
    font-size: 13px !important;
  }
}

/* Strategy collaboration sync center */
.strategy-sync-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
}
.strategy-sync-tabs button,
.strategy-sync-file-actions button,
.strategy-sync-upload button {
  min-height: 34px !important;
  border: 1px solid #dfe9e4 !important;
  border-radius: 8px !important;
  background: #f8fbf9 !important;
  color: #52635a !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.strategy-sync-tabs button.active {
  border-color: #bce7c8 !important;
  background: #eaf8ee !important;
  color: #168346 !important;
}
.strategy-sync-status {
  min-height: 26px !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  background: #f6f8f7 !important;
  color: #66756d !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.strategy-sync-status.is-error {
  background: #fff7ed !important;
  color: #b45309 !important;
}
.strategy-sync-status.is-success {
  background: #eefaf2 !important;
  color: #168346 !important;
}
.strategy-sync-list {
  display: grid !important;
  gap: 7px !important;
}
.strategy-sync-file {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px !important;
  border: 1px solid #e5ece8 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
}
.strategy-sync-file strong,
.strategy-sync-file span {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.strategy-sync-file strong {
  color: #1f3128 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.strategy-sync-file span {
  margin-top: 2px !important;
  color: #7a8880 !important;
  font-size: 12px !important;
}
.strategy-sync-file-actions {
  display: flex !important;
  gap: 5px !important;
}
.strategy-sync-file-actions button {
  min-height: 30px !important;
  padding: 0 8px !important;
}
.strategy-sync-preview {
  display: grid !important;
  gap: 6px !important;
  padding: 8px !important;
  border: 1px solid #e5ece8 !important;
  border-radius: 9px !important;
  background: #fbfdfc !important;
}
.strategy-sync-preview[hidden] {
  display: none !important;
}
.strategy-sync-preview strong {
  color: #1f3128 !important;
  font-size: 14px !important;
}
.strategy-sync-preview pre {
  max-height: 180px !important;
  margin: 0 !important;
  overflow: auto !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  color: #344139 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}
.strategy-sync-upload {
  display: grid !important;
  gap: 7px !important;
  padding-top: 8px !important;
  border-top: 1px solid #edf2ef !important;
}
.strategy-sync-upload input,
.strategy-sync-upload textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  border: 1px solid #dfe9e4 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #1f3128 !important;
  font-size: 13px !important;
}
.strategy-sync-upload input {
  min-height: 36px !important;
  padding: 0 10px !important;
}

.strategy-sync-token {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 36px !important;
  margin: 8px 0 10px !important;
  padding: 0 10px !important;
  border: 1px solid #dfe9e4 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #1f3128 !important;
  font-size: 13px !important;
}

.strategy-sync-upload textarea {
  min-height: 108px !important;
  padding: 8px 10px !important;
  line-height: 1.45 !important;
  resize: vertical !important;
}
.strategy-sync-upload button {
  background: #21c063 !important;
  color: #fff !important;
  border-color: #21c063 !important;
}
@media (max-width: 380px) {
  .strategy-sync-file {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .strategy-sync-file-actions {
    justify-content: flex-end !important;
  }
}

/* Communication compact action sheet: final mobile standard for material actions. */
.customer-chat-home .compact-action-sheet,
.customer-chat-home .communication-add-menu.compact-action-sheet {
  left: 50% !important;
  right: auto !important;
  bottom: calc(100% + 8px) !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  width: min(342px, calc(100vw - 48px)) !important;
  max-width: min(342px, calc(100vw - 48px)) !important;
  max-height: min(46dvh, 318px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 5px !important;
  padding: 10px !important;
  border: 1px solid rgba(221, 231, 226, 0.98) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.13) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}
.customer-chat-home .communication-add-menu.compact-action-sheet[hidden] {
  display: none !important;
}
.customer-chat-home .compact-sheet-head,
.customer-chat-home .communication-add-menu-head.compact-sheet-head,
.customer-chat-home .communication-diagnosis-material-state.compact-sheet-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 2px !important;
  min-width: 0 !important;
  padding: 0 2px 6px !important;
  border-bottom: 1px solid #eef3f0 !important;
  color: #718078 !important;
  font-size: 13px !important;
  line-height: 1.28 !important;
  font-weight: 500 !important;
}
.customer-chat-home .compact-sheet-head strong {
  color: #1f3128 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
.customer-chat-home .compact-sheet-head span {
  min-width: 0 !important;
  color: #728078 !important;
  font-size: 13px !important;
  line-height: 1.28 !important;
  font-weight: 500 !important;
  white-space: normal !important;
}
.customer-chat-home .communication-diagnosis-entry-list {
  gap: 5px !important;
  padding-top: 6px !important;
}
.customer-chat-home .compact-sheet-row,
.customer-chat-home .communication-add-menu.compact-action-sheet > .compact-sheet-row,
.customer-chat-home .communication-diagnosis-entry-list > .compact-sheet-row {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 39px !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
  column-gap: 10px !important;
  padding: 7px 10px !important;
  border: 1px solid #e4ece8 !important;
  border-radius: 10px !important;
  background: #fbfdfc !important;
  color: #1f3128 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  text-align: left !important;
  white-space: normal !important;
}
.customer-chat-home .compact-sheet-row span,
.customer-chat-home .compact-sheet-row em {
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}
.customer-chat-home .compact-sheet-row span {
  overflow-wrap: anywhere !important;
}
.customer-chat-home .compact-sheet-row em {
  color: #7a8880 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-style: normal !important;
  font-weight: 500 !important;
  text-align: right !important;
}
.customer-chat-home .communication-diagnosis-entry-list > .compact-sheet-row[data-diagnosis-entry="analyze"] {
  border-color: #cbeed4 !important;
  background: #f1fbf4 !important;
  color: #168346 !important;
}
@media (max-width: 380px) {
  .customer-chat-home .compact-action-sheet,
  .customer-chat-home .communication-add-menu.compact-action-sheet {
    width: min(324px, calc(100vw - 32px)) !important;
    max-height: min(48dvh, 304px) !important;
    padding: 9px !important;
  }
  .customer-chat-home .compact-sheet-head strong {
    font-size: 17px !important;
  }
  .customer-chat-home .compact-sheet-row,
  .customer-chat-home .communication-add-menu.compact-action-sheet > .compact-sheet-row,
  .customer-chat-home .communication-diagnosis-entry-list > .compact-sheet-row {
    min-height: 38px !important;
    padding: 7px 9px !important;
    font-size: 15px !important;
  }
  .customer-chat-home .compact-sheet-row em {
    font-size: 12px !important;
  }
}

/* Customer diagnosis entry v1 */
.customer-chat-home .communication-action-bar {
  grid-template-columns: 44px minmax(0, 1fr) !important;
}
.customer-chat-home .communication-analyze-button {
  display: none !important;
}
.customer-chat-home .communication-action-bar > .communication-add-button {
  min-height: 40px !important;
  height: 40px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #21c063 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
.customer-chat-home .communication-diagnosis-panel {
  position: absolute !important;
  left: 50% !important;
  bottom: calc(100% + 10px) !important;
  transform: translateX(-50%) !important;
  z-index: 125 !important;
  box-sizing: border-box !important;
  width: min(336px, calc(100vw - 34px)) !important;
  max-height: min(54dvh, 430px) !important;
  overflow-y: auto !important;
  display: grid !important;
  gap: 8px !important;
  padding: 12px !important;
  border: 1px solid rgba(214, 226, 220, 0.96) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.14) !important;
}
.customer-chat-home .communication-diagnosis-panel[hidden] {
  display: none !important;
}
.customer-chat-home .communication-diagnosis-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
.customer-chat-home .communication-diagnosis-head strong {
  color: #1f3128 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
}
.customer-chat-home .communication-diagnosis-head button {
  width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f2f6f4 !important;
  color: #78867f !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
.customer-chat-home .voice-narration-toggle {
  min-width: 0 !important;
  display: inline-grid !important;
  grid-template-columns: 20px auto !important;
  align-items: center !important;
  gap: 4px !important;
  margin-left: auto !important;
  width: auto !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 8px !important;
  border: 1px solid #dce9e2 !important;
  border-radius: 999px !important;
  background: #f7fbf8 !important;
  color: #506158 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  user-select: none !important;
  cursor: pointer !important;
}
.customer-chat-home .voice-narration-toggle.is-on {
  border-color: #bce7c8 !important;
  background: #effaf2 !important;
  color: #12a553 !important;
}
.customer-chat-home .voice-narration-toggle.is-off {
  color: #7f8a84 !important;
}
.customer-chat-home .voice-narration-toggle.is-unsupported,
.customer-chat-home .voice-narration-toggle:disabled {
  border-color: #e2e7e4 !important;
  background: #f4f6f5 !important;
  color: #a0aaa4 !important;
  cursor: default !important;
}
.customer-chat-home .voice-narration-icon {
  width: 20px !important;
  height: 20px !important;
  display: inline-grid !important;
  place-items: center !important;
  color: currentColor !important;
}
.customer-chat-home .voice-narration-icon svg {
  width: 19px !important;
  height: 19px !important;
  display: block !important;
}
.customer-chat-home .voice-narration-toggle .voice-icon-on {
  display: none !important;
}
.customer-chat-home .voice-narration-toggle .voice-icon-off {
  display: block !important;
}
.customer-chat-home .voice-narration-toggle.is-on .voice-icon-on {
  display: block !important;
}
.customer-chat-home .voice-narration-toggle.is-on .voice-icon-off {
  display: none !important;
}
.customer-chat-home .voice-narration-toggle em {
  color: #7c8a82 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
.customer-chat-home .voice-narration-toggle.is-on em {
  color: #118343 !important;
}
.customer-chat-home .voice-narration-toggle.is-unsupported em {
  color: #9aa5a0 !important;
}
.customer-chat-home .communication-diagnosis-panel p {
  margin: 0 !important;
  color: #66756d !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.customer-chat-home .communication-voice-status {
  min-height: 36px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 11px !important;
  border-radius: 10px !important;
  background: #edf9f0 !important;
  color: #23814a !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.customer-chat-home #communicationDiagnosisText {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 68px !important;
  max-height: 108px !important;
  padding: 9px 10px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 10px !important;
  background: #fbfdfc !important;
  color: #1f2a33 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  resize: vertical !important;
}
.customer-chat-home .communication-diagnosis-tip {
  color: #b45309 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.customer-chat-home .communication-diagnosis-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}
.customer-chat-home .communication-diagnosis-actions button {
  min-width: 0 !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 6px !important;
  border: 1px solid #dce9e2 !important;
  border-radius: 9px !important;
  background: #f8fbf9 !important;
  color: #1f3128 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.customer-chat-home .communication-diagnosis-actions button:first-child {
  border-color: #bce7c8 !important;
  background: #21c063 !important;
  color: #ffffff !important;
}
.customer-chat-home .communication-diagnosis-entry-list {
  display: grid !important;
  gap: 6px !important;
  padding-top: 8px !important;
  border-top: 1px solid #edf2ef !important;
}
.customer-chat-home .communication-diagnosis-material-state {
  color: #718078 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}
.customer-chat-home .communication-diagnosis-entry-list button {
  min-height: 38px !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 10px !important;
  border: 1px solid #e0e9e4 !important;
  border-radius: 9px !important;
  background: #fbfdfc !important;
  color: #24332b !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-align: left !important;
}
.customer-chat-home .communication-diagnosis-entry-list button[data-diagnosis-entry="analyze"] {
  border-color: #bce7c8 !important;
  background: #effaf2 !important;
  color: #118343 !important;
}
.customer-chat-home .communication-diagnosis-entry-list button:disabled {
  opacity: 0.62 !important;
}
.customer-chat-home .communication-diagnosis-entry-list button span {
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.customer-chat-home .communication-diagnosis-entry-list button em {
  color: #7c8a82 !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.customer-chat-home .communication-temp-customer-notice {
  grid-column: 1 / -1 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 4px 8px !important;
  align-items: center !important;
  margin-top: 8px !important;
  margin-bottom: 20px !important;
  padding: 8px 9px !important;
  border: 1px solid #d8eadf !important;
  border-radius: 9px !important;
  background: #f4fbf6 !important;
  overflow: hidden !important;
}
.customer-chat-home .communication-temp-customer-notice strong {
  min-width: 0 !important;
  color: #1d7f43 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .communication-temp-customer-notice span {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  color: #65736b !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}
.customer-chat-home .communication-temp-customer-notice button {
  justify-self: end !important;
  max-width: 104px !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 9px !important;
  border: 1px solid #c8dfd0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #21854a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
@media (max-width: 340px) {
  .customer-chat-home .communication-temp-customer-notice {
    grid-template-columns: 1fr !important;
  }
  .customer-chat-home .communication-temp-customer-notice button {
    justify-self: start !important;
  }
}
.customer-chat-home .communication-add-menu {
  width: min(320px, calc(100vw - 54px)) !important;
  max-width: min(320px, calc(100vw - 54px)) !important;
  max-height: min(44dvh, 340px) !important;
  padding: 10px !important;
  border-radius: 13px !important;
}
.customer-chat-home .communication-add-menu-head strong {
  font-size: 15px !important;
}
.customer-chat-home .communication-add-menu-head span {
  font-size: 12px !important;
}
.customer-chat-home .communication-add-menu > button,
.customer-chat-home .communication-add-menu > button[data-communication-add="purpose"] {
  min-height: 40px !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
}
.customer-chat-home .communication-add-menu > button em {
  font-size: 11px !important;
}

/* Diagnosis profile draft card */
.customer-chat-home .pending-profile-card {
  display: grid !important;
  gap: 9px !important;
  margin: 10px 0 !important;
  padding: 12px !important;
  border: 1px solid #dcebe2 !important;
  border-radius: 12px !important;
  background: #fbfefc !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04) !important;
}
.customer-chat-home .pending-profile-card h3 {
  margin: 0 !important;
  color: #1f3128 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}
.customer-chat-home .pending-profile-grid {
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  gap: 7px 9px !important;
  align-items: start !important;
}
.customer-chat-home .pending-profile-grid span {
  color: #78867f !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.customer-chat-home .pending-profile-grid strong {
  min-width: 0 !important;
  color: #26352d !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
  overflow-wrap: anywhere !important;
}
.customer-chat-home .pending-profile-grid strong em {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 6px !important;
  min-height: 18px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: #fff7ed !important;
  color: #b45309 !important;
  font-size: 11px !important;
  line-height: 18px !important;
  font-style: normal !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}
.customer-chat-home .pending-profile-grid strong em.is-confirmed {
  background: #ecfdf3 !important;
  color: #23814a !important;
}
.customer-chat-home .pending-profile-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 8px !important;
}
.customer-chat-home .pending-profile-actions button {
  min-height: 36px !important;
  border: 1px solid #dce9e2 !important;
  border-radius: 9px !important;
  background: #f8fbf9 !important;
  color: #52635a !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.customer-chat-home .pending-profile-actions button:first-child {
  border-color: #bce7c8 !important;
  background: #21c063 !important;
  color: #ffffff !important;
}
.pending-profile-leave-panel {
  max-width: min(360px, calc(100vw - 36px)) !important;
}
.pending-profile-leave-list {
  display: grid !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
.pending-profile-leave-list div {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: #f7fbf8 !important;
  border: 1px solid #e1eee6 !important;
}
.pending-profile-leave-list span {
  color: #73847a !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
}
.pending-profile-leave-list strong {
  min-width: 0 !important;
  color: #16221b !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
  overflow-wrap: anywhere !important;
}
.pending-profile-leave-actions {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1fr) !important;
}
.pending-profile-leave-actions button:last-child {
  border-color: #bce7c8 !important;
  background: #21c063 !important;
  color: #ffffff !important;
}

/* Compact popup baseline for mobile panels. */
:root {
  --kd-popup-width: min(322px, calc(100vw - 64px));
  --kd-popup-radius: 14px;
  --kd-popup-padding: 10px;
  --kd-popup-gap: 6px;
  --kd-popup-title-size: 15px;
  --kd-popup-subtitle-size: 12px;
  --kd-popup-action-size: 15px;
  --kd-popup-status-size: 12px;
  --kd-popup-action-height: 40px;
}
.customer-chat-home .communication-add-menu {
  width: var(--kd-popup-width) !important;
  max-width: var(--kd-popup-width) !important;
  max-height: min(52dvh, 440px) !important;
  gap: var(--kd-popup-gap) !important;
  padding: var(--kd-popup-padding) !important;
  border-radius: var(--kd-popup-radius) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.13) !important;
}
.customer-chat-home .communication-add-menu-head {
  gap: 1px !important;
  padding: 0 2px 7px !important;
}
.customer-chat-home .communication-add-menu-head strong {
  font-size: var(--kd-popup-title-size) !important;
  line-height: 1.22 !important;
}
.customer-chat-home .communication-add-menu-head span {
  font-size: var(--kd-popup-subtitle-size) !important;
  line-height: 1.28 !important;
}
.customer-chat-home .communication-add-menu > button,
.customer-chat-home .communication-add-menu > button[data-communication-add="purpose"] {
  min-height: var(--kd-popup-action-height) !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  font-size: var(--kd-popup-action-size) !important;
  line-height: 1.18 !important;
}
.customer-chat-home .communication-add-menu > button em {
  font-size: var(--kd-popup-status-size) !important;
  line-height: 1.18 !important;
}

/* Kaidanla UI standard v1: unified mobile sizing baseline. */
:root {
  --kd-font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", Arial, sans-serif;
  --kd-color-text: #17251f;
  --kd-color-muted: #6d7b73;
  --kd-color-subtle: #8b9891;
  --kd-color-line: #dfe8e3;
  --kd-color-surface: #ffffff;
  --kd-color-soft: #f7faf8;
  --kd-color-primary: #56c56f;
  --kd-color-primary-dark: #2f8d4e;
  --kd-radius-input: 10px;
  --kd-radius-button: 10px;
  --kd-radius-card: 12px;
  --kd-radius-popup: 14px;
  --kd-page-pad-x: 14px;
  --kd-font-page-title: 20px;
  --kd-font-section-title: 16px;
  --kd-font-body: 15px;
  --kd-font-small: 13px;
  --kd-font-mini: 12px;
  --kd-line-body: 1.55;
  --kd-input-height: 42px;
  --kd-button-height: 40px;
  --kd-bottom-button-height: 50px;
}
html,
body,
button,
input,
textarea,
select {
  font-family: var(--kd-font-family) !important;
  letter-spacing: 0 !important;
}
body {
  color: var(--kd-color-text) !important;
}
@media (max-width: 720px) {
  body {
    font-size: var(--kd-font-body) !important;
    line-height: var(--kd-line-body) !important;
  }
  .pending-phone,
  .customer-form-phone,
  .customer-chat-phone,
  .customer-detail-phone,
  .video-phone,
  .brain-phone {
    color: var(--kd-color-text) !important;
  }
  .pending-head h1,
  .customer-form-phone .pending-head h1,
  .customer-chat-home .chat-head h1,
  .customer-detail-home .detail-head h1,
  .video-head h1 {
    font-size: var(--kd-font-page-title) !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
  }
  .pending-search,
  .customer-form-search,
  .customer-entry-form,
  .customer-detail-body,
  .chat-thread {
    padding-left: var(--kd-page-pad-x) !important;
    padding-right: var(--kd-page-pad-x) !important;
  }
  .customer-form-home label,
  .customer-detail-home label,
  .dialog-box label,
  .communication-text-panel label,
  .communication-manual-panel label {
    font-size: var(--kd-font-small) !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    color: var(--kd-color-muted) !important;
  }
  .customer-form-home input,
  .customer-form-home select,
  .customer-detail-home input,
  .customer-detail-home select,
  .pending-search input,
  .customer-form-search input,
  .dialog-box input,
  .dialog-box select,
  .communication-text-panel input,
  .communication-text-panel select,
  .communication-manual-panel input,
  .communication-manual-panel select {
    min-height: var(--kd-input-height) !important;
    height: auto !important;
    border-radius: var(--kd-radius-input) !important;
    border: 1px solid var(--kd-color-line) !important;
    padding: 0 12px !important;
    color: var(--kd-color-text) !important;
    background: var(--kd-color-surface) !important;
    font-size: var(--kd-font-body) !important;
    line-height: var(--kd-input-height) !important;
    font-weight: 500 !important;
  }
  .customer-form-home textarea,
  .customer-detail-home textarea,
  .dialog-box textarea,
  .communication-text-panel textarea,
  .communication-manual-panel textarea {
    min-height: 86px !important;
    border-radius: var(--kd-radius-input) !important;
    border: 1px solid var(--kd-color-line) !important;
    padding: 10px 12px !important;
    color: var(--kd-color-text) !important;
    background: var(--kd-color-surface) !important;
    font-size: var(--kd-font-body) !important;
    line-height: var(--kd-line-body) !important;
    font-weight: 500 !important;
  }
  input::placeholder,
  textarea::placeholder {
    color: #9aa5a0 !important;
    font-weight: 500 !important;
  }
  .customer-form-actions,
  .customer-detail-actions,
  .communication-fixed-actions {
    gap: 10px !important;
    padding: 8px var(--kd-page-pad-x) calc(8px + env(safe-area-inset-bottom)) !important;
    background: rgba(255,255,255,.96) !important;
    border-top: 1px solid var(--kd-color-line) !important;
  }
  .customer-form-actions button,
  .customer-detail-actions button,
  .communication-fixed-actions button,
  .pending-search button,
  .customer-form-search button,
  .dialog-actions button {
    min-height: var(--kd-button-height) !important;
    border-radius: var(--kd-radius-button) !important;
    font-size: var(--kd-font-body) !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
  }
  .customer-form-actions button,
  .customer-detail-actions button,
  .communication-fixed-actions button {
    min-height: var(--kd-bottom-button-height) !important;
  }
  .pending-item,
  .communication-customer-card,
  .communication-package,
  .communication-result-card,
  .chat-template-block,
  .customer-strategy-profile,
  .owner-panel-card,
  .answer-card {
    border-radius: var(--kd-radius-card) !important;
    border-color: var(--kd-color-line) !important;
    box-shadow: none !important;
  }
  .pending-name,
  .communication-customer-card strong,
  .chat-template-block h3,
  .answer-card h3,
  .customer-strategy-profile-head strong {
    font-size: var(--kd-font-section-title) !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    color: var(--kd-color-text) !important;
  }
  .pending-plan,
  .communication-customer-card span,
  .chat-template-block p,
  .chat-template-block li,
  .answer-body,
  .answer-body p {
    font-size: var(--kd-font-body) !important;
    line-height: var(--kd-line-body) !important;
    color: #26362e !important;
    font-weight: 500 !important;
  }
  .customer-chat-home .strategy-script p {
    font-size: var(--kd-font-body) !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
  }
  .customer-chat-home .chat-template-block {
    padding: 12px 13px !important;
    margin: 10px 0 !important;
  }
  .customer-chat-home .chat-template-script-head {
    min-height: 32px !important;
    margin-bottom: 8px !important;
  }
  .customer-chat-home .strategy-copy-button {
    min-height: 32px !important;
    padding: 0 12px !important;
    border-radius: 9px !important;
    font-size: var(--kd-font-small) !important;
  }
  .customer-chat-home .chat-variant-picker,
  .customer-chat-home .chat-light-actions {
    gap: 6px !important;
  }
  .customer-chat-home .chat-variant-option,
  .customer-chat-home .chat-light-actions button {
    min-height: 32px !important;
    height: 32px !important;
    border-radius: 9px !important;
    font-size: var(--kd-font-small) !important;
    font-weight: 750 !important;
    padding: 0 8px !important;
  }
  .customer-chat-home .communication-add-menu,
  .communication-text-panel,
  .communication-manual-panel,
  .status-confirm-panel,
  .boss-stats-modal,
  .loss-check-modal,
  dialog .dialog-box {
    border-radius: var(--kd-radius-popup) !important;
    font-size: var(--kd-font-body) !important;
    line-height: var(--kd-line-body) !important;
  }
  .customer-chat-home .communication-add-menu {
    width: min(318px, calc(100vw - 68px)) !important;
    max-width: min(318px, calc(100vw - 68px)) !important;
    padding: 10px !important;
    gap: 6px !important;
  }
  .customer-chat-home .communication-add-menu-head strong {
    font-size: var(--kd-font-section-title) !important;
  }
  .customer-chat-home .communication-add-menu-head span {
    font-size: var(--kd-font-mini) !important;
  }
  .customer-chat-home .communication-add-menu > button,
  .customer-chat-home .communication-add-menu > button[data-communication-add="purpose"] {
    min-height: 38px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    font-size: var(--kd-font-body) !important;
  }
  .customer-chat-home .communication-add-menu > button em {
    font-size: var(--kd-font-mini) !important;
  }
  .brain-tabs button,
  .app-bottom-nav button {
    font-size: var(--kd-font-mini) !important;
    letter-spacing: 0 !important;
  }
  .brain-tabs em,
  .app-bottom-nav em {
    font-size: var(--kd-font-mini) !important;
    font-weight: 500 !important;
  }
}

/* Recommendation reply compact controls */
.customer-chat-home .strategy-script p {
  margin: 0 0 8px !important;
}
.customer-chat-home .strategy-script .chat-variant-picker {
  margin: 6px 0 0 !important;
  gap: 5px !important;
}
.customer-chat-home .strategy-script .chat-variant-option {
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 8px !important;
  padding: 0 6px !important;
  font-size: 13px !important;
  line-height: 30px !important;
  font-weight: 800 !important;
}
.customer-chat-home .strategy-script .chat-variant-option.active {
  border-color: #55c986 !important;
  background: #eefaf3 !important;
  color: #087b42 !important;
}
.customer-chat-home .chat-template-actions {
  padding: 7px 8px !important;
  gap: 5px !important;
}
.customer-chat-home .chat-template-actions h3 {
  margin: 0 !important;
  color: #6c7a72 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}
.customer-chat-home .chat-light-actions {
  gap: 5px !important;
}
.customer-chat-home .chat-light-actions button {
  height: 28px !important;
  min-height: 28px !important;
  border-radius: 7px !important;
  padding: 0 6px !important;
  font-size: 12px !important;
  line-height: 26px !important;
}

/* Customer profile text field */
.customer-form-home .customer-entry-form textarea,
.customer-detail-home .detail-textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 96px !important;
  max-height: 180px !important;
  resize: vertical !important;
  border: 1px solid #dfe8e3 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #1f2933 !important;
  padding: 9px 12px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  overflow-y: auto !important;
}
.customer-form-home .customer-entry-form textarea::placeholder,
.customer-detail-home .detail-textarea::placeholder {
  color: #8d949b !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
.customer-detail-home .detail-textarea {
  min-height: 94px !important;
  resize: vertical !important;
}

/* Customer strategy profile */
.customer-form-home .customer-strategy-profile,
.customer-detail-home .customer-strategy-profile {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid #e4ece7 !important;
  border-radius: 10px !important;
  background: #fbfdfc !important;
}
.customer-strategy-profile-head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.customer-strategy-profile-head strong {
  font-size: 15px !important;
  color: #1f2933 !important;
  line-height: 1.25 !important;
}
.customer-strategy-profile-head span {
  font-size: 12px !important;
  color: #7b858c !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}
.customer-form-home .customer-strategy-profile label,
.customer-detail-home .customer-strategy-profile label {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
  width: 100% !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #202427 !important;
}
.customer-competitor-list {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}
.customer-competitor-item {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 7px 8px !important;
  border: 1px solid #e5ece8 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}
.customer-competitor-item span {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  color: #27323a !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.customer-competitor-item button,
.customer-competitor-editor button {
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #eaf7ef !important;
  color: #2f8d4e !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  white-space: nowrap !important;
}
.customer-competitor-item button {
  background: #f3f5f6 !important;
  color: #69747b !important;
  min-height: 28px !important;
}
.customer-competitor-editor {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: 100% !important;
}
.customer-form-home .customer-competitor-editor input,
.customer-detail-home .customer-competitor-editor input {
  box-sizing: border-box !important;
  min-width: 0 !important;
  width: 100% !important;
}
.customer-detail-home .detail-table .detail-strategy-profile-row {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
}
.customer-detail-home .detail-table .detail-strategy-profile-row > strong,
.customer-detail-home .detail-table .detail-strategy-profile-row > span {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.customer-detail-home .detail-table .detail-strategy-profile-row > span {
  display: block !important;
}
.customer-detail-home .detail-strategy-profile .detail-textarea {
  min-height: 86px !important;
}
@media (max-width: 560px) {
  .customer-strategy-profile-head {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 3px !important;
  }
  .customer-strategy-profile-head span {
    white-space: normal !important;
  }
  .customer-competitor-editor {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .customer-competitor-editor button {
    width: 100% !important;
  }
  .customer-form-home .customer-strategy-profile,
  .customer-detail-home .customer-strategy-profile {
    padding: 9px !important;
  }
}

/* Communication material menu: keep every action readable on phone. */
.customer-chat-home .communication-add-menu {
  left: 50% !important;
  right: auto !important;
  bottom: calc(100% + 10px) !important;
  transform: translateX(-50%) !important;
  width: min(350px, calc(100vw - 46px)) !important;
  max-width: min(350px, calc(100vw - 46px)) !important;
  max-height: min(58dvh, 500px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 12px !important;
  border: 1px solid rgba(214, 226, 220, 0.96) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.14) !important;
  overflow-y: auto !important;
}
.customer-chat-home .communication-add-menu[hidden] {
  display: none !important;
}
.customer-chat-home .communication-add-menu-head {
  display: grid !important;
  gap: 2px !important;
  padding: 0 2px 9px !important;
  border-bottom: 1px solid #edf2ef !important;
}
.customer-chat-home .communication-add-menu-head strong {
  color: #1f3128 !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}
.customer-chat-home .communication-add-menu-head span {
  color: #738078 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.customer-chat-home .communication-add-menu > button,
.customer-chat-home .communication-add-menu > button[data-communication-add="purpose"] {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 46px !important;
  height: auto !important;
  padding: 9px 12px !important;
  border: 1px solid #e3ede7 !important;
  border-radius: 12px !important;
  background: #fbfefc !important;
  color: #1f3128 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  white-space: normal !important;
}
.customer-chat-home .communication-add-menu > button span,
.customer-chat-home .communication-add-menu > button em {
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}
.customer-chat-home .communication-add-menu > button span {
  flex: 1 1 auto !important;
}
.customer-chat-home .communication-add-menu > button em {
  flex: 0 0 auto !important;
  max-width: 42% !important;
  color: #7a8a80 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-style: normal !important;
  font-weight: 700 !important;
  text-align: right !important;
}
.customer-chat-home .communication-add-menu > button:active {
  background: #f2fbf5 !important;
}

/* Customer chat detail final guard: keep old global actions out of the immersive page. */
.customer-chat-home .diagnosis-advisor-top,
.customer-chat-home .communication-action-bar,
.customer-chat-home .app-bottom-nav,
.customer-chat-home .customer-dialog-input .chat-image-button {
  display: none !important;
}

/* Immersive customer-chat viewport: ensure the input row is never covered. */
.customer-chat-home .customer-chat-phone {
  display: flex !important;
  flex-direction: column !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
}
.customer-chat-home .customer-chat-phone > .chat-head {
  flex: 0 0 auto !important;
}
.customer-chat-home .customer-chat-phone > .diagnosis-advisor-top,
.customer-chat-home .customer-chat-phone > .communication-action-bar {
  display: none !important;
}
.customer-chat-home .customer-chat-phone > .chat-thread {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
}
.customer-chat-home .customer-chat-phone > .chat-input {
  flex: 0 0 auto !important;
  position: relative !important;
  bottom: auto !important;
  z-index: 10 !important;
}

/* Today minimal v1: sales home keeps only encouragement, follow-up customers, and folded leads. */
.brain-home .brain-phone > .today-brand-title,
.brain-home .brain-phone > .growth-system-title,
.brain-home .brain-phone > .me-accordion,
.brain-home .brain-phone > .customer-stats,
.brain-home .brain-phone > .me-profile-summary,
.brain-home .brain-phone > .brain-actions,
.brain-home .brain-phone > .brain-save-tip,
.brain-home .brain-phone > #adminPanel {
  display: none !important;
}
.brain-home .brain-phone > .app-bottom-nav {
  display: grid !important;
}
.brain-home .today-home {
  box-sizing: border-box !important;
  width: min(calc(100vw - 34px), 360px) !important;
  max-width: 360px !important;
  display: grid !important;
  align-content: start !important;
  gap: 10px !important;
  padding: 14px 11px calc(82px + env(safe-area-inset-bottom)) !important;
  margin: 0 auto !important;
  overflow: visible !important;
}
.brain-home .today-encouragement,
.brain-home .today-follow-section,
.brain-home .today-lead-library {
  box-sizing: border-box !important;
  width: 100% !important;
}
.brain-home .today-encouragement {
  padding: 10px 12px !important;
  border: 1px solid rgba(214, 232, 190, 0.9) !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, rgba(239, 255, 188, 0.96), rgba(255, 255, 255, 0.94)) !important;
}
.brain-home .today-encouragement p {
  margin: 0 !important;
  color: #132015 !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
  font-weight: 850 !important;
}
.brain-home .today-follow-section {
  display: grid !important;
  gap: 8px !important;
}
.brain-home .today-section-head {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.brain-home .today-section-head h1 {
  margin: 0 !important;
  color: #101714 !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
}
.brain-home .today-section-head p {
  margin: 3px 0 0 !important;
  color: #66726c !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  font-weight: 760 !important;
}
.brain-home .today-section-head > span {
  flex: 0 0 auto !important;
  min-width: 46px !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: #101714 !important;
  color: #d6fb65 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-align: center !important;
}
.brain-home .today-section-head > span strong {
  font-size: 16px !important;
  line-height: 1 !important;
}
.brain-home .today-customer-list,
.brain-home .today-lead-list {
  display: grid !important;
  gap: 8px !important;
}
.brain-home .today-customer-card {
  cursor: pointer !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 10px 11px !important;
  border: 1px solid #dfe8df !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: #111513 !important;
  text-align: left !important;
  box-shadow: 0 6px 14px rgba(20, 30, 23, 0.05) !important;
  outline: none !important;
}
.brain-home .today-customer-card:focus-visible {
  border-color: #8bc53f !important;
  box-shadow: 0 0 0 3px rgba(190, 244, 70, 0.34) !important;
}
.brain-home .today-customer-card:nth-child(n+2) {
  display: grid !important;
}
.brain-home .today-customer-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.brain-home .today-customer-head strong {
  min-width: 0 !important;
  color: #101714 !important;
  font-size: 15px !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.brain-home .today-customer-head span {
  flex: 0 0 auto !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
  background: #e7f6bf !important;
  color: #5d8300 !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
.brain-home .today-customer-card em {
  display: block !important;
  color: #66726c !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  font-style: normal !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.brain-home .today-customer-card p {
  display: block !important;
  margin: 0 !important;
  color: #27342d !important;
  font-size: 12px !important;
  line-height: 1.32 !important;
  font-weight: 760 !important;
}
.brain-home .today-customer-card p b {
  display: inline-block !important;
  margin-right: 5px !important;
  color: #1f6f4a !important;
  font-weight: 950 !important;
}
.brain-home .today-customer-actions,
.brain-home .today-main-card,
.brain-home .today-filter-tabs,
.brain-home .today-core-grid,
.brain-home .today-confirm-strip,
.brain-home .today-bottom-nav {
  display: none !important;
}
.brain-home .today-lead-library {
  border: 1px solid #dfe8df !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  overflow: hidden !important;
}
.brain-home .today-lead-toggle {
  width: 100% !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 0 12px !important;
  border: 0 !important;
  background: transparent !important;
  color: #101714 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}
.brain-home .today-lead-toggle em {
  color: #66726c !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 760 !important;
}
.brain-home .today-lead-toggle::after {
  content: "鈱? !important;
  color: #87b928 !important;
  font-size: 16px !important;
  line-height: 1 !important;
}
.brain-home .today-lead-toggle[aria-expanded="true"]::after {
  content: "鈱? !important;
}
.brain-home .today-lead-panel {
  padding: 0 10px 10px !important;
}
.brain-home .today-empty {
  min-height: 58px !important;
  padding: 13px !important;
  border: 1px solid #dfe8df !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.86) !important;
  color: #59665f !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.brain-home .app-bottom-nav {
  width: min(calc(100vw - 30px), 352px) !important;
  max-width: 352px !important;
}
.brain-home .app-bottom-nav em {
  font-size: 10.5px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

/* Customer chat input v2: WeChat-like bottom bar and lighter bubbles. */
.customer-chat-home .customer-dialog-input {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 20 !important;
  grid-template-columns: 34px 34px minmax(0, 1fr) 54px !important;
  gap: 6px !important;
  align-items: end !important;
  min-height: 54px !important;
  padding: 7px 9px calc(7px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid rgba(216, 227, 216, 0.9) !important;
  background: rgba(247, 250, 244, 0.98) !important;
}
.customer-chat-home .customer-dialog-input textarea {
  min-height: 34px !important;
  max-height: 96px !important;
  padding: 8px 10px !important;
  border: 1px solid #dde8dc !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  font-size: 13px !important;
  line-height: 1.32 !important;
}
.customer-chat-home .customer-dialog-input button {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid #d8e5d9 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #17201a !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}
.customer-chat-home .customer-dialog-input svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}
.customer-chat-home .customer-dialog-input #customerChatSendButton {
  width: 42px !important;
  min-width: 42px !important;
  background: #ffffff !important;
  color: #17201a !important;
}
.customer-chat-home .customer-dialog-input #customerChatSendButton.is-send {
  width: 54px !important;
  min-width: 54px !important;
  border-color: #111711 !important;
  background: #111711 !important;
  color: #ffffff !important;
}
#customerChatRecordButton,
#customerChatRecordButton.is-recording,
#customerChatRecordButton.is-processing {
  pointer-events: auto !important;
  position: relative !important;
  z-index: 30 !important;
}
#customerChatRecordButton.is-pressed {
  opacity: 0.75;
  transform: scale(0.95);
}
.customer-chat-home .customer-chat-record-label {
  display: grid !important;
  place-items: center !important;
  min-width: 0 !important;
  color: inherit !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}
.customer-chat-home .chat-voice-button.is-recording {
  border-color: #8bc53f !important;
  background: #d8fb66 !important;
  color: #111711 !important;
}
.customer-chat-home .customer-upload-menu {
  position: absolute !important;
  right: 9px !important;
  bottom: calc(100% + 8px) !important;
  z-index: 25 !important;
  display: grid !important;
  gap: 6px !important;
  min-width: 132px !important;
  padding: 8px !important;
  border: 1px solid #dce8db !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 28px rgba(20, 30, 23, 0.14) !important;
}
.customer-chat-home .customer-upload-menu[hidden] {
  display: none !important;
}
.customer-chat-home .customer-upload-menu button {
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  display: flex !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
  background: #f8fbf5 !important;
  font-size: 13px !important;
}
.customer-chat-home .customer-upload-menu svg {
  width: 18px !important;
  height: 18px !important;
}
.customer-chat-home .chat-time-divider {
  justify-self: center !important;
  max-width: 72% !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  background: rgba(225, 232, 224, 0.78) !important;
  color: #7a857e !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
.customer-chat-home .chat-bubble {
  max-width: min(82%, 312px) !important;
  padding: 8px 10px !important;
  border: 1px solid #dce8db !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #1c261f !important;
  font-size: 13px !important;
  line-height: 1.38 !important;
  font-weight: 760 !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-row.user .chat-bubble {
  border-color: #dce8db !important;
  border-radius: 12px 4px 12px 12px !important;
  background: #ffffff !important;
  color: #1c261f !important;
}
.customer-chat-home .chat-row.user .chat-avatar {
  background: #d8fb66 !important;
  color: #111711 !important;
}
.customer-chat-home .chat-system-bubble {
  background: #ffffff !important;
  color: #344139 !important;
  font-size: 12.5px !important;
  line-height: 1.38 !important;
}
.customer-chat-home .chat-advice-card {
  padding: 10px !important;
}
.customer-chat-home .chat-advice-card > p {
  font-size: 14px !important;
  line-height: 1.34 !important;
}
.customer-chat-home .chat-advice-body {
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}

.brain-home .today-training-entry {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 0 12px !important;
  border: 1px solid #dfe8df !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #101714 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  text-align: left !important;
}
.brain-home .today-training-entry em {
  color: #66726c !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 760 !important;
}
.brain-home .today-training-entry::after {
  content: "鈥? !important;
  color: #87b928 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.brain-home .today-boss-dashboard {
  display: grid !important;
  gap: 8px !important;
}
.brain-home .today-boss-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.brain-home .today-boss-kpi-grid article {
  display: grid !important;
  gap: 2px !important;
  padding: 10px 8px !important;
  border-radius: 8px !important;
  background: #f5f7f4 !important;
  text-align: center !important;
}
.brain-home .today-boss-kpi-grid article strong {
  color: #101714 !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
}
.brain-home .today-boss-kpi-grid article span {
  color: #66726c !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
}
.brain-home .today-boss-owner-summary {
  padding: 10px 12px !important;
  border-radius: 8px !important;
  background: #f0f7ee !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  color: #1a2d1f !important;
}
.brain-home .today-boss-owner-summary[hidden],
.brain-home .today-follow-section[hidden] {
  display: none !important;
}
.brain-home .today-boss-dashboard[hidden],
.brain-home .today-boss-customer-panel[hidden] {
  display: none !important;
}

.brain-home .today-boss-customer-panel {
  display: grid !important;
  gap: 8px !important;
}

.brain-home .today-boss-filter-tabs {
  display: grid !important;
  grid-template-columns: 0.68fr repeat(4, minmax(0, 1fr)) !important;
  gap: 2px !important;
  align-items: center !important;
  overflow: visible !important;
  padding: 4px !important;
  border-radius: 8px !important;
  background: #315a36 !important;
}

.brain-home .today-boss-filter-tabs::-webkit-scrollbar,
.brain-home .today-boss-scope-row::-webkit-scrollbar {
  display: none !important;
}

.brain-home .today-boss-filter-tabs button,
.brain-home .today-boss-scope-row button {
  box-sizing: border-box !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #f7fff4 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

.brain-home .today-boss-filter-tabs button {
  width: 100% !important;
  min-height: 28px !important;
  padding: 5px 3px !important;
  color: #f7fff4 !important;
}

.brain-home .today-boss-filter-tabs button.is-active {
  background: transparent !important;
  color: #fff !important;
  box-shadow: inset 0 -3px 0 #b9ef36 !important;
}

.brain-home .today-boss-scope-row {
  display: block !important;
  padding: 2px 0 !important;
}

.brain-home .today-boss-scope-control {
  position: relative !important;
  display: flex !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  z-index: 8 !important;
}

.brain-home .today-boss-scope-trigger {
  box-sizing: border-box !important;
  display: inline-grid !important;
  grid-template-columns: auto auto auto !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid #cfe1cd !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.9) !important;
  color: #142018 !important;
  text-align: left !important;
}

.brain-home .today-boss-scope-trigger span {
  color: #5f7164 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
}

.brain-home .today-boss-scope-trigger strong {
  color: #142018 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.brain-home .today-boss-scope-trigger em {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  color: #315a36 !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transition: transform .16s ease !important;
}

.brain-home .today-boss-scope-trigger em svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  stroke: currentColor !important;
}

.brain-home .today-boss-scope-control.is-open .today-boss-scope-trigger em {
  transform: rotate(180deg) !important;
}

.brain-home .today-boss-scope-menu[hidden] {
  display: none !important;
}

.brain-home .today-boss-scope-menu {
  position: absolute !important;
  left: auto !important;
  right: 0 !important;
  top: calc(100% + 6px) !important;
  min-width: 160px !important;
  max-width: 100% !important;
  z-index: 20 !important;
  display: grid !important;
  gap: 2px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(220,232,215,0.95) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,0.98) !important;
  box-shadow: 0 12px 28px rgba(18, 32, 24, 0.14) !important;
}

.brain-home .today-boss-scope-label {
  padding: 2px 4px !important;
  color: #708075 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
}

.brain-home .today-boss-scope-menu button {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 30px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #1d2b22 !important;
  text-align: left !important;
}

.brain-home .today-boss-scope-menu button span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 820 !important;
}

.brain-home .today-boss-scope-menu button em {
  color: #65806b !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 760 !important;
}

.brain-home .today-boss-scope-menu button.is-active {
  background: transparent !important;
  color: #2f7a45 !important;
}

.brain-home .today-boss-scope-menu button.is-active em {
  color: #2f7a45 !important;
}

.brain-home .today-boss-filter-list {
  display: grid !important;
  gap: 8px !important;
}

/* Customer tracking list should stay inside the phone viewport. */
.brain-home .brain-phone {
  overflow: hidden !important;
}

.brain-home .today-home {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.brain-home .today-boss-customer-panel {
  min-height: 0 !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
}

.brain-home .today-boss-filter-list {
  min-height: 0 !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}

.brain-home .today-boss-filter-list::-webkit-scrollbar {
  display: none !important;
}

.brain-home .today-boss-filter-card {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 6px !important;
  width: 100% !important;
  padding: 12px !important;
  border: 1px solid #cae3c8 !important;
  border-radius: 10px !important;
  background: #f4fbf2 !important;
  color: #1b2a20 !important;
  cursor: pointer !important;
}

.brain-home .today-boss-filter-card:focus-visible {
  outline: 2px solid #8bc63f !important;
  outline-offset: 2px !important;
}

.brain-home .today-boss-filter-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}

.brain-home .today-boss-filter-card-head strong {
  min-width: 0 !important;
  color: #142018 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
}

.brain-home .today-boss-filter-card-head span {
  flex: 0 0 auto !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  background: #e7f6d1 !important;
  color: #4c9a22 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}

.brain-home .today-boss-filter-card p {
  margin: 0 !important;
  color: #5c6a61 !important;
  font-size: 13px !important;
  font-weight: 780 !important;
  line-height: 1.35 !important;
}

.brain-home .today-boss-filter-card p b {
  color: #142018 !important;
}

.brain-home .today-boss-filter-card em {
  color: #6f7b72 !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
}

.brain-home .today-boss-filter-empty {
  padding: 16px 12px !important;
  border: 1px dashed #cfe1cd !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,0.68) !important;
  color: #66726c !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-align: center !important;
}
@media (max-width: 430px) {
  .brain-home .today-boss-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Customer chat WeChat-style v3: message bubbles, no strategy table/card surface. */
.customer-chat-home .customer-chat-phone {
  background: #ededed !important;
}
.customer-chat-home .chat-head {
  border-bottom: 1px solid #dddddd !important;
  background: #f3f3f3 !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-head h1 {
  font-size: 18px !important;
  font-weight: 860 !important;
}
.customer-chat-home .customer-chat-title-block p {
  color: #8a8f8b !important;
  font-size: 11px !important;
  font-weight: 650 !important;
}
.customer-chat-home .chat-thread {
  gap: 14px !important;
  margin: 0 !important;
  padding: 14px 12px 18px !important;
  border-radius: 0 !important;
  background: #ededed !important;
}
.customer-chat-home .chat-time-divider,
.customer-chat-home .chat-time {
  justify-self: center !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #a4a4a4 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}
.customer-chat-home .chat-row {
  gap: 8px !important;
}
.customer-chat-home .chat-avatar {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 6px !important;
  background: #dff3e8 !important;
  color: #2b6b3c !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}
.customer-chat-home .chat-row.user .chat-avatar {
  background: #9eea6a !important;
  color: #111111 !important;
}
.customer-chat-home .chat-bubble {
  position: relative !important;
  max-width: min(76%, 288px) !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: 14px !important;
  line-height: 1.38 !important;
  font-weight: 560 !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-row.bot .chat-bubble::before {
  content: "" !important;
  position: absolute !important;
  left: -6px !important;
  top: 12px !important;
  border-top: 6px solid transparent !important;
  border-bottom: 6px solid transparent !important;
  border-right: 7px solid #ffffff !important;
}
.customer-chat-home .chat-row.user .chat-bubble {
  border-radius: 5px !important;
  background: #95ec69 !important;
  color: #111111 !important;
}
.customer-chat-home .chat-row.user .chat-bubble::after {
  content: "" !important;
  position: absolute !important;
  right: -6px !important;
  top: 12px !important;
  border-top: 6px solid transparent !important;
  border-bottom: 6px solid transparent !important;
  border-left: 7px solid #95ec69 !important;
}
.customer-chat-home .chat-system-bubble {
  background: #ffffff !important;
  color: #222222 !important;
}
.customer-chat-home .strategy-bubble {
  max-width: min(78%, 292px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.customer-chat-home .strategy-bubble::before {
  display: none !important;
}
.customer-chat-home .chat-response-template,
.customer-chat-home .chat-advice-list {
  display: grid !important;
  gap: 8px !important;
}
.customer-chat-home .chat-advice-card {
  position: relative !important;
  display: grid !important;
  gap: 6px !important;
  padding: 10px 11px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  color: #111111 !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-advice-card:first-child::before {
  content: "" !important;
  position: absolute !important;
  left: -6px !important;
  top: 12px !important;
  border-top: 6px solid transparent !important;
  border-bottom: 6px solid transparent !important;
  border-right: 7px solid #ffffff !important;
}
.customer-chat-home .chat-advice-card > p {
  margin: 0 !important;
  color: #111111 !important;
  font-size: 14.5px !important;
  line-height: 1.42 !important;
  font-weight: 820 !important;
}
.customer-chat-home .chat-advice-body {
  color: #2f362f !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 560 !important;
}
.customer-chat-home .chat-advice-card > button {
  justify-self: start !important;
  width: auto !important;
  min-width: 58px !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 11px !important;
  border: 1px solid #cfd9c9 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #317b27 !important;
  font-size: 12px !important;
  font-weight: 760 !important;
}
.customer-chat-home .chat-advice-detail {
  display: none !important;
  gap: 5px !important;
  padding: 8px 9px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #f6f6f6 !important;
}
.customer-chat-home .chat-advice-card.is-open .chat-advice-detail {
  display: grid !important;
}
.customer-chat-home .chat-advice-detail p {
  margin: 0 !important;
  color: #4c544d !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 520 !important;
}
.customer-chat-home .chat-advice-detail strong,
.customer-chat-home .chat-advice-detail span {
  display: inline !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
.customer-chat-home .chat-empty-hint,
.customer-chat-home .communication-tip {
  justify-self: center !important;
  max-width: 82% !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,0.72) !important;
  color: #666666 !important;
  font-size: 12.5px !important;
  font-weight: 520 !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-thread table,
.customer-chat-home .chat-thread .status-table,
.customer-chat-home .chat-thread .kv-list,
.customer-chat-home .chat-thread .kv-row {
  display: block !important;
  width: auto !important;
  border: 0 !important;
  background: transparent !important;
}
.customer-chat-home .chat-thread th,
.customer-chat-home .chat-thread td {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
.customer-chat-home .customer-dialog-input {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 20 !important;
  grid-template-columns: 38px 38px minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
  min-height: 58px !important;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #d9d9d9 !important;
  background: #f7f7f7 !important;
}
.customer-chat-home .customer-dialog-input textarea {
  min-height: 38px !important;
  max-height: 92px !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
.customer-chat-home .customer-dialog-input button {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  border: 1px solid #cfd5cf !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #111111 !important;
}
.customer-chat-home .customer-dialog-input svg {
  width: 21px !important;
  height: 21px !important;
}
.customer-chat-home .customer-dialog-input #customerChatSendButton {
  width: 38px !important;
  min-width: 38px !important;
  border-color: #111111 !important;
  background: #ffffff !important;
  color: #111111 !important;
}
.customer-chat-home .customer-dialog-input #customerChatSendButton.is-send {
  width: 52px !important;
  min-width: 52px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #07c160 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 760 !important;
}
.customer-chat-home .customer-upload-menu {
  right: 8px !important;
  bottom: calc(100% + 10px) !important;
  min-width: 148px !important;
  padding: 7px !important;
  border: 1px solid #dddddd !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.16) !important;
}
.customer-chat-home .customer-upload-menu button {
  height: 40px !important;
  min-height: 40px !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}
.customer-chat-home .customer-upload-menu button:hover,
.customer-chat-home .customer-upload-menu button:focus {
  background: #f2f2f2 !important;
}
.customer-chat-home .customer-upload-menu svg {
  width: 20px !important;
  height: 20px !important;
  color: #222222 !important;
}

/* Customer chat drawer navigation: only for diagnosis/detail chat page. */
.customer-chat-home .chat-menu-button {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  display: grid !important;
  place-content: center !important;
  gap: 5px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #111111 !important;
  box-shadow: none !important;
}
.customer-chat-home .chat-menu-button span {
  display: block !important;
  width: 22px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: currentColor !important;
}
.customer-chat-home .customer-chat-drawer-shell {
  position: absolute !important;
  inset: 0 !important;
  z-index: 80 !important;
  pointer-events: none !important;
}
.customer-chat-home .customer-chat-drawer-shell[hidden] {
  display: none !important;
}
.customer-chat-home .customer-chat-drawer-mask {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: rgba(0,0,0,0.32) !important;
  opacity: 0 !important;
  transition: opacity 0.18s ease !important;
  pointer-events: auto !important;
}
.customer-chat-home .customer-chat-drawer {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: min(80vw, 330px) !important;
  max-width: 80% !important;
  display: grid !important;
  grid-template-rows: auto auto 1fr !important;
  gap: 14px !important;
  padding: calc(18px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom)) !important;
  border-radius: 0 18px 18px 0 !important;
  background: #ffffff !important;
  box-shadow: 12px 0 34px rgba(0,0,0,0.16) !important;
  transform: translateX(-102%) !important;
  transition: transform 0.2s ease !important;
  pointer-events: auto !important;
}
.customer-chat-home .customer-chat-drawer-shell.is-open .customer-chat-drawer-mask {
  opacity: 1 !important;
}
.customer-chat-home .customer-chat-drawer-shell.is-open .customer-chat-drawer {
  transform: translateX(0) !important;
}
.customer-chat-home .drawer-profile {
  display: grid !important;
  grid-template-columns: 44px minmax(0,1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #eeeeee !important;
}
.customer-chat-home .drawer-avatar {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: #95ec69 !important;
  color: #111111 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}
.customer-chat-home .drawer-profile strong,
.customer-chat-home .drawer-profile span {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .drawer-profile strong {
  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}
.customer-chat-home .drawer-profile span {
  margin-top: 3px !important;
  color: #777777 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 520 !important;
}
.customer-chat-home .drawer-profile button {
  min-width: 42px !important;
  height: 30px !important;
  border: 1px solid #dddddd !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #333333 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}
.customer-chat-home .drawer-main-links,
.customer-chat-home .drawer-task-list {
  display: grid !important;
  gap: 7px !important;
}
.customer-chat-home .drawer-main-links button,
.customer-chat-home .drawer-task-list button,
.customer-chat-home .drawer-new-task {
  width: 100% !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #f6f6f6 !important;
  color: #111111 !important;
  text-align: left !important;
  font-size: 14px !important;
  font-weight: 760 !important;
}
.customer-chat-home .drawer-main-links button::after,
.customer-chat-home .drawer-task-list button::after {
  content: "鈥? !important;
  color: #999999 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
.customer-chat-home .drawer-main-links button:focus,
.customer-chat-home .drawer-main-links button:hover,
.customer-chat-home .drawer-task-list button:focus,
.customer-chat-home .drawer-task-list button:hover,
.customer-chat-home .drawer-task-list button.active {
  background: #eaf9d9 !important;
}
.customer-chat-home .drawer-task-zone {
  min-height: 0 !important;
  display: grid !important;
  align-content: start !important;
  gap: 10px !important;
}
.customer-chat-home .drawer-new-task {
  justify-content: flex-start !important;
  background: #111111 !important;
  color: #ffffff !important;
}
.customer-chat-home .drawer-task-title {
  color: #858585 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
}
.customer-chat-home .drawer-task-list button {
  min-height: 48px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
}
.customer-chat-home .drawer-task-list button span,
.customer-chat-home .drawer-task-list button em {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .drawer-task-list button span {
  color: #111111 !important;
  font-size: 13.5px !important;
  font-weight: 760 !important;
}
.customer-chat-home .drawer-task-list button em {
  grid-column: 1 / 2 !important;
  color: #777777 !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 520 !important;
}
.customer-chat-home .customer-dialog-input {
  grid-template-columns: 38px minmax(0, 1fr) auto !important;
}
.customer-chat-home .chat-inline-back-button {
  display: none !important;
}

/* Chat upload plus visibility fix: override older send-button hidden rule. */
.customer-chat-home .customer-dialog-input #customerChatSendButton,
.customer-chat-home #customerChatSendButton {
  display: grid !important;
  place-items: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.customer-chat-home .customer-dialog-input {
  grid-template-columns: 38px minmax(0, 1fr) 42px !important;
}
.customer-chat-home .customer-dialog-input .chat-voice-button {
  grid-column: 1 !important;
}
.customer-chat-home .customer-dialog-input textarea {
  grid-column: 2 !important;
  min-width: 0 !important;
}
.customer-chat-home .customer-dialog-input #customerChatSendButton {
  grid-column: 3 !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
}
.customer-chat-home .customer-dialog-input #customerChatSendButton.is-send {
  width: 54px !important;
  min-width: 54px !important;
}
.customer-chat-home .customer-upload-menu {
  right: 8px !important;
  bottom: calc(100% + 10px) !important;
}

/* Chat bottom bar fix v2: back + voice + input + plus, upload menu stays horizontal. */
.customer-chat-home .customer-dialog-input {
  grid-template-columns: 38px 38px minmax(0, 1fr) 42px !important;
  gap: 8px !important;
}
.customer-chat-home .customer-dialog-input .chat-inline-back-button {
  display: grid !important;
  grid-column: 1 !important;
  place-items: center !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  border: 1px solid #cfd5cf !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #111111 !important;
}
.customer-chat-home .customer-dialog-input .chat-voice-button {
  grid-column: 2 !important;
}
.customer-chat-home .customer-dialog-input textarea {
  grid-column: 3 !important;
}
.customer-chat-home .customer-dialog-input #customerChatSendButton {
  grid-column: 4 !important;
}
.customer-chat-home .customer-dialog-input .chat-inline-back-button svg,
.customer-chat-home .customer-dialog-input .chat-voice-button svg,
.customer-chat-home .customer-dialog-input #customerChatSendButton svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
}
.customer-chat-home .customer-dialog-input .customer-upload-menu {
  width: 156px !important;
  min-width: 156px !important;
  right: 2px !important;
  bottom: calc(100% + 10px) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  padding: 8px !important;
  border: 1px solid #dddddd !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}
.customer-chat-home .customer-dialog-input .customer-upload-menu[hidden] {
  display: none !important;
}
.customer-chat-home .customer-dialog-input .customer-upload-menu button {
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #111111 !important;
  text-align: left !important;
}
.customer-chat-home .customer-dialog-input .customer-upload-menu button svg {
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
}
.customer-chat-home .customer-dialog-input .customer-upload-menu button span {
  display: inline-block !important;
  min-width: 0 !important;
  color: #111111 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

/* Pending customer pages compact final: must stay after drawer/upload overrides. */
.pending-home .pending-phone {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 430px !important;
  min-height: 100dvh !important;
  height: min(var(--app-height), 100dvh) !important;
  margin: 0 auto !important;
  padding: 8px 12px calc(66px + env(safe-area-inset-bottom)) !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.pending-home .pending-head {
  min-height: 44px !important;
  grid-template-columns: 36px minmax(0, 1fr) 36px !important;
  gap: 8px !important;
}
.pending-home .pending-head .round-icon {
  width: 34px !important;
  height: 34px !important;
  font-size: 21px !important;
  box-shadow: 0 6px 14px rgba(18, 28, 18, 0.05) !important;
}
.pending-home .pending-head h1,
.pending-home #pendingPageTitle {
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 820 !important;
}
.pending-home .pending-search {
  grid-template-columns: minmax(0, 1fr) 72px !important;
  gap: 8px !important;
}
.pending-home .pending-search input,
.pending-home .pending-search button {
  height: 40px !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  line-height: 40px !important;
}
.pending-home .pending-search input {
  padding: 0 12px !important;
  font-weight: 600 !important;
}
.pending-home .pending-search button {
  width: 72px !important;
  font-weight: 760 !important;
}
.pending-home .pending-sort {
  gap: 8px !important;
  padding: 1px 0 !important;
}
.pending-home .pending-sort button,
.pending-home .pending-sort .pending-inline-add {
  min-width: 58px !important;
  height: 34px !important;
  padding: 0 14px !important;
  font-size: 15px !important;
  line-height: 34px !important;
  font-weight: 720 !important;
}
.pending-home .pending-sales-filter:not([hidden]) {
  min-height: 40px !important;
  gap: 6px !important;
}
.pending-home .pending-filter-label {
  height: 34px !important;
  padding: 0 8px !important;
  border-radius: 9px !important;
  background: rgba(232, 248, 238, 0.9) !important;
  color: #52615a !important;
  font-size: 14px !important;
  line-height: 34px !important;
  font-weight: 700 !important;
}
.pending-home .pending-sales-filter select {
  height: 40px !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
.pending-home .pending-list {
  gap: 10px !important;
  padding: 2px 0 8px !important;
}
.pending-home .pending-plan {
  gap: 8px !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
}
.pending-home .pending-card-head {
  gap: 7px !important;
}
.pending-home .pending-card-head strong {
  font-size: 19px !important;
  line-height: 1.16 !important;
  font-weight: 820 !important;
}
.pending-home .pending-owner-inline {
  max-width: 100px !important;
  height: 25px !important;
  padding: 0 8px !important;
  font-size: 13px !important;
  line-height: 25px !important;
}
.pending-home .pending-card-head em {
  min-width: 30px !important;
  height: 25px !important;
  padding: 0 9px !important;
  font-size: 15px !important;
  line-height: 25px !important;
}
.pending-home .pending-contact,
.pending-home .pending-next {
  font-size: 15px !important;
  line-height: 1.32 !important;
}
.pending-home .pending-actions {
  gap: 8px !important;
  margin-top: 2px !important;
}
.pending-home .pending-actions button {
  min-width: 86px !important;
  height: 34px !important;
  padding: 0 12px !important;
  border-radius: 9px !important;
  font-size: 15px !important;
  line-height: 34px !important;
}
.pending-home .pending-empty {
  padding: 16px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}
.pending-home .pending-floating-add {
  right: 18px !important;
  bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  width: 54px !important;
  height: 54px !important;
  font-size: 31px !important;
  box-shadow: 0 14px 26px rgba(88, 199, 103, 0.24) !important;
}
.pending-home .pending-tabs,
.brain-tabs.app-bottom-nav,
.pending-tabs.app-bottom-nav,
.app-bottom-nav {
  display: none !important;
}
@media (max-width: 380px) {
  .pending-home .pending-head h1,
  .pending-home #pendingPageTitle {
    font-size: 19px !important;
  }
  .pending-home .pending-search input,
  .pending-home .pending-search button,
  .pending-home .pending-sort button,
  .pending-home .pending-sales-filter select {
    font-size: 15px !important;
  }
  .pending-home .pending-card-head strong {
    font-size: 18px !important;
  }
}

/* Pending customer pages compact v2: keep list pages aligned with the app mobile scale. */
.pending-home .pending-phone {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 430px !important;
  min-height: 100dvh !important;
  height: min(var(--app-height), 100dvh) !important;
  margin: 0 auto !important;
  padding: 8px 12px calc(66px + env(safe-area-inset-bottom)) !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.pending-home .pending-head {
  min-height: 44px !important;
  grid-template-columns: 36px minmax(0, 1fr) 36px !important;
  gap: 8px !important;
}
.pending-home .pending-head .round-icon {
  width: 34px !important;
  height: 34px !important;
  font-size: 21px !important;
  box-shadow: 0 6px 14px rgba(18, 28, 18, 0.05) !important;
}
.pending-home .pending-head h1,
.pending-home #pendingPageTitle {
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 820 !important;
}
.pending-home #pendingPageSubtitle {
  font-size: 10px !important;
  line-height: 1.15 !important;
}
.pending-home .pending-search {
  grid-template-columns: minmax(0, 1fr) 72px !important;
  gap: 8px !important;
}
.pending-home .pending-search input {
  height: 40px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  line-height: 40px !important;
  font-weight: 600 !important;
}
.pending-home .pending-search button {
  width: 72px !important;
  height: 40px !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  line-height: 40px !important;
  font-weight: 760 !important;
}
.pending-home .pending-sort {
  gap: 8px !important;
  padding: 1px 0 !important;
}
.pending-home .pending-sort button,
.pending-home .pending-sort .pending-inline-add {
  min-width: 58px !important;
  height: 34px !important;
  padding: 0 14px !important;
  font-size: 15px !important;
  line-height: 34px !important;
  font-weight: 720 !important;
}
.pending-home .pending-sales-filter:not([hidden]) {
  min-height: 40px !important;
  gap: 6px !important;
}
.pending-home .pending-filter-label {
  height: 34px !important;
  padding: 0 8px !important;
  border-radius: 9px !important;
  background: rgba(232, 248, 238, 0.9) !important;
  color: #52615a !important;
  font-size: 14px !important;
  line-height: 34px !important;
  font-weight: 700 !important;
}
.pending-home .pending-sales-filter select {
  height: 40px !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
.pending-home .pending-list {
  gap: 10px !important;
  padding: 2px 0 8px !important;
}
.pending-home .pending-plan {
  gap: 8px !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
}
.pending-home .pending-card-head {
  gap: 7px !important;
}
.pending-home .pending-card-head strong {
  font-size: 19px !important;
  line-height: 1.16 !important;
  font-weight: 820 !important;
}
.pending-home .pending-owner-inline {
  max-width: 100px !important;
  height: 25px !important;
  padding: 0 8px !important;
  font-size: 13px !important;
  line-height: 25px !important;
}
.pending-home .pending-card-head em {
  min-width: 30px !important;
  height: 25px !important;
  padding: 0 9px !important;
  font-size: 15px !important;
  line-height: 25px !important;
}
.pending-home .pending-contact,
.pending-home .pending-next {
  font-size: 15px !important;
  line-height: 1.32 !important;
}
.pending-home .pending-actions {
  gap: 8px !important;
  margin-top: 2px !important;
}
.pending-home .pending-actions button {
  min-width: 86px !important;
  height: 34px !important;
  padding: 0 12px !important;
  border-radius: 9px !important;
  font-size: 15px !important;
  line-height: 34px !important;
}
.pending-home .pending-empty {
  padding: 16px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}
.pending-home .pending-floating-add {
  right: 18px !important;
  bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  width: 54px !important;
  height: 54px !important;
  font-size: 31px !important;
  box-shadow: 0 14px 26px rgba(88, 199, 103, 0.24) !important;
}
.pending-home .pending-tabs,
.brain-tabs.app-bottom-nav,
.pending-tabs.app-bottom-nav,
.app-bottom-nav {
  display: none !important;
}
@media (max-width: 380px) {
  .pending-home .pending-head h1,
  .pending-home #pendingPageTitle {
    font-size: 19px !important;
  }
  .pending-home .pending-search input,
  .pending-home .pending-search button,
  .pending-home .pending-sort button,
  .pending-home .pending-sales-filter select {
    font-size: 15px !important;
  }
  .pending-home .pending-card-head strong {
    font-size: 18px !important;
  }
}

/* Chat drawer entry visibility: keep the diagnosis page header above older hidden communication rules. */
.customer-chat-home .customer-chat-phone {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}
.customer-chat-home .communication-head,
.customer-chat-home .chat-head.communication-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 75 !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 58px !important;
  height: auto !important;
  padding: calc(8px + env(safe-area-inset-top)) 12px 8px !important;
  border: 0 !important;
  background: rgba(247, 250, 239, 0.96) !important;
  box-shadow: 0 1px 0 rgba(18, 22, 19, 0.06) !important;
}
.customer-chat-home .chat-menu-button {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  grid-column: 1 !important;
  place-content: center !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: #111111 !important;
}
.customer-chat-home .chat-menu-button span {
  display: block !important;
  width: 20px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: currentColor !important;
}
.customer-chat-home .customer-chat-title-block {
  display: block !important;
  min-width: 0 !important;
  text-align: center !important;
}
.customer-chat-home .customer-chat-title-block h1 {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
  color: #121613 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .customer-chat-title-block p {
  margin: 3px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  color: #5c675e !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.customer-chat-home .chat-head-actions {
  display: grid !important;
  grid-column: 3 !important;
  place-items: center !important;
}

/* Pending page action-first visual refresh: match today-page green/white card language. */
.pending-home .pending-phone {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  height: min(var(--app-height), 100dvh) !important;
  max-height: 100dvh !important;
  padding: 36px 16px calc(92px + env(safe-area-inset-bottom)) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(211, 244, 95, 0.48), transparent 29%),
    linear-gradient(180deg, #f1ffd9 0%, #f8fff0 54%, #fbfdf8 100%) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}
.pending-home .pending-head,
.pending-home #pendingPageSubtitle,
.pending-home .pending-search,
.pending-home .pending-sort,
.pending-home .pending-sales-filter,
.pending-home .pending-filter-popover,
.pending-home .pending-floating-add {
  display: none !important;
}
.pending-home .pending-advisor-hero {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 20px 18px !important;
  border: 1px solid rgba(210, 224, 196, 0.95) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.74) !important;
  box-shadow: 0 10px 22px rgba(47, 72, 37, 0.05) !important;
}
.pending-home .pending-advisor-hero p {
  margin: 0 !important;
  color: #111711 !important;
  font-size: 23px !important;
  line-height: 1.38 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}
.pending-home .pending-section-summary {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
}
.pending-home .pending-section-summary h2 {
  margin: 0 !important;
  color: #060806 !important;
  font-size: 27px !important;
  line-height: 1.14 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
}
.pending-home .pending-section-summary p {
  margin: 7px 0 0 !important;
  color: #626d66 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}
.pending-home .pending-section-summary strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 74px !important;
  height: 42px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  background: #101513 !important;
  color: #d7fb68 !important;
  font-size: 22px !important;
  line-height: 42px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}
.pending-home .pending-list {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 auto !important;
  gap: 12px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
.pending-home .pending-empty {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid rgba(223, 231, 220, 0.98) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #657169 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 760 !important;
}
.pending-home .pending-item,
.pending-home .pending-item.no-owner {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.pending-home .pending-plan {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 11px !important;
  width: 100% !important;
  min-height: 116px !important;
  margin: 0 !important;
  padding: 18px 18px 16px !important;
  border: 1px solid rgba(221, 230, 218, 0.98) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  box-shadow: 0 8px 20px rgba(27, 40, 30, 0.05) !important;
}
.pending-home .pending-item.cat-a .pending-plan,
.pending-home .pending-item.cat-b .pending-plan,
.pending-home .pending-item.cat-c .pending-plan,
.pending-home .pending-item.cat-d .pending-plan {
  background: rgba(255, 255, 255, 0.95) !important;
  border-color: rgba(221, 230, 218, 0.98) !important;
}
.pending-home .pending-card-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 10px !important;
}
.pending-home .pending-card-head strong {
  min-width: 0 !important;
  color: #080b09 !important;
  font-size: 22px !important;
  line-height: 1.16 !important;
  font-weight: 950 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home .pending-card-head em {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  height: 28px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #e8f8bf !important;
  color: #5d8e25 !important;
  font-size: 14px !important;
  line-height: 28px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
.pending-home .pending-contact {
  display: block !important;
  width: 100% !important;
  color: #69746d !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home .pending-next {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  color: #111711 !important;
  font-size: 17px !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home .pending-next b {
  flex: 0 0 auto !important;
  color: #2f7a56 !important;
  font-weight: 950 !important;
}
.pending-home .pending-extra-actions {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 4px 0 0 !important;
}
.pending-home .pending-extra-actions button {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 70px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(221, 230, 218, 0.98) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: #111711 !important;
  box-shadow: 0 8px 20px rgba(27, 40, 30, 0.04) !important;
}
.pending-home .pending-extra-actions strong {
  color: #080b09 !important;
  font-size: 21px !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}
.pending-home .pending-extra-actions span {
  min-width: 0 !important;
  color: #68746d !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: right !important;
}
.pending-home .pending-extra-actions em {
  color: #8aba38 !important;
  font-size: 25px !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 950 !important;
}
.pending-home .pending-tabs {
  border-top: 1px solid rgba(218, 226, 222, 0.95) !important;
}
@media (max-width: 380px) {
  .pending-home .pending-phone {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .pending-home .pending-advisor-hero p {
    font-size: 21px !important;
  }
  .pending-home .pending-section-summary h2 {
    font-size: 25px !important;
  }
  .pending-home .pending-card-head strong {
    font-size: 21px !important;
  }
}

/* Chat page drawer entry v3: bottom-left floating hamburger replaces the old back button. */
.customer-chat-home .communication-head,
.customer-chat-home .chat-head.communication-head {
  display: none !important;
}
.customer-chat-home .customer-chat-phone {
  grid-template-rows: minmax(0, 1fr) auto !important;
  padding: 0 !important;
}
.customer-chat-home .chat-thread {
  padding-bottom: calc(var(--customer-chat-input-height, 84px) + 18px + env(safe-area-inset-bottom)) !important;
}
.customer-chat-home .customer-dialog-input {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  z-index: 96 !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  width: min(100vw, 430px) !important;
  max-width: 430px !important;
  display: grid !important;
  grid-template-columns: 38px 38px minmax(0, 1fr) 42px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid rgba(217, 217, 217, 0.92) !important;
  background: rgba(247, 247, 247, 0.96) !important;
  box-shadow: 0 -8px 24px rgba(12, 18, 14, 0.06) !important;
}
.customer-chat-home .customer-dialog-input .chat-inline-menu-button,
.customer-chat-home .customer-dialog-input .chat-inline-back-button {
  display: grid !important;
  grid-column: 1 !important;
  place-items: center !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #cfd5cf !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #111111 !important;
  box-shadow: 0 4px 14px rgba(17, 17, 17, 0.08) !important;
}
.customer-chat-home .customer-dialog-input .chat-inline-menu-button svg,
.customer-chat-home .customer-dialog-input .chat-inline-back-button svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
}
.customer-chat-home .customer-dialog-input .chat-voice-button {
  grid-column: 2 !important;
}
.customer-chat-home .customer-dialog-input textarea {
  grid-column: 3 !important;
  min-width: 0 !important;
}
.customer-chat-home .customer-dialog-input #customerChatSendButton {
  grid-column: 4 !important;
}
.customer-chat-home .customer-chat-drawer-shell {
  position: fixed !important;
  inset: 0 !important;
  z-index: 130 !important;
}

/* Pending page visual-only restore: keep the original search/filter/card framework. */
.pending-home .pending-phone {
  box-sizing: border-box !important;
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto !important;
  gap: 10px !important;
  height: min(var(--app-height), 100dvh) !important;
  max-height: 100dvh !important;
  padding: 10px 12px calc(88px + env(safe-area-inset-bottom)) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(211, 244, 95, 0.42), transparent 30%),
    linear-gradient(180deg, #f2ffd9 0%, #f8fff0 56%, #fbfdf8 100%) !important;
  overflow: hidden !important;
}
.pending-home .pending-advisor-hero,
.pending-home .pending-section-summary,
.pending-home .pending-extra-actions {
  display: none !important;
}
.pending-home .pending-head {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pending-home .pending-head .page-title-block {
  min-width: 0 !important;
  text-align: center !important;
}
.pending-home .pending-head h1,
.pending-home #pendingPageTitle {
  margin: 0 !important;
  color: #101513 !important;
  font-size: 22px !important;
  line-height: 1.16 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}
.pending-home #pendingPageSubtitle {
  display: block !important;
  margin: 3px 0 0 !important;
  color: #64706a !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home .pending-head .round-icon {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: #111711 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  box-shadow: 0 6px 18px rgba(18, 28, 18, 0.06) !important;
}
.pending-home .pending-head .round-icon[hidden] {
  visibility: hidden !important;
  display: grid !important;
}
.pending-home .pending-search {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 78px !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pending-home .pending-search input {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(203, 225, 211, 0.95) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #172018 !important;
  font-size: 17px !important;
  line-height: 46px !important;
  font-weight: 650 !important;
  box-shadow: none !important;
}
.pending-home .pending-search button {
  box-sizing: border-box !important;
  width: 78px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(203, 225, 211, 0.95) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #2f7a45 !important;
  font-size: 17px !important;
  line-height: 46px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
.pending-home .pending-sort {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}
.pending-home .pending-sort::-webkit-scrollbar {
  display: none !important;
}
.pending-home .pending-sort button,
.pending-home .pending-sort .pending-inline-add {
  flex: 0 0 auto !important;
  min-width: 64px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid rgba(189, 222, 199, 0.95) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.74) !important;
  color: #1b2a22 !important;
  font-size: 16px !important;
  line-height: 36px !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
}
.pending-home .pending-sort button.active {
  background: #e7f8bf !important;
  border-color: #5cc46a !important;
  color: #2f7a45 !important;
}
.pending-home .pending-sales-filter:not([hidden]) {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pending-home .pending-sales-filter[hidden] {
  display: none !important;
}
.pending-home .pending-filter-label {
  color: #52615a !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}
.pending-home .pending-sales-filter select {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 36px !important;
  border: 1px solid rgba(203, 225, 211, 0.95) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #27342c !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}
.pending-home .pending-filter-popover:not([hidden]) {
  display: block !important;
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  top: 148px !important;
  z-index: 30 !important;
}
.pending-home .pending-filter-popover[hidden] {
  display: none !important;
}
.pending-home .pending-list {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 4px 0 10px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}
.pending-home .pending-empty {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid rgba(203, 225, 211, 0.78) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.86) !important;
  color: #657169 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}
.pending-home .pending-item,
.pending-home .pending-item.no-owner {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.pending-home .pending-plan {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(203, 225, 211, 0.8) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: 0 8px 20px rgba(20, 40, 26, 0.045) !important;
}
.pending-home .pending-card-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
}
.pending-home .pending-card-head strong {
  min-width: 0 !important;
  color: #18211d !important;
  font-size: 21px !important;
  line-height: 1.16 !important;
  font-weight: 850 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home .pending-owner-inline {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  max-width: 118px !important;
  height: 27px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(232, 248, 222, 0.9) !important;
  color: #43a160 !important;
  font-size: 14px !important;
  line-height: 27px !important;
  font-weight: 760 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home button.pending-owner-inline {
  cursor: pointer !important;
}
.pending-home .pending-card-head em {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 32px !important;
  height: 27px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: rgba(232, 248, 222, 0.9) !important;
  color: #2f7a45 !important;
  font-size: 17px !important;
  line-height: 27px !important;
  font-style: normal !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
.pending-home .pending-contact {
  display: block !important;
  width: 100% !important;
  color: #6a746e !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  font-weight: 650 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home .pending-next {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  color: #1d2821 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pending-home .pending-next b {
  color: #2f7a56 !important;
  font-weight: 850 !important;
}
.pending-home .pending-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
}
.pending-home .pending-actions button {
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  min-width: 94px !important;
  height: 36px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(211, 223, 216, 0.95) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #2f7a45 !important;
  font-size: 16px !important;
  line-height: 36px !important;
  font-weight: 760 !important;
  box-shadow: none !important;
}
.pending-home .pending-floating-add {
  display: grid !important;
  place-items: center !important;
  position: absolute !important;
  right: 16px !important;
  bottom: calc(80px + env(safe-area-inset-bottom)) !important;
  z-index: 40 !important;
  width: 58px !important;
  height: 58px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #58c767 !important;
  color: #ffffff !important;
  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 520 !important;
  box-shadow: 0 16px 32px rgba(88, 199, 103, 0.28) !important;
}
.pending-home .pending-tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: center !important;
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  z-index: 45 !important;
  transform: translateX(-50%) !important;
  width: min(100vw, 430px) !important;
  max-width: 430px !important;
  min-height: calc(68px + env(safe-area-inset-bottom)) !important;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid rgba(218, 226, 222, 0.95) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 -8px 24px rgba(18, 28, 18, 0.06) !important;
}
@media (max-width: 380px) {
  .pending-home .pending-phone {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .pending-home .pending-card-head strong {
    font-size: 20px !important;
  }
  .pending-home .pending-owner-inline {
    max-width: 98px !important;
  }
}

/* Global drawer navigation v1: replace bottom tabs with a floating hamburger outside chat pages. */
.app-bottom-nav,
.brain-tabs.app-bottom-nav,
.pending-tabs.app-bottom-nav,
.customer-chat-home .app-bottom-nav,
.brain-home .app-bottom-nav,
.pending-home .app-bottom-nav,
.customer-form-home .app-bottom-nav,
.customer-detail-home .app-bottom-nav,
.video-home .app-bottom-nav {
  display: none !important;
}
.global-drawer-fab {
  position: fixed !important;
  left: max(14px, calc((100vw - 430px) / 2 + 14px)) !important;
  bottom: calc(16px + env(safe-area-inset-bottom)) !important;
  z-index: 118 !important;
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(205, 214, 207, 0.92) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #111711 !important;
  box-shadow: 0 10px 24px rgba(16, 24, 18, 0.12) !important;
  backdrop-filter: blur(12px) !important;
}
.global-drawer-fab[hidden],
body.show-login-home .global-drawer-fab,
body.is-customer-chat-page .global-drawer-fab {
  display: none !important;
}
.global-drawer-fab svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
}
.global-drawer-shell {
  position: fixed !important;
  inset: 0 !important;
  z-index: 140 !important;
  pointer-events: none !important;
}
.global-drawer-shell[hidden] {
  display: none !important;
}
.global-drawer-shell.is-open {
  pointer-events: auto !important;
}
.global-drawer-shell .customer-chat-drawer-mask {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: rgba(17, 20, 18, 0.32) !important;
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
}
.global-drawer-shell.is-open .customer-chat-drawer-mask {
  opacity: 1 !important;
}
.global-drawer-shell .customer-chat-drawer {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  box-sizing: border-box !important;
  width: min(80vw, 344px) !important;
  max-width: 344px !important;
  min-width: 280px !important;
  padding: calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom)) !important;
  border-radius: 0 18px 18px 0 !important;
  background: #ffffff !important;
  color: #111711 !important;
  box-shadow: 18px 0 42px rgba(13, 21, 15, 0.18) !important;
  transform: translateX(-104%) !important;
  transition: transform 0.22s ease !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
}
.global-drawer-shell.is-open .customer-chat-drawer {
  transform: translateX(0) !important;
}
.global-drawer-shell .drawer-profile {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid rgba(222, 228, 224, 0.9) !important;
}
.global-drawer-shell .drawer-avatar {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  background: #d8fb64 !important;
  color: #101513 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
}
.global-drawer-shell .drawer-profile strong,
.global-drawer-shell .drawer-profile span {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.global-drawer-shell .drawer-profile strong {
  color: #101513 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 820 !important;
}
.global-drawer-shell .drawer-profile span {
  margin-top: 3px !important;
  color: #657169 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
}
.global-drawer-shell .drawer-profile button {
  height: 32px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(211, 223, 216, 0.95) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #2f7a45 !important;
  font-size: 13px !important;
  line-height: 32px !important;
  font-weight: 760 !important;
}
.global-drawer-shell .drawer-customer-zone {
  margin: 20px 0 0 !important;
}
.global-drawer-shell .drawer-section-toggle {
  width: 100% !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #f6f9f2 !important;
  color: #111711 !important;
  font-size: 15px !important;
  font-weight: 780 !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.global-drawer-shell .drawer-section-toggle.is-open span:last-child,
.global-drawer-shell .drawer-section-toggle span:last-child {
  color: #111711 !important;
  transition: transform 0.2s ease !important;
}
.global-drawer-shell .drawer-section-toggle span:last-child {
  transform: rotate(0deg) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  display: inline-block !important;
}
.global-drawer-shell .drawer-section-toggle[aria-expanded="true"] span:last-child {
  transform: rotate(180deg) !important;
}
.global-drawer-shell .drawer-customer-list-wrap {
  margin-top: 10px !important;
}
.global-drawer-shell .drawer-customer-list-wrap[hidden] {
  display: none !important;
}
.global-drawer-shell .drawer-customer-list .drawer-customer-empty {
  margin: 0 !important;
  padding: 10px 2px !important;
  color: #7a7f7d !important;
  font-size: 12px !important;
}
.global-drawer-shell .drawer-customer-item {
  margin: 0 !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #f6f9f2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
  width: 100% !important;
  text-align: left !important;
  min-height: 54px !important;
  margin-top: 8px !important;
}
.global-drawer-shell .drawer-customer-item + .drawer-customer-item {
  margin-top: 8px !important;
}
.global-drawer-shell .drawer-customer-item.active {
  background: #eafdba !important;
}
.global-drawer-shell .drawer-customer-main {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
}
.global-drawer-shell .drawer-customer-main strong,
.global-drawer-shell .drawer-customer-main em {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.global-drawer-shell .drawer-customer-main strong {
  font-size: 14px !important;
  color: #111711 !important;
  font-weight: 780 !important;
  line-height: 1.2 !important;
}
.global-drawer-shell .drawer-customer-main em {
  font-style: normal !important;
  color: #657169 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}
.global-drawer-shell .drawer-customer-pin {
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: rgba(240,244,237,0.9) !important;
  color: #2f7a45 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}
.global-drawer-shell .drawer-main-links,
.global-drawer-shell .drawer-task-list {
  display: grid !important;
  gap: 8px !important;
  margin: 16px 0 0 !important;
}
.global-drawer-shell .drawer-main-links button,
.global-drawer-shell .drawer-task-list button,
.global-drawer-shell .drawer-new-task {
  position: relative !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 34px 0 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #f6f9f2 !important;
  color: #111711 !important;
  text-align: left !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
}
.global-drawer-shell .drawer-main-links button::after,
.global-drawer-shell .drawer-task-list button::after {
  content: "鈥? !important;
  position: absolute !important;
  right: 14px !important;
  color: #8aba38 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
}
.global-drawer-shell .drawer-main-links button:focus,
.global-drawer-shell .drawer-main-links button:hover,
.global-drawer-shell .drawer-task-list button:focus,
.global-drawer-shell .drawer-task-list button:hover,
.global-drawer-shell .drawer-task-list button.active {
  background: #eafdba !important;
}
.global-drawer-shell .drawer-task-zone {
  margin: 20px 0 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid rgba(222, 228, 224, 0.9) !important;
}
.global-drawer-shell .drawer-new-task {
  background: #101513 !important;
  color: #d8fb64 !important;
  font-weight: 850 !important;
}
.global-drawer-shell .drawer-task-title {
  margin: 16px 0 8px !important;
  color: #657169 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
}
.global-drawer-shell .drawer-task-list button {
  min-height: 54px !important;
  align-items: center !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.global-drawer-shell .drawer-task-list button span,
.global-drawer-shell .drawer-task-list button em {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.global-drawer-shell .drawer-task-list button em {
  margin-top: 4px !important;
  color: #657169 !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-style: normal !important;
  font-weight: 650 !important;
}
.pending-home .pending-phone,
.brain-home .brain-phone,
.customer-form-home .customer-form-phone,
.customer-detail-home .customer-detail-phone,
.video-home .video-phone {
  padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important;
}

/* Chat upload menu v2: plus opens two direct actions, file picker or camera. */
.customer-chat-home .customer-dialog-input .customer-upload-menu {
  box-sizing: border-box !important;
  width: 152px !important;
  min-width: 152px !important;
  right: 0 !important;
  bottom: calc(100% + 10px) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2px !important;
  padding: 8px !important;
  border: 1px solid rgba(221, 221, 221, 0.95) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(10, 15, 12, 0.1) !important;
}
.customer-chat-home .customer-dialog-input .customer-upload-menu[hidden] {
  display: none !important;
}
.customer-chat-home .customer-dialog-input .customer-upload-menu button {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #111111 !important;
  text-align: left !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}
.customer-chat-home .customer-dialog-input .customer-upload-menu button:focus,
.customer-chat-home .customer-dialog-input .customer-upload-menu button:hover {
  background: #f6f7f6 !important;
}
.customer-chat-home .customer-dialog-input .customer-upload-menu button svg {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  color: #1f2933 !important;
}
.customer-chat-home .customer-dialog-input .customer-upload-menu button span {
  display: inline-block !important;
  min-width: 0 !important;
  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

/* Pending customer pages compact eof: keep list pages aligned with the app mobile scale. */
.pending-home .pending-phone {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 430px !important;
  min-height: 100dvh !important;
  height: min(var(--app-height), 100dvh) !important;
  margin: 0 auto !important;
  padding: 8px 12px calc(66px + env(safe-area-inset-bottom)) !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.pending-home .pending-head {
  min-height: 44px !important;
  grid-template-columns: 36px minmax(0, 1fr) 36px !important;
  gap: 8px !important;
}
.pending-home .pending-head .round-icon {
  width: 34px !important;
  height: 34px !important;
  font-size: 21px !important;
  box-shadow: 0 6px 14px rgba(18, 28, 18, 0.05) !important;
}
.pending-home .pending-head h1,
.pending-home #pendingPageTitle {
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 820 !important;
}
.pending-home .pending-search {
  grid-template-columns: minmax(0, 1fr) 72px !important;
  gap: 8px !important;
}
.pending-home .pending-search input,
.pending-home .pending-search button {
  height: 40px !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  line-height: 40px !important;
}
.pending-home .pending-search input {
  padding: 0 12px !important;
  font-weight: 600 !important;
}
.pending-home .pending-search button {
  width: 72px !important;
  font-weight: 760 !important;
}
.pending-home .pending-sort {
  gap: 8px !important;
  padding: 1px 0 !important;
}
.pending-home .pending-sort button,
.pending-home .pending-sort .pending-inline-add {
  min-width: 58px !important;
  height: 34px !important;
  padding: 0 14px !important;
  font-size: 15px !important;
  line-height: 34px !important;
  font-weight: 720 !important;
}
.pending-home .pending-sales-filter:not([hidden]) {
  min-height: 40px !important;
  gap: 6px !important;
}
.pending-home .pending-filter-label {
  height: 34px !important;
  padding: 0 8px !important;
  border-radius: 9px !important;
  background: rgba(232, 248, 238, 0.9) !important;
  color: #52615a !important;
  font-size: 14px !important;
  line-height: 34px !important;
  font-weight: 700 !important;
}
.pending-home .pending-sales-filter select {
  height: 40px !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
.pending-home .pending-list {
  gap: 10px !important;
  padding: 2px 0 8px !important;
}
.pending-home .pending-plan {
  gap: 8px !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
}
.pending-home .pending-card-head {
  gap: 7px !important;
}
.pending-home .pending-card-head strong {
  font-size: 19px !important;
  line-height: 1.16 !important;
  font-weight: 820 !important;
}
.pending-home .pending-owner-inline {
  max-width: 100px !important;
  height: 25px !important;
  padding: 0 8px !important;
  font-size: 13px !important;
  line-height: 25px !important;
}
.pending-home .pending-card-head em {
  min-width: 30px !important;
  height: 25px !important;
  padding: 0 9px !important;
  font-size: 15px !important;
  line-height: 25px !important;
}
.pending-home .pending-contact,
.pending-home .pending-next {
  font-size: 15px !important;
  line-height: 1.32 !important;
}
.pending-home .pending-actions {
  gap: 8px !important;
  margin-top: 2px !important;
}
.pending-home .pending-actions button {
  min-width: 86px !important;
  height: 34px !important;
  padding: 0 12px !important;
  border-radius: 9px !important;
  font-size: 15px !important;
  line-height: 34px !important;
}
.pending-home .pending-empty {
  padding: 16px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}
.pending-home .pending-floating-add {
  right: 18px !important;
  bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  width: 54px !important;
  height: 54px !important;
  font-size: 31px !important;
  box-shadow: 0 14px 26px rgba(88, 199, 103, 0.24) !important;
}
.pending-home .pending-tabs,
.brain-tabs.app-bottom-nav,
.pending-tabs.app-bottom-nav,
.app-bottom-nav {
  display: none !important;
}
@media (max-width: 380px) {
  .pending-home .pending-head h1,
  .pending-home #pendingPageTitle {
    font-size: 19px !important;
  }
  .pending-home .pending-search input,
  .pending-home .pending-search button,
  .pending-home .pending-sort button,
  .pending-home .pending-sales-filter select {
    font-size: 15px !important;
  }
  .pending-home .pending-card-head strong {
    font-size: 18px !important;
  }
}

/* Pending customer pages mobile scale canonical v2.
   This block is intentionally last: older pending-page rules above are legacy. */
.pending-home .pending-phone {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 430px !important;
  min-height: 100dvh !important;
  height: min(var(--app-height), 100dvh) !important;
  margin: 0 auto !important;
  padding: 6px 10px calc(76px + env(safe-area-inset-bottom)) !important;
  gap: 7px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #eefbd2 0%, #f8fff3 58%, #fbfff9 100%) !important;
}
.pending-home .pending-head {
  min-height: 40px !important;
  grid-template-columns: 34px minmax(0, 1fr) 34px !important;
  gap: 7px !important;
  padding: 0 !important;
  margin: 0 0 2px !important;
}
.pending-home .pending-head .round-icon {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  border-radius: 999px !important;
  font-size: 20px !important;
  line-height: 1 !important;
  box-shadow: 0 7px 16px rgba(18, 28, 18, 0.05) !important;
}
.pending-home .pending-head h1,
.pending-home #pendingPageTitle {
  font-size: 19px !important;
  line-height: 1.12 !important;
  font-weight: 820 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}
.pending-home .pending-head p,
.pending-home #pendingPageSubtitle {
  font-size: 11px !important;
  line-height: 1.2 !important;
  margin-top: 1px !important;
}
.pending-home .pending-search {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 60px !important;
  gap: 7px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.pending-home .pending-search input,
.pending-home .pending-search button {
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  line-height: 36px !important;
}
.pending-home .pending-search input {
  min-width: 0 !important;
  padding: 0 10px !important;
  font-weight: 600 !important;
}
.pending-home .pending-search button {
  width: 60px !important;
  padding: 0 !important;
  font-weight: 760 !important;
}
.pending-home .pending-sort {
  display: flex !important;
  gap: 7px !important;
  padding: 1px 0 !important;
  margin: 0 !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.pending-home .pending-sort::-webkit-scrollbar {
  display: none !important;
}
.pending-home .pending-sort button,
.pending-home .pending-sort .pending-inline-add {
  flex: 0 0 auto !important;
  min-width: 50px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  line-height: 30px !important;
  font-weight: 720 !important;
  white-space: nowrap !important;
}
.pending-home .pending-sales-filter:not([hidden]) {
  min-height: 34px !important;
  gap: 6px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.pending-home .pending-filter-label {
  width: 40px !important;
  height: 32px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  line-height: 32px !important;
  font-weight: 700 !important;
  text-align: center !important;
  white-space: nowrap !important;
}
.pending-home .pending-sales-filter select {
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 9px !important;
  padding: 0 28px 0 12px !important;
  font-size: 14px !important;
  line-height: 34px !important;
  font-weight: 700 !important;
}
.pending-home .pending-list {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  gap: 8px !important;
  padding: 0 0 4px !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
}
.pending-home .pending-list::-webkit-scrollbar {
  display: none !important;
}
.pending-home .pending-plan {
  gap: 7px !important;
  padding: 11px 13px !important;
  border-radius: 12px !important;
  border-width: 1px !important;
  box-shadow: 0 9px 22px rgba(35, 66, 43, 0.06) !important;
}
.pending-home .pending-card-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 6px !important;
}
.pending-home .pending-card-head strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 18px !important;
  line-height: 1.14 !important;
  font-weight: 820 !important;
  letter-spacing: 0 !important;
}
.pending-home .pending-owner-inline {
  max-width: 96px !important;
  height: 23px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 23px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.pending-home .pending-card-head em {
  min-width: 28px !important;
  height: 23px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 23px !important;
  font-weight: 780 !important;
}
.pending-home .pending-contact,
.pending-home .pending-next {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.32 !important;
  font-weight: 700 !important;
  color: #6b7770 !important;
}
.pending-home .pending-next {
  color: #1d2b25 !important;
  font-weight: 760 !important;
}
.pending-home .pending-actions {
  gap: 7px !important;
  margin-top: 1px !important;
}
.pending-home .pending-actions button {
  min-width: 74px !important;
  height: 31px !important;
  min-height: 31px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  line-height: 31px !important;
  font-weight: 760 !important;
}
.pending-home .pending-empty {
  padding: 14px 12px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}
.pending-home .pending-floating-add {
  right: max(16px, calc((100vw - 430px) / 2 + 16px)) !important;
  bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  font-size: 29px !important;
  line-height: 1 !important;
  box-shadow: 0 12px 24px rgba(88, 199, 103, 0.22) !important;
}
.global-drawer-fab {
  left: max(14px, calc((100vw - 430px) / 2 + 14px)) !important;
  bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
}
.brain-home .brain-phone {
  padding-bottom: 0 !important;
}
.brain-home .brain-phone > .app-bottom-nav,
.brain-home .app-bottom-nav,
.app-bottom-nav,
.brain-tabs.app-bottom-nav,
.pending-tabs.app-bottom-nav {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.global-drawer-fab {
  position: fixed !important;
  inset: auto auto calc(18px + env(safe-area-inset-bottom)) max(14px, calc((100vw - 430px) / 2 + 14px)) !important;
  z-index: 118 !important;
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.customer-add-fab {
  position: fixed !important;
  right: max(14px, calc((100vw - 430px) / 2 + 14px)) !important;
  bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  z-index: 118 !important;
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #07c160 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(7, 193, 96, 0.26) !important;
}
.customer-add-fab svg {
  width: 23px !important;
  height: 23px !important;
  stroke: currentColor !important;
}
.customer-add-fab[hidden],
body.show-login-home .customer-add-fab,
body.is-customer-chat-page .customer-add-fab {
  display: none !important;
}
.brain-home .today-home {
  align-content: stretch !important;
  align-items: stretch !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  height: 100% !important;
  min-height: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}
.brain-home .today-home.has-commercial-license-notice {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  gap: 8px !important;
}
.brain-home .today-boss-customer-panel {
  align-self: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
}
.brain-home .today-home.has-commercial-license-notice .today-boss-customer-panel {
  height: auto !important;
  min-height: 0 !important;
}
.brain-home .today-boss-filter-list {
  align-self: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  padding-bottom: 72px !important;
  scroll-padding-bottom: 72px !important;
}
.brain-home .today-boss-filter-card {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 40px !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 8px 10px 8px 12px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #f6faf2 !important;
  color: #111711 !important;
  box-shadow: none !important;
}
.brain-home .today-boss-filter-card + .today-boss-filter-card {
  margin-top: 0 !important;
}
.brain-home .today-boss-filter-card-main {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}
.brain-home .today-boss-filter-card-main strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #111711 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}
.brain-home .today-boss-filter-card-main em {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #657169 !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-style: normal !important;
  font-weight: 700 !important;
}
.brain-home .today-boss-filter-star {
  justify-self: end !important;
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background: rgba(240, 244, 237, 0.92) !important;
  color: #4f8c5d !important;
  font-size: 21px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
}
.brain-home .today-boss-filter-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 2px !important;
  min-height: 38px !important;
  height: auto !important;
  padding: 6px 12px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #f6faf2 !important;
}
.brain-home .today-boss-filter-card + .today-boss-filter-card {
  margin-top: 4px !important;
}
.brain-home .today-boss-filter-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  min-width: 0 !important;
}
.brain-home .today-boss-filter-card-head strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #111711 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}
.brain-home .today-boss-filter-card-head span {
  flex: 0 0 auto !important;
  padding: 1px 6px !important;
  border-radius: 999px !important;
  background: #e7f6d1 !important;
  color: #4c9a22 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
.brain-home .today-boss-filter-card p {
  margin: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #657169 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
}
.brain-home .today-boss-filter-card p b {
  color: #111711 !important;
}
.brain-home .today-boss-filter-card > em {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #657169 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-style: normal !important;
  font-weight: 500 !important;
}
.brain-home .today-boss-filter-list {
  gap: 6px !important;
}
.brain-home .today-boss-filter-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 3px !important;
  min-height: 78px !important;
  height: auto !important;
  padding: 8px 78px 8px 12px !important;
  overflow: hidden !important;
}
.brain-home .today-boss-filter-card-head {
  display: block !important;
  min-width: 0 !important;
  padding: 0 !important;
}
.brain-home .today-boss-filter-card-head strong {
  display: block !important;
  max-width: 100% !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}
.brain-home .today-boss-filter-card-head span {
  position: absolute !important;
  top: 8px !important;
  right: 12px !important;
  max-width: 58px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}
.brain-home .today-boss-filter-card p,
.brain-home .today-boss-filter-card > em {
  display: block !important;
  max-width: 100% !important;
  margin: 0 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
}
.brain-home .today-boss-scope-row {
  padding: 0 !important;
  min-height: 22px !important;
}
.brain-home .today-boss-scope-control {
  gap: 4px !important;
  min-height: 22px !important;
}
.brain-home .today-boss-scope-trigger {
  min-height: 22px !important;
  height: 22px !important;
  gap: 4px !important;
  padding: 0 7px !important;
  border-radius: 7px !important;
}
.brain-home .today-boss-scope-trigger span {
  font-size: 9.5px !important;
  line-height: 1 !important;
}
.brain-home .today-boss-scope-trigger strong {
  font-size: 10.5px !important;
  line-height: 1 !important;
}
.brain-home .today-boss-scope-trigger em,
.brain-home .today-boss-scope-trigger em svg {
  width: 12px !important;
  height: 12px !important;
}
.brain-home .today-boss-dashboard {
  gap: 5px !important;
}
.brain-home .today-boss-kpi-grid {
  gap: 6px !important;
}
.brain-home .today-boss-kpi-grid article {
  gap: 1px !important;
  min-height: 56px !important;
  padding: 7px 5px !important;
  border-radius: 8px !important;
}
.brain-home .today-boss-kpi-grid article strong {
  font-size: 17px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
}
.brain-home .today-boss-kpi-grid article span {
  color: #66726c !important;
  font-size: 11px !important;
  line-height: 1.12 !important;
  font-weight: 760 !important;
}
.pending-home .pending-tabs,
.pending-home .app-bottom-nav,
.brain-tabs.app-bottom-nav,
.pending-tabs.app-bottom-nav,
.app-bottom-nav {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
@media (max-width: 380px) {
  .pending-home .pending-phone {
    padding-left: 9px !important;
    padding-right: 9px !important;
  }
  .pending-home .pending-head h1,
  .pending-home #pendingPageTitle {
    font-size: 18px !important;
  }
  .pending-home .pending-search input,
  .pending-home .pending-search button,
  .pending-home .pending-sort button,
  .pending-home .pending-sales-filter select,
  .pending-home .pending-actions button {
    font-size: 13px !important;
  }
  .pending-home .pending-card-head strong {
    font-size: 17px !important;
  }
  .pending-home .pending-contact,
  .pending-home .pending-next {
    font-size: 13px !important;
  }
}

/* Chat coach natural response: display one action and one usable sentence, not report fields. */
.customer-chat-home .chat-coach-card {
  display: grid !important;
  gap: 7px !important;
  padding: 10px 11px !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  color: #707983 !important;
}

/* Chat bottom safe area: keep the input bar fully above the phone bottom. */
.customer-chat-home .customer-dialog-input {
  bottom: 0 !important;
  min-height: calc(64px + env(safe-area-inset-bottom)) !important;
  padding: 7px 10px calc(18px + env(safe-area-inset-bottom)) !important;
  box-sizing: border-box !important;
}
.customer-chat-home .chat-thread {
  padding-bottom: calc(var(--customer-chat-input-height, 84px) + 76px + env(safe-area-inset-bottom)) !important;
  scroll-padding-bottom: calc(var(--customer-chat-input-height, 84px) + 76px + env(safe-area-inset-bottom)) !important;
}

.kb-format-guide .kb-guide-list {
  display: grid;
  gap: 8px;
  margin: 12px 0;
  padding-left: 18px;
  color: #2a332a;
  font-size: 14px;
  line-height: 1.55;
}

.kb-format-guide .kb-guide-list li {
  padding-left: 2px;
}

.kb-format-guide .kb-guide-list strong {
  color: #111711;
  font-weight: 800;
}

.kb-format-guide .kb-guide-desc {
  margin: 10px 0 0;
  color: #6c786d;
  font-size: 13px;
  line-height: 1.55;
}

/* Boss scope dropdown final: match the compact customer-card text scale. */
.brain-home .today-boss-scope-menu {
  min-width: 132px !important;
  gap: 1px !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
}
.brain-home .today-boss-scope-menu button {
  min-height: 24px !important;
  gap: 7px !important;
  padding: 0 3px !important;
}
.brain-home .today-boss-scope-menu button span {
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 650 !important;
}
.brain-home .today-boss-scope-menu button em {
  font-size: 11.5px !important;
  line-height: 1.15 !important;
  font-weight: 650 !important;
}
.customer-chat-home .chat-coach-card::before {
  content: "" !important;
  position: absolute !important;
  left: -6px !important;
  top: 12px !important;
  border-top: 6px solid transparent !important;
  border-bottom: 6px solid transparent !important;
  border-right: 7px solid #ffffff !important;
}
.customer-chat-home .chat-coach-action,
.customer-chat-home .chat-coach-say,
.customer-chat-home .chat-coach-branches p {
  margin: 0 !important;
  color: #151b17 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 650 !important;
}
.customer-chat-home .chat-coach-natural {
  display: grid !important;
  gap: 8px !important;
}
.customer-chat-home .chat-answer-sections {
  display: grid !important;
  gap: 7px !important;
}
.customer-chat-home .chat-answer-section {
  display: grid !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 0 0 0 9px !important;
  border-left: 2px solid #d8e4dc !important;
}
.customer-chat-home .chat-answer-section h3 {
  margin: 0 !important;
  color: #1f2d24 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}
.customer-chat-home .chat-answer-section p {
  margin: 0 !important;
  color: #4f5b54 !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  font-weight: 580 !important;
}
.customer-chat-home .chat-answer-judge {
  border-left-color: #6fb07c !important;
}
.customer-chat-home .chat-answer-action {
  border-left-color: #3e83d6 !important;
}
.customer-chat-home .chat-answer-script {
  border-left-color: #d99b35 !important;
}
.customer-chat-home .chat-answer-material {
  border-left-color: #8b93a6 !important;
}
.customer-chat-home .chat-coach-natural-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
  align-items: start !important;
  margin: 0 !important;
  color: #707983 !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
  font-weight: 780 !important;
}
.customer-chat-home .chat-coach-natural-line.has-icon {
  grid-template-columns: 22px minmax(0, 1fr) !important;
}
.customer-chat-home .chat-coach-natural-line.is-plain {
  grid-template-columns: minmax(0, 1fr) !important;
}
.customer-chat-home .chat-coach-line-icon {
  width: 22px !important;
  height: 22px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: 17px !important;
  line-height: 1 !important;
  transform: translateY(3px) !important;
}
.customer-chat-home .chat-coach-line-text {
  min-width: 0 !important;
  display: block !important;
}
.customer-chat-home .chat-coach-say {
  padding: 8px 9px !important;
  border-radius: 6px !important;
  background: #f5f6f4 !important;
  font-weight: 560 !important;
}
.customer-chat-home .chat-coach-branches {
  display: grid !important;
  gap: 5px !important;
  padding-top: 2px !important;
}
.customer-chat-home .chat-coach-branches p {
  color: #4d574f !important;
  font-size: 12.5px !important;
  font-weight: 520 !important;
}
.customer-chat-home .chat-coach-actions {
  display: grid !important;
  gap: 4px !important;
  margin-top: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
}
.customer-chat-home .chat-coach-actions button {
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 8px !important;
  border: 1px solid #d9e2d5 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #4b5b50 !important;
  font-size: 11.5px !important;
  line-height: 22px !important;
  font-weight: 650 !important;
}
.customer-chat-home .chat-coach-actions button.active {
  border-color: #8bc53f !important;
  color: #2d7a23 !important;
  background: #eefadb !important;
}
.customer-chat-home .chat-action-time,
.customer-chat-home .chat-action-tip {
  color: #8b948e !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 520 !important;
}
/* Chat coach feedback icon row: compact WeChat-like actions. */
.customer-chat-home .chat-coach-actions .chat-light-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 2px 0 0 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #8a8f8b !important;
  line-height: 1 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action.active {
  background: #f0f2f0 !important;
  color: #707874 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action:disabled {
  opacity: .58 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  stroke-width: 1.7 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action::after {
  content: attr(data-action-tooltip) !important;
  position: absolute !important;
  left: 50% !important;
  bottom: calc(100% + 7px) !important;
  transform: translateX(-50%) translateY(3px) !important;
  z-index: 5 !important;
  min-width: max-content !important;
  padding: 4px 9px !important;
  border: 1px solid rgba(215, 220, 216, .9) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #111 !important;
  box-shadow: 0 4px 14px rgba(20, 24, 20, .08) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 520 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transition: opacity .14s ease, transform .14s ease !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action:hover::after,
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action:focus-visible::after {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-action-time {
  flex: 0 0 auto !important;
  margin-left: 4px !important;
  color: #8d938f !important;
  font-size: 14px !important;
  line-height: 28px !important;
  font-weight: 500 !important;
}
.customer-chat-home .chat-coach-actions .chat-action-tip {
  margin-top: 1px !important;
  color: #7a837d !important;
  font-size: 11px !important;
}
/* Chat feedback icons must stay quiet gray, even when selected. */
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action,
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action[data-chat-action],
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action[data-chat-action].active,
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action.active {
  border-color: transparent !important;
  background: transparent !important;
  color: #8f9591 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action.active {
  background: #f1f2f1 !important;
  color: #8a908c !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action svg {
  color: inherit !important;
  stroke: currentColor !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-action-time,
.customer-chat-home .chat-coach-actions .chat-action-tip {
  color: #8f9591 !important;
}
/* Chat coach compact gray final: reduce vertical waste and block green inheritance. */
.customer-chat-home .chat-thread {
  gap: 7px !important;
  padding: 6px 10px calc(var(--customer-chat-input-height, 84px) + 10px + env(safe-area-inset-bottom)) 10px !important;
}
.customer-chat-home .chat-row {
  gap: 6px !important;
  margin: 3px 0 !important;
}
.customer-chat-home .strategy-bubble {
  max-width: min(78%, 292px) !important;
}
.customer-chat-home .chat-coach-card {
  gap: 4px !important;
  padding: 5px 8px !important;
  color: #707983 !important;
}
.customer-chat-home .chat-coach-action,
.customer-chat-home .chat-coach-say,
.customer-chat-home .chat-coach-branches p {
  font-size: 14px !important;
  line-height: 1.32 !important;
  font-weight: 650 !important;
  color: #707983 !important;
}
.customer-chat-home .chat-coach-say {
  padding: 6px 8px !important;
  line-height: 1.32 !important;
}
.customer-chat-home .chat-coach-branches {
  gap: 3px !important;
  padding-top: 0 !important;
}
.customer-chat-home .chat-coach-actions {
  gap: 0 !important;
  margin-top: 0 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions {
  gap: 9px !important;
  margin-top: 0 !important;
  min-height: 26px !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action,
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action[data-chat-action],
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action[data-chat-action].active,
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action.active {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  flex-basis: 26px !important;
  border: 0 !important;
  background: transparent !important;
  color: #8f9591 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action.active {
  background: #f1f2f1 !important;
  color: #8f9591 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action svg,
.customer-chat-home .chat-coach-actions .chat-light-actions button.chat-icon-action svg path {
  width: 19px !important;
  height: 19px !important;
  color: #8f9591 !important;
  stroke: #8f9591 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-action-time {
  color: #8f9591 !important;
  font-size: 13px !important;
  line-height: 26px !important;
}
.customer-chat-home .chat-coach-actions .chat-action-tip:empty {
  display: none !important;
}

/* Chat message polish: feedback icons align right, time sits under the reply. */
.customer-chat-home .chat-coach-actions {
  justify-items: end !important;
  width: 100% !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions {
  width: 100% !important;
  justify-content: flex-end !important;
}
.customer-chat-home .chat-time-divider {
  display: block !important;
  justify-self: center !important;
  margin: 1px auto 5px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #a4a4a4 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}
/* Touch devices can keep :hover/:focus after tapping; selected feedback icons must not leave a floating label behind. */
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action.active::after,
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action:focus:not(:focus-visible)::after {
  opacity: 0 !important;
  transform: translateX(-50%) translateY(3px) !important;
}
@media (hover: none), (pointer: coarse) {
  .customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action:hover::after,
  .customer-chat-home .chat-coach-actions .chat-light-actions .chat-icon-action:focus-visible::after {
    opacity: 0 !important;
    transform: translateX(-50%) translateY(3px) !important;
  }
}

.chat-feedback-review-dialog[hidden] {
  display: none !important;
}
.chat-feedback-review-dialog {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: var(--chat-review-top, 0px) !important;
  height: var(--chat-review-vh, 100dvh) !important;
  z-index: 2400 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 16px 12px calc(16px + env(safe-area-inset-bottom)) !important;
  background: rgba(20, 24, 22, .24) !important;
  backdrop-filter: blur(8px) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.chat-feedback-review-dialog.is-keyboard {
  align-items: center !important;
  padding: 8px 10px !important;
}
.chat-feedback-review-panel {
  position: relative !important;
  width: min(432px, calc(100vw - 24px)) !important;
  max-height: min(calc(var(--chat-review-vh, 100dvh) - 32px), 720px) !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  box-sizing: border-box !important;
  padding: 24px 18px 18px !important;
  border: 1px solid rgba(228, 234, 230, .92) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 22px 58px rgba(25, 32, 28, .18) !important;
}
.chat-feedback-review-dialog.is-keyboard .chat-feedback-review-panel {
  width: min(432px, calc(100vw - 20px)) !important;
  max-height: calc(var(--chat-review-vh, 100dvh) - 16px) !important;
  padding-top: 18px !important;
  border-radius: 24px !important;
}
.chat-feedback-review-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 42px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #f4f6f4 !important;
  color: #202520 !important;
  font-size: 24px !important;
  line-height: 1 !important;
}
.chat-feedback-review-head {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding-right: 52px !important;
  margin-bottom: 18px !important;
}
.chat-feedback-review-head strong {
  color: #151b17 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}
.chat-feedback-review-head span {
  color: #78837c !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}
.chat-feedback-review-panel label {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 14px 0 !important;
  color: #334039 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
.chat-feedback-review-field.is-primary {
  margin-top: 4px !important;
}
.chat-feedback-review-panel textarea,
.chat-feedback-review-panel select {
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid #dfe7e2 !important;
  border-radius: 18px !important;
  background: #f8faf8 !important;
  color: #1f2923 !important;
  font: inherit !important;
  font-weight: 560 !important;
  line-height: 1.45 !important;
  padding: 14px 14px !important;
  outline: none !important;
}
.chat-feedback-review-panel textarea {
  min-height: 136px !important;
  resize: vertical !important;
}
.chat-feedback-review-field:not(.is-primary) textarea {
  min-height: 118px !important;
}
.chat-feedback-review-panel select {
  min-height: 58px !important;
  appearance: auto !important;
}
.chat-feedback-review-panel textarea::placeholder {
  color: #9ca7a0 !important;
}
.chat-feedback-review-panel textarea:focus,
.chat-feedback-review-panel select:focus {
  border-color: #b8d89d !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(139, 197, 63, .14) !important;
}
.chat-feedback-review-check {
  flex-direction: row !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  background: #f4f7f3 !important;
  font-size: 15px !important;
  color: #3a443e !important;
}
.chat-feedback-review-check input {
  width: 18px !important;
  height: 18px !important;
  accent-color: #69b940 !important;
}
.chat-feedback-review-error {
  min-height: 18px !important;
  margin: 4px 0 0 !important;
  color: #b42318 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 650 !important;
}
.chat-feedback-review-actions {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: 12px !important;
  margin-top: 12px !important;
}
.chat-feedback-review-actions button {
  min-height: 50px !important;
  border-radius: 18px !important;
  border: 1px solid #dfe7e2 !important;
  background: #fff !important;
  color: #263029 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}
.chat-feedback-review-actions #chatReviewSave {
  border-color: #121812 !important;
  background: #111811 !important;
  color: #fff !important;
}

/* Global drawer customer toggle final: keep the header block the same size when open. */
.global-drawer-shell .drawer-customer-zone > .drawer-section-toggle,
.global-drawer-shell .drawer-customer-zone > .drawer-section-toggle.is-open,
.global-drawer-shell .drawer-customer-zone > .drawer-section-toggle[aria-expanded="true"] {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  flex: 0 0 44px !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 14px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #f6f9f2 !important;
}
.global-drawer-shell .drawer-customer-zone > .drawer-section-toggle span:first-child {
  min-width: 0 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 780 !important;
  color: #111711 !important;
}
.global-drawer-shell .drawer-customer-zone > .drawer-section-toggle span:last-child {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: #111711 !important;
}

/* Customer chat bottom clearance final: keep the fixed composer above the phone bottom. */
.customer-chat-home .customer-dialog-input {
  bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  min-height: 58px !important;
  padding: 7px 10px 8px !important;
  box-sizing: border-box !important;
}
.customer-chat-home .chat-thread {
  padding-bottom: calc(var(--customer-chat-input-height, 84px) + 30px + env(safe-area-inset-bottom)) !important;
  scroll-padding-bottom: calc(var(--customer-chat-input-height, 84px) + 30px + env(safe-area-inset-bottom)) !important;
}

/* Pending profile confirmation dialog */
.pending-profile-dialog {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9998 !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  background: rgba(17, 23, 17, .34) !important;
}
.pending-profile-dialog[hidden] {
  display: none !important;
}
.pending-profile-dialog-panel {
  position: relative !important;
  width: min(360px, calc(100vw - 36px)) !important;
  max-height: min(78vh, 620px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 12px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid #dcebe2 !important;
  box-shadow: 0 18px 50px rgba(17, 23, 17, .18) !important;
}
.pending-profile-dialog-close {
  position: absolute !important;
  top: 8px !important;
  right: 10px !important;
  width: 26px !important;
  height: 26px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f2f7f3 !important;
  color: #52635a !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
.pending-profile-dialog .pending-profile-card {
  margin: 0 !important;
  padding-top: 14px !important;
  box-shadow: none !important;
}
.pending-profile-dialog-tip {
  margin: 8px 2px 0 !important;
  color: #73847a !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* Temporary new-customer save dialog */
.temp-customer-dialog {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 18px !important;
  background: rgba(16, 24, 18, .38) !important;
}
.temp-customer-dialog[hidden] {
  display: none !important;
}
.temp-customer-dialog-panel {
  width: min(420px, calc(100vw - 36px)) !important;
  display: grid !important;
  gap: 14px !important;
  padding: 18px !important;
  padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 50px rgba(17, 23, 17, .2) !important;
}
.temp-customer-dialog-head {
  display: grid !important;
  gap: 6px !important;
}
.temp-customer-dialog-head strong {
  color: #15221a !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
}
.temp-customer-dialog-head span {
  color: #6b776f !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.temp-customer-name-field {
  display: grid !important;
  gap: 7px !important;
  color: #44524a !important;
  font-size: 13px !important;
}
.temp-customer-name-field input {
  width: 100% !important;
  min-height: 46px !important;
  border: 1px solid #dce7df !important;
  border-radius: 12px !important;
  background: #f8fbf8 !important;
  color: #142018 !important;
  font-size: 16px !important;
  outline: none !important;
  padding: 0 13px !important;
}
.temp-customer-name-field input:focus {
  border-color: #77c58f !important;
  box-shadow: 0 0 0 3px rgba(7, 193, 96, .12) !important;
}
.temp-customer-dialog-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
.temp-customer-dialog-actions button {
  min-height: 44px !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.temp-customer-dialog-actions button[data-temp-customer-action="discard"] {
  background: #eef3ef !important;
  color: #5d6a62 !important;
}
.temp-customer-dialog-actions button[data-temp-customer-action="save"] {
  background: #07c160 !important;
  color: #ffffff !important;
}

.company-license-panel {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #dbeafe;
  border-radius: 14px;
  background: #f8fbff;
}

.company-license-panel label {
  margin: 0;
}

.company-license-features {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.company-license-features label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: auto;
}

.company-license-state {
  align-self: center;
  color: #475569;
  font-size: 13px;
}

/* Commercial admin standalone page */
.commercial-admin-body .enterprise-admin-page {
  background:
    radial-gradient(circle at 20% 0%, rgba(7, 193, 96, .13), transparent 28%),
    linear-gradient(180deg, #f1f5f3 0%, #f7f8f8 100%) !important;
}

.commercial-admin-body .commercial-login-card,
.commercial-admin-body .commercial-hero,
.commercial-admin-body .commercial-filter-card,
.commercial-admin-body .commercial-company-card {
  animation: commercialRise .24s ease both;
}

.commercial-admin-body #commercialContent {
  display: grid;
  gap: 9px;
}

.commercial-hero {
  display: flex !important;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px !important;
  background: linear-gradient(135deg, #ffffff 0%, #f2fff8 100%) !important;
}

.commercial-hero h1 {
  margin: 3px 0 4px;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.04em;
}

.commercial-hero p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.55;
}

.commercial-kicker {
  color: #07a653;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.commercial-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.commercial-metric {
  padding: 12px;
  border: 1px solid #dfe8e3;
  border-radius: 12px;
  background: #fff;
  animation: commercialRise .22s ease both;
}

.commercial-metric:first-child {
  grid-column: 1 / -1;
  background: #10251b;
  color: #fff;
}

.commercial-metric span {
  display: block;
  color: inherit;
  opacity: .72;
  font-size: 12px;
}

.commercial-metric strong {
  display: block;
  margin-top: 6px;
  font-size: 24px;
  line-height: 1;
}

.commercial-filter-tabs {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.commercial-filter-tabs button,
.commercial-row-actions button,
.commercial-dialog-panel footer button {
  white-space: nowrap;
  border: 1px solid #dfe8e3 !important;
  background: #fff !important;
  color: #26342d !important;
}

.commercial-filter-tabs button.active,
.commercial-row-actions button:first-child,
.commercial-dialog-panel footer button:last-child {
  border-color: #07c160 !important;
  background: #07c160 !important;
  color: #fff !important;
}

.commercial-company-list {
  display: grid;
  gap: 9px;
}

.commercial-company-row {
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 13px;
  background: #fbfdfc;
  animation: commercialRise .2s ease both;
}

.commercial-company-main {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.commercial-company-main strong {
  display: block;
  color: #17221d;
  font-size: 15px;
}

.commercial-company-main small,
.commercial-note-list p {
  display: block;
  margin: 3px 0 0;
  color: #64748b;
  font-size: 11px;
  line-height: 1.4;
}

.commercial-status {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.commercial-status.is-ok { background: #dcfce7; color: #166534; }
.commercial-status.is-warn { background: #fef3c7; color: #92400e; }
.commercial-status.is-danger { background: #fee2e2; color: #991b1b; }

.commercial-company-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.commercial-company-stats span {
  padding: 7px;
  border-radius: 9px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 11px;
}

.commercial-company-stats b {
  display: block;
  margin-top: 3px;
  color: #0f172a;
  font-size: 13px;
}

.commercial-feature-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.commercial-feature-tags span {
  padding: 4px 7px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
}

.commercial-note-list {
  padding: 8px;
  border-radius: 10px;
  background: #f8fafc;
}

.commercial-note-list b {
  margin-right: 6px;
  color: #334155;
}

.commercial-section-head,
.commercial-strategy-main {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.commercial-section-head h2 {
  margin: 0;
}

.commercial-section-head button {
  border: 1px solid #d9e5df;
  background: #fff;
  color: #16241e;
  border-radius: 8px;
  padding: 9px 14px;
  font-weight: 800;
}

.commercial-metrics.compact {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  margin: 14px 0;
}

.commercial-strategy-list {
  display: grid;
  gap: 12px;
}

.commercial-strategy-row {
  background: #f8fbf7;
  border: 1px solid #e4eee8;
  border-radius: 8px;
  padding: 14px;
  display: grid;
  gap: 10px;
  animation: commercialRise .2s ease both;
}

.commercial-strategy-main strong {
  display: block;
  font-size: 18px;
  line-height: 1.35;
  color: #0f1d17;
}

.commercial-strategy-main small,
.commercial-strategy-meta,
.commercial-strategy-note {
  color: #607269;
  line-height: 1.55;
}

.commercial-strategy-meta,
.commercial-strategy-note {
  margin: 0;
  font-size: 14px;
}

.commercial-strategy-note {
  background: #fff;
  border-left: 3px solid #9ad35c;
  border-radius: 6px;
  padding: 8px 10px;
}

.commercial-gap-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.commercial-gap-group {
  background: #f8fbf7;
  border: 1px solid #e4eee8;
  border-radius: 8px;
  padding: 12px;
  min-width: 0;
}

.commercial-gap-group > strong {
  display: block;
  color: #14231c;
  font-size: 15px;
  margin-bottom: 8px;
}

.commercial-gap-group p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  padding: 7px 0;
  border-top: 1px solid #edf4ef;
  color: #607269;
  font-size: 14px;
  line-height: 1.35;
}

.commercial-gap-group span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commercial-gap-group b {
  color: #14231c;
  font-size: 16px;
}

.commercial-gap-group em {
  display: block;
  color: #8a9a92;
  font-style: normal;
  font-size: 14px;
}

.commercial-gap-latest {
  display: grid;
  gap: 10px;
}

.commercial-gap-row {
  background: #fff;
  border: 1px solid #e4eee8;
  border-radius: 8px;
  padding: 12px;
  display: grid;
  gap: 8px;
  animation: commercialRise .2s ease both;
}

.commercial-metric strong.is-text {
  font-size: 18px;
  line-height: 1.2;
}

.commercial-row-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.commercial-dialog {
  width: min(420px, calc(100vw - 24px));
  border: 0;
  border-radius: 16px;
  padding: 0;
  background: transparent;
}

.commercial-dialog::backdrop {
  background: rgba(15, 23, 42, .42);
  backdrop-filter: blur(4px);
}

.commercial-dialog-panel {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
}

.commercial-dialog-panel header,
.commercial-dialog-panel footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.commercial-dialog-panel h2 {
  margin: 0;
  font-size: 17px;
}

.commercial-dialog-panel label {
  display: grid;
  gap: 5px;
  color: #53616b;
  font-size: 12px;
}

.commercial-dialog-panel input,
.commercial-dialog-panel select,
.commercial-dialog-panel textarea {
  width: 100%;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  padding: 8px;
  font-size: 13px;
}

.commercial-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.commercial-feature-grid label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 9px;
  background: #f8fafc;
}

@keyframes commercialRise {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 720px) {
  .commercial-gap-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 380px) {
  .commercial-company-stats,
  .commercial-row-actions,
  .commercial-feature-grid,
  .commercial-gap-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.commercial-create-card {
  animation: commercialRise .24s ease both;
}

.commercial-create-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.commercial-create-features {
  margin-top: 2px;
}

.commercial-key-grid {
  display: grid;
  gap: 8px;
}

.commercial-key-block {
  display: grid;
  gap: 6px;
  padding: 9px;
  border: 1px solid #e2e8f0;
  border-radius: 11px;
  background: #ffffff;
}

.commercial-key-block > strong {
  color: #334155;
  font-size: 12px;
}

.commercial-key-row {
  display: grid;
  grid-template-columns: minmax(70px, .8fr) minmax(118px, 1.4fr) auto auto;
  gap: 6px;
  align-items: center;
}

.commercial-key-row input {
  min-width: 0;
  height: 31px;
  border: 1px solid #dcdcdc;
  border-radius: 7px;
  padding: 0 7px;
  font-size: 12px;
}

.commercial-key-row code {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 7px;
  border-radius: 7px;
  background: #f1f5f9;
  color: #0f172a;
  font-size: 11px;
}

.commercial-key-row button,
.commercial-generate-sales button {
  min-height: 31px;
  border: 1px solid #dfe8e3;
  border-radius: 7px;
  background: #fff;
  color: #26342d;
  font-size: 12px;
}

.commercial-generate-sales {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 8px;
}

.commercial-generate-sales input {
  min-height: 31px;
  border: 1px solid #dcdcdc;
  border-radius: 7px;
  padding: 0 8px;
}

.commercial-generate-sales button {
  border-color: #07c160;
  background: #07c160;
  color: #fff;
  font-weight: 700;
}

#commercialCreateStatus code {
  display: inline-block;
  margin-top: 4px;
  padding: 4px 6px;
  border-radius: 6px;
  background: #f1f5f9;
  color: #0f172a;
  font-size: 12px;
}

@media (max-width: 380px) {
  .commercial-create-grid,
  .commercial-key-row {
    grid-template-columns: 1fr;
  }
  .commercial-generate-sales {
    grid-template-columns: 72px 1fr;
  }
}

.commercial-seat-summary {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 11px;
  background: #f8fafc;
}

.commercial-seat-summary strong {
  color: #334155;
  font-size: 12px;
}

.commercial-seat-summary span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.5;
}

.commercial-license-notice {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid #f4d38d;
  border-radius: 8px;
  background: #fff7dc;
  color: #744210;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.commercial-license-notice.is-danger {
  border-color: #fecaca;
  background: #fff1f2;
  color: #991b1b;
}

.brain-home .today-home .commercial-license-notice {
  margin: 0 !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

/* Compact commercial create form on phone */
.commercial-admin-body .commercial-create-card {
  gap: 7px !important;
  padding: 10px 12px !important;
}

.commercial-admin-body .commercial-create-card h2 {
  margin-bottom: 0 !important;
  font-size: 16px !important;
}

.commercial-admin-body .commercial-create-card .admin-help-text {
  display: none !important;
}

.commercial-admin-body .commercial-create-card label {
  gap: 3px !important;
  font-size: 12px !important;
  color: #66737b !important;
}

.commercial-admin-body .commercial-create-card input,
.commercial-admin-body .commercial-create-card select {
  min-height: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  padding: 0 10px !important;
}

.commercial-admin-body .commercial-create-grid {
  grid-template-columns: 1fr 1fr 78px !important;
  gap: 6px !important;
}

.commercial-admin-body .commercial-create-features {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

.commercial-admin-body .commercial-create-features label {
  min-height: 34px !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 5px 4px !important;
  border-radius: 9px !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

.commercial-admin-body .commercial-create-features input {
  width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  padding: 0 !important;
}

.commercial-admin-body #commercialCreateCompanyButton {
  min-height: 38px !important;
  height: 38px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
}

@media (max-width: 380px) {
  .commercial-admin-body .commercial-create-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .commercial-admin-body .commercial-create-grid label:first-child {
    grid-column: 1 / -1;
  }
  .commercial-admin-body .commercial-create-features {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Commercial admin: compact dashboard-first layout */
.commercial-admin-body #commercialContent {
  gap: 0 !important;
}

.commercial-admin-body .commercial-hero {
  align-items: center !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.commercial-admin-body .commercial-hero .commercial-kicker,
.commercial-admin-body .commercial-hero p {
  display: none !important;
}

.commercial-admin-body .commercial-hero h1 {
  margin: 0 !important;
  font-size: 17px !important;
  letter-spacing: 0 !important;
}

.commercial-admin-body #commercialRefreshButton {
  width: auto !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 12px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
}

.commercial-admin-body .commercial-metrics {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
  border-top: 1px solid #e5e7eb !important;
  border-bottom: 1px solid #e5e7eb !important;
  background: #e5e7eb !important;
}

.commercial-admin-body .commercial-metric,
.commercial-admin-body .commercial-metric:first-child {
  grid-column: auto !important;
  min-width: 0 !important;
  padding: 7px 2px 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #17221d !important;
  text-align: center !important;
  box-shadow: none !important;
}

.commercial-admin-body .commercial-metric span {
  min-height: 26px !important;
  margin: 0 !important;
  color: #66737b !important;
  opacity: 1 !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
}

.commercial-admin-body .commercial-metric strong {
  margin: 0 0 2px !important;
  color: #111827 !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

.commercial-admin-body .commercial-create-card {
  margin-top: 10px !important;
  border-top: 1px solid #e5e7eb !important;
  border-radius: 0 0 13px 13px !important;
}

.commercial-admin-body .commercial-create-card::before {
  content: "鏂板缓浼佷笟";
  display: block;
  margin: 0 0 6px;
  color: #17221d;
  font-size: 14px;
  font-weight: 700;
}

.commercial-admin-body .commercial-create-card h2 {
  display: none !important;
}


/* Drawer sales key page - customer tracking style */
#keyMgmtPanel {
  background: linear-gradient(180deg, #efffd1 0%, #f7ffe9 38%, #f7fbf4 100%) !important;
}
#keyMgmtPanel .kb-panel-header {
  padding: 18px 24px 10px !important;
  border: 0 !important;
  background: transparent !important;
}
#keyMgmtPanel .kb-panel-header strong {
  display: block !important;
  color: #17221d !important;
  font-size: 18px !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}
#keyMgmtPanel .kb-format-guide {
  display: none !important;
}
#keyMgmtPanel .kb-panel-body {
  padding: 0 16px 20px !important;
}
#keyMgmtPanel .key-page-shell {
  display: grid !important;
  gap: 9px !important;
}
#keyMgmtPanel .key-quota-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px !important;
}
#keyMgmtPanel .key-quota-grid article {
  min-height: 54px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 8px 18px rgba(25,72,37,.06) !important;
}
#keyMgmtPanel .key-quota-grid strong {
  color: #111b16 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}
#keyMgmtPanel .key-quota-grid span {
  margin-top: 3px !important;
  color: #5f6e66 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
#keyMgmtPanel .key-segment-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 5px !important;
  border-radius: 12px !important;
  background: #315b36 !important;
}
#keyMgmtPanel .key-segment-tabs button {
  min-height: 29px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
#keyMgmtPanel .key-segment-tabs button.active {
  background: #bafa4d !important;
  color: #244429 !important;
}
#keyMgmtPanel .key-create-bar {
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  gap: 7px !important;
  padding: 7px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.7) !important;
}
#keyMgmtPanel .key-create-bar input {
  width: 100% !important;
  min-height: 32px !important;
  height: 32px !important;
  border: 1px solid #dce9de !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #17221d !important;
  text-align: center !important;
  font-size: 14px !important;
}
#keyMgmtPanel .key-create-bar button {
  min-height: 32px !important;
  height: 32px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #56c568 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
#keyMgmtPanel .key-create-bar button:disabled,
#keyMgmtPanel .key-create-bar input:disabled {
  opacity: .55 !important;
}
#keyMgmtPanel .key-card-list {
  display: grid !important;
  gap: 8px !important;
}
#keyMgmtPanel .key-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 52px !important;
  gap: 7px !important;
  align-items: center !important;
  padding: 9px 10px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 10px 22px rgba(25,72,37,.07) !important;
}
#keyMgmtPanel .key-card-main {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) !important;
  gap: 6px !important;
  align-items: center !important;
}
#keyMgmtPanel .key-name-input {
  width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  border: 1px solid #dce9de !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #17221d !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}
#keyMgmtPanel .key-card-main span {
  color: #6c7a72 !important;
  font-size: 10px !important;
  font-weight: 500 !important;
}
#keyMgmtPanel .key-card-main code {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #122019 !important;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#keyMgmtPanel .key-copy-btn {
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #e8f7d7 !important;
  color: #315b36 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
#keyMgmtPanel .key-copy-btn.is-copied {
  font-size: 12px !important;
  padding: 0 6px !important;
}
#keyMgmtPanel .key-empty-card,
#keyMgmtPanel .key-inline-error {
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.88) !important;
  color: #6c7a72 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
#keyMgmtPanel .key-empty-card.is-error,
#keyMgmtPanel .key-inline-error {
  color: #b42318 !important;
}
@media (max-width: 380px) {
  #keyMgmtPanel .key-card-main {
    grid-template-columns: 84px minmax(0, 1fr) !important;
  }
  #keyMgmtPanel .key-quota-grid span,
  #keyMgmtPanel .key-segment-tabs button {
    font-size: 12px !important;
  }
}


/* Hide owner key page controls per final UX */
#keyMgmtPanel .key-segment-tabs,
#keyMgmtPanel .key-create-bar {
  display: none !important;
}
#keyMgmtPanel .key-card-main {
  grid-template-columns: 78px minmax(0, 1fr) !important;
}


/* Sales seat handover model */
#keyMgmtPanel .key-quota-grid {
  grid-template-columns: 1fr !important;
}
#keyMgmtPanel .key-quota-grid article {
  min-height: 44px !important;
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
}
#keyMgmtPanel .key-quota-grid strong,
#keyMgmtPanel .key-quota-grid span {
  margin: 0 !important;
}
#keyMgmtPanel .key-segment-tabs,
#keyMgmtPanel .key-create-bar {
  display: none !important;
}
#keyMgmtPanel .key-copy-btn[data-mode="update"] {
  background: #56c568 !important;
  color: #fff !important;
}


/* Active/inactive sales key groups */
#keyMgmtPanel .key-search-input {
  width: 100% !important;
  height: 34px !important;
  border: 1px solid #dce9de !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.92) !important;
  padding: 0 12px !important;
  color: #17221d !important;
  font-size: 13px !important;
}
#keyMgmtPanel .key-group {
  display: grid !important;
  gap: 8px !important;
}
#keyMgmtPanel .key-group summary {
  min-height: 38px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 3px 8px !important;
  align-items: center !important;
  padding: 8px 12px !important;
  border-radius: 14px !important;
  background: #315b36 !important;
  color: #fff !important;
  list-style: none !important;
}
#keyMgmtPanel .key-group summary::-webkit-details-marker {
  display: none !important;
}
#keyMgmtPanel .key-group summary span {
  font-size: 14px !important;
  font-weight: 700 !important;
}
#keyMgmtPanel .key-group summary b {
  min-width: 28px !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  background: #bafa4d !important;
  color: #244429 !important;
  text-align: center !important;
  font-size: 12px !important;
}
#keyMgmtPanel .key-group summary em {
  grid-column: 1 / -1 !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 11px !important;
  font-style: normal !important;
}
#keyMgmtPanel .key-group:not([open]) .key-card-list {
  display: none !important;
}


/* Sales key active/inactive tabbar */
#keyMgmtPanel .key-tabbar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  padding: 0 10px !important;
  border-radius: 14px !important;
  background: #315b36 !important;
}
#keyMgmtPanel .key-tabbar button {
  position: relative !important;
  min-height: 42px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
#keyMgmtPanel .key-tabbar button.active {
  background: transparent !important;
  color: #fff !important;
}
#keyMgmtPanel .key-tabbar button.active::after {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  right: 8px !important;
  bottom: 6px !important;
  height: 8px !important;
  border-bottom: 5px solid #bafa4d !important;
  border-left: 5px solid #bafa4d !important;
  border-right: 5px solid #bafa4d !important;
  border-radius: 0 0 13px 13px !important;
}
#keyMgmtPanel .key-tabbar b {
  margin-left: 5px !important;
  font-size: 11px !important;
}
#keyMgmtPanel .key-group {
  display: none !important;
}


/* Key page search row */
#keyMgmtPanel .key-search-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 72px !important;
  gap: 8px !important;
  align-items: center !important;
}
#keyMgmtPanel .key-search-row .key-search-input {
  height: 40px !important;
  border-radius: 12px !important;
}
#keyMgmtPanel #keySearchButton {
  height: 40px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #111b16 !important;
  color: #d8ff7a !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}


/* Key page tabs: reuse customer tracking visual */
#keyMgmtPanel .today-boss-filter-tabs.key-tabbar {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px !important;
  align-items: center !important;
  width: 100% !important;
  padding: 7px 8px !important;
  border-radius: 13px !important;
  background: #315b36 !important;
  overflow: hidden !important;
}
#keyMgmtPanel .today-boss-filter-tabs.key-tabbar button {
  width: 100% !important;
  min-height: 28px !important;
  padding: 5px 3px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #f7fff4 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
#keyMgmtPanel .today-boss-filter-tabs.key-tabbar button.is-active {
  background: transparent !important;
  color: #fff !important;
  box-shadow: inset 0 -3px 0 #b9ef36 !important;
}
#keyMgmtPanel .today-boss-filter-tabs.key-tabbar button::after {
  content: none !important;
  display: none !important;
}

/* Customer chat reply typography: match user message text. */
.customer-chat-home .chat-row.bot .chat-bubble,
.customer-chat-home .strategy-bubble,
.customer-chat-home .chat-response-template,
.customer-chat-home .chat-coach-card,
.customer-chat-home .chat-coach-natural,
.customer-chat-home .chat-coach-natural-line,
.customer-chat-home .chat-coach-line-text,
.customer-chat-home .chat-coach-action,
.customer-chat-home .chat-coach-say,
.customer-chat-home .chat-coach-branches p {
  color: #111111 !important;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.38 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
.customer-chat-home .chat-coach-natural {
  gap: 8px !important;
}
.customer-chat-home .chat-coach-card {
  padding: 8px 10px !important;
  background: #ffffff !important;
}
.customer-chat-home .chat-coach-line-icon {
  color: #111111 !important;
  opacity: .92 !important;
}
.customer-chat-home .chat-coach-actions .chat-light-actions .chat-action-time {
  color: #8c8c8c !important;
  font-size: 15px !important;
  font-weight: 400 !important;
}

/* Voice diagnosis entry from the customer chat microphone. */
.voice-diagnosis-overlay {
  --voice-level: 0;
  position: fixed;
  inset: 0;
  z-index: 9990;
  display: grid;
  place-items: stretch;
  padding: max(14px, env(safe-area-inset-top)) 18px max(14px, env(safe-area-inset-bottom));
  box-sizing: border-box;
  background: rgba(18, 20, 19, .12);
  backdrop-filter: blur(6px) saturate(1.03);
  -webkit-backdrop-filter: blur(6px) saturate(1.03);
  color: #171717;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.voice-diagnosis-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}
.voice-diagnosis-shell {
  position: relative;
  width: min(100%, 430px);
  height: min(100dvh, 760px);
  min-height: 620px;
  justify-self: center;
  align-self: center;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: 18px 20px 16px;
  box-sizing: border-box;
  background:
    radial-gradient(circle at 50% 34%, rgba(203,255,96,calc(.06 + var(--voice-level) * .12)), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,251,249,.9));
  border: 1px solid rgba(255,255,255,.66);
  border-radius: 30px;
  box-shadow: 0 28px 76px rgba(13,31,18,.22), inset 0 1px 0 rgba(255,255,255,.76);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  transform: translateY(18px) scale(.98);
  transition: transform .18s ease;
  overflow: hidden;
}
.voice-diagnosis-shell::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.38);
  pointer-events: none;
}
.voice-diagnosis-overlay.is-open .voice-diagnosis-shell {
  transform: translateY(0) scale(1);
}
.voice-diagnosis-head {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 116px;
  align-items: center;
  min-height: 58px;
}
.voice-diagnosis-head strong {
  text-align: center;
  font-size: 26px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}
.voice-diagnosis-round,
.voice-diagnosis-side {
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #1f1f1f;
  box-shadow: 0 10px 24px rgba(0,0,0,.075), inset 0 1px 0 rgba(255,255,255,.85);
  font-size: 28px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.voice-diagnosis-round.is-caption {
  justify-self: end;
  width: 104px;
  border-radius: 22px;
  font-size: 16px;
  font-weight: 800;
}
.voice-diagnosis-round.is-caption::before {
  content: "\2197";
  margin-right: 18px;
  font-size: 22px;
  font-weight: 700;
}
.voice-diagnosis-main {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(230px, 1fr) auto auto auto;
  align-items: center;
  justify-items: center;
  gap: 16px;
  padding: 6px 0 16px;
  overflow: hidden;
}
.voice-diagnosis-orb {
  width: min(62vw, 286px);
  aspect-ratio: 1;
  border-radius: 50%;
  position: relative;
  opacity: calc(.42 + var(--voice-level) * .42);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.98) 0 32%, rgba(255,255,255,.16) 33%, rgba(255,255,255,0) 42%),
    repeating-radial-gradient(circle at 50% 50%, rgba(38,43,40,calc(.12 + var(--voice-level) * .22)) 0 1.25px, transparent 1.25px 11px);
  filter: blur(.12px) drop-shadow(0 18px 28px rgba(194,255,82,calc(.06 + var(--voice-level) * .2)));
  transform: scale(calc(.96 + var(--voice-level) * .16));
  transition: opacity .08s linear, filter .08s linear, transform .08s linear;
}
.voice-diagnosis-overlay.is-recording .voice-diagnosis-orb {
  animation: voiceDiagnosisPulse 1.9s ease-in-out infinite;
}
@keyframes voiceDiagnosisPulse {
  0%,100% { transform: scale(.98); opacity: .45; }
  50% { transform: scale(1.035); opacity: .7; }
}
.voice-diagnosis-ai-card {
  width: min(100%, 360px);
  min-height: 84px;
  display: grid;
  gap: 12px;
  justify-items: center;
  text-align: center;
}
.voice-diagnosis-ai-card p {
  margin: 0;
  color: #626a70;
  font-size: 22px;
  line-height: 1.45;
  font-weight: 500;
}
.voice-diagnosis-slots {
  display: none;
}
.voice-diagnosis-slots span {
  min-height: 42px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 7px 8px;
  border-radius: 14px;
  background: rgba(242,245,240,.78);
  border: 1px solid rgba(220,228,218,.72);
  text-align: left;
  box-sizing: border-box;
}
.voice-diagnosis-slots b {
  color: #1f1f1f;
  font-size: 12px;
  line-height: 1;
}
.voice-diagnosis-slots em {
  color: #7c837d;
  font-size: 12px;
  font-style: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.voice-diagnosis-transcript {
  width: 100%;
  max-height: 92px;
  overflow: auto;
  padding: 10px 12px;
  border-radius: 16px;
  background: #fff;
  color: #333;
  text-align: left;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 8px 20px rgba(0,0,0,.05);
  box-sizing: border-box;
}
.voice-diagnosis-wave {
  height: 30px;
  display: inline-flex;
  gap: 5px;
  align-items: center;
}
.voice-diagnosis-wave span {
  width: 4px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #1f1f1f, #8b928d);
  transform-origin: center;
  transform: scaleY(calc(.5 + var(--voice-level) * 2.2));
  opacity: calc(.45 + var(--voice-level) * .55);
  transition: transform .07s linear, opacity .07s linear;
}
.voice-diagnosis-overlay.is-recording .voice-diagnosis-wave span {
  animation: voiceWave 1.15s ease-in-out infinite;
}
.voice-diagnosis-wave span:nth-child(2) { animation-delay: .08s; }
.voice-diagnosis-wave span:nth-child(3) { animation-delay: .16s; }
.voice-diagnosis-wave span:nth-child(4) { animation-delay: .24s; }
.voice-diagnosis-wave span:nth-child(5) { animation-delay: .32s; }
@keyframes voiceWave {
  0%,100% { transform: scaleY(calc(.45 + var(--voice-level) * 1.7)); }
  50% { transform: scaleY(calc(.8 + var(--voice-level) * 2.6)); }
}
.voice-diagnosis-overlay.is-hearing .voice-diagnosis-status {
  color: #222;
}
.voice-diagnosis-status {
  margin: 0;
  color: #697178;
  font-size: 19px;
  line-height: 1.2;
  font-weight: 600;
}
.voice-diagnosis-foot {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) 74px;
  align-items: end;
  gap: 12px;
  padding: 6px 0 10px;
}
.voice-diagnosis-side {
  justify-self: center;
  width: 72px;
  height: 72px;
}
.voice-diagnosis-side svg {
  width: 31px;
  height: 31px;
}
.voice-diagnosis-finish {
  justify-self: center;
  width: 110px;
  height: 110px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #232323, #111);
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  box-shadow: 0 18px 35px rgba(0,0,0,.13), 0 0 calc(var(--voice-level) * 28px) rgba(194,255,82,.36);
  transform: scale(calc(1 + var(--voice-level) * .045));
  transition: transform .08s linear, box-shadow .08s linear, opacity .12s ease;
}
.voice-diagnosis-finish:disabled,
.voice-diagnosis-side:disabled {
  opacity: .5;
}
@media (max-height: 720px) {
  .voice-diagnosis-overlay {
    align-items: end;
  }
  .voice-diagnosis-shell {
    width: min(100%, 430px);
    height: min(92dvh, 650px);
    min-height: 520px;
    padding-left: 18px;
    padding-right: 18px;
    border-radius: 26px;
  }
  .voice-diagnosis-main {
    gap: 10px;
  }
  .voice-diagnosis-orb {
    width: min(54vw, 230px);
  }
  .voice-diagnosis-finish {
    width: 96px;
    height: 96px;
    font-size: 24px;
  }
  .voice-diagnosis-side {
    width: 66px;
    height: 66px;
  }
}

.voice-upload-sheet {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(0,0,0,.48);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.voice-upload-sheet.is-open {
  opacity: 1;
  pointer-events: auto;
}
.voice-upload-panel {
  position: relative;
  width: 100%;
  min-height: 256px;
  padding: 18px 22px max(26px, env(safe-area-inset-bottom));
  border-radius: 30px 30px 0 0;
  background: rgba(255,255,255,.98);
  box-shadow: 0 -22px 54px rgba(0,0,0,.16);
  transform: translateY(100%);
  transition: transform .22s cubic-bezier(.2,.8,.2,1);
  box-sizing: border-box;
}
.voice-upload-sheet.is-open .voice-upload-panel {
  transform: translateY(0);
}
.voice-upload-handle {
  display: block;
  width: 56px;
  height: 7px;
  margin: 0 auto 28px;
  border-radius: 999px;
  background: #d1d1d1;
}
.voice-upload-close {
  position: absolute;
  top: 38px;
  right: 22px;
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #171717;
  font-size: 34px;
  line-height: 1;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}
.voice-upload-panel h2 {
  margin: 0 70px 28px 0;
  color: #111;
  font-size: 32px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: 0;
}
.voice-upload-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.voice-upload-options button {
  min-height: 132px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 14px;
  border: 0;
  border-radius: 18px;
  background: #f7f7f7;
  color: #111;
  font-size: 24px;
  font-weight: 700;
}
.voice-upload-options svg {
  width: 36px;
  height: 36px;
  stroke-width: 1.8;
}

/* Voice panel polish: smaller controls and visible listening ripple. */
.voice-diagnosis-shell {
  width: min(100%, 388px) !important;
  height: min(88dvh, 680px) !important;
  min-height: 560px !important;
  padding: 14px 18px 15px !important;
}
.voice-diagnosis-head {
  position: relative !important;
  grid-template-columns: 50px minmax(0, 1fr) 86px !important;
  min-height: 48px !important;
}
.voice-diagnosis-head strong {
  font-size: 23px !important;
  position: relative !important;
  z-index: 1 !important;
}
.voice-diagnosis-round,
.voice-diagnosis-side {
  width: 42px !important;
  height: 42px !important;
  font-size: 23px !important;
}
.voice-diagnosis-round.is-caption {
  width: 82px !important;
  border-radius: 20px !important;
  font-size: 14px !important;
}
.voice-diagnosis-round.is-caption::before {
  content: "\2197";
  margin-right: 12px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}
.voice-diagnosis-main {
  grid-template-rows: minmax(178px, 1fr) auto auto auto !important;
  gap: 10px !important;
  padding: 0 0 10px !important;
}
.voice-diagnosis-orb {
  width: min(50vw, 220px) !important;
  opacity: calc(.54 + var(--voice-level) * .34) !important;
}
.voice-diagnosis-orb span {
  position: absolute !important;
  inset: 17% !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(35,39,36,calc(.1 + var(--voice-level) * .24)) !important;
  opacity: 0;
  transform: scale(.55);
}
.voice-diagnosis-orb span:nth-child(2) { animation-delay: .42s !important; }
.voice-diagnosis-orb span:nth-child(3) { animation-delay: .84s !important; }
.voice-diagnosis-orb span:nth-child(4) { animation-delay: 1.26s !important; }
.voice-diagnosis-overlay.is-recording .voice-diagnosis-orb span {
  animation: voiceRippleStrong 1.68s ease-out infinite !important;
}
.voice-diagnosis-overlay.is-hearing .voice-diagnosis-orb span {
  border-color: rgba(16,20,18,calc(.18 + var(--voice-level) * .38)) !important;
}
@keyframes voiceRippleStrong {
  0% { opacity: 0; transform: scale(.42); }
  16% { opacity: calc(.18 + var(--voice-level) * .46); }
  100% { opacity: 0; transform: scale(1.24); }
}
.voice-diagnosis-ai-card {
  width: min(100%, 300px) !important;
  min-height: 54px !important;
}
.voice-diagnosis-ai-card p {
  font-size: 16px !important;
  line-height: 1.42 !important;
}
.voice-diagnosis-wave {
  height: 22px !important;
}
.voice-diagnosis-wave span {
  width: 3px !important;
  height: 14px !important;
}
.voice-diagnosis-status {
  font-size: 15px !important;
}
.voice-diagnosis-foot {
  grid-template-columns: 62px minmax(0, 1fr) 62px !important;
  gap: 10px !important;
}
.voice-diagnosis-side {
  width: 56px !important;
  height: 56px !important;
}
.voice-diagnosis-side svg {
  width: 25px !important;
  height: 25px !important;
}
.voice-diagnosis-finish {
  width: 84px !important;
  height: 84px !important;
  font-size: 20px !important;
}
.voice-upload-close {
  width: 48px !important;
  height: 48px !important;
  font-size: 28px !important;
}
.voice-upload-panel h2 {
  font-size: 26px !important;
}
.voice-upload-options button {
  min-height: 108px !important;
  font-size: 19px !important;
}
.voice-upload-options svg {
  width: 30px !important;
  height: 30px !important;
}
@media (max-height: 720px) {
  .voice-diagnosis-shell {
    height: min(86dvh, 610px) !important;
    min-height: 500px !important;
  }
  .voice-diagnosis-orb {
    width: min(45vw, 190px) !important;
  }
  .voice-diagnosis-finish {
    width: 78px !important;
    height: 78px !important;
  }
  .voice-diagnosis-side {
    width: 52px !important;
    height: 52px !important;
  }
}

/* Always-on recording visual fallback for WeChat WebView before JS-SDK recording is wired. */
.voice-diagnosis-overlay.is-recording .voice-diagnosis-orb {
  opacity: calc(.72 + var(--voice-level) * .22) !important;
  animation: voiceOrbBreathe 2.1s ease-in-out infinite, voiceOrbDrift 9s linear infinite !important;
}
.voice-diagnosis-overlay.is-recording .voice-diagnosis-orb span {
  border-color: rgba(22,26,23,calc(.2 + var(--voice-level) * .32)) !important;
  animation: voiceRippleVisible 1.55s ease-out infinite !important;
}
.voice-diagnosis-overlay.is-recording .voice-diagnosis-wave span {
  opacity: calc(.65 + var(--voice-level) * .35) !important;
  animation: voiceWaveVisible .9s ease-in-out infinite !important;
}
.voice-diagnosis-overlay.is-recording .voice-diagnosis-wave span:nth-child(1) { animation-delay: 0s !important; }
.voice-diagnosis-overlay.is-recording .voice-diagnosis-wave span:nth-child(2) { animation-delay: .08s !important; }
.voice-diagnosis-overlay.is-recording .voice-diagnosis-wave span:nth-child(3) { animation-delay: .16s !important; }
.voice-diagnosis-overlay.is-recording .voice-diagnosis-wave span:nth-child(4) { animation-delay: .24s !important; }
.voice-diagnosis-overlay.is-recording .voice-diagnosis-wave span:nth-child(5) { animation-delay: .32s !important; }
.voice-diagnosis-overlay.is-recording .voice-diagnosis-status {
  color: #1f1f1f !important;
}
@keyframes voiceOrbBreathe {
  0%,100% { transform: scale(.97); filter: blur(.12px) drop-shadow(0 14px 20px rgba(0,0,0,.04)); }
  50% { transform: scale(1.045); filter: blur(.12px) drop-shadow(0 20px 30px rgba(0,0,0,.08)); }
}
@keyframes voiceOrbDrift {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}
@keyframes voiceRippleVisible {
  0% { opacity: 0; transform: scale(.38); }
  14% { opacity: calc(.3 + var(--voice-level) * .38); }
  100% { opacity: 0; transform: scale(1.34); }
}
@keyframes voiceWaveVisible {
  0%,100% { transform: scaleY(.65); }
  50% { transform: scaleY(calc(1.35 + var(--voice-level) * 1.8)); }
}
