/* Built by tools/build.mjs from the parts of components.css marked for the committee dashboard */
/* programme */
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:26px;font-size:14px;color:var(--ink-2)}
.lg{display:inline-flex;align-items:center;gap:8px}
.lg::before{content:"";width:12px;height:12px;border-radius:3px}
.lg.pl::before{background:var(--navy)}.lg.tr::before{background:var(--sea)}.lg.in::before{background:var(--orange)}.lg.so::before{background:var(--gold)}.lg.br::before{background:var(--line-2)}
.days{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.day{display:flex;flex-direction:column;gap:8px;scroll-snap-align:start}
.day header{padding:16px 18px;border-radius:12px;background:var(--navy);color:#fff}
.day header small{display:block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sea-light)}
.day header b{display:block;font:700 28px/1.15 var(--fd)}
.day header span{font-size:14px;color:var(--on-dark-2)}
/* side by side, every day header keeps room for a two-line subtitle, so the first slots of all days line up */
@media (min-width:900px){.day header span{display:block;min-height:2lh}}
.slot{position:relative;display:grid;gap:2px;padding:12px 14px 12px 18px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.slot::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0}
.slot time{font-size:14px;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}
.slot b{font:600 15.5px/1.35 var(--fu);color:var(--ink)}
.slot span{font-size:14px;color:var(--muted);line-height:1.4}
.slot .pill{justify-self:start}
.slot.pl::before{background:var(--navy)}.slot.tr::before{background:var(--sea)}.slot.in::before{background:var(--orange)}.slot.so::before{background:var(--gold)}.slot.br{background:var(--mist);border-color:transparent}.slot.br::before{background:var(--line-2)}
.slot.tall{min-height:110px;align-content:start}
@media (max-width:1100px){.days{mask-image:linear-gradient(90deg,#000 85%,transparent)}}
.days:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
@media (max-width:1040px){.days{mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}.days.at-end{mask-image:none;-webkit-mask-image:none}}
.chat-log{display:grid;gap:10px;margin:0;padding:0;list-style:none;max-height:min(360px,50dvh);overflow-y:auto}
.chat-msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:14.5px;line-height:1.5}
.chat-msg p{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-msg .chat-who{display:block;font-size:14px;color:var(--muted)}
.chat-msg.me{justify-self:end;background:var(--sea-tint);border-bottom-right-radius:4px}
.chat-msg.them{justify-self:start;background:var(--mist);border:1px solid var(--line);border-bottom-left-radius:4px}
.chat-msg.sys{justify-self:stretch;max-width:none;background:none;padding:0;font-size:14px;color:var(--muted)}
.chat-log.chat-admin{max-height:min(420px,50vh);margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.chat-msg.note{background:var(--orange-tint);border:1px dashed var(--copper-light)}
.share-qr-img{flex:none;width:132px;height:132px;padding:6px;border-radius:8px;background:#fff}
.share-qr-img svg{display:block;width:100%;height:100%}
