/* Стили страницы «air_curtains_factory_calculator». Вынесены из <style> в шаблоне без правки правил.
 * Ссылка стоит ровно там, где стоял блок: порядок в каскаде сохранён. */

/* Без этого hidden проигрывает любому display у соседей. */
      [hidden] { display: none !important; }
        body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
               background: var(--brand-bg); color: var(--slate-900); line-height: 1.6;
               padding: 24px 20px 60px; margin: 0; }
        .container { max-width: 960px; margin: 0 auto; }
        h1 { font-size: 1.5rem; margin-bottom: 4px; }
        .lede { color: var(--slate-600); margin-bottom: 24px; }
        .card { background: var(--white); border: 1px solid var(--slate-200); border-radius: 10px;
                padding: 20px 24px; margin-bottom: 20px; }
        .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
                gap: 14px 20px; }
        label { display: block; font-size: 0.85rem; font-weight: 600;
                color: var(--slate-700); margin-bottom: 4px; }
        input, select { width: 100%; padding: 8px 10px; border: 1px solid var(--slate-300);
                        border-radius: 6px; font-size: 0.95rem; background: var(--white); }
        .btn { padding: 10px 20px; border: 0; border-radius: 6px; font-size: 0.95rem;
               font-weight: 600; cursor: pointer; background: var(--brand); color: var(--white); }
        .btn:disabled { background: var(--slate-400); cursor: default; }
        table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
        th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--slate-200); }
        th { font-weight: 600; color: var(--slate-600); background: var(--slate-50); }
        td.num { text-align: right; font-variant-numeric: tabular-nums; }
        .band-высокая { color: var(--green-700); font-weight: 600; }
        .band-достаточная { color: var(--green-700); }
        .band-низкая { color: var(--amber-700); }
        .band-отсутствует { color: var(--red-700); }
        .muted { color: var(--slate-500); font-size: 0.88rem; }
        .warn { background: var(--amber-50); border: 1px solid var(--amber-300); border-radius: 8px;
                padding: 12px 16px; margin-bottom: 16px; font-size: 0.9rem; }
        details { margin-top: 16px; }
        summary { cursor: pointer; font-weight: 600; color: var(--slate-700); }
        pre { background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px;
              padding: 14px; overflow-x: auto; font-size: 0.82rem;
              white-space: pre-wrap; }
        .rejected td { color: var(--slate-400); }
