@layer fc.components {
.fc-grid {
display: grid;
grid-auto-columns: minmax(0, 1fr);
grid-auto-rows: min-block-size;
overflow: auto;
overscroll-behavior: contain;
overscroll-behavior-inline: contain;
background-color: var(--fc-color-bg-surface);
color: var(--fc-color-text-default);
border: var(--fc-border-width-thin) solid var(--fc-color-border-default);
border-radius: var(--fc-radius-md);
font-size: var(--fc-font-size-sm);
line-height: var(--fc-line-height-snug);
}
.fc-grid__col-header,
.fc-grid__row-header {
position: sticky;
z-index: var(--fc-z-raised);
display: flex;
align-items: center;
padding-inline: var(--fc-space-2);
padding-block: var(--fc-space-1-5);
background-color: var(--fc-color-bg-subtle);
color: var(--fc-color-text-muted);
font-weight: var(--fc-font-weight-semibold);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.fc-grid__col-header {
inset-block-start: 0;
}
.fc-grid__row-header {
inset-inline-start: 0;
justify-content: flex-end;
font-variant-numeric: tabular-nums;
}
.fc-grid__corner {
position: sticky;
inset-block-start: 0;
inset-inline-start: 0;
z-index: var(--fc-z-sticky);
background-color: var(--fc-color-bg-muted);
}
.fc-grid > [role="row"],
.fc-grid > [role="rowgroup"] > [role="row"] {
display: contents;
}
.fc-grid__cell {
display: flex;
align-items: center;
padding-inline: var(--fc-space-2);
padding-block: var(--fc-space-1);
min-inline-size: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
border-block-end: var(--fc-border-width-thin) solid var(--fc-color-border-subtle);
border-inline-end: var(--fc-border-width-thin) solid var(--fc-color-border-subtle);
}
.fc-grid__cell--editing {
box-shadow: inset 0 0 0 var(--fc-border-width-thick) var(--fc-color-accent-border);
overflow: visible;
white-space: normal;
}
.fc-grid__input {
inline-size: 100%;
border: 0;
padding: 0;
margin: 0;
background-color: transparent;
color: inherit;
font: inherit;
min-inline-size: 0;
}
.fc-grid__cell[aria-selected="true"] {
background-color: var(--fc-color-selected-bg);
color: var(--fc-color-selected-fg);
box-shadow: inset 0 0 0 var(--fc-border-width-thick) var(--fc-color-accent-border);
}
.fc-grid__cell[data-fc-active="true"] {
background-color: var(--fc-color-bg-surface);
color: var(--fc-color-text-default);
box-shadow: inset 0 0 0 var(--fc-border-width-focus) var(--fc-color-accent-bg);
}
.fc-grid__cell--numeric,
.fc-grid__col-header--numeric {
justify-content: flex-end;
text-align: end;
font-variant-numeric: tabular-nums;
}
.fc-grid__cell[data-fc-dirty="true"] {
position: relative;
}
.fc-grid__cell[data-fc-dirty="true"]::after {
content: "";
position: absolute;
inset-block-start: 0;
inset-inline-end: 0;
inline-size: 0;
block-size: 0;
border-block-start: var(--fc-space-1-5) solid var(--fc-color-accent-border);
border-inline-end: var(--fc-space-1-5) solid transparent;
}
.fc-grid__cell[aria-invalid="true"] {
box-shadow: inset 0 0 0 var(--fc-border-width-thick) var(--fc-color-danger-border);
}
.fc-grid__cell[aria-readonly="true"] {
background-color: var(--fc-color-bg-subtle);
color: var(--fc-color-text-muted);
}
@media (forced-colors: active) {
.fc-grid {
background-color: Canvas;
border-color: CanvasText;
}
.fc-grid__cell {
border-block-end-color: CanvasText;
border-inline-end-color: CanvasText;
}
.fc-grid__col-header,
.fc-grid__row-header,
.fc-grid__corner {
background-color: Canvas;
color: CanvasText;
}
.fc-grid__cell[aria-selected="true"] {
box-shadow: inset 0 0 0 var(--fc-border-width-focus) Highlight;
}
}
}