.arx-fav-btn{
      border:0;
      background:transparent;
      cursor:pointer;
      font-size:16px;
      line-height:1;
      padding:2px 6px;
      opacity:.45;
    }
    .arx-pill--other{
  border-color: rgba(15,23,42,.14);
  color: rgba(15,23,42,.70);
  background: rgba(15,23,42,.03);
}
    .arx-fav-btn.is-on{ opacity:1; }
    .arx-fav-btn:focus{ outline:2px solid rgba(47,107,255,.25); border-radius:8px; }
    .arx-fav-pill{
      display:inline-flex;
      align-items:center;
      gap:6px;
    }
    .arx-mini{
      font-size:12px;
      opacity:.75;
    }
    
  /* ===== arx responsive (safe, no markup changes) ===== */

  /* 1) фильтры: превращаем в сетку и перенос */
  .arx-filters{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:flex-end;
  }
  .arx-filters .arx-f{
    min-width:160px;
    flex: 1 1 220px;
  }
  .arx-filters .arx-f--ticker{ flex: 1 1 180px; }
  .arx-filters .arx-f--limit{  flex: 0 1 120px; }

  /* 2) пейджер: перенос на мобильных */
  .arx-pager{
    display:grid;
    grid-template-columns: 1fr auto 1fr;
    gap:10px;
    align-items:center;
  }
  .arx-pager-left{ justify-self:start; }
  .arx-pager-mid{  justify-self:center; }
  .arx-pager-right{ justify-self:end; display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }

  /* 3) таблица: горизонтальный скролл без ломания колонок */
  .arx-table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .arx-table{
    min-width: 980px; /* чтобы не схлопывалась в кашу */
  }

  /* 4) узкие экраны */
  
  .arx-inline2{
  display:flex;
  gap:8px;
  width:100%;
  flex-wrap:wrap; 
}

.arx-inline2 .arx-inp{
  flex: 1 1 140px;  /* базовая “комфортная” ширина */
  min-width: 0;     /* разрешаем сжиматься */
  
  max-width: 100%;
}

