.kzo{--b:#0f6f8c;--l:#e8f2f6;--g:#5b7c99;font-size:16px;line-height:1.5;margin:1.2em 0;color:#1a1a1a}
.kzo *{box-sizing:border-box}
.kzo-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.7em;margin-bottom:.6em}
.kzo-f{display:flex;flex-direction:column;font-size:.88em;color:#3a4a55;flex:1 1 200px;min-width:0}
.kzo-f input{padding:.5em .6em;font-size:16px;font-family:inherit;line-height:1.3;border:2px solid var(--g);border-radius:8px;background:#fff;color:#1a1a1a;min-height:44px;width:100%}
.kzo-f input:focus{outline:3px solid #f2b705;outline-offset:1px;border-color:var(--b)}
.kzo-act{display:flex;flex-wrap:wrap;gap:.5em;margin:.4em 0}
.kzo-btn{display:inline-block;padding:.55em .95em;border:1px solid var(--g);border-radius:8px;background:#fff;color:#1a1a1a;cursor:pointer;font-family:inherit;font-size:16px;line-height:1.4;text-decoration:none;min-height:44px}
.kzo-btn:hover,.kzo-btn:focus{border-color:var(--b);background:var(--l);color:#0f6f8c}
.kzo-btn:focus{outline:3px solid #f2b705;outline-offset:1px}
.kzo-pri{background:var(--b);border-color:var(--b);color:#fff}
.kzo-pri:hover,.kzo-pri:focus{background:#0b5870;border-color:#0b5870;color:#fff}
.kzo-msg{color:#a23421;margin:.3em 0;min-height:1px}
.kzo-warn{background:#fff6e0;border-left:4px solid #d79a00;padding:.6em .85em;margin:.6em 0;border-radius:0 8px 8px 0;font-size:.93em;color:#3a2f00}
.kzo-sum{display:flex;flex-wrap:wrap;gap:.7em;margin:.8em 0}
.kzo-card{flex:1 1 200px;background:var(--l);border:1px solid #cfdde4;border-radius:10px;padding:.7em .9em;display:flex;flex-direction:column}
.kzo-card span{font-size:.85em;color:#3a4a55}
.kzo-card b{font-size:1.25em;color:#0b5870}
.kzo-card i{font-style:normal;font-size:.85em;color:#3a4a55}
.kzo-tw{overflow-x:auto;border:2px solid var(--b);border-radius:12px;background:#fff;margin:.6em 0}
.kzo-t{border-collapse:collapse;width:100%;font-size:.92em}
.kzo-t caption{caption-side:top;text-align:left;font-weight:700;padding:.5em .8em;background:var(--b);color:#fff}
.kzo-t th,.kzo-t td{border:1px solid #cfdde4;padding:.45em .6em;text-align:left;font-weight:400;color:#1a1a1a;background:#fff}
.kzo-t thead th{background:var(--l);font-weight:600}
.kzo-t tbody th{font-weight:600}
.kzo-legend{display:flex;flex-wrap:wrap;gap:.4em 1.1em;font-size:.88em;margin:.6em 0;color:#3a4a55}
.kzo-legend span{display:inline-flex;align-items:center;gap:.35em}
.kzo-legend i{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid #9bb0bc}
.kzo-legend .kzo-dp{background:#f4b4b4}
.kzo-legend .kzo-df{background:#cde8d4}
.kzo-legend .kzo-do{background:#2e8b57}
.kzo-today{box-shadow:inset 0 0 0 2px #d79a00}
.kzo-mons{display:flex;flex-wrap:wrap;gap:.8em;margin:.6em 0}
.kzo-mon{flex:1 1 230px;max-width:300px}
.kzo-g{border-collapse:collapse;width:100%;font-size:.85em;table-layout:fixed}
.kzo-g caption{text-align:left;font-weight:700;padding:.3em 0;color:#0b5870}
.kzo-g th{font-weight:600;color:#5c6b75;padding:.2em 0;text-align:center}
.kzo-g td{border:1px solid #e1e9ed;text-align:center;padding:.3em 0;height:34px;background:#fff;color:#1a1a1a}
.kzo-g td.kzo-dp{background:#f4b4b4}
.kzo-g td.kzo-df{background:#cde8d4}
.kzo-g td.kzo-do{background:#2e8b57;color:#fff;font-weight:700}
.kzo-g td.kzo-today{box-shadow:inset 0 0 0 2px #d79a00}
.kzo-note{background:#fff6e0;border-left:4px solid #d79a00;padding:.6em .85em;margin:.8em 0 0;border-radius:0 8px 8px 0;font-size:.93em;color:#3a2f00}
.kzo-nojs{color:#a23421}
.kzo-printbox{display:none}
@media(max-width:600px){
  .kzo-act .kzo-btn{flex:1 1 100%;text-align:center}
  .kzo-mon{max-width:none}
}
/* Печать: на бумагу идёт только результат (скрипт ставит класс на <html> перед печатью). */
@media print{
  @page{size:A4 portrait;margin:10mm}
  html.kzo-printing body>*:not(#kzo-printbox){display:none!important}
  html.kzo-printing #kzo-printbox{display:block!important;font:10pt/1.35 Georgia,"Times New Roman",serif;color:#000;background:#fff}
  .kzop-top{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #000;padding-bottom:2mm;margin-bottom:3mm}
  .kzop-top b{font-size:14pt}
  .kzop-t{width:100%;border-collapse:collapse;margin:3mm 0}
  .kzop-t th,.kzop-t td{border:.8pt solid #000;padding:1.2mm 2mm;text-align:left;font-size:9pt;font-weight:400}
  .kzop-t th{font-weight:700}
  .kzop-mons{display:flex;flex-wrap:wrap;gap:4mm}
  .kzop-mons .kzo-mon{flex:0 0 58mm;max-width:58mm;break-inside:avoid}
  .kzop-mons .kzo-g td{height:6mm;border:.6pt solid #000;font-size:8pt;padding:0}
  .kzop-mons .kzo-g td.kzo-dp{background:#bbb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kzop-mons .kzo-g td.kzo-df{background:#ddd!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kzop-mons .kzo-g td.kzo-do{background:#000!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kzop-foot{margin:3mm 0 0;font-size:8.5pt;color:#333}
}
