/* ============================================================================
   apps-ds v2 — дизайн-система «1в1 как Яндекс.Метрика» (новый интерфейс, 2026)
   Источник значений: main.css Метрики (ui-projects/1.142.0), см. research/css/*.css
   Имена токенов --dc-* / --space-* / --font-size-* оставлены их собственными,
   чтобы любое значение можно было сверить с первоисточником.
   Компоненты — префикс .ds-; в комментарии у каждого — исходный блок Метрики.
   ========================================================================== */

/* ---------- Шрифт: YS Text (тот же, что в Метрике; файлы с yastatic) ------ */
@font-face{font-family:"YS Text";font-style:normal;font-weight:300;font-display:swap;src:url(https://yastatic.net/islands/_/kxV2-EeUdyizF_lxQ-hrmltgp3c.woff2) format("woff2")}
@font-face{font-family:"YS Text";font-style:normal;font-weight:400;font-display:swap;src:url(https://yastatic.net/islands/_/PyVcRbwHetz0gOVWLonWH7Od8zM.woff2) format("woff2")}
@font-face{font-family:"YS Text";font-style:normal;font-weight:500;font-display:swap;src:url(https://yastatic.net/islands/_/7_GKBdKFbUPzKlghJRv55xgz0FQ.woff2) format("woff2")}
@font-face{font-family:"YS Text";font-style:normal;font-weight:700;font-display:swap;src:url(https://yastatic.net/islands/_/6Roy0LCd05cK4nNCipgzheYcNVU.woff2) format("woff2")}

/* ---------- Токены (дословно из :root Метрики) --------------------------- */
:root{
  /* серые — полупрозрачные синеватые, отсюда «живой» серый на любом фоне */
  --dc-color-gray-010:#cad6ee1a; --dc-color-gray-015:#b0bdd626; --dc-color-gray-020:#b0bdd633;
  --dc-color-gray-030:#a5b1ca4d; --dc-color-gray-030-solid:#d9dee9; --dc-color-gray-035:#919ebb59;
  --dc-color-gray-040:#8694b066; --dc-color-gray-050:#475a8080; --dc-color-gray-060:#1a2b4d99;
  --dc-color-gray-070:#1a2b4dba; --dc-color-gray-080:#1e242e; --dc-color-gray-090:#121725;
  --dc-color-gray-120:#eff2f7; --dc-color-gray-200:#f6f8fb; --dc-color-gray-300:#eff2f7; --dc-color-gray-500:#a3acbf;
  --dc-color-white-020:#ffffff33; --dc-color-white-030:#ffffff4d; --dc-color-white-040:#ffffff66;
  --dc-color-white-050:#ffffff80; --dc-color-white-060:#ffffffb3; --dc-color-white-100:#fff;
  --dc-color-strict-white-050:#ffffff80; --dc-color-strict-white-060:#ffffff99; --dc-color-strict-white-075:#ffffffbf; --dc-color-strict-white-100:#fff;
  --dc-color-strict-gray-080:#1e242e; --dc-color-strict-transparent:#ffffff00;
  --dc-color-inverted-gray-050:#a3b8df80; --dc-color-inverted-gray-060:#c8d6f199; --dc-color-inverted-gray-080:#eff2f7; --dc-color-inverted-gray-200:#1f2430;
  --dc-color-purple-010:#7a45e51a; --dc-color-purple-020:#7a45e533; --dc-color-purple-030:#7a45e54d; --dc-color-purple-040:#7a45e566;
  --dc-color-purple-050:#7a45e580; --dc-color-purple-060:#7a45e599; --dc-color-purple-100:#7a45e5; --dc-color-purple-120:#e4dafa; --dc-color-purple-200:#5f36b2;
  --dc-color-violet-020:#685cfc33; --dc-color-violet-100:#685cfc; --dc-color-violet-120:#e1defe; --dc-color-violet-200:#544ad3;
  --dc-color-blue-010:#498bff1a; --dc-color-blue-020:#498bff33; --dc-color-blue-100:#498bff; --dc-color-blue-120:#dbe8ff; --dc-color-blue-200:#307bff; --dc-color-blue-300:#0f66ff;
  --dc-color-green-010:#33b34326; --dc-color-green-020:#33b34340; --dc-color-green-060:#33b343b3; --dc-color-green-100:#33b343; --dc-color-green-120:#ccecd0;
  --dc-color-red-010:#dd00001a; --dc-color-red-020:#dd000033; --dc-color-red-040:#dd000066; --dc-color-red-050:#dd000080; --dc-color-red-060:#dd000099; --dc-color-red-100:#d00; --dc-color-red-120:#f5b2b2;
  --dc-color-orange-100:#ff8200; --dc-color-orange-120:#ffd9b2;
  --dc-color-pink-020:#ff326e33; --dc-color-pink-100:#ff326e; --dc-color-pink-200:#f5004b;
  --dc-color-yellow-010:#ffdd5766; --dc-color-yellow-020:#ffdd578c; --dc-color-yellow-100:#ffdd57; --dc-color-yellow-120:#fff1bc; --dc-color-yellow-200:#ffd21f;
  /* цвета графиков */
  --dc-chart-violet-100:#aa80ff; --dc-chart-violet-200:#7a45e5; --dc-chart-violet-300:#5f36b2;
  --dc-chart-magenta-100:#ff66b2; --dc-chart-magenta-200:#f39;
  --dc-chart-teal-100:#41d9bf; --dc-chart-teal-200:#0fbda0;
  --dc-chart-blue-100:#66b3ff; --dc-chart-blue-200:#38f; --dc-chart-blue-300:#05c;
  --dc-chart-orange-100:#ffb851; --dc-chart-orange-200:#ff9a33;
  --dc-chart-yellow-100:#ffe666; --dc-chart-yellow-200:#fc0;
  --dc-chart-green-100:#7acc29; --dc-chart-green-200:#65b812; --dc-chart-grassy-200:#4d993d;
  --dc-chart-indigo-100:#7673e5; --dc-chart-indigo-200:#4643bf;
  --dc-chart-pink-200:#e5515e; --dc-chart-red-200:#e53c1a; --dc-chart-cornflow-200:#6674ff;
  --dc-chart-gray-100:#e0e6ef; --dc-chart-gray-200:#c2c9d6; --dc-chart-gray-600:#768094;

  /* новый интерфейс: primary — фиолетовый (в легаси-настройках был жёлтый) */
  --primary-color:var(--dc-color-purple-100);
  --primary-color-active:var(--dc-color-purple-200);
  --clr-bg-app:var(--dc-color-gray-300);
  --clr-text-primary:var(--dc-color-gray-080);
  --clr-text-secondary:var(--dc-color-gray-060);

  --shdw-el-focused:0 0 0 2px var(--dc-color-gray-040);
  --shdw-popover:0px 0px 3px var(--dc-color-gray-030),0px 10px 40px var(--dc-color-gray-030);
  --shdw-tooltip:0px 4px 8px var(--dc-color-gray-030),0px 0px 3px var(--dc-color-gray-030);

  --font-size-8:8px;--font-size-10:10px;--font-size-11:11px;--font-size-12:12px;--font-size-14:14px;--font-size-16:16px;
  --font-size-18:18px;--font-size-20:20px;--font-size-24:24px;--font-size-28:28px;--font-size-32:32px;--font-size-40:40px;
  --line-height-12:12px;--line-height-14:14px;--line-height-16:16px;--line-height-18:18px;--line-height-20:20px;--line-height-24:24px;
  --line-height-28:28px;--line-height-32:32px;--line-height-36:36px;--line-height-40:40px;--line-height-44:44px;--line-height-56:56px;--line-height-60:60px;

  --space-2:2px;--space-4:4px;--space-5:5px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;
  --space-18:18px;--space-20:20px;--space-22:22px;--space-24:24px;--space-26:26px;--space-28:28px;--space-30:30px;--space-32:32px;
  --space-36:36px;--space-40:40px;--space-44:44px;--space-48:48px;--space-52:52px;--space-56:56px;--space-60:60px;--space-64:64px;

  --side-bar-width:200px; --side-bar-width-compact:64px;
  --widget-layout-border-radius:20px;
  --ds-font:"YS Text",arial,sans-serif;
}

/* ---------- База --------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--clr-bg-app)}
body{margin:0;font-family:var(--ds-font);font-size:var(--font-size-14);line-height:var(--line-height-20);color:var(--dc-color-gray-080);background:var(--clr-bg-app);-webkit-font-smoothing:antialiased;print-color-adjust:exact}
h1,h2,h3,h4,h5,h6,p,ul,ol,li{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit}
svg{display:block}
.ds-icon{width:16px;height:16px;fill:currentColor;flex-shrink:0}
.ds-icon_s12{width:12px;height:12px}.ds-icon_s20{width:20px;height:20px}.ds-icon_s8{width:8px;height:8px}
.ds-icon_down{transform:rotate(90deg)}.ds-icon_up{transform:rotate(-90deg)}.ds-icon_left{transform:rotate(180deg)}

/* ---------- Типографика (роли, снятые с экранов) ------------------------- */
.ds-page-title{font-size:var(--font-size-28);line-height:var(--line-height-36);font-weight:500}          /* page-title__title, dashboard-settings__title */
.ds-section-title{font-size:var(--font-size-24);line-height:var(--line-height-32);font-weight:500}       /* widget-grid__title, side-modal__title */
.ds-widget-title{font-size:var(--font-size-20);line-height:var(--line-height-28);font-weight:400}        /* widget-layout-header title; modal__modal-title — тот же кегль, но w500 */
.ds-modal-title{font-size:var(--font-size-20);line-height:var(--line-height-28);font-weight:500}
.ds-item-title{font-size:var(--font-size-18);line-height:var(--line-height-24);font-weight:500}          /* goals-list-item-header__name */
.ds-factoid-title{font-size:var(--font-size-16);line-height:var(--line-height-20);font-weight:400}       /* factoid title; counter-goal-form-selected-type__title — w500 */
.ds-text{font-size:var(--font-size-14);line-height:var(--line-height-20)}
.ds-text_medium{font-weight:500}
.ds-text_secondary{color:var(--dc-color-gray-060)}
.ds-text_pale{color:var(--dc-color-gray-050)}
.ds-caption{font-size:var(--font-size-12);line-height:var(--line-height-16)}
.ds-caption_secondary{color:var(--dc-color-gray-060)}
.ds-big-number{font-size:var(--font-size-28);line-height:var(--line-height-32);font-weight:400}          /* factoid value */
.ds-subtitle{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20)} /* widget-grid__subtitle, modal__modal-subtitle */

/* ---------- Ссылка (link) ------------------------------------------------ */
.ds-link{--link-hover-color:var(--dc-color-red-100);border-radius:2px;display:inline-block;max-width:100%;outline:none;text-decoration:none;font-weight:400;cursor:pointer;color:var(--dc-color-blue-100)}
.ds-link:hover{color:var(--link-hover-color)}
.ds-link:focus-visible{box-shadow:var(--shdw-el-focused)}
.ds-link_shade{color:var(--dc-color-gray-060)}
.ds-link_tertiary{color:var(--dc-color-strict-gray-080)}
.ds-link_pale{--link-hover-color:var(--dc-color-gray-080);color:var(--dc-color-gray-050)}
.ds-link_white{--link-hover-color:var(--dc-color-white-060);color:var(--dc-color-white-100);text-decoration:underline}
.ds-link_shade:active,.ds-link:active{color:var(--dc-color-gray-080)}
.ds-link_tertiary:active{color:var(--dc-color-gray-050)}
.ds-link_s12{font-size:var(--font-size-12);line-height:var(--line-height-16)}
.ds-link_s16{font-size:var(--font-size-16);line-height:var(--line-height-24)}
.ds-link_with-icon{display:inline-flex;align-items:center;gap:var(--space-8)}

/* ---------- Кнопка (button) ---------------------------------------------- */
.ds-btn{
  --button-size:36px;--button-border-radius:12px;--button-font-size:var(--font-size-14);--button-line-height:var(--line-height-20);
  --button-pad-v:var(--space-8);--button-pad-h:var(--space-16);--button-pad-h-icon:var(--space-10);--button-icon-pad:var(--space-8);--button-text-pad-b:0px;
  --button-disabled-color:var(--dc-color-gray-050);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);
  min-height:var(--button-size);padding:var(--button-pad-v) var(--button-pad-h);padding-bottom:calc(var(--button-pad-v) + var(--button-text-pad-b));
  border:0;border-radius:var(--button-border-radius);background:transparent;color:var(--dc-color-gray-080);
  font-size:var(--button-font-size);line-height:var(--button-line-height);font-weight:400;white-space:nowrap;text-align:center;
  cursor:pointer;outline:none;user-select:none;text-decoration:none;
  transition:transform .1s ease-out,color .15s linear,background-color .15s linear,box-shadow .15s linear;
}
.ds-btn:focus-visible{box-shadow:var(--shdw-el-focused)}
.ds-btn:active{transform:scale(.96);transition:none}
.ds-btn__text{overflow:hidden;text-overflow:ellipsis}
.ds-btn__prefix{color:var(--dc-color-gray-050)}
.ds-btn__icon{display:flex}
/* иконка слева/справа — меньший боковой отступ у этой стороны */
.ds-btn_icon-left{padding-left:var(--button-pad-h-icon)}
.ds-btn_icon-right{padding-right:var(--button-pad-h-icon)}
.ds-btn_icon{padding:var(--button-icon-pad);min-width:var(--button-size)}
/* размеры */
.ds-btn_s24{--button-size:24px;--button-border-radius:10px;--button-font-size:var(--font-size-12);--button-line-height:var(--line-height-16);--button-pad-v:var(--space-4);--button-pad-h:var(--space-12);--button-pad-h-icon:var(--space-6);--button-icon-pad:var(--space-4)}
.ds-btn_s28{--button-size:28px;--button-border-radius:10px;--button-pad-v:var(--space-4);--button-pad-h:var(--space-12);--button-pad-h-icon:var(--space-8);--button-icon-pad:var(--space-4)}
.ds-btn_s32{--button-size:32px;--button-border-radius:10px;--button-pad-v:var(--space-6);--button-pad-h:var(--space-12);--button-pad-h-icon:var(--space-8);--button-icon-pad:var(--space-8)}
.ds-btn_s44{--button-size:44px;--button-border-radius:14px;--button-line-height:var(--line-height-24);--button-pad-v:10px;--button-pad-h:var(--space-20);--button-pad-h-icon:14px;--button-icon-pad:10px}
.ds-btn_s56{--button-size:56px;--button-border-radius:14px;--button-font-size:var(--font-size-16);--button-line-height:var(--line-height-28);--button-pad-v:13px;--button-pad-h:var(--space-20);--button-pad-h-icon:14px;--button-icon-pad:var(--space-16);--button-text-pad-b:var(--space-2)}
.ds-btn_rounded{--button-border-radius:999px}
.ds-btn_max{width:100%}
/* виды */
.ds-btn_shade{background:var(--dc-color-gray-020);color:var(--dc-color-gray-080)}
.ds-btn_shade:hover,.ds-btn_shade:active{background:var(--dc-color-gray-030)}
.ds-btn_contrast{background:var(--dc-color-white-100);color:var(--dc-color-gray-080)}
.ds-btn_contrast:hover,.ds-btn_contrast:active{background:var(--dc-color-gray-020)}
.ds-btn_primary{background:var(--primary-color);color:var(--dc-color-white-100)}
.ds-btn_primary:hover,.ds-btn_primary:active{background:var(--primary-color-active)}
.ds-btn_promo{background:var(--dc-color-purple-020);color:var(--dc-color-purple-100);font-weight:500}
.ds-btn_promo:hover,.ds-btn_promo:active{background:var(--dc-color-gray-030)}
.ds-btn_contour{box-shadow:inset 0 0 0 1px var(--dc-color-gray-030);color:var(--dc-color-gray-080)}
.ds-btn_contour:hover{box-shadow:inset 0 0 0 1px var(--dc-color-gray-040)}
.ds-btn_contour.ds-btn_placeholder .ds-btn__text{color:var(--dc-color-gray-050)}
.ds-btn_contour.ds-btn_error{box-shadow:inset 0 0 0 1px var(--dc-color-red-060);color:var(--dc-color-red-100)}
.ds-btn_primary-contour{--button-border-radius:10px;box-shadow:inset 0 0 0 1px var(--dc-color-purple-100);color:var(--dc-color-purple-100)}
.ds-btn_primary-contour:hover{box-shadow:inset 0 0 0 1px var(--dc-color-purple-200)}
.ds-btn_transparent-shade{background:transparent;color:var(--dc-color-gray-060)}
.ds-btn_transparent-shade .ds-btn__icon{color:var(--dc-color-gray-050)}
.ds-btn_transparent-shade:hover,.ds-btn_transparent-shade:active{background:var(--dc-color-gray-020)}
.ds-btn_danger{background:var(--dc-color-red-100);color:var(--dc-color-white-100)}
.ds-btn_danger:hover,.ds-btn_danger:active{background:var(--dc-color-red-050)}
.ds-btn:disabled,.ds-btn:disabled:hover,.ds-btn_progress,.ds-btn_progress:hover{background:var(--dc-color-gray-020);box-shadow:none;color:var(--button-disabled-color);cursor:default;transform:none}
.ds-btn:disabled .ds-btn__icon{color:var(--button-disabled-color)}
/* стрелка селекта в кнопке (dropdown__button-anchor-arrow): серая */
.ds-btn__arrow{color:var(--dc-color-gray-050);margin-left:auto}
.ds-btn__arrow .ds-icon{transform:rotate(90deg)}
.ds-btn_open .ds-btn__arrow .ds-icon{transform:rotate(-90deg)}
/* группа кнопок */
.ds-btn-group{display:flex;align-items:center;gap:var(--space-8)}

/* ---------- Сегмент-контрол (radio-button) ------------------------------- */
.ds-seg{
  --radio-button-height:36px;--radio-button-padding:var(--space-2);--radio-button-border-radius:12px;--radio-button-slider-radius:12px;
  --bg-color:var(--dc-color-gray-020);--label-bg-color:var(--dc-color-white-100);--radio-button-color:var(--dc-color-gray-080);--radio-button-font-weight:400;
  display:flex;position:relative;box-sizing:border-box;height:var(--radio-button-height);max-width:100%;padding:var(--radio-button-padding);
  background:var(--bg-color);border-radius:var(--radio-button-border-radius);
}
.ds-seg_s32{--radio-button-height:32px;--radio-button-border-radius:10px;--radio-button-slider-radius:10px}
.ds-seg_s44{--radio-button-height:44px;--radio-button-border-radius:14px;--radio-button-slider-radius:14px}
.ds-seg_contrast{--bg-color:var(--dc-color-white-100);--label-bg-color:var(--dc-color-gray-020)}
.ds-seg__item{
  display:flex;align-items:center;justify-content:center;height:100%;padding:var(--space-8) var(--space-16);
  border:0;background:transparent;border-radius:var(--radio-button-slider-radius);color:var(--radio-button-color);font-weight:var(--radio-button-font-weight);
  font-size:var(--font-size-14);line-height:var(--line-height-20);white-space:nowrap;cursor:pointer;user-select:none;outline:none;
  transition:opacity .1s ease-in-out,box-shadow .2s,background-color .2s;
}
.ds-seg__item:focus-visible{box-shadow:inset var(--shdw-el-focused)}
.ds-seg__item:not(.ds-seg__item_checked):not(:disabled):hover{opacity:.7}
.ds-seg__item_checked{background:var(--label-bg-color);color:var(--dc-color-gray-080)}
.ds-seg__item:disabled{color:var(--dc-color-gray-050);cursor:default}
.ds-seg__item_icon{padding:var(--space-10)}
.ds-seg__item .ds-icon+span{margin-left:var(--space-8)}
/* вкладки (radio-button_view_tabs) — без фона, подчёркивание gray-080 */
.ds-tabs{display:flex;position:relative;gap:var(--space-20)}
.ds-tabs::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--dc-color-gray-030)}
.ds-tabs__item{position:relative;padding:0;border:0;background:none;color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-36);font-weight:500;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:var(--space-8);outline:none}
.ds-tabs__item:not(.ds-tabs__item_checked):hover{opacity:.7}
.ds-tabs__item_checked{color:var(--dc-color-gray-080)}
.ds-tabs__item_checked::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--dc-color-gray-080);border-radius:2px 2px 0 0}
.ds-tabs_s32{gap:var(--space-16)}
.ds-tabs_s32 .ds-tabs__item{line-height:var(--line-height-32);font-weight:400}
.ds-tabs_s32 .ds-tabs__item_checked::after{height:1px;border-radius:0}
.ds-tabs__counter{color:var(--dc-color-gray-050);font-weight:400}

/* ---------- Текстовое поле (text-input) ---------------------------------- */
.ds-input{
  --textinput-height:36px;--textinput-radius:12px;--textinput-side:var(--space-16);--textinput-side-addon:var(--space-8);--textinput-icon-side:var(--space-10);
  --textinput-font:var(--font-size-14);--textinput-lh:var(--line-height-20);
  position:relative;display:flex;width:100%;
}
.ds-input_s32{--textinput-height:32px}
.ds-input_s44{--textinput-height:44px;--textinput-radius:14px;--textinput-side:var(--space-20);--textinput-icon-side:var(--space-14);--textinput-lh:var(--line-height-24)}
.ds-input_s56{--textinput-height:56px;--textinput-radius:14px;--textinput-side:var(--space-20);--textinput-icon-side:var(--space-16);--textinput-font:var(--font-size-16);--textinput-lh:var(--line-height-24)}
.ds-input_s62{--textinput-height:62px;--textinput-radius:16px;--textinput-side:var(--space-24);--textinput-side-addon:var(--space-14);--textinput-icon-side:var(--space-16);--textinput-font:var(--font-size-16);--textinput-lh:var(--line-height-24)}
.ds-input__box{position:absolute;inset:0;border-radius:var(--textinput-radius);border:1px solid var(--dc-color-gray-030);transition:background-color .15s linear,border-color .15s linear;z-index:1;pointer-events:none}
.ds-input__control{
  position:relative;z-index:2;width:100%;margin:0;border:0;background:none;outline:0;color:var(--dc-color-gray-080);
  font-family:inherit;font-size:var(--textinput-font);line-height:var(--textinput-lh);
  padding:calc((var(--textinput-height) - var(--textinput-lh))/2) var(--textinput-side);
}
.ds-input__control::placeholder{color:var(--dc-color-gray-050);opacity:1}
.ds-input__control::-webkit-search-cancel-button,.ds-input__control::-webkit-search-decoration{-webkit-appearance:none;display:none}
.ds-input__icon{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--dc-color-gray-050);height:var(--textinput-lh);padding:calc((var(--textinput-height) - var(--textinput-lh))/2) 0;transition:color .15s linear}
.ds-input__icon_left{margin-left:var(--textinput-icon-side)}
.ds-input__icon_right{margin-right:var(--textinput-icon-side)}
.ds-input__icon_clear{cursor:pointer;border:0;background:none}
.ds-input__icon_clear:hover{color:var(--dc-color-gray-060)}
.ds-input__prefix,.ds-input__suffix,.ds-input__counter{position:relative;z-index:3;color:var(--dc-color-gray-050);font-size:var(--textinput-font);line-height:var(--textinput-lh);padding:calc((var(--textinput-height) - var(--textinput-lh))/2) 0;white-space:pre}
.ds-input__prefix{margin-left:var(--textinput-side)}
.ds-input__suffix{margin-right:var(--textinput-side)}
.ds-input__counter{margin-right:var(--space-12);cursor:default}
.ds-input__icon_left+.ds-input__control,.ds-input__prefix+.ds-input__control{padding-left:var(--textinput-side-addon)}
.ds-input_icon-right .ds-input__control,.ds-input_suffix .ds-input__control,.ds-input_counter .ds-input__control{padding-right:var(--textinput-side-addon)}
.ds-input:hover .ds-input__box{border-color:var(--dc-color-gray-040)}
.ds-input:hover .ds-input__icon:not(.ds-input__icon_clear){color:var(--dc-color-gray-060)}
.ds-input:focus-within .ds-input__box{border-color:var(--dc-color-gray-040);background:var(--dc-color-white-100)}
.ds-input:focus-within .ds-input__icon:not(.ds-input__icon_clear){color:var(--dc-color-gray-060)}
.ds-input_contrast .ds-input__box{background:var(--dc-color-white-100);border-color:var(--dc-color-white-100)}
.ds-input_contrast:hover .ds-input__box,.ds-input_contrast:focus-within .ds-input__box{border-color:var(--dc-color-gray-040)}
.ds-input_clear .ds-input__box{border:0}
.ds-input_borderless .ds-input__box{border:0;border-bottom:1px solid var(--dc-color-gray-030);border-radius:0}
.ds-input_borderless .ds-input__box::after{content:"";position:absolute;left:0;right:0;bottom:-1px;border-bottom:2px solid var(--primary-color-active);transform:scaleX(0);transition:transform .1s cubic-bezier(0,0,.2,1)}
.ds-input_borderless:focus-within .ds-input__box::after{transform:scaleX(1)}
.ds-input_error .ds-input__box,.ds-input_error:hover .ds-input__box,.ds-input_error:focus-within .ds-input__box{border-color:var(--dc-color-red-060)}
.ds-input_disabled .ds-input__box,.ds-input:has(.ds-input__control:disabled) .ds-input__box{background:var(--dc-color-gray-020);border-color:transparent}
.ds-input__control:disabled{color:var(--dc-color-gray-050);cursor:default}
.ds-input__control:disabled::placeholder{color:var(--dc-color-gray-040)}
.ds-input:has(.ds-input__control:disabled) .ds-input__icon{color:var(--dc-color-gray-040)}
.ds-input__error{display:inline-block;color:var(--dc-color-red-100);font-size:var(--textinput-font);line-height:var(--line-height-24);margin-top:var(--space-6)}
textarea.ds-input__control{resize:vertical;min-height:calc(var(--textinput-height) * 2)}

