.contacts-page{max-width:1720px;margin:0 auto}.contacts-page .card{margin-bottom:16px}.contacts-page-head{align-items:flex-start}.contacts-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:16px}.contacts-summary-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow-soft)}.contacts-summary-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#6b7280}.contacts-summary-card.good:before{background:#16a34a}.contacts-summary-card.warning:before{background:#f59e0b}.contacts-summary-card.info:before{background:#2563eb}.contacts-summary-card.attention:before{background:var(--primary)}.contacts-summary-card span{display:block;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.contacts-summary-card strong{display:block;margin:10px 0 6px;color:var(--text-black);font-size:30px;line-height:1}.contacts-summary-card small{color:var(--text-muted);font-size:12px}.contact-import-card,.contact-details-card,.contact-list-card{scroll-margin-top:16px}.import-step{display:flex;align-items:center;gap:10px;margin:18px 0 12px;padding-top:14px;border-top:1px solid var(--border)}.import-step>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#111827;color:#fff;font-weight:800}.import-step.complete>span{background:#15803d}.import-step strong,.import-step small{display:block}.import-step small{margin-top:2px;color:var(--text-muted)}.contacts-import-file-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.contacts-import-file-row .field{min-width:min(100%,330px);margin:0}.contacts-mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.contact-import-sheet{max-height:520px;border:1px solid var(--border);border-radius:12px}.contact-import-sheet .table{margin:0;min-width:1180px}.contact-import-sheet th{position:sticky;top:0;z-index:2;background:#f8fafc}.contact-import-sheet td{vertical-align:top}.contact-import-sheet tr.import-row-invalid{background:#fff5f5}.contact-import-sheet tr.import-row-duplicate{background:#fef2f2}.contact-import-sheet tr.import-row-possible_duplicate{background:#fffaf0}.contact-import-sheet tr.import-row-warning{background:#fffbeb}.import-state{white-space:nowrap}.import-state i{font-size:9px}.import-state-ready{background:#e7f7ee;color:#0f7a3a}.import-state-warning{background:#fff4e6;color:#b45309}.import-state-possible_duplicate{background:#fff7ed;color:#c2410c}.import-state-duplicate,.import-state-invalid{background:#fde8e8;color:#b91c1c}.import-state-accepted{background:#eff6ff;color:#1d4ed8}.import-row-message{max-width:260px;white-space:normal;font-size:12px;color:var(--text-muted)}.import-preview-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.import-preview-summary .status-pill{padding:6px 10px}.import-preview-toolbar{margin-bottom:10px}.contact-import-map-panel{margin-top:12px;border:1px solid var(--border);border-radius:12px;padding:10px;background:#f8fafc}.contact-import-map-panel #contactImportMap{height:420px;border-radius:10px;overflow:hidden}.contacts-import-confirm{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.contacts-result-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.import-summary-grid{grid-template-columns:repeat(7,minmax(110px,1fr));margin:12px 0}.import-summary-grid .contacts-summary-card{padding:12px}.import-summary-grid .contacts-summary-card strong{font-size:24px}.contact-details-card .section-heading-row{margin-bottom:14px}.contact-location-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.contact-location-toolbar select{max-width:220px}.contact-location-toolbar .muted{flex:1;min-width:220px}.contact-map-wrap{border:1px solid var(--border);border-radius:14px;overflow:hidden;margin:12px 0;background:#f8fafc}.contact-map-label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}.contact-map-label small{color:var(--text-muted)}#contactMap{height:min(48vh,460px);min-height:320px}.contacts-page textarea.input{resize:vertical;min-height:86px}.contact-advanced{margin-top:14px;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.contact-advanced summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;font-weight:800}.contact-advanced summary::-webkit-details-marker{display:none}.contact-advanced summary small{font-weight:400;color:var(--text-muted)}.contact-advanced[open] summary{border-bottom:1px solid var(--border)}.contact-advanced[open]>:not(summary){margin-left:14px;margin-right:14px}.contact-active-toggle{display:flex;align-items:center;gap:8px;padding:12px 0 16px;font-weight:700}.contacts-list-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.contacts-list-toolbar>.input{width:auto;min-width:170px}.contacts-search{position:relative;flex:1;min-width:260px}.contacts-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.contacts-search .input{width:100%;padding-left:36px}.contacts-table-wrap{border:1px solid var(--border);border-radius:12px}.contacts-table-wrap .table{margin:0;min-width:980px}.receiver-primary{font-weight:800;color:var(--text-black)}.receiver-secondary{margin-top:4px;color:var(--text-muted);font-size:12px}.receiver-indicators{display:flex;gap:5px;flex-wrap:wrap}.receiver-indicator{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700;background:#f3f4f6;color:#4b5563}.receiver-indicator.good{background:#e7f7ee;color:#0f7a3a}.receiver-indicator.warning{background:#fff4e6;color:#b45309}.receiver-indicator.info{background:#eff6ff;color:#1d4ed8}.receiver-indicator.danger{background:#fde8e8;color:#b91c1c}.quick-actions{display:flex;gap:5px;flex-wrap:wrap}.quick-actions .btn{padding:6px 8px;border-radius:8px;box-shadow:none}.contacts-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--text-muted);font-size:12px}.contacts-pagination>div{display:flex;gap:8px}.contacts-pagination .btn{padding:7px 10px}.contacts-pagination .btn:disabled{opacity:.45;cursor:not-allowed}.contact-import-card[hidden],.contact-import-map-panel[hidden],#contactImportMapping[hidden],#contactImportPreview[hidden],#contactImportResult[hidden],#contactImportProgress[hidden]{display:none!important}
@media(max-width:1200px){.contacts-summary-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.contacts-mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-summary-grid{grid-template-columns:repeat(4,minmax(110px,1fr))}}
@media(max-width:760px){.contacts-page{padding:16px}.contacts-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contacts-mapping-grid{grid-template-columns:1fr}.contact-advanced summary{align-items:flex-start;flex-direction:column}.contacts-import-confirm,.contacts-pagination{align-items:stretch;flex-direction:column}.contacts-import-confirm .btn{width:100%}.contact-map-label{align-items:flex-start;flex-direction:column}.import-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.contacts-summary-grid{grid-template-columns:1fr}.contacts-page{padding:12px}.contacts-summary-card strong{font-size:26px}}
.main.contacts-page{max-width:none;margin-left:var(--sidebar-w);margin-right:0}
@media(max-width:900px){.main.contacts-page{margin-left:0;margin-right:0}}
.contact-import-sheet{position:relative;max-height:680px;overflow:auto;overscroll-behavior:contain}
.contact-import-sheet .table{border-collapse:separate;border-spacing:0}
.import-pagination{position:relative;z-index:3;padding:10px 0;background:#fff}
.import-page-size{margin-left:auto;font-weight:700;color:var(--text-muted)}
@media(max-width:760px){.import-page-size{margin-left:0}}
.manual-coordinate-field-highlight{border-radius:10px;animation:manual-coordinate-field-pulse 1.4s ease-in-out 2}
.manual-coordinate-highlight{border-color:#2563eb!important;box-shadow:0 0 0 4px rgba(37,99,235,.16)!important}
@keyframes manual-coordinate-field-pulse{0%,100%{background:transparent}50%{background:rgba(37,99,235,.08)}}
@media(prefers-reduced-motion:reduce){.manual-coordinate-field-highlight{animation:none}}
.receiver-import-page .import-bulk-guidance{margin:0;padding:12px 14px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1e3a8a}
.receiver-import-page .import-bulk-guidance strong{margin-right:4px}
.receiver-import-page .import-counter{background:#f8fafc;color:#334155;border:1px solid #e2e8f0}
.receiver-import-page .import-counter-selected{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.receiver-import-page .import-preview-toolbar #btnContactImportMap{margin-left:auto}
@media(max-width:760px){.receiver-import-page .import-preview-toolbar #btnContactImportMap{margin-left:0}}
.contacts-export-panel[hidden]{display:none!important}.contacts-export-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.contacts-export-controls .field{margin:0;min-width:190px}.contacts-export-panel #contactExportMeta{margin:10px 0 0}.contacts-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}.contacts-table-wrap th:first-child,.contacts-table-wrap td:first-child{width:44px;text-align:center}.contacts-table-wrap input[type="checkbox"]{width:17px;height:17px}.contacts-list-toolbar #contactCustomerCodeFilter{min-width:190px}
@media(max-width:760px){.contacts-export-controls{align-items:stretch;flex-direction:column}.contacts-export-controls .field,.contacts-export-controls .btn{width:100%}.contacts-selection-bar{align-items:stretch;flex-direction:column}}
