/* Contact list */
.ct-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:6px 0 16px}
.ct-kpi{display:grid;gap:2px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:20px 22px;box-shadow:0 3px 8px rgba(14,29,52,.04)}
.ct-kpi span{color:#758399;font-size:13px}.ct-kpi strong{margin:10px 0 4px;font-size:30px;letter-spacing:-.04em}.ct-kpi small{color:#8591a3;font-size:12px}
.ct-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.ct-toolbar input{flex:1 1 260px;max-width:340px;border:1px solid #dbe2ed;border-radius:12px;background:#fff;padding:12px 14px;outline:0}
.ct-toolbar select,.ct-bulk select,.ct-import-list select{border:1px solid #dbe2ed;border-radius:12px;background:#fff;padding:11px 12px;color:var(--ink)}
.ct-toolbar input:focus,.ct-toolbar select:focus{border-color:#3a85c4;box-shadow:0 0 0 3px rgba(1,87,160,.1)}
.ct-views{display:flex;gap:8px;margin-left:auto}.ct-views .button{padding:10px 15px}.ct-views .button.active{border-color:var(--blue);background:var(--blue);color:#fff}
.ct-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.ct-selected{margin-right:4px;color:var(--muted);font-size:12px}
.ct-bulk select:disabled{opacity:.55}.ct-bulk .button.small:disabled{opacity:.5;cursor:not-allowed}
.ct-table td,.ct-table th{white-space:nowrap}.ct-check{width:44px}.ct-check input{width:16px;height:16px;accent-color:var(--blue)}
.ct-phone{font-variant-numeric:tabular-nums}.ct-wa{margin-left:4px;text-decoration:none}
.ct-overdue{color:var(--danger);font-weight:700}
.ct-prio{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:20px;padding:4px 11px 4px 9px;font-size:12px;font-weight:700}
.ct-prio i{width:9px;height:9px;border-radius:50%;background:currentColor}
.ct-prio.high{border-color:#ffc2ca;background:#fff0f3;color:#c0283c}.ct-prio.medium{border-color:#f3cf9a;background:#fff5e7;color:#b66b0b}.ct-prio.low{border-color:#b3d0ea;background:#e6f0fa;color:#014585}
select.ct-stage{border:1px solid var(--line);border-radius:20px;background:#e6f0fa;padding:5px 10px;color:#014585;font-size:12px;font-weight:700}
select.ct-stage.done{border-color:#bfe9d9;background:#e8f8f2;color:#108661}
.ct-board{grid-auto-columns:290px}.ct-board .lead-card footer{align-items:center}.ct-board .lead-card[draggable=true]{cursor:grab}
.ct-hint{margin:14px 0 0;border-radius:11px;background:#e6f0fa;padding:11px 14px;color:#014585;font-size:13px}.ct-hint[hidden]{display:none}
.ct-sub{margin:20px 0 4px;font-size:16px}.ct-sub:first-child{margin-top:0}
.ct-rows{display:grid;gap:8px;margin:10px 0}.ct-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ct-row input{flex:1;min-width:0}.ct-row input:disabled{background:#f4f6fa;color:var(--muted)}
.ct-row .icon-button{width:38px;height:38px;flex:0 0 auto}.ct-row .icon-button:disabled{opacity:.4;cursor:not-allowed}
.ct-import-list{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:700}
.ct-preview{margin-top:14px}.ct-preview p{margin:0 0 8px;font-size:13px}
@media(max-width:1100px){.ct-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ct-toolbar input{max-width:none}.ct-toolbar select{flex:1 1 140px}.ct-views{width:100%;margin-left:0}.ct-views .button{flex:1}.ct-kpis{grid-template-columns:1fr 1fr;gap:10px}.ct-kpi{padding:16px}.ct-kpi strong{font-size:24px}}
#contacts-root .page-heading{flex-wrap:wrap;gap:14px 20px}#contacts-root .page-heading>div:first-child{flex:1 1 340px;min-width:0}#contacts-root .page-heading .right-actions{flex:0 0 auto;flex-wrap:nowrap}
.ct-table th,.ct-table td{padding-left:12px;padding-right:12px}
@media(max-width:760px){#contacts-root .page-heading .right-actions{flex-wrap:wrap}}
/* Add contact dialog: voice and business card */
.ct-head-actions{display:flex;align-items:center;gap:10px}
#ct-voice.listening{border-color:var(--danger);background:#fff0f3;color:var(--danger);animation:ctPulse 1.2s infinite}
@keyframes ctPulse{50%{box-shadow:0 0 0 4px rgba(217,45,75,.15)}}
.ct-voice-status{margin:0 0 12px;border-radius:11px;background:#e6f0fa;padding:10px 14px;color:#014585;font-size:13px;line-height:1.5}.ct-voice-status[hidden]{display:none}
.ct-card-scan{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;border:1px dashed #a9c8e6;border-radius:14px;background:#f3f8fd;padding:14px 16px}
.ct-card-scan b{display:flex;align-items:center;gap:8px;font-size:15px}
.ct-card-scan input[type=file]{flex:1 1 200px;min-width:0;border:1px solid #dbe2ed;border-radius:12px;background:#fff;padding:8px 10px}
.ct-card-scan small{flex:1 0 100%;color:var(--muted);font-size:12px;line-height:1.5}