/* ---------- Подпись поля (field-label, field-row) ----------------------- */
.ds-field{width:100%}
.ds-field_gap-16{margin-top:var(--space-16)}
.ds-field_gap-16>:not(:last-child){margin-bottom:var(--space-6)}
.ds-field_gap-24{margin-top:var(--space-24)}
.ds-field_gap-24>:not(:last-child){margin-bottom:var(--space-12)}
.ds-field-label{display:flex;align-items:flex-end;justify-content:space-between;font-size:var(--font-size-14);line-height:var(--line-height-20)}
.ds-field-label_s16{font-size:var(--font-size-16);line-height:var(--line-height-24)}
.ds-field-label_s20{font-size:var(--font-size-20);line-height:var(--line-height-28)}
.ds-field-label__title{display:flex;align-items:center;font-weight:400}
.ds-field-label_medium .ds-field-label__title{font-weight:500}
.ds-field-label__required{color:var(--dc-color-red-100)}
.ds-field-label__hint{display:flex;align-items:center;color:var(--dc-color-gray-050);cursor:pointer;margin-left:var(--space-4)}
.ds-field-label__hint:hover{color:var(--dc-color-gray-080)}
.ds-field-label__description{display:flex;color:var(--dc-color-gray-060)}

/* ---------- Чекбокс / радио (checkbox-radio-base) ------------------------ */
.ds-check{
  --cb-size:20px;--cb-radius:5px;--cb-tick:6px;--cb-font:var(--font-size-14);--cb-lh:var(--line-height-20);
  --cb-checked-bg:var(--primary-color);--cb-checked-bg-hover:var(--primary-color-active);
  display:flex;align-items:center;color:var(--dc-color-gray-080);cursor:pointer;font-size:var(--cb-font);line-height:var(--cb-lh);user-select:none;position:relative;
}
.ds-check_top{align-items:flex-start}
.ds-check_s16{--cb-size:16px;--cb-radius:5px;--cb-font:var(--font-size-12);--cb-lh:var(--line-height-16)}
.ds-check_s24{--cb-size:24px;--cb-radius:7px;--cb-tick:8px;--cb-font:var(--font-size-16);--cb-lh:var(--line-height-24)}
.ds-check_s12{--cb-size:12px;--cb-radius:4px;--cb-tick:4px;--cb-font:var(--font-size-12);--cb-lh:var(--line-height-16)}
.ds-check__input{position:absolute;width:0;height:0;opacity:0}
.ds-check__icon{position:relative;z-index:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--cb-size);height:var(--cb-size);color:var(--dc-color-white-100)}
.ds-check__icon::before{content:"";position:absolute;inset:0;border:1px solid var(--dc-color-gray-030);border-radius:var(--cb-radius);transition:border-color .1s ease-out,background-color .1s;z-index:-1}
.ds-check__icon svg{width:8px;height:6px;fill:none;opacity:0;transform:translateY(-50%);transition:transform .2s,opacity .2s}
.ds-check:hover .ds-check__icon::before{border-color:var(--dc-color-gray-040)}
.ds-check__input:checked~.ds-check__icon::before{background:var(--cb-checked-bg);border-width:0}
.ds-check__input:checked~.ds-check__icon svg{opacity:1;transform:none}
.ds-check:hover .ds-check__input:checked~.ds-check__icon::before{background:var(--cb-checked-bg-hover)}
.ds-check__input:focus-visible~.ds-check__icon::before{box-shadow:var(--shdw-el-focused)}
.ds-check__input:disabled~.ds-check__icon::before{background:var(--dc-color-gray-020);border:0}
.ds-check__input:disabled~.ds-check__icon{color:var(--dc-color-gray-040)}
.ds-check__input:disabled~.ds-check__label{color:var(--dc-color-gray-050)}
.ds-check:has(.ds-check__input:disabled){cursor:default}
.ds-check__label{flex:1;margin-left:var(--space-8);overflow:hidden}
/* цветной чекбокс легенды (checkbox-radio-base_colored) */
.ds-check_colored{--cb-checked-bg:var(--background-color);--cb-checked-bg-hover:var(--background-color)}
.ds-check_colored:hover .ds-check__input:checked~.ds-check__icon::before{filter:brightness(90%)}
/* радио: круг, точка */
.ds-check_radio .ds-check__icon::before{border-radius:50%;transition:border-color .1s ease-out,background-color .2s}
.ds-check_radio .ds-check__icon svg{display:none}
.ds-check_radio .ds-check__icon::after{content:"";width:var(--cb-tick);height:var(--cb-tick);border-radius:50%;background:currentColor;opacity:0;transform:scale(.5);transition:transform .2s,opacity .2s}
.ds-check_radio .ds-check__input:checked~.ds-check__icon::after{opacity:1;transform:none}

