/* Tom Holding CRM · рабочая версия: вход, сотрудник в боковой панели, статус сохранения */
.lg-wrap { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; background: var(--bg); }
.lg { width: 100%; max-width: 400px; display: flex; flex-direction: column; gap: 14px; padding: 28px; }
.lg-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; }
.lg-brand img { border-radius: 10px; }
.lg-brand b { display: block; font-size: 18px; }
.lg-brand small { display: block; color: var(--mute); font-size: 13px; }
.lg-err { min-height: 20px; color: var(--red); font-size: 14px; }
.lg-go { width: 100%; justify-content: center; }

.me-box { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 14px; border: 1px solid var(--side-line); color: var(--side-ink); }
.me-box b { display: block; font-size: 13px; line-height: 1.2; }
.me-box small { display: block; font-size: 11px; color: var(--side-mute); }
.sync-st { font-size: 11px; color: var(--side-mute); }
.sync-st[data-s="save"] { color: var(--amber); }
.sync-st[data-s="err"] { color: var(--red); }

@media (max-width: 860px) {
  /* на телефоне боковая панель сворачивается: оставляем только кнопку выхода */
  .shell .side-foot { display: flex; flex-direction: row; align-items: center; margin: 0; }
  .shell .side-foot .me-box, .shell .side-foot .sync-st { display: none; }
}

/* фото объектов */
.thumb.has-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.md-g { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; }
.md-t { position: relative; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--bg2); }
.md-t img { width: 100%; height: 100%; object-fit: cover; display: block; }
.md-cover { position: absolute; left: 6px; top: 6px; font-size: 10px; font-weight: 700; color: #fff; background: rgba(11,18,48,.7); padding: 2px 6px; border-radius: 6px; }
.md-a { position: absolute; right: 6px; top: 6px; display: flex; gap: 4px; opacity: 0; transition: opacity .15s; }
.md-t:hover .md-a, .md-t:focus-within .md-a { opacity: 1; }
@media (hover: none) { .md-a { opacity: 1; } }
.md-b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: rgba(255,255,255,.92); color: var(--ink); }
.md-b svg.i { width: 14px; height: 14px; }
.md-up { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; aspect-ratio: 4 / 3; border: 1.5px dashed var(--line); border-radius: 12px; color: var(--ink2); font-size: 12px; text-align: center; cursor: pointer; padding: 6px; }
.md-up:hover { border-color: var(--blue); color: var(--blue); }
.md-up input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.md textarea { width: 100%; resize: vertical; }

/* выбор сделки для цепочки */
.dl-pick { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 12px 4px; border-bottom: 1px solid var(--line2); }
.dl-pick:hover b { color: var(--blue); }
.dl-pick b, .dl-pick .xs { display: block; }

/* перенос базы */
.im-up { aspect-ratio: auto; flex-direction: row; justify-content: flex-start; gap: 12px; padding: 18px; text-align: left; }
.im-help summary { cursor: pointer; color: var(--blue); }
.im-help ul { margin: 8px 0 0; padding-left: 18px; } .im-help li { margin: 4px 0; }
.im-map td { vertical-align: middle; } .im-map select { min-width: 220px; }
.im-ex { max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* каналы и входящие */
.ch-add { text-align: left; cursor: pointer; } .ch-add:hover { border-color: var(--blue); }
.ch-steps { margin: 0 0 12px; padding-left: 18px; } .ch-steps li { margin: 4px 0; }
.ch-code { background: var(--bg2); border-radius: 12px; padding: 12px 14px; font: 12px/1.5 var(--mono); white-space: pre-wrap; overflow-x: auto; margin: 8px 0; }
.ib-rep.in { background: var(--bg2); }

/* ипотека */
.mg-l { display: flex; flex-direction: column; gap: 8px; }
.mg-r { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; }
.mg-r:hover { border-color: var(--blue); }
.mg-pay { padding: 12px 14px; background: var(--bg2); border-radius: 12px; font-size: 14px; }

/* проверка объекта и закон */
.lc-l { display: flex; flex-direction: column; gap: 6px; }
.lc-i { padding: 8px 10px; border: 1px solid var(--line); border-radius: 12px; }
.lc-i.ok { border-color: color-mix(in srgb, var(--green) 40%, var(--line)); } .lc-i.bad { border-color: var(--red); background: var(--red-bg); }
.lc-m { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: var(--bg2); color: var(--mute); flex: none; }
.lc-i.ok .lc-m { background: var(--green-bg); color: var(--green); } .lc-i.bad .lc-m { color: var(--red); background: #fff; }
.lc-m svg.i { width: 14px; height: 14px; }
.lc-b { display: flex; gap: 4px; flex: none; } .lc-b .chip { padding: 3px 9px; font-size: 12px; }
.lc-n { margin: 4px 0 0 32px; }
.lc-docs { display: flex; flex-direction: column; gap: 6px; }
.lc-doc { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink); text-decoration: none; } .lc-doc:hover span:first-of-type { color: var(--blue); }
.lc-up { position: relative; } .lc-up input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.lw-r { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 0; border-top: 1px dashed var(--line2); }
.lw-r:first-of-type { border-top: 0; }

/* площадки */
.fd-ready { margin-top: 10px; display: flex; flex-direction: column; gap: 4px; }
.fd-r { font-size: 13px; }
.fd-u { padding: 12px 0; border-top: 1px dashed var(--line2); }
