@font-face {
  font-family: Onnpar;
  src: url('/assets/publicsans.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
}
:root {
  font-family: Onnpar, 'Segoe UI', sans-serif;
  color: #172b43;
  background: #f3f5f8;
  font-synthesis: none;
  --ink: #172b43;
  --muted: #64748b;
  --line: #e1e6ed;
  --accent: #2563eb;
  --accent-soft: #eaf1ff;
  --surface: #fff;
  --paper: #f3f5f8;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-size: 13px;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: #1d4ed8;
}
svg {
  height: 18px;
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: none;
}
img {
  display: block;
  max-width: 100%;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-weight: 600;
}
button,
a,
input,
select,
textarea,
summary {
  outline-offset: 3px;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid #2563eb;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip {
  position: absolute;
  left: 20px;
  top: -70px;
  background: white;
  padding: 12px;
  z-index: 200;
}
.skip:focus {
  top: 10px;
}
.boot {
  min-height: 100vh;
  display: grid;
  place-content: center;
  gap: 20px;
  text-align: center;
  color: #64748b;
}
.boot img {
  width: 180px;
}
.shell {
  min-height: 100vh;
  display: flex;
}
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 218px;
  border-right: 1px solid #dfe5ed;
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 22px 12px 14px;
  z-index: 35;
  overflow-y: auto;
}
.brand {
  display: block;
  padding: 0 13px 24px;
}
.brand img {
  width: 162px;
}
.workspace-menu {
  position: relative;
  border-top: 1px solid #e6eaf0;
  border-bottom: 1px solid #e6eaf0;
  margin: 0 0 22px;
  padding: 12px 0;
}
.workspace-menu summary {
  display: flex;
  align-items: center;
  gap: 9px;
  list-style: none;
  padding: 5px;
  cursor: pointer;
}
.workspace-menu summary::-webkit-details-marker {
  display: none;
}
.workspace-menu summary > svg {
  width: 14px;
  height: 14px;
  margin-left: auto;
  color: #64748b;
}
.workspace-badge {
  display: grid;
  place-items: center;
  height: 30px;
  width: 30px;
  flex: none;
  border-radius: 5px;
  background: #eaf1ff;
  color: #265bbb;
  font-size: 12px;
  font-weight: 600;
}
.workspace-menu strong {
  display: block;
  max-width: 120px;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.workspace-menu small {
  display: block;
  font-size: 10px;
  color: #65758a;
  margin-top: 4px;
}
.workspace-options {
  position: absolute;
  inset: 61px 0 auto;
  background: white;
  border: 1px solid #dfe5ed;
  border-radius: 6px;
  padding: 5px;
  box-shadow: 0 8px 24px #172b431a;
  z-index: 45;
}
.workspace-options button {
  display: block;
  border: 0;
  background: none;
  width: 100%;
  text-align: left;
  padding: 10px;
  font-size: 12px;
  border-radius: 4px;
}
.workspace-options button:hover {
  background: #edf3ff;
}
.nav-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.65px;
  color: #69788b;
  padding: 0 11px 10px;
}
.navigation {
  display: grid;
  gap: 3px;
}
.nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 450;
  color: #516176;
}
.nav-item svg {
  width: 17px;
  height: 17px;
  color: #7e8c9e;
}
.nav-item:hover {
  background: #f3f6fa;
  color: #204d91;
}
.nav-item.active {
  background: #eaf1ff;
  color: #1f56b8;
  font-weight: 600;
}
.nav-item.active svg {
  color: #2563eb;
}
.sidebar-bottom {
  margin-top: auto;
  padding-top: 36px;
}
.sidebar-bottom .nav-item {
  font-size: 12px;
}
.sidebar-company {
  font-size: 10px;
  color: #617085;
  border-top: 1px solid #e5eaf0;
  padding: 16px 11px 0;
  margin-top: 13px;
}
.body {
  margin-left: 218px;
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.topbar {
  height: 59px;
  background: white;
  border-bottom: 1px solid #dfe5ed;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 26px;
}
.crumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #627287;
  font-size: 12px;
}
.crumbs span {
  color: #607088;
}
.crumbs strong {
  font-weight: 500;
  color: #34475f;
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}
.search-trigger {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #dfe5ed;
  background: #f9fafc;
  color: #5b6c82;
  border-radius: 5px;
  padding: 7px 10px;
  font-size: 12px;
  min-width: 233px;
  text-align: left;
}
.search-trigger svg {
  width: 15px;
  height: 15px;
}
.search-trigger kbd {
  font: inherit;
  font-size: 10px;
  border: 1px solid #dfe5ed;
  background: white;
  padding: 1px 4px;
  border-radius: 3px;
  margin-left: auto;
}
.top-date {
  font-size: 11px;
  color: #627287;
}
.mobile-menu {
  display: none;
}
.user-menu {
  position: relative;
}
.user-menu summary {
  cursor: pointer;
  list-style: none;
}
.user-menu summary::-webkit-details-marker {
  display: none;
}
.user-dropdown {
  position: absolute;
  right: 0;
  top: 41px;
  border: 1px solid #dfe5ed;
  border-radius: 7px;
  box-shadow: 0 8px 25px #1529421a;
  background: white;
  padding: 16px;
  min-width: 230px;
  z-index: 45;
}
.user-dropdown strong {
  display: block;
  font-size: 13px;
}
.user-dropdown small {
  display: block;
  font-size: 11px;
  color: #64748b;
  margin-top: 5px;
}
.user-dropdown button {
  width: 100%;
  border: 0;
  border-top: 1px solid #e5eaf0;
  background: white;
  text-align: left;
  padding: 12px 0 0;
  margin-top: 15px;
  color: #334e72;
}
.avatar {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  height: 29px;
  width: 29px;
  font-size: 10px;
  color: #315d85;
  background: #e8eff7;
  flex: none;
  font-weight: 500;
}
.avatar.c1 {
  color: #5b5685;
  background: #eeecf7;
}
.avatar.c2 {
  color: #356a5a;
  background: #e8f3ed;
}
.avatar.c3 {
  color: #85642f;
  background: #f5efdf;
}
.avatar.sm {
  width: 24px;
  height: 24px;
  font-size: 9px;
}
.main {
  padding: 25px 26px 28px;
  min-width: 0;
  flex: 1;
  width: 100%;
  max-width: 1800px;
}
.page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}
.page-head h1 {
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -0.6px;
  color: #172b43;
}
.page-head p {
  font-size: 12px;
  color: #5b6c82;
  margin-top: 7px;
  line-height: 1.7;
}
.head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 35px;
  padding: 8px 12px;
  border: 1px solid #2563eb;
  border-radius: 5px;
  background: #2563eb;
  color: white;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.btn svg {
  width: 14px;
  height: 14px;
}
.btn:hover {
  background: #1d4ed8;
  color: white;
}
.btn.secondary {
  background: white;
  border-color: #d8e0eb;
  color: #405775;
}
.btn.secondary:hover {
  background: #f4f7fc;
  color: #1d4ed8;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}
.stat {
  border: 1px solid #dfe5ed;
  background: white;
  border-radius: 7px;
  padding: 16px 18px;
  min-width: 0;
}
.stat-head {
  font-size: 12px;
  color: #566a82;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.stat-head svg {
  width: 16px;
  height: 16px;
  color: #7b93b2;
}
.stat-value {
  font-size: 29px;
  letter-spacing: -0.8px;
  font-weight: 600;
  margin-top: 14px;
  line-height: 1.2;
  color: #1c334e;
  white-space: nowrap;
}
.stat-foot {
  font-size: 10px;
  color: #5b6e87;
  margin-top: 9px;
  line-height: 1.6;
}
.overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(315px, 1fr);
  gap: 18px;
  align-items: start;
}
.panel {
  background: white;
  border: 1px solid #dfe5ed;
  border-radius: 7px;
  padding: 18px;
  min-width: 0;
}
.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 18px;
}
.panel-head h2 {
  font-size: 14px;
  color: #273c55;
  font-weight: 600;
  display: flex;
  gap: 8px;
  align-items: center;
}
.panel-head p {
  font-size: 11px;
  color: #64748b;
  line-height: 1.6;
  margin-top: 5px;
}
.subtle-link {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  font-size: 11px;
  color: #2563b8;
  white-space: nowrap;
}
.subtle-link svg {
  width: 13px;
  height: 13px;
}
.pipeline-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.pipeline-step {
  border-top: 3px solid #b8cce8;
  padding-top: 10px;
}
.pipeline-step.stage-qualified {
  border-color: #93b4e4;
}
.pipeline-step.stage-proposal {
  border-color: #6394d8;
}
.pipeline-step.stage-negotiation {
  border-color: #2563bc;
}
.pipeline-step.stage-won {
  border-color: #539c7b;
}
.pipeline-step strong {
  font-size: 10px;
  font-weight: 500;
  color: #53677e;
  display: block;
}
.pipeline-step b {
  display: block;
  font-size: 21px;
  font-weight: 600;
  color: #29425f;
  margin-top: 8px;
}
.pipeline-step small {
  display: block;
  font-size: 10px;
  color: #62768e;
  margin-top: 4px;
}
.count-label {
  font-size: 10px;
  font-weight: 500;
  color: #49627f;
  background: #eef2f7;
  border-radius: 4px;
  padding: 3px 6px;
}
.section-space {
  margin-top: 18px;
}
.panel-bottom {
  border-top: 1px solid #e7ebf1;
  padding-top: 15px;
  margin-top: 15px;
}
.small-label {
  font-size: 11px;
  color: #63758b;
}
.task-row {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  padding: 13px 0;
  border-bottom: 1px solid #e9edf3;
}
.task-row:last-child {
  border-bottom: 0;
}
.task-check {
  display: grid;
  place-items: center;
  border: 1px solid #b5c2d3;
  background: #fff;
  border-radius: 4px;
  min-width: 17px;
  width: 17px;
  height: 17px;
  padding: 0;
  margin-top: 2px;
  color: #2563eb;
}
.task-check svg {
  height: 12px;
  width: 12px;
}
.task-check.done {
  background: #eaf5ef;
  color: #286949;
  border-color: #9bc3af;
}
.task-copy {
  flex: 1;
  min-width: 0;
}
.task-copy strong {
  font-size: 12px;
  font-weight: 500;
  color: #344b65;
  display: block;
  line-height: 1.65;
}
.task-copy small {
  font-size: 10px;
  color: #5d6e85;
  line-height: 1.6;
  display: block;
  margin-top: 4px;
}
.task-date {
  font-size: 9px;
  color: #526780;
  background: #edf2fa;
  white-space: nowrap;
  border-radius: 4px;
  padding: 4px 6px;
  margin-top: 1px;
}
.task-date.overdue {
  color: #ad3e41;
  background: #fceff0;
}
.task-date.today {
  color: #8b6221;
  background: #faf3e3;
}
.row-action {
  border: 0;
  background: none;
  color: #6b819b;
  padding: 3px;
  display: inline-flex;
}
.row-action svg {
  height: 14px;
  width: 14px;
}
.activity {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #e9edf3;
}
.activity:last-child {
  border: 0;
  padding-bottom: 0;
}
.activity-copy {
  flex: 1;
  min-width: 0;
}
.activity-copy strong {
  font-size: 12px;
  font-weight: 450;
  color: #3c5068;
  display: block;
  line-height: 1.5;
}
.activity-copy small {
  font-size: 10px;
  color: #5b6f88;
  display: block;
  margin-top: 3px;
}
.activity-time {
  font-size: 10px;
  color: #5c6e86;
  flex: none;
}
.activity-panel .activity {
  padding-block: 10px;
}
.activity-panel .activity .avatar {
  width: 25px;
  height: 25px;
  font-size: 9px;
}
.footer {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 16px 26px;
  font-size: 10px;
  color: #586d89;
  border-top: 1px solid #dfe5ed;
  line-height: 1.7;
}
.toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.toolbar-group {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.filter-input,
.filter-select {
  height: 35px;
  border: 1px solid #d8e0eb;
  border-radius: 5px;
  background: white;
  color: #4d637e;
  padding: 0 11px;
  font-size: 12px;
  max-width: 100%;
}
.filter-input {
  min-width: 250px;
}
.filter-select {
  padding-right: 25px;
}
.preview-flag {
  font-size: 11px;
  color: #64748b;
}
.switcher {
  display: flex;
  gap: 2px;
  background: white;
  border: 1px solid #d8e0eb;
  border-radius: 5px;
  padding: 3px;
}
.switcher button {
  display: flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: none;
  color: #5b6f88;
  font-size: 11px;
  border-radius: 3px;
  padding: 5px 9px;
}
.switcher button.active {
  color: #2159b5;
  background: #eaf1ff;
}
.switcher svg {
  height: 13px;
  width: 13px;
}
.table-panel {
  padding: 0;
  overflow: hidden;
}
.table-wrap {
  overflow: auto;
}
.table-heading {
  padding: 16px 18px;
  margin: 0;
  border-bottom: 1px solid #e5eaf1;
}
table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-variant-numeric: tabular-nums;
}
th {
  font-size: 10px;
  letter-spacing: 0.4px;
  color: #60728a;
  font-weight: 600;
  padding: 11px 16px;
  background: #f9fafc;
  border-bottom: 1px solid #e5eaf1;
  white-space: nowrap;
}
td {
  font-size: 12px;
  color: #586c84;
  padding: 14px 16px;
  border-bottom: 1px solid #e9edf3;
  vertical-align: middle;
}
tr:last-child td {
  border-bottom: 0;
}
tbody tr:hover {
  background: #fafcff;
}
.entity-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 150px;
}
.entity-cell strong {
  font-size: 12px;
  font-weight: 500;
  color: #2d4664;
  display: block;
  line-height: 1.5;
}
.entity-cell small {
  font-size: 10px;
  color: #5c6f88;
  display: block;
  margin-top: 4px;
}
.company-avatar {
  display: inline-grid;
  place-items: center;
  width: 31px;
  height: 31px;
  flex: none;
  border-radius: 5px;
  background: #eaf0f9;
  color: #42648f;
  font-size: 11px;
  font-weight: 500;
}
.company-avatar.c1 {
  background: #e9f2ed;
  color: #466d59;
}
.company-avatar.c2 {
  background: #edf0f6;
  color: #586a88;
}
.company-avatar.c3 {
  background: #f7f0e4;
  color: #886e3c;
}
.row-link {
  background: none;
  border: 0;
  text-align: left;
  padding: 0;
  color: inherit;
}
.row-link:hover strong {
  color: #1d4ed8;
}
.number-cell {
  font-weight: 500;
  color: #344e6d;
  white-space: nowrap;
}
.status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 4px;
  padding: 4px 6px;
  font-size: 10px;
  white-space: nowrap;
  line-height: 1.2;
}
.status i {
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
}
.status.new,
.status.prospect {
  background: #edf2fa;
  color: #42628d;
}
.status.qualified,
.status.partner {
  background: #eaf2ff;
  color: #315faa;
}
.status.proposal {
  background: #fff5df;
  color: #8d6424;
}
.status.negotiation {
  background: #eff0fc;
  color: #5e59a3;
}
.status.won,
.status.customer,
.status.active {
  background: #eaf5ef;
  color: #2c7050;
}
.status.lost,
.status.disabled,
.status.suspended {
  background: #fbeef0;
  color: #a43d4e;
}
.status.archived {
  background: #eff1f4;
  color: #607086;
}
.mini-owner {
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  font-size: 11px;
}
.pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  border-top: 1px solid #e5eaf1;
  padding: 12px 16px;
  font-size: 11px;
  color: #5b6e87;
}
.pagination > div {
  display: flex;
  gap: 5px;
}
.pagination button {
  border: 1px solid #d9e1ed;
  border-radius: 4px;
  background: white;
  color: #456385;
  padding: 6px 10px;
  font-size: 11px;
}
.board-scroll {
  overflow: auto;
  padding-bottom: 10px;
}
.board {
  display: grid;
  grid-template-columns: repeat(5, minmax(205px, 1fr));
  gap: 12px;
  min-width: 1073px;
}
.lane {
  border: 1px solid #dfe5ed;
  border-radius: 7px;
  padding: 11px;
  background: #edf1f6;
  min-height: 490px;
}
.lane-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  font-weight: 500;
  color: #405876;
  margin: 2px 2px 6px;
}
.lane-title > span {
  display: flex;
  gap: 7px;
  align-items: center;
}
.lane-title b {
  font-size: 10px;
  font-weight: 500;
  color: #536e8f;
  background: #dfe7f2;
  border-radius: 3px;
  padding: 2px 5px;
}
.lane-title button {
  background: none;
  border: 0;
  color: #607d9f;
  display: grid;
  place-items: center;
  padding: 2px;
}
.lane-title svg {
  height: 14px;
  width: 14px;
}
.lane-value {
  font-size: 11px;
  color: #607791;
  margin: 0 2px 14px;
}
.deal-card {
  border: 1px solid #dce3ee;
  border-radius: 6px;
  background: white;
  padding: 14px 12px 11px;
  margin-bottom: 9px;
  box-shadow: 0 1px 2px #172b4306;
  cursor: grab;
  user-select: none;
}
.deal-card:hover {
  border-color: #9cbbe5;
}
.deal-card:active {
  cursor: grabbing;
}
.deal-company {
  font-size: 10px;
  color: #6d7f95;
  margin-bottom: 8px;
}
.deal-card h3 {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
  color: #2a4464;
  min-height: 30px;
}
.deal-amount {
  font-size: 20px;
  font-weight: 600;
  color: #254a77;
  margin-top: 12px;
  letter-spacing: -0.4px;
}
.deal-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
  border-top: 1px solid #ecf0f5;
  padding-top: 10px;
}
.deal-card-foot small {
  font-size: 10px;
  color: #647b96;
}
.stage-select {
  font-size: 10px;
  color: #4d6a8c;
  background: #f8fafc;
  border: 1px solid #e1e8f1;
  border-radius: 4px;
  padding: 5px;
  margin-top: 11px;
  max-width: 100%;
}
.board-note {
  font-size: 11px;
  line-height: 1.8;
  color: #627790;
  margin-top: 6px;
}
.empty {
  padding: 35px 20px;
  text-align: center;
  color: #687d96;
  font-size: 12px;
  line-height: 1.8;
}
.empty-symbol > svg {
  display: block;
  margin: 0 auto 12px;
  color: #7b96b7;
  width: 26px;
  height: 26px;
}
.empty strong {
  display: block;
  font-size: 16px;
  font-weight: 500;
  color: #3c5778;
  margin-bottom: 6px;
}
.empty .btn {
  margin-top: 15px;
}
.empty-inline {
  font-size: 12px;
  color: #687c94;
  margin: 15px 0;
  line-height: 1.8;
}
.notice {
  padding: 11px 13px;
  border: 1px solid #e8d8b2;
  background: #fffaf0;
  border-radius: 5px;
  color: #816531;
  font-size: 12px;
  line-height: 1.8;
}
.error,
.auth-error:not(:empty) {
  padding: 11px 13px;
  border: 1px solid #edcdd2;
  border-radius: 5px;
  background: #fff4f5;
  color: #a33d4b;
  font-size: 12px;
  line-height: 1.7;
}
.dialog-error:empty,
.auth-error:empty {
  display: none;
}
.settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.settings-form {
  display: grid;
  gap: 18px;
}
.settings-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 17px 0;
  border-bottom: 1px solid #e5eaf1;
  font-size: 12px;
  color: #3e5773;
}
.settings-row small {
  display: block;
  font-size: 11px;
  color: #6a7d95;
  line-height: 1.6;
  margin-top: 5px;
}
.settings-row b {
  font-size: 11px;
  font-weight: 500;
  color: #56708e;
}
.field {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.field > label,
.field > span {
  font-size: 12px;
  font-weight: 500;
  color: #405772;
}
.field input,
.field select,
.field textarea {
  border: 1px solid #cfd9e7;
  background: white;
  border-radius: 5px;
  padding: 10px 11px;
  min-height: 38px;
  width: 100%;
  color: #243f60;
  font-size: 13px;
}
.field input::placeholder,
.field textarea::placeholder {
  color: #7d8fa6;
}
.field small {
  font-size: 11px;
  line-height: 1.7;
  color: #627b96;
}
.field textarea {
  min-height: 85px;
  resize: vertical;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.form-grid .full {
  grid-column: 1/-1;
}
dialog {
  border: 1px solid #d8e1ed;
  border-radius: 9px;
  width: min(560px, calc(100% - 28px));
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 25px;
  box-shadow: 0 20px 80px #132d4a26;
  color: #243d5c;
}
dialog::backdrop {
  background: #142b4640;
}
.dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 23px;
}
.dialog-head h2 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.4px;
}
.icon-button {
  display: inline-grid;
  place-items: center;
  background: white;
  border: 1px solid #dce4ef;
  border-radius: 5px;
  width: 32px;
  height: 32px;
  color: #617a99;
  flex: none;
}
.icon-button svg {
  width: 15px;
  height: 15px;
}
.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #e7ecf3;
}
.dialog-error {
  margin-bottom: 15px;
}
.record-dialog {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  height: 100%;
  max-height: 100%;
  width: min(560px, 100%);
  border-radius: 0;
  border-left: 1px solid #d8e1ed;
  padding: 25px;
}
.drawer-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.record-dialog h2 {
  font-size: 24px;
  letter-spacing: -0.6px;
  margin-top: 13px;
}
.drawer-industry {
  font-size: 12px;
  color: #687e98;
  margin-top: 6px;
}
.record-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
  padding: 20px 0;
  border-block: 1px solid #e5eaf2;
  margin: 22px 0;
}
.record-meta dt {
  font-size: 10px;
  color: #657e9a;
  margin-bottom: 6px;
}
.record-meta dd {
  font-size: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
  margin: 0;
  color: #425d7e;
}
.record-section {
  margin-top: 25px;
}
.record-section h3 {
  font-size: 14px;
  font-weight: 600;
  color: #324f72;
  margin-bottom: 13px;
}
.record-section > .btn {
  margin-top: 12px;
}
.record-line {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 0;
  border-bottom: 1px solid #e8edf4;
  font-size: 12px;
  color: #526e91;
  width: 100%;
}
.record-line > div {
  flex: 1;
}
.record-line strong {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #365679;
}
.record-line small {
  display: block;
  font-size: 10px;
  color: #68809d;
  margin-top: 4px;
}
.record-line svg {
  height: 14px;
  width: 14px;
}
.record-note {
  padding: 13px;
  background: #f8fafc;
  border: 1px solid #e3eaf3;
  border-radius: 6px;
  margin-bottom: 10px;
}
.record-note p {
  white-space: pre-wrap;
  font-size: 12px;
  line-height: 1.8;
  overflow-wrap: anywhere;
  color: #425f82;
}
.record-note small {
  display: block;
  font-size: 10px;
  color: #6882a1;
  margin-top: 8px;
}
.note-form textarea {
  width: 100%;
  min-height: 85px;
  resize: vertical;
  border: 1px solid #d2deed;
  padding: 11px;
  border-radius: 5px;
  font: inherit;
  color: #375779;
}
.note-form .btn {
  margin-top: 9px;
}
.archive-action {
  border: 0;
  background: none;
  padding: 8px 0;
  margin-top: 15px;
  color: #a0474d;
  font-size: 12px;
}
.search-results {
  display: grid;
  gap: 7px;
  margin-top: 17px;
}
.search-result {
  display: block;
  width: 100%;
  text-align: left;
  background: white;
  border: 1px solid #e0e7f1;
  border-radius: 5px;
  padding: 11px;
  font-size: 13px;
  color: #36577e;
}
.search-result:hover {
  background: #f4f8ff;
}
.search-result small {
  display: block;
  font-size: 10px;
  color: #6884a7;
  margin-top: 5px;
}
.mail-card {
  border: 1px solid #dfe7f2;
  border-radius: 6px;
  padding: 16px;
  margin-top: 14px;
}
.mail-card h3 {
  font-size: 14px;
  font-weight: 500;
  color: #34567f;
  margin-bottom: 7px;
}
.mail-card small {
  font-size: 11px;
  color: #627e9f;
}
.mail-card a {
  margin-top: 15px;
}
.auth-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 60px 20px 25px;
  background: #f3f5f8;
}
.auth-brand {
  display: block;
  margin-bottom: 30px;
}
.auth-brand img {
  width: 200px;
}
.auth-pane {
  width: 100%;
  max-width: 410px;
}
.auth-card {
  background: white;
  border: 1px solid #dce4ef;
  border-radius: 9px;
  padding: 30px;
  box-shadow: 0 3px 12px #172b4305;
}
.auth-card h2 {
  font-size: 23px;
  letter-spacing: -0.5px;
  font-weight: 600;
  color: #253e5d;
}
.auth-card > p {
  font-size: 12px;
  line-height: 1.8;
  color: #647b97;
  margin-top: 9px;
}
.auth-form {
  display: grid;
  gap: 19px;
  margin-top: 26px;
}
.auth-form .btn {
  width: 100%;
  min-height: 39px;
}
.auth-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-size: 11px;
  color: #2563bb;
  margin-top: 17px;
}
.auth-footer {
  font-size: 10px !important;
  line-height: 1.9 !important;
  color: #6c8098 !important;
  border-top: 1px solid #e4eaf3;
  margin-top: 22px !important;
  padding-top: 17px;
}
.auth-company {
  font-size: 10px;
  color: #6a7f97;
  margin-top: 24px;
}
.preview-choice {
  margin-top: 24px;
  padding-top: 19px;
  border-top: 1px solid #e5eaf2;
}
.preview-choice p {
  font-size: 11px;
  line-height: 1.8;
  color: #647e9f;
  margin-bottom: 12px;
}
.preview-choice .btn {
  width: 100%;
}
.auth-result {
  font-size: 12px;
  line-height: 1.8;
  padding: 15px;
  margin-top: 20px;
  border: 1px solid #dbe5f3;
  border-radius: 6px;
  background: #f5f8fe;
  color: #496991;
}
#toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: #1e3552;
  color: white;
  border: 1px solid #385273;
  border-radius: 6px;
  padding: 12px 18px;
  font-size: 12px;
  box-shadow: 0 8px 30px #172b4326;
  max-width: calc(100% - 30px);
  z-index: 180;
  display: none;
}
#toast.visible {
  display: block;
}
.backdrop-nav {
  display: none;
}
@media (min-width: 1800px) {
  .main {
    padding-inline: 35px;
  }
  .topbar {
    padding-inline: 35px;
  }
}
@media (max-width: 1200px) {
  .overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .top-date {
    display: none;
  }
  .stat {
    padding: 15px;
  }
  .stat-value {
    font-size: 26px;
  }
  .settings-grid {
    grid-template-columns: 1fr;
  }
  .topbar {
    gap: 14px;
  }
  .search-trigger {
    min-width: 190px;
  }
}
@media (max-width: 800px) {
  .sidebar {
    transform: translateX(-100%);
    transition: transform 0.2s;
  }
  .shell.nav-open .sidebar {
    transform: translateX(0);
  }
  .shell.nav-open .backdrop-nav {
    display: block;
    position: fixed;
    inset: 0;
    background: #132b4540;
    z-index: 30;
  }
  .body {
    margin-left: 0;
  }
  .mobile-menu {
    display: grid;
    place-items: center;
    background: none;
    border: 0;
    padding: 4px;
    color: #536e8f;
  }
  .topbar {
    height: 55px;
    padding: 0 16px;
    gap: 12px;
  }
  .crumbs {
    margin-right: auto;
    gap: 7px;
    font-size: 11px;
  }
  .top-actions {
    gap: 10px;
  }
  .search-trigger {
    min-width: 0;
    border: 0;
    background: white;
    padding: 5px;
  }
  .search-trigger span,
  .search-trigger kbd {
    display: none;
  }
  .main {
    padding: 20px 16px;
  }
  .page-head {
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 20px;
    gap: 14px;
  }
  .page-head h1 {
    font-size: 23px;
  }
  .page-head p {
    font-size: 11px;
    max-width: 300px;
  }
  .head-actions .btn {
    font-size: 11px;
    padding: 8px 10px;
  }
  .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .stat {
    padding: 14px;
  }
  .stat-head {
    font-size: 11px;
  }
  .stat-value {
    font-size: 25px;
  }
  .stat:nth-child(-n + 2) .stat-value {
    font-size: clamp(17px, 5vw, 24px);
    letter-spacing: -0.7px;
  }
  .stat-foot {
    font-size: 10px;
  }
  .overview-grid {
    gap: 15px;
  }
  .panel {
    padding: 15px;
  }
  .panel-head {
    gap: 10px;
  }
  .panel-head h2 {
    font-size: 13px;
  }
  .subtle-link {
    font-size: 10px;
  }
  .pipeline-summary {
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 16px;
  }
  .pipeline-step strong {
    font-size: 10px;
  }
  .pipeline-step b {
    font-size: 20px;
  }
  .pipeline-step small {
    font-size: 10px;
  }
  .table-panel {
    padding: 0;
  }
  .table-wrap table {
    min-width: 650px;
  }
  .table-heading {
    padding: 15px;
  }
  .toolbar {
    flex-wrap: wrap;
  }
  .toolbar-group {
    width: 100%;
    flex-wrap: wrap;
  }
  .filter-input {
    min-width: 0;
    flex: 1 1 180px;
  }
  .filter-select {
    font-size: 11px;
    max-width: 100%;
  }
  .switcher {
    flex: none;
  }
  .task-row {
    gap: 8px;
    flex-wrap: wrap;
  }
  .task-copy {
    min-width: 130px;
  }
  .task-copy strong {
    font-size: 12px;
  }
  .task-date {
    font-size: 9px;
  }
  .activity-copy {
    overflow-wrap: anywhere;
  }
  .activity-time {
    font-size: 9px;
  }
  .footer {
    font-size: 9px;
    padding: 16px;
    gap: 20px;
  }
  .footer span:last-child {
    text-align: right;
  }
  .form-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .form-grid .full {
    grid-column: auto;
  }
  .record-dialog {
    padding: 24px 18px;
  }
  .record-dialog .head-actions {
    flex-wrap: wrap;
  }
  .record-meta {
    gap: 16px;
  }
  .settings-row {
    flex-wrap: wrap;
  }
  .auth-shell {
    padding-top: 35px;
  }
  .auth-card {
    padding: 25px;
  }
  .auth-brand img {
    width: 180px;
  }
  .auth-links {
    font-size: 11px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
/* Full-width CRM workspace and on-demand navigation. */
[hidden] {
  display: none !important;
}
.popup-shell .body {
  margin-left: 0;
  width: 100%;
}
.popup-shell .main {
  margin-inline: auto;
  max-width: 1640px;
  padding: 28px 30px;
}
.popup-shell .topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 67px;
  padding-inline: 30px;
  box-shadow: 0 2px 7px #14335b05;
}
.header-left {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}
.top-brand img {
  width: 164px;
  height: auto;
}
.menu-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #d5deea;
  border-radius: 7px;
  min-height: 36px;
  padding: 8px 10px;
  color: #344f72;
  font-size: 12px;
  box-shadow: 0 1px 2px #19334f07;
}
.menu-trigger:hover,
.menu-trigger[aria-expanded='true'] {
  background: #edf3ff;
  border-color: #b8ccef;
  color: #2159b5;
}
.menu-trigger svg {
  height: 16px;
  width: 16px;
}
.menu-trigger kbd {
  font: inherit;
  font-size: 10px;
  color: #677e9a;
  border: 1px solid #dfe6f0;
  padding: 1px 4px;
  border-radius: 3px;
  margin-left: 8px;
}
.header-workspace {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 176px;
}
.header-workspace summary {
  padding: 0;
}
.header-workspace strong {
  max-width: 138px;
}
.header-workspace .workspace-options {
  top: 43px;
  min-width: 220px;
}
.top-actions {
  gap: 15px;
}
.popup-shell .topbar .crumbs {
  white-space: nowrap;
}
.popup-shell .stats {
  gap: 16px;
}
.stat,
.panel {
  box-shadow:
    0 2px 5px #14325205,
    0 1px 1px #14325202;
}
.btn {
  box-shadow:
    inset 0 1px 0 #ffffff26,
    0 2px 3px #17488012;
  background: linear-gradient(#2a68ed, #235fe0);
  transition:
    background-color 0.14s,
    box-shadow 0.14s,
    transform 0.14s;
}
.btn:active {
  transform: translateY(1px);
}
.btn.secondary {
  background: #fff;
  box-shadow: 0 1px 2px #18355406;
}
.deal-card {
  transition:
    transform 0.15s,
    box-shadow 0.15s,
    border-color 0.15s;
}
.deal-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px #1539600d;
}
.record-dialog {
  box-shadow: -20px 0 70px #102d4d1a;
}
.icon-button {
  transition:
    background-color 0.15s,
    border-color 0.15s;
}
.icon-button:hover {
  background: #f1f5fc;
  border-color: #bacde7;
}
.panel-bottom .btn {
  width: auto;
}
dialog {
  box-shadow:
    0 22px 75px #102d4d30,
    0 3px 14px #102d4d14;
  border-color: #d4deeb;
}
dialog::backdrop {
  background: #102a4542;
  backdrop-filter: blur(3px);
}
dialog[open] {
  animation: surface-enter 0.16s ease-out;
}
.main.view-enter {
  animation: content-enter 0.15s ease-out;
}
.nav-popup {
  width: min(720px, calc(100% - 28px));
  padding: 25px;
  border-radius: 14px;
}
.nav-popup .dialog-head {
  margin-bottom: 20px;
}
.nav-popup .dialog-head p {
  margin-top: 7px;
}
.nav-search {
  margin-bottom: 17px;
}
.nav-search input {
  min-height: 42px;
  background: #f8fafc;
}
.nav-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.nav-choice {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #e0e7f1;
  border-radius: 8px;
  padding: 14px 12px;
  background: linear-gradient(#fff, #fcfdff);
  text-align: left;
  transition:
    transform 0.15s,
    box-shadow 0.15s,
    border-color 0.15s;
}
.nav-choice > span:nth-child(2) {
  flex: 1;
  min-width: 0;
}
.nav-choice-icon {
  display: grid;
  place-items: center;
  flex: none;
  background: #f0f4fa;
  color: #526f94;
  border: 1px solid #e6edf6;
  border-radius: 7px;
  width: 36px;
  height: 36px;
}
.nav-choice-icon svg {
  width: 18px;
  height: 18px;
}
.nav-choice strong {
  display: block;
  font-size: 13px;
  color: #304b70;
  font-weight: 550;
}
.nav-choice small {
  display: block;
  font-size: 10px;
  color: #607795;
  margin-top: 6px;
  line-height: 1.6;
}
.nav-choice > svg {
  width: 14px;
  height: 14px;
  color: #718aaa;
}
.nav-choice:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px #18395d0a;
  border-color: #b8ccec;
}
.nav-choice.active {
  background: #eff5ff;
  border-color: #c6d8f4;
}
.nav-choice.active .nav-choice-icon {
  background: #e4edff;
  color: #2563ca;
  border-color: #d4e2fb;
}
.nav-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 17px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #e5ebf3;
  color: #607895;
  font-size: 10px;
}
.nav-shortcuts kbd {
  font: inherit;
  font-size: 10px;
  padding: 2px 4px;
  border: 1px solid #dce5f1;
  background: #f8fafc;
  border-radius: 3px;
  margin-right: 4px;
}
.quick-create-grid {
  display: grid;
  gap: 10px;
}
.quick-choice {
  display: flex;
  align-items: center;
  gap: 13px;
  border: 1px solid #dfe7f2;
  border-radius: 7px;
  background: #fff;
  padding: 15px;
  text-align: left;
  color: #4c6b95;
}
.quick-choice:hover {
  background: #f4f8ff;
  border-color: #c5d7f2;
}
.quick-choice > span {
  flex: 1;
}
.quick-choice strong {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #304e77;
}
.quick-choice small {
  display: block;
  color: #607b9e;
  font-size: 11px;
  margin-top: 6px;
}
.quick-choice > svg {
  height: 18px;
  width: 18px;
}
.quick-choice > svg:last-child {
  height: 14px;
  width: 14px;
}
.record-controls {
  border: 1px solid #dfe6ef;
  background: white;
  border-radius: 8px;
  margin-bottom: 16px;
  box-shadow: 0 1px 3px #15335304;
}
.filter-line {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 14px;
}
.filter-line .filter-input {
  min-width: 180px;
  flex: 1;
  max-width: 310px;
}
.filter-line .filter-select {
  max-width: 200px;
  min-width: 110px;
}
.text-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px 8px;
  font-size: 11px;
  border: 0;
  background: none;
  color: #285eaa;
  border-radius: 4px;
  white-space: nowrap;
}
.text-button svg {
  height: 13px;
  width: 13px;
}
.text-button:hover {
  background: #f0f5fd;
}
.text-button.danger {
  color: #a33e4b;
}
.saved-view-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 10px 14px;
  background: #fbfcfe;
  border-top: 1px solid #e6ecf5;
  border-radius: 0 0 8px 8px;
}
.saved-view-line > div {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.saved-view-line .filter-select {
  min-width: 170px;
  max-width: 260px;
  font-size: 11px;
  height: 31px;
  background: white;
}
.pipeline-view-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 14px;
}
.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #536c8e;
  white-space: nowrap;
}
.checkbox-label input {
  accent-color: #2563eb;
  width: 15px;
  height: 15px;
}
.calendar-navigation {
  display: flex;
  align-items: center;
  gap: 10px;
}
.calendar-navigation h2 {
  min-width: 160px;
  text-align: center;
  font-size: 18px;
  font-weight: 550;
  letter-spacing: -0.3px;
  color: #314e73;
}
.calendar-navigation .icon-button {
  font-size: 22px;
}
.calendar-summary {
  margin: 16px 0 12px;
}
.calendar-scroll {
  overflow: auto;
  border: 1px solid #dbe4f0;
  border-radius: 9px;
  box-shadow: 0 2px 5px #17345405;
  background: white;
}
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  min-width: 840px;
}
.calendar-weekday {
  padding: 12px 15px;
  font-size: 11px;
  font-weight: 500;
  color: #5c7291;
  background: #f7f9fc;
  border-bottom: 1px solid #dfe7f2;
  border-right: 1px solid #e6edf6;
}
.calendar-cell {
  min-width: 0;
  min-height: 128px;
  border-right: 1px solid #e6edf6;
  border-bottom: 1px solid #e6edf6;
  background: white;
}
.calendar-cell:nth-child(7n) {
  border-right: 0;
}
.calendar-cell.outside {
  background: #f8fafc;
}
.calendar-cell.is-today {
  background: #f5f9ff;
  box-shadow: inset 0 2px #4d83d9;
}
.calendar-day {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 0;
  background: none;
  color: #4c6484;
  padding: 10px 12px;
  font-size: 11px;
  font-weight: 500;
  text-align: left;
}
.calendar-day svg {
  height: 12px;
  width: 12px;
  opacity: 0;
}
.calendar-day:hover {
  background: #edf4ff;
  color: #245fbd;
}
.calendar-day:hover svg,
.calendar-day:focus-visible svg {
  opacity: 1;
}
.calendar-items {
  max-height: 210px;
  overflow: auto;
  padding: 0 7px 8px;
}
.calendar-task {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  background: #edf4ff;
  border: 1px solid #dae7fa;
  border-radius: 5px;
  margin-top: 4px;
  padding: 7px 6px;
}
.calendar-task .row-link {
  min-width: 0;
  flex: 1;
}
.calendar-task strong {
  display: block;
  font-size: 10px;
  line-height: 1.65;
  font-weight: 500;
  color: #365f97;
  overflow-wrap: anywhere;
}
.calendar-task small {
  display: block;
  font-size: 9px;
  line-height: 1.6;
  color: #536f94;
  margin-top: 3px;
}
.calendar-task .task-check {
  width: 13px;
  min-width: 13px;
  height: 13px;
  margin-top: 2px;
}
.calendar-task.completed {
  background: #f0f5f2;
  border-color: #dde9e0;
}
.calendar-task.completed strong {
  color: #567261;
  text-decoration: line-through;
}
.activity-log .activity {
  padding: 16px 0;
}
.activity-log time {
  white-space: nowrap;
}
.filter-line .text-button {
  margin-left: auto;
}
.nav-workspaces {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #e5ebf3;
}
.nav-workspaces span {
  font-size: 10px;
  color: #647c9b;
}
.nav-workspaces button {
  background: #f5f8fd;
  border: 1px solid #dce6f4;
  border-radius: 5px;
  padding: 6px 8px;
  color: #426690;
  font-size: 10px;
}
@keyframes surface-enter {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.99);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes content-enter {
  from {
    opacity: 0.65;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 1150px) {
  .header-workspace {
    display: none;
  }
  .popup-shell .main {
    padding-inline: 24px;
  }
  .popup-shell .topbar {
    padding-inline: 24px;
  }
  .overview-grid {
    grid-template-columns: 1fr;
  }
  .filter-line .filter-input {
    max-width: none;
  }
  .filter-line .filter-select {
    flex: 1;
    max-width: none;
  }
  .calendar-navigation h2 {
    min-width: 140px;
  }
}
@media (max-width: 800px) {
  .popup-shell .main {
    padding: 22px 17px;
  }
  .popup-shell .topbar {
    padding: 0 16px;
    height: 61px;
  }
  .header-left {
    gap: 12px;
  }
  .top-brand img {
    width: 140px;
  }
  .popup-shell .topbar .crumbs {
    display: none;
  }
  .menu-trigger {
    min-height: 33px;
    padding: 7px;
  }
  .menu-trigger kbd {
    display: none;
  }
  .top-actions {
    gap: 9px;
  }
  .nav-popup {
    padding: 20px;
    max-height: calc(100dvh - 25px);
  }
  .nav-choice {
    padding: 12px 10px;
    gap: 9px;
  }
  .nav-choice-icon {
    height: 30px;
    width: 30px;
  }
  .nav-choice small {
    font-size: 10px;
  }
  .nav-shortcuts {
    gap: 10px;
  }
  .record-controls .filter-line {
    padding: 11px;
    gap: 9px;
  }
  .filter-line .filter-input {
    flex: 1 1 100%;
    max-width: none;
  }
  .filter-line .filter-select {
    flex: 1 1 125px;
    min-width: 0;
    width: 100%;
  }
  .saved-view-line {
    padding: 10px 11px;
    flex-wrap: wrap;
    gap: 10px;
  }
  .saved-view-line > div {
    width: 100%;
  }
  .saved-view-line .filter-select {
    max-width: none;
    min-width: 0;
    flex: 1;
  }
  .calendar-navigation {
    width: 100%;
    justify-content: space-between;
    gap: 7px;
  }
  .calendar-navigation h2 {
    flex: 1;
    min-width: 0;
    font-size: 16px;
  }
  .calendar-navigation .btn {
    font-size: 10px;
    padding: 8px;
  }
  .calendar-summary {
    font-size: 10px;
    line-height: 1.8;
  }
  .activity-log .activity {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .activity-log .activity-copy {
    min-width: 150px;
  }
  .activity-log time {
    font-size: 9px;
  }
  .calendar-cell {
    min-height: 115px;
  }
  .popup-shell .footer {
    padding-inline: 17px;
  }
}
@media (max-width: 480px) {
  .top-brand img {
    width: 125px;
  }
  .header-left {
    gap: 9px;
  }
  .menu-trigger span {
    display: none;
  }
  .top-actions {
    gap: 8px;
  }
  .top-actions > .btn {
    font-size: 0;
    padding: 8px;
    width: 33px;
    min-height: 33px;
    gap: 0;
  }
  .top-actions > .btn svg {
    height: 15px;
    width: 15px;
  }
  .popup-shell .topbar {
    gap: 9px;
    padding-inline: 13px;
  }
  .top-actions .search-trigger {
    padding: 4px;
  }
  .nav-grid {
    grid-template-columns: 1fr;
  }
  .nav-choice small {
    font-size: 10px;
  }
  .nav-popup {
    padding: 18px;
  }
  .nav-popup .dialog-head h2 {
    font-size: 19px;
  }
  .nav-choice-icon {
    height: 32px;
    width: 32px;
  }
  .nav-shortcuts {
    font-size: 9px;
  }
  .nav-workspaces {
    gap: 6px;
  }
  .menu-trigger {
    width: 33px;
    justify-content: center;
  }
  .header-left .crumbs {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  dialog[open],
  .main.view-enter {
    animation: none !important;
  }
  .deal-card:hover,
  .nav-choice:hover,
  .btn:active {
    transform: none !important;
  }
  dialog::backdrop {
    backdrop-filter: none;
  }
}
.overview-grid > div {
  min-width: 0;
}
@media (max-width: 1150px) {
  .overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.btn {
  background-color: #2563eb;
}
.menu-trigger kbd {
  color: #596f8d;
}
/* Fixed left navigation; record details open as floating pop-outs. */
.crm-shell .topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 64px;
  box-shadow: 0 2px 6px #17334d04;
}
.crm-shell .main {
  padding: 26px;
  max-width: 1700px;
}
.crm-shell .sidebar {
  box-shadow: 1px 0 3px #19365403;
}
.sidebar-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sidebar-brand-row .brand {
  padding: 0 13px 24px;
  flex: 1;
}
.sidebar-close {
  display: none;
}
.record-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(1000px, calc(100% - 48px));
  height: fit-content;
  max-height: calc(100dvh - 64px);
  padding: 26px;
  border: 1px solid #d4deeb;
  border-radius: 12px;
  box-shadow:
    0 24px 85px #102d4d30,
    0 4px 15px #102d4d14;
  overflow: auto;
}
.record-dialog .drawer-head > div {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 6px;
  align-items: center;
  min-width: 0;
}
.record-dialog .drawer-head .company-avatar {
  width: 44px;
  height: 44px;
  font-size: 14px;
  grid-row: 1/3;
}
.record-dialog .drawer-head h2 {
  margin: 0;
  font-size: 24px;
  overflow-wrap: anywhere;
}
.record-dialog .drawer-industry {
  margin: 0;
}
.record-dialog .record-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.record-detail-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}
.record-detail-columns > .record-section,
.record-related > .record-section:first-child {
  margin-top: 0;
}
.record-dialog .record-section h3 {
  font-size: 14px;
}
.record-dialog .record-note {
  background: #f7f9fc;
}
.record-dialog[open] {
  animation: surface-enter 0.16s ease-out;
}
.record-dialog .record-meta dd {
  font-size: 12px;
}
.record-dialog .record-line {
  width: 100%;
}
.record-dialog .head-actions {
  flex-wrap: wrap;
}
@media (max-width: 1200px) {
  .crm-shell .overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 800px) {
  .crm-shell .main {
    padding: 22px 17px;
  }
  .crm-shell .topbar {
    height: 59px;
    padding-inline: 17px;
  }
  .crm-shell .header-left {
    gap: 9px;
  }
  .crm-shell .crumbs {
    font-size: 11px;
    gap: 7px;
  }
  .crm-shell .top-actions {
    gap: 9px;
  }
  .sidebar-brand-row .brand {
    padding: 0 5px 20px;
    max-width: 160px;
  }
  .sidebar-close {
    display: grid;
    margin-top: -14px;
    width: 28px;
    height: 28px;
  }
  .record-dialog {
    width: calc(100% - 24px);
    max-height: calc(100dvh - 28px);
    padding: 21px 18px;
    border-radius: 10px;
  }
  .record-dialog .record-meta {
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }
  .record-detail-columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 25px;
  }
  .record-dialog .drawer-head h2 {
    font-size: 21px;
  }
  .record-dialog .drawer-head {
    gap: 12px;
  }
  .crm-shell .sidebar[aria-hidden='true'] {
    visibility: hidden;
  }
  .crm-shell.nav-open .sidebar {
    visibility: visible;
  }
  .record-dialog .record-meta dd {
    overflow-wrap: anywhere;
  }
}
@media (prefers-reduced-motion: reduce) {
  .record-dialog[open] {
    animation: none !important;
  }
}
.microsoft-signin{gap:12px!important}.microsoft-mark{display:grid;grid-template-columns:7px 7px;grid-template-rows:7px 7px;gap:2px;flex:none}.microsoft-mark i:nth-child(1){background:#f35325}.microsoft-mark i:nth-child(2){background:#81bc06}.microsoft-mark i:nth-child(3){background:#05a6f0}.microsoft-mark i:nth-child(4){background:#ffba08}.sso-scope{font-size:11px!important;line-height:1.8;color:#60728b;margin-top:20px!important}
/* CRM interface refinement: compact controls and relationship-focused workspaces. */
:root { --accent:#315bd5; --accent-soft:#edf2ff; --ink:#1d2c43; --muted:#627086; --paper:#f4f6f9; }
.btn { min-height:34px; width:auto; max-width:100%; padding:8px 12px; gap:7px; border-radius:6px; border-color:#315bd5; background:#315bd5; font-size:12px; font-weight:600; line-height:1.25; box-shadow:0 1px 2px #20386014; vertical-align:middle; }
.btn:hover { background:#244bbd; border-color:#244bbd; }
.btn > svg { width:14px; height:14px; margin:0; color:inherit; display:block; }
.btn.secondary { color:#44536b; border-color:#dce2eb; background:white; box-shadow:0 1px 2px #20386005; }
.btn.secondary:hover { color:#244bbd; border-color:#b8c7e5; background:#f8faff; }
.topbar .btn { min-height:32px; padding:7px 11px; }
.icon-button { border-radius:6px; }
.empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; padding:38px 24px; min-height:200px; color:#64728a; line-height:1.65; }
.empty-symbol { display:grid; place-items:center; width:40px; height:40px; border:1px solid #e4eaf4; background:#f5f8fd; border-radius:12px; }
.empty-symbol > svg { display:block; width:19px; height:19px; margin:0; color:#6480a7; }
.empty-copy { max-width:330px; }
.empty-copy strong { margin:0 0 5px; color:#33455e; font-size:14px; font-weight:600; line-height:1.5; }
.empty-copy p { margin:0; font-size:12px; line-height:1.7; }
.empty-actions { display:flex; justify-content:center; align-items:center; max-width:100%; }
.empty .btn { margin:0; }
.empty-actions .btn > svg { width:14px; height:14px; margin:0; color:inherit; }
.page-head { margin-bottom:12px; align-items:flex-start; }
.page-head h1 { color:#1e304b; font-size:25px; letter-spacing:-.7px; }
.page-head p { margin-top:5px; color:#65748a; }
.page-head + .filter-toolbar, .page-head + .record-controls { margin-top:22px; }
.workspace-date { color:#69788e; display:flex; align-items:center; gap:7px; font-size:11px; margin:0 0 23px; }
.workspace-date svg { width:13px; height:13px; }
.stats { gap:15px; margin-bottom:22px; }
.stat { padding:17px 20px 18px; border-color:#e1e6ee; border-radius:10px; box-shadow:0 2px 5px #263c5b03; }
.stat-head { color:#52627b; font-size:12px; }
.stat-symbol { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#f1f5fc; }
.stat-head svg { width:15px; height:15px; color:#5272a9; }
.stat-value { font-size:29px; font-weight:600; margin-top:7px; font-variant-numeric:tabular-nums; color:#243a59; }
.stat-foot { margin-top:7px; font-size:10px; color:#6b7890; }
.panel { border-radius:10px; border-color:#e1e6ee; padding:20px; box-shadow:0 2px 5px #263c5b03; }
.table-panel { padding:0; }
.panel-head h2 { font-size:13px; color:#30425c; letter-spacing:-.15px; }
.panel-head p { font-size:11px; margin-top:5px; color:#718097; }
.overview-grid { grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr); gap:20px; align-items:start; }
.overview-primary,.overview-secondary { min-width:0; }
.pipeline-distribution { display:flex; height:7px; gap:3px; border-radius:5px; overflow:hidden; margin:24px 0 18px; }
.distribution-segment { flex:var(--portion); background:#8ea9ec; min-width:0; }
.distribution-segment.stage-qualified { background:#7197d4; }
.distribution-segment.stage-proposal { background:#aaa2ce; }
.distribution-segment.stage-negotiation { background:#d3b783; }
.distribution-segment.stage-won { background:#7cae9f; }
.pipeline-summary { gap:0; }
.pipeline-step { border:0; padding:0 10px 0 14px; border-left:1px solid #e9edf3; }
.pipeline-step:first-child { padding-left:0; border-left:0; }
.pipeline-step strong { display:flex; align-items:center; gap:6px; color:#63718a; font-size:10px; font-weight:500; }
.pipeline-step strong i { width:5px; height:5px; border-radius:50%; background:#8ea9ec; }
.pipeline-step.stage-qualified strong i { background:#7197d4; }
.pipeline-step.stage-proposal strong i { background:#aaa2ce; }
.pipeline-step.stage-negotiation strong i { background:#d3b783; }
.pipeline-step.stage-won strong i { background:#7cae9f; }
.pipeline-step b { font-size:21px; font-weight:600; margin:10px 0 4px; color:#2f4666; }
.pipeline-step small { font-size:10px; color:#718198; }
.opportunities-panel { padding-bottom:8px; }
.opportunities-panel .empty { min-height:246px; }
.opportunity-list { margin:0 -20px; }
.opportunity-item { display:flex; align-items:center; gap:12px; padding:17px 20px; border:0; border-top:1px solid #edf0f5; background:white; width:100%; text-align:left; color:#344761; }
.opportunity-item:hover { background:#f8faff; }
.opportunity-symbol { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:#eff4fd; color:#627fab; flex:none; }
.opportunity-symbol svg { width:16px; height:16px; }
.opportunity-identity { flex:1; min-width:0; }
.opportunity-identity strong { display:block; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.opportunity-identity small,.opportunity-state small { display:block; font-size:10px; color:#75839a; margin-top:5px; }
.opportunity-state { text-align:left; min-width:100px; }
.opportunity-value { font-size:12px; font-weight:600; min-width:88px; text-align:right; font-variant-numeric:tabular-nums; }
.opportunity-arrow { color:#8a9ab2; }
.opportunity-arrow svg { width:13px; height:13px; }
.tasks-panel .empty { min-height:208px; }
.panel-bottom { padding-top:14px; }
.tasks-panel .panel-bottom .btn { width:100%; border-style:dashed; background:#fcfdff; }
.activity-panel .activity { position:relative; padding:13px 0; align-items:flex-start; border:0; }
.activity-panel .activity:not(:last-child)::after { content:''; position:absolute; left:13px; top:39px; bottom:-8px; width:1px; background:#e8edf5; }
.activity-copy strong { font-size:11px; line-height:1.7; font-weight:500; color:#4a5e7a; }
.activity-time { font-size:9px; color:#77859b; }
.table-panel th { background:#f8f9fc; color:#718097; font-size:10px; letter-spacing:.45px; padding-block:12px; }
.table-panel td { padding-block:16px; }
.entity-cell strong { font-size:12px; font-weight:600; color:#344a67; }
.company-avatar { border-radius:9px; }
.filter-toolbar,.record-controls { font-size:12px; }
.lane { border-radius:10px; background:#eef1f6; border:1px solid #e5eaf2; }
.deal-card { border-radius:9px; border-color:#e1e7f0; box-shadow:0 2px 3px #29436a05; }
.deal-card h3 { font-size:12px; line-height:1.6; }
.deal-amount { font-size:19px; color:#304968; }
/* Record editors have a business context, not an undifferentiated field grid. */
dialog { border-radius:14px; border-color:#dae2ee; color:#2e425e; }
.dialog-head { align-items:center; gap:13px; }
.dialog-head > div { min-width:0; flex:1; }
.dialog-head .icon-button { margin-left:auto; align-self:flex-start; }
.dialog-head h2 { font-size:19px; line-height:1.4; }
.dialog-kicker { font-size:9px; line-height:1.5; letter-spacing:1.1px; text-transform:uppercase; font-weight:600; color:#73839c; margin-bottom:4px; }
.dialog-description { font-size:11px; color:#75829a; line-height:1.7; margin-top:5px; }
.editor-symbol,.context-symbol { display:grid; place-items:center; width:40px; height:40px; border-radius:11px; background:#eef3fe; border:1px solid #e0e8fa; color:#5a7bb2; flex:none; }
.editor-symbol svg,.context-symbol svg { width:19px; height:19px; }
.editor-workbench { width:min(830px,calc(100% - 40px)); padding:0; max-height:calc(100dvh - 52px); }
.editor-workbench .dialog-head { padding:22px 24px; margin:0; border-bottom:1px solid #e8edf4; background:white; position:sticky; top:0; z-index:2; }
.editor-workbench .dialog-error:not(:empty) { margin:16px 24px 0; }
.editor-columns { display:grid; grid-template-columns:minmax(0,1fr) 235px; align-items:stretch; }
.editor-sections { padding:24px; }
.editor-section { border:0; min-width:0; margin:0; padding:0 0 20px; }
.editor-section + .editor-section { border-top:1px solid #edf0f6; padding-top:20px; }
.editor-section:last-child { padding-bottom:0; }
.editor-section legend { color:#3e536f; font-size:11px; font-weight:600; margin:0 0 14px; padding:0; float:left; width:100%; }
.editor-section > .form-grid { clear:both; gap:14px; }
.editor-section .field-wide { grid-column:1/-1; }
.editor-workbench .field label { color:#6b7b91; font-size:11px; font-weight:500; }
.editor-workbench .field input,.editor-workbench .field select { height:37px; min-width:0; background:#fff; border:1px solid #dce4ef; border-radius:6px; color:#344a68; padding:8px 10px; font-size:12px; }
.editor-workbench .field input:focus,.editor-workbench .field select:focus { border-color:#7897d4; box-shadow:0 0 0 3px #315bd50a; }
.editor-context { background:#f8faff; border-left:1px solid #e8edf5; padding:25px 20px; min-width:0; }
.context-symbol { margin:24px 0 15px; background:white; }
.editor-context h3 { font-size:17px; line-height:1.5; letter-spacing:-.3px; overflow-wrap:anywhere; color:#334c6c; margin-bottom:12px; }
.context-value { font-size:24px; font-weight:600; letter-spacing:-.5px; color:#284362; margin-bottom:10px; overflow-wrap:anywhere; }
.context-detail { font-size:12px; color:#6b7e98; }
.context-meta { margin:23px 0 0; padding-top:18px; border-top:1px solid #e2e8f3; }
.context-meta > div + div { margin-top:17px; }
.context-meta dt { font-size:10px; color:#7889a0; margin-bottom:6px; }
.context-meta dd { display:flex; align-items:center; gap:7px; font-size:11px; color:#4f6787; margin:0; overflow-wrap:anywhere; }
.context-hint { font-size:10px; color:#73849e; line-height:1.8; margin-top:28px; }
.deal-progress { display:flex; gap:3px; margin-top:18px; }
.deal-progress i { flex:1; height:4px; background:#dce5f4; border-radius:3px; }
.deal-progress i.selected { background:#6789ca; }
.editor-workbench .dialog-actions { margin:0; padding:16px 24px; border-top:1px solid #e3e9f2; background:white; position:sticky; bottom:0; z-index:1; }
.editor-workbench .archive-action { margin:0; padding:0 24px 18px; font-size:10px; color:#99616b; }
/* Floating customer profile. */
.record-dialog { width:min(1120px,calc(100% - 48px)); padding:0; border-radius:14px; max-height:calc(100dvh - 64px); }
.profile-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:25px 28px 22px; background:#fff; }
.profile-identity { display:flex; align-items:center; gap:15px; min-width:0; }
.profile-identity > div { min-width:0; }
.profile-identity .company-avatar { width:52px; height:52px; font-size:16px; border-radius:13px; flex:none; }
.record-dialog .profile-identity h2 { margin:0; font-size:24px; font-weight:600; line-height:1.4; color:#273f5e; overflow-wrap:anywhere; }
.profile-identity .drawer-industry { font-size:11px; margin-top:6px; }
.profile-identity .drawer-industry span { margin:0 6px; color:#c1cada; }
.profile-commandbar { border-block:1px solid #e8edf4; padding:11px 28px; display:flex; justify-content:space-between; align-items:center; gap:15px; background:#fcfdff; }
.profile-commandbar > div { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.profile-workspace { font-size:10px; color:#8996aa; border-left:1px solid #dfe5ef; padding-left:12px; }
.profile-layout { display:grid; grid-template-columns:220px minmax(0,1fr); }
.profile-sidebar { padding:25px 23px; background:#f9fbfe; border-right:1px solid #e7edf5; min-width:0; }
.profile-sidebar h3 { color:#687b95; font-size:10px; font-weight:600; }
.record-dialog .record-meta { display:flex; flex-direction:column; border:0; margin:0; padding:23px 0; gap:23px; }
.record-meta dt { display:flex; align-items:center; gap:6px; font-size:9px; text-transform:none; color:#8190a5; margin-bottom:7px; }
.record-meta dt svg { width:12px; height:12px; }
.record-dialog .record-meta dd { font-size:11px; line-height:1.7; color:#4b6484; }
.record-meta dd a { display:inline-flex; align-items:center; gap:7px; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.record-meta dd a svg { width:11px; height:11px; }
.profile-owner { display:flex; align-items:center; gap:8px; }
.profile-owner .avatar { width:24px; height:24px; font-size:9px; }
.profile-sidebar-note { display:flex; gap:7px; padding-top:20px; border-top:1px solid #e6ecf5; color:#8593a9; font-size:9px; line-height:1.8; }
.profile-sidebar-note svg { width:13px; height:13px; margin-top:2px; }
.profile-main { padding:24px; min-width:0; }
.profile-metrics { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:15px; margin-bottom:26px; padding-bottom:22px; border-bottom:1px solid #edf0f6; }
.profile-metrics > div + div { border-left:1px solid #e9edf4; padding-left:20px; }
.profile-metrics span { display:block; color:#7b8aa0; font-size:10px; }
.profile-metrics strong { display:block; font-size:23px; color:#334f73; font-weight:600; letter-spacing:-.5px; margin:9px 0 5px; font-variant-numeric:tabular-nums; }
.profile-metrics small { font-size:9px; color:#8c99ad; }
.record-detail-columns { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:26px; }
.record-section-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:14px; }
.record-dialog .record-section-head h3 { font-size:11px; line-height:1.7; margin:0; display:flex; align-items:center; gap:7px; }
.record-section-head .btn { font-size:9px; min-height:27px; padding:5px 7px; gap:4px; }
.record-section-head .btn > svg { width:11px; height:11px; }
.record-related .record-section { margin-top:25px; }
.record-related .record-section:first-child { margin-top:0; }
.record-related .record-line { padding:12px 0; }
.record-line strong { color:#405b7b; font-size:11px; font-weight:600; line-height:1.6; }
.record-line small { color:#8190a7; font-size:9px; line-height:1.7; }
.record-line .avatar { width:27px; height:27px; font-size:9px; }
.record-line > b { font-size:11px; font-weight:600; }
.related-opportunity .status { font-size:8px; padding:2px 6px; }
.record-related .empty-inline { font-size:10px; color:#8190a6; line-height:1.9; padding:5px 0; }
.record-related .task-row { padding:11px 0; gap:7px; }
.record-related .task-copy strong { font-size:10px; line-height:1.6; }
.record-related .task-copy small { font-size:9px; }
.record-related .task-date { font-size:8px; }
.record-related .task-row .row-action { width:22px; height:24px; }
.record-conversations .note-form { border:1px solid #dde5f1; border-radius:8px; overflow:hidden; background:white; }
.record-conversations .note-form:focus-within { border-color:#98afd6; box-shadow:0 0 0 3px #315bd508; }
.record-conversations .note-form textarea { border:0; border-radius:0; min-height:103px; padding:13px; font-size:11px; color:#4c6586; background:none; box-shadow:none; }
.record-conversations .note-form textarea:focus { outline:0; }
.note-composer-footer { border-top:1px solid #f0f3f8; padding:9px 10px; display:flex; align-items:center; justify-content:space-between; gap:10px; background:#fcfdff; }
.note-composer-footer > span { font-size:8px; color:#8d9bb0; }
.note-composer-footer .btn { margin:0; font-size:10px; min-height:28px; padding:6px 10px; }
.conversation-timeline { margin-top:20px; }
.record-dialog .record-note { padding:0 0 18px; margin:0 0 18px; background:none; border:0; border-bottom:1px solid #edf1f6; border-radius:0; }
.note-author { display:flex; align-items:center; gap:7px; margin-bottom:9px; }
.note-author strong { font-size:10px; font-weight:600; color:#5c7392; }
.note-author time { margin-left:auto; font-size:9px; color:#92a0b4; }
.record-note p { font-size:11px; color:#5d7290; line-height:1.9; }
.conversation-empty { text-align:center; padding:23px 15px; color:#8191a9; }
.conversation-empty > svg { color:#9eb0cc; width:20px; height:20px; margin-bottom:10px; }
.conversation-empty strong { display:block; font-size:11px; color:#637b9a; font-weight:500; }
.conversation-empty p { font-size:10px; line-height:1.8; margin-top:5px; }
@media(min-width:1800px) { .crm-shell .main { padding:32px 40px; } }
@media(max-width:1200px) { .crm-shell .overview-grid { grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); } .opportunity-arrow{display:none;} .opportunity-state{min-width:85px;} .opportunity-value{min-width:70px;} }
@media(max-width:1050px) { .crm-shell .overview-grid{grid-template-columns:minmax(0,1fr);} .overview-secondary{display:grid;grid-template-columns:1fr 1fr;gap:18px;} .overview-secondary > .section-space{margin-top:0;} .profile-layout{grid-template-columns:190px minmax(0,1fr);} .profile-main{padding:20px;} .record-detail-columns{grid-template-columns:minmax(0,1fr);} .record-conversations{order:2;} .record-related{order:1;} }
@media(max-width:800px) { .btn{min-height:36px;} .stats{gap:10px;} .stat{padding:15px;} .stat-value{font-size:25px;} .profile-header{padding:20px;} .profile-commandbar{padding:10px 20px;} .record-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 28px);padding:0;} .profile-layout{grid-template-columns:1fr;} .profile-sidebar{border-right:0;border-bottom:1px solid #e7edf5;padding:18px 20px;} .profile-sidebar .record-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:15px 0 0;} .profile-sidebar-note{display:none;} .profile-identity .company-avatar{width:44px;height:44px;} .record-dialog .profile-identity h2{font-size:20px;} .profile-metrics strong{font-size:21px;} .profile-main{padding:20px;} .record-detail-columns{gap:22px;} .record-conversations{order:0;} .record-related{order:0;} .record-section-head .btn{min-height:32px;font-size:10px;} .editor-workbench{width:calc(100% - 24px);max-height:calc(100dvh - 28px);} .editor-columns{grid-template-columns:minmax(0,1fr) 200px;} .editor-workbench .dialog-head{padding:20px;} .editor-sections{padding:20px;} .editor-context{padding:23px 16px;} .profile-workspace{display:none;} }
@media(max-width:600px) { .overview-secondary{display:block;} .overview-secondary > .section-space{margin-top:18px;} .pipeline-step{padding-left:8px;padding-right:6px;} .pipeline-step strong{font-size:8px;gap:3px;} .pipeline-step small{font-size:8px;} .pipeline-step b{font-size:19px;} .opportunity-item{gap:9px;padding:15px 16px;flex-wrap:wrap;} .opportunity-state{order:4;width:100%;display:flex;align-items:center;gap:9px;margin-left:43px;} .opportunity-state small{margin:0;} .opportunity-value{min-width:65px;} .opportunity-list{margin-inline:-20px;} .editor-columns{display:flex;flex-direction:column;} .editor-context{order:-1;border-left:0;border-bottom:1px solid #e8edf5;padding:13px 20px;} .editor-context .dialog-kicker,.editor-context .context-symbol,.editor-context .context-meta,.editor-context .context-hint,.editor-context .deal-progress{display:none;} .editor-context h3{display:inline;font-size:12px;margin:0 10px 0 0;} .editor-context .context-value{display:inline;font-size:14px;margin:0 9px 0 0;} .editor-context .status{font-size:9px;} .editor-context .context-detail{display:inline;font-size:10px;} .editor-section .form-grid{grid-template-columns:1fr;} .editor-section{padding-bottom:18px;} .editor-section+.editor-section{padding-top:18px;} .dialog-description{font-size:10px;} .editor-symbol{width:34px;height:34px;border-radius:9px;} .editor-workbench .dialog-head{padding:17px;gap:10px;} .editor-workbench .dialog-head h2{font-size:17px;} .editor-workbench .dialog-head .icon-button{width:28px;height:28px;} .editor-workbench .dialog-actions{padding:14px 18px;} .profile-commandbar .btn{font-size:10px;min-height:32px;padding:7px 9px;} .profile-header{padding:18px;gap:10px;} .profile-identity{gap:10px;} .profile-identity .drawer-industry{font-size:9px;} .profile-metrics{gap:10px;} .profile-metrics>div+div{padding-left:11px;} .profile-metrics span{font-size:9px;} .profile-metrics small{font-size:8px;} .profile-metrics strong{font-size:19px;} .profile-sidebar .record-meta{gap:13px;} }
@media(prefers-reduced-motion:reduce) { .btn,.deal-card,.icon-button{transition:none;} dialog[open],.record-dialog[open],.main.view-enter{animation:none!important;} }
.pipeline-distribution { display:block; width:100%; height:7px; stroke:none; }
.pipeline-distribution .distribution-segment { fill:#8ea9ec; stroke:#fff; stroke-width:3; }
.pipeline-distribution .stage-qualified { fill:#7197d4; }
.pipeline-distribution .stage-proposal { fill:#aaa2ce; }
.pipeline-distribution .stage-negotiation { fill:#d3b783; }
.pipeline-distribution .stage-won { fill:#7cae9f; }
.pipeline-distribution.is-empty .distribution-segment { fill:#e7edf6; }
/* Keep secondary text readable on both white and cool-grey surfaces. */
.page-head p,.workspace-date,.stat-foot,.panel-head p,.pipeline-step small,
.opportunity-identity small,.opportunity-state small,.activity-time,
.dialog-kicker,.dialog-description,.editor-context .context-detail,.context-meta dt,.context-hint,
.profile-workspace,.profile-metrics span,.profile-metrics small,
.record-dialog .record-meta dt,.profile-sidebar-note,.record-related .empty-inline,
.record-line small,.note-author time,.note-composer-footer > span,.conversation-empty,
.conversation-empty p { color:#5f718b; }
.editor-workbench .field label { color:#60718a; }
.profile-metrics strong { overflow-wrap:anywhere; }
.profile-sidebar h3,.record-meta dt { font-size:10px; }
.record-dialog .record-section-head h3 { font-size:12px; }
.record-dialog .record-line strong { font-size:12px; }
/* Sales workspaces, guided onboarding and private Microsoft views. */
.focus-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:23px 0;color:#60718b;}
.focus-intro>div{display:flex;align-items:center;gap:10px;flex:none;}.focus-intro strong,.focus-intro small{display:block;}.focus-intro strong{font-size:12px;color:#354d6c;}.focus-intro small{font-size:10px;margin-top:5px;}.focus-intro p{font-size:11px;line-height:1.8;max-width:430px;}
.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}.focus-panel .panel-head h2{gap:9px;}.focus-item{display:flex;align-items:center;gap:11px;width:100%;padding:15px 0;border:0;border-bottom:1px solid #edf1f7;text-align:left;background:none;color:#445d7c;}.focus-item:last-child{border-bottom:0;}.focus-item>span:not(.opportunity-symbol):not(.company-avatar){min-width:0;flex:1;}.focus-item strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere;}.focus-item small{display:block;font-size:10px;color:#687b95;margin-top:5px;line-height:1.7;}.focus-item em{display:block;font-style:normal;font-size:10px;color:#536e95;line-height:1.8;margin-top:7px;}.focus-item>b{font-size:12px;white-space:nowrap;}.focus-item>svg{width:13px;color:#869bb7;}
.sales-profile{width:min(1000px,calc(100% - 48px));}.sales-profile-body{display:grid;grid-template-columns:290px minmax(0,1fr);}.sales-summary{background:#f8faff;border-right:1px solid #e3eaf5;padding:25px;min-width:0;}.sales-profile-value{font-size:29px;letter-spacing:-.8px;font-weight:600;color:#2e4b70;margin-bottom:10px;overflow-wrap:anywhere;}.sales-summary dl{margin:25px 0;}.sales-summary dl>div{margin-bottom:22px;}.sales-summary dt{font-size:10px;color:#667c98;margin-bottom:7px;}.sales-summary dd{margin:0;font-size:12px;line-height:1.8;color:#3e5b80;overflow-wrap:anywhere;}.sales-summary dd small{display:block;font-size:10px;color:#6c7e98;margin-top:6px;}.sales-summary h3,.sales-history h3{font-size:12px;color:#405b7b;}.sales-summary select,.profile-stage-control select,#link-deal-person select{width:100%;min-width:0;min-height:35px;border:1px solid #d9e3f0;background:white;border-radius:6px;padding:8px;font:inherit;font-size:11px;color:#425d80;}.profile-stage-control{display:flex;align-items:center;gap:7px;margin:8px 0 20px;}.profile-stage-control .btn{min-height:35px;font-size:10px;}.sales-summary #link-deal-person{margin-top:15px;}.sales-summary #link-deal-person .btn{margin-top:8px;font-size:10px;}.sales-history{padding:25px;min-width:0;}.sales-history .note-form{border:1px solid #dce5f2;border-radius:8px;overflow:hidden;}.sales-history .note-form textarea{border:0;border-radius:0;padding:14px;font-size:12px;}.sales-history .note-form .btn{margin:0;}.relationship-timeline{margin-top:22px;}.timeline-entry{display:flex;gap:12px;padding:0 0 22px;margin:0 0 14px;position:relative;}.timeline-entry::before{position:absolute;content:'';left:13px;top:28px;bottom:-6px;width:1px;background:#e4eaf4;}.timeline-entry:last-child::before{display:none;}.timeline-dot{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid #e2e9f4;border-radius:8px;background:#f7faff;color:#7590b4;}.timeline-dot svg{width:13px;height:13px;}.timeline-entry>div{flex:1;min-width:0;}.timeline-meta{display:flex;align-items:center;gap:10px;justify-content:space-between;margin:5px 0 8px;}.timeline-meta strong{font-size:10px;font-weight:600;color:#5c7392;}.timeline-meta time{font-size:9px;color:#687b95;}.timeline-entry p{font-size:11px;line-height:1.9;color:#526c8d;white-space:pre-wrap;overflow-wrap:anywhere;}.record-dialog .timeline-entry.record-note{padding:0 0 22px;margin:0 0 14px;border:0;}.timeline-note .timeline-dot{background:#edf3ff;color:#5b7cba;}
.import-dialog{width:min(850px,calc(100% - 32px));}.import-guide{display:flex;gap:15px;margin-bottom:24px;}.import-guide h3{font-size:15px;color:#385171;margin-bottom:7px;}.import-guide p{font-size:12px;line-height:1.9;color:#607694;}.import-file{display:block;border:1px dashed #b8c9e4;background:#f8faff;border-radius:8px;padding:18px;font-size:12px;font-weight:600;color:#48658c;margin-bottom:12px;}.import-file input{display:block;margin-top:12px;max-width:100%;font-size:11px;}.import-dialog h3{font-size:13px;}.import-counts{display:flex;gap:15px;flex-wrap:wrap;border-block:1px solid #e5ebf5;padding:17px 0;margin:22px 0;font-size:11px;color:#637997;}.import-counts strong{font-size:18px;display:block;color:#385b89;margin-bottom:5px;}.import-review{max-height:330px;border:1px solid #e5ebf4;border-radius:7px;}.import-review small{display:block;font-size:9px;line-height:1.8;}.import-result{display:flex;align-items:center;flex-direction:column;padding:28px;gap:12px;color:#4b6689;}.import-result>svg{width:30px;height:30px;color:#4d907a;}.import-result strong{font-size:19px;}.import-result p{font-size:12px;line-height:1.8;}
.sales-settings-dialog{width:min(730px,calc(100% - 32px));}.sales-settings-dialog .editor-section{padding-top:20px;}.sales-settings-dialog input{max-width:100%;min-width:0;}.stage-settings-row{display:grid;grid-template-columns:18px minmax(0,1fr) 65px 12px 30px 30px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f7;}.stage-settings-row>span{font-size:11px;color:#7185a1;}.stage-settings-row>span svg{width:14px;height:14px;}.stage-settings-row label{min-width:0;}.stage-settings-row input{width:100%;height:33px;border:1px solid #dce5f2;border-radius:5px;color:#445f82;font-size:12px;padding:7px;}.stage-settings-row .icon-button{width:28px;height:28px;}
.setup-intro h3{font-size:18px;color:#334e72;}.setup-intro p{font-size:12px;line-height:1.8;color:#657b99;margin-top:7px;}.setup-steps{margin-top:20px;}.setup-steps>a,.setup-steps>button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px 0;background:none;border:0;border-bottom:1px solid #e9eff7;color:#476388;}.setup-steps>a>div,.setup-steps>button>div{flex:1;min-width:0;}.setup-steps strong{font-size:12px;display:block;color:#405b7b;}.setup-steps small{display:block;font-size:10px;line-height:1.8;color:#687e9e;margin-top:5px;}.setup-step-number{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:8px;background:#eff4ff;color:#587bb4;font-size:12px;}.setup-steps svg{width:14px;}
.discard-dialog{width:min(420px,calc(100% - 30px));}.discard-dialog::backdrop{background:#19324f66;}.connection-disclosure{font-size:12px;line-height:1.9;color:#526d91;}.connection-disclosure h3{font-size:17px;color:#38567e;margin:17px 0 10px;}.connection-disclosure p{margin-top:13px;}.connection-disclosure ul{padding-left:20px;}.connection-disclosure li+li{margin-top:12px;}.private-view-label{display:flex;align-items:center;gap:7px;background:#f1f6ff;border:1px solid #dce6f6;color:#4e709e;padding:11px 13px;border-radius:7px;font-size:11px;margin-bottom:15px;}.private-view-label svg{width:14px;height:14px;}.work-item{display:flex;gap:13px;padding:17px 0;border-bottom:1px solid #e8eef7;}.work-item>div{min-width:0;}.work-item h3{font-size:13px;line-height:1.7;color:#37567e;overflow-wrap:anywhere;}.work-item p{font-size:10px;color:#657c9c;line-height:1.9;margin:5px 0 8px;}.work-items{max-height:450px;overflow:auto;}
#toast.visible{display:flex;align-items:center;gap:20px;pointer-events:auto;}.toast-undo{background:transparent;border:0;border-left:1px solid #ffffff40;color:#fff;padding:4px 0 4px 14px;font-size:12px;font-weight:600;}
[hidden]{display:none!important;}
@media(max-width:1050px){.focus-grid{grid-template-columns:1fr;}.focus-intro{align-items:flex-start;}.sales-profile-body{grid-template-columns:245px minmax(0,1fr);}}
@media(max-width:700px){.sales-profile{width:calc(100% - 24px);}.sales-profile-body{display:flex;flex-direction:column;}.sales-summary{border-right:0;border-bottom:1px solid #e3eaf5;padding:20px;}.sales-history{padding:20px;}.sales-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0;}.sales-summary dl>div{margin:0;}.sales-profile-value{font-size:25px;}.focus-intro{flex-direction:column;gap:12px;}.focus-item strong{font-size:11px;}.focus-item>b{font-size:10px;}.stage-settings-row{grid-template-columns:minmax(0,1fr) 52px 8px 26px 26px;gap:6px;}.stage-settings-row>span:first-child{display:none;}.stage-settings-row .icon-button{width:26px;height:28px;}.timeline-meta{align-items:flex-start;flex-direction:column;gap:4px;}.import-counts{gap:13px;}.connection-disclosure{font-size:11px;}.setup-steps>a,.setup-steps>button{gap:9px;}}

/* Reviewed company lookup */
.registry-lookup{padding:18px;background:var(--bg,#f6f8fc);border:1px solid var(--line,#dce3ed);border-radius:10px;margin-bottom:18px}.registry-lookup-head,.registry-search-row,.registry-identity,.registry-result,.registry-selected{display:flex;align-items:center;gap:12px}.registry-lookup-head{justify-content:space-between}.registry-lookup h3{font-size:14px;margin:0 0 5px}.registry-lookup p{line-height:1.6}.registry-search-row{align-items:flex-end;margin-top:18px}.registry-search-row .field{flex:1;margin:0}.registry-results{display:grid;gap:8px;margin:12px 0}.registry-result{width:100%;text-align:left;background:white;border:1px solid #dce3ed;border-radius:8px;padding:12px;color:#1f314b;justify-content:space-between;cursor:pointer}.registry-result:hover{border-color:#3764d7;background:#f5f8ff}.registry-result span{display:grid;gap:5px}.registry-result small,.registry-selected small{display:block;color:#5b6d85;font-size:12px}.registry-result svg{width:16px;min-width:16px;height:16px}.registry-review{background:white;border:1px solid #dce3ed;border-radius:10px;padding:18px;margin-top:12px}.registry-review h3{font-size:18px}.registry-details{margin:18px 0;display:grid;gap:12px}.registry-details div{display:grid;grid-template-columns:130px 1fr;gap:12px}.registry-details dt{font-size:12px;color:#53657e}.registry-details dd{margin:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.registry-name-choice{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin:16px 0}.registry-selected{padding:14px;border:1px solid #c7d8f6;border-radius:8px;background:#f2f7ff;margin-top:14px;font-size:13px}.registry-selected>svg{width:18px;height:18px;color:#3564d7}.registry-snapshot{margin:20px 0}.registry-snapshot .record-meta{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}.registry-snapshot .record-meta div{min-width:0}.registry-snapshot .record-meta dd{overflow-wrap:anywhere}@media(max-width:650px){.registry-lookup-head{align-items:flex-start;flex-direction:column}.registry-details div{grid-template-columns:1fr;gap:3px}.registry-snapshot .record-meta{grid-template-columns:1fr}.registry-search-row{align-items:stretch;flex-direction:column}}

/* Agreements and accounts workspaces */
.commercial-subline{display:block;margin-top:6px;font-size:12px;color:#5c6d85}.commercial-company{margin:20px 0}.commercial-company .record-line{width:100%;text-align:left}.commercial-company .record-line>span:first-child{display:grid;gap:5px}.commercial-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}.commercial-studio{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:22px}.commercial-studio h2{font-size:16px;margin:0 0 8px}.commercial-studio p{margin:0;max-width:680px;line-height:1.6}.commercial-studio .btn{flex-shrink:0}.commercial-note{white-space:pre-wrap;line-height:1.7;font-size:13px;margin:22px 0;color:#42536b}.commercial-profile{padding:0 4px}.commercial-profile h3{font-size:15px;margin-top:24px}.commercial-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:#f6f8fc;border:1px solid #dce3ed;border-radius:10px;margin:20px 0;padding:18px}.commercial-balances span{display:block;font-size:12px;color:#5c6d85;margin-bottom:8px}.commercial-balances strong{font-size:21px;color:#20324d}.commercial-profile .record-line{justify-content:space-between}.commercial-profile .record-line small{display:block;font-size:12px;margin-top:6px;color:#5c6d85}.invoice-total{text-align:right;font-size:20px;font-weight:600;margin:18px 0}#contract-form textarea,#invoice-form textarea{min-height:90px}#contract-form .form-grid,#invoice-form .form-grid,#payment-form .form-grid{margin-top:12px}@media(max-width:650px){.commercial-stats{grid-template-columns:1fr}.commercial-studio{align-items:flex-start;flex-direction:column}.commercial-balances{grid-template-columns:1fr}.commercial-balances>div{display:flex;justify-content:space-between}.commercial-profile .head-actions{flex-wrap:wrap}}

.registry-additional{margin:16px 0 4px;border-top:1px solid #dce3ed;padding-top:14px}.registry-additional summary{font-size:13px;font-weight:600;cursor:pointer;color:#294d9e;line-height:1.6}.registry-additional h4{font-size:13px;margin:20px 0 8px}.registry-officer{display:grid;gap:5px;font-size:13px;padding:10px 0;border-bottom:1px solid #edf0f5}.registry-officer small{font-size:12px;color:#5c6d85}