/* ---------- Переключатель (switch) --------------------------------------- */
.ds-switch{
  --switch-font-size:14px;--switch-line-height:20px;--switch-icon-height:16px;--switch-icon-width:24px;
  --switch-icon-color:var(--dc-color-gray-030);--switch-icon-hover-color:var(--dc-color-gray-040);--switch-icon-disabled-color:var(--dc-color-gray-015);
  --switch-icon-checked-color:var(--primary-color);--switch-icon-checked-hover-color:var(--primary-color-active);--switch-icon-circle-color:var(--dc-color-white-100);
  display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer;font-size:var(--switch-font-size);line-height:var(--switch-line-height);user-select:none;position:relative;
}
.ds-switch_auto{max-width:max-content}
.ds-switch_s24{--switch-font-size:16px;--switch-line-height:24px;--switch-icon-height:20px;--switch-icon-width:32px}
.ds-switch_s26{--switch-font-size:18px;--switch-line-height:26px;--switch-icon-height:24px;--switch-icon-width:40px}
.ds-switch_s20w{--switch-icon-height:20px;--switch-icon-width:36px}  /* вариант из формы цели: 36×20 при тексте 14/20 */
.ds-switch__input{position:absolute;width:0;height:0;opacity:0}
.ds-switch__label{color:var(--dc-color-gray-080);font-weight:400;overflow-wrap:anywhere}
.ds-switch__label_left{margin-right:var(--space-8)}
.ds-switch__label_right{margin-left:var(--space-8)}
.ds-switch__icon{display:flex;align-items:center;flex:none;position:relative;width:var(--switch-icon-width);height:var(--switch-icon-height);padding:0 var(--space-2);margin:calc((var(--switch-line-height) - var(--switch-icon-height))/2) 0;border-radius:calc(var(--switch-icon-width)/2);background:var(--switch-icon-color);transition:background-color .1s linear}
.ds-switch__circle{--c:calc(var(--switch-icon-width)/2);width:var(--c);height:var(--c);border-radius:50%;background:var(--switch-icon-circle-color);transition:.1s ease-out;transition-property:transform,width}
.ds-switch:hover .ds-switch__icon{background:var(--switch-icon-hover-color)}
.ds-switch__input:checked~.ds-switch__icon{background:var(--switch-icon-checked-color)}
.ds-switch:hover .ds-switch__input:checked~.ds-switch__icon{background:var(--switch-icon-checked-hover-color)}
.ds-switch__input:checked~.ds-switch__icon .ds-switch__circle{transform:translateX(calc(var(--switch-icon-width) - 100%))}
.ds-switch__icon:active .ds-switch__circle{width:calc(var(--c) + 2px)}
.ds-switch__input:focus-visible~.ds-switch__icon{box-shadow:var(--shdw-el-focused)}
.ds-switch__input:disabled~.ds-switch__icon{background:var(--switch-icon-disabled-color)}
.ds-switch__input:disabled~.ds-switch__label{color:var(--dc-color-gray-050)}
.ds-switch:has(.ds-switch__input:disabled){cursor:default}
/* блок «заголовок + описание + свитч» (counter-goal-form-additional-settings) */
.ds-switch-row{display:flex;justify-content:space-between;gap:var(--space-16)}
.ds-switch-row__text{font-size:var(--font-size-14);line-height:var(--line-height-20)}
.ds-switch-row__desc{color:var(--dc-color-gray-060)}

