.client-contacts { min-width: 0; width: 100%; }
.cc-extra { margin-top: 12px; }
.cc-contact { margin-top: 6px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; min-width: 0; background: var(--brandsoft); }
.cc-main > .cc-contact { border-color: var(--brandtx); }
.cc-number, .cc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.cc-number > span { font-weight: 600; overflow-wrap: anywhere; }
.cc-actions { margin-top: 8px; }
.client-contacts button, .client-contacts summary, .cc-dialog button { min-height: 32px; padding: 5px 10px; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.client-contacts .cc-extra-title { padding: 8px 12px; border: 1px solid var(--brandtx); border-radius: 10px; background: var(--brandsoft); color: var(--brandtx); font-weight: 700; }
.cc-extra[open] > .cc-extra-title { margin-bottom: 8px; }
.client-contacts button:disabled { cursor: default; opacity: .6; }
.cc-note, .cc-protection { margin: 6px 0; font-size: 12px; color: var(--muted, var(--ink)); overflow-wrap: anywhere; }
.cc-status { margin: 8px 0; overflow-wrap: anywhere; }
.cc-status:empty { display: none; }
.cc-fields { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.cc-field { display: flex; flex-direction: column; gap: 5px; flex: 1 1 150px; min-width: 0; font-size: 12px; }
.cc-field input, .cc-field select { width: 100%; box-sizing: border-box; min-height: 36px; border: 1.5px solid var(--line); border-radius: 9px; padding: 7px 10px; background: var(--card); color: var(--ink); font: inherit; }
.cc-menu { position: relative; }
.cc-menu-items { display: flex; flex-direction: column; gap: 4px; padding: 6px 0; }
.cc-menu-items button { text-align: left; }
.cc-history { margin-top: 12px; }
.cc-history li { overflow-wrap: anywhere; margin-bottom: 12px; }
.cc-history p { margin: 4px 0; }
.cc-dialog .bbconfirm-in { max-height: 90dvh; overflow-y: auto; width: min(540px, calc(100vw - 32px)); box-sizing: border-box; }
.cc-dialog h3 { margin: 0 0 12px; }
.cc-dialog .cc-fields { flex-direction: column; }
.cc-dialog .cc-field { flex: none; }
.cc-dialog .bbconfirm-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.cc-choice { padding: 8px; border: 1px solid var(--line); border-radius: 9px; }
.cc-choice label { display: flex; align-items: center; gap: 8px; padding: 7px 0; min-height: 32px; }
.cc-choice[hidden], .cc-transition[hidden] { display: none; }
@media (pointer: coarse), (max-width: 600px) {
  .client-contacts button, .client-contacts summary, .cc-dialog button, .cc-field input, .cc-field select, .cc-choice label { min-height: 44px; }
  .cc-actions { align-items: stretch; }
  .cc-actions > button, .cc-menu { flex: 1 1 100%; }
  .cc-menu-items button { width: 100%; }
  .cc-fields { flex-direction: column; }
  .cc-field { flex: none; }
}
.client-contacts .cc-phone-button{font:inherit;font-weight:600;min-height:32px;background:none;border:0;padding:4px 0;color:var(--brandtx);text-align:left;cursor:pointer;overflow-wrap:anywhere}
.client-contacts .cc-phone-button:disabled{color:var(--ink);cursor:default;opacity:1}
@media (pointer:coarse),(max-width:600px){.client-contacts .cc-phone-button{min-height:44px}.client-contacts input,.client-contacts select,.cc-dialog input,.cc-dialog select{font-size:16px}}

.cc-dialog .bbconfirm-in > p { white-space: pre-line; }
