/* Расчётный модуль */
.kk{margin:24px 0;font-family:var(--sans)}
.kk-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.kk-lab{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#999;margin-right:8px}
.kk-tab{font-family:var(--sans);font-size:13.5px;background:var(--card);color:var(--navy);
  border:1px solid var(--line);border-radius:8px;padding:8px 15px;cursor:pointer;margin-right:6px}
.kk-tab:hover{border-color:var(--purple)}
.kk-tab.on{background:var(--purple);color:#fff;border-color:var(--purple)}
.kk-btn{font-family:var(--sans);font-size:13px;font-weight:700;border-radius:8px;padding:8px 15px;cursor:pointer;
  background:var(--purple);color:#fff;border:1px solid var(--purple)}
.kk-btn.ghost{background:#fff;color:var(--navy);border-color:#C8CEDA;font-weight:400}
.kk-btn.ghost:hover{border-color:var(--purple);color:var(--purple)}
.kk-note{font-family:var(--serif);font-size:12.5px;color:#666;margin:0 0 14px}

.kk-gate-box{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:var(--wash-teach);border-radius:10px;padding:12px 16px;margin-bottom:14px;font-size:13px}
.kk-gate-box b{color:#7a5c00}
.kk-gate-box label{display:flex;align-items:center;gap:7px;color:#555}
.kk-gate-box input{width:78px;font-family:var(--sans);font-size:13px;padding:5px 7px;
  border:1px solid var(--line);border-radius:6px;text-align:right}
.kk-gate-status{margin-left:auto;font-weight:700;font-size:12.5px;color:#888}
.kk-gate-status.ok{color:var(--green)}
.kk-gate-status.bad{color:#b03a2e}

.kk-tw{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.kk-tbl{border-collapse:collapse;width:100%;font-size:12.5px;min-width:760px}
.kk-tbl th,.kk-tbl td{border-bottom:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:middle}
.kk-tbl thead th{background:var(--wash-var);color:var(--navy);font-size:11px;line-height:1.25;position:sticky;top:0}
.kk-tbl .n{text-align:right;font-variant-numeric:tabular-nums}
.kk-tbl tbody tr:hover{background:#faf9fd}
.kk-unit{display:block;font-size:10.5px;color:#aaa}
.kk-in{width:98px;font-family:var(--sans);font-size:12.5px;padding:4px 6px;text-align:right;
  border:1px solid #dfe3ea;border-radius:5px;color:var(--blue)}
.kk-in:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px rgba(91,59,140,.12)}
.kk-t{color:#555}
.kk-d2.hi{color:#b03a2e;font-weight:700}

.kk-res{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.kk-res-l,.kk-res-r{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.kk-big{display:flex;align-items:baseline;gap:9px}
.kk-big span{font-size:40px;font-weight:700;color:var(--purple);line-height:1}
.kk-big small{font-size:11.5px;color:#888}
.kk-meta{font-size:12px;color:#666;margin-top:8px}
.kk-line{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;padding:5px 0;border-bottom:1px solid var(--line)}
.kk-line:last-child{border-bottom:none}
.kk-line span{color:#777}
.kk-line b{font-variant-numeric:tabular-nums;color:var(--navy)}

.kk-verdict{font-family:var(--serif);font-size:13.5px;border-radius:8px;padding:11px 14px;margin-top:14px;background:#F7F8FA;border-left:4px solid #C8CEDA}
.kk-verdict.good{background:var(--wash-refl);border-left-color:var(--green)}
.kk-verdict.weak{background:var(--wash-teach);border-left-color:#c9a227}
.kk-verdict.none{background:var(--wash-prac);border-left-color:#b03a2e}
.kk-verdict.bad{background:var(--wash-prac);border-left-color:#b03a2e;font-weight:700}
.kk-warn{font-family:var(--serif);font-size:12.5px;background:var(--wash-prac);border-radius:8px;padding:10px 13px;margin-top:10px}

.kk-help{margin-top:18px;font-size:13px}
.kk-help summary{cursor:pointer;color:var(--purple);font-weight:700;font-size:13px}
.kk-help p{font-family:var(--serif);font-size:13.5px;margin:10px 0 0;max-width:80ch}

@media(max-width:860px){
  .kk-res{grid-template-columns:1fr}
  .kk-top{flex-direction:column;align-items:flex-start}
  .kk-gate-status{margin-left:0}
}

/* импорт книги */
.kk-file{display:inline-block;cursor:pointer}
.kk-import:empty{display:none}
.kk-import{font-family:var(--serif);font-size:13px;border-radius:8px;padding:10px 13px;margin:0 0 12px;background:#F7F8FA;border-left:4px solid #C8CEDA}
.kk-import.ok{background:var(--wash-refl);border-left-color:var(--green)}
.kk-import.warn{background:var(--wash-teach);border-left-color:#c9a227}
.kk-import.bad{background:var(--wash-prac);border-left-color:#b03a2e}