/* ---------- Тег (tag) ----------------------------------------------------- */
.ds-tag{
  --tag-dot-color:var(--dc-color-green-100);--tag-text-color:var(--dc-color-gray-080);--tag-caption-color:var(--dc-color-gray-060);--tag-closer-color:var(--dc-color-gray-050);
  --tag-border-color:transparent;--tag-bg-color:var(--dc-color-gray-020);--tag-radius:12px;--tag-padding:var(--space-8) var(--space-16);--tag-height:36px;--tag-icon-margin:var(--space-8);--tag-icon-side:34px;--tag-pad-icon:var(--space-10);
  --tag-font:var(--font-size-14);--tag-lh:var(--line-height-20);--tag-closer-h:16px;
  position:relative;display:inline-flex;align-items:center;max-width:100%;padding:var(--tag-padding);border-radius:var(--tag-radius);
  background:var(--tag-bg-color);box-shadow:inset 0 0 0 1px var(--tag-border-color);color:var(--tag-text-color);font-size:var(--tag-font);line-height:var(--tag-lh);
  cursor:default;outline:none;transition:background-color .15s linear,box-shadow .15s linear;white-space:nowrap;
}
.ds-tag_s32{--tag-radius:10px;--tag-padding:var(--space-6) var(--space-12);--tag-height:32px;--tag-icon-margin:var(--space-6);--tag-icon-side:32px;--tag-pad-icon:var(--space-8)}
.ds-tag_s20{--tag-radius:8px;--tag-padding:var(--space-4) var(--space-6);--tag-height:20px;--tag-icon-margin:var(--space-2);--tag-icon-side:24px;--tag-pad-icon:var(--space-4);--tag-font:var(--font-size-10);--tag-lh:var(--line-height-12);--tag-closer-h:8px}
.ds-tag__text{overflow:hidden;text-overflow:ellipsis;color:var(--tag-text-color)}
.ds-tag__caption{color:var(--tag-caption-color);margin-left:var(--tag-icon-margin)}
.ds-tag__icon{display:inline-flex;color:var(--tag-text-color);margin-right:var(--tag-icon-margin)}
.ds-tag_with-icon{padding-left:var(--tag-pad-icon)}
.ds-tag_with-dot{padding-left:var(--tag-icon-side)}
.ds-tag_with-dot::before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--tag-dot-color);left:calc((var(--tag-icon-side) - 6px)/2);top:calc((var(--tag-height) - 6px)/2)}
.ds-tag_with-closer{padding-right:var(--tag-icon-side)}
.ds-tag__closer{position:absolute;right:var(--tag-pad-icon);top:calc((var(--tag-height) - var(--tag-closer-h))/2);height:var(--tag-closer-h);color:var(--tag-closer-color);cursor:pointer;border:0;background:none;padding:0;transition:color .15s linear}
.ds-tag__closer .ds-icon{width:var(--tag-closer-h);height:var(--tag-closer-h)}
.ds-tag__closer:hover{color:var(--dc-color-gray-060)}
.ds-tag_clickable{cursor:pointer}
.ds-tag_clickable:focus-visible{box-shadow:var(--shdw-el-focused)}
.ds-tag_contour{--tag-bg-color:var(--dc-color-white-100);--tag-border-color:var(--dc-color-gray-030)}
.ds-tag_pale{--tag-bg-color:var(--dc-color-white-100);--tag-border-color:var(--dc-color-gray-030);--tag-text-color:var(--dc-color-gray-050)}
.ds-tag_clickable.ds-tag_info:hover,.ds-tag_clickable.ds-tag_contour:hover,.ds-tag_clickable.ds-tag_pale:hover{--tag-border-color:transparent;--tag-bg-color:var(--dc-color-gray-030)}
.ds-tag_success{--tag-bg-color:var(--dc-color-green-010);--tag-text-color:var(--dc-color-green-100);--tag-caption-color:var(--dc-color-green-060);--tag-closer-color:var(--dc-color-green-060)}
.ds-tag_clickable.ds-tag_success:hover{--tag-bg-color:var(--dc-color-green-020)}
.ds-tag_warning{--tag-bg-color:var(--dc-color-yellow-010)}
.ds-tag_clickable.ds-tag_warning:hover{--tag-bg-color:var(--dc-color-yellow-020)}
.ds-tag_error{--tag-bg-color:var(--dc-color-red-010);--tag-dot-color:var(--dc-color-red-100);--tag-text-color:var(--dc-color-red-100);--tag-caption-color:var(--dc-color-red-060);--tag-closer-color:var(--dc-color-red-040)}
.ds-tag_clickable.ds-tag_error:hover{--tag-bg-color:var(--dc-color-red-020)}
.ds-tag_dark{--tag-bg-color:var(--dc-color-strict-gray-080);--tag-text-color:var(--dc-color-inverted-gray-080);--tag-caption-color:var(--dc-color-inverted-gray-060);--tag-closer-color:var(--dc-color-inverted-gray-050)}
.ds-tag_clickable.ds-tag_dark:hover{--tag-bg-color:var(--dc-color-inverted-gray-200)}
.ds-tag_disabled{--tag-bg-color:var(--dc-color-gray-020);--tag-text-color:var(--dc-color-gray-050);--tag-dot-color:var(--dc-color-gray-050);--tag-caption-color:var(--dc-color-gray-050);pointer-events:none}
/* тег сегментации «Визиты» / «Люди» (segmentation-section-title) */
.ds-segtag{display:inline-flex;align-items:center;gap:var(--space-8);height:32px;padding:var(--space-6) var(--space-12);border:1px solid var(--dc-color-purple-020);border-radius:12px;color:var(--dc-color-purple-100);font-size:var(--font-size-14);line-height:var(--line-height-20);background:transparent;cursor:pointer}

/* ---------- Метка-бейдж (label) ------------------------------------------ */
.ds-label{
  --label-bg:var(--dc-color-purple-100);--label-color:var(--dc-color-white-100);--label-font:var(--font-size-12);--label-lh:var(--line-height-16);--label-padding:var(--space-2) var(--space-6);--label-radius:8px;
  display:inline-flex;align-items:center;gap:var(--space-4);width:max-content;padding:var(--label-padding);border-radius:var(--label-radius);background:var(--label-bg);color:var(--label-color);
  font-size:var(--label-font);line-height:var(--label-lh);font-weight:500;white-space:nowrap;
}
.ds-label_s16{--label-font:var(--font-size-10);--label-lh:var(--line-height-12);--label-padding:var(--space-2) var(--space-5);--label-radius:6px}
.ds-label_s24{--label-padding:var(--space-4) var(--space-6)}
.ds-label_s32{--label-font:var(--font-size-14);--label-lh:var(--line-height-20);--label-padding:var(--space-6) var(--space-12);--label-radius:12px}
.ds-label_regular{font-weight:400}
.ds-label_circle{--label-radius:50%}
.ds-label_success{--label-bg:var(--dc-color-green-100)}
.ds-label_danger{--label-bg:var(--dc-color-red-100)}
.ds-label_warning{--label-bg:var(--dc-color-orange-100)}
.ds-label_pale{--label-bg:var(--dc-color-gray-060)}
.ds-label_contrast{--label-bg:var(--dc-color-white-100);--label-color:var(--dc-color-red-100)}
.ds-label_invert{--label-bg:var(--dc-color-gray-020);--label-color:var(--dc-color-gray-080)}
.ds-label_shade{--label-bg:var(--dc-color-inverted-gray-080);--label-color:var(--dc-color-gray-060)}
.ds-label_accent{--label-bg:var(--dc-color-purple-020);--label-color:var(--dc-color-purple-100)}
/* «100 %» — плашка сэмплирования: 10/12 w500, r7, p 0 4 */
.ds-label_sampling{--label-font:10px;--label-lh:14px;--label-padding:0 var(--space-4);--label-radius:7px}
/* точка-индикатор (dot-tag) */
.ds-dot{--dot-size:8px;--dot-bg:var(--dc-color-purple-100);--dot-ring:var(--dc-color-purple-020);display:inline-block;width:var(--dot-size);height:var(--dot-size);border-radius:50%;background:var(--dot-bg)}
.ds-dot_s6{--dot-size:6px}
.ds-dot_shadow{box-shadow:0 0 0 var(--space-4) var(--dot-ring);margin:var(--space-4)}
.ds-dot_pale{--dot-bg:var(--dc-color-gray-050);--dot-ring:var(--dc-color-gray-030)}
.ds-dot_green{--dot-bg:var(--dc-color-green-100);--dot-ring:var(--dc-color-green-020)}
.ds-dot_red{--dot-bg:var(--dc-color-red-100);--dot-ring:var(--dc-color-red-020)}

