<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="https://www.xn--80abmnojgpmk.xn--p1ai/" xml:lang="ru">
  <id>https://www.xn--80abmnojgpmk.xn--p1ai/plan-tekuschego-mesyatca</id>
  <link href="https://www.xn--80abmnojgpmk.xn--p1ai/plan-tekuschego-mesyatca.xml" rel="self"/>
  <title>План текущего месяца</title>
  <subtitle type="html">
&lt;html lang="ru"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
&lt;title&gt;Прайс — Акция «Солнечный Октябрь»&lt;/title&gt;
&lt;style&gt;
  :root {
    --bg:    #0a0a0a;
    --bg2:   #111111;
    --bg3:   #16130a;
    --line:  #d4af37;
    --gold:  #d4af37;
    --goldB: #f0d060;
    --goldD: #8a7020;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    background: var(--bg);
    color: var(--gold);
    line-height: 1.5;
    padding: 20px 14px;
  }
  ::selection { background: var(--gold); color: #000; }
  .wrap { max-width: 1300px; margin: 0 auto; }

  /* ============ БЕГУЩАЯ СТРОКА ============ */
  .ticker-block {
    display: flex;
    align-items: stretch;
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 14px;
    height: 44px;
  }
  .ticker-label {
    background: var(--gold);
    color: #0a0a0a;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 1.5px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    white-space: nowrap;
  }
  .ticker-viewport { flex: 1; overflow: hidden; position: relative; }
  .ticker-track {
    display: inline-flex;
    align-items: center;
    height: 100%;
    white-space: nowrap;
    animation: tickerScroll 40s linear infinite;
    padding-left: 20px;
  }
  .ticker-item { color: var(--gold); font-size: 13px; padding: 0 10px; letter-spacing: .3px; }
  .ticker-item b { color: var(--goldB); font-weight: 700; }
  .ticker-dot { color: var(--gold); font-size: 10px; }
  @keyframes tickerScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
  }

  /* ============ ШАПКА ============ */
  header {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 30px 25px;
    text-align: center;
    margin-bottom: 14px;
  }
  .banner-tag {
    display: inline-block;
    background: var(--gold);
    color: #0a0a0a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    padding: 4px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
  }
  header h1 {
    margin: 0 0 12px 0;
    font-size: 28px;
    color: var(--gold);
    text-transform: uppercase;
    letter-spacing: 3px;
    font-weight: 800;
  }
  .banner-line {
    width: 60px;
    height: 2px;
    background: var(--gold);
    margin: 0 auto 14px;
  }
  header p { margin: 0; color: var(--gold); font-size: 15px; letter-spacing: .5px; opacity: .9; }

  /* ============ ГЛАВНЫЕ ЦЕНЫ ============ */
  .price-hero {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 14px;
  }
  .price-hero-tag {
    display: block;
    text-align: center;
    color: var(--gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    padding-bottom: 12px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--line);
  }
  .price-hero-cards { display: flex; gap: 14px; flex-wrap: wrap; }
  .ph-card {
    flex: 1;
    min-width: 240px;
    border-radius: 10px;
    padding: 20px 22px;
    background: var(--bg);
    border: 1px solid var(--gold);
  }
  .ph-name {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
    opacity: .8;
  }
  .ph-price {
    font-size: 38px;
    font-weight: 800;
    letter-spacing: -1px;
    line-height: 1;
    color: var(--gold);
    margin-bottom: 8px;
  }
  .ph-price span { font-size: 16px; font-weight: 600; color: var(--gold); letter-spacing: 0; opacity: .7; }
  .ph-note { font-size: 13px; color: var(--gold); opacity: .85; }

  /* ============ ВКЛАДКИ ============ */
  .promo-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
    flex-wrap: wrap;
  }
  .promo-tab {
    padding: 10px 18px;
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 10px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    color: var(--gold);
    transition: .15s;
    letter-spacing: .3px;
  }
  .promo-tab:hover { background: rgba(212,175,55,.1); }
  .promo-tab.active { background: var(--gold); color: #0a0a0a; }

  /* ============ ТУЛБАР ============ */
  .promo-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
  }
  .promo-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    border-radius: 9px;
    border: 1px solid var(--gold);
    background: transparent;
    color: var(--gold);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: .15s;
    font-family: inherit;
    letter-spacing: .3px;
  }
  .promo-btn:hover { background: var(--gold); color: #0a0a0a; }
  .promo-btn.primary { background: var(--gold); color: #0a0a0a; }
  .promo-btn.primary:hover { background: var(--goldB); }

  /* ============ ПОИСК ============ */
  .promo-search {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: end;
  }
  .promo-search input {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 9px;
    font-size: 14px;
    background: var(--bg);
    color: var(--gold);
    outline: none;
    font-family: inherit;
  }
  .promo-search input::placeholder { color: rgba(212,175,55,.4); }
  .promo-search input:focus { box-shadow: 0 0 0 3px rgba(212,175,55,.2); }
  .promo-counter {
    color: var(--gold);
    font-size: 13px;
    white-space: nowrap;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--bg);
    font-weight: 700;
  }

  /* ============ USP ============ */
  .usp-block {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
  }
  .usp-item {
    flex: 1;
    min-width: 240px;
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px 18px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
  }
  .usp-icon { color: var(--gold); font-size: 14px; line-height: 1.4; }
  .usp-text h4 { margin: 0 0 4px 0; font-size: 14px; color: var(--gold); font-weight: 700; }
  .usp-text p { margin: 0; font-size: 13px; color: var(--gold); opacity: .75; }

  /* ============ ТАБЛИЦА ============ */
  .table-block {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 14px;
  }
  .block-title {
    color: var(--gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-align: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line);
  }
  .table-wrapper {
    overflow: auto;
    max-height: 70vh;
    border-radius: 8px;
    border: 1px solid var(--line);
  }
  .price-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--bg);
    min-width: 900px;
    font-size: 13px;
  }
  .price-table th,
  .price-table td {
    padding: 11px 14px;
    text-align: left;
    border-bottom: 1px solid rgba(212,175,55,.25);
    vertical-align: middle;
    color: var(--gold);
  }
  .price-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--bg);
    color: var(--gold);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1px;
    white-space: nowrap;
    border-bottom: 1px solid var(--gold);
  }
  .price-table th.sortable { cursor: pointer; user-select: none; }
  .price-table th.sortable::after { content: ' ⇅'; opacity: .5; margin-left: 4px; }
  .price-table th.asc::after { content: ' ▲'; opacity: 1; color: var(--goldB); }
  .price-table th.desc::after { content: ' ▼'; opacity: 1; color: var(--goldB); }
  .price-table th.num, .price-table td.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .price-table tbody tr { transition: background .15s; }
  .price-table tbody tr:hover { background: rgba(212,175,55,.06); }
  .price-table .category-row td {
    background: var(--bg);
    color: var(--goldB);
    font-weight: 800;
    letter-spacing: 1px;
    font-size: 12px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--gold);
    border-top: 1px solid var(--gold);
    padding: 12px 14px;
  }
  .price-table .note {
    color: var(--gold);
    font-size: 11px;
    font-style: italic;
    opacity: .6;
  }
  .badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .4px;
    background: rgba(212,175,55,.15);
    color: var(--goldB);
    border: 1px solid rgba(212,175,55,.5);
    white-space: nowrap;
  }
  .badge.plan {
    background: rgba(212,175,55,.05);
    color: var(--gold);
    font-style: italic;
    border-style: dashed;
  }
  .empty { padding: 40px; text-align: center; color: var(--gold); opacity: .6; font-size: 14px; }

  .table-footnote {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
  }
  .footnote-item {
    color: var(--gold);
    font-size: 12px;
    position: relative;
    padding-left: 14px;
    opacity: .85;
  }
  .footnote-item::before {
    content: "◆";
    position: absolute;
    left: 0;
    color: var(--gold);
    font-size: 8px;
    top: 4px;
  }

  /* ============ УСЛОВИЯ ============ */
  .promo-conditions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
  }
  .condition-card {
    flex: 1;
    min-width: 250px;
    background: var(--bg);
    border: 1px solid var(--line);
    padding: 20px;
    border-radius: 10px;
  }
  .cond-num {
    color: var(--gold);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 10px;
  }
  .condition-card h3 { margin: 0 0 6px 0; font-size: 16px; color: var(--gold); font-weight: 700; }
  .condition-card p { margin: 0; font-size: 13px; color: var(--gold); opacity: .8; }
  .condition-card strong { color: var(--goldB); }

  /* ============ ПРИСЫЛАЙТЕ ============ */
  .promo-trick {
    background: var(--bg);
    border: 1px dashed var(--gold);
    border-radius: 10px;
    padding: 18px;
    text-align: center;
    margin-bottom: 14px;
  }
  .promo-trick p { margin: 0; color: var(--gold); font-size: 15px; }
  .promo-trick strong { color: var(--goldB); }

  /* ============ КОНТАКТЫ ============ */
  .cta-section {
    text-align: center;
    background: var(--bg);
    border: 1px solid var(--gold);
    border-radius: 12px;
    padding: 28px 20px;
  }
  .cta-text { font-size: 16px; font-weight: 600; color: var(--gold); margin: 0 0 16px 0; }
  .cta-button {
    display: inline-block;
    background: var(--gold);
    color: #0a0a0a !important;
    text-decoration: none;
    padding: 16px 40px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 1px;
    border-radius: 999px;
    transition: .25s;
  }
  .cta-button:hover { background: var(--goldB); transform: scale(1.03); }
  .manager-info { margin: 16px 0 0 0; font-size: 13px; color: var(--gold); opacity: .8; }

  /* ============ SEO ============ */
  .seo-text {
    position: absolute;
    width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
  }

  /* ============ АДАПТИВ ============ */
  @media (max-width: 700px) {
    body { padding: 12px 10px; }
    header h1 { font-size: 20px; letter-spacing: 1.5px; }
    header p { font-size: 13px; }
    .promo-conditions,
    .usp-block,
    .price-hero-cards,
    .promo-toolbar { flex-direction: column; }
    .condition-card, .ph-card, .usp-item { min-width: auto; }
    .promo-search { grid-template-columns: 1fr; }
    .promo-tab { padding: 8px 12px; font-size: 13px; }
    .promo-btn { padding: 9px 12px; font-size: 12px; }
    .price-table th, .price-table td { padding: 9px 10px; font-size: 12px; }
    .cta-button { width: 100%; padding: 16px 10px; font-size: 17px; }
    .ph-price { font-size: 30px; }
    .ticker-block { height: 40px; }
    .ticker-item { font-size: 12px; }
  }

  /* ============ ПЕЧАТЬ ============ */
  @media print {
    body { background: #fff; color: #000; padding: 0; }
    .ticker-block, .promo-tabs, .promo-toolbar, .promo-search,
    .action-buttons, .cta-section, .promo-trick { display: none !important; }
    header {
      background: #000 !important;
      color: #ffd700 !important;
      border-color: #000 !important;
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact;
    }
    header h1 { color: #ffd700 !important; }
    header p { color: #ffd700 !important; }
    .banner-tag { background: #ffd700 !important; color: #000 !important;
      -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .banner-line { background: #ffd700 !important; }
    .price-hero { display: none; }
    .table-block {
      background: #fff !important;
      border: 1px solid #999 !important;
    }
    .block-title { color: #000 !important; border-color: #999 !important; }
    .table-wrapper { max-height: none; overflow: visible; border-color: #999; }
    .price-table { min-width: auto; font-size: 11px; }
    .price-table th {
      background: #000 !important;
      color: #ffd700 !important;
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact;
    }
    .price-table td { color: #000 !important; border-bottom: 1px solid #ccc !important; }
    .price-table .category-row td {
      background: #000 !important;
      color: #ffd700 !important;
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact;
    }
    .price-table .note { color: #666 !important; }
    .badge { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .table-footnote { border-color: #999; }
    .footnote-item { color: #666 !important; }
    .footnote-item::before { color: #666 !important; }
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class="wrap"&gt;

  
  &lt;div class="ticker-block"&gt;
    &lt;div class="ticker-label"&gt;ЦЕНЫ&lt;/div&gt;
    &lt;div class="ticker-viewport"&gt;
      &lt;div class="ticker-track"&gt;
        &lt;span class="ticker-item"&gt;БТВТ 450 — &lt;b&gt;300 ₽/кг&lt;/b&gt;&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;C500 6 мм — &lt;b&gt;425 ₽/кг&lt;/b&gt;&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;6×1500×6000 БТВТ — &lt;b&gt;129 000 ₽/лист&lt;/b&gt;&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;6×1500×6000 C500 — &lt;b&gt;182 750 ₽/лист&lt;/b&gt;&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;Класс Бр2 / С2 · от 1 листа · НДС 22%&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;Отгрузка по 20 тонн — 10–15 раб. дней&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;БТВТ 450 — &lt;b&gt;300 ₽/кг&lt;/b&gt;&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;C500 6 мм — &lt;b&gt;425 ₽/кг&lt;/b&gt;&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;6×1500×6000 БТВТ — &lt;b&gt;129 000 ₽/лист&lt;/b&gt;&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;6×1500×6000 C500 — &lt;b&gt;182 750 ₽/лист&lt;/b&gt;&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;Класс Бр2 / С2 · от 1 листа · НДС 22%&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
        &lt;span class="ticker-item"&gt;Отгрузка по 20 тонн — 10–15 раб. дней&lt;/span&gt;
        &lt;span class="ticker-dot"&gt;◆&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  
  &lt;header&gt;
    &lt;div class="banner-tag"&gt;АКЦИЯ&lt;/div&gt;
    &lt;h1&gt;СОЛНЕЧНЫЙ ОКТЯБРЬ&lt;/h1&gt;
    &lt;div class="banner-line"&gt;&lt;/div&gt;
    &lt;p&gt;Наличие, классы защиты и актуальные цены на начало месяца&lt;/p&gt;
  &lt;/header&gt;

  
  &lt;div class="price-hero"&gt;
    &lt;div class="price-hero-tag"&gt;ГЛАВНОЕ ПО АКЦИИ&lt;/div&gt;
    &lt;div class="price-hero-cards"&gt;
      &lt;div class="ph-card"&gt;
        &lt;div class="ph-name"&gt;БТВТ 450 · ТУ 18105BB-2024&lt;/div&gt;
        &lt;div class="ph-price"&gt;300 &lt;span&gt;₽/кг&lt;/span&gt;&lt;/div&gt;
        &lt;div class="ph-note"&gt;6×1500×6000 — 129 000 ₽/лист&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="ph-card"&gt;
        &lt;div class="ph-name"&gt;C500 · ТУ 18101-2017 Ж&lt;/div&gt;
        &lt;div class="ph-price"&gt;425 &lt;span&gt;₽/кг&lt;/span&gt;&lt;/div&gt;
        &lt;div class="ph-note"&gt;6×1500×6000 — 182 750 ₽/лист&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  
  &lt;div class="promo-tabs"&gt;
    &lt;div class="promo-tab active" data-tab="all"&gt;Все позиции&lt;/div&gt;
    &lt;div class="promo-tab" data-tab="armor"&gt;Броня C500&lt;/div&gt;
    &lt;div class="promo-tab" data-tab="btvt"&gt;БТВТ 450&lt;/div&gt;
    &lt;div class="promo-tab" data-tab="plan"&gt;План испытаний&lt;/div&gt;
  &lt;/div&gt;

  
  &lt;div class="promo-toolbar"&gt;
    &lt;button class="promo-btn primary" onclick="downloadCSV()"&gt;⬇ Скачать CSV&lt;/button&gt;
    &lt;button class="promo-btn primary" onclick="downloadExcel()"&gt;⬇ Скачать Excel&lt;/button&gt;
    &lt;button class="promo-btn" onclick="window.print()"&gt;? Печать / PDF&lt;/button&gt;
    &lt;button class="promo-btn" onclick="resetAll()"&gt;✕ Сбросить&lt;/button&gt;
  &lt;/div&gt;

  
  &lt;div class="promo-search"&gt;
    &lt;input type="text" id="priceSearch" placeholder="Поиск: марка, ТУ, размер, класс…" /&gt;
    &lt;div class="promo-counter" id="priceCounter"&gt;Найдено: 0&lt;/div&gt;
  &lt;/div&gt;

  
  &lt;div class="usp-block"&gt;
    &lt;div class="usp-item"&gt;
      &lt;div class="usp-icon"&gt;◆&lt;/div&gt;
      &lt;div class="usp-text"&gt;
        &lt;h4&gt;Гарантия класса по ТУ&lt;/h4&gt;
        &lt;p&gt;Бр2 / С2 — подтверждено сертификатом&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="usp-item"&gt;
      &lt;div class="usp-icon"&gt;◆&lt;/div&gt;
      &lt;div class="usp-text"&gt;
        &lt;h4&gt;Раскрой по запросу&lt;/h4&gt;
        &lt;p&gt;1220×2080 · 1300×2000 · 1500×3000 · 1500×6000&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="usp-item"&gt;
      &lt;div class="usp-icon"&gt;◆&lt;/div&gt;
      &lt;div class="usp-text"&gt;
        &lt;h4&gt;Отгрузка по 20 тонн&lt;/h4&gt;
        &lt;p&gt;Каждые 10–15 рабочих дней после предоплаты&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  
  &lt;div class="table-block"&gt;
    &lt;div class="block-title"&gt;ПРАЙС АКЦИИ · ОКТЯБРЬ&lt;/div&gt;
    &lt;div class="table-wrapper"&gt;
      &lt;table class="price-table" id="priceTable"&gt;
        &lt;thead&gt;
          &lt;tr&gt;
            &lt;th class="sortable" data-key="mark"&gt;Марка / ТУ&lt;/th&gt;
            &lt;th class="sortable" data-key="size"&gt;Размер (мм)&lt;/th&gt;
            &lt;th class="sortable" data-key="klass"&gt;Класс&lt;/th&gt;
            &lt;th class="sortable num" data-key="stock"&gt;Наличие&lt;/th&gt;
            &lt;th class="sortable num" data-key="priceSheet"&gt;За лист, ₽&lt;/th&gt;
            &lt;th class="sortable num" data-key="priceKg"&gt;За 1 кг, ₽&lt;/th&gt;
            &lt;th class="sortable" data-key="term"&gt;Сроки&lt;/th&gt;
          &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody id="priceBody"&gt;&lt;/tbody&gt;
      &lt;/table&gt;
    &lt;/div&gt;
    &lt;div class="empty" id="priceEmpty" style="display:none"&gt;Ничего не найдено.&lt;/div&gt;
    &lt;div class="table-footnote"&gt;
      &lt;div class="footnote-item"&gt;Цены с НДС 22% · от 1 листа · раскрой по запросу&lt;/div&gt;
      &lt;div class="footnote-item"&gt;Оплата: 70% предоплата / 30% перед отгрузкой&lt;/div&gt;
      &lt;div class="footnote-item"&gt;Отгрузка: по 20 тонн каждые 10–15 раб. дней&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  
  &lt;div class="promo-conditions"&gt;
    &lt;div class="condition-card"&gt;
      &lt;div class="cond-num"&gt;01&lt;/div&gt;
      &lt;h3&gt;Оптовые поставки&lt;/h3&gt;
      &lt;p&gt;Специальная цена при заказе &lt;strong&gt;от 10 тонн&lt;/strong&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class="condition-card"&gt;
      &lt;div class="cond-num"&gt;02&lt;/div&gt;
      &lt;h3&gt;Тонкие листы&lt;/h3&gt;
      &lt;p&gt;Выгодное предложение при покупке &lt;strong&gt;от 20 до 25 штук&lt;/strong&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class="condition-card"&gt;
      &lt;div class="cond-num"&gt;03&lt;/div&gt;
      &lt;h3&gt;Единичные заказы&lt;/h3&gt;
      &lt;p&gt;Отгружаем по стандартному прайс-листу без задержек&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  
  &lt;div class="promo-trick"&gt;
    &lt;p&gt;&lt;strong&gt;Присылайте эту акцию в октябре&lt;/strong&gt; — если кто-то забыл дать вам скидку на оптовые объёмы&lt;/p&gt;
  &lt;/div&gt;

  
  &lt;div class="cta-section"&gt;
    &lt;p class="cta-text"&gt;Если что-то не понятно — звоните, мы всегда на связи&lt;/p&gt;
    &lt;a href="tel:+79028733690" class="cta-button"&gt;8 (902) 873-36-90&lt;/a&gt;
    &lt;p class="manager-info"&gt;Менеджер: Ольга · Бронесталь · ООО «Арсенал Деталь»&lt;/p&gt;
  &lt;/div&gt;

  
  &lt;div class="seo-text"&gt;
    &lt;p&gt;Акция Солнечный Октябрь на бронелист БТВТ 450 и C500. Купить бронелист оптом и в розницу. Стальной лист ТУ 18101-2017 Ж, ТУ 18121-2017/96, ТУ 18105BB-2024. Классы защиты Бр2, Бр3, Бр4, Бр5, Бр6, осколочный класс С2. Выгодные цены на высокопрочную сталь. Оптовые поставки металла от 10 тонн. Тонколистовой прокат от 20 штук. Раскрой бронелиста 1220×2080, 1300×2000, 1500×3000, 1500×6000. Скачать прайс-лист на броневой лист 2026. Скидки на металлопрокат в октябре.&lt;/p&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;
/* ==================== ДАННЫЕ ==================== */
const priceData = [
  // C500 · ТУ 18121-2017/96
  {group:'c500_tu18121', mark:'C500', tu:'ТУ 18121-2017/96', size:'2,3 × 1220 × 2080', klass:'Бр2', stock:'50',  priceSheet:72224,  priceKg:1444, term:'10–15 раб. дней'},
  {group:'c500_tu18121', mark:'C500', tu:'ТУ 18121-2017/96', size:'4,3 × 1220 × 2080', klass:'Бр3', stock:'0',   priceSheet:116876, priceKg:1230, term:'3–4 мес. (нет сырья)'},
  {group:'c500_tu18121', mark:'C500', tu:'ТУ 18121-2017/96', size:'6,3 × 1220 × 2080', klass:'Бр4', stock:'400', priceSheet:142130, priceKg:1085, term:'10–15 раб. дней'},
  {group:'c500_tu18121', mark:'C500', tu:'ТУ 18121-2017/96', size:'8,3 × 1220 × 2080', klass:'Бр4', stock:'12',  priceSheet:201300, priceKg:1118, term:'10–15 раб. дней'},

  // БТВТ 450 · ТУ 18105BB-2024
  {group:'btvt', mark:'БТВТ 450', tu:'ТУ 18105BB-2024', size:'6 × 1500 × 2000', klass:'Бр2 / С2', stock:'~141', priceSheet:42390,  priceKg:300, term:'10–15 раб. дней'},
  {group:'btvt', mark:'БТВТ 450', tu:'ТУ 18105BB-2024', size:'6 × 1500 × 3000', klass:'Бр2 / С2', stock:'~94',  priceSheet:63585,  priceKg:300, term:'10–15 раб. дней'},
  {group:'btvt', mark:'БТВТ 450', tu:'ТУ 18105BB-2024', size:'6 × 1500 × 6000', klass:'Бр2 / С2', stock:'~188', priceSheet:129000, priceKg:300, term:'10–15 раб. дней'},

  // C500 · ТУ 18101-2017 Ж
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'6 × 1300 × 2000', klass:'Бр2 / С2', stock:'~163', priceSheet:52046,  priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'6 × 1300 × 3000', klass:'Бр2 / С2', stock:'~108', priceSheet:78068,  priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'6 × 1500 × 2000', klass:'Бр2 / С2', stock:'~141', priceSheet:60053,  priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'6 × 1500 × 3000', klass:'Бр2 / С2', stock:'~94',  priceSheet:90079,  priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'6 × 1300 × 6000', klass:'Бр2 / С2', stock:'~193', priceSheet:157250, priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'6 × 1500 × 6000', klass:'Бр2 / С2', stock:'~188', priceSheet:182750, priceKg:425, term:'10–15 раб. дней'},

  // План испытаний
  {group:'plan', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'8 × 1500 × 6000', klass:'план Бр3', stock:'~35', priceSheet:242250, priceKg:425, term:'10–15 раб. дней'},
  {group:'plan', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'8 × 2000 × 6000', klass:'план Бр3', stock:'~26', priceSheet:323000, priceKg:425, term:'10–15 раб. дней'},
  {group:'plan', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'20 × 2000 × 6000', klass:'план Бр5', stock:'~10', priceSheet:807500, priceKg:425, term:'10–15 раб. дней'},
  {group:'plan', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'25 × 2000 × 6000', klass:'план Бр5', stock:'~8',  priceSheet:1011500, priceKg:425, term:'10–15 раб. дней'},
  {group:'plan', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'50 × 2000 × 6000', klass:'план Бр6', stock:'~4',  priceSheet:2040000, priceKg:425, term:'10–15 раб. дней'},

  // C500 · ТУ 18101-2017 Ж — Бр4 и без класса
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'10 × 1500 × 6000', klass:'Бр4', stock:'~28', priceSheet:301750, priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'10 × 2000 × 6000', klass:'Бр4', stock:'~21', priceSheet:408000, priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'12 × 2000 × 6000', klass:'Бр4', stock:'~17', priceSheet:488750, priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'14 × 2000 × 6000', klass:'Бр4', stock:'~15', priceSheet:573750, priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'15 × 2000 × 6000', klass:'Бр4', stock:'~14', priceSheet:600525, priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'16 × 2000 × 6000', klass:'Бр4', stock:'~13', priceSheet:646000, priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'30 × 2000 × 6000', klass:'—',  stock:'~7',  priceSheet:1211250, priceKg:425, term:'10–15 раб. дней'},
  {group:'c500_tu18101', mark:'C500', tu:'ТУ 18101-2017 Ж', size:'40 × 2000 × 6000', klass:'—',  stock:'~5',  priceSheet:1632000, priceKg:425, term:'10–15 раб. дней'}
];

/* ==================== СОСТОЯНИЕ ==================== */
let state = {
  tab: 'all',
  search: '',
  sort: {key:null, dir:1}
};

/* ==================== УТИЛИТЫ ==================== */
const fmt = n =&gt; n.toLocaleString('ru-RU');
const num = s =&gt; parseFloat(String(s).replace(/[^\d.,]/g,'').replace(',', '.')) || 0;

/* ==================== ФИЛЬТРАЦИЯ ==================== */
function getFiltered() {
  let rows = priceData.slice();

  if (state.tab === 'armor') rows = rows.filter(r =&gt; r.group === 'c500_tu18121');
  if (state.tab === 'btvt')  rows = rows.filter(r =&gt; r.group === 'btvt');
  if (state.tab === 'plan')  rows = rows.filter(r =&gt; r.klass.startsWith('план'));

  if (state.search) {
    const q = state.search.toLowerCase();
    rows = rows.filter(r =&gt; (r.mark+' '+r.tu+' '+r.size+' '+r.klass+' '+r.term).toLowerCase().includes(q));
  }

  if (state.sort.key) {
    const k = state.sort.key, d = state.sort.dir;
    rows.sort((a, b) =&gt; {
      let va = a[k], vb = b[k];
      if (k === 'stock') { va = num(va); vb = num(vb); }
      if (typeof va === 'number' &amp;&amp; typeof vb === 'number') return (va - vb) * d;
      return String(va).localeCompare(String(vb), 'ru') * d;
    });
  }
  return rows;
}

/* ==================== РЕНДЕР ==================== */
const GROUPS = {
  'c500_tu18121': 'C500 · ТУ 18121-2017/96',
  'btvt':         'БТВТ 450 · ТУ 18105BB-2024 · 300 ₽/кг',
  'c500_tu18101': 'C500 · ТУ 18101-2017 Ж · 425 ₽/кг',
  'plan':         'План испытаний'
};

function render() {
  const rows = getFiltered();
  const tbody = document.getElementById('priceBody');
  const empty = document.getElementById('priceEmpty');
  tbody.innerHTML = '';

  if (!rows.length) {
    empty.style.display = 'block';
    document.getElementById('priceCounter').textContent = 'Найдено: 0';
    updateSortIndicators();
    return;
  }
  empty.style.display = 'none';

  if (state.sort.key) {
    rows.forEach(r =&gt; tbody.appendChild(makeRow(r)));
  } else {
    Object.keys(GROUPS).forEach(g =&gt; {
      const groupRows = rows.filter(r =&gt; r.group === g);
      if (!groupRows.length) return;
      const tr = document.createElement('tr');
      tr.className = 'category-row';
      tr.innerHTML = `&lt;td colspan="7"&gt;${GROUPS[g]}&lt;/td&gt;`;
      tbody.appendChild(tr);
      groupRows.forEach(r =&gt; tbody.appendChild(makeRow(r)));
    });
  }

  document.getElementById('priceCounter').textContent = 'Найдено: ' + rows.length;
  updateSortIndicators();
}

function makeRow(r) {
  const tr = document.createElement('tr');
  const badgeCls = r.klass.startsWith('план') ? 'badge plan' : 'badge';
  tr.innerHTML = `
    &lt;td&gt;${r.mark} &lt;span class="note"&gt;${r.tu}&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;${r.size}&lt;/td&gt;
    &lt;td&gt;&lt;span class="${badgeCls}"&gt;${r.klass}&lt;/span&gt;&lt;/td&gt;
    &lt;td class="num"&gt;${r.stock}&lt;/td&gt;
    &lt;td class="num"&gt;${fmt(r.priceSheet)}&lt;/td&gt;
    &lt;td class="num"&gt;${fmt(r.priceKg)}&lt;/td&gt;
    &lt;td&gt;${r.term}&lt;/td&gt;`;
  return tr;
}

function updateSortIndicators() {
  document.querySelectorAll('#priceTable th.sortable').forEach(th =&gt; {
    th.classList.remove('asc','desc');
    if (th.dataset.key === state.sort.key) {
      th.classList.add(state.sort.dir === 1 ? 'asc' : 'desc');
    }
  });
}

/* ==================== СОБЫТИЯ ==================== */
document.querySelectorAll('.promo-tab').forEach(tab =&gt; {
  tab.addEventListener('click', () =&gt; {
    document.querySelectorAll('.promo-tab').forEach(t =&gt; t.classList.remove('active'));
    tab.classList.add('active');
    state.tab = tab.dataset.tab;
    render();
  });
});

document.getElementById('priceSearch').addEventListener('input', e =&gt; {
  state.search = e.target.value.trim();
  render();
});

document.querySelectorAll('#priceTable th.sortable').forEach(th =&gt; {
  th.addEventListener('click', () =&gt; {
    const k = th.dataset.key;
    if (state.sort.key === k) state.sort.dir *= -1;
    else state.sort = {key:k, dir:1};
    render();
  });
});

function resetAll() {
  state = {tab:'all', search:'', sort:{key:null, dir:1}};
  document.getElementById('priceSearch').value = '';
  document.querySelectorAll('.promo-tab').forEach((t,i) =&gt; t.classList.toggle('active', i === 0));
  render();
}

/* ==================== ЭКСПОРТ CSV ==================== */
function downloadCSV() {
  const rows = getFiltered();
  const header = ['Марка','ТУ','Размер','Класс','Наличие','За лист, ₽','За 1 кг, ₽','Сроки'];
  const body = rows.map(r =&gt; [r.mark, r.tu, r.size, r.klass, r.stock, r.priceSheet, r.priceKg, r.term]);
  const esc = v =&gt; `"${String(v).replace(/"/g,'""')}"`;
  const csv = [header, ...body].map(r =&gt; r.map(esc).join(';')).join('\r\n');
  const blob = new Blob(['\uFEFF' + csv], {type:'text/csv;charset=utf-8;'});
  downloadBlob(blob, 'price_solnechny_oktyabr_' + today() + '.csv');
}

/* ==================== ЭКСПОРТ EXCEL ==================== */
function downloadExcel() {
  const rows = getFiltered();
  const header = ['Марка','ТУ','Размер','Класс','Наличие','За лист, ₽','За 1 кг, ₽','Сроки'];
  const body = rows.map(r =&gt; [r.mark, r.tu, r.size, r.klass, r.stock, r.priceSheet, r.priceKg, r.term]);
  const esc = v =&gt; String(v ?? '').replace(/&amp;/g,'&amp;amp;').replace(/&lt;/g,'&amp;lt;').replace(/&gt;/g,'&amp;gt;');
  const table = `&lt;table border="1" cellspacing="0" cellpadding="4"&gt;
    &lt;thead style="background:#000;color:#ffd700;"&gt;&lt;tr&gt;${header.map(h=&gt;`&lt;th&gt;${esc(h)}&lt;/th&gt;`).join('')}&lt;/tr&gt;&lt;/thead&gt;
    &lt;tbody&gt;${body.map(r=&gt;`&lt;tr&gt;${r.map(c=&gt;`&lt;td&gt;${esc(c)}&lt;/td&gt;`).join('')}&lt;/tr&gt;`).join('')}&lt;/tbody&gt;&lt;/table&gt;`;
  const html = `&lt;html xmlns:x="urn:schemas-microsoft-com:office:excel"&gt;&lt;head&gt;&lt;meta charset="UTF-8"&gt;
    &lt;style&gt;td,th{font-family:Arial;font-size:12px;}&lt;/style&gt;&lt;/head&gt;
    &lt;body&gt;&lt;h2&gt;Прайс акции «Солнечный Октябрь» — ${today()}&lt;/h2&gt;${table}&lt;/body&gt;&lt;/html&gt;`;
  const blob = new Blob(['\uFEFF' + html], {type:'application/vnd.ms-excel;charset=utf-8;'});
  downloadBlob(blob, 'price_solnechny_oktyabr_' + today() + '.xls');
}

function downloadBlob(blob, filename) {
  const url = URL.createObjectURL(blob);
  const a = document.createElement('a');
  a.href = url; a.download = filename;
  document.body.appendChild(a); a.click(); a.remove();
  setTimeout(() =&gt; URL.revokeObjectURL(url), 500);
}

function today() {
  const d = new Date(), p = n =&gt; String(n).padStart(2,'0');
  return `${d.getFullYear()}-${p(d.getMonth()+1)}-${p(d.getDate())}`;
}

/* ==================== СТАРТ ==================== */
render();
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</subtitle>
  <updated>2026-10-08T04:42:52Z</updated>
  <logo>https://xn--80abmnojgpmk.xn--p1ai/ssl/u/pic/f9/71f28ebd6c11f1bc96a94a3b2a5b30/-/XpnoBpMGVrE3AtfQUGFKD80ejOZ4gg39jykiODEqmDqeUPqSFm0Kxv05wtgrESirqqynC9qM7bP1a92QW6pNZBkp.jpg</logo>
  <author>
    <name>1761815</name>
    <uri>https://www.xn--80abmnojgpmk.xn--p1ai/</uri>
  </author>
</feed>
