:root{--navy: #0F3D52;--navy-dark: #0B2A38;--navy-hover: #0a2c3c;--teal: #2EC4B6;--teal-deep: #1F8A6D;--slate: #5B6FA8;--sand: #B5803A;--dusty-blue: #3D6A8C;--violet: #7C6FE0;--orange: #E2774C;--red: #C0492B;--bg: #F2F6F7;--bg-admin: #EDF2F3;--panel-bg: #F4FAFA;--border: #E8EEF0;--border-soft: #E2E9EB;--text: #1B2A33;--text-muted: #5C7C8A;--text-faint: #A6B6BD;--text-mid: #7A8C94;--cat-chat: #0F3D52;--cat-assets: #1F8A6D;--cat-contacts: #5B6FA8;--cat-attach: #B5803A;--cat-templates: #3D6A8C;--tint-assets: #E7F4EE;--tint-contacts: #ECEFF7;--tint-attach: #F7EFE2;--tint-templates: #EAF1F6;--tint-teal: #EAF6F6;--radius-card: 14px;--radius-btn: 9px;--radius-pill: 999px;--shadow-card: 0 3px 10px rgba(15,61,82,.04);--shadow-pop: 0 16px 44px rgba(15,61,82,.16);--shadow-modal: 0 24px 60px rgba(15,61,82,.28);--font-body: "Inter", -apple-system, sans-serif;--font-serif: "Source Serif 4", Georgia, serif;--font-mono: "IBM Plex Mono", monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg)}body{font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:var(--font-body)}input,textarea,select{font-family:var(--font-body)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d5e1e3;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}@keyframes acPop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes acFade{0%{opacity:0}to{opacity:1}}@keyframes acSlide{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes acSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes acCursor{0%,to{opacity:1}50%{opacity:0}}.pop{animation:acPop .14s ease}.fade{animation:acFade .15s ease}.slide{animation:acSlide .18s ease}.mono{font-family:var(--font-mono)}.serif{font-family:var(--font-serif)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:var(--radius-pill);white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill-under-management{background:#e4f5f0;color:var(--teal-deep)}.pill-for-sale{background:#fef0e8;color:#b5512e}.pill-due-diligence{background:#f0eeff;color:var(--violet)}.pill-sold,.pill-archived{background:#f0f4f4;color:var(--text-muted)}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:acSpin .7s linear infinite;display:inline-block}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--radius-btn);padding:9px 12px;font-size:13.5px;color:var(--text);background:#fff;outline:none;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2ec4b61a}.field textarea{resize:vertical;min-height:80px}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f3d5259;z-index:100;display:flex;align-items:center;justify-content:center;animation:acFade .15s ease}.overlay-panel{background:#fff;border-radius:16px;box-shadow:var(--shadow-modal);width:520px;max-width:calc(100vw - 32px);max-height:90vh;display:flex;flex-direction:column;animation:acPop .16s ease;overflow:hidden}.overlay-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.overlay-title{font-family:var(--font-serif);font-weight:600;font-size:17px;color:var(--navy);margin:0}.overlay-body{padding:22px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;flex:1}.overlay-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 18px;border-top:1px solid var(--border);flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius-btn);border:none;font-size:13px;font-weight:600;cursor:pointer;transition:filter .12s,background .12s}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-hover)}.btn-teal{background:var(--teal);color:#fff}.btn-teal:hover{filter:brightness(.92)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--panel-bg)}.btn-danger{background:transparent;color:var(--red);border:1px solid #f0c4bb}.btn-danger:hover{background:#fff5f3}.btn-sm{padding:6px 12px;font-size:12px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;font-weight:600;color:var(--text-muted);font-size:11px;letter-spacing:.4px;text-transform:uppercase;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--panel-bg)}.data-table td{padding:13px 16px;border-bottom:1px solid #F0F4F4;vertical-align:middle}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover td{background:var(--panel-bg)}.data-table tr.group-header td{background:#f7fafa;padding:11px 16px;border-bottom:1px solid var(--border)}.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px}.chip-asset{background:var(--tint-assets);color:var(--cat-assets)}.chip-contact{background:var(--tint-contacts);color:var(--cat-contacts)}.chip-attach{background:var(--tint-attach);color:var(--cat-attach)}.chip-template{background:var(--tint-templates);color:var(--cat-templates)}.chip-mono{font-family:var(--font-mono);font-size:11px;background:var(--tint-teal);color:var(--navy)}.nav-tab{display:flex;align-items:center;gap:7px;padding:7px 13px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:13px;font-weight:500;white-space:nowrap;transition:background .12s}.nav-tab:hover{background:var(--panel-bg)}.nav-tab.active{font-weight:600}.nav-tab .count-badge{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:7px}