/* ---------- Аватар (user-avatar), аккаунт (user-account) ---------------- */
.ds-avatar{--avatar-size:32px;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;overflow:hidden;background:var(--dc-color-gray-300);color:var(--dc-color-white-100);font-weight:500}
.ds-avatar_s16{--avatar-size:16px;font-size:10px}.ds-avatar_s28{--avatar-size:28px}.ds-avatar_s48{--avatar-size:48px;font-size:20px}
.ds-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.ds-avatar_pale{opacity:.4}
.ds-account{display:flex;align-items:center;cursor:pointer;overflow:hidden}
.ds-account__info{display:flex;flex-direction:column;margin-left:var(--space-6);overflow:hidden}
.ds-account__login{color:var(--dc-color-gray-080);font-size:var(--font-size-14);line-height:var(--line-height-20);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-account__login::first-letter{color:var(--dc-color-red-100)}
.ds-account__name{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-18);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-account:hover .ds-account__login,.ds-account:hover .ds-account__name{opacity:.6}

/* ---------- Попап, меню (popup, dropdown, menu, list-box-item) ----------- */
.ds-popup{position:absolute;z-index:1000;background:var(--dc-color-white-100);border-radius:12px;box-shadow:var(--shdw-popover);opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .1s ease-in,transform .1s ease-in;user-select:none}
.ds-popup_visible,.ds-popup_static{opacity:1;pointer-events:all;transform:none}
.ds-popup_static{position:static;display:inline-block}
.ds-popup_overflow{overflow:auto}
.ds-menu{--menu-icon-color:var(--dc-color-gray-080);padding:var(--space-8) 0;min-width:200px}
.ds-menu__item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-16);cursor:pointer;outline:none;position:relative;color:var(--dc-color-gray-080);font-size:var(--font-size-14);line-height:var(--line-height-20);text-decoration:none;border:0;background:none;width:100%;text-align:left}
.ds-menu__item_s44{padding:var(--space-12) var(--space-20)}
.ds-menu__item:hover{background:var(--dc-color-gray-200)}
.ds-menu__item_active{background:var(--dc-color-gray-020)}
.ds-menu__item_disabled{color:var(--dc-color-gray-050);cursor:default;pointer-events:none}
.ds-menu__item_disabled .ds-menu__subtitle,.ds-menu__item_disabled .ds-menu__icon{color:var(--dc-color-gray-050)}
.ds-menu__left{display:flex;align-items:center;gap:var(--space-8);min-width:0;flex:1}
.ds-menu__icon{display:flex;align-items:center;color:var(--menu-icon-color);min-width:16px;height:20px}
.ds-menu__subtitle{color:var(--dc-color-gray-060);flex-shrink:0;margin-left:var(--space-8)}
.ds-menu__check{color:var(--dc-color-gray-080);opacity:0}
.ds-menu__item_selected .ds-menu__check{opacity:1}
.ds-menu__delimiter{margin-bottom:17px;position:relative}
.ds-menu__delimiter::after{content:"";position:absolute;left:0;width:100%;bottom:-9px;border-top:1px solid var(--dc-color-gray-030);pointer-events:none}
.ds-menu__description{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20);padding:var(--space-8) var(--space-16)}
.ds-menu__title{color:var(--dc-color-gray-060);font-size:14px;line-height:20px;font-weight:500;padding:var(--space-4) var(--space-24);margin-bottom:var(--space-12)}
.ds-menu__search{padding:var(--space-12) var(--space-10) var(--space-12) var(--space-4);border-bottom:1px solid var(--dc-color-gray-020)}
/* text-cell — «заголовок + подзаголовок» внутри пунктов/ячеек */
.ds-text-cell{display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;min-width:0}
.ds-text-cell__title{font-size:var(--font-size-14);line-height:var(--line-height-20);color:var(--dc-color-gray-080);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ds-text-cell__subtitle{font-size:var(--font-size-12);line-height:var(--line-height-16);color:var(--dc-color-gray-060);display:flex;align-items:center;width:100%}
.ds-text-cell_disabled .ds-text-cell__title,.ds-text-cell_disabled .ds-text-cell__subtitle{color:var(--dc-color-gray-050)}
.ds-text-cell_gap{gap:var(--space-2)}
/* обёртка «кнопка + попап» */
.ds-dropdown{position:relative;display:inline-block}
.ds-dropdown .ds-popup{top:calc(100% + 4px);left:0;min-width:100%}
.ds-dropdown_right .ds-popup{left:auto;right:0}
.ds-dropdown_open .ds-popup{opacity:1;pointer-events:all;transform:none}
.ds-dropdown_open .ds-btn__arrow .ds-icon{transform:rotate(-90deg)}

/* ---------- Подсказка (tooltip) ------------------------------------------ */
.ds-tooltip{--tooltip-background:var(--dc-color-strict-gray-080);--tooltip-main-color:var(--dc-color-strict-white-100);--tooltip-additional-color:var(--dc-color-strict-white-060);
  display:inline-flex;background:var(--tooltip-background);color:var(--tooltip-main-color);box-shadow:var(--shdw-popover);border-radius:14px;font-size:var(--font-size-14);line-height:var(--line-height-20);max-width:380px}
.ds-tooltip__content{display:flex;padding:16px 16px;width:100%;overflow:hidden;user-select:text}
.ds-tooltip__text{max-width:320px}
.ds-tooltip_nowrap .ds-tooltip__text{max-width:none;white-space:nowrap}
.ds-tooltip__title{font-weight:400}
.ds-tooltip__description{color:var(--tooltip-additional-color)}
.ds-tooltip_m{font-size:var(--font-size-16);line-height:var(--line-height-24)}
.ds-tooltip_m .ds-tooltip__title{font-weight:500}
.ds-tooltip__close{height:16px;margin:3px -6px 0 10px;color:var(--tooltip-additional-color);cursor:pointer;border:0;background:none;padding:0}
.ds-tooltip__close:hover{color:var(--tooltip-main-color)}
.ds-tooltip_white{--tooltip-background:var(--dc-color-white-100);--tooltip-main-color:var(--dc-color-gray-080);--tooltip-additional-color:var(--dc-color-gray-060)}
.ds-tooltip_gray{--tooltip-background:var(--dc-color-gray-300);--tooltip-main-color:var(--dc-color-gray-080);--tooltip-additional-color:var(--dc-color-gray-060)}
.ds-tooltip_red{--tooltip-background:var(--dc-color-red-100)}
.ds-tooltip_primary{--tooltip-background:var(--primary-color)}
.ds-tooltip_hint{padding:0}.ds-tooltip_hint .ds-tooltip__content{padding:var(--space-12) var(--space-14)}  /* hint-icon__tooltip-content */
/* иконка-подсказка ⓘ / ? (hint-icon) + всплывание по hover */
.ds-hint{position:relative;display:inline-flex;align-items:center;color:var(--dc-color-gray-050);cursor:pointer;vertical-align:middle}
.ds-hint:hover{color:var(--dc-color-gray-080)}
.ds-hint .ds-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(5px);opacity:0;pointer-events:none;transition:opacity .1s ease-in,transform .1s ease-in;z-index:1000;white-space:normal;width:max-content;max-width:380px}
.ds-hint:hover .ds-tooltip{opacity:1;transform:translateX(-50%)}

/* ---------- Модалка (modal) и боковая модалка (side-modal/drawer) -------- */
.ds-overlay{position:fixed;inset:0;display:flex;justify-content:center;align-items:flex-start;padding:60px 0;overflow:auto;z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s ease-in-out}
.ds-overlay::before{content:"";position:fixed;inset:0;background:var(--dc-color-gray-060);transition:opacity .3s ease-in-out}
.ds-overlay_blur::before{backdrop-filter:blur(8px)}
.ds-overlay_visible{opacity:1;pointer-events:auto}
.ds-modal{position:relative;margin:auto 0;background:var(--dc-color-white-100);border-radius:20px;animation:modal-hide .3s ease-in-out;width:560px;max-width:calc(100vw - 32px)}
.ds-overlay_visible .ds-modal{animation:modal-show .3s ease-in-out}
.ds-modal__content{padding:var(--space-28) var(--space-36);border-radius:inherit}
.ds-modal__title{font-size:var(--font-size-20);line-height:var(--line-height-28);font-weight:500;overflow:hidden;text-overflow:ellipsis}
.ds-modal__subtitle{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20);margin-top:var(--space-4)}
.ds-modal__body{margin-top:var(--space-16)}
.ds-modal__footer{display:flex;gap:var(--space-8);margin-top:var(--space-24)}
.ds-modal__cross{position:absolute;top:var(--space-20);right:var(--space-20);display:flex;color:var(--dc-color-gray-060);cursor:pointer;border:0;background:none;padding:0}
.ds-modal__cross:hover{color:var(--dc-color-strict-gray-080)}
@keyframes modal-show{0%{opacity:0;transform:translate3d(0,-10px,0) scale(.9)}to{opacity:1;transform:translateZ(0) scale(1)}}
@keyframes modal-hide{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(0,40px,0) scale(.9)}}
/* боковая (drawer): белая панель 680 справа, «стрелка-закрыть» слева от панели */
.ds-drawer-overlay{position:fixed;inset:0;background:var(--dc-color-gray-060);z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s}
.ds-drawer-overlay_visible{opacity:1;pointer-events:auto}
.ds-drawer{position:fixed;top:0;right:0;bottom:0;width:680px;max-width:100vw;background:var(--dc-color-white-100);display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .3s ease-in-out,visibility 0s .3s;z-index:2001}
.ds-drawer_visible{transform:none;visibility:visible;transition:transform .3s ease-in-out}
.ds-drawer__close{position:absolute;top:20px;left:-16px;transform:translateX(-50%);z-index:1}
.ds-drawer__close .ds-btn{background:var(--dc-color-white-100);box-shadow:var(--shdw-popover);--button-border-radius:16px}
.ds-drawer__close .ds-btn:hover{background:var(--dc-color-gray-200)}
.ds-drawer__header{padding:var(--space-28) var(--space-36) 0;font-size:var(--font-size-24);line-height:var(--line-height-32);font-weight:500}
.ds-drawer__header_lined{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-20) var(--space-32);position:relative}
.ds-drawer__header_lined::after{content:"";position:absolute;left:0;bottom:0;width:100%;border-bottom:1px solid var(--dc-color-gray-030)}
.ds-drawer__subtitle{display:flex;align-items:center;gap:var(--space-12);color:var(--dc-color-gray-060);font-size:var(--font-size-14);font-weight:400;line-height:var(--line-height-20)}
.ds-drawer__content{flex:1;overflow:auto;overscroll-behavior:contain;padding:var(--space-16) var(--space-36) var(--space-24)}
.ds-drawer__footer{display:flex;gap:var(--space-16);padding:0 var(--space-36) var(--space-36)}
/* «выбранный тип» в форме (counter-goal-form-selected-type) */
.ds-selected-type{display:flex;align-items:center;gap:var(--space-8);height:44px;padding:var(--space-12) var(--space-14);border-radius:14px;background:var(--dc-color-gray-200);font-size:var(--font-size-16);line-height:var(--line-height-20);font-weight:500}
/* раскрывашка «Дополнительные настройки» */
.ds-expander{display:inline-flex;align-items:center;gap:var(--space-8);font-size:var(--font-size-14);line-height:var(--line-height-20);font-weight:500;cursor:pointer;border:0;background:none;padding:0;color:var(--dc-color-gray-080)}
.ds-expander .ds-icon{transform:rotate(90deg);transition:transform .2s}
.ds-expander_open .ds-icon{transform:rotate(-90deg)}

/* ---------- Оповещения (alert, toast) ------------------------------------ */
.ds-alert{--alert-min-height:56px;--alert-controls-height:36px;--alert-title-lh:var(--line-height-20);--alert-icon-color:var(--dc-color-gray-060);
  display:flex;justify-content:space-between;align-items:flex-start;padding:0 var(--space-16);min-height:var(--alert-min-height);border-radius:14px;background:var(--dc-color-gray-300);color:var(--dc-color-gray-080)}
