/* ============================================
   Rekuperation.ru — калькулятор (v0.5)
   Профессиональный дизайн в стиле rekuperation.ru
   Bootstrap-like, Rubik, #7cae35 бренд
   ============================================ */

:root{
    --brand: #7cae35;
    --brand-dark: #5d8a22;
    --brand-light: #a5d467;
    --brand-bg: #f2f8e8;
    --accent-blue: #4aa3df;
    --accent-orange: #f39c12;

    --text: #1a1a1a;
    --muted: #6c757d;
    --subtle: #98a2a9;

    --bg: #f5f7f4;
    --card: #ffffff;
    --border: #e5e9e0;
    --border-soft: #eef1eb;
    --divider: #f0f2ed;

    --ok: #2e7d32;
    --warn: #ed6c02;
    --danger: #d32f2f;

    --r-sm: 6px;
    --r: 10px;
    --r-lg: 14px;

    --shadow-xs: 0 1px 2px rgba(0,0,0,.04);
    --shadow-sm: 0 2px 6px rgba(0,0,0,.06);
    --shadow-md: 0 4px 16px rgba(0,0,0,.08);
    --shadow-lg: 0 12px 32px rgba(0,0,0,.08);
}

*,*::before,*::after{box-sizing:border-box}

html, body{
    margin:0;padding:0;
    font-family: 'Rubik', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: var(--text);
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.site-container{max-width:1280px;margin:0 auto;padding:0 24px}

/* =============== HEADER =============== */
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;box-shadow:var(--shadow-xs)}
.site-header__bar{background:#fff}
.site-header__inner{display:flex;align-items:center;gap:28px;padding:14px 24px;min-height:68px}
.site-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:700}
.site-brand__mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;box-shadow:var(--shadow-sm)}
.site-brand__name{font-size:17px;letter-spacing:-.015em}
.site-brand__name span{color:var(--brand)}
.site-nav{display:flex;gap:22px;flex:1;font-size:13.5px;overflow:hidden;flex-wrap:nowrap}
.site-nav a{color:var(--text);text-decoration:none;white-space:nowrap;padding:22px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;font-weight:500}
.site-nav a:hover{color:var(--brand-dark);border-bottom-color:var(--brand-light)}
.site-header__cta{display:inline-flex;align-items:center;gap:10px}
.site-header__link{padding:9px 18px;border-radius:8px;font-size:13.5px;font-weight:600;text-decoration:none;border:1.5px solid transparent;transition:.15s}
.site-header__link--active{background:var(--brand);color:#fff}
.site-header__link--active:hover{background:var(--brand-dark);box-shadow:var(--shadow-sm)}
@media(max-width:1100px){.site-nav{gap:16px;font-size:13px}.site-nav a:nth-child(n+5){display:none}}
@media(max-width:800px){.site-nav{display:none}.site-header__inner{padding:12px 20px;min-height:58px}.site-brand__name{font-size:15px}}

/* =============== HERO =============== */
.hero{background:linear-gradient(135deg,#fbfdf9 0%,#eef5dc 100%);padding:42px 0 36px;border-bottom:1px solid var(--border)}
.hero__row{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:center}
@media(max-width:900px){.hero__row{grid-template-columns:1fr}.hero{padding:32px 0 26px}}
.hero__eyebrow{display:inline-block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-dark);padding:5px 12px;background:rgba(124,174,53,.15);border-radius:4px;margin-bottom:14px}
.hero__title{font-size:34px;font-weight:700;margin:0 0 12px;line-height:1.1;letter-spacing:-.02em}
@media(max-width:600px){.hero__title{font-size:26px}}
.hero__sub{font-size:15px;line-height:1.6;color:#3a3f3a;margin:0 0 18px;max-width:760px}
.hero__badges{display:flex;flex-wrap:wrap;gap:6px}
.hero__badge{font-size:11.5px;font-weight:500;padding:4px 10px;border-radius:20px;background:#fff;color:#555;border:1px solid var(--border)}
.hero__badge--accent{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600}
.hero__aside{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media(max-width:900px){.hero__aside{grid-template-columns:repeat(3,1fr);max-width:360px}}
.hero__stat{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:14px 10px;text-align:center;box-shadow:var(--shadow-xs)}
.hero__stat-val{font-size:28px;font-weight:700;color:var(--brand-dark);line-height:1}
.hero__stat-lbl{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.3}

/* =============== MAIN =============== */
.site-main{padding:28px 0 60px}

.panel{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:14px 18px;margin-bottom:20px;box-shadow:var(--shadow-xs)}
.panel--presets{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.panel__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.chips{display:inline-flex;flex-wrap:wrap;gap:6px}
.chip{padding:6px 14px;border:1px solid var(--border);border-radius:20px;background:#fff;color:var(--text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--brand);color:var(--brand-dark)}
.chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.chip--alt{background:#fafbf7;color:var(--muted);font-style:italic}
.chip--alt:hover{color:var(--brand-dark);font-style:normal}

/* =============== CALC FORM =============== */
.calc{display:flex;flex-direction:column;gap:16px}
.calc-section{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow-xs);transition:box-shadow .15s}
.calc-section:hover{box-shadow:var(--shadow-sm)}
.calc-section__head{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--divider)}
.calc-section__num{width:30px;height:30px;flex-shrink:0;border-radius:8px;background:var(--brand-bg);color:var(--brand-dark);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.calc-section__title{margin:0 0 2px;font-size:16px;font-weight:600;line-height:1.3}
.calc-section__hint{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}

.calc-grid{display:grid;gap:14px}
.calc-grid--5{grid-template-columns:repeat(5,1fr)}
.calc-grid--6{grid-template-columns:repeat(6,1fr)}
@media(max-width:1000px){.calc-grid--5,.calc-grid--6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.calc-grid--5,.calc-grid--6{grid-template-columns:repeat(2,1fr)}}

.field{display:flex;flex-direction:column;gap:4px;font-size:13px}
.field--wide{grid-column:span 2}
@media(max-width:1000px){.field--wide{grid-column:span 2}}
@media(max-width:600px){.field--wide{grid-column:span 2}}
.field>span{font-size:12px;color:var(--muted);font-weight:500;letter-spacing:.01em}
.field input[type=number],.field input[type=text],.field select{
    height:38px;padding:0 12px;border:1px solid var(--border);border-radius:7px;font:inherit;font-size:14px;background:#fff;color:var(--text);outline:none;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s;
}
.field input:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(124,174,53,.16)}
.field select{appearance:none;padding-right:30px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%236c757d' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") right 10px center no-repeat;cursor:pointer}
.field--check{flex-direction:row;align-items:center;gap:8px;padding-top:20px}
.field--check input[type=checkbox]{width:17px;height:17px;accent-color:var(--brand);cursor:pointer;margin:0;flex-shrink:0}
.field--check span{font-size:13.5px;color:var(--text);font-weight:500}
.field-note{color:var(--subtle);font-size:12px;padding-top:10px;font-style:italic}

/* Season matrix */
.season-matrix{width:100%;border-collapse:collapse;font-size:13.5px}
.season-matrix thead th{padding:6px 12px;text-align:center;font-weight:500;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--divider)}
.season-matrix tbody th{padding:10px 12px;text-align:right;font-weight:700;color:var(--brand-dark);font-size:13px;background:var(--brand-bg);border-radius:6px 0 0 6px;width:70px}
.season-matrix tbody td{padding:8px 10px;text-align:center}
.m-field{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--border);border-radius:7px;padding:0 10px;transition:border-color .15s}
.m-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(124,174,53,.16)}
.m-field input{border:none;outline:none;background:transparent;height:36px;width:68px;font:inherit;font-size:14px;font-variant-numeric:tabular-nums;color:var(--text);text-align:center}
.m-field span{font-size:12px;color:var(--muted);font-weight:500}
@media(max-width:700px){.season-matrix thead th{font-size:10.5px;padding:4px 6px}.m-field input{width:52px;font-size:13px}.season-matrix tbody th{width:50px;padding:8px 6px;font-size:12px}}

/* =============== ACTIONS =============== */
.calc-actions{display:flex;gap:12px;flex-wrap:wrap;padding:8px 0 4px;justify-content:flex-end}
@media(max-width:700px){.calc-actions{flex-direction:column}.calc-actions .rk-btn{justify-content:center}}
.rk-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 22px;border:none;border-radius:8px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;text-decoration:none;line-height:1}
.rk-btn--lg{padding:14px 28px;font-size:15px}
.rk-btn--primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}
.rk-btn--primary:hover{background:var(--brand-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}
.rk-btn--outline{background:#fff;color:var(--brand-dark);border:1.5px solid var(--brand)}
.rk-btn--outline:hover{background:var(--brand-bg)}
.rk-btn--sm{padding:6px 12px;font-size:12.5px;border-radius:6px}
.rk-btn-row{padding:3px 10px;font-size:12px;border:1px solid var(--brand);border-radius:5px;background:rgba(124,174,53,.08);color:var(--brand-dark);cursor:pointer;font-family:inherit;font-weight:600;transition:.12s}
.rk-btn-row:hover{background:var(--brand);color:#fff}

/* =============== RESULTS =============== */
.results{margin-top:28px}
.rk-loading{text-align:center;padding:48px 20px;color:var(--muted)}
.rk-loading__spinner{display:inline-block;width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:10px}
@keyframes spin{to{transform:rotate(360deg)}}
.err{background:#fff0f0;border-left:4px solid var(--danger);padding:14px 18px;border-radius:var(--r-sm);color:#8c1818;font-size:14px}
.warn{background:#fff7e6;border-left:4px solid var(--warn);padding:10px 14px;border-radius:var(--r-sm);font-size:13px;margin-bottom:14px}
.warn b{color:var(--warn)}
.warn ul{margin:4px 0 0 20px;padding:0}

.result-head{margin-bottom:18px}
.result-title{font-size:22px;font-weight:700;margin:0 0 4px;letter-spacing:-.01em}
.result-sub{font-size:13.5px;color:var(--muted);margin:0}

/* Tabs */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center}
.tabs::-webkit-scrollbar{display:none}
.tab{background:none;border:none;padding:10px 18px;font-family:inherit;font-size:13.5px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.15s;white-space:nowrap;font-weight:500}
.tab:hover{color:var(--brand-dark)}
.tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}
.tab-print{margin-left:auto;font-size:12.5px;color:var(--muted);padding:7px 14px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;font-family:inherit;font-weight:500;transition:.15s;display:inline-flex;align-items:center;gap:6px}
.tab-print:hover{color:var(--brand);border-color:var(--brand)}

/* Equivalents */
.equiv{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;align-items:center;padding:10px 14px;background:#fafbf7;border:1px dashed var(--border);border-radius:var(--r-sm)}
.equiv__lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.equiv__item{padding:4px 12px;background:#fff;border:1px solid var(--border-soft);border-radius:20px;font-size:12.5px}
.equiv__item b{color:var(--brand-dark);font-weight:600}

/* Frost */
.frost{padding:12px 16px;border-radius:var(--r-sm);font-size:13.5px;line-height:1.5;border-left:4px solid;margin-bottom:16px;display:flex;gap:10px;align-items:flex-start}
.frost-ok{background:#eef9ef;border-color:#66bb6a;color:#1b5e20}
.frost-warn{background:#fff7e6;border-color:#ffa726;color:#8a5200}
.frost-danger{background:#fdeeee;border-color:#ef5350;color:#a01a1a}
.frost__icon{font-size:18px;flex-shrink:0;line-height:1}

/* Seasons */
.seasons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
@media(max-width:800px){.seasons{grid-template-columns:1fr}}
.season{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;border-top:4px solid var(--border)}
.season--winter{border-top-color:var(--accent-blue)}
.season--summer{border-top-color:var(--accent-orange)}
.season__lbl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.season__lbl span.cond{color:var(--subtle);font-weight:500;text-transform:none;letter-spacing:0;font-size:12px}
.kpi-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.kpi{background:var(--bg);border-radius:var(--r-sm);padding:10px 12px}
.kpi__l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;line-height:1.2}
.kpi__v{font-size:22px;font-weight:700;line-height:1.1;margin-top:4px;letter-spacing:-.01em}
.kpi__v .u{font-size:12px;color:var(--muted);margin-left:3px;font-weight:400}

.erp{display:inline-block;font-size:10px;font-weight:700;padding:3px 7px;border-radius:3px;color:#fff;margin-left:6px;vertical-align:2px}
.erp.h1{background:#1e7e34}.erp.h2{background:#5cb85c}.erp.h3{background:#f0ad4e}.erp.h4{background:#d9534f}.erp.h5{background:#8a2a2a}
.eco-pass{color:var(--ok);font-weight:600;font-size:14px}
.eco-fail{color:var(--danger);font-weight:600;font-size:14px}

/* Candidates */
.cand{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-xs)}
.cand__head{background:#fafbf7;padding:12px 18px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border)}
.cand table{width:100%;border-collapse:collapse;font-size:13px}
.cand th,.cand td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border-soft);font-variant-numeric:tabular-nums}
.cand th{background:#fafbf7;color:var(--muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.cand tr:last-child td{border-bottom:none}
.cand tr.best td{background:var(--brand-bg);font-weight:600}
.cand tr.best td:first-child::before{content:'★ ';color:var(--brand);font-size:14px}
.cand tr.fail td{color:var(--subtle);background:#fafafa}
.cand tr:hover:not(.best):not(.fail) td{background:#fafbf7}
.muted{color:var(--muted)}

/* Details */
.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.detail-block{background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);padding:14px 16px}
.detail-block h4{margin:0 0 8px;font-size:12.5px;font-weight:700;color:var(--brand-dark);border-bottom:1px solid var(--border-soft);padding-bottom:5px;text-transform:uppercase;letter-spacing:.06em}
.detail-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12.5px;border-bottom:1px dotted #eee;gap:10px}
.detail-row:last-child{border-bottom:none}
.detail-row .dl{color:var(--muted)}
.detail-row .dv{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}

/* Charts */
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:800px){.chart-grid{grid-template-columns:1fr}}
.chart{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:14px 18px;height:320px;display:flex;flex-direction:column;box-shadow:var(--shadow-xs)}
.chart h4{margin:0 0 8px;font-size:12.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.chart canvas{flex:1;min-height:0;max-height:100%}

/* Mollier */
.mollier{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:14px;margin-bottom:14px;overflow:auto;box-shadow:var(--shadow-xs)}
.mol-legs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.mol-legs{grid-template-columns:1fr}}
.mol-leg{background:var(--bg);padding:12px 14px;border-radius:var(--r-sm);font-size:13px}
.mol-leg .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}
.mol-leg ul{margin:6px 0 0 18px;padding:0;font-size:12px;color:var(--muted)}

/* Economy */
.econ-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
@media(max-width:900px){.econ-grid{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.econ-grid{grid-template-columns:1fr}}
.econ{background:#fff;border:1px solid var(--border);border-top:4px solid var(--brand);border-radius:var(--r);padding:14px 18px;box-shadow:var(--shadow-xs)}
.econ__l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.econ__v{font-size:26px;font-weight:700;margin-top:4px;line-height:1.1;letter-spacing:-.02em}
.econ__v .u{font-size:13px;color:var(--muted);margin-left:4px;font-weight:400}
.econ__s{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.4}

.bin{width:100%;border-collapse:collapse;font-size:12.5px;background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-xs)}
.bin th,.bin td{padding:7px 12px;text-align:left;border-bottom:1px solid var(--border-soft);font-variant-numeric:tabular-nums}
.bin th{background:#fafbf7;color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.bin tr:last-child td{border-bottom:none}
.bar{height:10px;background:var(--brand);border-radius:3px}
.bar.winter{background:var(--accent-blue)}
.bar.summer{background:var(--accent-orange)}
.bar.eco{background:var(--subtle)}

/* =============== FOOTER =============== */
.site-footer{background:#1f2624;color:#c9d1ce;margin-top:60px}
.site-footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;padding:44px 24px 32px}
@media(max-width:900px){.site-footer__inner{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:500px){.site-footer__inner{grid-template-columns:1fr}}
.site-footer__col-title{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:14px}
.site-footer__brand{color:#fff;font-weight:700;font-size:18px;margin-bottom:8px}
.site-footer__col p{font-size:13.5px;line-height:1.6;color:#a6aeab;margin:0}
.site-footer__col a{display:block;color:#c9d1ce;text-decoration:none;font-size:13.5px;padding:3px 0;transition:color .12s}
.site-footer__col a:hover{color:var(--brand-light)}
.site-footer__bottom{background:rgba(0,0,0,.2);padding:16px 0}
.site-footer__bottom .site-container{display:flex;justify-content:space-between;gap:16px;font-size:11.5px;color:#7a847f;flex-wrap:wrap}

/* =============== PRINT =============== */
@media print{
    .site-header,.site-footer,.hero,.panel--presets,.calc,.tabs,.tab-print{display:none!important}
    body{background:#fff;font-size:10px}
    .site-main{padding:0}
    .results{margin-top:0}
    .season,.chart,.econ,.detail-block{break-inside:avoid}
    canvas{max-width:100%!important;height:auto!important}
}

/* ===== Matrix cards (выбор типа матрицы) ===== */
.field--full { display: block; margin-bottom: 4px; }
.field__label { font-size: 12px; color: var(--muted); font-weight: 500; letter-spacing: .01em; display: block; margin-bottom: 6px; }

.matrix-cards {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
.matrix-card {
    background: #fff; border: 1.5px solid var(--border); border-radius: 7px;
    padding: 8px 10px 7px;
    text-align: left; cursor: pointer; font-family: inherit;
    display: flex; flex-direction: column; gap: 2px;
    line-height: 1.3; transition: border-color .12s, background .12s;
}
.matrix-card:hover  { border-color: var(--brand-light); }
.matrix-card.active { border-color: var(--brand); background: var(--brand-bg); }
.matrix-card__row1  { display: flex; align-items: baseline; gap: 8px; }
.matrix-card__code  { font-size: 11px; font-weight: 700; color: var(--brand-dark); background: var(--brand-bg); padding: 1px 5px; border-radius: 3px; flex-shrink: 0; }
.matrix-card.active .matrix-card__code { background: #fff; }
.matrix-card__name  { font-weight: 600; font-size: 12.5px; color: var(--text); }
.matrix-card__app   { font-size: 10.5px; color: var(--muted); margin-top: 2px; }
.matrix-card__recovers { font-size: 10px; color: var(--subtle); font-style: italic; margin-top: 1px; }
@media (max-width: 700px) { .matrix-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 400px) { .matrix-cards { grid-template-columns: 1fr; } }

/* ===== v_face «светофор» ===== */
.vface {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 12px; border-radius: 6px;
    font-size: 12.5px; line-height: 1.4;
    margin: 10px 0 14px;
    border-left: 3px solid;
}
.vface__icon { font-size: 16px; flex-shrink: 0; }
.vface__text b { font-weight: 600; }
.vface-ok       { background: #eef9ef; border-color: #66bb6a; color: #1b5e20; }
.vface-caution  { background: #fff7e6; border-color: #ffa726; color: #8a5200; }
.vface-warning  { background: #fff3e0; border-color: var(--warn); color: #7a3d00; }
.vface-danger   { background: #fdeeee; border-color: #ef5350; color: #a01a1a; }

/* ===== Series переключатель (RR/RS/Auto) ===== */
.panel--series {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    margin-bottom: 10px;
    background: linear-gradient(135deg, #fafbf7, #f4f8ec);
    border-left: 3px solid var(--brand);
}
.panel--series .chips { margin: 0; }
.panel__hint {
    font-size: 12.5px; color: var(--muted); flex: 1 1 auto;
    font-style: italic;
}
.chip--series {
    padding: 7px 14px; font-weight: 600; font-size: 13px;
    min-width: 100px;
}
