/* ══════════════════════════════════════════════
   ЗИП — Закупки и Поставки v2.0
   Автономный SPA-кабинет
══════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --lime:#C0FF00;
  --lime-dim:rgba(192,255,0,0.12);
  --lime-border:rgba(192,255,0,0.25);
  --lime-dk:#3d6b00;

  --sidebar:#FFFFFF;
  --white:#FFFFFF;
  --bg:#F4F3F0;
  --bg2:#EAE8E3;
  --bg3:#DEDAD3;
  --border:#E5E2DB;
  --border-md:#CEC9BF;

  --text-1:#1C1917;
  --text-2:#44403C;
  --text-3:#78716C;
  --text-4:#A8A29E;

  --red:#DC2626;    --red-bg:#FEF2F2;
  --amber:#B45309;  --amber-bg:#FFFBEB;
  --green:#15803D;  --green-bg:#F0FDF4;
  --blue:#1D4ED8;   --blue-bg:#EFF6FF;
  --purple:#5B21B6; --purple-bg:#F5F3FF;

  --r-sm:7px;--r-md:10px;--r-lg:14px;--r-xl:18px;
  --shadow-xs:0 1px 2px rgba(28,25,23,.04);
  --shadow-sm:0 2px 6px rgba(28,25,23,.05);
  --shadow-md:0 6px 18px rgba(28,25,23,.07);
  --ease:cubic-bezier(0.16,1,0.3,1);
}

/* ══ RESET для изоляции от темы WP ══ */
#zip-app{
  font-family:'Manrope',sans-serif;
  font-size:14px;
  color:var(--text-1);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  display:flex;
  width:100%;
  overflow:hidden;
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  height:100vh;
  z-index:9999;
}
/* Сдвиг при наличии WP adminbar (32px десктоп, 46px мобайл) */
.admin-bar #zip-app{
  top:32px;
  height:calc(100vh - 32px);
}
@media screen and (max-width:782px){
  .admin-bar #zip-app{
    top:46px;
    height:calc(100vh - 46px);
  }
}
#zip-app *{font-family:inherit;}
#zip-app a{text-decoration:none;color:inherit;}
#zip-app button{font-family:inherit;}
#zip-app input,#zip-app textarea,#zip-app select{font-family:inherit;}

/* ══════════════════════
   SIDEBAR
══════════════════════ */
.sidebar{
  width:216px;
  flex-shrink:0;
  background:var(--sidebar);
  border-right:1px solid var(--border);
  box-shadow:1px 0 4px rgba(28,25,23,.04);
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  transition:width .3s var(--ease);
}
.sidebar.collapsed{width:52px;}

/* Скрыть текст при свёрнутом сайдбаре */
.sidebar.collapsed .sb-logo-wrap,
.sidebar.collapsed .sb-item-text,
.sidebar.collapsed .sb-badge,
.sidebar.collapsed .sb-label,
.sidebar.collapsed .sb-user-info,
.sidebar.collapsed .sb-chevron{display:none!important;}
.sidebar.collapsed .sb-logo{padding:17px 9px 0;justify-content:center;gap:0;}
.sidebar.collapsed .sb-section{padding:0 6px;}
.sidebar.collapsed .sb-item{justify-content:center;padding:9px 0;gap:0;}
.sidebar.collapsed .sb-user-card{justify-content:center;padding:8px 0;gap:0;}
.sidebar.collapsed .sb-divider{margin:6px 8px;}
.sidebar.collapsed .sb-user{padding:10px 6px;}
.sidebar.collapsed .sb-toggle-btn{margin-left:0;margin-right:0;}
.sidebar.collapsed .sb-toggle-btn svg{transform:rotate(180deg);}

/* Tooltip при свёрнутом */
.sidebar.collapsed .sb-item{position:relative;}
.sidebar.collapsed .sb-item:hover::after{
  content:attr(data-label);
  position:absolute;left:56px;top:50%;transform:translateY(-50%);
  background:var(--text-1);color:#fff;
  font-size:.75rem;font-weight:600;
  padding:5px 10px;border-radius:8px;
  white-space:nowrap;z-index:999;
  pointer-events:none;
  box-shadow:0 4px 12px rgba(28,25,23,.2);
}

/* Красная точка уведомлений при свёрнутом */
.sidebar.collapsed .sb-notif-item{position:relative;}
.sidebar.collapsed .sb-notif-item.has-notif::before{
  content:'';
  position:absolute;top:5px;right:5px;
  width:8px;height:8px;border-radius:50%;
  background:var(--red);border:2px solid var(--sidebar);
  pointer-events:none;
}

/* Toggle button */
.sb-toggle-btn{
  width:22px;height:22px;border-radius:6px;
  background:var(--bg2);border:none;
  cursor:pointer;transition:background .15s;
  display:flex;align-items:center;justify-content:center;
  margin-left:auto;flex-shrink:0;color:var(--text-3);
}
.sb-toggle-btn:hover{background:var(--bg3);color:var(--text-1);}
.sb-toggle-btn svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none;transition:transform .3s var(--ease);}

/* Logo */
.sb-logo{
  display:flex;align-items:center;gap:9px;
  padding:17px 13px 0;margin-bottom:22px;
  text-decoration:none;overflow:hidden;
}
.sb-logo-mark{
  width:32px;height:32px;border-radius:8px;
  background:var(--lime);
  display:flex;align-items:center;justify-content:center;
  font-size:.58rem;font-weight:900;color:#1C1917;
  letter-spacing:-.02em;flex-shrink:0;
}
.sb-logo-wrap{display:flex;flex-direction:column;overflow:hidden;}
.sb-logo-name{font-size:.78rem;font-weight:800;color:var(--text-1);letter-spacing:-.02em;line-height:1.1;white-space:nowrap;}
.sb-logo-sub{font-size:.6rem;color:var(--text-3);margin-top:1px;white-space:nowrap;}

/* Nav sections */
.sb-nav{display:flex;flex-direction:column;flex:1;overflow:hidden;}
.sb-section{padding:0 7px;margin-bottom:2px;}
.sb-label{
  font-size:.58rem;font-weight:700;color:var(--text-4);
  text-transform:uppercase;letter-spacing:.12em;
  padding:0 8px;margin-bottom:3px;display:block;white-space:nowrap;
}
.sb-item{
  display:flex;align-items:center;gap:8px;
  padding:7px 8px;border-radius:10px;cursor:pointer;
  color:var(--text-3);
  font-size:.79rem;font-weight:600;
  transition:background .12s,color .12s;
  user-select:none;overflow:hidden;
}
.sb-item:hover{background:var(--bg2);color:var(--text-1);}
.sb-item.active{background:var(--bg2);color:var(--text-1);font-weight:700;}
.sb-item-text{white-space:nowrap;overflow:hidden;}
.sb-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sb-icon svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.sb-badge{
  margin-left:auto;
  background:var(--red);color:#fff;
  font-size:.59rem;font-weight:800;
  padding:2px 6px;border-radius:100px;
  min-width:17px;text-align:center;flex-shrink:0;
}
.sb-badge-n{background:var(--bg2);color:var(--text-3);}
.sb-divider{height:1px;background:var(--border);margin:6px 12px;}

/* User card */
.sb-user{margin-top:auto;padding:10px 7px;border-top:1px solid var(--border);}
.sb-user-card{
  display:flex;align-items:center;gap:8px;
  padding:7px 8px;border-radius:10px;cursor:pointer;
  transition:background .12s;overflow:hidden;
}
.sb-user-card:hover{background:var(--bg2);}
.sb-avatar{
  width:28px;height:28px;border-radius:50%;
  background:var(--bg2);
  display:flex;align-items:center;justify-content:center;
  font-size:.6rem;font-weight:800;color:var(--text-2);flex-shrink:0;
}
.sb-user-info{display:flex;flex-direction:column;overflow:hidden;}
.sb-user-name{font-size:.77rem;font-weight:700;color:var(--text-1);white-space:nowrap;}
.sb-user-role{font-size:.62rem;color:var(--text-3);margin-top:1px;white-space:nowrap;}
.sb-chevron{margin-left:auto;opacity:.2;flex-shrink:0;}
.sb-chevron svg{width:12px;height:12px;stroke:var(--text-3);stroke-width:2;fill:none;}

/* ══════════════════════
   MAIN
══════════════════════ */
.main{
  flex:1;display:flex;flex-direction:column;
  height:100vh;max-height:100vh;
  overflow:hidden;min-width:0;position:relative;
}

/* Topbar */
.topbar{
  height:52px;flex-shrink:0;
  background:var(--white);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;
  padding:0 20px;gap:10px;
}
.topbar-title{font-size:.9rem;font-weight:800;color:var(--text-1);letter-spacing:-.025em;}
.topbar-date{font-size:.78rem;color:var(--text-4);font-weight:500;}
.topbar-right{display:flex;align-items:center;gap:7px;margin-left:auto;}

/* Role switcher */
.role-switcher{display:flex;background:var(--bg2);border-radius:10px;padding:3px;gap:2px;margin-left:8px;}
.role-btn{
  padding:4px 10px;border-radius:7px;
  font-size:.74rem;font-weight:700;color:var(--text-3);
  cursor:pointer;transition:all .12s;border:none;
  background:transparent;font-family:'Manrope',sans-serif;white-space:nowrap;
}
.role-btn:hover{color:var(--text-1);}
.role-btn.active{background:var(--white);color:var(--text-1);box-shadow:var(--shadow-xs);}