.ds-alert_s48{--alert-min-height:48px;--alert-controls-height:32px}
.ds-alert__icon,.ds-alert__close,.ds-alert__text{padding:calc((var(--alert-min-height) - var(--alert-title-lh))/2) 0}
.ds-alert__icon{display:flex;align-items:center;height:calc(var(--alert-title-lh) + (var(--alert-min-height) - var(--alert-title-lh)));color:var(--alert-icon-color);margin-right:var(--space-8)}
.ds-alert__text{flex:1;min-width:0}
.ds-alert__title{font-size:var(--font-size-14);line-height:var(--alert-title-lh);overflow:hidden;text-overflow:ellipsis}
.ds-alert__description{color:var(--dc-color-gray-060);font-size:var(--font-size-12);line-height:var(--line-height-16);margin-top:3px}
.ds-alert__controls{display:flex;gap:var(--space-8);margin-left:var(--space-12);padding:calc((var(--alert-min-height) - var(--alert-controls-height))/2) 0}
.ds-alert__close{display:flex;align-items:center;margin-left:var(--space-8);color:var(--dc-color-gray-050);cursor:pointer;border:0;background:none}
.ds-alert__close:hover{color:var(--dc-color-gray-080)}
.ds-alert_white{background:var(--dc-color-white-100)}
.ds-alert_warning{background:var(--dc-color-yellow-010);--alert-icon-color:var(--dc-color-orange-100)}
.ds-alert_error{background:var(--dc-color-red-010);--alert-icon-color:var(--dc-color-red-100)}
.ds-alert_success{background:var(--dc-color-green-010);--alert-icon-color:var(--dc-color-green-100)}
.ds-alert_promo{background:var(--dc-color-purple-010);--alert-icon-color:var(--dc-color-purple-100)}
.ds-alert_square{border-radius:0}
.ds-toast{display:inline-flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);border-radius:14px;box-shadow:var(--shdw-popover);background:var(--dc-color-strict-gray-080);color:var(--dc-color-inverted-gray-080);font-size:var(--font-size-14);line-height:var(--line-height-20);overflow:hidden}
.ds-toast_white{background:var(--dc-color-white-100);color:var(--dc-color-gray-080)}
.ds-toast_gray{background:var(--dc-color-gray-300);color:var(--dc-color-gray-080)}
.ds-toast_red{background:var(--dc-color-red-100);color:var(--dc-color-strict-white-100)}
.ds-toast .ds-link{color:inherit;text-decoration:underline}

/* ---------- Каркас: экран, шапка, сайдбар (screen, header-layout, side-bar, navigation) */
.ds-app{display:flex;flex-direction:column;min-height:100vh;background:var(--clr-bg-app)}
.ds-header{display:flex;align-items:center;height:68px;padding:0 var(--space-16) 0 var(--space-20);gap:var(--space-12)}
.ds-header__content{display:flex;align-items:center;flex-grow:1;justify-content:space-between;min-width:0}
.ds-header__section{display:flex;align-items:center;gap:var(--space-12)}
.ds-header__right{display:flex;align-items:center;margin-left:var(--space-12)}
.ds-header__right>:not(:first-child){margin-left:var(--space-4)}
.ds-header__settings-link{margin:0 var(--space-16);white-space:nowrap}
.ds-logo{display:flex;align-items:center;gap:var(--space-8);text-decoration:none;color:var(--dc-color-gray-080);font-size:28px;line-height:32px;font-weight:700;letter-spacing:-.01em;width:calc(var(--side-bar-width) - 20px - var(--space-12));flex-shrink:0}
.ds-logo__mark{width:32px;height:32px;border-radius:50%;background:conic-gradient(from 200deg,#ffea1a,#ffb800 30%,#ff002e 55%,#1e8aff 80%,#4643b9)}
/* выбор счётчика/объекта (counter-select-common) */
.ds-object-select{display:flex;align-items:center;height:36px;max-width:100%;border-radius:12px;background:var(--dc-color-gray-020);color:var(--dc-color-gray-080);font-size:var(--font-size-14);line-height:var(--line-height-20);white-space:nowrap;cursor:pointer;outline:none}
.ds-object-select:focus-visible{box-shadow:var(--shdw-el-focused)}
.ds-object-select__main{display:flex;align-items:center;min-width:160px;max-width:240px;padding:var(--space-8) var(--space-10);border-radius:12px;background:var(--dc-color-white-100);transition:transform .1s ease-out}
.ds-object-select__main:active{transform:scale(.96);transition:none}
.ds-object-select__main_short{min-width:100px}
.ds-object-select__icon{width:16px;height:16px;border-radius:5px;flex-shrink:0}
.ds-object-select__title{flex:1 0 0;margin-left:var(--space-8);overflow:hidden;text-overflow:ellipsis}
.ds-object-select__arrow{color:var(--dc-color-gray-050);margin-left:var(--space-8);flex-shrink:0}
.ds-object-select__arrow .ds-icon{transform:rotate(90deg)}
.ds-object-select__aside{display:flex;align-items:center;max-width:360px;overflow:hidden;padding:var(--space-8) var(--space-16) var(--space-8) var(--space-10)}
.ds-object-select__site{color:var(--dc-color-gray-060);overflow:hidden;text-overflow:ellipsis}
.ds-object-select__site::after{content:"•";color:var(--dc-color-gray-080);padding-left:var(--space-8)}
.ds-object-select__id{margin-left:var(--space-8);user-select:text}
/* тело: сайдбар + контент */
.ds-main{display:flex;flex:1}
.ds-sidebar{display:flex;flex-direction:column;justify-content:space-between;width:var(--side-bar-width);flex-shrink:0;position:relative;user-select:none;transition:width .2s}
.ds-sidebar_compact{width:var(--side-bar-width-compact)}
.ds-sidebar__content{position:sticky;top:0;max-height:100vh;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(20px + var(--space-16)*2);margin-bottom:var(--space-8);scrollbar-width:none}
.ds-sidebar__bottom{position:sticky;bottom:0;overflow:hidden;background:linear-gradient(180deg,rgba(239,242,247,0),var(--clr-bg-app) 50%)}
.ds-sidebar__toggle{display:flex;align-items:center;padding:var(--space-16) var(--space-24);color:var(--dc-color-gray-060);cursor:pointer;overflow:hidden;border:0;background:none;width:100%}
.ds-sidebar__toggle:hover{color:var(--dc-color-gray-080)}
.ds-sidebar__toggle-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px}
.ds-sidebar__toggle-text{font-size:var(--font-size-14);line-height:20px;font-weight:500;margin-left:var(--space-12);transition:opacity .2s .1s}
.ds-sidebar_compact .ds-sidebar__toggle-text,.ds-sidebar_compact .ds-nav__title{opacity:0}
.ds-nav__group{margin-top:var(--space-16)}
.ds-nav__group:first-child{margin-top:0}
.ds-nav__item{margin:0 var(--space-12)}
.ds-nav__link{display:flex;align-items:flex-start;padding:var(--space-8) var(--space-12);border-radius:12px;color:var(--dc-color-gray-060);cursor:pointer;text-decoration:none;--menu-item-lh:20px}
.ds-nav__link:hover,.ds-nav__link_highlighted{background:var(--dc-color-gray-020);color:var(--dc-color-gray-060)}
.ds-nav__link_selected,.ds-nav__link_selected:hover{background:var(--dc-color-white-100);color:var(--dc-color-gray-080)}
.ds-nav__link_promo,.ds-nav__link_promo:hover{background:linear-gradient(95deg,#a04fd7,#5f36b2 96.61%);color:var(--dc-color-white-100)}
.ds-nav__icon{display:flex;margin:var(--space-2) var(--space-12) var(--space-2) 0}
.ds-nav__text{display:flex;flex-direction:column;flex:1;overflow:hidden}
.ds-nav__title{font-size:var(--font-size-14);line-height:var(--menu-item-lh);font-weight:500;white-space:nowrap;transition:opacity .2s .1s}
.ds-nav__description{font-size:var(--font-size-12);line-height:var(--line-height-16);white-space:nowrap}
.ds-nav__tag{margin:var(--space-2) 0 var(--space-2) var(--space-12);display:flex;align-items:center}
/* контент: при 1470 ширина 1234 → поля 16 справа; без max-width */
.ds-body{flex:1;min-width:0;padding:0 var(--space-36) var(--space-16) 0;display:flex;flex-direction:column}
.ds-body_no-sidebar{padding-left:var(--space-16)}
.ds-footer{display:flex;gap:var(--space-16);padding:var(--space-24) 0;color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20)}

/* ---------- Шапка страницы с контролами (dashboard-settings, page-title) - */
.ds-page-head{background:var(--dc-color-white-100);border-radius:20px;padding:var(--space-24) var(--space-36);transition:border-radius .2s ease-in}
.ds-page-head_l{padding:var(--space-28) var(--space-36)}
.ds-page-head_m{padding:var(--space-20) var(--space-24)}
.ds-page-head_sticky{position:sticky;top:0;z-index:10;border-radius:0;box-shadow:0 1px 0 var(--dc-color-gray-030);padding-bottom:var(--space-8)}
.ds-page-head__info{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-16)}
.ds-page-head__title-wrap{display:flex;align-items:center;flex:1;min-width:0;margin-right:var(--space-8);gap:var(--space-8)}
.ds-page-head__title{font-size:var(--font-size-28);line-height:var(--line-height-36);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ds-page-head__title_editable{padding:0 var(--space-12);margin-left:calc(var(--space-12)*-1);border-radius:12px;cursor:text}
.ds-page-head__title_editable:hover{background:var(--dc-color-gray-020)}
.ds-page-head__back{color:var(--dc-color-gray-050);cursor:pointer;display:flex}
.ds-page-head__back:hover{color:var(--dc-color-gray-080)}
.ds-page-head__meta{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20);white-space:nowrap}
.ds-page-head__actions{display:flex;align-items:center;gap:var(--space-8)}
.ds-page-head__controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.ds-page-head__group{display:flex;align-items:center;gap:var(--space-8)}
.ds-page-head__row{display:flex;align-items:center;gap:var(--space-8);margin-top:var(--space-16)}
.ds-page-head__row_filters{margin-top:var(--space-16)}
/* вкладки в шапке страницы (entity-header-layout_with-tabs) */
.ds-page-head_with-tabs{padding-bottom:0}
.ds-page-head_with-tabs .ds-tabs{margin-top:var(--space-12)}
/* выбор периода: сегмент + кнопка-дата внутри одного трека */
.ds-period{display:flex;align-items:center;gap:var(--space-8)}
.ds-period__exact{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-10) var(--space-8) var(--space-16);height:32px;border-radius:12px;cursor:pointer;font-size:var(--font-size-14);line-height:var(--line-height-20);color:var(--dc-color-gray-080)}
.ds-period__exact:hover{opacity:.7}
.ds-period__exact .ds-icon{color:var(--dc-color-gray-050);transform:rotate(90deg)}
/* фильтр-кнопка «Ключ • Значение ⌄» (report-attribute-select) */
.ds-filter-btn .ds-btn__prefix{color:var(--dc-color-gray-080)}
.ds-filter-btn .ds-btn__prefix::after{content:"•";padding:0 var(--space-4) 0 var(--space-6);color:var(--dc-color-gray-080)}
.ds-filter-btn_empty .ds-btn__prefix,.ds-filter-btn_empty .ds-btn__prefix::after{color:var(--dc-color-gray-050)}
.ds-filter-btn_empty .ds-btn__text{color:var(--dc-color-gray-050)}

