.contacts-layout{display:grid;grid-template-columns:220px 1fr;gap:16px}.segments-title{font-size:13px;font-weight:500;margin-bottom:10px}.segment-item{padding:8px 12px;font-size:12px;display:flex;justify-content:space-between;align-items:center;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:4px}.segment-item:hover{background:var(--color-beige)}.segment-item.active{background:var(--color-blue-bg);color:var(--color-blue-dark)}.segment-item.danger{color:var(--color-red)}.segment-count{color:var(--color-text-secondary)}.segment-item.active .segment-count{color:var(--color-blue)}.import-banner{border-radius:var(--radius-md);padding:14px 16px;margin-bottom:20px}.import-mapping{margin-top:14px;padding-top:12px;border-top:.5px solid rgba(11,56,40,.18)}.import-mapping-title{font-size:12px;font-weight:500;color:var(--color-blue-dark);margin-bottom:8px}.mapping-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mapping-item{background:var(--color-surface);border-radius:var(--radius-sm);padding:8px 10px}.mapping-col-label{font-size:10px;color:var(--color-text-secondary)}.mapping-col-value{font-size:11px;font-weight:500;margin:2px 0}.mapping-col-target{font-size:10px;color:var(--color-text-secondary)}.import-progress-bar{height:4px;background:rgba(11,56,40,.12);border-radius:2px;overflow:hidden}.import-progress-fill{height:100%;background:var(--color-blue)}@media (max-width:767px){.contacts-layout{grid-template-columns:1fr}.segments-panel{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.segments-title{display:none}.segment-item{white-space:nowrap;flex-shrink:0}.mapping-grid{grid-template-columns:repeat(2,1fr)}}.contacts-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--color-text-muted);padding:0 8px;margin:0 0 8px}.contacts-group{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:var(--radius-md);font-size:13px;cursor:pointer;transition:background .12s ease;margin-bottom:2px}.contacts-group:hover{background:rgba(255,255,255,.08)}.contacts-group.active{background:#bdde48;color:#0b3828;font-weight:600}.contacts-group-count{font-size:11px;opacity:.7}.contacts-empty{padding:48px 24px;text-align:center;color:var(--color-text-muted);font-size:14px}.contacts-loading{padding:48px 24px;text-align:center;color:var(--color-text-muted)}.contacts-table-wrap{border:var(--border-thin);border-radius:var(--radius-lg);overflow:hidden}.dash-alert-banner,.dash-info-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:20px;font-size:13px}.dash-alert-banner{background:var(--color-red-bg);color:var(--color-red)}.dash-info-banner{background:var(--color-blue-bg);color:var(--color-blue-dark)}.dash-quick-actions{margin-top:20px}.dash-section-title{font-size:14px;font-weight:600;margin-bottom:14px}.dash-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dash-quick-btn{background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-lg);padding:18px;cursor:pointer;transition:box-shadow .14s ease;text-align:center;font-size:13px;font-weight:500;color:var(--color-text-primary)}.dash-quick-btn:hover{box-shadow:0 2px 12px rgba(11,56,40,.08)}.dash-quick-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.sid-empty-state{display:flex;flex-direction:column;align-items:center;padding:60px 24px;text-align:center;gap:14px}.sid-empty-title{font-size:16px;font-weight:500}.sid-empty-sub{font-size:13px;color:var(--color-text-secondary)}.selfie-section{border:var(--border-thin);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg)}.selfie-placeholder{display:flex;flex-direction:column;align-items:center;padding:32px;gap:12px;text-align:center;color:var(--color-text-secondary);font-size:13px}.selfie-preview{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px}.selfie-preview img{max-width:240px;border-radius:var(--radius-md);border:var(--border-thin)}.contacts-loading,.sid-loading,.tpl-loading{padding:48px;text-align:center;color:var(--color-text-muted)}.auth-error-msg{font-size:12px;color:var(--color-red);background:var(--color-red-bg);padding:8px 12px;border-radius:var(--radius-sm);margin-top:4px}.form-group-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:767px){.dash-quick-grid{grid-template-columns:repeat(2,1fr)}.form-group-row{grid-template-columns:1fr}}
.contacts-sidebar {
  background: var(--color-surface);
  border: var(--border-thin);
  border-radius: var(--radius-lg);
  padding: 12px;
  position: sticky;
  top: 24px;
}

.contacts-new-group-btn {
  width: 100%;
  margin-top: 8px;
  border-style: dashed !important;
  color: var(--color-text-muted) !important;
  background: transparent !important;
  justify-content: center;
}
.contacts-new-group-btn:hover { color: var(--color-text-primary) !important; }

.contacts-group {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  border-radius: var(--radius-md);
  font-size: 13px;
  cursor: pointer;
  margin-bottom: 2px;
  transition: background 0.12s ease;
}
.contacts-group:hover { background: var(--color-beige); }
.contacts-group.active { background: #BDDE48; color: #0B3828; font-weight: 600; }
.contacts-group.active .contacts-group-count { opacity: 0.7; }

.contacts-group-count { font-size: 11px; color: var(--color-text-muted); }
.contacts-group.active .contacts-group-count { color: #0B3828; }

.contacts-section-title {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: var(--color-text-muted);
  padding: 0 8px;
  margin-bottom: 8px;
}

.contacts-table-wrap {
  border: var(--border-thin);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

@media (max-width: 767px) {
  .contacts-sidebar { position: static; }
  .page-wrapper > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
}
.contacts-qr-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: var(--color-text-muted);
  border-radius: 6px;
  opacity: 0;
  transition: opacity 0.15s, color 0.15s;
  flex-shrink: 0;
}
.contacts-group:hover .contacts-qr-btn,
.contacts-group.active .contacts-qr-btn { opacity: 1; }
.contacts-qr-btn:hover { color: var(--color-primary); }
.contacts-del-group-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: var(--color-text-muted);
  border-radius: 6px;
  opacity: 0;
  transition: opacity 0.15s, color 0.15s;
  flex-shrink: 0;
}
.contacts-group:hover .contacts-del-group-btn,
.contacts-group.active .contacts-del-group-btn { opacity: 1; }
.contacts-del-group-btn:hover { color: #D93636; }
