/* ===== Базовые стили / сетка ===== */
  html, body { width:100%; }
  #fsCfg, .fund3c-calc{overflow-x:hidden}
  #fsCfg, #fsCfg * , #fsCfg *::before, #fsCfg *::after{box-sizing:border-box}
  #fsCfg .ms-card{min-width:0}

  .fund3c-banner{background:#dc2626;color:#fff;font-weight:800;padding:12px 16px;border-radius:12px 12px 0 0;margin:0;line-height:1.2;font-size:18px;letter-spacing:.2px}
  .fund3c-calc[data-calc="screed-config-v1"]{--accent:#dc2626;--ink:#0f172a;--muted:#64748b;--line:#e5e7eb;--panel:#fff;max-width:100%;border:1px solid var(--line);border-top:none;border-radius:0 0 16px 16px;padding:16px;background:#fff}

  #fsCfg .ms-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
  @media (max-width:900px){#fsCfg .ms-grid{grid-template-columns:1fr}}
  #fsCfg .ms-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
  #fsCfg .ms-title{margin:0 0 10px;font-size:16px;color:#0f172a;font-weight:700}

  #fsCfg label{display:block;font-size:13px;color:#0f172a;margin:8px 0 6px;font-weight:600}
  #fsCfg input[type="number"], #fsCfg select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;outline:none;background:#fff;font-size:16px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:44px}
  #fsCfg input:focus,#fsCfg select:focus{border-color:#cbd5e1;box-shadow:0 0 0 3px rgba(220,38,38,.12)}
  #fsCfg .ms-note{color:#64748b;font-size:12px;font-style:italic;line-height:1.35;font-weight:400;margin-top:6px}
  #fsCfg .ms-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
  #fsCfg .psb-btn{display:inline-block;padding:12px 16px;border-radius:10px;font-weight:700;cursor:pointer;border:1px solid transparent;user-select:none;transition:background .2s ease, box-shadow .2s ease, transform .06s ease;min-height:44px}
  #fsCfg .psb-btn-primary{background:var(--accent);color:#fff}
  #fsCfg .psb-btn-primary:hover{filter:brightness(0.95);box-shadow:0 6px 20px rgba(220,38,38,.25)}
  #fsCfg .psb-btn-secondary{background:#f8fafc;color:#0f172a;border-color:#e5e7eb}
  #fsCfg .psb-btn-secondary:hover{background:#f1f5f9;box-shadow:0 4px 16px rgba(15,23,42,.08)}
  #fsCfg .psb-btn:active{transform:translateY(1px)}
  #fsCfg .psb-btn[aria-disabled="true"], #fsCfg .psb-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}

  #fsCfg .ms-warn{display:none;border:1px solid #fde68a;background:#fffbeb;border-radius:12px;padding:12px 14px;margin-top:12px;color:#92400e}

  #fsCfg .ms-result-cap{background:#dc2626;color:#fff;font-weight:800;padding:10px 14px;border-radius:12px 12px 0 0;letter-spacing:.2px;margin-top:16px}
  #fsCfg .ms-result-panel{border:1px solid var(--line);border-top:none;border-radius:0 0 12px 12px;background:#fff;padding:16px;box-shadow:0 8px 24px rgba(2,6,23,.06);display:grid;gap:12px;overflow-x:hidden}
  #fsCfg .ms-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px}
  @media (max-width:900px){#fsCfg .ms-kpis{grid-template-columns:repeat(2,minmax(160px,1fr))}}
  @media (max-width:480px){#fsCfg .ms-kpis{grid-template-columns:1fr}}
  #fsCfg .ms-kpi{border:1px dashed #fecaca;border-radius:10px;padding:10px 12px;font-size:13px;background:#fee2e2}
  #fsCfg .ms-kpi b{display:block;font-size:12px;color:#7f1d1d;font-weight:700;margin-bottom:4px}
  #fsCfg .ms-kpi span{font-weight:800;color:#0f172a}

  #fsCfg .ms-tables{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media (max-width:1100px){#fsCfg .ms-tables{grid-template-columns:1fr}}
  #fsCfg .tables-responsive{width:100%;overflow:visible!important}
  #fsCfg table{width:100%;border-collapse:collapse;table-layout:fixed}
  #fsCfg td, #fsCfg th{word-break:break-word;overflow-wrap:anywhere;padding:6px 8px}
  #fsCfg .beauty-table{width:100%}

  /* автоскрытие поддонов при big-bag */
  #fsCfg[data-pack="bigbag"] #fsPalletWrap{display:none !important;}
  #fsCfg .hidden{display:none !important;}

  .used-badge{margin:8px 0 14px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:999px;display:none;background:#f8fafc;font-weight:700;color:#0f172a}
  .used-badge b{color:#dc2626}

  .geo-title{display:flex;align-items:center;gap:8px}
  .geo-title .title-text{font-weight:800}
  .geo-title .flip{animation:geoFlip .35s ease}
  @keyframes geoFlip{0%{opacity:0;transform:translateY(-6px)}100%{opacity:1;transform:translateY(0)}}

  .carousel{position:relative;overflow:hidden;max-width:100%}
  .carousel .viewport{position:relative;border:1px dashed var(--line);border-radius:12px;overflow:hidden;max-width:100%;
    --navPad:56px; padding-left:var(--navPad); padding-right:var(--navPad);}
  @media (max-width:480px){.carousel .viewport{--navPad:48px}}
  .carousel .track{display:flex;transition:transform .35s ease;will-change:transform}
  .carousel .slide{min-width:100%;max-width:100%;padding:8px}
  .carousel .slide .slide-title{margin:0 0 8px;font-size:14px;color:#334155;font-weight:700}
  .geo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  @media (max-width:700px){.geo-grid{grid-template-columns:1fr}}
  .carousel .nav{position:absolute;top:0;bottom:0;width:56px;background:#dc2626;color:#fff;border:none;cursor:pointer;font-size:28px;font-weight:900;display:flex;align-items:center;justify-content:center;z-index:2}
  @media (max-width:480px){.carousel .nav{width:48px;font-size:26px}}
  .carousel .nav.prev{left:0;border-radius:12px 0 0 12px}
  .carousel .nav.next{right:0;border-radius:0 12px 12px 0}
  .carousel .nav:focus{outline:3px solid rgba(220,38,38,.35)}
  .carousel .dots{display:flex;gap:6px;justify-content:center;margin:8px 0 4px}
  .carousel .dots button{width:10px;height:10px;border-radius:50%;border:1px solid #e5e7eb;background:#e5e7eb;cursor:pointer}
  .carousel .dots button[aria-selected="true"]{background:#dc2626;border-color:#dc2626}

  @media (max-width:480px){
    #fsCfg .psb-btn{flex:1 1 100%}
    #fsCfg .ms-actions{gap:10px}
    .fund3c-banner{font-size:16px}
  }

  /* Центрирование текста на "Заказать" (Aspro) */
  #fsCfg .ms-actions .psb-btn.callback-block{
    display:inline-flex; align-items:center; justify-content:center;
    text-align:center; line-height:1; position:relative;
    padding-left:16px; padding-right:16px; width:100%;
  }
  @media (min-width:481px){ #fsCfg .ms-actions .psb-btn.callback-block{ width:auto; } }
  #fsCfg .ms-actions .psb-btn.callback-block::before,
  #fsCfg .ms-actions .psb-btn.callback-block::after,
  #fsCfg .ms-actions .psb-btn.callback-block i,
  #fsCfg .ms-actions .psb-btn.callback-block svg{
    position:absolute; right:12px; left:auto; margin:0; pointer-events:none;
  }
  #fsCfg .ms-actions .psb-btn.callback-block .btn-title{ display:inline-block; width:100%; text-align:center; }

  /* Кнопки добавить/удалить — в столбик */
  #fsCfg #roomsActions,
  #fsCfg [data-role="roomActions"]{ display:flex; flex-direction:column; align-items:stretch; gap:8px; }
  #fsCfg #roomsActions .psb-btn,
  #fsCfg [data-role="roomActions"] .psb-btn{ width:100%; }
