:root{--bg:#f3f5f7;--panel:#fff;--line:#d8dde5;--line-dark:#b9c1cc;--text:#172033;--muted:#657184;--nav:#0d1728;--nav-2:#15233a;--primary:#1768d5;--primary-dark:#0f56b5;--danger:#c93636;--success:#23845b;--warning:#a06a00;--row:38px;--shadow:0 8px 24px rgba(16,24,40,.14)}
*{box-sizing:border-box;border-radius:0!important}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}input,select,textarea{border:1px solid var(--line-dark);background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
[hidden]{display:none!important}.button{height:34px;border:1px solid transparent;padding:0 13px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-dark)}.button.secondary{border-color:var(--line-dark);color:#24324a;background:#fff}.button.secondary:hover{background:#eef2f6}.button.ghost{border-color:#45536b;color:#fff;background:transparent}.button.ghost:hover{background:#1d2a40}.button.text{border:0;background:transparent;color:var(--primary);padding:0 7px}.danger-text{color:var(--danger)!important}.icon-button{width:34px;height:34px;border:1px solid #45536b;color:#fff;background:transparent;font-size:18px}.icon-button:hover{background:#1d2a40}
.login-screen{min-height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#0a1322 0%,#13223a 55%,#0b1628 100%)}.login-panel{width:390px;background:#fff;border:1px solid #cad1dc;padding:34px 36px;box-shadow:0 18px 55px rgba(0,0,0,.35)}.brand-mark,.brand-square{display:inline-grid;place-items:center;background:var(--primary);color:#fff;font-weight:800}.brand-mark{width:48px;height:48px;font-size:16px}.brand-square{width:32px;height:32px}.login-panel h1{font-size:25px;margin:22px 0 4px}.login-panel p{margin:0 0 20px;color:var(--muted)}.auth-tabs{height:38px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-dark);margin-bottom:18px;background:#f5f7fa}.auth-tab{border:0;background:transparent;color:#526074;font-weight:650}.auth-tab+ .auth-tab{border-left:1px solid var(--line-dark)}.auth-tab:hover{background:#eef2f6}.auth-tab.active{background:#fff;color:var(--primary);box-shadow:inset 0 -2px 0 var(--primary)}.auth-form label{display:block;font-weight:600;margin:0 0 7px}.auth-form input{width:100%;height:40px;padding:0 11px;margin-bottom:13px}.auth-form input:last-of-type{margin-bottom:0}.login-button{width:100%;margin-top:14px;height:40px}.form-error{margin-top:12px;padding:9px 10px;border:1px solid #e7a4a4;background:#fff3f3;color:#9d2020}
.app-shell{min-height:100%}.topbar{height:58px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:40;border-bottom:1px solid #26344c}.topbar-brand,.topbar-actions{display:flex;align-items:center;gap:11px}.topbar-brand strong{display:block;font-size:14px}.topbar-brand small{display:block;color:#9aa8bc;font-size:11px}.current-user{padding:0 9px;color:#dce5f2;border-left:1px solid #34435a}.workspace{padding:18px 20px 28px;max-width:1920px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.page-head h1{font-size:24px;margin:0 0 3px}.page-head p{margin:0;color:var(--muted)}.head-actions{display:flex;gap:8px}
.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));border:1px solid var(--line);background:var(--panel);margin-bottom:14px}.stat-card{padding:11px 13px;border-right:1px solid var(--line);min-width:0}.stat-card:last-child{border-right:0}.stat-label{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.stat-value{font-size:18px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-sub{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list-panel{background:var(--panel);border:1px solid var(--line)}.viewbar{min-height:47px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 10px}.view-tabs{height:46px;display:flex;align-items:stretch}.view-tab{border:0;border-bottom:2px solid transparent;background:transparent;padding:0 14px;font-weight:600;color:#4d5a6c}.view-tab:hover{background:#f5f7fa}.view-tab.active{border-bottom-color:var(--primary);color:var(--primary)}.saved-view-box{display:flex;align-items:center;gap:2px}.saved-view-box select{height:31px;min-width:205px;padding:0 8px}
.searchbar{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--line);background:#fafbfc}.search-control{height:36px;border:1px solid var(--line-dark);background:#fff;display:flex;align-items:center;flex:1;min-width:220px}.search-control:focus-within{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.search-control input{height:34px;border:0!important;box-shadow:none!important;flex:1;min-width:0;padding:0 8px}.search-icon{padding-left:10px;color:#7b8799;font-size:18px}.search-control kbd{margin-right:7px;border:1px solid var(--line);background:#f3f5f7;padding:1px 5px;color:#778396}.filter-count{min-width:18px;height:18px;display:inline-grid;place-items:center;background:var(--primary);color:#fff;font-size:10px}
.quick-filters{padding:7px 10px;border-bottom:1px solid var(--line);display:flex;gap:6px;flex-wrap:wrap}.quick-filter{height:27px;padding:0 10px;border:1px solid var(--line-dark);background:#fff;color:#445166}.quick-filter:hover{background:#f0f3f7}.quick-filter.active{background:#e8f1fd;border-color:#78a9e9;color:#145cb7}.advanced-filters{padding:12px 10px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:10px;background:#f6f8fa}.filter-field label{display:block;color:#586579;font-size:11px;font-weight:700;margin-bottom:4px}.filter-field input,.filter-field select{height:32px;width:100%;padding:0 8px}.date-range{grid-column:span 2}.date-range>div{display:flex;align-items:center;gap:6px}.date-range input{min-width:0}.bulkbar{min-height:43px;padding:5px 10px;background:#eaf2fd;border-bottom:1px solid #a8c6ec;display:flex;align-items:center;gap:8px}.bulkbar strong{margin-right:5px}
.table-frame{position:relative;overflow:auto;min-height:390px;max-height:calc(100vh - 390px)}.crm-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.crm-table thead{position:sticky;top:0;z-index:5}.crm-table th{height:35px;background:#edf0f4;border-bottom:1px solid var(--line-dark);border-right:1px solid #dfe3e9;text-align:left;padding:0 9px;color:#3f4b5d;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.crm-table th:last-child{border-right:0}.crm-table th.sortable{cursor:pointer}.crm-table th.sortable:hover{background:#e4e9ef}.sort-mark{font-size:10px;margin-left:4px;color:var(--primary)}.crm-table td{height:var(--row);padding:4px 9px;border-bottom:1px solid #e4e7ec;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-table tr:hover td{background:#f3f7fc}.crm-table tr.selected td{background:#e9f2ff}.crm-table .check-col{width:36px;text-align:center;padding:0}.crm-table .favorite-col{width:42px;text-align:center;padding:0}.crm-table .name-col{width:315px}.crm-table .company_id-col{width:115px}.crm-table .founded-col{width:115px}.crm-table .city-col{width:150px}.crm-table .status-col{width:130px}.crm-table .contacts-col{width:150px}.crm-table .signals-col{width:165px}.crm-table .activity-col{width:280px}.crm-table .tax_number-col,.crm-table .registration_number-col{width:155px}.crm-table .website-col{width:180px}.company-link{border:0;background:transparent;color:#153d74;font-weight:650;padding:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.company-link:hover{text-decoration:underline}.row-sub{display:block;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis}.star-button{border:0;background:transparent;width:32px;height:30px;font-size:20px;color:#9099a7}.star-button.active{color:#d89000}.star-button:hover{background:#e9edf2}.contact-badges,.signal-badges{display:flex;align-items:center;gap:4px}.mini-badge{height:22px;min-width:24px;border:1px solid var(--line-dark);display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 5px;background:#fff;color:#4f5b6c;font-size:11px}.mini-badge.on{border-color:#83b4ef;background:#edf5ff;color:#135aa9}.mini-badge.note{border-color:#deb76b;background:#fff8e8;color:#895b00}.mini-badge.team{border-color:#b4a1df;background:#f5f1ff;color:#5e3c98}.status-pill{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:2px 6px;border-left:3px solid #7b8797;background:#f0f2f5;font-size:11px}.status-pill.active{border-left-color:var(--success);background:#edf8f3;color:#176f4c}.status-pill.inactive{border-left-color:#8b95a3;background:#f0f2f5;color:#586374}.row-actions{width:44px;text-align:center}.more-button{border:0;background:transparent;width:30px;height:28px;font-weight:700;letter-spacing:2px}.more-button:hover{background:#e7ebf0}.table-loading{position:absolute;inset:35px 0 0;background:rgba(255,255,255,.82);display:flex;align-items:flex-start;justify-content:center;padding-top:90px;gap:9px;color:#546174;font-weight:600;z-index:8}.spinner{width:17px;height:17px;border:2px solid #b8c0cc;border-top-color:var(--primary);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{padding:70px 20px;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:var(--text);font-size:16px;margin-bottom:4px}
.table-footer{height:48px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:#5f6b7c}.pagination{display:flex;align-items:center;gap:6px}.pagination select{height:30px;padding:0 6px}.page-button{width:31px;height:30px;border:1px solid var(--line-dark);background:#fff}.page-button:hover:not(:disabled){background:#edf1f5}
.drawer-backdrop{position:fixed;inset:0;background:rgba(11,18,30,.38);z-index:70}.company-drawer{position:fixed;right:0;top:0;height:100%;width:min(720px,94vw);background:#fff;border-left:1px solid #9aa5b3;z-index:80;transform:translateX(101%);transition:transform .18s ease;box-shadow:-12px 0 32px rgba(0,0,0,.16);display:flex;flex-direction:column}.company-drawer.open{transform:translateX(0)}.drawer-header{padding:15px 18px;border-bottom:1px solid var(--line);background:#f7f9fb;display:flex;justify-content:space-between;gap:12px}.drawer-title{min-width:0}.drawer-title h2{margin:0 0 5px;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-meta{display:flex;gap:7px;align-items:center;color:var(--muted)}.drawer-actions{display:flex;gap:6px;align-items:flex-start}.drawer-close{width:35px;height:34px;border:1px solid var(--line-dark);background:#fff;font-size:18px}.drawer-tabs{height:45px;border-bottom:1px solid var(--line);display:flex;padding:0 15px}.drawer-tab{border:0;border-bottom:2px solid transparent;background:#fff;padding:0 14px;font-weight:650;color:#566275}.drawer-tab.active{border-bottom-color:var(--primary);color:var(--primary)}.drawer-body{flex:1;overflow:auto;padding:17px 18px}.drawer-section{border:1px solid var(--line);margin-bottom:14px}.drawer-section-title{height:36px;background:#f1f4f7;border-bottom:1px solid var(--line);padding:0 11px;display:flex;align-items:center;justify-content:space-between;font-weight:700}.property-grid{display:grid;grid-template-columns:1fr 1fr}.property{padding:9px 11px;border-bottom:1px solid #e5e8ed;min-width:0}.property:nth-child(odd){border-right:1px solid #e5e8ed}.property.full{grid-column:1/-1;border-right:0}.property-label{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.property-value{display:block;overflow-wrap:anywhere}.description-text{white-space:pre-wrap;line-height:1.55}.contact-list{display:flex;flex-direction:column}.contact-item{min-height:42px;padding:7px 10px;border-bottom:1px solid #e5e8ed;display:flex;align-items:center;justify-content:space-between;gap:10px}.contact-item:last-child{border-bottom:0}.contact-item a{color:#145fb6;text-decoration:none;overflow-wrap:anywhere}.contact-item a:hover{text-decoration:underline}.contact-kind{color:var(--muted);font-size:11px}.note-area{width:100%;min-height:170px;resize:vertical;padding:10px;line-height:1.5}.note-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.note-time{color:var(--muted);font-size:11px}.team-summary{display:grid;grid-template-columns:1fr 1fr}.team-card{padding:11px;border-right:1px solid var(--line)}.team-card:last-child{border-right:0}.team-card strong{display:block;margin-bottom:4px}.user-chips{display:flex;flex-wrap:wrap;gap:4px}.user-chip{padding:2px 6px;background:#edf1f5;border:1px solid #d2d8e1;color:#4f5c6d;font-size:11px}.timeline{padding:4px 11px}.timeline-item{display:grid;grid-template-columns:115px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #e7eaee}.timeline-item:last-child{border-bottom:0}.timeline-time{color:var(--muted);font-size:11px}.all-fields{display:grid;grid-template-columns:180px 1fr}.all-field-label,.all-field-value{padding:7px 9px;border-bottom:1px solid #e6e9ed;overflow-wrap:anywhere}.all-field-label{font-weight:650;background:#fafbfc}.drawer-danger{border-color:#e0a5a5!important;color:#a82424!important}.drawer-loading{padding:80px 20px;text-align:center;color:var(--muted)}
.popover{position:fixed;background:#fff;border:1px solid #aeb7c4;box-shadow:var(--shadow);z-index:100;padding:8px;min-width:255px}.popover-title{font-weight:700;padding:3px 5px 8px;border-bottom:1px solid var(--line);margin-bottom:5px}.column-option{display:flex;align-items:center;gap:8px;padding:5px}.column-option:hover{background:#f1f4f7}.popover-footer{display:flex;justify-content:flex-end;gap:6px;padding-top:8px;border-top:1px solid var(--line);margin-top:5px}.menu-item{display:block;width:100%;border:0;background:#fff;text-align:left;padding:8px 10px}.menu-item:hover{background:#edf1f5}.menu-item.danger{color:var(--danger)}.toast-root{position:fixed;right:15px;bottom:15px;z-index:120;display:flex;flex-direction:column;gap:7px}.toast{min-width:280px;max-width:430px;padding:11px 13px;border:1px solid #9fa9b6;background:#fff;box-shadow:var(--shadow)}.toast.success{border-left:4px solid var(--success)}.toast.error{border-left:4px solid var(--danger)}
body.density-comfortable{--row:48px}.muted{color:var(--muted)}.danger{color:var(--danger)}
@media(max-width:1150px){.stats-grid{grid-template-columns:repeat(3,1fr)}.stat-card:nth-child(3){border-right:0}.advanced-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.workspace{padding:10px}.page-head{display:block}.head-actions{margin-top:10px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card:nth-child(2n){border-right:0}.viewbar{display:block;padding-top:4px}.view-tabs{overflow:auto}.saved-view-box{padding:5px 0}.advanced-filters{grid-template-columns:1fr}.date-range{grid-column:auto}.table-frame{max-height:calc(100vh - 360px)}.company-drawer{width:100%}.property-grid{grid-template-columns:1fr}.property:nth-child(odd){border-right:0}.team-summary{grid-template-columns:1fr}.team-card{border-right:0;border-bottom:1px solid var(--line)}}

/* CRM dialogs */
.crm-dialog-backdrop{position:fixed;inset:0;z-index:200;background:rgba(13,23,40,.48);display:flex;align-items:center;justify-content:center;padding:20px}
.crm-dialog{width:min(430px,calc(100vw - 32px));background:#fff;border:1px solid #9fa9b6;box-shadow:0 18px 50px rgba(13,23,40,.28);color:var(--text)}
.crm-dialog-header{height:46px;padding:0 12px 0 15px;border-bottom:1px solid var(--line);background:#f7f9fb;display:flex;align-items:center;justify-content:space-between;gap:12px}
.crm-dialog-header strong{font-size:14px}
.crm-dialog-close{width:30px;height:30px;border:0;background:transparent;color:#526074;font-size:21px;line-height:1}
.crm-dialog-close:hover{background:#e8edf3;color:#182337}
.crm-dialog-body{padding:17px 15px 16px}
.crm-dialog-message{color:#3f4b5d;line-height:1.55;overflow-wrap:anywhere}
.crm-dialog-input{display:block;width:100%;height:38px;margin-top:10px;padding:0 10px;border:1px solid var(--line-dark);background:#fff}
.crm-dialog-input.invalid{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}
.crm-dialog-footer{min-height:52px;padding:9px 12px;border-top:1px solid var(--line);background:#fafbfc;display:flex;align-items:center;justify-content:flex-end;gap:7px}
.crm-dialog-danger{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}
.crm-dialog-danger:hover{background:#a92d2d!important;border-color:#a92d2d!important}
@media(max-width:520px){.crm-dialog-backdrop{padding:12px}.crm-dialog{width:100%}}

