.calendar { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; h3 { margin: 0; font-weight: 600; font-size: 1rem; display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; span { font-weight: 400; font-size: 0.8125rem; color: var(--ui-text-secondary); } } } .row { display: flex; flex-direction: row; justify-content: flex-start; width: 100%; &.header { font-weight: 500; font-size: 0.75rem; margin-bottom: 0.25rem; .day { height: 1.5rem; color: var(--ui-text-secondary); } } .day { position: relative; text-align: center; display: flex; align-items: center; justify-content: center; flex: 1; min-width: 0; height: 2.75rem; margin: 0; margin-block: 0.125rem; border-radius: 0.5rem; border: 1px solid transparent; color: var(--number-color); font: inherit; padding: 0; &.empty { visibility: hidden; } &.number { height: auto; min-height: 2.75rem; background-color: var(--ui-card-bg); transition: background-color 150ms ease, color 150ms ease; } &.number:hover:not(:disabled) { background-color: var(--number-bg-hover); color: var(--number-color-hover); cursor: pointer; } &.number:focus-visible { outline: 3px solid var(--today-border-color, #1976d2); outline-offset: 2px; } &.context-only { opacity: 0.38; cursor: not-allowed; } &.past { color: var(--past-color); } &.declared { background-image: var(--declared-day-pattern); color: var(--number-color); } &.declaration-preview { box-shadow: inset 0 0 0 2px var(--today-border-color); transition: none; } &.declaration-erase { box-shadow: inset 0 0 0 2px var(--ui-error-text); &::after { content: '−'; position: absolute; inset-block-start: 0; inset-inline-end: 0.2rem; color: var(--ui-error-text); } } } .current { outline: 2px solid var(--today-border-color); outline-offset: -2px; } .explained-period { box-shadow: inset 0 -3px var(--today-border-color); } .selected { cursor: pointer; } .context-only.selected { cursor: not-allowed; } .selected:not(.start):not(.end) { border-radius: 0; } > .start:not(.end) { border-radius: 0.5rem 0 0 0.5rem; } > .end:not(.start) { border-radius: 0 0.5rem 0.5rem 0; } } .row .day.today { border-color: var(--today-border-color); border-width: 2px; border-style: dashed !important; } .other-month { color: var(--other-month-color); } .row .day.weekend { background-color: var(--weekend-bg); } .row .day.closed-day { border: 2px solid var(--closed-day-bg); } .row .day.rtt { background-color: var(--rtt-bg); } .row .day.cp { background-color: var(--cp-bg); } .row .day.other { background-color: var(--other-bg); } .row .week-number { height: 2.75rem; font-weight: 500; color: var(--week-number-color); margin-right: 0.25rem; max-width: 1.75rem; font-size: 0.75rem; background-color: var(--week-number-bg); border-radius: 0; margin-block: 0.125rem; } .row .week-number:hover { background-color: var(--week-number-bg-hover); cursor: default; } .row .week-number.start { border-radius: 30% 30% 0 0; } .row .week-number.end { border-radius: 0 0 30% 30%; }