/* crm-core.css — ~200 строк, только функционал */
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;overflow:hidden;font:14px 'Inter',sans-serif;background:#f5f5f5;color:#222}
#map{width:100%;height:100%}

/* Треугольники */
.tab-trigger{position:absolute;left:0;width:36px;height:80px;background:#0066FF;color:#fff;cursor:pointer;z-index:20;display:flex;align-items:center;justify-content:center;font-size:13px;writing-mode:vertical-rl;border-radius:0 8px 8px 0;box-shadow:2px 0 8px rgba(0,0,0,.15);transition:left .25s}
.tab-trigger--sale{top:60px}
.tab-trigger--rent{top:150px}
.tab-trigger.open{left:340px}

/* Панель */
.panel{position:absolute;top:0;left:-340px;width:340px;height:100%;background:#fff;z-index:15;transition:left .25s;display:flex;flex-direction:column;box-shadow:2px 0 12px rgba(0,0,0,.1)}
.panel.open{left:0}
.panel__header{padding:12px;border-bottom:1px solid #eee;flex-shrink:0}
.panel__search{width:100%;height:34px;border:1px solid #ddd;border-radius:6px;padding:0 8px;font:13px 'Inter',sans-serif;margin-bottom:6px}
.panel__chips{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}
.chip{height:26px;padding:0 8px;border-radius:13px;border:1px solid #ddd;background:#fff;font:11px 'Inter',sans-serif;cursor:pointer;color:#666}
.chip.active{background:#0066FF;color:#fff;border-color:#0066FF}
.panel__select{width:100%;height:34px;border:1px solid #ddd;border-radius:6px;padding:0 8px;font:13px 'Inter',sans-serif;margin-bottom:6px}
.panel__count{font:11px 'Inter',sans-serif;color:#999;padding:4px 0}
.panel__list{flex:1;overflow-y:auto;padding:8px}
.panel__footer{display:flex;gap:6px;padding:8px 12px;border-top:1px solid #eee;flex-shrink:0}
.btn{flex:1;height:34px;border-radius:6px;border:1px solid #ddd;background:#fff;font:13px 'Inter',sans-serif;cursor:pointer}
.btn--primary{background:#0066FF;color:#fff;border-color:#0066FF}
.btn--sm{height:28px;font-size:11px}

/* Карточка */
.card{background:#fff;border:1px solid #eee;border-radius:8px;padding:10px;margin-bottom:6px;cursor:pointer;transition:all .15s}
.card:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}
.card.active{background:#E8F0FE;border-left:3px solid #0066FF}
.card.fresh{background:#ECFDF5}
.card__addr{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card__city{font-size:11px;color:#888;margin-bottom:4px}
.card__row{display:flex;justify-content:space-between;margin-top:4px}
.card__price{font-weight:600}
.card__pb{font-weight:700}
.card__pb.good{color:#10B981}
.card__pb.medium{color:#F59E0B}
.card__pb.bad{color:#EF4444}
.card__pb.archive{color:#9CA3AF}
.tag{display:inline-block;background:#10B981;color:#fff;font:10px 'Inter',sans-serif;padding:1px 6px;border-radius:10px;margin-bottom:4px}

/* Инструменты карты */
.maptools{position:absolute;top:12px;left:12px;display:flex;gap:6px;z-index:10}
.maptools__btn{height:32px;padding:0 12px;border-radius:6px;border:1px solid #ddd;background:#fff;font:12px 'Inter',sans-serif;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.maptools__btn.active{background:#E8F0FE;border-color:#0066FF;color:#0066FF}
.mapsearch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:360px;height:40px;border-radius:6px;border:1px solid #ddd;padding:0 12px;font:14px 'Inter',sans-serif;z-index:10;box-shadow:0 1px 4px rgba(0,0,0,.06)}

/* Меню слоёв */
.layers-menu{display:none;position:absolute;top:50px;left:12px;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px;z-index:25;box-shadow:0 4px 16px rgba(0,0,0,.1);min-width:200px}
.layers-menu.open{display:block}
.layers-menu label{display:flex;align-items:center;gap:6px;padding:4px 0;font:12px 'Inter',sans-serif;cursor:pointer}

/* Паспорт */
.pass{position:absolute;top:12px;right:12px;width:430px;max-height:calc(100% - 24px);overflow-y:auto;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:10;display:none}
.pass.open{display:block}
.pass__hdr{display:flex;justify-content:space-between;padding:16px}
.pass__addr{font-size:20px;font-weight:700}
.pass__sub{font-size:13px;color:#888}
.pass__close{width:28px;height:28px;border-radius:50%;border:none;background:#eee;cursor:pointer;font-size:14px}
.pass__sec{padding:16px;border-top:1px solid #f0f0f0}
.pass__label{font-size:11px;color:#888;text-transform:uppercase;margin-bottom:8px}
.pass__row{display:flex;justify-content:space-between;margin-bottom:4px}
.pass__val{font-weight:700}
.pass__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pass__pb{font-size:22px;font-weight:700;margin-top:12px}
.pass__notes{background:#f8f8f8;border-radius:6px;padding:8px}
.pass__note{font-size:12px;color:#666;padding:2px 0}
.pass__note-date{color:#aaa;margin-right:4px}
.pass__actions{padding:16px;padding-top:0}
.pass__btn{width:100%;height:40px;border-radius:6px;border:1px solid #ddd;background:#f5f5f5;font:14px 'Inter',sans-serif;cursor:pointer}

/* Сети */
.net-item{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:13px}
.net-icon{width:20px;text-align:center}
.net-count{color:#888;margin-left:auto}