/* Topbar buttons */
.tb-btn{
  width:32px;height:32px;border-radius:10px;
  background:var(--bg);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .12s;position:relative;
}
.tb-btn:hover{background:var(--bg2);}
.tb-btn svg{width:14px;height:14px;stroke:var(--text-3);stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.notif-dot{
  position:absolute;top:6px;right:6px;
  width:6px;height:6px;border-radius:50%;
  background:var(--red);border:1.5px solid var(--white);
}

/* CTA buttons */
.btn-new,.btn-new-rfq{
  display:flex;align-items:center;gap:6px;
  padding:0 14px;height:32px;
  background:var(--text-1);color:#fff;
  border:none;border-radius:10px;
  font-family:'Manrope',sans-serif;font-size:.77rem;font-weight:700;
  cursor:pointer;transition:all .12s;white-space:nowrap;
}
.btn-new:hover,.btn-new-rfq:hover{background:#2c2825;transform:translateY(-1px);}
.btn-new svg,.btn-new-rfq svg{width:12px;height:12px;stroke:#fff;stroke-width:2.5;fill:none;stroke-linecap:round;}

/* Global search */
.global-search{
  position:relative;display:flex;align-items:center;gap:7px;
  height:32px;padding:0 11px;
  background:var(--bg);border:1px solid var(--border);
  border-radius:10px;width:220px;
  transition:border-color .12s,width .2s;
}
.global-search:focus-within{border-color:var(--border-md);width:280px;}
.global-search input{
  flex:1;border:none;background:none;
  font-family:'Manrope',sans-serif;font-size:.78rem;
  color:var(--text-1);outline:none;
}
.global-search input::placeholder{color:var(--text-4);}

/* Content */
.content{
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  padding:18px 22px;
  display:flex;flex-direction:column;
  gap:14px;min-height:0;
  position:relative;
}
.content::-webkit-scrollbar{width:3px;}
.content::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:2px;}

/* Screens */
.screen{display:none;flex-direction:column;gap:12px;animation:fadeUp .25s var(--ease) both;width:100%;}
.screen.active{display:flex;}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.fade-up{animation:fadeUp .3s var(--ease) both;}
.delay-1{animation-delay:.05s;}
.delay-2{animation-delay:.1s;}
.delay-3{animation-delay:.15s;}
.delay-4{animation-delay:.2s;}
.delay-5{animation-delay:.25s;}

/* ══════════════════════
   LAYOUT HELPERS
══════════════════════ */
.page-header{
  display:flex;align-items:flex-start;justify-content:space-between;
  margin-bottom:12px;flex-shrink:0;flex-wrap:wrap;gap:10px;
}
.page-title{font-size:1.05rem;font-weight:900;letter-spacing:-.03em;color:var(--text-1);}
.page-sub{font-size:.78rem;color:var(--text-3);margin-top:2px;}
.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.two-col{display:grid;grid-template-columns:1fr 296px;gap:12px;}

/* ══════════════════════
   METRIC CARDS
══════════════════════ */
.mc{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  padding:16px;
  transition:box-shadow .18s,transform .18s;
  position:relative;overflow:hidden;cursor:pointer;
}
.mc.primary{border-left:3px solid var(--text-1);}
.mc:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.mc-eyebrow{
  font-size:.66rem;font-weight:700;color:var(--text-4);
  text-transform:uppercase;letter-spacing:.07em;
  margin-bottom:8px;display:flex;align-items:center;gap:5px;
}
.mc-eyebrow svg{width:11px;height:11px;stroke:currentColor;stroke-width:2;fill:none;}
.mc-row{display:flex;align-items:baseline;gap:8px;margin-bottom:5px;}
.mc-val{font-size:1.75rem;font-weight:900;color:var(--text-1);letter-spacing:-.05em;line-height:1;}
.mc-sub{font-size:.7rem;color:var(--text-4);margin-top:5px;font-weight:500;}
.mc-urgent{font-size:.65rem;font-weight:800;padding:2px 8px;border-radius:100px;white-space:nowrap;}
.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}

/* ══════════════════════
   CARDS
══════════════════════ */
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;}
.card-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 16px 11px;border-bottom:1px solid var(--border);
}
.card-title{font-size:.84rem;font-weight:800;color:var(--text-1);letter-spacing:-.02em;}
.card-action{
  font-size:.72rem;font-weight:700;color:var(--text-4);
  cursor:pointer;display:flex;align-items:center;gap:3px;transition:color .12s;
}
.card-action:hover{color:var(--text-1);}
.card-action svg{width:11px;height:11px;stroke:currentColor;stroke-width:2;fill:none;}

