.kzv{--b:#0f6f8c;--l:#e8f2f6;--g:#5b7c99;font-size:16px;line-height:1.5;margin:1.2em 0;color:#1a1a1a}
.kzv *{box-sizing:border-box}
.kzv-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6em;margin-bottom:.4em}
.kzv-f{display:flex;flex-direction:column;font-size:.9em;color:#5c6b75}
.kzv-f label{margin-bottom:.2em}
.kzv-f select,.kzv-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}
.kzv-f input{width:12em}
.kzv-f select:focus,.kzv-f input:focus{outline:3px solid #f2b705;outline-offset:1px;border-color:var(--b)}
.kzv-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}
.kzv-btn:hover,.kzv-btn:focus{border-color:var(--b);background:var(--l);color:#0f6f8c}
.kzv-btn:focus{outline:3px solid #f2b705;outline-offset:1px}
.kzv-pri{background:var(--b);border-color:var(--b);color:#fff}
.kzv-pri:hover,.kzv-pri:focus{background:#0b5870;border-color:#0b5870;color:#fff}
.kzv-hint{margin:.2em 0 .8em;font-size:.88em;color:#5c6b75}
.kzv-out{margin:.6em 0}
.kzv-err{background:#fdeceb;border-left:4px solid #c8452f;padding:.6em .85em;border-radius:0 8px 8px 0;color:#7a2417;margin:.3em 0}
.kzv-sum{margin:.3em 0;font-weight:600;color:#0f6f8c}
.kzv-nx{margin:.3em 0 .8em;padding:.6em .85em;background:var(--l);border-left:4px solid var(--b);border-radius:0 8px 8px 0}
.kzv-w{margin:.7em 0;padding:.6em .85em;background:#fff6e0;border-left:4px solid #d79a00;border-radius:0 8px 8px 0;font-size:.93em;color:#3a2f00}
.kzv-wrap{overflow-x:auto;border:2px solid var(--b);border-radius:12px;background:#fff;-webkit-overflow-scrolling:touch}
.kzv-t{border-collapse:collapse;width:100%;font-size:.93em}
.kzv-cap{caption-side:top;text-align:left;font-weight:700;padding:.6em .8em;background:var(--b);color:#fff;font-size:1.05em}
.kzv-t th,.kzv-t td{border:1px solid #cfdde4;padding:.5em .6em;text-align:left;vertical-align:top;background:#fff;color:#1a1a1a;font-weight:400}
.kzv-t thead th{background:var(--l);font-weight:600}
.kzv-t th.kzv-age{font-weight:600;min-width:9em}
.kzv-t ul{margin:0;padding-left:1.1em}
.kzv-t li{margin:0}
.kzv-date{white-space:nowrap}
.kzv-small{display:block;font-size:.85em;color:#5c6b75;margin-top:.15em}
.kzv-badge{display:inline-block;padding:.1em .6em;border-radius:12px;font-size:.9em;font-weight:600;border:1px solid var(--g);background:#fff}
.kzv-b-past{background:#eef1f3;color:#4a5963;border-color:#a9b6be}
.kzv-b-now{background:#fff6e0;color:#6b4a00;border-color:#d79a00}
.kzv-b-next{background:var(--b);color:#fff;border-color:var(--b)}
.kzv-b-later{background:#e8f2f6;color:#0b5870;border-color:#8fb7c6}
.kzv-r-next th,.kzv-r-next td{background:#f2f9fc}
.kzv-r-now th,.kzv-r-now td{background:#fffbf0}
.kzv-act{display:flex;flex-wrap:wrap;gap:.5em;margin:.8em 0 .4em}
.kzv-act[hidden]{display:none}
.kzv-note{background:#fff6e0;border-left:4px solid #d79a00;padding:.6em .85em;margin:.6em 0 0;border-radius:0 8px 8px 0;font-size:.93em;color:#3a2f00}
.kzv-nojs{color:#a23421}
.kzv-printbox{display:none}
@media(max-width:600px){
  .kzv-f{flex:1 1 100%}
  .kzv-f input{width:100%}
  .kzv-pri{flex:1 1 100%;text-align:center}
  .kzv-act .kzv-btn{flex:1 1 100%;text-align:center}
  .kzv-date{white-space:normal}
}
/* Печать: на бумагу идёт только таблица; остальное скрывается классом на <html>,
   его ставит скрипт перед печатью. */
@media print{
  @page{size:A4 portrait;margin:12mm}
  html.kzv-printing body>*:not(#kzv-printbox){display:none!important}
  html.kzv-printing #kzv-printbox{display:block!important;font:10pt/1.35 Georgia,"Times New Roman",serif;color:#000;background:#fff}
  .kzvp-top{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #000;padding-bottom:2mm;margin-bottom:3mm}
  .kzvp-top b{font-size:15pt}
  .kzvp-sub{margin:0 0 3mm}
  .kzvp-t{width:100%;border-collapse:collapse}
  .kzvp-t th,.kzvp-t td{border:.8pt solid #000;padding:1.5mm 2mm;text-align:left;vertical-align:top;font-size:9.5pt}
  .kzvp-t th{background:#e4e4e4!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kzvp-t tr{break-inside:avoid}
  .kzvp-t td:last-child{width:28mm}
  .kzvp-foot{margin:4mm 0 0;font-size:8.5pt;color:#333}
}