/* ---------- Сетка виджетов и карточки (widget-grid, widget-layout, factoid) */
.ds-grid{--widget-grid-gap:var(--space-16);display:flex;flex-direction:column;gap:var(--widget-grid-gap);margin-top:var(--widget-grid-gap)}
.ds-grid_m{--widget-grid-gap:var(--space-12)}
.ds-grid__header{display:flex;flex-direction:column;gap:var(--space-6);max-width:960px;padding:var(--widget-grid-gap) var(--space-12) calc(var(--widget-grid-gap)/2) var(--space-4)}
.ds-grid__title{font-size:var(--font-size-24);line-height:var(--line-height-32);font-weight:500;color:var(--dc-color-gray-080);word-break:break-word}
.ds-grid_m .ds-grid__title{font-size:var(--font-size-20)}
.ds-grid__subtitle{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20);white-space:pre-wrap}
.ds-grid__row{display:flex;flex-wrap:wrap;gap:var(--widget-grid-gap)}
.ds-grid__item{flex:1 1 0;min-width:0;position:relative}
.ds-grid__item_l{flex-basis:calc(50% - var(--widget-grid-gap)/2)}
.ds-grid__item_m{flex-basis:calc(33.3333% - var(--widget-grid-gap)*2/3)}
.ds-grid__item_s{flex-basis:calc(16.6667% - var(--widget-grid-gap)*5/6)}
.ds-grid__item_full{flex-basis:100%}
.ds-grid__item>.ds-widget,.ds-grid__item>.ds-factoid{height:100%}
.ds-grid__item_focused::after{content:"";position:absolute;inset:0;border:2px solid var(--dc-color-purple-100);border-radius:var(--widget-layout-border-radius);pointer-events:none}
@media (min-width:1420px){.ds-grid__item_l{flex-basis:calc(33.3333% - var(--widget-grid-gap)*2/3)}}
/* карточка-виджет */
.ds-widget{--pad-h:var(--space-36);--pad-v:var(--space-28);--gap:var(--space-20);display:flex;flex-direction:column;background:var(--dc-color-white-100);border-radius:var(--widget-layout-border-radius);padding:var(--pad-v) var(--pad-h);overflow:hidden}
.ds-widget_m{--pad-h:var(--space-24);--pad-v:var(--space-20);--gap:var(--space-12)}
.ds-widget_no-pad-x{padding-left:0;padding-right:0}
.ds-widget__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-8)}
.ds-widget__title{font-size:var(--font-size-20);line-height:var(--line-height-28);font-weight:400;color:var(--dc-color-gray-080);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
a.ds-widget__title:hover{color:var(--dc-color-red-100)}
.ds-widget__subtitle{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20)}
.ds-widget__controls{display:flex;align-items:center;gap:var(--space-12);flex-shrink:0}
.ds-widget__chart,.ds-widget__summary,.ds-widget__legend,.ds-widget__footer,.ds-widget__table{margin-top:var(--gap)}
.ds-widget__chart{height:220px;flex-shrink:0;display:flex;flex-direction:column}
.ds-widget__chart:not(:empty)+.ds-widget__legend{margin-top:var(--space-24)}
.ds-widget__legend{margin-left:calc(var(--pad-h)*-1);margin-right:calc(var(--pad-h)*-1);padding:0 var(--pad-h);overflow:auto}
.ds-widget__legend:last-child{margin-bottom:calc(var(--pad-v)*-1);padding-bottom:var(--pad-v)}
.ds-widget__footer{font-size:var(--font-size-14);line-height:var(--line-height-20)}
.ds-widget__plug{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;min-height:292px;padding:20px 0;text-align:center}
.ds-widget__plug-title{font-size:20px;line-height:28px;color:var(--dc-color-gray-080)}
.ds-widget__plug-description{font-size:16px;line-height:24px;color:var(--dc-color-gray-060);margin-top:var(--space-2);white-space:pre-line}
.ds-widget__plug-button{margin-top:var(--space-14)}
/* фактоид */
.ds-factoid{display:flex;flex-direction:column;justify-content:space-between;background:var(--dc-color-white-100);border-radius:20px;padding:var(--space-20) var(--space-20) 0 var(--space-28);overflow:hidden;container-type:inline-size}
.ds-factoid_m{padding:var(--space-16) var(--space-16) 0 var(--space-24)}
.ds-factoid__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4)}
.ds-factoid__title{font-size:var(--font-size-16);line-height:var(--line-height-20);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dc-color-gray-080);text-decoration:none}
a.ds-factoid__title:hover{color:var(--dc-color-red-100)}
.ds-factoid__controls{display:flex;gap:var(--space-12);margin-left:var(--space-8);color:var(--dc-color-gray-050)}
.ds-factoid__content{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-20)}
.ds-factoid__value{display:flex;align-items:baseline;gap:var(--space-8);white-space:nowrap}
.ds-factoid__number{font-size:var(--font-size-28);line-height:var(--line-height-32);font-weight:400}
.ds-factoid__chart{flex:1;height:32px;min-width:60px;margin:0 var(--space-8) 0 var(--space-12)}
.ds-factoid__description{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20);margin-bottom:var(--space-12);min-height:40px}
@container (width < 312px){.ds-factoid__content{flex-direction:column;align-items:stretch;padding-bottom:var(--space-12)}.ds-factoid__chart{margin:var(--space-4) var(--space-8) 0 0}}
/* дельта ▲ +2,07 % (numeric-cell / factoid delta) */
.ds-delta{font-size:var(--font-size-14);line-height:var(--line-height-20);white-space:nowrap}
.ds-delta_up{color:var(--dc-color-green-100)}.ds-delta_up::before{content:"▲ "}
.ds-delta_down{color:var(--dc-color-red-100)}.ds-delta_down::before{content:"▼ "}
.ds-delta_flat{color:var(--dc-color-gray-050)}.ds-delta_flat::before{content:"⬥ "}
/* легенда графика (chart-legend-table-row) */
.ds-legend{display:flex;flex-wrap:wrap;gap:0 20px;user-select:none}
.ds-legend_table{display:grid;grid-template-columns:minmax(200px,auto) repeat(var(--columns,1),minmax(60px,max-content))}
.ds-legend__row{display:flex;align-items:center;min-height:32px;border-radius:10px;cursor:pointer;color:var(--dc-color-gray-080);font-size:var(--font-size-14);line-height:var(--line-height-20);transition:.1s ease-in-out}
.ds-legend__row:hover{background:var(--dc-color-gray-300)}
.ds-legend__cell{display:flex;align-items:center;padding:6px var(--space-4);min-height:32px}
.ds-legend__cell:first-child{padding-left:10px;padding-right:var(--space-4);flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-legend__cell:last-child{padding-right:10px;padding-left:var(--space-14);justify-content:flex-end;text-align:right;font-weight:500}
.ds-legend__marker{line-height:0;margin-right:var(--space-8);min-width:12px;display:flex;justify-content:center}
.ds-legend__row_gray,.ds-legend__row_gray .ds-legend__cell:last-child{color:var(--dc-color-gray-060);font-weight:400}
.ds-legend__cross{color:var(--dc-color-gray-050);opacity:0}
.ds-legend__row:hover .ds-legend__cross{opacity:1}
.ds-marker{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--marker,#7a45e5)}

/* ---------- Таблица отчёта (fixed-grid + cells) -------------------------- */
.ds-table-island{background:var(--dc-color-white-100);border-radius:20px;padding:var(--space-28) 0 var(--space-24);min-height:0}
.ds-table-island__header{display:flex;justify-content:space-between;gap:var(--space-8);padding:0 var(--space-36) var(--space-24)}
.ds-table-island_m .ds-table-island__header{padding:0 var(--space-24) var(--space-12)}
.ds-table-island__hl,.ds-table-island__hr{display:flex;align-items:center;gap:var(--space-8)}
.ds-table{--cell-pad-l:var(--space-36);--cell-pad-r:var(--space-16);--cell-pad-v:var(--space-8);width:100%;border-collapse:separate;border-spacing:0;position:relative}
.ds-table_m{--cell-pad-l:var(--space-24)}
.ds-table th,.ds-table td{background:var(--dc-color-white-100);border-top:1px solid var(--dc-color-gray-300);vertical-align:top;text-align:right;padding:var(--cell-pad-v) var(--cell-pad-r)}
.ds-table th+th,.ds-table td+td{border-left:1px solid var(--dc-color-gray-300)}
.ds-table th:last-child,.ds-table td:last-child{border-right:1px solid var(--dc-color-gray-300)}
.ds-table th:first-child,.ds-table td:first-child{text-align:left;padding-left:var(--cell-pad-l)}
.ds-table thead th{border-top:0;color:var(--dc-color-gray-060);font-weight:400;font-size:var(--font-size-14);line-height:var(--line-height-20);padding-top:var(--space-12);padding-bottom:var(--space-12);position:sticky;top:0;z-index:2;white-space:nowrap}
.ds-table_hl thead th{padding-top:var(--space-14);padding-bottom:var(--space-14)}
.ds-table tbody tr:last-child td{border-bottom:1px solid var(--dc-color-gray-300)}
.ds-table_hover tbody tr:hover td{background:var(--dc-color-gray-200)}
.ds-table td{height:56px}
.ds-table__sort{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2);cursor:pointer}
.ds-table__sort .ds-icon{visibility:hidden;margin-top:var(--space-2);width:12px;height:12px}
.ds-table th:hover .ds-table__sort,.ds-table th:hover .ds-table__sort .ds-icon{color:var(--dc-color-gray-080);visibility:visible}
.ds-table__sort_asc,.ds-table__sort_desc{color:var(--dc-color-gray-080)}
.ds-table__sort_asc .ds-icon,.ds-table__sort_desc .ds-icon{visibility:visible}
.ds-table__sort_desc .ds-icon{transform:rotate(90deg)}.ds-table__sort_asc .ds-icon{transform:rotate(-90deg)}
.ds-table__head-sub{display:block;color:var(--dc-color-gray-060);font-size:var(--font-size-12);line-height:var(--line-height-16)}
.ds-table__total td{background:var(--dc-color-gray-200)}
.ds-table__total td:first-child{color:var(--dc-color-gray-080)}
.ds-table__load-more{display:flex;align-items:center;justify-content:center;gap:var(--space-24);padding:var(--space-8) var(--space-32);border-top:1px solid var(--dc-color-gray-300);border-bottom:1px solid var(--dc-color-gray-300);margin-top:-1px}
.ds-table__load-info{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20)}
.ds-table__footer-message{display:flex;align-items:center;height:36px;padding-left:var(--cell-pad-l);color:var(--dc-color-gray-060)}
/* numeric-cell: значение + подзначение */
.ds-num{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);text-align:end}
.ds-num_m{gap:0}
.ds-num__value{color:var(--dc-color-gray-080);font-size:var(--font-size-14);line-height:var(--line-height-20)}
.ds-num__add{color:var(--dc-color-gray-060);font-size:var(--font-size-12);line-height:var(--line-height-16)}
.ds-num__value_positive,.ds-num__add_positive{color:var(--dc-color-green-100)}
.ds-num__value_positive::before,.ds-num__add_positive::before{content:"+"}
.ds-num__value_negative,.ds-num__add_negative{color:var(--dc-color-red-100)}
/* dimension-cell: название строки (текст, ссылка, чекбокс, иконка) */
.ds-dim{display:flex;align-items:center;gap:var(--space-8);min-height:40px;font-size:var(--font-size-14);line-height:var(--line-height-20)}
.ds-dim__icon{width:16px;height:16px;border-radius:5px;flex-shrink:0;background:var(--dc-color-gray-300)}
.ds-dim__expand{color:var(--dc-color-gray-050);cursor:pointer;display:flex}
.ds-dim__expand:hover{color:var(--dc-color-gray-080)}
.ds-dim_nested{padding-left:var(--space-24)}
/* простая таблица списка (counters-list, goals-list): строки-карточки с линиями */
.ds-list{background:var(--dc-color-white-100);border-radius:20px;overflow:hidden}
.ds-list__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-20) var(--space-36)}
.ds-list__item{display:flex;align-items:baseline;gap:var(--space-10);padding:var(--space-16) var(--space-36);border-top:1px solid var(--dc-color-gray-300);position:relative}
.ds-list__item:hover .ds-list__actions .ds-icon-btn{color:var(--dc-color-gray-060)}
.ds-list__item-name{display:inline-flex;align-items:flex-start;gap:var(--space-8);font-size:var(--font-size-18);line-height:var(--line-height-24);font-weight:500;min-width:0;flex:1}
.ds-list__item-name .ds-icon{color:var(--primary-color);margin-top:3px}
.ds-list__item-info{display:grid;grid-template-columns:140px auto max-content;column-gap:var(--space-10);align-items:baseline;flex:2;font-size:var(--font-size-14);line-height:var(--line-height-20)}
.ds-list__actions{display:flex;align-items:center;gap:var(--space-12);margin-left:auto;align-self:center}
.ds-list__drag{position:absolute;left:14px;top:22px;color:var(--dc-color-gray-050);opacity:0;cursor:grab;transition:opacity .2s}
.ds-list__item:hover .ds-list__drag{opacity:1}
.ds-icon-btn{display:inline-flex;color:var(--dc-color-gray-050);cursor:pointer;border:0;background:none;padding:0;transition:color .1s ease-in-out}
.ds-icon-btn:hover{color:var(--dc-color-gray-080)}
.ds-icon-btn_favorite{color:var(--dc-chart-orange-100)}.ds-icon-btn_favorite:hover{color:var(--dc-chart-orange-200)}
.ds-icon-btn_labeled{color:var(--dc-chart-violet-100)}.ds-icon-btn_labeled:hover{color:var(--dc-chart-violet-200)}

