
    :root {
      --bg: #f4f7fb;
      --panel: #ffffff;
      --line: #d9e2ef;
      --line-strong: #c9d5e6;
      --text: #0f172a;
      --muted: #7890ae;
      --muted-strong: #5b6f8d;
      --blue: #0b5bd3;
      --blue-soft: #eaf2ff;
      --green: #2d7d31;
      --green-brand: #6fc343;
      --shadow: 0 12px 30px rgba(30, 48, 76, 0.09);
      --radius: 8px;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      color: var(--text);
      background: var(--bg);
      font-size: 14px;
    }

    button,
    input,
    select {
      font: inherit;
    }

    button {
      border: 0;
      cursor: pointer;
    }

    .app {
      min-height: 100vh;
      display: grid;
      grid-template-columns: 248px minmax(0, 1fr);
    }

    .sidebar {
      min-height: 100vh;
      background: var(--panel);
      border-right: 1px solid var(--line);
      display: flex;
      flex-direction: column;
      position: sticky;
      top: 0;
      z-index: 4;
      box-shadow: 6px 0 18px rgba(23, 35, 52, 0.04);
    }

    .brand {
      height: 56px;
      display: flex;
      align-items: center;
      gap: 7px;
      padding: 0 16px;
      border-bottom: 1px solid var(--line);
      color: var(--green-brand);
      font-size: 28px;
      font-weight: 800;
      letter-spacing: 0;
    }

    .shield {
      width: 31px;
      height: 31px;
      flex: 0 0 auto;
      background: var(--green-brand);
      clip-path: polygon(50% 0, 94% 12%, 88% 63%, 50% 96%, 12% 63%, 6% 12%);
      position: relative;
    }

    .shield::after {
      content: "";
      position: absolute;
      left: 12px;
      top: 8px;
      width: 12px;
      height: 15px;
      background: #fff;
      clip-path: polygon(0 0, 100% 0, 100% 72%, 50% 100%, 0 72%);
    }

    .tm {
      font-size: 9px;
      align-self: flex-start;
      margin-top: 14px;
      margin-left: -4px;
    }

    .nav {
      padding: 18px 14px;
    }

    .nav-title {
      color: #8a9bb5;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .11em;
      margin: 4px 8px 12px;
    }

    .nav-item {
      height: 41px;
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 0 16px;
      color: #40516a;
      border-radius: 22px;
      font-weight: 700;
      margin: 4px 0;
    }

    .nav-item svg {
      width: 17px;
      height: 17px;
      stroke: #8ba0bb;
    }

    .nav-item.active {
      color: #111827;
      background: #dcecff;
      box-shadow: inset 0 0 0 1px #b7d2ff;
    }

    .nav-item.active svg {
      stroke: #111827;
    }

    .profile-chip {
      margin: auto 8px 14px;
      border: 1px solid var(--line);
      background: var(--panel);
      border-radius: var(--radius);
      padding: 10px 12px;
      display: grid;
      grid-template-columns: 40px minmax(0, 1fr) 18px;
      gap: 10px;
      align-items: center;
      box-shadow: 0 4px 12px rgba(32, 47, 72, .05);
    }

    .avatar {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      background: #8190a6;
      color: #fff;
      font-weight: 800;
      display: inline-grid;
      place-items: center;
    }

    .chip-name,
    .chip-mail {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .chip-name {
      font-weight: 800;
    }

    .chip-mail {
      color: var(--muted);
      margin-top: 2px;
      font-size: 12px;
    }

    .main {
      min-width: 0;
    }

    .topbar {
      height: 56px;
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 0 30px;
      border-bottom: 1px solid var(--line);
      background: rgba(255, 255, 255, .8);
      backdrop-filter: blur(12px);
      position: sticky;
      top: 0;
      z-index: 3;
    }

    .hamburger {
      width: 18px;
      height: 14px;
      position: relative;
      flex: 0 0 auto;
    }

    .hamburger,
    .hamburger::before,
    .hamburger::after {
      border-top: 2px solid #6b7280;
    }

    .hamburger::before,
    .hamburger::after {
      content: "";
      position: absolute;
      left: 0;
      width: 18px;
    }

    .hamburger::before {
      top: 4px;
    }

    .hamburger::after {
      top: 10px;
    }

    .crumbs {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #8b9cb7;
      font-weight: 700;
    }

    .crumbs strong {
      color: #111827;
    }

    .page {
      max-width: 1224px;
      margin: 0 auto;
      padding: 28px 28px 32px;
    }

    .page-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 220px;
      gap: 18px;
      align-items: start;
      margin-bottom: 22px;
    }

    h1 {
      margin: 0;
      font-size: 28px;
      line-height: 1.2;
      font-weight: 850;
      letter-spacing: 0;
    }

    .account-label {
      color: #8c9bb4;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: 5px;
    }

    .account-select {
      width: 100%;
      height: 36px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--panel);
      color: #314158;
      font-weight: 700;
      padding: 0 34px 0 12px;
      appearance: none;
      background-image: linear-gradient(45deg, transparent 50%, #8aa1bd 50%), linear-gradient(135deg, #8aa1bd 50%, transparent 50%);
      background-position: calc(100% - 16px) 15px, calc(100% - 11px) 15px;
      background-size: 5px 5px, 5px 5px;
      background-repeat: no-repeat;
    }

    .settings-strip {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 12px;
      min-height: 66px;
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr) 1px auto auto auto;
      gap: 16px;
      align-items: center;
      padding: 14px 20px;
      margin-bottom: 44px;
    }

    .round-avatar {
      width: 36px;
      height: 36px;
      border-radius: 999px;
      background: #dfe6ff;
      color: #4f57c9;
      display: grid;
      place-items: center;
      font-weight: 850;
    }

    .identity strong {
      display: block;
      font-size: 14px;
    }

    .identity span {
      display: block;
      margin-top: 5px;
      color: #9aaac2;
      font-size: 11px;
      font-weight: 850;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .divider {
      width: 1px;
      height: 34px;
      background: var(--line);
    }

    .check-line {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--muted-strong);
      font-weight: 700;
      white-space: nowrap;
    }

    .check-line input,
    .table-check {
      width: 16px;
      height: 16px;
      accent-color: var(--blue);
    }

    .check-line.brand-check input,
    .panel-check input {
      accent-color: var(--green);
    }

    .field-inline {
      display: flex;
      align-items: center;
      gap: 10px;
      color: var(--muted-strong);
      font-weight: 700;
      white-space: nowrap;
    }

    .mini-select {
      min-width: 132px;
      height: 34px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      padding: 0 34px 0 12px;
      color: #111827;
      font-weight: 700;
    }

    .btn {
      height: 32px;
      border-radius: 6px;
      padding: 0 14px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      font-weight: 800;
      transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
    }

    .btn:active {
      transform: translateY(1px);
    }

    .btn-green {
      background: var(--green);
      color: #fff;
    }

    .btn-green:hover {
      box-shadow: 0 7px 16px rgba(45, 125, 49, .2);
    }

    .btn-ghost {
      background: #fff;
      color: #334155;
      border: 1px solid var(--line);
    }

    .table-card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 0 0 10px 10px;
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .table-toolbar {
      min-height: 54px;
      border-bottom: 1px solid var(--line);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 10px 16px;
    }

    .toolbar-left,
    .tabs,
    .toolbar-right,
    .search-row,
    .rows-control,
    .pagination {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .section-kicker {
      color: #536783;
      font-size: 11px;
      font-weight: 850;
      letter-spacing: .13em;
      text-transform: uppercase;
      margin-right: 8px;
    }

    .tabs {
      background: #e6e6e6;
      border-radius: var(--radius);
      padding: 3px;
    }

    .tab {
      height: 26px;
      padding: 0 14px;
      border-radius: 7px;
      color: #526174;
      font-size: 12px;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }

    .tab.active {
      color: #111827;
      background: #fff;
      box-shadow: 0 1px 3px rgba(12, 22, 36, .16);
    }

    .search-row {
      min-height: 48px;
      border-bottom: 1px solid var(--line);
      padding: 8px 16px;
      justify-content: space-between;
    }

    .search-box {
      position: relative;
    }

    .search-box svg {
      position: absolute;
      left: 10px;
      top: 50%;
      transform: translateY(-50%);
      width: 16px;
      height: 16px;
      stroke: #9aacbf;
    }

    .search-input {
      width: 352px;
      max-width: 42vw;
      height: 30px;
      border: 1px solid var(--line);
      border-radius: 6px;
      padding: 0 12px 0 32px;
      color: #334155;
    }

    .filter-btn {
      height: 30px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 6px;
      padding: 0 11px;
      color: #40516a;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-weight: 700;
    }

    .rows-control label {
      color: var(--muted-strong);
      font-size: 12px;
    }

    .rows-control select {
      height: 30px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      padding: 0 25px 0 9px;
    }

    .table-scroll {
      overflow-x: auto;
    }

    table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      min-width: 1035px;
      table-layout: fixed;
    }

    th,
    td {
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding: 10px 14px;
      vertical-align: middle;
    }

    th:last-child,
    td:last-child {
      border-right: 0;
    }

    th {
      height: 36px;
      background: #f7f9fc;
      color: #5e718f;
      font-size: 11px;
      font-weight: 850;
      letter-spacing: .12em;
      text-transform: uppercase;
      text-align: left;
    }

    th.center,
    td.center {
      text-align: center;
    }

    tbody td {
      height: 53px;
      background: #fff;
    }

    tbody tr:hover td {
      background: #fbfdff;
    }

    .user-cell {
      min-width: 0;
      line-height: 1.2;
    }

    .user-name {
      display: flex;
      align-items: center;
      gap: 5px;
      min-width: 0;
      font-weight: 850;
      color: #111827;
    }

    .user-name span {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .subtle {
      color: var(--muted);
      font-size: 12px;
      margin-top: 4px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .select-like {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      max-width: 100%;
      color: #111827;
      font-weight: 500;
      white-space: nowrap;
    }

    .chev {
      width: 7px;
      height: 7px;
      border-right: 2px solid #172033;
      border-bottom: 2px solid #172033;
      transform: rotate(45deg) translateY(-2px);
      flex: 0 0 auto;
    }

    .store-cell {
      display: flex;
      align-items: center;
      gap: 7px;
      min-width: 0;
    }

    .store-chip {
      max-width: 135px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      display: inline-flex;
      align-items: center;
      min-height: 23px;
      border-radius: 5px;
      border: 1px solid #bcd0ff;
      background: #edf4ff;
      color: #0757d9;
      padding: 2px 8px;
      font-size: 12px;
      font-weight: 750;
    }

    .no-stores {
      color: #b3bfd0;
      font-size: 12px;
      font-style: italic;
      white-space: nowrap;
    }

    .email-summary {
      min-width: 0;
      line-height: 1.15;
    }

    .email-line {
      display: flex;
      align-items: center;
      gap: 5px;
      min-width: 0;
    }

    .email-primary {
      font-weight: 750;
      color: #111827;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .email-secondary {
      color: var(--muted-strong);
      font-size: 11px;
      margin-top: 4px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 158px;
    }

    .icon-button {
      width: 20px;
      height: 20px;
      padding: 0;
      border-radius: 4px;
      display: inline-grid;
      place-items: center;
      color: #c0ccdc;
      background: transparent;
      flex: 0 0 auto;
    }

    .icon-button:hover,
    .icon-button:focus-visible {
      color: var(--blue);
      background: var(--blue-soft);
      outline: 0;
    }

    .trash {
      color: #c4cfdf;
    }

    .sort-mark {
      float: right;
      width: 10px;
      height: 16px;
      position: relative;
    }

    .sort-mark::before,
    .sort-mark::after {
      content: "";
      position: absolute;
      left: 2px;
      width: 7px;
      height: 7px;
      border-right: 1.5px solid #9cafc8;
      border-bottom: 1.5px solid #9cafc8;
    }

    .sort-mark::before {
      top: 0;
      transform: rotate(225deg);
    }

    .sort-mark::after {
      bottom: 0;
      transform: rotate(45deg);
    }

    .table-foot {
      min-height: 47px;
      padding: 10px 16px;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: 12px;
    }

    .count {
      color: var(--muted);
    }

    .page-btn {
      min-width: 30px;
      height: 28px;
      border: 1px solid var(--line);
      background: #fff;
      border-radius: 6px;
      color: #334155;
      font-weight: 700;
    }

    .page-btn.active {
      background: var(--blue);
      border-color: var(--blue);
      color: #fff;
    }

    .page-btn.soft {
      color: #a8b6c8;
    }

    .drawer {
      position: fixed;
      top: 0;
      right: 0;
      width: 410px;
      max-width: 100vw;
      height: 100vh;
      background: #fff;
      z-index: 8;
      box-shadow: -18px 0 34px rgba(29, 41, 57, .16);
      transform: translateX(105%);
      transition: transform .18s ease;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
    }

    .drawer.open {
      transform: translateX(0);
    }

    .drawer-head {
      min-height: 66px;
      padding: 17px 18px 14px;
      border-bottom: 1px solid var(--line);
      display: grid;
      grid-template-columns: minmax(0, 1fr) 28px;
      gap: 12px;
      align-items: start;
    }

    .drawer-title {
      min-width: 0;
    }

    .drawer-title strong {
      display: block;
      font-size: 16px;
      line-height: 1.2;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .drawer-title span {
      display: block;
      color: var(--muted);
      font-size: 12px;
      margin-top: 3px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .drawer-close {
      width: 28px;
      height: 28px;
      border-radius: 6px;
      background: transparent;
      color: #6f819a;
      font-size: 24px;
      line-height: 1;
    }

    .drawer-close:hover {
      background: #f2f6fb;
    }

    .drawer-body {
      overflow-y: auto;
      padding: 18px 18px 20px;
    }

    .panel-section {
      border-bottom: 1px solid var(--line);
      padding-bottom: 24px;
      margin-bottom: 16px;
    }

    .panel-section:last-child {
      border-bottom: 0;
      margin-bottom: 0;
    }

    .panel-kicker {
      margin: 0 0 13px;
      color: #8a9bb5;
      font-size: 11px;
      font-weight: 850;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .field-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 13px 14px;
    }

    .field-grid.single {
      grid-template-columns: 1fr;
    }

    .field {
      display: grid;
      gap: 7px;
    }

    .field label,
    .label-text {
      color: #42536c;
      font-size: 12px;
      font-weight: 800;
    }

    .required {
      color: #d93030;
      margin-left: 2px;
    }

    .panel-input,
    .panel-select {
      height: 36px;
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      color: #111827;
      padding: 0 11px;
      outline: 0;
    }

    .panel-input:focus,
    .panel-select:focus {
      border-color: #73a7ff;
      box-shadow: 0 0 0 3px rgba(14, 99, 227, .12);
    }

    .panel-select {
      padding-right: 32px;
    }

    .field-note {
      color: var(--muted-strong);
      font-size: 11px;
      line-height: 1.35;
    }

    .panel-check {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 2px;
      color: #40516a;
      font-size: 13px;
      font-weight: 750;
    }

    .panel-check input {
      width: 16px;
      height: 16px;
    }

    .notification-fields {
      display: grid;
      gap: 13px;
    }

    .cadence-list {
      display: grid;
      gap: 10px;
    }

    .notification-group {
      display: grid;
      gap: 10px;
    }

    .notification-group + .notification-group {
      margin-top: 6px;
      padding-top: 14px;
      border-top: 1px solid var(--line);
    }

    .notification-heading {
      color: #5e718f;
      font-size: 11px;
      font-weight: 850;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .cadence-option {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      padding: 12px;
      display: grid;
      gap: 10px;
    }

    .cadence-option.is-selected {
      border-color: #9fc3ff;
      background: #f8fbff;
    }

    .cadence-main {
      display: grid;
      grid-template-columns: 18px minmax(0, 1fr);
      gap: 10px;
      align-items: start;
      cursor: pointer;
    }

    .cadence-main input {
      width: 16px;
      height: 16px;
      margin: 2px 0 0;
      accent-color: var(--green);
    }

    .cadence-copy strong {
      display: block;
      color: #111827;
      font-size: 13px;
      line-height: 1.25;
    }

    .cadence-copy span {
      display: block;
      color: var(--muted-strong);
      font-size: 12px;
      line-height: 1.35;
      margin-top: 3px;
    }

    .territory-cadences {
      display: flex;
      gap: 14px;
      padding-left: 28px;
      flex-wrap: wrap;
    }

    .territory-cadences .panel-check {
      margin-top: 0;
    }

    .error-text {
      color: #b42318;
      font-size: 12px;
      min-height: 16px;
    }

    .drawer-foot {
      border-top: 1px solid var(--line);
      padding: 12px 18px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      background: #fff;
    }

    .save-status {
      color: var(--green);
      font-size: 12px;
      font-weight: 800;
      opacity: 0;
      transition: opacity .15s ease;
    }

    .save-status.show {
      opacity: 1;
    }

    .drawer-actions {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .chat-button {
      position: fixed;
      right: 24px;
      bottom: 22px;
      width: 60px;
      height: 60px;
      border-radius: 999px;
      background: #72c945;
      box-shadow: 0 9px 20px rgba(58, 141, 49, .25);
      display: grid;
      place-items: center;
      z-index: 2;
    }

    .chat-button svg {
      width: 30px;
      height: 30px;
      stroke: #fff;
    }

    .drawer-scrim {
      position: fixed;
      inset: 0;
      background: rgba(15, 23, 42, .04);
      z-index: 7;
      opacity: 0;
      pointer-events: none;
      transition: opacity .18s ease;
    }

    .drawer-scrim.open {
      opacity: 1;
      pointer-events: auto;
    }

    @media (max-width: 1040px) {
      .app {
        grid-template-columns: 78px minmax(0, 1fr);
      }

      .brand {
        justify-content: center;
        padding: 0;
      }

      .brand span:not(.shield) {
        display: none;
      }

      .nav-item {
        justify-content: center;
        padding: 0;
      }

      .nav-item span {
        display: none;
      }

      .nav-title,
      .profile-chip {
        display: none;
      }
    }

    @media (max-width: 720px) {
      .app {
        display: block;
      }

      .sidebar {
        min-height: auto;
        height: 56px;
        position: sticky;
        flex-direction: row;
        align-items: center;
      }

      .brand {
        width: 76px;
        border-bottom: 0;
      }

      .nav {
        display: flex;
        padding: 0 8px;
        overflow-x: auto;
      }

      .nav-item {
        width: 42px;
        flex: 0 0 auto;
      }

      .topbar {
        top: 56px;
        padding: 0 16px;
      }

      .page {
        padding: 20px 14px 28px;
      }

      .page-head {
        grid-template-columns: 1fr;
      }

      .settings-strip {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px;
        margin-bottom: 22px;
      }

      .settings-strip .divider,
      .settings-strip .check-line,
      .settings-strip .field-inline,
      .settings-strip .btn {
        grid-column: 1 / -1;
      }

      .search-row,
      .table-toolbar {
        align-items: flex-start;
        flex-direction: column;
      }

      .search-input {
        width: 100%;
        max-width: none;
      }

      .search-box,
      .toolbar-left,
      .toolbar-right {
        width: 100%;
      }

      .drawer {
        width: 100%;
      }
    }
  
.svg-icon,
.glyph {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 1.8px solid currentColor;
  border-radius: 4px;
  color: currentColor;
  opacity: .76;
  flex: 0 0 auto;
}

.nav-item .svg-icon {
  width: 17px;
  height: 17px;
  color: #8ba0bb;
}

.nav-item.active .svg-icon {
  color: #111827;
}

.search-box .svg-icon {
  position: absolute;
  left: 10px;
  top: 50%;
  width: 15px;
  height: 15px;
  transform: translateY(-50%);
  color: #9aacbf;
  border-radius: 999px;
}

.chat-button .svg-icon {
  width: 30px;
  height: 30px;
  color: #fff;
  border-radius: 8px;
}

.glyph {
  position: relative;
  width: 13px;
  height: 13px;
  border: 0;
  opacity: 1;
}

.pencil-glyph::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 1px;
  width: 8px;
  height: 12px;
  border-left: 2px solid currentColor;
  transform: rotate(45deg);
}

.trash-glyph::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 3px;
  width: 9px;
  height: 8px;
  border: 2px solid currentColor;
  border-top-width: 3px;
  border-radius: 1px;
}
