.contacts-page{padding-bottom:32px}.contacts-page .page-header{gap:16px;margin-bottom:18px}.contacts-page .header-actions{gap:0.75rem}.contacts-filter-shell{display:grid;gap:0.9rem}.contacts-filter-row-main{row-gap:0.85rem}.contacts-search-col,.contacts-filters-col{min-width:0}.contacts-filter-grid{display:grid;gap:0.8rem}.contacts-filter-grid-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.contacts-filter-grid-secondary{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:0.25rem}.contacts-filter-group{min-width:0}.contacts-filter-group .filter-toggle{width:100%}.contacts-filter-group .filter-toggle .btn{flex:1 1 auto;min-width:0}.contacts-secondary-toggle{display:none;align-items:center;justify-content:center;width:100%}.contacts-filter-summary{display:flex;flex-wrap:wrap;gap:0.45rem;align-items:center}.contacts-filter-summary-badge{display:inline-flex;align-items:center;background:#f1f3f5;color:#495057;border-radius:999px;padding:0.35rem 0.7rem;font-size:0.82rem}.contacts-table-wrap{overflow:visible}.contacts-table{margin-bottom:0}.contacts-table thead th{background:#f6f7fa;color:var(--muted);font-size:0.7rem;letter-spacing:0.06em;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap}.contacts-table td,.contacts-table th{vertical-align:middle;padding:0.7rem 0.8rem}.contact-row{cursor:pointer;transition:background-color 0.16s ease,box-shadow 0.16s ease}.contact-row:hover{background:#f4f7fb}.contact-identity-cell,.contact-company-cell,.contact-tags-cell{min-width:0}.contact-identity-stack{display:flex;flex-direction:column;gap:0.18rem;min-width:0}.contact-email-row{display:flex;align-items:center;gap:0.4rem;min-width:0}.contact-email{color:var(--ink);font-weight:700;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-name{color:var(--muted);font-size:0.82rem;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-mailto-btn{flex:0 0 auto}.contact-inline-actions{display:flex;flex-wrap:wrap;gap:0.45rem;align-items:center}.contact-email-link{font-size:0.78rem;font-weight:600;width:fit-content;display:inline-flex;align-items:center}.contact-phone-cell,.contact-company{color:var(--ink);max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-company-link,.contact-linked-anchor{color:var(--accent-strong);font-weight:600}.contact-company-unlinked{color:var(--muted)}.contact-type-badge{background:rgba(31,111,235,0.1);color:var(--accent-strong);font-size:0.68rem;letter-spacing:0.05em;padding:0.33rem 0.55rem}.contact-tag-list{display:flex;flex-wrap:wrap;gap:0.3rem;align-items:center}.contact-tag-chip{display:inline-flex;align-items:center;background:#eef4fb;color:#29496d;border:1px solid #d8e5f4;border-radius:999px;font-size:0.72rem;font-weight:600;padding:0.2rem 0.5rem;line-height:1.2;max-width:100%}.contact-tag-more{background:#f8fafc;color:var(--muted);border-color:var(--border)}.contact-flags-cell{white-space:nowrap}.contact-flag-icons{display:inline-flex;align-items:center;gap:0.4rem;flex-wrap:wrap}.contact-flag-icon{width:1.95rem;height:1.95rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border);background:#fff;color:#9aa7b5;font-size:0.82rem;cursor:pointer;transition:border-color 0.15s ease,background-color 0.15s ease,color 0.15s ease}.contact-flag-icon.is-off{opacity:0.5}.contact-flag-icon.flag-active.is-on{color:#157f3d;background:rgba(34,197,94,0.14);border-color:rgba(34,197,94,0.28)}.contact-flag-icon.flag-safe.is-on{color:#0b5f82;background:rgba(46,155,209,0.14);border-color:rgba(46,155,209,0.28)}.contact-flag-icon.flag-spam.is-on{color:#8c1d1d;background:rgba(226,77,77,0.14);border-color:rgba(226,77,77,0.28)}.contact-flag-icon.flag-system.is-on{color:#5f4a00;background:rgba(245,183,59,0.16);border-color:rgba(245,183,59,0.3)}.contact-flag-icon.flag-internal.is-on{color:#334155;background:rgba(72,84,104,0.14);border-color:rgba(72,84,104,0.25)}.contacts-empty-state{border:1px dashed rgba(108,117,125,0.35);border-radius:16px;padding:2rem 1rem;text-align:center;color:var(--muted);background:rgba(255,255,255,0.7)}.contacts-empty-state strong{display:block;color:var(--ink);margin-bottom:0.35rem}.contact-modal .modal-content{border:0;border-radius:16px;box-shadow:var(--shadow-soft)}.contact-modal .modal-header,.contact-modal .modal-footer{border-color:var(--border)}.contact-linked-companies{display:flex;flex-wrap:wrap;gap:0.55rem}.contact-linked-empty{color:var(--muted)}.contact-linked-chip{display:inline-flex;align-items:center;gap:0.45rem;background:#f8fafc;border:1px solid var(--border);border-radius:999px;padding:0.25rem 0.35rem 0.25rem 0.55rem;max-width:100%}.contact-linked-name{color:var(--ink);font-size:0.84rem;font-weight:600}.contact-modal .input-group-append .btn{border-color:var(--border)}.contact-company-results .list-group-item{border-radius:0.8rem;margin-bottom:0.35rem;border:1px solid var(--border)}.contact-company-results .list-group-item:last-child{margin-bottom:0}.contact-flag-selects .form-group{margin-bottom:0.75rem}@media (min-width:768px){.contacts-secondary-collapse{display:block!important;height:auto!important}}@media (max-width:1199.98px){.contacts-filter-grid-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.contacts-filter-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.contacts-table thead{display:none}.contacts-table,.contacts-table tbody{display:block;width:100%}.contacts-table tbody{display:grid;gap:0.9rem}.contacts-table tr{display:grid;width:100%}.contacts-table td,.contacts-table th{display:block;padding:0;border-top:0}.contact-row{grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);grid-template-areas:"identity company" "phone type" "tags tags" "flags flags";gap:0.75rem 1rem;padding:1rem;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-soft);background:var(--card)}.contact-identity-cell{grid-area:identity}.contact-company-cell{grid-area:company;align-self:start}.contact-phone-cell{grid-area:phone}.contact-type-cell{grid-area:type;align-self:start}.contact-tags-cell{grid-area:tags}.contact-flags-cell{grid-area:flags}.contact-company-cell::before,.contact-phone-cell::before,.contact-type-cell::before,.contact-tags-cell::before,.contact-flags-cell::before{content:attr(data-label);display:block;margin-bottom:0.32rem;color:var(--muted);font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.contact-email,.contact-name,.contact-phone-cell,.contact-company{max-width:none;white-space:normal;word-break:break-word}.contact-flags-cell{white-space:normal}.contact-flag-icons{display:flex;justify-content:flex-start;gap:0.55rem}}@media (max-width:767.98px){.contacts-page{padding-bottom:24px}.contacts-page .page-header{margin-bottom:14px}.contacts-page .header-actions{width:100%}.contacts-page .header-actions .btn{width:100%;justify-content:center}.filters-card{padding:0.9rem!important}.contacts-filter-grid-primary{grid-template-columns:1fr}.contacts-secondary-toggle{display:inline-flex}.contacts-secondary-collapse{padding-top:0.1rem}.contacts-filter-grid-secondary{grid-template-columns:1fr}.contacts-table tbody{gap:0.75rem}.contact-row{grid-template-columns:1fr;grid-template-areas:"identity" "company" "phone" "type" "tags" "flags";gap:0.7rem;padding:0.95rem}.contact-email-row{align-items:flex-start}.contact-email{font-size:0.98rem}.contact-name{font-size:0.86rem}.contact-inline-actions{padding-top:0.15rem}.contact-tag-list{gap:0.35rem}.contact-flag-icons{gap:0.5rem}.contact-flag-icon{width:2.25rem;height:2.25rem;font-size:0.9rem}.pagination-wrap{overflow-x:visible}.pagination{justify-content:space-between!important;width:100%}.pagination .page-item.page-number{display:none}.pagination .page-item.page-current-indicator{display:inline-flex!important}.pagination .page-link{min-width:4.25rem;text-align:center}}@media (max-width:430px){.contacts-page{margin-top:1rem!important}.contact-row{padding:0.85rem}.contact-email-link{width:100%}.contact-flag-icons{justify-content:space-between}}