/* Окно «Свободное время всех полей» */
html.nba-lock{overflow:hidden}
.nba{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-end;justify-content:center}
.nba[hidden]{display:none}
.nba-back{position:absolute;inset:0;background:rgba(15,18,22,.62)}
.nba-win{position:relative;background:#fff;width:100%;max-width:940px;max-height:94vh;max-height:94dvh;overflow:auto;border-radius:18px 18px 0 0;--p:16px;padding:18px var(--p) 0;box-shadow:0 -10px 40px rgba(0,0,0,.3);color:#0f1216;font-family:inherit}
@media(min-width:760px){.nba{align-items:center}.nba-win{--p:26px;border-radius:18px;padding:24px var(--p) 0}}
.nba-x{position:absolute;right:10px;top:8px;width:44px;height:44px;border:0;border-radius:50%;background:#f1f2f4;font-size:28px;line-height:1;cursor:pointer;color:#0f1216}
.nba-x:hover{background:#e4e6ea}
.nba-t{margin:0 48px 6px 0;font-size:22px;line-height:1.2;font-weight:800}
.nba-sub{margin:0 0 12px;color:#5b6270;font-size:14px;line-height:1.45}
.nba-pre{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:#fff4e0;color:#7a4a00;font-size:13px}
.nba-days{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}
.nba-day{flex:0 0 auto;min-width:58px;padding:7px 8px;border:2px solid #e3e6ea;border-radius:12px;background:#fff;text-align:center;line-height:1.15;cursor:pointer;color:#0f1216;font:inherit}
.nba-day .wd{display:block;font-size:11px;color:#6b7280;text-transform:lowercase}
.nba-day .wd.we{color:#e11d1d}
.nba-day b{display:block;font-size:19px}
.nba-day .mo{display:block;font-size:11px;color:#6b7280}
.nba-day.on{border-color:#e11d1d;background:#fff1f1}
.nba-day.off{opacity:.55}
.nba-more{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#5b6270;margin:0 0 10px}
.nba-more input{font:inherit;font-size:15px;padding:7px 10px;border:2px solid #e3e6ea;border-radius:10px}
.nba-body{min-height:120px;transition:opacity .15s}
.nba-body.nba-dim{opacity:.5}
.nba-msg{margin:10px 0;padding:12px 14px;border-radius:12px;background:#f4f5f7;font-size:15px;line-height:1.45}
.nba-msg.warn{background:#fff4e0;color:#7a4a00}
.nba-msg.err{background:#fde7e7;color:#8a1c1c}
.nba-retry,.nba-tel{display:inline-block;margin:0 8px 6px 0;padding:11px 18px;border-radius:999px;border:2px solid #e11d1d;background:#e11d1d;color:#fff!important;font:700 15px/1.2 inherit;text-decoration:none;cursor:pointer}
.nba-tel{background:#fff;color:#e11d1d!important}
.nba-scroll{border:1px solid #e3e6ea;border-radius:12px;overflow:hidden;overflow:clip}
.nba-tbl{border-collapse:collapse;table-layout:fixed;width:100%;min-width:340px}
.nba-tbl th{position:sticky;top:0;z-index:2;background:#f6f7f8;padding:6px 3px;font-size:12px;line-height:1.2;border-bottom:1px solid #d9dde2;border-left:1px solid #e9ecef}
.nba-tbl th.t{width:46px;border-left:0}
.nba-tbl th .nm{display:block;font-weight:800}
.nba-tbl th small{display:block;color:#6b7280;font-weight:500;font-size:10.5px}
.nba-tbl td{padding:0;border-left:1px solid #e9ecef;vertical-align:top;font-size:12px}
.nba-tbl tr.hr td{border-top:1px solid #dfe3e8}
.nba-tbl td.t{padding:2px 4px;color:#6b7280;font-size:11px;white-space:nowrap;background:#fafbfc;border-left:0;vertical-align:top}
.nba-tbl td{height:20px}
.nba-tbl td.free{background:#e6f6ec;border-color:#fff}
.nba-free{display:flex;flex-direction:column;justify-content:center;gap:1px;height:100%;min-height:32px;padding:5px 5px;text-decoration:none;color:#14532d!important;border-left:4px solid #2e9e5b;background:#e6f6ec;line-height:1.2}
.nba-free b{font-size:12.5px;font-weight:800}
.nba-free span{font-size:11px;color:#2f6b45}
.nba-free:hover,.nba-free:focus-visible{background:#c9ecd6}
.nba-tbl td.busy{background:#eceff1;color:#8b93a0;text-align:center;vertical-align:middle;font-size:11px}
.nba-tbl td.short{background:repeating-linear-gradient(45deg,#f1f3f5,#f1f3f5 4px,#e8ebee 4px,#e8ebee 8px);color:#9aa1ad;font-size:10px;text-align:center;vertical-align:middle}
.nba-tbl td.off{background:#f5f6f8}
.nba-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:14px 0 16px;font-size:12.5px;color:#5b6270}
.nba-legend .k:before{content:"";display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:-2px;border:1px solid rgba(0,0,0,.12)}
.nba-legend .free:before{background:#e6f6ec;border-left:4px solid #2e9e5b}
.nba-legend .busy:before{background:#eceff1}
.nba-legend .off:before{background:#f5f6f8}
@media(max-width:480px){.nba-t{font-size:19px}.nba-tbl th .nm{font-size:11.5px}.nba-free b{font-size:11.5px}.nba-tbl td.t{font-size:10px;padding:2px 2px}}
@media(prefers-reduced-motion:reduce){.nba-body{transition:none}}
.nba-days[hidden],.nba-more[hidden]{display:none}

/* закрепленный низ окна: кнопка записи всегда под рукой, окно выглядит законченным */
.nba-tbl th{top:0}
.nba-body{padding-bottom:4px}
.nba-foot{position:sticky;bottom:0;z-index:5;display:flex;gap:10px;margin:0 calc(var(--p) * -1);padding:12px var(--p) calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e3e6ea;box-shadow:0 -8px 18px rgba(15,18,22,.06)}
.nba-foot[hidden]{display:none}
.nba-go,.nba-call{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 18px;border-radius:999px;font:700 15px/1.2 inherit;text-align:center;text-decoration:none;cursor:pointer}
.nba-go{flex:1 1 auto;background:#e11d1d;border:2px solid #e11d1d;color:#fff!important}
.nba-go:hover{background:#b91414;border-color:#b91414}
.nba-call{flex:0 0 auto;background:#fff;border:2px solid #0f1216;color:#0f1216!important}
.nba-call:hover{background:#0f1216;color:#fff!important}
@media(max-width:380px){.nba-call{padding:0 14px}}

/* левая колонка со временем: ярче и читаемее */
.nba-tbl td.t{color:#1f2937;font-weight:700;font-size:12px;background:#eef1f5;border-right:1px solid #d9dde2}
.nba-tbl th.t{background:#eef1f5}
@media(max-width:480px){.nba-tbl td.t{font-size:11.5px}}

/* четкость на телефоне: три явных состояния и крупные надписи */
.nba-tbl td{height:26px}
.nba-tbl th .nm{font-size:13.5px;color:#0f1216}
.nba-tbl th small{font-size:11.5px;color:#374151;font-weight:600}
.nba-tbl td.t{font-size:13px;color:#0f1216}
.nba-tbl td.free{background:#c6ecd6}
.nba-free{background:#c6ecd6;border-left:5px solid #12803f;color:#07361b!important}
.nba-free b{font-size:13.5px;font-weight:800;white-space:nowrap;color:#07361b}
.nba-free span{font-size:12px;font-weight:700;color:#14532d}
.nba-free:hover,.nba-free:focus-visible{background:#a8e0bf}
.nba-tbl td.busy{background:#c3c9d2;color:#1f2733;font-size:12.5px;font-weight:700;letter-spacing:.02em;border-left:1px solid #aab1bc}
.nba-tbl td.busy span{display:block;padding:2px 0}
.nba-tbl td.short{background:repeating-linear-gradient(45deg,#eceff3,#eceff3 5px,#dde2e8 5px,#dde2e8 10px);color:#4b5563;font-size:11px;font-weight:600}
.nba-tbl td.off{background:repeating-linear-gradient(135deg,#f6f7f9,#f6f7f9 6px,#eceef2 6px,#eceef2 12px)}
.nba-legend{font-size:14px;color:#1f2937;font-weight:600;gap:8px 18px}
.nba-legend .k:before{width:18px;height:18px;border-radius:5px;margin-right:7px;vertical-align:-4px}
.nba-legend .free:before{background:#c6ecd6;border:1px solid #12803f;border-left:5px solid #12803f}
.nba-legend .busy:before{background:#c3c9d2;border:1px solid #aab1bc}
.nba-legend .off:before{background:repeating-linear-gradient(135deg,#f6f7f9,#f6f7f9 3px,#e2e5ea 3px,#e2e5ea 6px);border:1px solid #d4d8de}
@media(max-width:480px){.nba-free b{font-size:12.5px}.nba-tbl th .nm{font-size:12.5px}.nba-tbl td.busy{font-size:12px}}
.nba-free{padding:5px 4px 5px 6px;overflow:hidden}
.nba-free b{white-space:normal;line-height:1.2;word-break:keep-all}
.nba-free span{white-space:nowrap}

.nba-tbl th small.nba-kind{display:inline-block;margin:2px 0 1px;padding:0 7px;border-radius:999px;background:#e3f4e8;color:#14652f;font-weight:700;font-size:11px}
.nba-tbl th small.nba-kind.uni{background:#e4edff;color:#1d4fbf}
