/* styles/pages/work-schedules.css — «Графики работы» (#/work-schedules). Префикс .ws-; шапка и кнопки из tasks-v2.css, формы (.tc2-form) оттуда же.
   Только токены скина, ни одного hex; без движения, кроме функционального. */

.ws-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; align-items: start; }
.ws-card { display: grid; gap: 10px; padding: 14px 16px; border: 1px solid var(--tv2-line); border-radius: 12px; background: var(--tv2-card); }
.ws-card.is-default { border-color: var(--accent-primary); }
.ws-card header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.ws-card h3 { margin: 0; font: 700 15px/1.25 var(--font-display, var(--font-sans)); }
.ws-card header p, .ws-card__n { margin: 3px 0 0; font-size: 12px; color: var(--text-muted); }
.ws-badge { padding: 2px 9px; border: 1px solid var(--accent-primary); border-radius: 999px; font: 700 10px var(--font-sans); letter-spacing: .3px; text-transform: uppercase; color: var(--accent-primary); white-space: nowrap; }
.ws-card footer { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 10px; border-top: 1px solid var(--tv2-line); }
.ws-del { margin-left: auto; color: var(--status-danger); }

.ws-sect { margin-top: 24px; display: grid; gap: 12px; }
.ws-sect h2 { margin: 0; font: 700 15px/1.25 var(--font-display, var(--font-sans)); }
.ws-assign-top { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ws-assign-top select { min-width: 260px; max-width: 420px; }
.ws-note { margin: 0; font-size: 13px; color: var(--text-muted); }
.ws-assigns { margin: 0; padding: 0; list-style: none; display: grid; border: 1px solid var(--tv2-line); border-radius: 12px; overflow: hidden; background: var(--tv2-card); }
.ws-assigns li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 14px; }
.ws-assigns li + li { border-top: 1px solid var(--tv2-line); }
.ws-assigns li.is-now { box-shadow: inset 3px 0 0 var(--accent-primary); }
.ws-assigns b { display: block; font-size: 13px; font-weight: 600; }
.ws-assigns small { font-size: 12px; color: var(--text-muted); }
.ws-assigns__act { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }

.ws-days { display: flex; flex-wrap: wrap; gap: 6px; }
.ws-day { position: relative; cursor: pointer; }
.ws-day input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.ws-day span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 34px; padding: 0 10px; border: 1px solid var(--tv2-line); border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--text-muted); }
.ws-day input:checked + span { border-color: var(--accent-primary); background: var(--accent-surface); color: var(--text-primary); }
.ws-day input:focus-visible + span { outline: 2px solid var(--accent-primary); outline-offset: 2px; }
.ws-check { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; cursor: pointer; }
.ws.is-busy { opacity: .7; }
@media (max-width: 640px) { .ws-assign-top select { min-width: 0; width: 100%; max-width: none; } .ws-assigns li { flex-direction: column; align-items: flex-start; } }
