Files
sendou.ink/app/features/availability/routes/t.$customUrl.schedule.module.css
2026-09-05 13:45:26 +03:00

170 lines
2.8 KiB
CSS

.header {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: var(--s-2);
}
/* narrow: the actions take a line of their own, so they split to the edges of it */
.headerActions {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: var(--s-2);
flex-grow: 1;
@container (width >= 640px) {
flex-grow: 0;
}
}
.heading {
font-size: var(--font-md);
color: var(--color-text);
}
/* sizes the grid against the breakout <main> of the team layout, capped at the wide page width
and centered under the normal-width column */
.gridScroll {
overflow-x: auto;
:global([data-main-breakout]) & {
width: min(100cqw, 72rem);
margin-inline: calc(50% - min(50cqw, 36rem));
}
}
.grid {
width: 100%;
border-collapse: collapse;
font-size: var(--font-xs);
& th,
& td {
padding: var(--s-1-5) var(--s-2);
text-align: left;
vertical-align: top;
white-space: nowrap;
}
/* the member column centers between the row lines, the day cells stay a top-aligned list */
& tbody th[scope="row"] {
vertical-align: middle;
}
& tbody tr {
border-top: var(--border-style);
}
}
.dayHeader {
font-size: var(--font-2xs);
font-weight: var(--weight-semi);
color: var(--color-text-high);
}
.memberCell {
position: sticky;
left: 0;
background-color: var(--color-bg);
font-weight: var(--weight-semi);
max-width: 10rem;
overflow: hidden;
text-overflow: ellipsis;
/* block-level so the link centers by vertical-align alone, without an inline box's descender gap */
& .memberLink {
display: flex;
}
}
.noteFlag {
color: var(--color-text-accent);
}
.dayDot {
margin-inline-end: var(--s-1);
}
.notes {
display: flex;
flex-direction: column;
gap: var(--s-1);
padding: 0;
list-style: none;
font-size: var(--font-xs);
}
.note {
display: flex;
align-items: baseline;
gap: var(--s-1-5);
& .noteFlag {
align-self: center;
flex-shrink: 0;
}
}
.noteDay,
.noteAuthor {
font-weight: var(--weight-semi);
color: var(--color-text-high);
white-space: nowrap;
}
.events {
display: flex;
flex-direction: column;
gap: var(--s-2);
padding-block: var(--s-3);
}
.eventsHeader {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--s-2);
}
.eventsHeading {
font-size: var(--font-sm);
color: var(--color-text);
}
.eventsList {
display: flex;
flex-direction: column;
gap: var(--s-1);
padding: 0;
list-style: none;
font-size: var(--font-xs);
}
.event {
display: flex;
align-items: center;
gap: var(--s-2);
}
.eventDay,
.eventTime {
font-weight: var(--weight-semi);
color: var(--color-text-high);
white-space: nowrap;
}
.eventName {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.eventParticipants {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}