/* Своё поверх фирменного кита ЗЗД: сетка дня, зоны карточки, плитки сводки.
   Всё на переменных brand.css/theme.css, чтобы светлая и тёмная темы работали. */

.page-head { display:flex; justify-content:space-between; align-items:flex-start;
             gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.page-head h1 { margin:0 0 .2rem; }
.page-head .dow { font-weight:400; opacity:.6; font-size:.7em; }

.daynav { display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; }
.daynav input[type=date], .daynav select { padding:.35rem .5rem; }

/* ---------- сетка дня ---------- */
.lines { display:grid; grid-template-columns:repeat(auto-fit, minmax(340px, 1fr)); gap:1rem; }
.line-card { background:var(--card, rgba(255,255,255,.04)); border:1px solid var(--line, rgba(255,255,255,.1));
             border-radius:14px; padding:.9rem 1rem 1rem; }
.line-card h2 { margin:.1rem 0 .7rem; font-size:1.05rem; }
.line-card h2 small { font-weight:400; opacity:.55; margin-left:.4rem; }

table.slots { width:100%; border-collapse:collapse; }
table.slots td { padding:.45rem .5rem; border-top:1px solid var(--line, rgba(255,255,255,.08));
                 vertical-align:top; }
table.slots tr:first-child td { border-top:none; }
table.slots td.t { width:4.6rem; font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap; }
table.slots tr.free td.t { opacity:.5; font-weight:400; }
table.slots tr.free td.empty { opacity:.75; }
table.slots tr.taken { background:rgba(120,180,255,.06); }
table.slots tr.off-grid td.t { color:#e0a94a; }
table.slots .sub { font-size:.8rem; opacity:.65; margin-top:.15rem; line-height:1.35; }
table.slots td.st { text-align:right; white-space:nowrap; }

.tag { font-size:.65rem; opacity:.7; display:block; font-weight:400; }

.chip { display:inline-block; padding:.08rem .45rem; margin:.1rem .1rem 0; border-radius:999px;
        font-size:.72rem; border:1px solid var(--line, rgba(255,255,255,.18)); white-space:nowrap; }
.chip.c-yes { border-color:#3e9c62; color:#6fd497; }
.chip.c-no  { border-color:#a45; color:#e58a9a; }
.chip.c-nd  { opacity:.6; }
.chip.c-out { border-color:#5a7fd0; color:#9db8f0; }

/* ---------- карточка записи: три зоны ---------- */
.zones { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:1rem;
         align-items:start; }
.zone h2 { margin:.1rem 0 .8rem; font-size:1rem; letter-spacing:.02em; }
.zone.ro { opacity:.62; }
.zone.ro h2::after { content:' · только чтение'; font-weight:400; font-size:.8rem; opacity:.7; }

.form-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:.75rem 1rem; }
.form-grid label { display:flex; flex-direction:column; gap:.25rem; font-size:.85rem; }
.form-grid label.wide, .form-grid .wide { grid-column:1 / -1; }
.form-grid label.chk { flex-direction:row; align-items:center; gap:.5rem; }
.form-grid input, .form-grid select, .form-grid textarea { padding:.4rem .55rem; font:inherit; }
.form-grid small.hint { font-size:.72rem; }

.actions { margin:1rem 0; display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; }
.cancel-box { display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; margin-top:1rem; }
.btn-danger { border-color:#a4455a; color:#e58a9a; }
.btn-sm { padding:.22rem .6rem; font-size:.8rem; }

/* ---------- сводка ---------- */
.tiles { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
         gap:.8rem; margin-bottom:1rem; }
.tile { background:var(--card, rgba(255,255,255,.04)); border:1px solid var(--line, rgba(255,255,255,.1));
        border-radius:14px; padding:.9rem 1rem; }
.tile .tv { font-size:1.6rem; font-weight:700; font-variant-numeric:tabular-nums; }
.tile .tl { font-size:.78rem; opacity:.65; margin-top:.15rem; line-height:1.3; }
.tile.sm .tv { font-size:1.25rem; }
.tile.warn { border-color:#8a6a2a; }

/* ---------- таблицы ---------- */
table.grid { width:100%; border-collapse:collapse; font-size:.88rem; }
table.grid th, table.grid td { padding:.4rem .55rem; text-align:left;
                               border-bottom:1px solid var(--line, rgba(255,255,255,.08)); }
table.grid th { font-weight:600; opacity:.75; font-size:.78rem; text-transform:uppercase;
                letter-spacing:.03em; }
table.grid td.num, table.grid th.num { text-align:right; font-variant-numeric:tabular-nums; }
table.grid tr.muted { opacity:.45; }
.row-actions { white-space:nowrap; }
.row-actions input { padding:.2rem .4rem; }

.search { display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; }

/* ---------- памятка ---------- */
.memo-item { padding:.5rem 0; border-top:1px solid var(--line, rgba(255,255,255,.07)); }
.memo-item:first-of-type { border-top:none; }
.memo-item h3 { margin:.1rem 0 .3rem; font-size:.95rem; }
.memo-item p { margin:.2rem 0; line-height:1.5; }
.memo-item.expired { opacity:.5; }
.memo-stop .memo-item h3 { color:#e58a9a; }
