.week { display: grid; gap: 6px; }
.week__row { display: grid; grid-template-columns: 48px auto minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: center; }
.week__row b { font: 500 13px var(--mono); text-transform: uppercase; }
.week__row label { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 14px; }
.week__row input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--ink); }
.week__row.is-closed input[type=time] { opacity: .35; }
.hol { display: grid; gap: 8px; }
.hol__row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr) auto auto; gap: 8px; align-items: center; border: 2px solid var(--ink); border-radius: 12px; padding: 8px; background: var(--mist); }
.hol__row button { min-height: 40px; min-width: 40px; border: 2px solid var(--ink); border-radius: 999px; background: var(--paper); cursor: pointer; }
.hol__row label { display: inline-flex; gap: 6px; align-items: center; font-size: 14px; }
.panel h2 small { font-weight: 400; }
.sub { font-size: 19px; font-weight: 600; }
.mock { border: 3px solid var(--ink); border-radius: 14px; overflow: hidden; background: var(--paper); }
.mock__top { height: 26px; background: var(--mist); border-bottom: 2px solid var(--ink); }
.mock__body { padding: 16px; display: grid; gap: 8px; }
.mock__body i { display: block; height: 12px; border-radius: 6px; background: var(--mist); }
.mock__body i:first-child { height: 28px; width: 70%; background: #e6e6e6; }
@media (max-width: 520px) { .week__row { grid-template-columns: 40px auto minmax(0, 1fr); } .week__row input[type=time]:last-child { grid-column: 3; } .hol__row { grid-template-columns: minmax(0, 1fr) auto; } }