/* ---------- Сегментация (segmentation-layout2) --------------------------- */
.ds-segmentation{display:flex;flex-direction:column;margin-top:var(--space-16);min-height:52px;border-bottom:3px solid var(--dc-color-gray-020);position:relative}
.ds-segmentation_compact{border:0}
.ds-segmentation__wrapper{padding:var(--space-8) 0 var(--space-16)}
.ds-segmentation__wrapper_compact{background:var(--dc-color-gray-200);padding:var(--space-16) 0}
.ds-segmentation__item{display:flex;align-items:flex-start;gap:var(--space-8);padding:0 var(--space-36);flex-wrap:wrap}
.ds-segmentation__item-content{font-size:var(--font-size-14)}
.ds-segmentation__desc{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20)}
/* segment-item: условие в рамке */
.ds-segment-item{display:inline-flex;align-items:center;height:32px;padding:0 var(--space-6);border:1px solid var(--dc-color-gray-040);border-radius:12px;gap:var(--space-4);font-size:var(--font-size-14)}
.ds-segment-item__remove{display:flex;color:var(--dc-color-gray-050);cursor:pointer}
.ds-segment-item__remove:hover{color:var(--dc-color-gray-080)}

/* ---------- Календарь (date-picker, date-range-picker) ------------------- */
.ds-daterange{--date-picker-month-width:288px;--side:var(--space-10);display:inline-block;background:var(--dc-color-white-100);border-radius:12px;width:calc(var(--date-picker-month-width)*2 + var(--side)*2)}
.ds-daterange_3{width:calc(var(--date-picker-month-width)*3 + var(--side)*2)}
.ds-daterange__pickers{display:flex;padding:0 var(--side);position:relative}
.ds-daterange__footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-16) var(--space-8);margin:0 var(--space-28);padding:var(--space-16) 0 var(--space-28);border-top:1px solid var(--dc-color-gray-030)}
.ds-daterange__inputs{display:flex;align-items:center;flex-grow:1}
.ds-daterange__input{width:120px;flex-shrink:0}
.ds-daterange__dash{width:12px;border-bottom:1px solid var(--dc-color-gray-050);margin:0 4px}
.ds-daterange__length{color:var(--dc-color-gray-060);margin:0 12px;font-size:var(--font-size-14)}
.ds-daterange__apply{margin-left:auto}
.ds-datepicker{--dp-day:36px;--dp-radius:8px;display:inline-block;position:relative;padding:var(--space-24) var(--space-18);background:var(--dc-color-white-100);color:var(--dc-color-gray-080);font-size:14px;user-select:none}
.ds-datepicker__nav{position:absolute;top:var(--space-24);height:36px;width:36px;display:flex;align-items:center;justify-content:center;color:var(--dc-color-gray-070);cursor:pointer;border:0;background:none;padding:0;z-index:2}
.ds-datepicker__nav_prev{left:var(--space-18)}.ds-datepicker__nav_next{right:var(--space-18)}
.ds-datepicker__nav_prev .ds-icon{transform:rotate(180deg)}
.ds-datepicker__caption{height:36px;line-height:36px;text-align:center;font-weight:500;text-transform:capitalize;margin-bottom:var(--space-12);cursor:pointer}
.ds-datepicker__caption:hover{opacity:.7}
.ds-datepicker__table{border-collapse:collapse;border-spacing:0}
.ds-datepicker__weekday{width:var(--dp-day);height:var(--dp-day);color:var(--dc-color-gray-050);font-weight:400;text-transform:capitalize;text-align:center;vertical-align:middle}
.ds-datepicker__weekday_weekend{color:var(--dc-color-red-040)}
.ds-datepicker__day{width:var(--dp-day);height:var(--dp-day);text-align:center;vertical-align:middle;border-radius:var(--dp-radius);cursor:pointer;outline:none}
.ds-datepicker__day:hover{background:var(--dc-color-gray-020)}
.ds-datepicker__day:focus-visible{box-shadow:inset var(--shdw-el-focused)}
.ds-datepicker__day_weekend{color:var(--dc-color-red-100)}
.ds-datepicker__day_today{color:var(--dc-color-blue-100)}
.ds-datepicker__day_range{background:var(--dc-color-gray-030);border-radius:0}
.ds-datepicker__day_range:hover{background:var(--dc-color-gray-030)}
.ds-datepicker__day_start{border-radius:var(--dp-radius) 0 0 var(--dp-radius);background:var(--dc-color-gray-030)}
.ds-datepicker__day_end{border-radius:0 var(--dp-radius) var(--dp-radius) 0;background:var(--dc-color-gray-030)}
.ds-datepicker__day_selected{background:var(--dc-color-gray-040);border-radius:var(--dp-radius)}
.ds-datepicker__day_range:first-child,.ds-datepicker__day_end:first-child{border-radius:var(--dp-radius) 0 0 var(--dp-radius)}
.ds-datepicker__day_range:last-child,.ds-datepicker__day_start:last-child{border-radius:0 var(--dp-radius) var(--dp-radius) 0}
.ds-datepicker__day_disabled{color:var(--dc-color-gray-050);cursor:default;pointer-events:none}
.ds-datepicker__day_outside{visibility:hidden}

/* ---------- Пустое состояние, скелетон, спиннер, прогресс --------------- */
.ds-empty{display:flex;flex-direction:column;align-items:center;padding:var(--space-60);text-align:center}
.ds-empty__icon{margin-bottom:var(--space-16);color:var(--dc-color-gray-050)}
.ds-empty__title{color:var(--dc-color-gray-080);font-size:var(--font-size-20);line-height:var(--line-height-28);font-weight:500;white-space:pre-line}
.ds-empty__description{color:var(--dc-color-gray-060);font-size:var(--font-size-14);line-height:var(--line-height-20);margin-top:var(--space-2);white-space:pre-line}
.ds-empty__button{margin-top:var(--space-22)}
.ds-skeleton{position:relative;overflow:hidden;background:var(--dc-color-gray-020);border-radius:8px}
.ds-skeleton_animated::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background-image:linear-gradient(90deg,var(--dc-color-strict-transparent),var(--dc-color-white-020) 20%,var(--dc-color-white-050) 60%,var(--dc-color-strict-transparent));animation:shimmer 2s infinite}
.ds-skeleton_text{height:20px}.ds-skeleton_caption{height:16px}.ds-skeleton_title{height:28px}.ds-skeleton_circle{border-radius:50%}
@keyframes shimmer{to{transform:translateX(100%)}}
.ds-spinner{display:inline-flex;align-items:center;justify-content:center;animation:spin-fade .35s forwards;color:var(--dc-color-gray-050)}
.ds-spinner_center{position:absolute;inset:0}
.ds-spinner .ds-icon{animation:spin 1s linear .2s infinite}
@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}
@keyframes spin-fade{0%{opacity:0}to{opacity:1}}
.ds-progress{--progress-bar-base-color:var(--dc-color-gray-020);--progress-bar-fill-color:var(--primary-color);height:6px;border-radius:4px;overflow:hidden;background:var(--progress-bar-base-color)}
.ds-progress_s8{height:8px}.ds-progress_s12{height:12px}
.ds-progress_primary{--progress-bar-base-color:var(--dc-color-purple-020)}
.ds-progress__fill{height:100%;background:var(--progress-bar-fill-color);transition:width 1s ease-in-out}
.ds-overlay-loading{position:absolute;inset:0;background:var(--dc-color-white-050);z-index:2;display:flex;justify-content:center;align-items:flex-start;padding-top:170px;gap:var(--space-8)}

/* ---------- Хлебные крошки, разделитель, пустой экран 404 --------------- */
.ds-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap}
.ds-breadcrumbs__divider{color:var(--dc-color-gray-050);margin:0 var(--space-8)}
.ds-divider{height:1px;background:var(--dc-color-gray-030);margin:var(--space-12) 0}
.ds-error-page{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;flex:1;min-height:600px;margin:0 auto;max-width:400px}
.ds-error-page__code{font-size:120px;line-height:1;font-weight:400;letter-spacing:-.02em;margin-bottom:var(--space-40)}
.ds-error-page__title{font-size:var(--font-size-28);line-height:var(--line-height-36);font-weight:500}
.ds-error-page__description{color:var(--dc-color-gray-060);font-size:var(--font-size-16);line-height:var(--line-height-24);margin-top:var(--space-8)}

/* ---------- Ассортимент утилит (минимум) --------------------------------- */
.ds-row{display:flex;align-items:center;gap:var(--space-8)}
.ds-row_wrap{flex-wrap:wrap}
.ds-stack{display:flex;flex-direction:column;gap:var(--space-16)}
.ds-ml-auto{margin-left:auto}
.ds-nowrap{white-space:nowrap}
.ds-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ds-hidden{display:none!important}
@media print{.ds-header,.ds-sidebar,.ds-footer{display:none}}