/* ══════════════════════
   TABLE — базовые стили
══════════════════════ */
.tbl-head{display:grid;padding:6px 16px;background:var(--bg);border-bottom:1px solid var(--border);gap:10px;align-items:center;}
.tbl-head-cell{font-size:.63rem;font-weight:700;color:var(--text-4);text-transform:uppercase;letter-spacing:.08em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.tbl-row{
  display:grid;padding:10px 16px;
  border-bottom:1px solid var(--border);
  align-items:center;cursor:pointer;
  transition:background .1s;gap:10px;
}
.tbl-row:last-child{border-bottom:none;}
.tbl-row:hover{background:var(--bg);}
.tbl-name{font-size:.79rem;font-weight:700;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tbl-sub{font-size:.68rem;color:var(--text-3);margin-top:1px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tbl-cell{font-size:.78rem;color:var(--text-2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tbl-actions{display:flex;align-items:center;gap:5px;justify-content:flex-end;flex-shrink:0;flex-wrap:nowrap;}
.tbl-id-cell{font-size:.72rem;font-weight:800;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tbl-total-row{display:grid;padding:10px 18px;background:var(--bg);border-top:1.5px solid var(--border-md);align-items:center;}
.tbl-desc-cell{min-width:0;overflow:hidden;}
.tbl-type-cell{min-width:0;}
.tbl-price-cell{font-weight:700;}

/* Адаптивная видимость колонок */
.tbl-col-show-sm{display:none;}

/* Сетки конкретных таблиц (desktop) */
.tbl-queue     {grid-template-columns:100px minmax(0,1fr) 110px 140px 140px 120px;}
.tbl-requests  {grid-template-columns:88px minmax(0,1fr) 130px 120px 44px 88px 100px;}
.tbl-offers    {grid-template-columns:minmax(0,1fr) 130px 120px 110px 90px 80px;}
.tbl-users     {grid-template-columns:minmax(0,1fr) 190px 160px 110px 70px;}
.tbl-apps      {grid-template-columns:80px minmax(0,1fr) 120px 54px 44px 96px 76px;}
.tbl-apps2     {grid-template-columns:minmax(0,2.2fr) minmax(0,1.2fr) 100px 100px 90px 110px;}
.tbl-req-offers{grid-template-columns:minmax(0,1fr) 110px 110px 96px;}
.tbl-orders-b  {grid-template-columns:70px minmax(0,1fr) 140px 110px 96px 96px;}
.tbl-orders-b2 {grid-template-columns:minmax(0,1.8fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 90px;}
.tbl-market    {grid-template-columns:80px minmax(0,1fr) 110px 54px 96px 130px;}
.tbl-sup-offers{grid-template-columns:80px minmax(0,1fr) 130px 110px 100px 110px;}
.tbl-orders-s  {grid-template-columns:70px minmax(0,1fr) 140px 110px 96px 160px;}

/* ──── Responsive: планшет ≤ 1100px ──── */
@media (max-width:1100px){
  .tbl-queue     {grid-template-columns:100px minmax(0,1fr) 110px 110px;}
  .tbl-requests  {grid-template-columns:80px minmax(0,1fr) 120px 110px 90px;}
  .tbl-offers    {grid-template-columns:minmax(0,1fr) 120px 110px 90px 80px;}
  .tbl-users     {grid-template-columns:minmax(0,1fr) 170px 150px 70px;}
  .tbl-apps      {grid-template-columns:80px minmax(0,1fr) 120px 54px 76px;}
  .tbl-apps2     {grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) 100px 90px;}
  .tbl-req-offers{grid-template-columns:minmax(0,1fr) 110px 110px 96px;}
  .tbl-orders-b  {grid-template-columns:70px minmax(0,1fr) 130px 110px 96px;}
  .tbl-orders-b2 {grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) 90px;}
  .tbl-market    {grid-template-columns:80px minmax(0,1fr) 110px 54px 130px;}
  .tbl-sup-offers{grid-template-columns:80px minmax(0,1fr) 120px 110px 110px;}
  .tbl-orders-s  {grid-template-columns:70px minmax(0,1fr) 130px 110px 160px;}
  .tbl-col-hide-md{display:none !important;}
}

/* ──── Responsive: мобильный ≤ 700px ──── */
@media (max-width:700px){
  .tbl-queue     {grid-template-columns:80px minmax(0,1fr) 90px 90px;}
  .tbl-requests  {grid-template-columns:72px minmax(0,1fr) 100px 80px;}
  .tbl-offers    {grid-template-columns:minmax(0,1fr) 100px 80px;}
  .tbl-users     {grid-template-columns:minmax(0,1fr) 110px 60px;}
  .tbl-apps      {grid-template-columns:72px minmax(0,1fr) 100px 72px;}
  .tbl-apps2     {grid-template-columns:minmax(0,1fr) minmax(0,1fr) 90px;}
  .tbl-req-offers{grid-template-columns:minmax(0,1fr) 100px 90px;}
  .tbl-orders-b  {grid-template-columns:60px minmax(0,1fr) 100px 90px;}
  .tbl-orders-b2 {grid-template-columns:minmax(0,1fr) minmax(0,1fr) 90px;}
  .tbl-market    {grid-template-columns:72px minmax(0,1fr) 120px;}
  .tbl-sup-offers{grid-template-columns:72px minmax(0,1fr) 100px 90px;}
  .tbl-orders-s  {grid-template-columns:60px minmax(0,1fr) 100px 130px;}
  .tbl-col-hide-sm{display:none !important;}
  .tbl-col-show-sm{display:block;}
  .tbl-head{padding:5px 12px;}
  .tbl-row{padding:8px 12px;}
}

/* ══════════════════════
   BADGES
══════════════════════ */
.badge{display:inline-flex;align-items:center;gap:4px;font-size:.66rem;font-weight:800;padding:3px 8px;border-radius:100px;white-space:nowrap;}
.badge-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}

/* ── Общие статусы (buyer + supplier) ── */
.b-draft{background:var(--bg2);color:var(--text-3);}.b-draft .badge-dot{background:var(--text-4);}
.b-gray{background:var(--bg2);color:var(--text-3);}.b-gray .badge-dot{background:var(--text-4);}
.b-cancelled{background:var(--bg2);color:var(--text-4);}.b-cancelled .badge-dot{background:var(--text-4);}

/* Синий — собрано / отправлено поставщикам (buyer) */
.b-collect,.b-published,.b-wip{background:var(--blue-bg);color:var(--blue);}.b-collect .badge-dot,.b-published .badge-dot,.b-wip .badge-dot{background:var(--blue);}

/* Фиолетовый — отправлена поставщикам / ожидает (admin: .b-sent) */
.b-sent{background:var(--purple-bg);color:var(--purple);}.b-sent .badge-dot{background:var(--purple);}
/* Синий — отправлено (buyer .b-collect) уже выше */

/* Ожидает подтверждения / онбординг */
.b-pending,.b-wait{background:var(--purple-bg);color:var(--purple);}.b-pending .badge-dot,.b-wait .badge-dot{background:var(--purple);}

/* Оранжевый — новая, на рассмотрении */
.b-new{background:#FFF7ED;color:#C2410C;}.b-new .badge-dot{background:#C2410C;}
.b-review,.b-submitted{background:var(--amber-bg);color:var(--amber);}.b-review .badge-dot,.b-submitted .badge-dot{background:var(--amber);}
.b-ol{background:var(--amber-bg);color:var(--amber);}.b-ol .badge-dot{background:var(--amber);}

/* Зелёный — выполнено / получены КП / принято */
.b-ordered,.b-done,.b-completed,.b-accepted{background:var(--green-bg);color:var(--green);}
.b-ordered .badge-dot,.b-done .badge-dot,.b-completed .badge-dot,.b-accepted .badge-dot{background:var(--green);}
.b-kp,.b-kp-received{background:var(--green-bg);color:var(--green);border:1px solid rgba(21,128,61,.2);}
.b-kp .badge-dot,.b-kp-received .badge-dot{background:var(--green);}

/* Красный — срочно / отклонено */
.b-urgent,.b-rejected{background:var(--red-bg);color:var(--red);}.b-urgent .badge-dot,.b-rejected .badge-dot{background:var(--red);}

/* Доставка / в пути (фиолетовый) */
.b-delivery,.b-in-delivery,.b-shipped{background:var(--purple-bg);color:var(--purple);}
.b-delivery .badge-dot,.b-in-delivery .badge-dot,.b-shipped .badge-dot{background:var(--purple);}

/* Supplier-специфичные */
.b-seen{background:var(--amber-bg);color:var(--amber);}.b-seen .badge-dot{background:var(--amber);}
.b-answered,.b-won{background:var(--green-bg);color:var(--green);}.b-answered .badge-dot,.b-won .badge-dot{background:var(--green);}
.b-lost{background:var(--bg2);color:var(--text-3);}.b-lost .badge-dot{background:var(--text-4);}
.b-kp-sent{background:var(--purple-bg);color:var(--purple);}.b-kp-sent .badge-dot{background:var(--purple);}
.b-paid{background:var(--lime-dim);color:var(--lime-dk);border:1px solid var(--lime-border);}.b-paid .badge-dot{background:var(--lime-dk);}
.b-confirm{background:var(--purple-bg);color:var(--purple);}.b-confirm .badge-dot{background:var(--purple);}

/* Приоритет */
.prio,.prio-h,.prio-m,.prio-l,.p-h,.p-m,.p-l{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.59rem;font-weight:900;}
.prio-h,.p-h{background:var(--red-bg);color:var(--red);}
.prio-m,.p-m{background:var(--amber-bg);color:var(--amber);}
.prio-l,.p-l{background:var(--bg2);color:var(--text-3);}

/* ══════════════════════
   TABS
══════════════════════ */
.tabs{display:flex;gap:2px;background:var(--bg2);border-radius:10px;padding:3px;width:fit-content;}
.tab{padding:5px 12px;border-radius:8px;font-size:.76rem;font-weight:700;color:var(--text-3);cursor:pointer;transition:all .12s;}
.tab:hover{color:var(--text-1);}
.tab.active{background:var(--white);color:var(--text-1);box-shadow:var(--shadow-xs);}
.tab-count{
  display:inline-flex;align-items:center;justify-content:center;
  width:17px;height:17px;border-radius:50%;
  background:var(--bg3);font-size:.59rem;font-weight:800;
  margin-left:3px;color:var(--text-2);
}

/* ══════════════════════
   FILTER BAR
══════════════════════ */
.filter-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.search-input{
  display:flex;align-items:center;gap:6px;
  padding:6px 11px;border-radius:10px;
  border:1px solid var(--border);background:var(--white);
}
.search-input svg{width:12px;height:12px;stroke:var(--text-4);stroke-width:2;fill:none;flex-shrink:0;}
.search-input input{
  border:none;outline:none;
  font-family:'Manrope',sans-serif;font-size:.77rem;
  color:var(--text-1);background:transparent;width:150px;
}
.search-input input::placeholder{color:var(--text-4);}
.filter-select{
  padding:6px 10px;border-radius:10px;
  border:1px solid var(--border);background:var(--white);
  font-family:'Manrope',sans-serif;font-size:.76rem;font-weight:600;
  color:var(--text-2);cursor:pointer;outline:none;
}

/* ══════════════════════
   BUTTONS
══════════════════════ */
.btn{
  padding:7px 13px;border-radius:10px;
  font-family:'Manrope',sans-serif;font-size:.78rem;font-weight:700;
  cursor:pointer;transition:all .12s;border:none;
  display:inline-flex;align-items:center;gap:5px;
}
.btn svg{width:12px;height:12px;stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round;}
.btn-primary{background:var(--text-1);color:#fff;}
.btn-primary:hover{background:#2c2825;transform:translateY(-1px);}
.btn-primary:disabled{background:var(--bg3);color:var(--text-4);cursor:not-allowed;transform:none;}
.btn-ghost{background:var(--bg2);color:var(--text-2);}
.btn-ghost:hover{background:var(--bg3);}
.btn-outline{background:transparent;color:var(--text-2);border:1px solid var(--border);}
.btn-outline:hover{border-color:var(--border-md);color:var(--text-1);}
.btn-danger{background:var(--red-bg);color:var(--red);}
.btn-danger:hover{background:#fee2e2;}
.btn-lime{background:var(--lime);color:var(--text-1);}
.btn-lime:hover{background:#d4ff4a;}
.btn-sm{padding:5px 10px;font-size:.73rem;}
.btn-xs{padding:3px 8px;font-size:.7rem;border-radius:7px;}
.btn-icon{width:28px;height:28px;padding:0;border-radius:7px;border:none;background:var(--bg2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s;}
.btn-icon:hover{background:var(--bg3);}
.btn-icon svg{width:13px;height:13px;stroke:var(--text-3);stroke-width:2;fill:none;}

/* ══════════════════════
   FORMS
══════════════════════ */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.form-row.full{grid-template-columns:1fr;}
.form-row.three{grid-template-columns:1fr 1fr 1fr;}
.form-group{display:flex;flex-direction:column;gap:4px;}
.form-label{font-size:.7rem;font-weight:700;color:var(--text-2);}
.form-label span{color:var(--red);margin-left:2px;}
.form-input{
  padding:8px 11px;border-radius:10px;
  border:1px solid var(--border);background:var(--white);
  font-family:'Manrope',sans-serif;font-size:.79rem;color:var(--text-1);
  outline:none;transition:border-color .12s;width:100%;
}
.form-input:focus{border-color:var(--border-md);}
.form-input::placeholder{color:var(--text-4);}
textarea.form-input{resize:vertical;min-height:70px;}
.form-select{
  padding:8px 11px;border-radius:10px;
  border:1px solid var(--border);background:var(--white);
  font-family:'Manrope',sans-serif;font-size:.79rem;color:var(--text-1);
  outline:none;cursor:pointer;width:100%;
}
.form-hint{font-size:.68rem;color:var(--text-4);margin-top:2px;}

/* ══════════════════════
   POSITIONS TABLE (заявка)
══════════════════════ */
.pos-tbl{border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-top:5px;}
.pos-tbl-head{
  display:grid;
  grid-template-columns:1.8fr 0.9fr 0.5fr 0.6fr 1fr 28px;
  gap:6px;padding:7px 11px;
  background:var(--bg);border-bottom:1px solid var(--border);
}
.pos-tbl-head-cell{font-size:.62rem;font-weight:700;color:var(--text-4);text-transform:uppercase;letter-spacing:.07em;}
.pos-row{
  display:grid;
  grid-template-columns:1.8fr 0.9fr 0.5fr 0.6fr 1fr 28px;
  gap:6px;padding:6px 11px;
  border-bottom:1px solid var(--border);align-items:center;
}
.pos-row:last-child{border-bottom:none;}
.pos-input{
  padding:5px 8px;border-radius:7px;
  border:1px solid var(--border);background:transparent;
  font-family:'Manrope',sans-serif;font-size:.76rem;color:var(--text-1);
  outline:none;width:100%;transition:border-color .12s;
}
.pos-input:focus{border-color:var(--border-md);}
.pos-input[readonly]{background:var(--bg);color:var(--text-3);}
.pos-del{
  width:22px;height:22px;border-radius:5px;border:none;
  background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-4);transition:all .12s;flex-shrink:0;
}
.pos-del:hover{color:var(--red);background:var(--red-bg);}
.pos-del svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none;}
.add-pos-btn{
  display:flex;align-items:center;gap:5px;
  padding:8px 11px;font-size:.76rem;font-weight:700;
  color:var(--text-3);cursor:pointer;
  border:none;background:transparent;
  font-family:'Manrope',sans-serif;width:100%;transition:color .12s;
}
.add-pos-btn:hover{color:var(--text-1);}
.add-pos-btn svg{width:12px;height:12px;stroke:currentColor;stroke-width:2.5;fill:none;}

/* Offer items table */
.offer-tbl-head{
  display:grid;
  grid-template-columns:2fr 0.6fr 0.6fr 1fr 1fr;
  gap:6px;padding:7px 11px;
  background:var(--bg);border-bottom:1px solid var(--border);
}
.offer-row{
  display:grid;
  grid-template-columns:2fr 0.6fr 0.6fr 1fr 1fr;
  gap:6px;padding:8px 11px;
  border-bottom:1px solid var(--border);align-items:center;
}
.offer-row:last-child{border-bottom:none;}

/* ══════════════════════
   UPLOAD ZONE
══════════════════════ */
.upload-zone{
  border:1.5px dashed var(--border-md);border-radius:14px;
  padding:20px;text-align:center;cursor:pointer;
  transition:all .2s;background:var(--bg);
}
.upload-zone:hover,.upload-zone.dragover{border-color:var(--text-3);background:var(--bg2);}
.upload-zone-icon{
  width:34px;height:34px;border-radius:9px;
  background:var(--bg2);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;margin:0 auto 9px;
}
.upload-zone-icon svg{width:16px;height:16px;stroke:var(--text-3);stroke-width:1.75;fill:none;}
.upload-zone-text{font-size:.78rem;font-weight:600;color:var(--text-2);}
.upload-zone-sub{font-size:.7rem;color:var(--text-4);margin-top:2px;}

/* Doc items */
.doc-item{
  display:flex;align-items:center;gap:11px;
  padding:11px 16px;border-bottom:1px solid var(--border);
  cursor:pointer;transition:background .1s;
}
.doc-item:last-child{border-bottom:none;}
.doc-item:hover{background:var(--bg);}
.doc-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.doc-icon svg{width:16px;height:16px;stroke-width:1.7;fill:none;stroke-linecap:round;}
.doc-icon.pdf{background:var(--red-bg);}.doc-icon.pdf svg{stroke:var(--red);}
.doc-icon.xls{background:var(--green-bg);}.doc-icon.xls svg{stroke:var(--green);}
.doc-icon.doc{background:var(--blue-bg);}.doc-icon.doc svg{stroke:var(--blue);}
.doc-icon.other{background:var(--bg2);}.doc-icon.other svg{stroke:var(--text-3);}
.doc-name{font-size:.79rem;font-weight:700;color:var(--text-1);}
.doc-meta{font-size:.68rem;color:var(--text-3);margin-top:1px;}
.doc-actions{margin-left:auto;display:flex;gap:5px;align-items:center;}
.doc-size{font-size:.68rem;color:var(--text-4);white-space:nowrap;margin-right:6px;}
.doc-btn{width:26px;height:26px;border-radius:6px;border:none;background:var(--bg2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s;}
.doc-btn:hover{background:var(--bg3);}
.doc-btn svg{width:12px;height:12px;stroke:var(--text-3);stroke-width:2;fill:none;}

/* ══════════════════════
   AI CARD
══════════════════════ */
.ai-insight,.ai-card{
  background:var(--white);
  border:1px solid var(--border);
  border-left:3px solid var(--lime);
  border-radius:var(--r-xl);padding:16px;
  position:relative;overflow:hidden;
}
.ai-insight::before,.ai-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:48px;
  background:linear-gradient(180deg,rgba(192,255,0,.04) 0%,transparent 100%);
  pointer-events:none;
}
.ai-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.ai-icon{
  width:26px;height:26px;border-radius:7px;
  background:var(--lime-dim);border:1px solid var(--lime-border);
  display:flex;align-items:center;justify-content:center;
}
.ai-icon svg{width:13px;height:13px;stroke:#4a7c00;stroke-width:1.75;fill:none;}
.ai-label,.ai-lbl{font-size:.66rem;font-weight:800;color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;}
.ai-dot,.ai-pulse{
  width:7px;height:7px;border-radius:50%;
  background:var(--lime);margin-left:auto;
  animation:ai-glow 2s infinite;
}
@keyframes ai-glow{
  0%{box-shadow:0 0 0 0 rgba(192,255,0,.5);}
  70%{box-shadow:0 0 0 7px rgba(192,255,0,0);}
  100%{box-shadow:0 0 0 0 rgba(192,255,0,0);}
}
.ai-text{font-size:.79rem;color:var(--text-2);line-height:1.65;}
.ai-hl,.ai-highlight{color:#3d6b00;font-weight:700;}
.ai-actions,.ai-btns{display:flex;gap:7px;margin-top:11px;}
.ai-btn{font-size:.73rem;font-weight:700;padding:6px 12px;border-radius:10px;cursor:pointer;border:none;font-family:'Manrope',sans-serif;transition:all .12s;}
.ai-btn-primary,.ai-btn-p{background:var(--text-1);color:#fff;}
.ai-btn-primary:hover,.ai-btn-p:hover{background:#2c2825;transform:translateY(-1px);}
.ai-btn-ghost,.ai-btn-g{background:var(--bg);color:var(--text-3);border:1px solid var(--border);}
.ai-btn-ghost:hover,.ai-btn-g:hover{background:var(--bg2);}

/* ══════════════════════
   STEPS (wizard)
══════════════════════ */
.steps{display:flex;align-items:center;gap:0;margin-bottom:18px;}
.step{display:flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:var(--text-4);}
.step.active{color:var(--text-1);}
.step.done{color:var(--green);}
.step-num{width:20px;height:20px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:.63rem;font-weight:900;flex-shrink:0;}
.step.active .step-num{background:var(--text-1);color:#fff;border-color:var(--text-1);}
.step.done .step-num{background:var(--green);color:#fff;border-color:var(--green);}
.step-line{flex:1;height:1px;background:var(--border);margin:0 7px;}
.step-line.done{background:var(--green);}

/* ══════════════════════
   EVAL TABLE
══════════════════════ */
.eval-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px;}
.eval-table{width:100%;border-collapse:collapse;min-width:560px;}
.eval-table th{
  padding:7px 11px;background:var(--bg);
  border-bottom:1px solid var(--border);
  font-size:.63rem;font-weight:700;color:var(--text-4);
  text-transform:uppercase;letter-spacing:.07em;text-align:left;white-space:nowrap;
}
.eval-table td{
  padding:8px 11px;border-bottom:1px solid var(--border);
  font-size:.78rem;color:var(--text-2);font-variant-numeric:tabular-nums;
}
.eval-table tr:last-child td{border-bottom:none;}
.eval-table tr:hover td{background:var(--bg);}
.cell-best{background:var(--green-bg)!important;color:var(--green);font-weight:800;}
.eval-winner{
  display:flex;align-items:center;gap:6px;
  padding:9px 12px;background:var(--bg);
  border:1px solid var(--border-md);border-radius:14px;margin-bottom:10px;
}

/* ══════════════════════
   MODALS
══════════════════════ */
.overlay{
  position:fixed;inset:0;
  background:rgba(28,25,23,.45);
  backdrop-filter:blur(4px);
  z-index:10000;
  display:none;align-items:center;justify-content:center;
}
.overlay.open{display:flex;}
.modal{
  background:var(--white);border-radius:22px;
  box-shadow:0 20px 60px rgba(28,25,23,.15);
  overflow:hidden;max-height:90vh;
  display:flex;flex-direction:column;
  animation:modalIn .22s var(--ease) both;
}
@keyframes modalIn{from{opacity:0;transform:scale(.96) translateY(10px);}to{opacity:1;transform:scale(1) translateY(0);}}
.modal-create{width:660px;}
.modal-order-detail{width:700px;}
.modal-rfq-respond{width:740px;}
.modal-sup-profile{width:660px;}
.modal-finance{width:560px;}
.modal-invite{width:420px;}
/* Таблица ответа на заявку */
.rfq-resp-table{width:100%;border-collapse:collapse;min-width:640px;font-size:.8rem;}
.rfq-resp-table th{padding:7px 10px;background:var(--bg);border-bottom:1px solid var(--border);font-size:.63rem;font-weight:700;color:var(--text-4);text-transform:uppercase;letter-spacing:.07em;text-align:left;white-space:nowrap;}
.rfq-resp-table td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle;}
.rfq-resp-table tfoot td{padding:9px 10px;background:var(--bg);font-weight:800;}
.rfq-resp-input{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:7px;font-family:inherit;font-size:.79rem;color:var(--text-1);background:var(--white);outline:none;transition:border-color .15s;}
.rfq-resp-input:focus{border-color:var(--lime-dk);}
.rfq-resp-input[type=number]{width:90px;}
.rfq-resp-input.lead{width:64px;text-align:center;}
/* Кнопка "Пригласить" в топбаре */
.btn-invite{display:flex;align-items:center;gap:5px;padding:0 12px;height:32px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:.77rem;font-weight:700;color:var(--text-2);cursor:pointer;transition:background .12s;white-space:nowrap;}
.btn-invite:hover{background:var(--bg2);}
.btn-invite svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none;}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px 14px;border-bottom:1px solid var(--border);
}
.modal-title{font-size:.95rem;font-weight:800;letter-spacing:-.025em;color:var(--text-1);}
.modal-close{
  width:28px;height:28px;border-radius:7px;
  border:none;background:var(--bg);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .12s;
}
.modal-close:hover{background:var(--bg2);}
.modal-close svg{width:13px;height:13px;stroke:var(--text-2);stroke-width:2;fill:none;}
.modal-body{overflow-y:auto;padding:18px 22px;flex:1;}
.modal-body::-webkit-scrollbar{width:3px;}
.modal-body::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:2px;}
.modal-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 22px;border-top:1px solid var(--border);background:var(--bg);
}

/* Order detail layout */
.order-detail{display:grid;grid-template-columns:1fr 280px;gap:14px;}
.order-detail-main,.order-detail-side{display:flex;flex-direction:column;gap:11px;}

/* Info rows */
.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:.79rem;}
.info-row:last-child{border-bottom:none;}
.info-key{color:var(--text-3);font-weight:500;}
.info-val{color:var(--text-1);font-weight:700;text-align:right;}

/* Tracker (order status) */
.tracker{display:flex;align-items:flex-start;padding:18px 16px;overflow-x:auto;gap:0;}
.tracker-step{display:flex;flex-direction:column;align-items:center;flex:1;min-width:70px;position:relative;}
.tracker-step:not(:last-child)::after{
  content:'';position:absolute;
  top:13px;left:calc(50% + 13px);right:calc(-50% + 13px);
  height:2px;background:var(--border);z-index:0;
}
.tracker-step.done:not(:last-child)::after{background:var(--text-1);}
.tracker-dot{
  width:26px;height:26px;border-radius:50%;
  border:2px solid var(--border);background:var(--white);
  display:flex;align-items:center;justify-content:center;
  z-index:1;position:relative;flex-shrink:0;
}
.tracker-dot svg{width:11px;height:11px;stroke:var(--text-4);stroke-width:2.5;fill:none;display:none;}
.tracker-step.done .tracker-dot{background:var(--text-1);border-color:var(--text-1);}
.tracker-step.done .tracker-dot svg{display:block;stroke:#fff;}
.tracker-step.active .tracker-dot{border-color:var(--text-1);box-shadow:0 0 0 3px rgba(28,25,23,.07);}
.tracker-step.active .tracker-dot::after{content:'';width:7px;height:7px;border-radius:50%;background:var(--text-1);position:absolute;}
.tracker-lbl{font-size:.62rem;font-weight:700;color:var(--text-4);margin-top:6px;text-align:center;line-height:1.3;}
.tracker-step.done .tracker-lbl{color:var(--text-2);}
.tracker-step.active .tracker-lbl{color:var(--text-1);font-weight:800;}
.tracker-date{font-size:.6rem;color:var(--text-4);margin-top:2px;text-align:center;}

/* Timeline */
.tl-item{display:flex;gap:11px;padding:9px 16px;position:relative;}
.tl-item::before{content:'';position:absolute;left:25px;top:30px;bottom:0;width:1px;background:var(--border);}
.tl-item:last-child::before{display:none;}
.tl-dot{width:16px;height:16px;border-radius:50%;background:var(--bg2);border:2px solid var(--border);flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;}
.tl-dot.active{background:var(--text-1);border-color:var(--text-1);}
.tl-dot.active svg{display:block;}
.tl-dot svg{display:none;width:8px;height:8px;stroke:#fff;stroke-width:3;fill:none;}
.tl-text{font-size:.78rem;color:var(--text-2);font-weight:500;}
.tl-time{font-size:.68rem;color:var(--text-4);margin-top:2px;}

/* Progress bars */
.pbar-row{padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;}
.pbar-row:last-child{border-bottom:none;}
.pbar-row:hover{background:var(--bg);}
.pbar-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;}
.pbar-name{font-size:.78rem;font-weight:700;color:var(--text-1);}
.pbar-val{font-size:.73rem;font-weight:800;color:var(--text-2);}
.pbar-sub{font-size:.68rem;color:var(--text-3);margin-top:1px;}
.pbar{height:3px;background:var(--bg2);border-radius:2px;overflow:hidden;}
.pbar-fill{height:100%;border-radius:2px;background:var(--text-1);transition:width .6s var(--ease);}

/* Mini stats */
.mini-stat{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border);}
.mini-stat:last-child{border-bottom:none;}
.mini-stat-lbl{font-size:.78rem;color:var(--text-2);font-weight:500;}
.mini-stat-val{font-size:.84rem;font-weight:800;color:var(--text-1);}
.mini-stat-val.g,.mini-stat-val.green{color:var(--green);}
.mini-stat-val.r,.mini-stat-val.red{color:var(--red);}
.mstat{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;}
.mstat:last-child{border-bottom:none;}
.mstat:hover{background:var(--bg);}
.mstat-l{font-size:.78rem;color:var(--text-2);}
.mstat-v{font-size:.82rem;font-weight:800;color:var(--text-1);}

/* Today items (dashboard) */
.today-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-bottom:1px solid var(--border);
  cursor:pointer;transition:background .1s;
}
.today-item:last-child{border-bottom:none;}
.today-item:hover{background:var(--bg);}
.today-item.done{opacity:.4;pointer-events:none;}
.today-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.today-icon svg{width:16px;height:16px;stroke-width:1.75;fill:none;stroke-linecap:round;}
.today-text{flex:1;min-width:0;}
.today-title{font-size:.8rem;font-weight:700;color:var(--text-1);line-height:1.3;}
.today-sub{font-size:.7rem;color:var(--text-3);margin-top:2px;}
.today-done-mark{width:18px;height:18px;border-radius:50%;background:var(--green-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.today-done-mark svg{width:9px;height:9px;stroke:var(--green);stroke-width:3;fill:none;display:none;}
.today-item.done .today-done-mark svg{display:block;}

/* Suppliers */
.sup-row{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;}
.sup-row:last-child{border-bottom:none;}
.sup-row:hover{background:var(--bg);}
.sup-ava{width:28px;height:28px;border-radius:50%;background:var(--bg2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;color:var(--text-3);flex-shrink:0;}
.sup-name{font-size:.79rem;font-weight:700;color:var(--text-1);}
.sup-cat{font-size:.67rem;color:var(--text-3);margin-top:1px;}
.sup-score{margin-left:auto;display:flex;align-items:center;gap:4px;}
.score-n{font-size:.78rem;font-weight:800;color:var(--text-1);}
.sup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;}
.sup-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:var(--white);transition:box-shadow .2s,transform .2s;cursor:pointer;position:relative;}
.sup-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.sup-card-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;}
.sup-card-ava{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#fff;flex-shrink:0;background:var(--text-2);}
.sup-card-name{font-size:.84rem;font-weight:800;color:var(--text-1);}
.sup-card-cat{font-size:.69rem;color:var(--text-3);margin-top:2px;}
.sup-card-badge{position:absolute;top:12px;right:12px;}
.sup-card-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding-top:10px;border-top:1px solid var(--border);}
.sup-stat{text-align:center;}
.sup-stat-val{font-size:.84rem;font-weight:900;color:var(--text-1);}
.sup-stat-lbl{font-size:.6rem;color:var(--text-4);margin-top:2px;font-weight:600;}
.stars{display:flex;align-items:center;gap:1px;}
.star{width:10px;height:10px;fill:var(--bg3);flex-shrink:0;}
.star.lit{fill:#F59E0B;}
.sup-trust{display:flex;align-items:center;gap:6px;margin-top:8px;}
.sup-trust-bar{flex:1;height:3px;background:var(--bg2);border-radius:2px;overflow:hidden;}
.sup-trust-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#D97706,var(--green));}
.sup-trust-val{font-size:.7rem;font-weight:800;color:var(--text-1);}
.sup-profile-head{display:flex;align-items:center;gap:14px;padding:18px 22px;background:var(--bg);border-bottom:1px solid var(--border);}
.sup-profile-ava-lg{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:900;color:#fff;flex-shrink:0;background:var(--text-2);}
.sup-profile-name{font-size:1.05rem;font-weight:900;letter-spacing:-.03em;}
.sup-profile-meta{font-size:.76rem;color:var(--text-3);margin-top:3px;}
.sup-profile-stats{display:flex;gap:18px;margin-left:auto;}
.sps-val{font-size:1.2rem;font-weight:900;color:var(--text-1);letter-spacing:-.04em;}
.sps-lbl{font-size:.63rem;color:var(--text-4);font-weight:600;text-transform:uppercase;letter-spacing:.06em;}

/* ══════════════════════
   CHAT
══════════════════════ */
.chat-wrap{display:flex;flex-direction:column;gap:9px;padding:12px 16px;max-height:260px;overflow-y:auto;}
.chat-msg{display:flex;gap:8px;align-items:flex-start;}
.chat-msg.mine{flex-direction:row-reverse;}
.chat-ava{width:26px;height:26px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;color:var(--text-2);flex-shrink:0;}
.chat-bubble{background:var(--bg);border-radius:11px 11px 11px 3px;padding:7px 11px;max-width:75%;font-size:.78rem;color:var(--text-1);line-height:1.5;}
.chat-msg.mine .chat-bubble{background:var(--text-1);color:#fff;border-radius:11px 11px 3px 11px;}
.chat-time{font-size:.61rem;color:var(--text-4);margin-top:2px;}
.chat-input-row{display:flex;gap:7px;padding:9px 16px;border-top:1px solid var(--border);}
.chat-input{flex:1;padding:7px 11px;border-radius:10px;border:1px solid var(--border);font-family:'Manrope',sans-serif;font-size:.78rem;outline:none;transition:border-color .12s;}
.chat-input:focus{border-color:var(--border-md);}
.chat-send{width:32px;height:32px;border-radius:10px;background:var(--text-1);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.chat-send:hover{background:#2c2825;}
.chat-send svg{width:13px;height:13px;stroke:var(--lime);stroke-width:2.5;fill:none;}

/* Mono numbers in tables */
.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";}

/* ══════════════════════
   CHAT PANEL (slide-in)
══════════════════════ */
.chat-panel{
  position:fixed;top:0;right:-380px;bottom:0;
  width:360px;z-index:10001;
  background:var(--white);
  border-left:1px solid var(--border);
  box-shadow:-4px 0 24px rgba(28,25,23,.1);
  display:flex;flex-direction:column;
  transition:right .3s var(--ease);
}
.chat-panel.open{right:0;}
.chat-panel-topbar{display:flex;align-items:center;gap:10px;padding:0 16px;height:52px;border-bottom:1px solid var(--border);flex-shrink:0;}
.chat-panel-title{font-size:.88rem;font-weight:800;color:var(--text-1);flex:1;}
.chat-panel-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;}
.chat-panel-list{display:flex;flex-direction:column;gap:0;}
.chat-panel-thread{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;}
.chat-panel-thread:hover{background:var(--bg);}
.chat-panel-thread.active{background:var(--bg);}
.chat-panel-ava{width:36px;height:36px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:800;color:var(--text-2);flex-shrink:0;}
.chat-panel-info{flex:1;min-width:0;}
.chat-panel-name{font-size:.79rem;font-weight:700;color:var(--text-1);}
.chat-panel-preview{font-size:.71rem;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;}
.chat-panel-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;}
.chat-panel-time{font-size:.65rem;color:var(--text-4);}
.chat-panel-unread{width:16px;height:16px;border-radius:50%;background:var(--red);color:#fff;font-size:.55rem;font-weight:800;display:flex;align-items:center;justify-content:center;}
.chat-overlay{position:fixed;inset:0;z-index:10000;background:rgba(28,25,23,.2);display:none;}
.chat-overlay.open{display:block;}
/* Topbar chat button */
.chat-topbar-btn{position:relative;}
.chat-topbar-btn .chat-unread-badge{position:absolute;top:-3px;right:-3px;min-width:14px;height:14px;border-radius:7px;background:var(--red);color:#fff;font-size:.55rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid var(--white);}

/* ══════════════════════
   NOTIFICATIONS
══════════════════════ */
.notif-item{
  display:flex;align-items:flex-start;gap:11px;
  padding:13px 16px;border-bottom:1px solid var(--border);
  cursor:pointer;transition:background .1s;position:relative;
}
.notif-item:hover{background:var(--bg);}
.notif-item.unread{background:rgba(28,25,23,.015);}
.notif-item.unread::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--text-1);border-radius:0 2px 2px 0;}
.notif-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.notif-icon svg{width:15px;height:15px;stroke-width:1.75;fill:none;stroke-linecap:round;}
.ni-order{background:var(--blue-bg);}.ni-order svg{stroke:var(--blue);}
.ni-ai{background:var(--lime-dim);}.ni-ai svg{stroke:#4a7c00;}
.ni-alert{background:var(--red-bg);}.ni-alert svg{stroke:var(--red);}
.ni-ok{background:var(--green-bg);}.ni-ok svg{stroke:var(--green);}
.ni-money{background:var(--amber-bg);}.ni-money svg{stroke:var(--amber);}
.notif-text{font-size:.78rem;color:var(--text-1);line-height:1.5;}
.notif-text b{font-weight:700;}
.notif-time{font-size:.67rem;color:var(--text-4);margin-top:3px;}
.notif-unread-dot{width:6px;height:6px;border-radius:50%;background:var(--text-1);flex-shrink:0;margin-top:5px;margin-left:auto;}

/* ══════════════════════
   RFQ DETAIL SCREEN (buyer full-screen)
══════════════════════ */
#screen-buyer-rfq-detail{
  position:absolute;inset:0;z-index:20;
  display:none;flex-direction:column;
  background:var(--bg);overflow:hidden;
}
#screen-buyer-rfq-detail.active{display:flex;}
.rfq-detail-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 20px;background:var(--white);border-bottom:1px solid var(--border);
  flex-shrink:0;gap:12px;flex-wrap:wrap;
}
.rfq-breadcrumb{display:flex;align-items:center;gap:7px;min-width:0;}
.back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:.78rem;font-weight:700;color:var(--text-3);padding:4px 7px;border-radius:8px;transition:all .12s;white-space:nowrap;flex-shrink:0;}
.back-btn:hover{background:var(--bg2);color:var(--text-1);}
.back-btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;}
.rfq-breadcrumb-title{font-size:.84rem;font-weight:700;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px;}
.rfq-breadcrumb-num{font-size:.75rem;color:var(--text-4);white-space:nowrap;flex-shrink:0;}
.rfq-detail-tabs{
  display:flex;gap:2px;padding:0 20px;
  background:var(--white);border-bottom:1px solid var(--border);flex-shrink:0;
}
.rfq-detail-tabs .tab-item{
  padding:10px 14px;font-size:.78rem;font-weight:600;color:var(--text-3);
  cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;
  display:flex;align-items:center;gap:5px;
}
.rfq-detail-tabs .tab-item:hover{color:var(--text-1);}
.rfq-detail-tabs .tab-item.active{color:var(--text-1);border-bottom-color:var(--text-1);font-weight:700;}
.rfq-detail-content{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px;}
.rfq-detail-content::-webkit-scrollbar{width:4px;}
.rfq-detail-content::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:2px;}
.rfqd-tab-pane{display:none;flex-direction:column;gap:14px;}
.rfqd-tab-pane.active{display:flex;}
.stat-cards-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:14px 16px;}
.stat-label{font-size:.67rem;font-weight:700;color:var(--text-4);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;}
.stat-val{font-size:1.05rem;font-weight:900;color:var(--text-1);}
.stat-sub{font-size:.7rem;color:var(--text-3);margin-top:3px;}
.pos-table{width:100%;border-collapse:collapse;}
.pos-table thead tr{background:var(--bg);}
.pos-table th{padding:9px 14px;font-size:.67rem;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;border-bottom:2px solid var(--border);text-align:left;white-space:nowrap;}
.pos-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s;}
.pos-table tbody tr:last-child{border-bottom:none;}
.pos-table tbody tr:hover{background:var(--bg);}
.pos-table td{padding:10px 14px;vertical-align:middle;}
.pos-name{font-size:.82rem;font-weight:700;color:var(--text-1);}
.pos-art{font-size:.69rem;color:var(--text-3);margin-top:2px;}
.pos-qty{font-size:.84rem;font-weight:800;color:var(--text-1);}
.pos-unit{font-size:.75rem;color:var(--text-3);}
.pos-comment{font-size:.76rem;color:var(--text-2);}
.pos-num{width:28px;height:28px;border-radius:7px;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:.69rem;font-weight:800;color:var(--text-3);flex-shrink:0;}
.rfqd-supplier-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;margin-bottom:10px;}
.rfqd-supplier-card.best{border-color:var(--text-1);border-width:2px;}
.rfqd-sup-head{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;}
.rfqd-sup-body{border-top:1px solid var(--border);}
.rfqd-prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:14px 16px;border-bottom:1px solid var(--border);}
.rfqd-prop-label{font-size:.67rem;font-weight:700;color:var(--text-4);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;}
.rfqd-prop-val{font-size:.9rem;font-weight:800;color:var(--text-1);}
.rfqd-prop-val.best{color:var(--green);}

/* ══════════════════════
   SETTINGS
══════════════════════ */
.settings-layout{display:grid;grid-template-columns:190px 1fr;gap:14px;flex:1;min-height:0;overflow:hidden;}
.settings-nav{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:7px;height:fit-content;}
.settings-nav-item{padding:8px 11px;border-radius:10px;font-size:.79rem;font-weight:600;color:var(--text-3);cursor:pointer;transition:all .12s;}
.settings-nav-item:hover{background:var(--bg);color:var(--text-1);}
.settings-nav-item.active{background:var(--bg2);color:var(--text-1);}
.settings-section{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);overflow-y:auto;}
.settings-section-head{padding:14px 18px;border-bottom:1px solid var(--border);}
.settings-section-title{font-size:.84rem;font-weight:800;color:var(--text-1);}
.settings-section-sub{font-size:.72rem;color:var(--text-3);margin-top:2px;}
.settings-row{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--border);}
.settings-row:last-child{border-bottom:none;}
.settings-row-info{flex:1;}
.settings-row-label{font-size:.79rem;font-weight:700;color:var(--text-1);}
.settings-row-sub{font-size:.7rem;color:var(--text-3);margin-top:2px;}
.toggle{width:38px;height:21px;border-radius:10px;background:var(--bg3);border:none;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0;}
.toggle.on{background:var(--text-1);}
.toggle::after{content:'';position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.15);}
.toggle.on::after{transform:translateX(17px);}

