/* Разрешение конфликта, названного в ТЗ прямо: executive-light-2026.css задаёт
   контролы 32px/radius 7, а этот файл — 42px/radius 12, и на одном экране
   соседние контролы отличались на десять пикселей. Гейт ТЗ: контрол около 34px,
   радиусы 6–8px, вторичный текст 12px (10–11px запрещены). Замер 12.09.2026 на
   АРМ цен давал набор высот [34,36,38,42,52] при медиане 42.
   Приведено к 34/8/12 здесь, в файле-владельце, без нового слоя overrides. */
/* Desktop-only visual contract for existing functional VISION filters. */
@media (min-width: 701px) {
  :is(.deals-filters, .inbox-controls, .today-new-summary-toolbar, .parm-filters, .purchase-screen-filters, .procurement-toolbar),
  .dt-enhancer-toolbar:not(:where(.deals-filters, .today-new-summary-toolbar, .inbox-controls, .parm-filters, .purchase-screen-filters, .procurement-toolbar) .dt-enhancer-toolbar) {
    position: relative;
    border: 1px solid rgba(15, 118, 110, .15);
    border-radius: 18px;
    background:
      radial-gradient(circle at 0 0, rgba(20, 184, 166, .08), transparent 34%),
      linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
    box-shadow: 0 12px 34px rgba(15, 23, 42, .07);
  }

  /* Real runtime wrappers carry .card/.today-new-view and legacy ID selectors. */
  :is(.today-new-view, .calls-view) .card:is(.today-new-summary-toolbar, .today-new-entity-toolbar),
  .brief-section .card.deals-filters,
  #moneyReportsCard .deals-filters {
    position: relative;
    border: 1px solid rgba(15, 118, 110, .15);
    border-radius: 18px;
    background:
      radial-gradient(circle at 0 0, rgba(20, 184, 166, .08), transparent 34%),
      linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
    box-shadow: 0 12px 34px rgba(15, 23, 42, .07);
  }

  :where(.deals-filters, .today-new-summary-toolbar, .inbox-controls, .parm-filters, .purchase-screen-filters, .procurement-toolbar) .dt-enhancer-toolbar {
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  :is(.deals-filters-grid, .tn-filter-grid, .parm-filters, .purchase-screen-filters, .inbox-controls, .dt-enhancer-main, .procurement-toolbar) {
    gap: 12px;
    align-items: end;
  }

  :is(.deals-filters, .today-new-summary-toolbar, .dt-enhancer-toolbar) {
    padding: 16px 18px;
  }

  :is(.deals-filters, .inbox-controls, .today-new-summary-toolbar, .parm-filters, .purchase-screen-filters, .dt-enhancer-toolbar, .procurement-toolbar) label {
    display: grid;
    gap: 6px;
    color: #52605b;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .035em;
  }

  .parm .parm-filters label > span.parm-label {
    display: block;
    color: #52605b;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .035em;
  }

  :is(.deals-filters, .inbox-controls, .today-new-summary-toolbar, .parm-filters, .purchase-screen-filters, .dt-enhancer-toolbar, .procurement-toolbar) :is(input, select) {
    min-height: 34px;
    border: 1px solid #d7e2dd;
    border-radius: 8px;
    background-color: rgba(255,255,255,.96);
    color: #18312a;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
  }

  :is(.deals-filters, .inbox-controls, .today-new-summary-toolbar, .parm-filters, .purchase-screen-filters, .dt-enhancer-toolbar, .procurement-toolbar) :is(input, select):hover {
    border-color: #a9c8bd;
    background-color: #fff;
  }

  :is(.deals-filters, .inbox-controls, .today-new-summary-toolbar, .parm-filters, .purchase-screen-filters, .dt-enhancer-toolbar, .procurement-toolbar) :is(input, select):focus-visible {
    outline: 0;
    border-color: #0f8b78;
    box-shadow: 0 0 0 4px rgba(13, 148, 136, .13);
  }

  :is(.deals-filters, .inbox-controls, .today-new-summary-toolbar, .parm-filters, .purchase-screen-filters, .dt-enhancer-toolbar, .procurement-toolbar) :is(button, .btn) {
    min-height: 34px;
    border-radius: 8px;
  }

  :is(.deals-filters, .today-new-summary-toolbar, .dt-enhancer-toolbar) :is(details, .calls-advanced-filters) {
    border-top: 1px solid rgba(15, 118, 110, .11);
  }

  :is(.deals-filters, .today-new-summary-toolbar, .dt-enhancer-toolbar) summary {
    color: #0f766e;
    font-weight: 750;
  }

  :where(.deals-filters, .inbox-controls, .today-new-summary-toolbar, .parm-filters, .purchase-screen-filters, .dt-enhancer-toolbar, .procurement-toolbar) :is(.chip.on, [data-tn-filter-period].on) {
    border-color: rgba(13, 148, 136, .28);
    background: linear-gradient(135deg, #0f766e, #0d9488);
    color: #fff;
    box-shadow: 0 7px 16px rgba(13, 148, 136, .18);
  }
}

/* Explicit desktop workspace opt-in, assigned by the single table owner.
 * Existing appearance is retained outside the allowlisted ARM nodes. */
@media (min-width: 1024px) {
  :is(.today-new-view,.calls-view) .card.vision-filter-desktop,
  .vision-filter-desktop.vision-filter-desktop {
    border:1px solid var(--line,#d8dde5); border-radius:7px;
    background:var(--surface,#fff); box-shadow:none; padding:8px 10px;
    margin-top:8px; margin-bottom:10px;
  }
  .vision-filter-desktop :is(.tn-filter-grid,.deals-filters-grid,.dt-enhancer-main),
  .vision-filter-desktop:is(.parm-filters,.purchase-screen-filters,.procurement-toolbar) {
    gap:8px; align-items:center;
  }
  .vision-filter-desktop label {
    font-size:12px; font-weight:500; letter-spacing:normal; text-transform:none; gap:5px;
  }
  .vision-filter-desktop :is(input,select,button,.btn) {
    min-height:34px; border-radius:6px; font-size:13px; box-shadow:none;
  }
  .vision-filter-desktop :is(input,select) { background:var(--surface,#fff); }
  .vision-filter-desktop :is(input,select,button):focus-visible {
    outline:2px solid var(--accent,#0f766e); outline-offset:2px; box-shadow:none;
  }
  .vision-filter-desktop.dt-enhancer-toolbar {
    display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px;
    align-items:center; max-width:100%;
  }
  .vision-filter-desktop .dt-enhancer-main { width:auto; min-width:0; flex-wrap:wrap; }
  .vision-filter-desktop .dt-enhancer-search {
    display:flex; flex:1 1 190px; min-width:0; max-width:340px; align-items:center;
  }
  .vision-filter-desktop .dt-enhancer-search input { width:100%; min-width:0; }
  .vision-filter-desktop .dt-enhancer-controls { gap:8px; flex-wrap:wrap; min-width:0; }
  .vision-filter-desktop .dt-enhancer-page-size { display:flex; align-items:center; }
  .vision-filter-desktop .dt-enhancer-page-size select { width:auto; }
  .vision-filter-desktop .dt-enhancer-count { font-size:12px; }
  .vision-filter-desktop .dt-enhancer-filter-details { width:auto; border:0; }
  .vision-filter-desktop .dt-enhancer-filter-details > summary {
    min-height:34px; box-sizing:border-box; padding:7px 9px; border:1px solid var(--line,#d8dde5);
    border-radius:6px; font-size:12px; font-weight:500; gap:8px; background:var(--surface,#fff);
  }
  .vision-filter-desktop .dt-filter-disclosure-hint { display:none; }
  .vision-filter-desktop .dt-enhancer-filter-details[open] { grid-column:1/-1; }
  .vision-filter-desktop .dt-enhancer-filter-details[open] > summary { width:max-content; }
  .vision-filter-desktop .dt-enhancer-column-filters {
    padding:8px 0 0; margin:0; border:0; background:none; gap:8px;
  }
  .vision-filter-desktop .dt-enhancer-column-filter { min-width:140px; }
  .vision-filter-desktop :is(.chip.on,[data-tn-filter-period].on) {
    background:var(--accent,#0f766e); box-shadow:none;
  }
}
@media(min-width:1024px) {
  .vision-page-composition .workspace-filters { padding:10px; border:1px solid var(--line,#d8dde5); border-radius:7px; background:var(--surface,#fff); box-shadow:none; }
  .vision-page-composition .workspace-filter-primary { display:flex; flex-wrap:wrap; gap:8px; align-items:end; }
  .vision-page-composition .workspace-filter-primary .fl { min-width:150px; font-size:12px; }
  .vision-page-composition .workspace-filter-primary .tns-grow { flex:1; }
  .vision-page-composition .workspace-filter-primary .tn-filter-actions { display:flex; gap:8px; }
  .vision-page-composition .workspace-filters :is(input,select,button) { min-height:34px; font-size:13px; border-radius:6px; }
}
@media(min-width:1024px) {
  .vision-page-composition .workspace-filters :is(.btn-primary,button.btn.prim),
  .vision-filter-desktop :is(.btn-primary,.btn.prim) { color:#fff; background:#0f766e; border-color:#0f766e; }
}
/* One compact query bar. Field/value editor shares the existing filter engine. */
@media(min-width:1024px) {
  .vision-filter-desktop.dt-enhancer-toolbar {
    border:0; border-radius:0; background:transparent; box-shadow:none;
    padding:0; margin:0 0 8px; grid-template-columns:minmax(0,1fr) auto;
  }
  .vision-filter-desktop .dt-filter-popover { position:relative; border:0; margin:0; }
  .vision-filter-desktop .dt-filter-popover > summary { display:flex; align-items:center; gap:6px; min-height:34px; box-sizing:border-box; padding:6px 10px; border:1px solid var(--line,#d8dde5); border-radius:6px; font-size:13px; font-weight:500; cursor:pointer; list-style:none; background:var(--surface,#fff); }
  .vision-filter-desktop .dt-filter-popover > summary::-webkit-details-marker { display:none; }
  .vision-filter-desktop .dt-filter-popover > summary::before { content:'+'; font-size:16px; }
  .vision-filter-desktop .dt-filter-popover[open] > summary { border-color:var(--accent,#0f766e); }
  .vision-filter-desktop .dt-filter-panel { position:fixed; overflow:auto; width:300px; max-width:calc(100vw - 48px); box-sizing:border-box; padding:12px; display:grid; gap:10px; background:var(--surface,#fff); border:1px solid var(--line,#d8dde5); border-radius:8px; box-shadow:0 6px 18px #17232c20; z-index:20; }
  .vision-filter-desktop .dt-filter-panel label { display:grid; gap:5px; font-size:12px; }
  .vision-filter-desktop .dt-filter-panel select { width:100%; min-width:0; font-size:13px; }
  .vision-filter-desktop .dt-filter-chips { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
  .vision-filter-desktop .dt-filter-chips[hidden] { display:none; }
  .vision-filter-desktop .dt-filter-chip { display:inline-flex; align-items:center; gap:8px; min-width:0; max-width:min(420px,100%); min-height:30px; padding:4px 8px; font-size:12px; color:var(--text,#17232c); background:var(--accent-soft,#edf8f5); border:1px solid var(--line,#d8dde5); border-radius:6px; }
  .vision-filter-desktop .dt-filter-chip > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}

/* Typed client conditions: same desktop shell, explicit draft actions. */
@media (min-width:1024px) {
  .vision-filter-desktop .dt-filter-panel :is(input,select,button) { font-size:13px; min-height:34px; box-sizing:border-box; }
  .vision-filter-desktop .dt-filter-panel input { width:100%; border:1px solid var(--line,#d8dde5); border-radius:6px; padding:6px 8px; }
  .vision-filter-desktop .dt-value-picker { display:grid; gap:8px; min-width:0; }
  .vision-filter-desktop .dt-picker-options { max-height:170px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--line,#d8dde5); border-radius:6px; padding:3px; }
  .vision-filter-desktop .dt-filter-panel .dt-picker-option { display:flex; align-items:center; gap:8px; min-height:32px; padding:3px 6px; border-radius:4px; font-size:13px; cursor:pointer; }
  .vision-filter-desktop .dt-picker-option:hover { background:var(--surface-soft,#f3f6f5); }
  .vision-filter-desktop .dt-picker-option:focus-within { outline:2px solid var(--accent,#0d7e69); outline-offset:-2px; }
  .vision-filter-desktop .dt-filter-panel .dt-picker-option input { width:16px; height:16px; min-height:16px; margin:0; flex:0 0 16px; accent-color:var(--accent,#0d7e69); }
  .vision-filter-desktop .dt-picker-option span { overflow-wrap:anywhere; }
  .vision-filter-desktop .dt-picker-selected { display:flex; flex-wrap:wrap; gap:4px; max-height:86px; overflow:auto; }
  .vision-filter-desktop .dt-picker-selected:empty { display:none; }
  .vision-filter-desktop .dt-filter-panel .dt-picker-selected-value { display:flex; align-items:center; gap:6px; min-height:26px; max-width:100%; padding:3px 7px; border:1px solid var(--line,#d8dde5); border-radius:5px; background:var(--surface-soft,#f3f6f5); color:var(--text,#202a2e); font-size:12px; cursor:pointer; }
  .vision-filter-desktop .dt-picker-selected-value span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .vision-filter-desktop .dt-picker-empty { margin:8px; color:var(--muted,#64716c); font-size:13px; }
  .vision-filter-desktop .dt-filter-actions { display:flex; justify-content:flex-end; gap:8px; }
  .vision-filter-desktop .dt-filter-error { color:#a52d24; font-size:12px; }
  .vision-filter-desktop .dt-filter-error[hidden] { display:none; }
  .vision-filter-desktop .dt-filter-scope { font-size:12px; color:#56636d; line-height:1.4; }
  .vision-filter-desktop .dt-filter-chip { padding:0; gap:0; }
  .vision-filter-desktop .dt-filter-chip > button { min-height:30px; border:0; background:transparent; color:inherit; padding:4px 8px; font-size:12px; cursor:pointer; }
  .vision-filter-desktop .dt-filter-chip > button:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .vision-filter-desktop .dt-filter-chip > button:last-child { flex:none; border-left:1px solid var(--line,#d8dde5); }
  .vision-filter-desktop .dt-filter-chip > button:focus-visible { outline:2px solid #0f766e; outline-offset:2px; }
}

/* The client pager owns lazy rows after enhancement; author flex must not revive the native pager. */
@media (min-width:1024px) {
  .vision-table-desktop-wrap > .tn-table-more[hidden] { display:none !important; }
}

/* Flat desktop table cards keep viewport-positioned editors in viewport coordinates. */
@media (min-width:1024px) {
  .card:has(.vision-filter-desktop) {
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}
