:root{--off:#e6e9ee;--offfg:#5b6b7f;--work:#fff}
@media (prefers-color-scheme:dark){:root{--off:#26303c;--offfg:#9fb0c3;--work:#17212d}}
textarea{font:inherit;width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);resize:vertical;min-height:96px}
textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.hint{margin:6px 0 0}
label.chk{display:flex;gap:10px;align-items:flex-start;font-weight:600;margin:14px 0 4px}
label.chk input,.wk input{width:22px;min-height:22px;height:22px;flex:none;margin:3px 0 0;padding:0}
.wk{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 4px}
.wk label{display:flex;gap:6px;align-items:center;margin:0;min-height:44px;font-size:16px}
.wk input{margin:0}
table.res th{width:50%}
.calm{margin:12px 0 16px}
.calh{font-weight:800;color:var(--navy);margin:0 0 4px}
.calg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.calw{text-align:center;font-size:13px;color:var(--mut);font-weight:700}.calw.sun{color:#c0392b}.calw.sat{color:#2e6da4}
.cald{min-height:52px;border-radius:6px;padding:3px 2px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1px;overflow:hidden}
.cald.empty{background:transparent}
.cald.work{background:var(--work);border:1px solid var(--line)}
.cald.off{background:var(--off);color:var(--offfg);border:1px solid transparent}
.cald .dn{font-weight:700;font-size:15px;line-height:1.3}
.cald .no{font-size:12px;color:var(--navy);font-weight:700;line-height:1.3}
.cald .lb{font-size:10px;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:480px){.cald{min-height:46px}.cald .lb{font-size:9px}}
[hidden]{display:none!important}
