.topbar nav>button.active{color:#72abfe}
.recontact-page{width:100%;flex:1;min-height:0;padding:16px 18px;background:#f7f8fa;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.recontact-page[hidden]{display:none}
.recontact-header{display:flex;align-items:end;justify-content:space-between}
.recontact-header h1{font-size:21px;font-weight:600;margin:0}
.recontact-header p{margin:5px 0 0;color:#777;font-size:12px}
.recontact-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:white;border:1px solid #e5e9ee;border-radius:7px;padding:10px 12px;min-height:54px}
.recontact-controls label{font-size:13px;font-weight:600}
.recontact-controls select,.recontact-controls input,.recontact-controls button,.recontact-paging button{height:32px;border:1px solid #d9e0e9;border-radius:4px;background:#fff;padding:4px 10px}
.recontact-controls select{min-width:170px}
.recontact-controls #recontact-search-by{min-width:130px}
.recontact-controls #recontact-keyword{width:190px;max-width:100%}
.recontact-controls button{color:#0753c7;background:#edf4ff;border-color:#bcd2fa}
.recontact-controls span{color:#888;font-size:12px}
.recontact-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:38px}
.recontact-summary span{font-weight:600}
.recontact-summary button{border:0;background:#0d6efd;color:#fff;border-radius:5px;min-height:36px;padding:7px 15px}
.recontact-summary button:disabled{opacity:.5}
.recontact-weekly-filter{display:flex;align-items:center;gap:12px;padding:9px 12px;background:#edf4ff;border:1px solid #bfd3f9;border-radius:6px;color:#24528e;font-size:13px}
.recontact-weekly-filter[hidden]{display:none}
.recontact-weekly-filter button{border:1px solid #abc6f5;background:#fff;color:#125ac6;border-radius:4px;padding:5px 9px;cursor:pointer}
.recontact-table-wrap{flex:1;min-height:0;overflow:auto;background:white;border:1px solid #e5e9ee;border-radius:7px}
.recontact-table{width:100%;min-width:1180px;border-collapse:collapse;text-align:center}
.recontact-table thead{position:sticky;top:0;z-index:1;background:#f6f8fb}
.recontact-table th,.recontact-table td{padding:10px 12px;border-bottom:1px solid #e9edf2;white-space:nowrap;font-size:13px;text-align:center}
.recontact-table th{color:#67717e;font-weight:600;font-size:12px}
.recontact-table th:first-child,.recontact-table td:first-child{width:52px;text-align:center}
.recontact-table th:nth-child(2),.recontact-table td:nth-child(2){width:44px;text-align:center}
.recontact-table td.recontact-row-number{color:#697586;font-variant-numeric:tabular-nums}
.recontact-table td.recontact-point{font-variant-numeric:tabular-nums}
.recontact-table input{accent-color:#0d6efd;width:16px;height:16px}
.recontact-table td.recontact-sex{font-weight:600;text-align:center}
.recontact-table td.recontact-sex.sex-male{background:#dff3ff;color:#176b9a}
.recontact-table td.recontact-sex.sex-female{background:#ffe7f0;color:#a24167}
.recontact-table td.recontact-sex.sex-unknown{color:#858f9c}
.recontact-table td.elapsed{font-variant-numeric:tabular-nums}
.recontact-table td.recontact-grade{font-weight:600;text-align:center}
.recontact-table td.recontact-grade.grade-welcome{background:#e8f1ff;color:#28549b}
.recontact-table td.recontact-grade.grade-family{background:#f1e9ff;color:#65429a}
.recontact-table td.recontact-grade.grade-bronze{background:#f5e8db;color:#845022}
.recontact-table td.recontact-grade.grade-silver{background:#e9eef4;color:#4a5f76}
.recontact-table td.recontact-grade.grade-gold{background:#fff2c9;color:#886000}
.recontact-table td.recontact-grade.grade-diamond{background:#def5f5;color:#126c76}
.recontact-table td.recontact-grade.grade-vip{background:#efe5ff;color:#7141aa}
.recontact-table td.recontact-grade.grade-royal{background:#e5e5e8;color:#35353b}
.recontact-table td.recontact-grade.grade-other{background:#edf2ed;color:#46654a}
.recontact-table td.recontact-grade.grade-error{background:#fff0ee;color:#ae3429}
.recontact-badge{display:inline-block;padding:5px 8px;border-radius:20px;font-size:12px}
.recontact-badge.ready{background:#e8f7ef;color:#167347}
.recontact-badge.recent_contact{background:#fff0d9;color:#a84f00}
.recontact-badge.missing_phone{background:#fff5e0;color:#835a0d}
.recontact-status{white-space:nowrap}
.recontact-sent-at{display:inline-block;margin-left:8px;color:#67717e;font-size:12px;font-variant-numeric:tabular-nums}
.recontact-empty{padding:50px;text-align:center;color:#888}
.recontact-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:32px;color:#777;font-size:12px}
.recontact-paging{display:flex;align-items:center;gap:7px;white-space:nowrap}
.recontact-paging button{height:28px;padding:2px 10px;font-size:12px}
.recontact-paging button:disabled{opacity:.5}
@media(max-width:700px){.recontact-page{padding:10px}.recontact-footer{align-items:flex-start;flex-direction:column}.recontact-summary{align-items:flex-start;flex-direction:column}}
