.contacts-panel{display:flex;flex-direction:column;gap:0;padding:24px 0}.contacts-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.contacts-hero h1{font-family:var(--font-display);font-size:34px;font-weight:500;color:var(--stone-100);letter-spacing:-.01em}.contacts-hero .sub{font-size:12px;color:var(--stone-500);margin-top:4px;letter-spacing:.02em;text-transform:uppercase}.contacts-hero-meta{font-size:12px;color:var(--stone-500);text-align:right}.contacts-hero-meta strong{color:var(--stone-200);font-weight:500}.contacts-catbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.cat-pill{display:inline-flex;align-items:center;gap:6px;background:var(--stone-900);border:1px solid var(--stone-800);color:var(--stone-300);border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer;transition:background .15s,border-color .15s}.cat-pill:hover{border-color:var(--stone-600)}.cat-pill .count{color:var(--stone-500);font-variant-numeric:tabular-nums;font-size:11px}.cat-pill.active{background:#22c55e1f;border-color:var(--green-500);color:var(--green-400)}.cat-pill.active .count{color:var(--green-400);font-weight:600}.contacts-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.contacts-viewtabs{display:inline-flex;background:var(--stone-950);border-radius:8px;padding:3px}.ct-tab{background:transparent;border:none;color:var(--stone-500);font-family:var(--font);font-size:13px;font-weight:500;padding:6px 14px;border-radius:6px;cursor:pointer}.ct-tab:hover{color:var(--stone-300)}.ct-tab.active{background:var(--stone-800);color:var(--stone-100)}.contacts-search{flex:1;min-width:280px;background:var(--stone-900);border:1px solid var(--stone-800);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--stone-200);font-family:var(--font)}.contacts-search:focus{outline:none;border-color:var(--stone-600)}.contacts-toolbar select{background:var(--stone-900);border:1px solid var(--stone-800);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--stone-200);font-family:var(--font)}.contacts-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--stone-400);font-size:12px;cursor:pointer}.ct-export{background:var(--stone-100);color:var(--stone-950);border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer}.ct-export:hover{background:#fff}.contacts-table-wrap{background:var(--stone-900);border:1px solid var(--stone-800);border-radius:10px;overflow:hidden}.contacts-virt-scroll{max-height:calc(100vh - 360px);overflow-y:auto;overflow-x:hidden}.contacts-table{width:100%;border-collapse:collapse;font-size:13px}.contacts-table thead th{position:sticky;top:0;background:var(--stone-900);text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--stone-500);padding:11px 14px;border-bottom:1px solid var(--stone-800);z-index:1}.contacts-table tbody td{padding:11px 14px;border-bottom:1px solid var(--stone-850);color:var(--stone-300);height:41px;box-sizing:border-box}.contacts-table tbody tr:hover{background:var(--stone-850)}.contacts-table tbody tr{cursor:pointer}.contacts-table tbody tr.selected{background:var(--stone-800)}.contacts-table tbody tr.ct-spacer{cursor:default;height:0}.contacts-table tbody tr.ct-spacer td{padding:0;border:none}.ct-domain{color:var(--stone-100);font-weight:500}.ct-rationale{color:var(--stone-500);font-size:11px;margin-top:2px}.ct-name{color:var(--stone-100)}.ct-email{color:var(--stone-400);font-size:12px}.ct-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--stone-400);white-space:nowrap}.ct-date{color:var(--stone-500);font-size:12px;white-space:nowrap}.ct-cat-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:capitalize}.ct-cat-client{background:#22c55e26;color:var(--green-400)}.ct-cat-prospect{background:#facc1526;color:var(--yellow-400)}.ct-cat-consultant_peer{background:#60a5fa26;color:var(--blue-400)}.ct-cat-vendor{background:#fb923c26;color:var(--orange-400)}.ct-cat-bank_finance,.ct-cat-gov_authority{background:#c084fc26;color:var(--purple-400)}.ct-cat-certification_body{background:#60a5fa26;color:var(--blue-400)}.ct-cat-consumer_mail{background:var(--stone-800);color:var(--stone-400)}.ct-cat-automated{background:var(--stone-800);color:var(--stone-500)}.ct-cat-internal{background:#22c55e1a;color:var(--stone-300)}.ct-cat-noise{background:#f871711f;color:var(--red-400)}.ct-cat-unknown,.ct-cat-unclassified{background:var(--stone-800);color:var(--stone-500)}.ct-pagination{display:flex;justify-content:center;gap:10px;padding:16px;color:var(--stone-400);font-size:12px;align-items:center}.ct-pagination button{background:var(--stone-900);border:1px solid var(--stone-800);color:var(--stone-200);padding:6px 14px;border-radius:6px;cursor:pointer}.ct-pagination button:disabled{opacity:.3;cursor:not-allowed}.ct-pagination button:hover:not(:disabled){border-color:var(--stone-600)}.ct-loading,.ct-empty{padding:60px 20px;text-align:center;color:var(--stone-500);font-size:13px}.ct-drawer{position:fixed;top:0;right:0;width:520px;max-width:92vw;height:100vh;background:var(--stone-900);border-left:1px solid var(--stone-800);transform:translate(100%);transition:transform .25s;z-index:150;overflow:auto;box-shadow:-20px 0 40px #0006}.ct-drawer.active{transform:translate(0)}.ct-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--stone-800);position:sticky;top:0;background:var(--stone-900);z-index:1}.ct-drawer-title{font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--stone-100)}.ct-drawer-close{background:transparent;border:none;color:var(--stone-500);cursor:pointer;padding:4px 10px;font-size:22px;line-height:1}.ct-drawer-close:hover{color:var(--stone-200)}.ct-drawer-overlay{position:fixed;inset:0;background:#00000080;z-index:140;opacity:0;pointer-events:none;transition:opacity .2s}.ct-drawer-overlay.active{opacity:1;pointer-events:auto}.ct-drawer-body{padding:20px 24px}.ct-drawer-body h3{font-size:11px;color:var(--stone-500);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 8px}.ct-drawer-body h3:first-child{margin-top:0}.ct-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.ct-meta-grid .k{color:var(--stone-500);font-size:11px}.ct-meta-grid .v{color:var(--stone-200);font-size:13px;font-variant-numeric:tabular-nums}.ct-people-list{display:flex;flex-direction:column;gap:4px}.ct-people-list .p{display:flex;justify-content:space-between;padding:8px 12px;background:var(--stone-950);border-radius:6px;font-size:12px}.ct-people-list .p .pname{color:var(--stone-200)}.ct-people-list .p .pmsg{color:var(--stone-500);font-variant-numeric:tabular-nums}.ct-edit-row{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}.ct-edit-row select,.ct-edit-row input,.ct-edit-row textarea{background:var(--stone-950);border:1px solid var(--stone-800);color:var(--stone-200);border-radius:6px;padding:6px 10px;font-size:12px;font-family:var(--font)}.ct-edit-row textarea{resize:vertical;min-height:60px;width:100%}.ct-edit-row button{background:var(--forest-500);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12px;cursor:pointer}.ct-edit-row button[disabled]{opacity:.5;cursor:progress}
