
    tbody tr:hover {
      background: #f4f7ff;
    }

    .result-row {
      cursor: pointer;
    }

    .result-row.is-expanded td {
      background: #f8fbff;
      border-bottom-color: #d8e3f7;
    }

    .result-address-display {
      display: grid;
      gap: 4px;
      min-width: 260px;
    }

    .result-address-title {
      color: var(--text);
      font-weight: 900;
      line-height: 1.35;
    }

    .result-address-meta {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      line-height: 1.35;
    }

    .result-detail-row td {
      padding: 0;
      background: #fbfcff;
    }

    .result-detail-panel {
      display: grid;
      gap: 13px;
      padding: 14px;
      border-top: 1px solid #d8e3f7;
    }

    .result-detail-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
      gap: 12px;
    }

    .result-detail-section {
      display: grid;
      align-content: start;
      gap: 9px;
      min-width: 0;
      padding: 12px;
      border: 1px solid #e4e9f2;
      border-radius: 8px;
      background: #fff;
    }

    .result-detail-section h3 {
      margin: 0;
      color: #344054;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: 0.02em;
      text-transform: uppercase;
    }

    .result-detail-section.app-registration-section {
      grid-column: 1 / -1;
    }

    .app-user-registration-table-wrap {
      max-width: 100%;
      overflow: auto;
      border: 1px solid #edf1f7;
      border-radius: 8px;
    }

    .app-user-registration-table {
      min-width: 920px;
      font-size: 13px;
    }

    .app-user-registration-table th {
      position: static;
      padding: 10px 11px;
      background: #f8fafc;
      font-size: 11px;
    }

    .app-user-registration-table td {
      padding: 10px 11px;
      vertical-align: top;
    }

    .app-user-registration-cell {
      display: grid;
      gap: 4px;
      min-width: 0;
      color: #344054;
      font-weight: 800;
      line-height: 1.35;
    }

    .app-user-registration-meta {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }

    .result-detail-list {
      display: grid;
      gap: 7px;
    }

    .result-detail-item {
      display: grid;
      gap: 4px;
      min-width: 0;
      color: #344054;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.35;
    }

    .result-detail-item-meta {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }

    .result-detail-empty,
    .result-detail-loading {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
    }

    .result-detail-error {
      margin: 0;
      color: var(--danger);
      font-size: 13px;
      font-weight: 800;
    }

    tbody tr:last-child td {
      border-bottom: 0;
    }

    .phone {
      color: var(--primary);
      font-weight: 800;
      white-space: normal;
    }

    .phone-list-display {
      display: flex;
      align-items: flex-start;
      flex-direction: column;
      gap: 5px;
      min-width: 170px;
    }

    .phone-chip-row {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .phone-chip {
      display: inline-flex;
      align-items: center;
      min-height: 27px;
      padding: 3px 8px;
      border-radius: 7px;
      color: #1d4ed8;
      background: #eaf0ff;
      font-size: 12px;
      font-weight: 800;
    }

    .call-source-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 24px;
      height: 24px;
      border-radius: 7px;
      border: 1px solid #d0d5dd;
      color: #344054;
      background: #f2f4f7;
      font-size: 11px;
      font-weight: 950;
      line-height: 1;
      letter-spacing: 0;
      white-space: nowrap;
    }

    .call-source-badge.app {
      border-color: #a6d96a;
      color: #2f6b18;
      background: #eefad8;
      font-size: 17px;
      font-family: inherit;
      font-style: normal;
    }

    .call-source-badge.operator {
      border-color: #bdd7ff;
      color: #175cd3;
      background: #eef4ff;
      font-size: 10px;
      font-family: inherit;
      font-style: normal;
    }

    .call-photo-button {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 30px;
      min-height: 30px;
      padding: 0;
      border: 1px solid #b7dca7;
      border-radius: 9px;
      color: #356e20;
      background: #f4fbef;
      font: inherit;
      cursor: pointer;
    }

    .call-photo-button::before {
      content: "";
      width: 16px;
      height: 12px;
      border: 2px solid currentColor;
      border-radius: 3px;
      box-sizing: border-box;
    }

    .call-photo-button::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 5px;
      height: 5px;
      border: 2px solid currentColor;
      border-radius: 999px;
      transform: translate(-50%, -37%);
      box-sizing: border-box;
    }

    .call-photo-button:hover {
      background: #e8f5e2;
    }

    .call-photo-cell {
      text-align: center;
    }

    .call-photo-empty {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
    }

    .app-registration-display {
      display: grid;
      min-width: 175px;
      gap: 5px;
    }

    .app-registration-badge {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      min-height: 27px;
      padding: 3px 9px;
      border-radius: 7px;
      color: #667085;
      background: #eef2f6;
      font-size: 12px;
      font-weight: 900;
      white-space: nowrap;
    }

    .app-registration-badge.registered {
      color: #067647;
      background: #dcfae6;
    }

    .app-registration-badge.pending {
      color: #b54708;
      background: #fff4cc;
    }

    .app-registration-detail {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
    }

    .app-registration-user-list {
      display: grid;
      gap: 4px;
      min-width: 0;
    }

    .app-registration-summary .app-registration-user-list {
      flex-basis: 100%;
    }

    .app-registration-user-line {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 5px;
      min-width: 0;
      color: #344054;
      font-size: 12px;
      font-weight: 800;
      line-height: 1.35;
    }

    .app-registration-status-chip {
      display: inline-flex;
      align-items: center;
      min-height: 21px;
      padding: 2px 7px;
      border-radius: 999px;
      color: #667085;
      background: #eef2f6;
      font-size: 11px;
      font-weight: 900;
      white-space: nowrap;
    }

    .app-registration-status-chip.pending {
      color: #b54708;
      background: #fff4cc;
    }

    .app-registration-status-chip.joined {
      color: #175cd3;
      background: #dbeafe;
    }

    .app-registration-status-chip.verified {
      color: #067647;
      background: #dcfae6;
    }

    .app-registration-user-text {
      min-width: 0;
      overflow-wrap: anywhere;
    }

    .app-registration-summary {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      margin: -3px 0 13px;
      padding: 10px 12px;
      border: 1px solid #d1fadf;
      border-radius: 10px;
      background: #f0fdf4;
    }

    .app-registration-summary.unregistered {
      border-color: #e5e7eb;
      background: #f8fafc;
    }

    .app-registration-summary[hidden] {
      display: none;
    }

    .edit-button {
      min-height: 34px;
      padding: 0 12px;
      border: 0;
      border-radius: 8px;
      color: var(--primary);
      background: #eaf0ff;
      font: inherit;
      font-size: 12px;
      font-weight: 800;
      cursor: pointer;
    }

    .edit-button:hover {
      background: #dce7ff;
    }

    .action-stack {
      display: flex;
      align-items: center;
      gap: 8px;
      white-space: nowrap;
    }

    .edited-badge {
      display: inline-flex;
      align-items: center;
      min-height: 26px;
      padding: 0 9px;
      border-radius: 999px;
      color: #166534;
      background: #dcfce7;
      font-size: 11px;
      font-weight: 800;
    }

    .edit-dialog {
      width: min(92vw, 760px);
      max-height: 90vh;
      padding: 0;
      overflow: auto;
      border: 0;
      border-radius: 18px;
      color: var(--text);
      background: #fff;
      box-shadow: 0 30px 80px rgba(17, 24, 39, 0.28);
    }

    .edit-dialog::backdrop {
      background: rgba(15, 23, 42, 0.48);
      backdrop-filter: blur(3px);
    }

    .edit-form {
      padding: 26px;
    }

    .dialog-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 22px;
    }

    .dialog-header h2 {
      margin: 0;
      font-size: 22px;
    }

    .dialog-close {
      width: 38px;
      height: 38px;
      padding: 0;
      border: 0;
      border-radius: 9px;
      color: var(--muted);
      background: #f1f4f8;
      font-size: 24px;
      cursor: pointer;
    }

    .edit-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 17px;
    }

    .edit-message {
      min-height: 20px;
      margin: 14px 0 0;
      color: var(--danger);
      font-size: 13px;
      font-weight: 700;
    }

    .history-section {
      margin-top: 22px;
      padding-top: 18px;
      border-top: 1px solid var(--line);
    }

    .history-section h3 {
      margin: 0 0 11px;
      font-size: 16px;
    }

    .history-list {
      display: grid;
      max-height: 210px;
      overflow-y: auto;
      gap: 9px;
    }

    .history-empty {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
    }

    .history-item {
      padding: 11px 13px;
      border: 1px solid #e4e9f1;
      border-radius: 10px;
      background: #f8fafc;
    }

    .history-time {
      display: block;
      margin-bottom: 5px;
      color: var(--primary);
      font-size: 12px;
      font-weight: 800;
    }

    .history-line {
      display: block;
      color: #4b5565;
      font-size: 12px;
      line-height: 1.5;
    }

    .history-changes {
      display: grid;
      gap: 7px;
    }

    .history-change {
      display: grid;
      grid-template-columns: minmax(90px, 0.7fr) minmax(0, 1fr) auto minmax(0, 1fr);
      align-items: center;
      gap: 7px;
      font-size: 12px;
    }

    .change-label {
      color: #4b5565;
      font-weight: 800;
    }

    .old-value,
    .new-value {
      overflow-wrap: anywhere;
      padding: 5px 7px;
      border-radius: 6px;
      font-weight: 700;
    }

    .old-value {
      color: #991b1b;
      background: #fee2e2;
      text-decoration: line-through;
    }

    .new-value {
      color: #166534;
      background: #dcfce7;
    }

    .change-arrow {
      color: #7b8494;
      font-weight: 900;
    }

    .no-change {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      font-style: italic;
    }

    .dialog-actions {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      margin-top: 18px;
    }

    .phone-input-list {
      display: grid;
      gap: 8px;
    }

    .edit-phone-field {
      grid-column: 1 / -1;
    }

    .call-tabs {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 7px;
      margin-bottom: 22px;
      padding: 5px;
      border-radius: 12px;
      background: #eef2f7;
    }

    .call-tab {
      min-height: 42px;
      padding: 0 10px;
      border: 0;
      border-radius: 9px;
      color: #5c6678;
      background: transparent;
      font: inherit;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
    }

    .call-tab.active {
      color: #fff;
      background: var(--primary);
      box-shadow: 0 4px 12px rgba(37, 99, 235, 0.22);
    }

    .call-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 17px;
    }

    .call-grid + .call-grid {
      margin-top: 17px;
    }

    .call-field-wide {
      grid-column: 1 / -1;
    }

    .call-description {
      min-height: 130px;
      resize: vertical;
    }

    .call-repair-fields[hidden] {
      display: none;
    }

    .phone-input-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 38px;
      gap: 7px;
    }

    .remove-phone {
      min-height: 44px;
      padding: 0;
      border: 0;
      border-radius: 9px;
      color: #991b1b;
      background: #fee2e2;
      font-size: 20px;
      cursor: pointer;
    }

    .add-phone {
      justify-self: start;
      min-height: 36px;
      margin-top: 2px;
      padding: 0 12px;
      border: 1px dashed #9db4e5;
      border-radius: 8px;
      color: var(--primary);
      background: #f5f8ff;
      font: inherit;
      font-size: 12px;
      font-weight: 800;
      cursor: pointer;
    }

    .cancel-button,
    .save-button {
      min-height: 44px;
      padding: 0 18px;
      border-radius: 10px;
      font: inherit;
      font-weight: 800;
      cursor: pointer;
    }

    .cancel-button {
      border: 1px solid var(--line);
      color: #445066;
      background: #fff;
    }

    .save-button {
      border: 0;
      color: #fff;
      background: var(--primary);
    }

    .save-button:disabled {
      cursor: wait;
      opacity: 0.65;
    }