/* ══════════════════════
   TENDER FEED
══════════════════════ */
.tender-item{
  padding:13px 16px;border-bottom:1px solid var(--border);
  cursor:pointer;transition:background .1s;
  display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr 110px;
  align-items:center;gap:10px;
}
.tender-item:last-child{border-bottom:none;}
.tender-item:hover{background:var(--bg);}
.tender-name{font-size:.79rem;font-weight:700;color:var(--text-1);}
.tender-org{font-size:.68rem;color:var(--text-3);margin-top:2px;}
.tender-platform{display:inline-flex;align-items:center;gap:3px;font-size:.66rem;font-weight:700;padding:2px 6px;border-radius:100px;background:var(--bg2);color:var(--text-3);}
.tender-sum{font-size:.78rem;font-weight:700;color:var(--text-1);font-variant-numeric:tabular-nums;}
.tender-deadline{font-size:.76rem;font-weight:600;color:var(--text-2);}
.tender-deadline.hot{color:var(--red);}
.tender-deadline.warm{color:var(--amber);}
.ai-match{display:inline-flex;align-items:center;gap:3px;font-size:.67rem;font-weight:800;padding:3px 7px;border-radius:100px;}
.ai-match-hi{background:var(--lime-dim);color:#4a7c00;}
.ai-match-md{background:var(--amber-bg);color:var(--amber);}

/* Placeholder тендерной ленты */
.tender-placeholder{
  background:var(--white);border:1px solid var(--border);
  border-left:3px solid var(--lime);
  border-radius:var(--r-xl);padding:20px;
  display:flex;align-items:center;gap:14px;
}
.tender-placeholder-icon{
  width:44px;height:44px;border-radius:12px;
  background:var(--lime-dim);border:1px solid var(--lime-border);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.tender-placeholder-icon svg{width:20px;height:20px;stroke:#4a7c00;stroke-width:1.6;fill:none;}
.tender-placeholder-title{font-size:.84rem;font-weight:800;color:var(--text-1);}
.tender-placeholder-sub{font-size:.75rem;color:var(--text-3);margin-top:4px;line-height:1.5;}

/* ══════════════════════
   EMPTY STATE
══════════════════════ */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 22px;text-align:center;}
.empty-icon{width:44px;height:44px;border-radius:12px;background:var(--bg2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.empty-icon svg{width:20px;height:20px;stroke:var(--text-4);stroke-width:1.6;fill:none;}
.empty-title{font-size:.84rem;font-weight:800;color:var(--text-1);margin-bottom:5px;}
.empty-sub{font-size:.78rem;color:var(--text-3);max-width:240px;line-height:1.6;}

/* ══════════════════════
   MISC
══════════════════════ */
.chip{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:100px;background:var(--bg2);color:var(--text-3);font-size:.69rem;font-weight:700;cursor:pointer;border:1px solid var(--border);transition:background .12s;}
.chip:hover{background:var(--bg3);}
.chip svg{width:10px;height:10px;stroke:currentColor;stroke-width:2;fill:none;}
.divider{height:1px;background:var(--border);margin:10px 0;}
.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-4);font-size:.78rem;}

/* Spinner */
.spinner{
  width:20px;height:20px;border-radius:50%;
  border:2px solid var(--border);border-top-color:var(--text-2);
  animation:spin .6s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}

/* ══════════════════════
   TOAST
══════════════════════ */
.toast{
  position:fixed;bottom:22px;right:22px;
  background:var(--text-1);color:#fff;
  padding:11px 16px;border-radius:14px;
  font-size:.79rem;font-weight:600;
  display:flex;align-items:center;gap:9px;
  box-shadow:0 8px 24px rgba(28,25,23,.2);
  z-index:10001;transform:translateY(80px);opacity:0;
  transition:all .28s var(--ease);pointer-events:none;
  max-width:340px;
}
.toast.show{
  transform:translateY(0);opacity:1;
  box-shadow:0 8px 28px rgba(28,25,23,.25),0 0 0 1px rgba(192,255,0,.18),0 0 18px rgba(192,255,0,.22);
}
.toast-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 6px rgba(192,255,0,.8);animation:ai-glow 2s infinite;flex-shrink:0;}
.toast.error .toast-dot{background:var(--red);box-shadow:none;animation:none;}
.toast.success .toast-dot{background:var(--green);box-shadow:none;animation:none;}

/* ══════════════════════
   PAGINATION
══════════════════════ */
.pagination{display:flex;align-items:center;gap:5px;justify-content:center;padding:12px 16px;}
.pag-btn{
  width:28px;height:28px;border-radius:7px;
  border:1px solid var(--border);background:var(--white);
  font-family:'Manrope',sans-serif;font-size:.73rem;font-weight:700;
  color:var(--text-3);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .12s;
}
.pag-btn:hover{background:var(--bg2);color:var(--text-1);}
.pag-btn.active{background:var(--text-1);color:#fff;border-color:var(--text-1);}
.pag-btn:disabled{opacity:.35;cursor:not-allowed;}
.pag-dots{font-size:.73rem;color:var(--text-4);padding:0 3px;}

/* ══════════════════════
   CHIP CATEGORIES (профиль поставщика)
══════════════════════ */
.sup-chk-item{
  display:flex;align-items:center;gap:9px;
  padding:9px 11px;border-radius:14px;
  border:1.5px solid var(--border);cursor:pointer;transition:all .12s;
}
.sup-chk-item:hover{border-color:var(--border-md);background:var(--bg);}
.sup-chk-item.checked{border-color:var(--text-2);background:var(--bg);}
.sup-chk-box{width:15px;height:15px;border-radius:4px;border:1.5px solid var(--border-md);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .12s;}
.sup-chk-item.checked .sup-chk-box{background:var(--text-1);border-color:var(--text-1);}
.sup-chk-box svg{display:none;width:8px;height:8px;stroke:#fff;stroke-width:3;fill:none;}
.sup-chk-item.checked .sup-chk-box svg{display:block;}
.sup-chk-name{font-size:.78rem;font-weight:700;color:var(--text-1);}
.sup-chk-cat{font-size:.66rem;color:var(--text-3);margin-top:1px;}
.sup-chk-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}

/* ══════════════════════
   ADMIN SPECIFIC
══════════════════════ */
.admin-badge{
  display:inline-flex;align-items:center;gap:4px;
  font-size:.66rem;font-weight:800;
  padding:3px 8px;border-radius:100px;
  background:var(--lime-dim);color:var(--lime-dk);
  border:1px solid var(--lime-border);
}

/* ══════════════════════
   RESPONSIVE (мобильные базовые)
══════════════════════ */
@media (max-width:900px){
  .two-col{grid-template-columns:1fr;}
  .metrics-row{grid-template-columns:repeat(2,1fr);}
  .sup-grid{grid-template-columns:repeat(2,1fr);}
  .global-search{width:160px;}
  .global-search:focus-within{width:200px;}
}
@media (max-width:640px){
  .sidebar{position:fixed;z-index:100;height:100%;}
  .sidebar:not(.collapsed){box-shadow:var(--shadow-md);}
  .metrics-row{grid-template-columns:1fr 1fr;}
  .modal{width:95vw!important;max-height:85vh!important;}
  .content{padding:12px 14px;}
}

/* ═══════ WIZARD (Визард создания заявки) ═══════ */
.wz-stepper{display:flex;align-items:center;margin-bottom:18px;padding:0 4px;}
.wz-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;}
.wz-step-circle{
  width:28px;height:28px;border-radius:50%;
  border:2px solid var(--border);background:var(--bg);
  font-size:.72rem;font-weight:800;color:var(--text-3);
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.wz-step.active .wz-step-circle{border-color:var(--blue);background:var(--blue);color:#fff;}
.wz-step.done .wz-step-circle{border-color:var(--green);background:var(--green);color:#fff;font-size:.65rem;}
.wz-step-label{font-size:.64rem;font-weight:700;color:var(--text-4);white-space:nowrap;}
.wz-step.active .wz-step-label{color:var(--blue);}
.wz-step.done .wz-step-label{color:var(--green);}
.wz-step-line{flex:1;height:2px;background:var(--border);margin:0 6px;margin-bottom:16px;transition:background .15s;}
.wz-step-line.done{background:var(--green);}
.req-star{color:var(--red);}

/* Карточки поставщиков в шаге 3 */
.wz-sup-card{
  display:flex;align-items:center;gap:9px;
  padding:9px 11px;border-radius:10px;
  border:1.5px solid var(--border);background:var(--white);
  cursor:pointer;transition:all .12s;position:relative;
}
.wz-sup-card:hover{border-color:var(--blue);background:var(--blue-bg);}
.wz-sup-card.selected{border-color:var(--blue);background:var(--blue-bg);}
.wz-sup-ava{
  width:32px;height:32px;border-radius:50%;
  background:var(--blue);color:#fff;
  font-size:.68rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.wz-sup-info{flex:1;min-width:0;}
.wz-sup-name{font-size:.77rem;font-weight:700;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wz-sup-city{font-size:.68rem;color:var(--text-3);}
.wz-sup-check{
  width:18px;height:18px;border-radius:50%;
  border:1.5px solid var(--border);background:var(--bg);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:all .12s;
}
.wz-sup-check svg{width:10px;height:10px;stroke:transparent;stroke-width:2.5;fill:none;transition:stroke .12s;}
.wz-sup-card.selected .wz-sup-check{background:var(--blue);border-color:var(--blue);}
.wz-sup-card.selected .wz-sup-check svg{stroke:#fff;}

/* ═══════ ТЕМЫ РЕЖИМОВ ═══════ */
/* Все роли используют белый сайдбар (как в макетах zip-buyer/supplier/expert) */
/* Тёмные темы удалены — они не соответствовали макетам */

/* Индикатор режима в топбаре */
.mode-badge{
  font-size:.64rem;font-weight:800;padding:3px 9px;border-radius:100px;
  letter-spacing:.04em;white-space:nowrap;
}
.mode-badge.supplier{background:var(--green-bg);color:var(--green);}
.mode-badge.admin{background:var(--lime-dim);color:var(--lime-dk);border:1px solid var(--lime-border);}

/* Прикрепление файлов в визарде */
.wz-drop-zone{
  border:2px dashed var(--border-md);border-radius:var(--r-lg);
  padding:18px;text-align:center;cursor:pointer;
  transition:all .15s;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.wz-drop-zone:hover,.wz-drop-zone.dragover{
  border-color:var(--blue);background:var(--blue-bg);
}
.wz-drop-zone svg{width:22px;height:22px;stroke:var(--text-4);stroke-width:1.5;fill:none;}
.wz-drop-zone-text{font-size:.78rem;font-weight:600;color:var(--text-3);}
.wz-drop-zone-sub{font-size:.68rem;color:var(--text-4);}
.wz-file-list{display:flex;flex-direction:column;gap:5px;margin-top:8px;}
.wz-file-item{
  display:flex;align-items:center;gap:8px;
  padding:7px 10px;border-radius:8px;
  background:var(--white);border:1px solid var(--border);
}
.wz-file-item-name{flex:1;font-size:.75rem;font-weight:600;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wz-file-item-size{font-size:.67rem;color:var(--text-4);}
.wz-file-rm{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;color:var(--text-4);}
.wz-file-rm:hover{color:var(--red);}
.wz-file-rm svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none;}

/* =========================================================================
   Редактор заявки администратором
   ========================================================================= */

/* Компоновка: документы сверху, форма снизу */
.admin-req-editor{display:flex;flex-direction:column;gap:16px;}

/* Плашка документов — всегда видна при скролле */
.admin-req-docs-bar{
  background:var(--bg-2,#f8fafc);border:1px solid var(--border);
  border-radius:var(--r-lg,10px);padding:12px 16px;
}
.admin-req-docs-bar-title{
  font-size:.72rem;font-weight:700;color:var(--text-4);letter-spacing:.06em;
  text-transform:uppercase;margin-bottom:8px;
  display:flex;align-items:center;gap:5px;
}
.admin-req-docs-bar-title svg{stroke:var(--text-4);fill:none;flex-shrink:0;}
.admin-doc-list{display:flex;flex-wrap:wrap;gap:6px;}
.admin-doc-link{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 10px;border-radius:6px;
  background:#fff;border:1px solid var(--border);
  text-decoration:none;color:var(--text-2);
  font-size:.75rem;font-weight:500;
  transition:border-color .15s,background .15s;max-width:220px;
}
.admin-doc-link:hover{border-color:var(--blue,#2563eb);background:var(--blue-bg,#eff6ff);color:var(--blue,#2563eb);}
.admin-doc-icon{display:flex;align-items:center;flex-shrink:0;}
.admin-doc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-doc-size{font-size:.65rem;color:var(--text-4);white-space:nowrap;flex-shrink:0;}

/* Секция формы */
.admin-req-form{display:flex;flex-direction:column;gap:12px;}

/* Info-banner */
.info-banner{padding:10px 14px;border-radius:8px;font-size:.83rem;}
.info-banner-blue{background:var(--blue-bg,#eff6ff);color:var(--blue,#2563eb);}

/* =========================================================================
   Admin RFQ table: adash-rfq-cols  (Admin → Все заявки)
   Колонки: № / Заявка / Клиент / Статус / КП / Дедлайн / Действие (7 col)
   ========================================================================= */
.adash-rfq-cols{
  display:grid;
  grid-template-columns:
    .5fr 2fr 1.2fr 1fr 70px 1fr 110px;
  align-items:center;
  gap:10px;
}
@media(max-width:1100px){
  .adash-rfq-cols{
    grid-template-columns:.5fr minmax(0,2fr) minmax(0,1fr) 90px 90px;
  }
}
@media(max-width:700px){
  .adash-rfq-cols{
    grid-template-columns:minmax(0,1fr) 80px 90px;
  }
}

/* ══════════════════════════════════════════════
   SUPPLIER CABINET — новые компоненты v2.1
══════════════════════════════════════════════ */

/* AI card head / label / text (алиасы к ai-head/ai-label/ai-text) */
.ai-card-head {
  display:flex;align-items:center;gap:8px;margin-bottom:8px;
}
.ai-card-head svg {
  width:18px;height:18px;stroke:var(--lime-dk);stroke-width:1.75;fill:none;flex-shrink:0;
}
.ai-card-label {
  font-size:.66rem;font-weight:800;color:var(--text-3);
  text-transform:uppercase;letter-spacing:.1em;
}
.ai-card-text {
  font-size:.79rem;color:var(--text-2);line-height:1.65;
}
.ai-card {
  display:flex;flex-direction:column;gap:6px;
}

/* Settings content area */
.settings-content {
  display:flex;flex-direction:column;gap:12px;min-width:0;
}

/* Settings nav item with icon */
.settings-nav-item {
  display:flex;align-items:center;gap:8px;
}
.settings-nav-item svg {
  width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none;flex-shrink:0;
}

/* Today icon colour modifiers */
.today-icon-rfq   { background:var(--blue-bg);  }
.today-icon-rfq svg   { stroke:var(--blue);  }
.today-icon-order { background:var(--amber-bg); }
.today-icon-order svg { stroke:var(--amber); }
.today-icon-ship  { background:var(--green-bg); }
.today-icon-ship svg  { stroke:var(--green); }
.today-icon-default { background:var(--bg2); }
.today-icon-default svg { stroke:var(--text-3); }

/* today-item-done alias */
.today-item-done {
  opacity:.45;
}

/* Toggle: label + input[type=checkbox] pattern */
.toggle {
  position:relative;display:inline-block;
  width:38px;height:21px;flex-shrink:0;cursor:pointer;
}
.toggle-input {
  opacity:0;width:0;height:0;position:absolute;
}
.toggle-slider {
  position:absolute;inset:0;border-radius:10px;
  background:var(--bg3);transition:background .2s;cursor:pointer;
}
.toggle-slider::after {
  content:'';position:absolute;
  width:15px;height:15px;border-radius:50%;
  background:#fff;top:3px;left:3px;
  transition:transform .2s;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.toggle-input:checked + .toggle-slider {
  background:var(--text-1);
}
.toggle-input:checked + .toggle-slider::after {
  transform:translateX(17px);
}

/* sup-chk: активное состояние через JS */
.sup-chk-active {
  border-color:var(--text-2) !important;
  background:var(--bg) !important;
}

/* b-viewed badge */
.b-viewed { background:var(--blue-bg); color:var(--blue); }
.b-viewed .badge-dot { background:var(--blue); }

/* ═══════ CHAT PANEL ═══════ */
.chat-overlay{position:fixed;inset:0;z-index:399;display:none;background:rgba(28,25,23,.2);}
.chat-overlay.open{display:block;}
.chat-panel{position:fixed;top:0;right:0;width:360px;height:100vh;background:var(--white);border-left:1px solid var(--border);z-index:400;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.16,1,.3,1);box-shadow:-6px 0 24px rgba(28,25,23,.08);}
.chat-panel.open{transform:translateX(0);}
.chat-panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--white);}
.chat-panel-title{font-size:.88rem;font-weight:800;color:var(--text-1);}
.chat-panel-close{width:28px;height:28px;border-radius:50%;background:var(--bg2);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s;}
.chat-panel-close:hover{background:var(--bg3);}
.chat-panel-close svg{width:13px;height:13px;stroke:var(--text-2);stroke-width:2;fill:none;}
.chat-dl{flex:1;overflow-y:auto;}
.chat-dl-item{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;}
.chat-dl-item:hover{background:var(--bg);}
.chat-dl-item.unread{background:rgba(192,255,0,.05);}
.chat-dl-ava{width:36px;height:36px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:var(--text-2);flex-shrink:0;}
.chat-dl-name{font-size:.79rem;font-weight:700;color:var(--text-1);}
.chat-dl-ctx{font-size:.68rem;color:var(--text-3);margin-top:1px;}
.chat-dl-preview{font-size:.72rem;color:var(--text-4);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-dl-time{font-size:.66rem;color:var(--text-4);white-space:nowrap;}
.chat-dl-badge{background:var(--lime-dk);color:#fff;font-size:.6rem;font-weight:800;border-radius:999px;padding:1px 5px;min-width:16px;text-align:center;}
.chat-new-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 14px;padding:8px;border:1px dashed var(--border);border-radius:10px;cursor:pointer;font-size:.77rem;font-weight:600;color:var(--text-3);transition:all .12s;background:none;width:calc(100% - 28px);}
.chat-new-btn:hover{border-color:var(--border-md);color:var(--text-1);background:var(--bg);}
.chat-new-btn svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none;}
/* Тред */
.chat-thread{display:flex;flex-direction:column;height:100%;overflow:hidden;}
.chat-thread-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--white);}
.chat-back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:.73rem;font-weight:700;color:var(--text-3);padding:0;transition:color .12s;}
.chat-back-btn:hover{color:var(--text-1);}
.chat-thread-msgs{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;}
.chat-msg{display:flex;align-items:flex-end;gap:8px;}
.chat-msg.out{flex-direction:row-reverse;}
.chat-msg-bubble{padding:8px 12px;border-radius:14px;font-size:.79rem;line-height:1.5;max-width:80%;}
.chat-msg.in .chat-msg-bubble{background:var(--bg2);border-bottom-left-radius:4px;color:var(--text-1);}
.chat-msg.out .chat-msg-bubble{background:var(--text-1);color:#fff;border-bottom-right-radius:4px;}
.chat-msg-time{font-size:.63rem;color:var(--text-4);margin-top:3px;}
.chat-thread-input{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0;background:var(--white);}
.chat-thread-textarea{flex:1;border:1px solid var(--border);border-radius:12px;padding:8px 11px;font-family:inherit;font-size:.79rem;color:var(--text-1);outline:none;resize:none;max-height:100px;transition:border-color .12s;background:var(--bg);}
.chat-thread-textarea:focus{border-color:var(--border-md);background:var(--white);}
.chat-send-btn{width:34px;height:34px;border-radius:50%;background:var(--text-1);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s;}
.chat-send-btn:hover{background:#2c2825;}
.chat-send-btn svg{width:14px;height:14px;stroke:#fff;stroke-width:2;fill:none;}
/* Кнопка чата в топбаре */
.chat-topbar-btn{position:relative;width:34px;height:34px;border-radius:10px;background:var(--bg2);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s;flex-shrink:0;}
.chat-topbar-btn:hover{background:var(--bg3);}
.chat-topbar-btn svg{width:16px;height:16px;stroke:var(--text-2);stroke-width:2;fill:none;}
.chat-topbar-badge{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;font-size:.58rem;font-weight:800;border-radius:999px;padding:1px 4px;min-width:14px;text-align:center;border:2px solid var(--white);}

/* ═══ Inline chat в детали заявки ═══ */
.rfqd-pane-chat{padding:0!important;}
.rfqd-chat-layout{display:grid;grid-template-columns:240px 1fr;height:calc(100vh - 148px);overflow:hidden;}
.rfqd-chat-sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;}
.rfqd-chat-sidebar-head{padding:12px 14px;font-size:.78rem;font-weight:800;color:var(--text-1);border-bottom:1px solid var(--border);flex-shrink:0;}
.rfqd-chat-contact{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;}
.rfqd-chat-contact:hover{background:var(--bg);}
.rfqd-chat-contact.active{background:var(--bg2);}
.rfqd-chat-contact-ava{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;flex-shrink:0;}
.rfqd-chat-contact-name{font-size:.78rem;font-weight:700;color:var(--text-1);}
.rfqd-chat-contact-sub{margin-top:2px;}
.rfqd-chat-main{display:flex;flex-direction:column;overflow:hidden;min-height:0;}
.rfqd-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-4);}
.rfqd-chat-thread-head{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--white);}
.rfqd-chat-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:0;}
.rfqd-chat-messages::-webkit-scrollbar{width:3px;}
.rfqd-chat-messages::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:2px;}
.rfqd-chat-input-area{flex-shrink:0;border-top:1px solid var(--border);padding:10px 14px;display:flex;gap:8px;align-items:flex-end;background:var(--white);}
.rfqd-chat-textarea{flex:1;padding:8px 11px;border-radius:10px;border:1px solid var(--border);font-family:'Manrope',sans-serif;font-size:.78rem;color:var(--text-1);outline:none;transition:border-color .12s;resize:none;max-height:80px;min-height:34px;}
.rfqd-chat-textarea:focus{border-color:var(--border-md);}
.rfqd-chat-send-btn{width:34px;height:34px;border-radius:10px;background:var(--text-1);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s;}
.rfqd-chat-send-btn:hover{background:#2c2825;}
.rfqd-chat-send-btn svg{width:13px;height:13px;stroke:var(--lime);stroke-width:2.5;fill:none;}
