/* UI-кит базы знаний DIRECTZAVOD: схематичные макеты интерфейса Яндекс Директа и Метрики.
   Разметку генерирует ui_kit.py из блоков ```ui …``` в статьях. Всё под префиксом .ui */
.ui{--ui-blue:#0871f9;--ui-blue2:#0458da;--ui-text:#071333;--ui-muted:#5d6b88;--ui-line:#dbe6f4;--ui-soft:#eef6ff;--ui-bg:#f4f8fe;
 --ui-green:#15bd68;--ui-yellow:#ffab08;--ui-red:#ef4565;--ui-purple:#7748ef;
 margin:26px 0;padding:clamp(8px,1.6vw,16px);border-radius:24px;background:linear-gradient(135deg,#eaf3ff 0%,#f5f9ff 55%,#eef4ff 100%);
 border:1px solid rgba(38,85,155,.10);max-width:100%;min-width:0;color:var(--ui-text);font:14px/1.5 Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
 opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
.ui.is-pre{opacity:0;transform:translateY(14px)}
.ui *,.ui *:before,.ui *:after{box-sizing:border-box}
.ui p{margin:0}
.ui code{font:600 12.5px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;background:#eef4fd;border-radius:6px;padding:1px 6px;color:#0f3f8f}
.ui button{font:inherit;color:inherit}
.ui-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ui-win{background:#fff;border:1px solid var(--ui-line);border-radius:18px;box-shadow:0 18px 44px rgba(20,59,116,.10);overflow:hidden;min-width:0}
.ui.is-compact .ui-win{box-shadow:0 8px 22px rgba(20,59,116,.07)}

/* шапка окна */
.ui-bar{display:flex;align-items:center;gap:12px;min-height:42px;padding:6px 14px;background:linear-gradient(180deg,#f8fbff,#f0f5fc);border-bottom:1px solid var(--ui-line);font-size:12.5px;color:var(--ui-muted);min-width:0}
.ui-app{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--ui-text);flex-shrink:0}
.ui-app i{width:22px;height:22px;border-radius:7px;flex-shrink:0;display:inline-grid;place-items:center;background:#fc3f1d;box-shadow:0 4px 10px rgba(252,63,29,.28);font-style:normal}
.ui-app i:after{content:"Я";color:#fff;font:800 14px/1 Arial,"Helvetica Neue",Helvetica,sans-serif;transform:translateY(.5px)}
.ui-bar-crumbs{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ui-bar-crumbs span{overflow:hidden;text-overflow:ellipsis}
.ui-bar-crumbs span:last-child{color:var(--ui-text);font-weight:700}
.ui-bar-crumbs i{font-style:normal;color:#a3b1c9}
.ui-bar-dots{margin-left:auto;display:flex;gap:5px;flex-shrink:0}
.ui-bar-dots i{width:9px;height:9px;border-radius:50%;background:#d5dfee}
.ui-body{padding:clamp(14px,2.2vw,22px);min-width:0}
.ui-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.ui-title{font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.25}
.ui-sub{font-size:13px;color:var(--ui-muted);margin-top:2px}
.ui-subh{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7a88a3;margin:16px 0 8px;display:flex;align-items:center;gap:8px}
.ui-subh:first-child{margin-top:0}
.ui-note{margin-top:14px;padding:10px 14px;border-radius:12px;background:#fff8e6;border:1px solid #ffe2a3;font-size:13.5px;color:#5b4300}
.ui-cap{margin:10px 6px 2px;font-size:13px;color:var(--ui-muted);line-height:1.5}
.ui-hint{font-size:12.5px;color:var(--ui-muted);margin-top:8px!important}

/* бейджи, чипы, кнопки */
.ui-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;flex-shrink:0}
.ui-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.ui-badge.is-green{background:#e3f8ed;color:#0b8a4a}.ui-badge.is-yellow{background:#fff3d6;color:#9a6400}
.ui-badge.is-red{background:#ffe6eb;color:#c8213f}.ui-badge.is-blue{background:#e6f0ff;color:var(--ui-blue2)}.ui-badge.is-gray{background:#eef1f6;color:#5d6b88}
.ui-chips{display:flex;flex-wrap:wrap;gap:6px}
.ui-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:9px;background:var(--ui-soft);color:#173a73;font-size:13px;font-weight:600;line-height:1.35;max-width:100%;overflow-wrap:anywhere}
.ui-chip small{font-size:11px;color:#7a88a3;font-weight:700}
.ui-chip.is-soft{background:#f3f6fb;border:1px solid var(--ui-line)}
.ui-chip.is-minus{background:#fff0f2;color:#b51d3a}
.ui-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 16px;border-radius:10px;background:linear-gradient(135deg,#0560e9,#2790ff);color:#fff;font-weight:800;font-size:13px;white-space:nowrap}
.ui-btn.is-ghost{background:#fff;color:var(--ui-blue2);border:1px solid #b9d3f7}
.ui-btn.is-sm{min-height:30px;padding:0 12px;font-size:12.5px}
.ui-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.ui-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;align-items:center}
.ui-filters-lbl{font-size:12px;color:#7a88a3;font-weight:700}
.ui-count{display:inline-flex;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(8,113,249,.12);color:var(--ui-blue2);font-size:11.5px;font-weight:800;align-items:center;justify-content:center;margin-left:4px}

/* форма: строки «подпись — поле» */
.ui-form{display:grid;gap:8px}
.ui-row{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:12px;align-items:center;padding:6px 8px;margin:0 -8px;border-radius:12px;position:relative;transition:background .2s}
.ui-row[hidden]{display:none}
.ui-lbl{font-size:13px;color:var(--ui-muted);font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ui-val{min-width:0}
.ui-ctl{display:flex;align-items:center;min-height:38px;padding:7px 12px;border:1px solid #d3e0f2;border-radius:10px;background:#fbfdff;font-weight:600;color:var(--ui-text);min-width:0;overflow-wrap:anywhere;position:relative}
.ui-ctl.is-select{padding-right:32px}
.ui-ctl.is-select:after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border-right:2px solid #7a88a3;border-bottom:2px solid #7a88a3;transform:translateY(-70%) rotate(45deg)}
.ui-ctl.is-free{border:0;background:none;padding:0;min-height:0}
.ui-ctl.is-text{border:0;background:none;padding:0;font-weight:500}
.ui-toggle{display:inline-block;width:38px;height:22px;border-radius:999px;background:#d0dae8;position:relative;vertical-align:middle}
.ui-toggle i{position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .2s}
.ui-toggle.is-on{background:var(--ui-green)}.ui-toggle.is-on i{left:19px}

/* подсветка нужного поля */
.ui .is-hl{background:rgba(8,113,249,.07);box-shadow:0 0 0 2px var(--ui-blue),0 0 0 7px rgba(8,113,249,.12);border-radius:12px;animation:ui-pulse 2.2s ease-in-out 2}
@keyframes ui-pulse{0%,100%{box-shadow:0 0 0 2px var(--ui-blue),0 0 0 7px rgba(8,113,249,.12)}50%{box-shadow:0 0 0 2px var(--ui-blue),0 0 0 12px rgba(8,113,249,.04)}}
tr.is-hl{animation:none;box-shadow:none}
tr.is-hl>*{background:rgba(8,113,249,.08)!important}
tr.is-hl>th{box-shadow:inset 3px 0 0 var(--ui-blue)}

/* пины-выноски */
.ui-pin{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:linear-gradient(135deg,#ff8a00,#ffab08);color:#fff!important;font-size:11.5px;font-weight:800;cursor:help;box-shadow:0 4px 12px rgba(255,138,0,.4);flex-shrink:0;padding:0;vertical-align:middle;line-height:1;margin-left:4px;z-index:2}
.ui-ad-title .ui-pin,.ui-ad-text .ui-pin,.ui-rcard-title .ui-pin{margin-left:9px;vertical-align:-3px}
.ui-pin:focus-visible{outline:3px solid rgba(8,113,249,.45);outline-offset:2px}
.ui-pin:before{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(255,138,0,.45);animation:ui-ring 2.4s ease-out infinite}
@keyframes ui-ring{0%{transform:scale(.7);opacity:1}80%,100%{transform:scale(1.5);opacity:0}}
.ui-tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,4px);box-sizing:border-box;width:max-content;max-width:min(280px,calc(100vw - 16px));padding:9px 12px;border-radius:12px;background:#0d1a3a;color:#fff;font-size:12.5px;font-weight:600;line-height:1.45;text-align:left;box-shadow:0 12px 30px rgba(7,19,51,.28);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s;z-index:20;white-space:normal;overflow-wrap:break-word;word-break:normal;hyphens:auto;letter-spacing:0;text-transform:none}
.ui-tip:after{content:"";position:absolute;left:clamp(12px,calc(50% - var(--tip-dx,0px)),calc(100% - 12px));top:100%;margin-left:-6px;border:6px solid transparent;border-top-color:#0d1a3a}
.ui-pin:hover .ui-tip,.ui-pin:focus .ui-tip,.ui-spot:hover .ui-tip,.ui-spot:focus .ui-tip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.ui-tip.is-fx{position:fixed;left:0;top:0;bottom:auto;transform:translateY(4px);z-index:1000}
.ui-tip.is-fx.is-below{transform:translateY(-4px)}
.ui-tip.is-below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#0d1a3a}
.ui-pin:hover .ui-tip.is-fx,.ui-pin:focus .ui-tip.is-fx,.ui-spot:hover .ui-tip.is-fx,.ui-spot:focus .ui-tip.is-fx{transform:none}
.ui-legend{list-style:none;margin:12px 4px 0;padding:0;display:grid;gap:6px;counter-reset:none}
.ui-legend li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;padding:6px 8px;border-radius:10px;transition:background .2s}
.ui-legend li.is-on{background:#fff4e0}
.ui-pin-n{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#ff8a00,#ffab08);color:#fff;font-size:11.5px;font-weight:800}

/* сегменты и вкладки */
.ui-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:#eef3fa;margin-bottom:14px;max-width:100%}
.ui-seg>*{padding:6px 12px;border-radius:9px;font-size:13px;font-weight:700;color:#4b5a78;border:0;background:none;white-space:nowrap}
.ui-seg .is-on,.ui-seg [aria-checked="true"]{background:#fff;color:var(--ui-blue2);box-shadow:0 2px 8px rgba(20,59,116,.12)}
.ui-seg.is-live button{cursor:pointer}
.ui-seg.is-live button:focus-visible,.ui-tab:focus-visible,.ui-opt:focus-visible,.ui-gtype:focus-visible,.ui-pstep:focus-visible,.ui-sort:focus-visible,.ui-block:focus-visible,.ui-leg:focus-visible,.ui-playbtn:focus-visible,.ui-spot:focus-visible{outline:3px solid rgba(8,113,249,.45);outline-offset:2px}
.ui-tablist{display:flex;gap:4px;border-bottom:1px solid var(--ui-line);margin-bottom:14px;overflow-x:auto;scrollbar-width:none}
.ui-tablist::-webkit-scrollbar{display:none}
.ui-tab{flex-shrink:0;padding:9px 14px;border:0;background:none;font-weight:700;font-size:13.5px;color:#5d6b88;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;white-space:nowrap}
.ui-tab[aria-selected="true"]{color:var(--ui-blue2);border-color:var(--ui-blue)}
.ui-tab:hover{color:var(--ui-blue)}
.ui-panel{outline:none;animation:ui-fade .25s ease}
@keyframes ui-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* стратегии */
.ui-opts{display:grid;gap:8px;margin-bottom:12px}
.ui-opt{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--ui-line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s,background .2s}
.ui-optw{position:relative}
.ui-optw>.ui-pin{position:absolute;right:10px;top:10px}
.ui-optw .ui-opt{padding-right:44px}
.ui-opt:hover{border-color:#9cc3fb}
.ui-opt[aria-checked="true"]{border-color:var(--ui-blue);background:#f3f8ff}
.ui-radio{flex-shrink:0;width:18px;height:18px;border-radius:50%;border:2px solid #b6c5dc;margin-top:2px;position:relative;transition:border-color .2s}
.ui-opt[aria-checked="true"] .ui-radio{border-color:var(--ui-blue)}
.ui-opt[aria-checked="true"] .ui-radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ui-blue)}
.ui-opt-txt{display:grid;gap:2px;min-width:0;flex:1}
.ui-opt-txt b{font-size:14px}
.ui-opt-txt small{font-size:12.5px;color:var(--ui-muted);line-height:1.45}

/* группа: ключи, минус-слова, автотаргет */
.ui-group-info{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:12px}
.ui-group-info span{display:grid}
.ui-group-info small{font-size:11.5px;color:#7a88a3;font-weight:700}
.ui-kws{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ui-kws li{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--ui-line);border-radius:10px;background:#fbfdff}
.ui-kw{font-weight:600;min-width:0;overflow-wrap:anywhere}
.ui-kw-f{margin-left:auto;font-size:12px;color:#7a88a3;font-weight:700;white-space:nowrap}
.ui-chips.is-wrap{gap:8px}
.ui-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.ui-check{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--ui-line);background:#fff;cursor:pointer;font-size:13.5px;font-weight:600;position:relative}
.ui-checkw{position:relative}
.ui-checkw>.ui-pin{position:absolute;right:8px;top:50%;margin-top:-11px}
.ui-checkw .ui-check{height:100%}
.ui-check input{position:absolute;opacity:0;width:1px;height:1px}
.ui-checkbox{flex-shrink:0;width:18px;height:18px;border-radius:5px;border:2px solid #b6c5dc;position:relative;transition:.15s}
.ui-check input:checked+.ui-checkbox{background:var(--ui-blue);border-color:var(--ui-blue)}
.ui-check input:checked+.ui-checkbox:after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ui-check input:focus-visible+.ui-checkbox{outline:3px solid rgba(8,113,249,.45);outline-offset:2px}

/* объявление: Поиск */
.ui-serp{display:grid;gap:12px}
.ui-serp-q{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;border:2px solid #ffd02e;border-radius:12px;font-weight:600;background:#fff}
.ui-serp-q i{width:16px;height:16px;border:2.5px solid #7a88a3;border-radius:50%;position:relative;flex-shrink:0}
.ui-serp-q i:after{content:"";position:absolute;width:2.5px;height:7px;background:#7a88a3;right:-4px;bottom:-6px;transform:rotate(-45deg);border-radius:2px}
.ui-ad{padding:14px 16px;border-radius:14px;border:1px solid var(--ui-line);background:#fff;display:grid;gap:6px;min-width:0}
.ui-ad-top{display:flex;align-items:center;gap:8px;font-size:12.5px;min-width:0}
.ui-fav{width:20px;height:20px;border-radius:6px;background:linear-gradient(135deg,#0d7f3f,#29b866);color:#fff;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ui-ad-domain{color:#2b6a3f;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-ad-mark{margin-left:auto;font-size:11px;color:#7a88a3;border:1px solid #d3dceb;border-radius:6px;padding:0 6px;flex-shrink:0}
.ui-ad-title{font-size:17.5px;line-height:1.3;font-weight:700;color:#1a3fbf;letter-spacing:-.01em;overflow-wrap:anywhere;padding:2px 4px;margin:0 -4px}
.ui-ad-text{font-size:14px;line-height:1.5;color:#2a3757;overflow-wrap:anywhere;padding:2px 4px;margin:0 -4px!important}
.ui-ad-callouts{font-size:13px;color:#4b5a78;padding:2px 4px;margin:0 -4px}
.ui-ad-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px;margin-top:4px;padding:4px;margin-left:-4px;margin-right:-4px}
.ui-sl{display:grid;gap:1px;min-width:0}
.ui-sl b{color:#1a3fbf;font-size:13.5px;font-weight:700;overflow-wrap:anywhere}
.ui-sl small{color:#5d6b88;font-size:12px;line-height:1.35}
.ui-ad-contacts{font-size:12.5px;color:#5d6b88;padding:2px 4px;margin:0 -4px}
.ui-ad-price{font-weight:800;font-size:14px}
/* объявление: РСЯ */
.ui-rsya{display:flex;justify-content:center;padding:10px;background:repeating-linear-gradient(0deg,#f5f8fc 0 12px,#f0f4fa 12px 14px);border-radius:14px}
.ui-rcard{width:100%;max-width:400px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--ui-line);box-shadow:0 10px 26px rgba(20,59,116,.10)}
.ui-rcard-img{aspect-ratio:16/9;position:relative;background:linear-gradient(135deg,#cfe3ff,#8dbdff 45%,#5a8ff0);display:flex;align-items:center;justify-content:center;border-radius:0!important}
.ui-rcard-img img{width:100%;height:100%;object-fit:cover}
.ui-rcard-img .ui-pin{position:absolute;right:10px;top:10px}
.ui-ad-ph{color:#fff;font-weight:800;font-size:15px;text-align:center;padding:0 16px;text-shadow:0 2px 10px rgba(0,30,90,.35)}
.ui-rcard-body{padding:12px 14px 14px;display:grid;gap:6px}
.ui-rcard-title{font-weight:800;font-size:16px;line-height:1.3}
.ui-rcard-text{font-size:13.5px;color:#4b5a78}
.ui-rcard-body .ui-btn{justify-self:start;margin-top:4px}

/* таблицы отчётов */
.ui-tablewrap{overflow-x:auto;border:1px solid var(--ui-line);border-radius:12px;max-width:100%;-webkit-overflow-scrolling:touch;outline:none}
.ui-tablewrap:focus-visible{box-shadow:0 0 0 3px rgba(8,113,249,.35)}
.ui-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.ui-table th,.ui-table td{padding:9px 12px;text-align:right;border-bottom:1px solid #edf2f9;white-space:nowrap}
.ui-table thead th{background:#f5f8fd;font-size:12px;color:#5d6b88;font-weight:800;position:sticky;top:0}
.ui-table th[scope="row"],.ui-table thead th:first-child{text-align:left;font-weight:700;color:var(--ui-text);white-space:normal;min-width:140px}
.ui-table tbody tr:hover>*{background:#f7faff}
.ui-table tfoot th,.ui-table tfoot td{font-weight:800;background:#f5f8fd;border-bottom:0}
.ui-sort{border:0;background:none;padding:0;font-weight:800;font-size:12px;color:#5d6b88;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.ui-sort:after{content:"↕";font-size:11px;opacity:.45}
th[aria-sort="ascending"] .ui-sort:after{content:"↑";opacity:1;color:var(--ui-blue)}
th[aria-sort="descending"] .ui-sort:after{content:"↓";opacity:1;color:var(--ui-blue)}
.ui-cellbar{display:inline-block;width:48px;height:6px;border-radius:4px;background:#e8eef7;margin-right:8px;vertical-align:middle;overflow:hidden}
.ui-cellbar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#0871f9,#20a4ff)}
.ui-metrika .ui-cellbar i{background:linear-gradient(90deg,#7748ef,#a58bff)}
.ui-table.is-places tr.is-blocked>*{color:#9aa6bd;background:#fbfbfd}
.ui-table.is-places tr.is-blocked th{text-decoration:line-through}
.ui-block{border:1px solid #f3b5c1;background:#fff;color:#c8213f;border-radius:9px;padding:5px 10px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.ui-block[aria-pressed="true"]{background:#ffe6eb;border-color:#ffe6eb}

/* корректировки */
.ui-bidgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.ui-bidcard{border:1px solid var(--ui-line);border-radius:14px;padding:12px 14px;background:#fbfdff}
.ui-bids{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ui-bids li{display:grid;grid-template-columns:minmax(80px,1fr) minmax(70px,1.2fr) auto;align-items:center;gap:10px;padding:4px 6px;margin:0 -6px;border-radius:10px}
.ui-bid-name{font-size:13px;font-weight:700;display:flex;align-items:center;gap:4px;min-width:0;overflow-wrap:anywhere}
.ui-bid-bar{height:8px;border-radius:4px;background:#e8eef7;position:relative}
.ui-bid-bar:before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;background:#b9c6da;border-radius:1px}
.ui-bid-bar i{position:absolute;top:0;bottom:0;border-radius:4px}
.is-up .ui-bid-bar i{background:var(--ui-green)}.is-down .ui-bid-bar i{background:var(--ui-red)}
.ui-bid-val{font-weight:800;font-size:13px;min-width:52px;text-align:right}
.is-up .ui-bid-val{color:#0b8a4a}.is-down .ui-bid-val{color:#c8213f}.is-zero .ui-bid-val{color:#7a88a3}
.ui-bid-note{grid-column:1/-1;font-size:12px;color:var(--ui-muted)}
.ui-bid-scale{display:flex;justify-content:space-between;font-size:11.5px;color:#7a88a3;margin-top:10px;padding:0 4px}

/* светофор */
.ui-assets{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ui-assets li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:12px;background:#fff}
.ui-assets li[hidden]{display:none}
.ui-lamp{flex-shrink:0;width:14px;height:14px;border-radius:50%;display:inline-block}
.ui-lamp.is-green{background:var(--ui-green);box-shadow:0 0 0 4px rgba(21,189,104,.16)}
.ui-lamp.is-yellow{background:var(--ui-yellow);box-shadow:0 0 0 4px rgba(255,171,8,.18)}
.ui-lamp.is-red{background:var(--ui-red);box-shadow:0 0 0 4px rgba(239,69,101,.16)}
.ui-thumb{flex-shrink:0;width:46px;height:34px;border-radius:7px;background:linear-gradient(135deg,#cfe3ff,#6fa4f5)}
.ui-asset-txt{display:grid;min-width:0;font-weight:600;overflow-wrap:anywhere}
.ui-asset-txt small{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7a88a3}
.ui-asset-lbl{margin-left:auto;font-size:12px;font-weight:800;color:#5d6b88;background:#f3f6fb;border-radius:8px;padding:3px 8px;white-space:nowrap}
.ui-lights-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;color:#5d6b88}
.ui-lights-legend span{display:inline-flex;align-items:center;gap:6px}
.ui-lights-legend .ui-lamp{width:10px;height:10px;box-shadow:none}

/* Метрика: цели */
.ui-gtypes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.ui-gtype{padding:9px 10px;border:1px solid var(--ui-line);border-radius:11px;background:#fff;font-size:13px;font-weight:700;text-align:left;cursor:pointer;line-height:1.3;transition:.15s}
.ui-gtype:hover{border-color:#b9a6ff}
.ui-gtype.is-cur{border-color:var(--ui-purple);background:#f4f0ff;color:#4a2bb8;box-shadow:inset 0 0 0 1px var(--ui-purple)}
.ui-gtype.is-peek{background:#f8f6ff}
.ui-gdesc{margin:10px 0 14px!important;font-size:13.5px;color:#4b5a78;padding:9px 12px;border-radius:10px;background:#f7f5ff;border-left:3px solid var(--ui-purple)}
.ui-cond{display:flex;flex-wrap:wrap;gap:6px}
.ui-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px;position:relative}
.ui-steps li{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid var(--ui-line);border-radius:11px;background:#fff}
.ui-steps li>span:nth-child(2){display:grid;min-width:0}
.ui-steps small{font-size:12.5px;color:var(--ui-muted);overflow-wrap:anywhere}
.ui-step-n{flex-shrink:0;display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--ui-soft);color:var(--ui-blue2);font-size:11.5px;font-weight:800;align-items:center;justify-content:center}
.ui-metrika .ui-step-n{background:#efeaff;color:#5a37d6}
.ui-code{margin-top:4px}
.ui-code pre{margin:0;max-height:260px;overflow:auto}
.ui-goals{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ui-goals li{display:grid;grid-template-columns:minmax(0,1fr) 110px 150px;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--ui-line);border-radius:12px;background:#fff}
.ui-goal-main{display:grid;min-width:0}
.ui-goal-main b{display:flex;align-items:center;gap:4px;overflow-wrap:anywhere}
.ui-goal-main small{font-size:12px;color:var(--ui-muted)}
.ui-goal-num{display:grid;font-weight:800;font-variant-numeric:tabular-nums}
.ui-goal-num small{font-size:11px;color:#7a88a3;font-weight:700}
.ui-goal-num .ui-cellbar{width:100%;margin:2px 0 2px}
.ui-goals li.is-red{border-color:#ffc6d1;background:#fff8f9}.ui-goals li.is-green{border-color:#bfeccf}

/* Метрика: график */
.ui-legs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.ui-leg{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9px;border:1px solid var(--ui-line);background:#fff;font-size:12.5px;font-weight:700;cursor:pointer}
.ui-leg i{width:10px;height:10px;border-radius:3px}
.ui-leg[aria-pressed="false"]{opacity:.45;text-decoration:line-through}
.ui-chart{position:relative;height:clamp(150px,26vw,230px)}
.ui-chart svg{width:100%;height:100%;display:block;overflow:visible}
.ui-chart .ui-grid{stroke:#e6edf7;stroke-width:1;vector-effect:non-scaling-stroke}
.ui-chart .ui-line,.ui-chart circle{vector-effect:non-scaling-stroke}
.ui-chart .ui-mark{stroke:var(--ui-yellow);stroke-width:2;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
.ui-chart .ui-ser{transition:opacity .2s}
.ui-chart .ui-ser.is-off{opacity:0}
.ui-chart .ui-hit{cursor:crosshair}
.ui-chart .ui-hit.is-on{fill:rgba(8,113,249,.06)}
.ui-chart-tip{position:absolute;top:6px;box-sizing:border-box;width:max-content;max-width:min(280px,calc(100% - 16px));padding:8px 10px;border-radius:10px;background:#0d1a3a;color:#fff;font-size:12px;line-height:1.45;pointer-events:none;white-space:normal;overflow-wrap:break-word;box-shadow:0 10px 24px rgba(7,19,51,.25);z-index:5}
.ui-chart-tip b{display:block;font-size:12.5px}
.ui-xl{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));font-size:11.5px;color:#7a88a3;margin-top:6px;text-align:center}
.ui-xl span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 1px}
.ui-xl span:first-child{text-align:left}.ui-xl span:last-child{text-align:right}

/* KPI-плитки */
.ui-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.ui-kpis.is-mini{margin-bottom:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.ui-kpi{padding:12px 14px;border:1px solid var(--ui-line);border-radius:14px;background:#fbfdff;display:grid;gap:2px;min-width:0}
.ui-kpi small{font-size:12px;color:var(--ui-muted);font-weight:700;display:flex;align-items:center;gap:4px}
.ui-kpi b{font-size:clamp(18px,2.2vw,24px);letter-spacing:-.03em;line-height:1.2;overflow-wrap:anywhere}
.ui-kpis.is-mini .ui-kpi b{font-size:17px}
.ui-kpi em{font-style:normal;font-size:12px;color:var(--ui-muted)}
.ui-delta{font-size:12.5px;font-weight:800}
.ui-delta.is-green{color:#0b8a4a}.ui-delta.is-red{color:#c8213f}.ui-delta.is-gray{color:#7a88a3}.ui-delta.is-yellow{color:#9a6400}.ui-delta.is-blue{color:var(--ui-blue2)}

/* Вебвизор и карты */
.ui-page{position:relative;display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:12px;background:#f3f6fb;border:1px solid var(--ui-line);min-height:300px}
.ui-pblock{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:9px;background:#fff;border:1px dashed #cdd9ea;font-size:12.5px;font-weight:700;color:#5d6b88;min-height:34px}
.ui-page.is-heat{min-height:320px}
.ui-spots{position:absolute;inset:10px}
.ui-spot{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:0;padding:0;cursor:pointer;background:radial-gradient(circle,rgba(255,40,40,.85) 0,rgba(255,170,0,.55) 40%,rgba(255,230,0,0) 70%)}
.ui-spot.is-h1{width:30px;height:30px;margin:-15px 0 0 -15px;background:radial-gradient(circle,rgba(40,180,255,.75) 0,rgba(40,220,160,.4) 45%,rgba(40,220,160,0) 70%)}
.ui-spot.is-h3{width:62px;height:62px;margin:-31px 0 0 -31px;background:radial-gradient(circle,rgba(230,0,40,.95) 0,rgba(255,80,0,.65) 35%,rgba(255,200,0,.25) 55%,rgba(255,230,0,0) 72%)}
.ui-spot .ui-tip{bottom:calc(100% - 4px)}
.ui-heat-legend{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:#7a88a3}
.ui-heat-legend i{flex:1;max-width:200px;height:8px;border-radius:4px;background:linear-gradient(90deg,#28b4ff,#28dca0,#ffe600,#ff8a00,#e60028)}
.ui-page.is-scroll .ui-pblock{background:rgba(239,69,101,var(--a));border-style:solid;border-color:transparent;color:#2a3757}
.ui-page.is-scroll .ui-pblock b{font-size:13px;color:var(--ui-text);background:rgba(255,255,255,.8);border-radius:6px;padding:1px 7px}
.ui-wv{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:14px}
.ui-sessions{list-style:none;margin:0;padding:0;display:grid;gap:6px;align-content:start}
.ui-sessions li{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--ui-line);border-radius:11px;background:#fff;font-size:13px;flex-wrap:wrap}
.ui-sessions li.is-cur{border-color:var(--ui-purple);background:#f7f4ff}
.ui-sessions li>span:nth-child(2){display:grid;min-width:0;flex:1}
.ui-sessions small{color:var(--ui-muted);font-size:12px}
.ui-play-ico{width:26px;height:26px;border-radius:50%;background:#efeaff;position:relative;flex-shrink:0}
.ui-play-ico:after{content:"";position:absolute;left:10px;top:8px;border-left:8px solid #6a46e8;border-top:5px solid transparent;border-bottom:5px solid transparent}
.ui-player{display:grid;gap:10px;min-width:0}
.ui-page.is-mini{min-height:230px;overflow:hidden}
.ui-cursor{position:absolute;left:30%;top:12%;width:16px;height:20px;transition:left .8s cubic-bezier(.4,0,.2,1),top .8s cubic-bezier(.4,0,.2,1);z-index:3;pointer-events:none}
.ui-cursor:before{content:"";position:absolute;left:0;top:0;border-left:12px solid #0d1a3a;border-bottom:7px solid transparent;border-top:12px solid #0d1a3a;transform:skewY(10deg);filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}
.ui-cursor.is-click:after{content:"";position:absolute;left:-12px;top:-12px;width:26px;height:26px;border-radius:50%;border:2px solid var(--ui-purple);animation:ui-click .6s ease-out}
@keyframes ui-click{from{transform:scale(.3);opacity:1}to{transform:scale(1.4);opacity:0}}
.ui-player-ctl{display:flex;align-items:center;gap:10px}
.ui-playbtn{width:34px;height:34px;border-radius:50%;border:0;background:linear-gradient(135deg,#6a46e8,#9b7bff);color:#fff!important;cursor:pointer;font-size:12px;flex-shrink:0}
.ui-track{flex:1;height:6px;border-radius:3px;background:#e8eef7;overflow:hidden}
.ui-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6a46e8,#9b7bff);transition:width .8s linear}
.ui-events{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}
.ui-events li{display:flex;gap:10px;padding:5px 8px;border-radius:8px;transition:background .2s}
.ui-events li.is-on{background:#f1ecff}
.ui-ev-t{font-weight:800;color:#5a37d6;min-width:40px;font-variant-numeric:tabular-nums}

/* сегмент */
.ui-segbox{display:grid;gap:8px;padding:12px;border-radius:14px;background:#f7f9fd;border:1px solid var(--ui-line)}
.ui-segcond{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:11px;background:#fff;border:1px solid var(--ui-line)}
.ui-segcond small{width:100%;font-size:11.5px;color:#7a88a3;font-weight:700}
.ui-segcond .ui-ctl{min-height:34px;padding-top:5px;padding-bottom:5px}
.ui-op{font-weight:800;color:var(--ui-purple)}
.ui-logic{justify-self:start;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--ui-purple);border-radius:7px;padding:2px 9px}
.ui-segres{margin-top:12px;font-weight:700}
.ui-segname{font-size:13px;color:var(--ui-muted);font-weight:700}

/* счётчик */
.ui-counter-id{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:12px 14px;border-radius:14px;background:#f7f4ff;border:1px solid #e3dbff}
.ui-counter-id span{display:grid}
.ui-counter-id small{font-size:11.5px;color:#7a88a3;font-weight:700}
.ui-counter-id b{font-size:20px;letter-spacing:.04em;font-variant-numeric:tabular-nums}

/* путь по интерфейсу и крошки */
.ui-path{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ui-path li{display:flex;align-items:center;gap:8px;position:relative;border-radius:12px}
.ui-path li:not(:last-child):after{content:"";width:18px;height:2px;background:#c3d3ea;border-radius:2px;margin-left:2px;box-shadow:inset -6px 0 0 #9fb6d8}
.ui-pstep{display:inline-flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border-radius:12px;border:1px solid var(--ui-line);background:#fff;font-weight:700;font-size:13.5px;text-align:left}
button.ui-pstep{cursor:pointer}
button.ui-pstep:hover{border-color:#9cc3fb}
.ui-path li.is-cur .ui-pstep{background:linear-gradient(135deg,#0560e9,#2790ff);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(6,101,237,.25)}
.ui-path li.is-cur .ui-step-n{background:rgba(255,255,255,.22);color:#fff}
.ui-metrika .ui-path li.is-cur .ui-pstep{background:linear-gradient(135deg,#6a46e8,#9b7bff);box-shadow:0 8px 20px rgba(119,72,239,.25)}
.ui-path .ui-pstep[aria-expanded="true"]{outline:none}
.ui-pnote{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f3f8ff;border-left:3px solid var(--ui-blue);font-size:13.5px;line-height:1.55;animation:ui-fade .25s ease}
.ui-metrika .ui-pnote{background:#f7f4ff;border-color:var(--ui-purple)}
.ui-pnote b{display:block;margin-bottom:2px}
.ui-crumbs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:14px;font-weight:600;color:#4b5a78}
.ui-crumbs li{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:9px}
.ui-crumbs li:not(:last-child):after{content:"›";color:#a3b1c9;margin-left:6px;font-weight:400}
.ui-crumbs li.is-cur{color:var(--ui-text);font-weight:800;background:var(--ui-soft)}
.ui.is-compact .ui-body{padding:12px 14px}

/* адаптив */
@media(max-width:720px){
 .ui-row{grid-template-columns:1fr;gap:4px}
 .ui-wv{grid-template-columns:1fr}
 .ui-goals li{grid-template-columns:1fr 1fr}
 .ui-goal-main{grid-column:1/-1}
 .ui-checks{grid-template-columns:1fr}
}
@media(max-width:600px){
 .ui{margin:20px -6px;border-radius:18px}
 .ui-win{border-radius:14px}
 .ui-bar-crumbs{display:none}
 .ui-title{font-size:16px}
 .ui-ad-title{font-size:16px}
 .ui-path{flex-direction:column;align-items:stretch}
 .ui-path li{flex-direction:column;align-items:stretch}
 .ui-path li:not(:last-child):after{width:2px;height:10px;margin:4px 0 0 18px;box-shadow:none}
 .ui-pstep{width:100%}
 .ui-bids li{grid-template-columns:minmax(0,1fr) 64px auto}
 .ui-xl span:nth-child(even){visibility:hidden}
 .ui-seg>*{padding:6px 10px;font-size:12.5px}
 .ui-tablist{flex-wrap:wrap;overflow:visible;gap:0 2px}
 .ui-tab{padding:8px 9px;font-size:13px}
 .ui-assets li{flex-wrap:wrap}
 .ui-asset-txt{flex:1 1 150px}
 .ui-gtypes{grid-template-columns:1fr 1fr}
 .ui-gtype{padding:8px;font-size:12.5px}
 .ui-asset-lbl{margin-left:26px}
}
@media(prefers-reduced-motion:reduce){
 .ui,.ui *,.ui *:before,.ui *:after{animation:none!important;transition:none!important}
 .ui.is-pre{opacity:1;transform:none}
}
@media print{.ui{break-inside:avoid;background:none;border-color:#ccc}.ui-pin:before{display:none}}

/* 10 готовых вариантов · ```ui variants``` */
.ui-app-vars i{background:linear-gradient(135deg,#0560e9,#2790ff);box-shadow:0 4px 10px rgba(5,96,233,.28)}
.ui-app-vars i:after{content:"10";font-size:10.5px;letter-spacing:-.04em}
.ui-vhint{font-size:13.5px;color:#3b4a6b;margin:-4px 0 12px!important;padding:9px 12px;border-radius:12px;background:var(--ui-bg);border:1px dashed #c9d8ef}
.ui-vfilters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ui-vf{border:1px solid var(--ui-line);background:#f3f6fb;color:#173a73;border-radius:999px;padding:5px 12px;font-size:12.5px!important;font-weight:700!important;cursor:pointer;line-height:1.3;transition:background .2s,color .2s,border-color .2s}
.ui-vf:hover{border-color:#9cc0f3}
.ui-vf[aria-pressed="true"]{background:var(--ui-blue);border-color:var(--ui-blue);color:#fff!important}
.ui-vlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.ui-var{display:flex;flex-direction:column;gap:9px;min-width:0;padding:14px;border-radius:16px;background:#fff;border:1px solid var(--ui-line);box-shadow:0 6px 16px rgba(20,59,116,.05);transition:border-color .2s,box-shadow .2s,transform .2s}
.ui-var:hover{border-color:#b9d3f7;box-shadow:0 12px 26px rgba(20,59,116,.10)}
.ui-var[hidden],[data-ui-ready] .ui-vlist:not(.is-open) .ui-var.is-more{display:none}
.ui-var-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0}
.ui-var-n{width:24px;height:24px;border-radius:8px;display:inline-grid;place-items:center;background:var(--ui-soft);color:var(--ui-blue2);font-weight:800;font-size:12.5px;flex-shrink:0}
.ui-var-niche{font-weight:800;font-size:14px;line-height:1.3;color:var(--ui-text);overflow-wrap:anywhere}
.ui-var-aud{font-size:12px;color:var(--ui-muted);background:#f3f6fb;border-radius:8px;padding:2px 8px;overflow-wrap:anywhere;max-width:100%}
.ui-var-text{font-size:14.5px;line-height:1.5;font-weight:600;color:#122450;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#f5f9ff,#eef5ff);border-left:3px solid var(--ui-blue);overflow-wrap:anywhere}
.ui-var-ad{padding:10px 12px;gap:4px;border-radius:12px;background:#fff}
.ui-var-ad .ui-ad-title{font-size:16px}
.ui-var-ad .ui-ad-text{font-size:13.5px}
.ui-var-cnt{font-size:11.5px;color:#7a88a3;margin-top:-4px}
.ui-var-why{font-size:13px;line-height:1.5;color:#4b5a78;overflow-wrap:anywhere}
.ui-var-why b{color:#0b8a4a}
.ui-var-foot{margin-top:auto;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.ui-var-link{margin-right:auto;font-size:13px;font-weight:700;color:var(--ui-blue2);text-decoration:none}
.ui-var-link:hover{text-decoration:underline}
.ui-var-copy{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:10px;border:1px solid #b9d3f7;background:#fff;color:var(--ui-blue2)!important;font-size:12.5px!important;font-weight:800!important;cursor:pointer;transition:background .2s,color .2s}
.ui-var-copy:before{content:"";width:12px;height:12px;border:2px solid currentColor;border-radius:3px;box-shadow:3px -3px 0 -1px #fff,3px -3px 0 1px currentColor;transform:translate(-1px,1px)}
.ui-var-copy:hover{background:var(--ui-soft)}
.ui-var-copy.is-done{background:#e3f8ed;border-color:#9fe0bd;color:#0b8a4a!important}
.ui-var-copy.is-done:before{border:0;box-shadow:none;width:auto;height:auto;content:"✓";transform:none}
.ui-vmore{display:flex;margin:14px auto 0;min-height:40px;padding:0 20px;border-radius:12px;border:0;background:linear-gradient(135deg,#0560e9,#2790ff);color:#fff!important;font-weight:800!important;font-size:13.5px!important;cursor:pointer;box-shadow:0 8px 18px rgba(5,96,233,.22);align-items:center}
.ui-vmore:hover{filter:brightness(1.06)}
.ui-vmore[hidden]{display:none}
.ui-k-variants:not([data-ui-ready]) .ui-vmore{display:none}
@media(max-width:600px){
 .ui-var{padding:12px}
 .ui-var-text{font-size:14px}
 .ui-vmore{width:100%;justify-content:center}
}