:root {
  --crm-primary: #4f46e5;
  --crm-primary-dark: #4338ca;
  --crm-primary-soft: #eef2ff;
  --crm-bg: #f4f5f8;
  --crm-surface: #ffffff;
  --crm-surface-2: #fafafa;
  --crm-border: #e5e7eb;
  --crm-border-strong: #d1d5db;
  --crm-text: #111827;
  --crm-text-2: #6b7280;
  --crm-text-3: #9ca3af;
  --crm-green: #10b981;
  --crm-blue: #3b82f6;
  --crm-violet: #8b5cf6;
  --crm-red: #ef4444;
  --crm-amber: #f59e0b;
  --crm-sidebar: 232px;
  --crm-radius: 10px;
  --crm-shadow: 0 12px 30px rgba(17, 24, 39, 0.08);
  --crm-font: "Golos Text", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body.eight-crm-saas { background: var(--crm-bg); color: var(--crm-text); font-family: var(--crm-font); font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
body.crm-authenticated { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
a { color: inherit; }
.crm-icon { display: block; flex: 0 0 auto; }
.crm-mono, code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-variant-numeric: tabular-nums; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { border-radius: 10px; background: #cfd3da; }

.crm-app, .crm-layout { height: 100vh; min-height: 600px; }
.crm-layout { display: flex; overflow: hidden; background: var(--crm-bg); }
.crm-sidebar { position: relative; z-index: 20; display: flex; width: var(--crm-sidebar); flex: 0 0 var(--crm-sidebar); flex-direction: column; color: #d7d9e7; background: #171824; border-right: 1px solid #252635; transition: width .18s ease, flex-basis .18s ease; }
.crm-sidebar__brand { display: flex; height: 64px; align-items: center; justify-content: space-between; padding: 0 15px 0 18px; border-bottom: 1px solid #292a38; }
.crm-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-size: 18px; letter-spacing: -.02em; }
.crm-brand__mark { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; color: #fff; background: linear-gradient(145deg, #6d63ff, #4338ca); font-weight: 800; box-shadow: inset 0 1px 0 rgba(255,255,255,.25); }
.crm-sidebar__toggle { color: #8e91a7 !important; }
.crm-sidebar .crm-icon-btn:hover { color: #fff; background: #292a38; }
.crm-org-switch { display: flex; min-height: 68px; align-items: center; gap: 9px; padding: 12px 15px; border-bottom: 1px solid #292a38; }
.crm-org-switch > span:nth-child(2), .crm-user > span:nth-child(2) { min-width: 0; flex: 1; }
.crm-org-switch strong, .crm-org-switch small, .crm-user strong, .crm-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-org-switch strong, .crm-user strong { color: #f6f7fb; font-size: 12px; font-weight: 600; }
.crm-org-switch small, .crm-user small { margin-top: 1px; color: #7e8199; font-size: 10px; }
.crm-org-switch > .crm-icon { color: #666a82; transform: rotate(90deg); }
.crm-avatar { display: inline-grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 50%; color: #4338ca; background: #e7e9ff; font-size: 11px; font-weight: 700; }
.crm-avatar--org { border-radius: 9px; color: #e5e7ff; background: #343647; }
.crm-avatar--xs { width: 23px; height: 23px; flex-basis: 23px; font-size: 8px; }
.crm-avatar--xl { width: 52px; height: 52px; flex-basis: 52px; color: #fff; background: var(--avatar-color, var(--crm-primary)); font-size: 16px; }
.crm-nav { flex: 1; padding: 10px 9px; overflow-y: auto; }
.crm-nav__item { display: flex; width: 100%; height: 38px; align-items: center; gap: 11px; margin: 2px 0; padding: 0 11px; border: 0; border-radius: 7px; color: #8f92a8; background: transparent; cursor: pointer; font-size: 12.5px; text-align: left; transition: .12s ease; }
.crm-nav__item:hover { color: #e8e9f1; background: #232431; }
.crm-nav__item.is-active { color: #fff; background: #333047; box-shadow: inset 2px 0 0 #7c73ff; }
.crm-nav__item span { flex: 1; }
.crm-nav__item b { min-width: 20px; padding: 1px 6px; border-radius: 99px; color: #dddfff; background: #4a456c; font-size: 10px; text-align: center; }
.crm-sidebar__footer { padding: 10px; border-top: 1px solid #292a38; }
.crm-user { display: flex; align-items: center; gap: 9px; padding: 6px; }
.crm-user > a { color: #71758c; text-decoration: none; }
.crm-user > a:hover { color: #fff; }
.crm-layout.is-collapsed { --crm-sidebar: 64px; }
.crm-layout.is-collapsed .crm-brand strong, .crm-layout.is-collapsed .crm-org-switch > span:nth-child(2), .crm-layout.is-collapsed .crm-org-switch > .crm-icon, .crm-layout.is-collapsed .crm-nav__item span, .crm-layout.is-collapsed .crm-nav__item b, .crm-layout.is-collapsed .crm-user > span:nth-child(2), .crm-layout.is-collapsed .crm-user > a { display: none; }
.crm-layout.is-collapsed .crm-sidebar__brand { justify-content: center; padding: 0; }
.crm-layout.is-collapsed .crm-sidebar__toggle { display: none; }
.crm-layout.is-collapsed .crm-org-switch, .crm-layout.is-collapsed .crm-user { justify-content: center; padding-inline: 0; }
.crm-layout.is-collapsed .crm-nav { padding-inline: 10px; }
.crm-layout.is-collapsed .crm-nav__item { justify-content: center; padding: 0; }

.crm-workspace { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.crm-topbar { display: flex; height: 64px; flex: 0 0 64px; align-items: center; justify-content: space-between; padding: 0 22px; border-bottom: 1px solid var(--crm-border); background: rgba(255,255,255,.97); }
.crm-topbar__title { display: flex; align-items: center; gap: 10px; }
.crm-topbar__title > div { display: flex; align-items: baseline; gap: 7px; }
.crm-breadcrumb { color: var(--crm-text-3); font-size: 12px; }
.crm-topbar h1 { margin: 0; font-size: 15px; font-weight: 650; }
.crm-topbar__actions { display: flex; align-items: center; gap: 8px; }
.crm-search-trigger { display: flex; width: 220px; height: 32px; align-items: center; gap: 7px; padding: 0 7px 0 10px; border: 1px solid var(--crm-border); border-radius: 7px; color: var(--crm-text-3); background: #f9fafb; cursor: pointer; text-align: left; }
.crm-search-trigger span { flex: 1; }
kbd { padding: 2px 6px; border: 1px solid var(--crm-border); border-bottom-color: var(--crm-border-strong); border-radius: 4px; color: var(--crm-text-2); background: #fff; font: 10px/1.3 var(--crm-font); box-shadow: 0 1px 0 var(--crm-border); }
.crm-icon-btn { position: relative; display: inline-grid; width: 32px; height: 32px; place-items: center; padding: 0; border: 0; border-radius: 7px; color: var(--crm-text-2); background: transparent; cursor: pointer; }
.crm-icon-btn:hover { color: var(--crm-text); background: #f3f4f6; }
.crm-notification-dot { position: absolute; top: 6px; right: 6px; width: 5px; height: 5px; border: 1px solid #fff; border-radius: 50%; background: var(--crm-red); }
.crm-mobile-menu { display: none; }
.crm-btn { display: inline-flex; height: 32px; align-items: center; justify-content: center; gap: 6px; padding: 0 12px; border: 1px solid transparent; border-radius: 7px; cursor: pointer; font-size: 12px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: .12s ease; }
.crm-btn:disabled { cursor: not-allowed; opacity: .55; }
.crm-btn--primary { color: #fff; background: var(--crm-primary); }
.crm-btn--primary:hover:not(:disabled) { background: var(--crm-primary-dark); }
.crm-btn--secondary { border-color: var(--crm-border); color: #374151; background: #fff; }
.crm-btn--secondary:hover { border-color: var(--crm-border-strong); background: #f9fafb; }
.crm-link { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; color: var(--crm-primary); background: none; cursor: pointer; font-size: 11px; font-weight: 600; text-decoration: none; }
.crm-system-banner { display: flex; min-height: 38px; flex: 0 0 auto; align-items: center; gap: 8px; padding: 7px 18px; color: #92400e; background: #fffbeb; border-bottom: 1px solid #fde68a; font-size: 11px; }
.crm-system-banner span { flex: 1; }
.crm-system-banner button, .crm-system-banner a { border: 0; color: #92400e; background: transparent; font-weight: 700; cursor: pointer; text-decoration: underline; }
.crm-content { min-height: 0; flex: 1; overflow: auto; }
.crm-page { min-height: 100%; padding: 24px; }
.crm-page--flush { display: flex; padding: 0; flex-direction: column; overflow: hidden; }
.crm-page--dashboard { max-width: 1500px; margin: 0 auto; }
.crm-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.crm-page-heading h2 { margin: 0; font-size: 21px; line-height: 1.25; letter-spacing: -.025em; }
.crm-page-heading p { margin: 0 0 4px; color: var(--crm-text-2); font-size: 11px; }
.crm-page-heading--compact { align-items: center; }
.crm-page-heading--compact p { margin-top: 3px; margin-bottom: 0; }
.crm-heading-actions { display: flex; gap: 8px; }

.crm-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.crm-kpi { display: flex; min-width: 0; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid var(--crm-border); border-radius: var(--crm-radius); background: var(--crm-surface); }
.crm-kpi__icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 9px; }
.crm-kpi > div { display: grid; grid-template-columns: auto 1fr; min-width: 0; align-items: baseline; column-gap: 8px; }
.crm-kpi p { grid-column: 1 / -1; margin: 0 0 4px; color: var(--crm-text-2); font-size: 11px; }
.crm-kpi strong { font-size: 22px; line-height: 1.2; letter-spacing: -.035em; }
.crm-kpi small { overflow: hidden; color: var(--crm-text-3); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.crm-tone--primary { color: var(--crm-primary); background: #eef2ff; }
.crm-tone--violet { color: var(--crm-violet); background: #f5f3ff; }
.crm-tone--blue { color: var(--crm-blue); background: #eff6ff; }
.crm-tone--green { color: var(--crm-green); background: #ecfdf5; }
.crm-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr); gap: 12px; }
.crm-panel { min-width: 0; border: 1px solid var(--crm-border); border-radius: var(--crm-radius); background: var(--crm-surface); overflow: hidden; }
.crm-panel--full { grid-column: 1 / -1; }
.crm-panel__head { display: flex; min-height: 59px; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; border-bottom: 1px solid #f0f1f3; }
.crm-panel__head h3 { margin: 0; font-size: 13px; }
.crm-panel__head p { margin: 2px 0 0; color: var(--crm-text-3); font-size: 10px; }
.crm-funnel { display: grid; grid-template-columns: repeat(5, minmax(92px, 1fr)); gap: 14px; padding: 18px; }
.crm-funnel button { min-width: 0; padding: 0; border: 0; background: transparent; cursor: pointer; text-align: left; }
.crm-funnel button > span { display: flex; min-width: 0; align-items: center; gap: 6px; color: var(--crm-text-2); font-size: 10px; }
.crm-funnel button > span i { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; }
.crm-funnel button b { display: block; margin: 5px 0 9px; font-size: 19px; }
.crm-funnel em { display: block; height: 4px; border-radius: 4px; background: #f0f1f4; overflow: hidden; }
.crm-funnel em i { display: block; height: 100%; border-radius: inherit; }
.crm-timeline { padding: 6px 0; }
.crm-timeline button { display: grid; width: 100%; grid-template-columns: 42px 8px 1fr; align-items: center; gap: 8px; padding: 8px 14px; border: 0; background: #fff; cursor: pointer; text-align: left; }
.crm-timeline button:hover { background: #fafafa; }
.crm-timeline time { color: var(--crm-text-2); font-size: 10px; font-variant-numeric: tabular-nums; }
.crm-timeline i { width: 7px; height: 7px; border-radius: 50%; background: var(--event-color); box-shadow: 0 0 0 3px color-mix(in srgb, var(--event-color) 12%, #fff); }
.crm-timeline strong, .crm-timeline small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-timeline strong { font-size: 11px; }
.crm-timeline small { color: var(--crm-text-3); font-size: 9px; }
.crm-mini-tasks .crm-task { grid-template-columns: 24px 1fr; padding: 10px 14px; border-bottom: 1px solid #f3f4f6; }
.crm-mini-tasks .crm-task time, .crm-mini-tasks .crm-task .crm-priority { display: none; }

.crm-list-toolbar { display: flex; min-height: 57px; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 16px; border-bottom: 1px solid var(--crm-border); background: #fff; }
.crm-segmented { display: inline-flex; padding: 2px; border: 1px solid var(--crm-border); border-radius: 7px; background: #f8f9fa; }
.crm-segmented button { display: flex; height: 27px; align-items: center; gap: 5px; padding: 0 10px; border: 0; border-radius: 5px; color: var(--crm-text-2); background: transparent; cursor: pointer; font-size: 11px; }
.crm-segmented button.is-active { color: var(--crm-text); background: #fff; box-shadow: 0 1px 3px rgba(17,24,39,.1); }
.crm-filter-row { display: flex; align-items: center; gap: 8px; }
.crm-inline-search { display: flex; width: 240px; height: 32px; align-items: center; gap: 6px; padding: 0 9px; border: 1px solid var(--crm-border); border-radius: 7px; color: var(--crm-text-3); background: #fff; }
.crm-inline-search:focus-within { border-color: var(--crm-primary); box-shadow: 0 0 0 2px rgba(79,70,229,.1); }
.crm-inline-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--crm-text); background: transparent; font-size: 11px; }
select, .crm-form-field input, .crm-form-field textarea { height: 34px; padding: 0 10px; border: 1px solid var(--crm-border); border-radius: 7px; outline: 0; color: var(--crm-text); background: #fff; font-size: 12px; }
select:focus, .crm-form-field input:focus, .crm-form-field textarea:focus { border-color: var(--crm-primary); box-shadow: 0 0 0 2px rgba(79,70,229,.1); }
.crm-result-count { color: var(--crm-text-3); font-size: 10px; }
.crm-list-surface { min-height: 0; flex: 1; overflow: auto; }
.crm-count, .crm-tabs span { display: inline-flex; min-width: 18px; height: 18px; align-items: center; justify-content: center; border-radius: 99px; color: var(--crm-text-2); background: #f1f2f4; font-size: 9px; }
.crm-table-wrap { max-width: 100%; overflow: auto; }
.crm-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.crm-table th { position: sticky; z-index: 3; top: 0; height: 36px; padding: 0 11px; border-bottom: 1px solid var(--crm-border); color: var(--crm-text-3); background: #fafafa; font-size: 9px; font-weight: 650; letter-spacing: .045em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.crm-table td { height: 49px; padding: 6px 11px; border-bottom: 1px solid #f1f2f4; color: #374151; vertical-align: middle; white-space: nowrap; }
.crm-table tbody tr { cursor: pointer; }
.crm-table tbody tr:hover td { background: #fafbfc; }
.crm-table td strong, .crm-table td small { display: block; }
.crm-table td strong { color: #1f2937; font-size: 11px; font-weight: 600; }
.crm-table td small { margin-top: 1px; color: var(--crm-text-3); font-size: 9px; }
.crm-table .crm-check-col { width: 36px; padding-right: 0; }
.crm-table input[type="checkbox"] { accent-color: var(--crm-primary); }
.crm-status { display: inline-flex; height: 21px; align-items: center; gap: 5px; padding: 0 7px; border-radius: 99px; color: color-mix(in srgb, var(--status-color) 82%, #111); background: color-mix(in srgb, var(--status-color) 11%, #fff); font-size: 9px; font-weight: 600; white-space: nowrap; }
.crm-status i { width: 5px; height: 5px; border-radius: 50%; background: var(--status-color); }
.crm-person { display: flex; align-items: center; gap: 8px; }
.crm-person strong { display: inline !important; }

.crm-kanban { display: flex; min-width: max-content; height: 100%; gap: 10px; padding: 12px; }
.crm-kanban__column { width: 270px; flex: 0 0 270px; border: 1px solid var(--crm-border); border-radius: 9px; background: #f8f9fb; overflow: hidden; }
.crm-kanban__column > header { display: flex; height: 41px; align-items: center; justify-content: space-between; padding: 0 11px; border-bottom: 1px solid var(--crm-border); background: #fff; }
.crm-kanban__column > header span { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; }
.crm-kanban__column > header i { width: 7px; height: 7px; border-radius: 50%; }
.crm-kanban__column > header b { display: grid; min-width: 19px; height: 19px; place-items: center; border-radius: 99px; color: var(--crm-text-2); background: #f1f2f4; font-size: 9px; }
.crm-kanban__column > div { max-height: calc(100% - 41px); padding: 8px; overflow: auto; }
.crm-kanban-card { display: block; width: 100%; margin-bottom: 7px; padding: 10px; border: 1px solid var(--crm-border); border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgba(17,24,39,.03); cursor: pointer; text-align: left; }
.crm-kanban-card:hover { border-color: #c7d2fe; box-shadow: 0 4px 12px rgba(79,70,229,.08); }
.crm-kanban-card > span { color: var(--crm-text-3); font-size: 9px; }
.crm-kanban-card > strong, .crm-kanban-card > small { display: block; }
.crm-kanban-card > strong { margin-top: 5px; font-size: 11px; }
.crm-kanban-card > small { margin-top: 2px; color: var(--crm-text-2); font-size: 9px; }
.crm-kanban-card footer { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; padding-top: 8px; border-top: 1px solid #f1f2f4; font-size: 10px; font-weight: 600; }
.crm-kanban-empty { padding: 18px 10px; border: 1px dashed var(--crm-border-strong); border-radius: 7px; color: var(--crm-text-3); font-size: 9px; text-align: center; }

.crm-calendar-nav { display: flex; align-items: center; gap: 5px; }
.crm-calendar-nav > strong { margin-left: 8px; font-size: 12px; text-transform: capitalize; }
.crm-calendar { display: grid; min-width: 960px; grid-template-columns: 54px repeat(7, minmax(110px, 1fr)); min-height: 650px; background: #fff; }
.crm-calendar > aside { display: grid; grid-template-rows: 48px repeat(11, 52px); border-right: 1px solid var(--crm-border); color: var(--crm-text-3); background: #fafafa; }
.crm-calendar > aside time { padding: 5px 7px; border-top: 1px solid #eef0f2; font-size: 9px; text-align: right; }
.crm-calendar > section { min-width: 0; border-right: 1px solid var(--crm-border); }
.crm-calendar > section > header { display: flex; height: 48px; align-items: center; justify-content: center; gap: 5px; border-bottom: 1px solid var(--crm-border); background: #fafafa; }
.crm-calendar > section > header span { color: var(--crm-text-3); font-size: 9px; text-transform: uppercase; }
.crm-calendar > section > header strong { font-size: 12px; }
.crm-calendar > section.is-today > header strong { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #fff; background: var(--crm-primary); }
.crm-calendar__grid { position: relative; height: 572px; background: repeating-linear-gradient(to bottom, transparent 0, transparent 51px, #eef0f2 51px, #eef0f2 52px); }
.crm-calendar-event { position: absolute; z-index: calc(2 + var(--event-index)); top: var(--event-top); right: 4px; left: 4px; min-height: 47px; padding: 5px 6px; border: 0; border-left: 3px solid var(--event-color); border-radius: 5px; color: color-mix(in srgb, var(--event-color) 80%, #111); background: color-mix(in srgb, var(--event-color) 10%, #fff); cursor: pointer; overflow: hidden; text-align: left; }
.crm-calendar-event time, .crm-calendar-event strong, .crm-calendar-event small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-calendar-event time { font-size: 8px; }
.crm-calendar-event strong { font-size: 9px; }
.crm-calendar-event small { opacity: .75; font-size: 8px; }

.crm-task-board { max-width: 1050px; margin: 0 auto; border: 1px solid var(--crm-border); border-radius: var(--crm-radius); background: #fff; overflow: hidden; }
.crm-task-group > header { display: flex; height: 38px; align-items: center; gap: 7px; padding: 0 14px; border-bottom: 1px solid var(--crm-border); color: var(--crm-text-2); background: #fafafa; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.crm-task-group > header b { display: grid; min-width: 18px; height: 18px; place-items: center; border-radius: 99px; background: #eceef1; font-size: 9px; }
.crm-task { display: grid; min-height: 54px; grid-template-columns: 25px minmax(0, 1fr) 155px 72px; align-items: center; gap: 10px; padding: 8px 14px; border-bottom: 1px solid #f1f2f4; }
.crm-task__check { display: grid; width: 18px; height: 18px; place-items: center; padding: 0; border: 1px solid var(--crm-border-strong); border-radius: 5px; color: #fff; background: #fff; cursor: pointer; font-size: 10px; }
.crm-task.is-done .crm-task__check { border-color: var(--crm-green); background: var(--crm-green); }
.crm-task > span:nth-child(2) { min-width: 0; }
.crm-task strong, .crm-task small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-task strong { font-size: 11px; }
.crm-task small { margin-top: 2px; color: var(--crm-text-3); font-size: 9px; }
.crm-task.is-done strong { color: var(--crm-text-3); text-decoration: line-through; }
.crm-task time { display: flex; align-items: center; gap: 5px; color: var(--crm-text-2); font-size: 9px; }
.crm-task time.is-overdue { color: var(--crm-red); }
.crm-priority { display: inline-flex; width: fit-content; height: 20px; align-items: center; padding: 0 7px; border-radius: 99px; color: var(--crm-text-2); background: #f3f4f6; font-size: 8px; }
.crm-priority--high { color: #b91c1c; background: #fef2f2; }
.crm-priority--low { color: #0369a1; background: #f0f9ff; }
.crm-task-group.is-completed { opacity: .76; }

.crm-card-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 12px; }
.crm-service-card { position: relative; padding: 17px; border: 1px solid var(--crm-border); border-radius: var(--crm-radius); background: #fff; overflow: hidden; }
.crm-service-card__color { position: absolute; top: 0; right: 0; left: 0; height: 3px; }
.crm-service-card__head { display: flex; align-items: center; justify-content: space-between; }
.crm-service-card__head > span:first-child { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; }
.crm-service-card h3 { margin: 17px 0 3px; font-size: 14px; }
.crm-service-card p { margin: 0; color: var(--crm-text-2); font-size: 10px; }
.crm-service-card footer { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; padding-top: 12px; border-top: 1px solid #f0f1f3; }
.crm-service-card footer span { display: flex; align-items: center; gap: 5px; color: var(--crm-text-2); font-size: 10px; }
.crm-service-card footer strong { font-size: 11px; }
.crm-employee-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 12px; }
.crm-employee-card { padding: 17px; border: 1px solid var(--crm-border); border-radius: var(--crm-radius); background: #fff; text-align: center; }
.crm-employee-card__top { display: flex; align-items: flex-start; justify-content: space-between; }
.crm-employee-card__top .crm-avatar { margin-left: calc(50% - 26px); }
.crm-employee-card h3 { margin: 11px 0 2px; font-size: 13px; }
.crm-employee-card > p { margin: 0; color: var(--crm-text-2); font-size: 10px; }
.crm-employee-card > div:nth-of-type(2) { display: grid; gap: 5px; margin: 15px 0; padding: 11px; border-radius: 7px; background: #f9fafb; text-align: left; }
.crm-employee-card > div:nth-of-type(2) span { display: flex; align-items: center; gap: 6px; color: var(--crm-text-2); font-size: 9px; }
.crm-employee-card footer { display: flex; justify-content: space-between; }

.crm-analytics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.crm-source-chart { display: grid; gap: 13px; padding: 19px; }
.crm-source-chart > div { display: grid; grid-template-columns: 90px minmax(80px,1fr) 25px; align-items: center; gap: 10px; }
.crm-source-chart span { overflow: hidden; color: var(--crm-text-2); font-size: 10px; text-overflow: ellipsis; }
.crm-source-chart em { height: 7px; border-radius: 6px; background: #eef0f3; overflow: hidden; }
.crm-source-chart em i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4f46e5, #818cf8); }
.crm-source-chart b { font-size: 10px; text-align: right; }
.crm-donut-wrap { display: flex; align-items: center; justify-content: space-around; gap: 20px; padding: 17px; }
.crm-donut { display: grid; width: 125px; height: 125px; flex: 0 0 125px; place-items: center; border-radius: 50%; background: conic-gradient(var(--crm-primary) var(--progress), #eceef2 0); }
.crm-donut::before { content: ""; grid-area: 1/1; width: 87px; height: 87px; border-radius: 50%; background: #fff; }
.crm-donut > span { z-index: 1; grid-area: 1/1; text-align: center; }
.crm-donut b, .crm-donut small { display: block; }
.crm-donut b { font-size: 21px; }
.crm-donut small { color: var(--crm-text-3); font-size: 8px; }
.crm-donut-legend { display: grid; min-width: 145px; gap: 7px; }
.crm-donut-legend span { display: grid; grid-template-columns: 7px 1fr auto; align-items: center; gap: 6px; color: var(--crm-text-2); font-size: 9px; }
.crm-donut-legend i { width: 7px; height: 7px; border-radius: 50%; }
.crm-donut-legend b { color: var(--crm-text); }
.crm-trend { height: 220px; padding: 24px 28px 15px; }
.crm-trend__bars { display: flex; height: 160px; align-items: flex-end; gap: 4%; padding: 0 3%; border-bottom: 1px solid var(--crm-border); background: repeating-linear-gradient(to bottom, #fff 0, #fff 39px, #f2f3f5 39px, #f2f3f5 40px); }
.crm-trend__bars span { position: relative; width: 10%; border-radius: 5px 5px 0 0; background: linear-gradient(180deg, #818cf8, #4f46e5); transition: height .3s ease; }
.crm-trend__bars i { position: absolute; top: -18px; left: 50%; color: var(--crm-text-2); font-size: 9px; font-style: normal; transform: translateX(-50%); }
.crm-trend__labels { display: flex; gap: 4%; padding: 7px 3% 0; }
.crm-trend__labels span { width: 10%; color: var(--crm-text-3); font-size: 8px; text-align: center; text-transform: uppercase; }

.crm-tabs { display: flex; gap: 4px; margin-bottom: 14px; border-bottom: 1px solid var(--crm-border); }
.crm-tabs button { display: flex; height: 38px; align-items: center; gap: 6px; padding: 0 11px; border: 0; border-bottom: 2px solid transparent; color: var(--crm-text-2); background: transparent; cursor: pointer; font-size: 11px; }
.crm-tabs button.is-active { border-bottom-color: var(--crm-primary); color: var(--crm-primary); font-weight: 650; }
.crm-integration-list { display: grid; gap: 8px; }
.crm-integration-list article { display: grid; grid-template-columns: 42px minmax(160px,1fr) auto 150px auto; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid var(--crm-border); border-radius: 9px; background: #fff; }
.crm-integration-logo { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--crm-border); border-radius: 10px; color: var(--crm-primary); background: #f8f9ff; }
.crm-integration-list h3, .crm-catalog-grid h3, .crm-developer-apps h3 { margin: 0; font-size: 12px; }
.crm-integration-list p, .crm-catalog-grid p { margin: 2px 0 0; color: var(--crm-text-2); font-size: 9px; }
.crm-integration-list > article > small { color: var(--crm-text-3); font-size: 9px; }
.crm-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(240px,1fr)); gap: 11px; }
.crm-catalog-grid article { padding: 16px; border: 1px solid var(--crm-border); border-radius: 10px; background: #fff; }
.crm-catalog-grid header, .crm-catalog-grid footer { display: flex; align-items: center; justify-content: space-between; }
.crm-catalog-grid h3 { margin-top: 14px; font-size: 14px; }
.crm-capabilities { display: flex; min-height: 51px; flex-wrap: wrap; align-content: flex-start; gap: 5px; margin: 13px 0; }
.crm-capabilities span, .crm-pill { display: inline-flex; height: 20px; align-items: center; padding: 0 7px; border-radius: 99px; color: #4338ca; background: #eef2ff; font-size: 8px; font-weight: 600; }
.crm-catalog-grid footer { padding-top: 11px; border-top: 1px solid #f0f1f3; color: var(--crm-text-3); font-size: 9px; }
.crm-developer { display: grid; gap: 13px; }
.crm-developer-hero { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid #c7d2fe; border-radius: 10px; background: linear-gradient(120deg, #eef2ff, #fafaff); }
.crm-developer-hero > span { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border-radius: 11px; color: #fff; background: var(--crm-primary); }
.crm-developer-hero > div { flex: 1; }
.crm-developer-hero h2 { margin: 0; font-size: 16px; }
.crm-developer-hero p { max-width: 720px; margin: 3px 0 0; color: var(--crm-text-2); font-size: 10px; }
.crm-developer-apps { display: grid; grid-template-columns: repeat(2, minmax(300px,1fr)); gap: 11px; }
.crm-developer-apps > article { padding: 15px; border: 1px solid var(--crm-border); border-radius: 10px; background: #fff; }
.crm-developer-apps header { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 10px; }
.crm-developer-apps code { color: var(--crm-text-2); font-size: 9px; }
.crm-developer-apps dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin: 14px 0; }
.crm-developer-apps dl div { padding: 8px; border-radius: 6px; background: #f8f9fa; }
.crm-developer-apps dt { color: var(--crm-text-3); font-size: 8px; }
.crm-developer-apps dd { margin: 2px 0 0; font-size: 9px; font-weight: 650; }
.crm-developer-apps footer { display: flex; justify-content: flex-end; gap: 7px; padding-top: 11px; border-top: 1px solid #f0f1f3; }
.crm-validation { margin-top: 9px; padding: 7px 9px; border-radius: 6px; font-size: 9px; }
.crm-validation.is-valid { color: #047857; background: #ecfdf5; }
.crm-validation.is-invalid { color: #b91c1c; background: #fef2f2; }

.crm-settings-layout { display: grid; max-width: 1200px; grid-template-columns: 210px minmax(0,1fr); gap: 15px; margin: 0 auto; }
.crm-settings-layout > aside { display: flex; height: fit-content; flex-direction: column; padding: 9px; border: 1px solid var(--crm-border); border-radius: 9px; background: #fff; }
.crm-settings-layout > aside h3 { margin: 6px 8px 10px; font-size: 12px; }
.crm-settings-layout > aside button { height: 33px; padding: 0 9px; border: 0; border-radius: 6px; color: var(--crm-text-2); background: transparent; cursor: pointer; font-size: 10px; text-align: left; }
.crm-settings-layout > aside button:hover, .crm-settings-layout > aside button.is-active { color: var(--crm-primary); background: var(--crm-primary-soft); }
.crm-settings-content { display: grid; gap: 11px; }
.crm-settings-card { border: 1px solid var(--crm-border); border-radius: 10px; background: #fff; overflow: hidden; }
.crm-settings-card > header { display: flex; align-items: center; justify-content: space-between; padding: 15px 17px; border-bottom: 1px solid #f0f1f3; }
.crm-settings-card h2 { margin: 0; font-size: 14px; }
.crm-settings-card header p { margin: 2px 0 0; color: var(--crm-text-3); font-size: 9px; }
.crm-settings-form { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; padding: 17px; }
.crm-settings-form label span { display: block; margin-bottom: 4px; color: var(--crm-text-2); font-size: 9px; }
.crm-settings-form input { width: 100%; height: 34px; padding: 0 9px; border: 1px solid var(--crm-border); border-radius: 7px; color: #374151; background: #fafafa; font-size: 10px; }
.crm-pipeline-settings { display: flex; align-items: center; gap: 8px; padding: 17px; overflow-x: auto; }
.crm-pipeline-settings > span { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid var(--crm-border); border-radius: 7px; font-size: 9px; }
.crm-pipeline-settings i { width: 7px; height: 7px; border-radius: 50%; }
.crm-pipeline-settings code { color: var(--crm-text-3); font-size: 8px; }
.crm-pipeline-settings .crm-icon { margin-left: 5px; color: var(--crm-text-3); }
.crm-api-endpoint { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 17px 17px 0; padding: 10px 12px; border: 1px solid var(--crm-border); border-radius: 7px; background: #f8f9fa; }
.crm-api-endpoint code { overflow: hidden; font-size: 10px; text-overflow: ellipsis; }
.crm-api-endpoint a { display: flex; align-items: center; gap: 4px; color: var(--crm-primary); font-size: 9px; font-weight: 650; text-decoration: none; }
.crm-settings-notice, .crm-protocol-note { display: flex; align-items: flex-start; gap: 8px; margin: 12px 17px 17px; padding: 10px; border-radius: 7px; color: #4338ca; background: #eef2ff; font-size: 9px; }

.crm-empty { display: flex; min-height: 190px; align-items: center; justify-content: center; flex-direction: column; padding: 25px; text-align: center; }
.crm-empty__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 13px; color: var(--crm-primary); background: var(--crm-primary-soft); }
.crm-empty h3 { margin: 11px 0 3px; font-size: 13px; }
.crm-empty p { max-width: 360px; margin: 0 0 13px; color: var(--crm-text-3); font-size: 10px; }

.crm-overlay { position: fixed; z-index: 1000; inset: 0; display: flex; align-items: flex-start; justify-content: center; padding: 10vh 18px 18px; background: rgba(15,23,42,.48); backdrop-filter: blur(3px); animation: crm-fade .14s ease; }
.crm-command { width: min(620px,100%); border: 1px solid rgba(255,255,255,.45); border-radius: 12px; background: #fff; box-shadow: 0 24px 65px rgba(15,23,42,.28); overflow: hidden; }
.crm-command header { display: flex; height: 52px; align-items: center; gap: 9px; padding: 0 13px; border-bottom: 1px solid var(--crm-border); color: var(--crm-text-3); }
.crm-command header input { min-width: 0; flex: 1; border: 0; outline: 0; font-size: 13px; }
.crm-command > div { max-height: 390px; padding: 6px; overflow-y: auto; }
.crm-command > div button { display: grid; width: 100%; grid-template-columns: 70px 1fr 18px; align-items: center; gap: 8px; padding: 9px; border: 0; border-radius: 7px; background: #fff; cursor: pointer; text-align: left; }
.crm-command > div button:hover { background: #f5f6f8; }
.crm-command__type { color: var(--crm-text-3); font-size: 9px; text-transform: uppercase; }
.crm-command > div strong { font-size: 11px; }
.crm-command > div .crm-icon { color: var(--crm-text-3); }
.crm-command > footer { display: flex; gap: 14px; padding: 8px 13px; border-top: 1px solid var(--crm-border); color: var(--crm-text-3); background: #fafafa; font-size: 8px; }
.crm-command-empty { padding: 30px; color: var(--crm-text-3); text-align: center; }
.crm-modal { width: min(530px,100%); border-radius: 12px; background: #fff; box-shadow: 0 24px 65px rgba(15,23,42,.28); overflow: hidden; }
.crm-modal > header, .crm-drawer > header { display: flex; min-height: 65px; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 17px; border-bottom: 1px solid var(--crm-border); }
.crm-modal h2, .crm-drawer h2 { margin: 1px 0 0; font-size: 16px; }
.crm-eyebrow { color: var(--crm-primary); font-size: 8px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.crm-modal__body { display: grid; max-height: 65vh; gap: 12px; padding: 17px; overflow-y: auto; }
.crm-modal > footer { display: flex; justify-content: flex-end; gap: 7px; padding: 11px 17px; border-top: 1px solid var(--crm-border); background: #fafafa; }
.crm-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.crm-form-field { display: grid; min-width: 0; gap: 4px; color: var(--crm-text-2); font-size: 9px; }
.crm-form-field > span b { color: var(--crm-red); }
.crm-form-field input, .crm-form-field select, .crm-form-field textarea { width: 100%; color: var(--crm-text); }
.crm-form-field textarea { height: 78px; padding-top: 8px; resize: vertical; }
.crm-form-field small { color: var(--crm-text-3); font-size: 8px; }
.crm-protocol-note { margin: 0; }
.crm-drawer-backdrop { position: fixed; z-index: 800; inset: 0; background: rgba(15,23,42,.22); animation: crm-fade .15s ease; }
.crm-drawer { position: fixed; z-index: 810; top: 0; right: 0; bottom: 0; display: flex; width: min(440px,100%); flex-direction: column; background: #fff; box-shadow: -16px 0 40px rgba(15,23,42,.12); animation: crm-slide .18s ease; }
.crm-drawer__body { flex: 1; padding: 17px; overflow-y: auto; }
.crm-drawer-summary { display: flex; align-items: center; gap: 11px; padding-bottom: 15px; border-bottom: 1px solid #f0f1f3; }
.crm-drawer-summary h3 { margin: 0; font-size: 14px; }
.crm-drawer-summary p { margin: 2px 0 0; color: var(--crm-text-2); font-size: 9px; }
.crm-drawer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 13px 0; }
.crm-drawer-grid > div { padding: 10px; border-radius: 7px; background: #f8f9fa; }
.crm-drawer-grid span, .crm-drawer-grid strong { display: block; }
.crm-drawer-grid > div > span { margin-bottom: 3px; color: var(--crm-text-3); font-size: 8px; }
.crm-drawer-grid strong { font-size: 10px; }
.crm-drawer-form { display: grid; gap: 11px; padding: 13px 0; border-top: 1px solid #f0f1f3; }
.crm-drawer-section { margin-top: 14px; padding-top: 13px; border-top: 1px solid #f0f1f3; }
.crm-drawer-section h4 { margin: 0 0 9px; font-size: 11px; }
.crm-drawer-section h4 span { color: var(--crm-text-3); }
.crm-drawer-section p { color: var(--crm-text-3); font-size: 9px; }
.crm-contact-list { display: grid; gap: 6px; padding: 13px 0; }
.crm-contact-list a { display: flex; align-items: center; gap: 7px; color: var(--crm-text-2); font-size: 10px; text-decoration: none; }
.crm-related-app { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 0; border: 0; border-bottom: 1px solid #f3f4f6; background: #fff; cursor: pointer; text-align: left; }
.crm-related-app strong, .crm-related-app small { display: block; }
.crm-related-app strong { font-size: 10px; }
.crm-related-app small { color: var(--crm-text-3); font-size: 8px; }
.crm-toast { position: fixed; z-index: 2000; right: 18px; bottom: 18px; display: flex; max-width: 360px; min-height: 42px; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid #a7f3d0; border-radius: 8px; color: #047857; background: #ecfdf5; box-shadow: var(--crm-shadow); font-size: 10px; font-weight: 600; animation: crm-toast .18s ease; }
.crm-toast.error { border-color: #fecaca; color: #b91c1c; background: #fef2f2; }
@keyframes crm-fade { from { opacity: 0; } }
@keyframes crm-slide { from { transform: translateX(35px); opacity: .7; } }
@keyframes crm-toast { from { transform: translateY(10px); opacity: 0; } }

.crm-boot-skeleton { display: flex; height: 100%; background: #f4f5f8; }
.crm-boot-skeleton aside { width: 232px; background: #191a26; }
.crm-boot-skeleton section { flex: 1; padding: 80px 25px 25px; }
.crm-boot-skeleton section > span { display: block; width: 190px; height: 22px; border-radius: 5px; background: #e4e6ea; }
.crm-boot-skeleton section > div { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin: 20px 0; }
.crm-boot-skeleton i, .crm-boot-skeleton article { display: block; border: 1px solid #e5e7eb; border-radius: 9px; background: linear-gradient(100deg,#fff 20%,#f7f8fa 40%,#fff 60%); background-size: 200% 100%; animation: crm-shimmer 1.3s infinite; }
.crm-boot-skeleton i { height: 92px; }
.crm-boot-skeleton article { height: 350px; }
@keyframes crm-shimmer { to { background-position-x: -200%; } }
.crm-noscript { padding: 30px; text-align: center; }

.crm-login-shell { display: grid; min-height: 100vh; grid-template-columns: minmax(420px,1.15fr) minmax(390px,.85fr); background: #fff; }
.crm-login-brand { position: relative; display: flex; min-height: 100vh; padding: 42px; color: #fff; background: radial-gradient(circle at 80% 10%, rgba(99,102,241,.5), transparent 35%), radial-gradient(circle at 15% 85%, rgba(59,130,246,.25), transparent 30%), #171824; overflow: hidden; }
.crm-login-brand::after { content: ""; position: absolute; right: -160px; bottom: -180px; width: 480px; height: 480px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.018); }
.crm-login-brand__inner { position: relative; z-index: 1; display: flex; width: 100%; max-width: 700px; flex-direction: column; }
.crm-login-copy { margin: auto 0; }
.crm-login-copy .crm-eyebrow { color: #a5b4fc; }
.crm-login-copy h1 { max-width: 620px; margin: 14px 0 17px; font-size: clamp(34px,4.1vw,58px); line-height: 1.04; letter-spacing: -.052em; }
.crm-login-copy p { max-width: 540px; margin: 0; color: #aaadbf; font-size: 15px; }
.crm-login-features { display: flex; flex-wrap: wrap; gap: 8px; }
.crm-login-features span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.11); border-radius: 99px; color: #b9bcce; background: rgba(255,255,255,.04); font-size: 10px; }
.crm-login-form-wrap { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 35px; overflow-y: auto; }
.crm-login-form-card { width: min(390px,100%); padding: 14px 0; }
.crm-login-form-card > .crm-eyebrow { font-size: 9px; }
.crm-login-form-card h2 { margin: 8px 0 5px; font-size: 25px; line-height: 1.2; letter-spacing: -.035em; }
.crm-login-form-card > p { margin: 0 0 25px; color: var(--crm-text-2); font-size: 11px; }
.crm-login-form-card form { display: grid; gap: 14px; }
.crm-login-form-card form > p { margin: 0; }
.crm-login-form-card label { display: grid; gap: 5px; color: var(--crm-text-2); font-size: 10px; }
.crm-login-form-card .input { width: 100%; height: 41px; padding: 0 11px; border: 1px solid var(--crm-border); border-radius: 8px; outline: 0; font-size: 13px; }
.crm-login-form-card .input:focus { border-color: var(--crm-primary); box-shadow: 0 0 0 3px rgba(79,70,229,.11); }
.crm-login-form-card .login-remember label { display: flex; align-items: center; gap: 6px; }
.crm-login-form-card input[type="checkbox"] { accent-color: var(--crm-primary); }
.crm-login-form-card .button-primary { width: 100%; height: 41px; border: 0; border-radius: 8px; color: #fff; background: var(--crm-primary); cursor: pointer; font-size: 12px; font-weight: 650; }
.crm-login-forgot { display: inline-block; margin-top: 14px; color: var(--crm-primary); font-size: 10px; font-weight: 600; text-decoration: none; }
.crm-login-mobile-brand { display: none; align-items: center; gap: 8px; margin-bottom: 28px; }
.crm-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin-bottom: 26px; padding: 3px; border-radius: 9px; background: #f1f2f4; }
.crm-auth-tabs a { display: flex; height: 34px; align-items: center; justify-content: center; border-radius: 7px; color: var(--crm-text-2); font-size: 11px; font-weight: 600; text-decoration: none; }
.crm-auth-tabs a.is-active { color: var(--crm-text); background: #fff; box-shadow: 0 1px 4px rgba(17,24,39,.1); }
.crm-auth-notice { margin: -10px 0 16px; padding: 10px 12px; border: 1px solid #fecaca; border-radius: 8px; color: #991b1b; background: #fef2f2; font-size: 11px; }
.crm-registration-form { grid-template-columns: 1fr 1fr; column-gap: 10px !important; row-gap: 12px !important; }
.crm-registration-form > p:nth-of-type(2), .crm-registration-form > p:nth-of-type(3), .crm-registration-form > p:nth-of-type(6), .crm-registration-form > p:nth-of-type(7) { grid-column: 1 / -1; }
.crm-registration-form small { display: block; margin-top: 4px; color: var(--crm-text-3); font-size: 9px; }
.crm-auth-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.crm-auth-divider { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; color: var(--crm-text-3); font-size: 9px; text-transform: uppercase; }
.crm-auth-divider::before, .crm-auth-divider::after { height: 1px; flex: 1; background: var(--crm-border); content: ""; }
.crm-login-form-card .vm-yandex-id-auth.crm-yandex-auth { --vm-yandex-auth-height: 42px; margin: 12px 0 0; }
.crm-login-form-card .vm-yandex-id-auth.crm-yandex-auth .vm-yandex-id-auth__button { font-size: 12px; }

@media (max-width: 1120px) {
  .crm-kpis { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .crm-card-grid, .crm-employee-grid, .crm-catalog-grid { grid-template-columns: repeat(2,minmax(220px,1fr)); }
  .crm-dashboard-grid { grid-template-columns: minmax(0,1.4fr) minmax(250px,.75fr); }
  .crm-table th:nth-child(6), .crm-table td:nth-child(6) { display: none; }
  .crm-login-shell { grid-template-columns: 1fr 420px; }
}

@media (max-width: 850px) {
  .crm-sidebar { position: fixed; top: 0; bottom: 0; left: 0; width: 232px; flex-basis: 232px; box-shadow: 15px 0 35px rgba(15,23,42,.24); transform: translateX(-102%); }
  .crm-layout.is-collapsed .crm-sidebar { width: 232px; transform: translateX(0); }
  .crm-layout.is-collapsed .crm-brand strong, .crm-layout.is-collapsed .crm-org-switch > span:nth-child(2), .crm-layout.is-collapsed .crm-org-switch > .crm-icon, .crm-layout.is-collapsed .crm-nav__item span, .crm-layout.is-collapsed .crm-nav__item b, .crm-layout.is-collapsed .crm-user > span:nth-child(2), .crm-layout.is-collapsed .crm-user > a, .crm-layout.is-collapsed .crm-sidebar__toggle { display: initial; }
  .crm-layout.is-collapsed .crm-sidebar__brand, .crm-layout.is-collapsed .crm-org-switch, .crm-layout.is-collapsed .crm-user, .crm-layout.is-collapsed .crm-nav__item { justify-content: initial; padding-inline: initial; }
  .crm-layout.is-collapsed .crm-sidebar__brand { justify-content: space-between; padding: 0 15px 0 18px; }
  .crm-layout.is-collapsed .crm-org-switch { padding: 12px 15px; }
  .crm-layout.is-collapsed .crm-user { padding: 6px; }
  .crm-layout.is-collapsed .crm-nav { padding-inline: 9px; }
  .crm-layout.is-collapsed .crm-nav__item { padding: 0 11px; }
  .crm-mobile-menu { display: inline-grid; }
  .crm-breadcrumb { display: none; }
  .crm-search-trigger { width: 36px; justify-content: center; padding: 0; }
  .crm-search-trigger span, .crm-search-trigger kbd { display: none; }
  .crm-dashboard-grid { grid-template-columns: 1fr; }
  .crm-panel--wide { grid-column: 1; }
  .crm-settings-layout { grid-template-columns: 1fr; }
  .crm-settings-layout > aside { display: none; }
  .crm-login-shell { display: block; }
  .crm-login-brand { display: none; }
  .crm-login-form-wrap { min-height: 100vh; }
  .crm-login-mobile-brand { display: flex; }
}

@media (max-width: 640px) {
  .crm-app, .crm-layout { min-height: 100dvh; height: 100dvh; }
  .crm-topbar { height: 58px; flex-basis: 58px; padding: 0 11px; }
  .crm-topbar__actions { gap: 4px; }
  .crm-topbar__actions .crm-btn span { display: none; }
  .crm-page { padding: 15px 11px; }
	.crm-registration-form { grid-template-columns: 1fr; }
	.crm-registration-form > p { grid-column: 1 !important; }
  .crm-page--flush { padding: 0; }
  .crm-page-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .crm-page-heading .crm-btn--secondary { display: none; }
  .crm-kpis { grid-template-columns: 1fr 1fr; gap: 8px; }
  .crm-kpi { gap: 8px; padding: 11px; }
  .crm-kpi__icon { width: 31px; height: 31px; flex-basis: 31px; }
  .crm-kpi strong { font-size: 17px; }
  .crm-kpi small { display: none; }
  .crm-funnel { display: flex; overflow-x: auto; }
  .crm-funnel button { width: 105px; flex: 0 0 105px; }
  .crm-list-toolbar { align-items: stretch; flex-direction: column; gap: 7px; }
  .crm-filter-row { width: 100%; }
  .crm-inline-search { width: auto; min-width: 0; flex: 1; }
  .crm-filter-row .crm-result-count { display: none; }
  .crm-table { min-width: 760px; }
  .crm-kanban__column { width: 245px; flex-basis: 245px; }
  .crm-task { grid-template-columns: 25px 1fr 70px; }
  .crm-task time { display: none; }
  .crm-card-grid, .crm-employee-grid, .crm-catalog-grid, .crm-developer-apps, .crm-analytics-grid { grid-template-columns: 1fr; }
  .crm-panel--full { grid-column: 1; }
  .crm-integration-list article { grid-template-columns: 42px 1fr auto; }
  .crm-integration-list article > small { display: none; }
  .crm-integration-list article > .crm-btn { grid-column: 2 / -1; justify-self: start; }
  .crm-developer-hero { align-items: flex-start; flex-wrap: wrap; }
  .crm-developer-hero > div { min-width: calc(100% - 65px); }
  .crm-developer-hero > .crm-btn { margin-left: 62px; }
  .crm-settings-form, .crm-form-row, .crm-drawer-grid { grid-template-columns: 1fr; }
  .crm-tabs { overflow-x: auto; }
  .crm-tabs button { flex: 0 0 auto; }
  .crm-overlay { padding: 3vh 9px 9px; }
  .crm-modal__body { max-height: 72vh; }
  .crm-login-form-wrap { padding: 25px; }
}