@media (max-width: 420px){
  .arx-inline2{ flex-wrap: wrap; }
  .arx-inline2 .arx-inp{ flex-basis: 100%; }
}

  @media (max-width: 920px){
    .arx-pager{
      grid-template-columns: 1fr;
      align-items:start;
    }
    .arx-pager-mid{ justify-self:start; }
    .arx-pager-right{ justify-self:start; }
  }

  @media (max-width: 640px){
    .arx-filters .arx-f{
      flex: 1 1 100%;
      min-width: 0;
    }
    .arx-filters .arx-btn{
      width:100%;
    }
    /* компактнее элементы в ячейке портфеля */
    .arx-pf-cell > div{
      justify-content:space-between !important;
    }
    .arx-pf-cell .arx-pf-qty{
      width:72px !important;
    }

    /* текст в источнике/компании не раздувает строки */
    .arx-company{
      display:block;
      max-width: 220px;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
  }
.wrap.page-post.arx-wrap{
  padding: 10px;
}  



    /* ===========================
       Analyst Recos page — scoped
       Prefix: arx-
       =========================== */

    .arx-wrap{ padding: 18px 0 40px; }
    .arx-header{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin: 6px 0 14px;
      flex-wrap:wrap;
    }
    .arx-title{
      margin:0;
      font-size: clamp(28px, 3.2vw, 42px);
      line-height:1.05;
      letter-spacing:-.02em;
    }

    /* Filters */
    .arx-filters{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:flex-end;
      justify-content:flex-start;
      margin: 8px 0 16px;
    }
    .arx-f{
      display:flex;
      flex-direction:column;
      gap:6px;
      min-width: 170px;
    }
    .arx-f--ticker{ min-width: 140px; }
    .arx-f--limit{ min-width: 110px; }
    .arx-label{
      font-size: 12px;
      color: rgba(15,23,42,.65);
      line-height:1;
    }
    .arx-inp, .arx-sel{
      height: 36px;
      padding: 0 10px;
      border-radius: 10px;
      border: 1px solid rgba(15,23,42,.14);
      background:#fff;
      color:#0f172a;
      outline:none;
      box-shadow: 0 1px 0 rgba(15,23,42,.02);
      width: 100%;
    }
    .arx-inp:focus, .arx-sel:focus{
      border-color: rgba(47,107,255,.55);
      box-shadow: 0 0 0 3px rgba(47,107,255,.12);
    }
    .arx-btn{
      height: 36px;
      padding: 0 14px;
      border-radius: 12px;
      border: 1px solid rgba(15,23,42,.14);
      background:#fff;
      font-weight: 700;
      cursor:pointer;
      color:#0f172a;
      text-decoration:none;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      white-space:nowrap;
    }
    .arx-btn:hover{
      border-color: rgba(47,107,255,.45);
      box-shadow: 0 2px 12px rgba(15,23,42,.06);
    }

    /* Card / empty */
    .arx-card{
      background:#fff;
      border: 1px solid rgba(15,23,42,.10);
      border-radius: 18px;
      box-shadow: 0 10px 24px rgba(15,23,42,.04);
    }
    .arx-empty{
      padding: 14px 16px;
      color: rgba(15,23,42,.70);
    }

    /* Switch 7/30/90 */
    .arx-pillbox{
      display:inline-flex;
      gap:6px;
      align-items:center;
      padding: 4px 6px;
      border: 1px solid rgba(15,23,42,.10);
      border-radius: 999px;
      background:#fff;
      white-space:nowrap;
    }
    .arx-chip{
      display:inline-flex;
      align-items:center;
      height: 26px;
      padding: 0 10px;
      border-radius: 999px;
      border: 1px solid rgba(15,23,42,.12);
      background:#fff;
      font-weight:800;
      font-size: 12px;
      color:#0f172a;
      cursor:pointer;
      text-decoration:none;
      user-select:none;
      white-space:nowrap;
    }
    .arx-chip:hover{ border-color: rgba(47,107,255,.45); box-shadow: 0 2px 10px rgba(15,23,42,.06); }
    .arx-chip.is-on{
      border-color: rgba(47,107,255,.45);
      background: rgba(47,107,255,.07);
      color:#1e3a8a;
    }

    /* Pager bar (3 columns: left / center / right) */
    .arx-pager{
      display:grid;
      grid-template-columns: 1fr auto 1fr;
      align-items:center;
      gap:10px;
      margin-top: 6px;
      padding: 10px 12px;
    }
    .arx-pager-left{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-start; }
    .arx-pager-mid{ display:flex; align-items:center; justify-content:center; }
    .arx-pager-right{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }

    /* эффективности */
    .arx-eff{
      display:flex;
      align-items:center;
      gap:10px;
      padding: 6px 10px;
      border: 1px solid rgba(15,23,42,.10);
      border-radius: 999px;
      background:#fff;
      white-space:nowrap;
    }
    .arx-eff b{ font-weight: 900; }
    .arx-eff .arx-muted{ font-size:12px; }

    /* Table */
    .arx-table-wrap{
      margin-top: 12px;
      overflow:auto;
      -webkit-overflow-scrolling: touch;
    }
    .arx-table{
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      min-width: 1180px;
    }
    .arx-table thead th{
      position: sticky;
      top: 0;
      background:#fff;
      z-index: 1;
      text-align:left;
      font-size: 12px;
      color: rgba(15,23,42,.70);
      font-weight: 700;
      padding: 12px 14px;
      border-bottom: 1px solid rgba(15,23,42,.10);
      white-space: nowrap;
    }
    .arx-table tbody td{
      padding: 12px 14px;
      border-bottom: 1px solid rgba(15,23,42,.08);
      vertical-align: top;
    }
    .arx-table tbody tr:hover td{
      background: rgba(15,23,42,.02);
    }

    .arx-mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
    .arx-muted{ color: rgba(15,23,42,.55); }
    .arx-num{ text-align:right; white-space:nowrap; }

    /* Company cell */
    .arx-co{
      display:flex;
      flex-direction:column;
      gap:4px;
      min-width: 240px;
    }
    .arx-ticker{
      display:inline-flex;
      gap:10px;
      align-items:baseline;
      flex-wrap:wrap;
    }
    .arx-ticker-id{ font-weight:800; }
    .arx-company{ color:#0f172a; font-weight:500; }

    /* Reco pill */
    .arx-pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      height: 26px;
      padding: 0 10px;
      border-radius: 999px;
      border: 1px solid rgba(15,23,42,.14);
      font-weight: 800;
      font-size: 12px;
      white-space: nowrap;
      background:#fff;
    }
    .arx-pill--buy{  border-color: rgba(22,163,74,.35); color: #166534; background: rgba(22,163,74,.06); }
    .arx-pill--hold{ border-color: rgba(47,107,255,.35); color: #1e3a8a; background: rgba(47,107,255,.06); }
    .arx-pill--sell{ border-color: rgba(239,68,68,.35); color: #991b1b; background: rgba(239,68,68,.06); }
    .arx-pill--avoid{border-color: rgba(245,158,11,.40); color: #92400e; background: rgba(245,158,11,.08); }

    .arx-pct-pos{ color:#166534; font-weight:800; }
    .arx-pct-neg{ color:#991b1b; font-weight:800; }

    .arx-hit{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      height: 24px;
      padding: 0 9px;
      border-radius: 999px;
      font-weight: 900;
      font-size: 12px;
      border: 1px solid rgba(15,23,42,.12);
      background:#fff;
    }
    .arx-hit--yes{ border-color: rgba(22,163,74,.35); color:#166534; background: rgba(22,163,74,.06); }
    .arx-hit--no { border-color: rgba(239,68,68,.35); color:#991b1b; background: rgba(239,68,68,.06); }
    .arx-hit--na { border-color: rgba(15,23,42,.14); color: rgba(15,23,42,.55); background: rgba(15,23,42,.03); }

    /* Source column */
    .arx-src{ min-width: 80px; }
    .arx-src-title{
      display:inline-block;
      font-weight: 700;
      color:#0f172a;
      text-decoration:none;
      line-height:1.25;
    }
    .arx-src-title:hover{ text-decoration: underline; }

    /* Row highlight by outcome */
    .arx-row-pos td{ background: rgba(22,163,74,.04); }
    .arx-row-neg td{ background: rgba(239,68,68,.04); }
    .arx-row-pos:hover td{ background: rgba(22,163,74,.07); }
    .arx-row-neg:hover td{ background: rgba(239,68,68,.07); }

    /* Admin delete */
    .arx-admin-cell{ width: 86px; }
    .arx-del-btn{
      height: 30px;
      padding: 0 10px;
      border-radius: 12px;
      border: 1px solid rgba(239,68,68,.35);
      background: rgba(239,68,68,.04);
      color:#991b1b;
      font-weight: 900;
      cursor:pointer;
      white-space:nowrap;
    }
    .arx-del-btn:hover{
      border-color: rgba(239,68,68,.55);
      box-shadow: 0 2px 10px rgba(239,68,68,.10);
    }

    @media (max-width: 980px){
      .arx-pager{ grid-template-columns: 1fr; }
      .arx-pager-mid{ justify-content:flex-start; }
      .arx-pager-right{ justify-content:flex-start; }
    }
    @media (max-width: 820px){
      .arx-f{ min-width: 150px; }
      .arx-title{ font-size: 30px; }
      .arx-table{ min-width: 980px; }
      .arx-src{ min-width: 220px; }
    }
    
/* ===== PF modal (portfolio.modal.js) — ensure overlay works on /analyst-recos ===== */
#pf-modal-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 9998;
}

#pf-modal{
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;

  /* если базовые стили модалки не загрузились — хотя бы видно */
  background: var(--surface, #fff);
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  max-width: 92vw;
  max-height: 85vh;
  overflow: auto;
}

/* ===== PF modal inner UI (scoped) ===== */
#pf-modal{
  width: min(920px, 92vw);
  padding: 0;
  color: var(--fg, #0f172a);
  font-family: var(--font-sans, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
}

#pf-modal .hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(15,23,42,.10);
}

#pf-modal .hd h3{
  margin:0;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -.01em;
}

#pf-modal .pf-x{
  height: 32px;
  width: 32px;
  border-radius: 10px;
  border: 1px solid rgba(15,23,42,.14);
  background:#fff;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 18px;
  line-height: 1;
}

#pf-modal .bd{
  padding: 14px 16px;
}

#pf-modal .row{
  display:flex;
  gap:12px;
  align-items:flex-end;
  margin-top: 10px;
}

#pf-modal .muted{
  color: rgba(15,23,42,.65);
  font-size: 13px;
}

#pf-modal .input{
  height: 36px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid rgba(15,23,42,.14);
  background:#fff;
  color:#0f172a;
  outline:none;
  width: 100%;
  box-shadow: 0 1px 0 rgba(15,23,42,.02);
}

#pf-modal select.input{ padding-right: 30px; }

#pf-modal .input:focus{
  border-color: rgba(47,107,255,.55);
  box-shadow: 0 0 0 3px rgba(47,107,255,.12);
}

#pf-modal .ft{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding: 12px 16px;
  border-top: 1px solid rgba(15,23,42,.10);
  background:#fff;
}

#pf-modal .btn{
  height: 36px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.14);
  background:#fff;
  font-weight: 800;
  cursor:pointer;
  color:#0f172a;
}

#pf-modal .btn:hover{
  border-color: rgba(47,107,255,.45);
  box-shadow: 0 2px 12px rgba(15,23,42,.06);
}

#pf-modal .btn-ghost{
  background: transparent;
}

@media (max-width: 640px){
  #pf-modal .row{ flex-direction:column; align-items:stretch; }
}

.arx-table td:last-child,
.arx-table th:last-child{
  width: 92px;
  min-width: 92px;
  text-align: center;
}

.arx-portfolio-box{
  margin: 0 auto;
}