.rds-calendar-page {
    --rds-bg:#fff;
    --rds-surface:#f8f7fb;
    --rds-surface-2:#f2eff8;
    --rds-text:#262333;
    --rds-muted:#746f7d;
    --rds-border:rgba(52,43,73,.12);
    --rds-accent:#7155a3;
    --rds-accent-soft:rgba(113,85,163,.11);
    --rds-good:#25764f;
    --rds-good-soft:rgba(37,118,79,.10);
    --rds-danger:#a13d4c;
    --rds-danger-soft:rgba(161,61,76,.10);
    --rds-shadow:0 14px 38px rgba(45,34,67,.065);
    box-sizing:border-box;
    width:100%;
    margin:1.4rem 0 2rem;
    color:var(--rds-text);
    font:inherit;
}
.rds-calendar-page *,
.rds-calendar-page *::before,
.rds-calendar-page *::after { box-sizing:border-box; }
.rds-calendar-page h2,
.rds-calendar-page h3,
.rds-calendar-page p { color:inherit; }

.rds-calendar-hero {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:1.2rem;
    padding:clamp(1.2rem,3vw,2rem);
    background:var(--rds-bg);
    border:1px solid var(--rds-border);
    border-radius:24px;
    box-shadow:var(--rds-shadow);
}
.rds-calendar-badge {
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    margin-bottom:.65rem;
    padding:.32rem .72rem;
    color:var(--rds-accent);
    background:var(--rds-accent-soft);
    border-radius:999px;
    font-size:.76em;
    font-weight:800;
}
.rds-calendar-badge::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.rds-calendar-hero__eyebrow { margin:0 0 .15rem; color:var(--rds-muted); font-size:.9em; }
.rds-calendar-hero h2 { margin:0; font-size:clamp(1.4rem,4vw,2.05rem); line-height:1.7; font-weight:850; }
.rds-calendar-hero__copy > p:last-of-type { max-width:680px; margin:.35rem 0 0; color:var(--rds-muted); font-size:.9em; line-height:1.9; }
.rds-calendar-today-events { margin-top:1rem; padding:.85rem 1rem; background:var(--rds-surface); border:1px solid var(--rds-border); border-radius:15px; }
.rds-calendar-today-events > strong { display:block; margin-bottom:.35rem; color:var(--rds-accent); font-size:.82em; }
.rds-calendar-today-events ul { display:grid; gap:.38rem; margin:0; padding:0; list-style:none; }
.rds-calendar-today-events li { display:flex; align-items:center; gap:.6rem; margin:0; line-height:1.8; }
.rds-calendar-today-events li::before { content:""; flex:0 0 auto; width:6px; height:6px; border-radius:50%; background:var(--rds-accent); }
.rds-calendar-today-events li span { flex:1; }
.rds-calendar-today-events em { padding:.06rem .45rem; color:var(--rds-danger); background:var(--rds-danger-soft); border-radius:999px; font-size:.7em; font-style:normal; white-space:nowrap; }
.rds-calendar-today-events p { margin:0; color:var(--rds-muted); font-size:.84em; }

.rds-calendar-clock {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1rem;
    min-width:260px;
    padding:1rem 1.1rem;
    background:var(--rds-surface-2);
    border:1px solid var(--rds-border);
    border-radius:20px;
}
.rds-calendar-clock__digital { min-width:120px; text-align:center; }
.rds-calendar-clock__digital span,
.rds-calendar-clock__digital small { display:block; color:var(--rds-muted); font-size:.72em; }
.rds-calendar-clock__digital time { display:block; direction:ltr; margin:.22rem 0; color:var(--rds-accent); font-size:1.45rem; font-weight:900; font-variant-numeric:tabular-nums; letter-spacing:.03em; }
.rds-analog-clock {
    position:relative;
    flex:0 0 82px;
    width:82px;
    height:82px;
    direction:ltr;
    color:var(--rds-accent);
    background:
        radial-gradient(circle at center, var(--rds-bg) 0 58%, transparent 59%),
        repeating-conic-gradient(from -1deg, currentColor 0 2deg, transparent 2deg 30deg),
        var(--rds-bg);
    border:2px solid currentColor;
    border-radius:50%;
    box-shadow:inset 0 0 0 3px var(--rds-accent-soft);
}
.rds-analog-clock__marker { position:absolute; z-index:2; color:var(--rds-muted); font-size:.58rem; font-weight:800; line-height:1; }
.rds-analog-clock__marker--12 { top:6px; left:50%; transform:translateX(-50%); }
.rds-analog-clock__marker--3 { top:50%; right:6px; transform:translateY(-50%); }
.rds-analog-clock__marker--6 { bottom:6px; left:50%; transform:translateX(-50%); }
.rds-analog-clock__marker--9 { top:50%; left:6px; transform:translateY(-50%); }
.rds-analog-clock__hand { position:absolute; z-index:3; left:50%; bottom:50%; width:2px; border-radius:999px; background:var(--rds-text); transform:translateX(-50%) rotate(var(--rds-clock-rotation,0deg)); transform-origin:50% 100%; }
.rds-analog-clock__hand--hour { width:3px; height:21px; }
.rds-analog-clock__hand--minute { height:29px; }
.rds-analog-clock__hand--second { width:1px; height:31px; background:var(--rds-accent); }
.rds-analog-clock__pin { position:absolute; z-index:4; top:50%; left:50%; width:8px; height:8px; background:var(--rds-accent); border:2px solid var(--rds-bg); border-radius:50%; transform:translate(-50%,-50%); }

.rds-calendar-dates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-top:.85rem; }
.rds-calendar-date-card { display:flex; min-height:126px; flex-direction:column; align-items:center; justify-content:center; min-width:0; padding:1rem; text-align:center; background:var(--rds-bg); border:1px solid var(--rds-border); border-radius:18px; box-shadow:0 7px 22px rgba(45,34,67,.035); }
.rds-calendar-date-card.is-primary { background:var(--rds-accent-soft); }
.rds-calendar-date-card span { display:block; margin-bottom:.35rem; color:var(--rds-muted); font-size:.8em; }
.rds-calendar-date-card strong { display:block; width:100%; overflow-wrap:anywhere; font-size:1.08em; line-height:1.75; text-align:center; }
.rds-calendar-date-card small { display:block; width:100%; margin-top:.18rem; color:var(--rds-muted); font-size:.74em; text-align:center; }
.rds-calendar-date-card strong[dir="ltr"],
.rds-calendar-date-card small[dir="ltr"] { text-align:center; }

.rds-calendar-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.65rem; margin-top:.75rem; }
.rds-calendar-summary article { min-width:0; padding:.85rem .9rem; text-align:center; background:var(--rds-surface); border:1px solid var(--rds-border); border-radius:15px; }
.rds-calendar-summary article.is-working { background:var(--rds-good-soft); }
.rds-calendar-summary article.is-holiday { background:var(--rds-danger-soft); }
.rds-calendar-summary span { display:block; color:var(--rds-muted); font-size:.71em; }
.rds-calendar-summary strong { display:block; margin:.22rem 0; font-size:.94em; }
.rds-calendar-summary article.is-working strong { color:var(--rds-good); }
.rds-calendar-summary article.is-holiday strong { color:var(--rds-danger); }
.rds-calendar-summary small { display:block; color:var(--rds-muted); font-size:.67em; line-height:1.55; }
.rds-calendar-progress { margin-top:.7rem; padding:.75rem 1rem; background:var(--rds-bg); border:1px solid var(--rds-border); border-radius:14px; }
.rds-calendar-progress > div { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.48rem; color:var(--rds-muted); font-size:.75em; }
.rds-calendar-progress strong { color:var(--rds-accent); }
.rds-calendar-progress__track { display:block; height:8px; overflow:hidden; background:var(--rds-surface-2); border-radius:999px; }
.rds-calendar-progress__track i { display:block; height:100%; background:var(--rds-accent); border-radius:inherit; }

.rds-calendar-month,
.rds-calendar-panel,
.rds-calendar-month-intro,
.rds-calendar-tools,
.rds-calendar-selected-tool { margin-top:.85rem; padding:clamp(1rem,2.5vw,1.35rem); background:var(--rds-bg); border:1px solid var(--rds-border); border-radius:20px; }
.rds-calendar-section-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.85rem; }
.rds-calendar-section-head span { display:block; color:var(--rds-accent); font-size:.72em; font-weight:800; }
.rds-calendar-section-head h3 { margin:.12rem 0 0; font-size:1.08em; }
.rds-calendar-section-head > b { padding:.2rem .55rem; color:var(--rds-accent); background:var(--rds-accent-soft); border-radius:999px; font-size:.72em; }
.rds-calendar-month-nav { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.rds-calendar-month-nav a,
.rds-calendar-month-nav span { padding:.42rem .65rem; color:var(--rds-text); background:var(--rds-surface); border:1px solid var(--rds-border); border-radius:10px; font-size:.72em; text-decoration:none; }
.rds-calendar-month-nav a:hover,
.rds-calendar-month-nav a.is-current { color:var(--rds-accent); background:var(--rds-accent-soft); border-color:rgba(113,85,163,.28); }
.rds-calendar-month-nav span[aria-disabled="true"] { opacity:.45; }
.rds-calendar-navigation { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:end; gap:.75rem; margin-bottom:.8rem; padding:.72rem; background:var(--rds-surface); border:1px solid var(--rds-border); border-radius:14px; }
.rds-calendar-year-nav { display:flex; align-items:center; gap:.4rem; }
.rds-calendar-year-nav a,
.rds-calendar-year-nav span,
.rds-calendar-year-nav strong { display:inline-flex; min-height:38px; align-items:center; justify-content:center; padding:.42rem .65rem; color:var(--rds-text); background:var(--rds-bg); border:1px solid var(--rds-border); border-radius:10px; font-size:.72em; text-decoration:none; white-space:nowrap; }
.rds-calendar-year-nav strong { min-width:72px; color:var(--rds-accent); background:var(--rds-accent-soft); font-weight:850; }
.rds-calendar-year-nav a:hover { color:var(--rds-accent); border-color:rgba(113,85,163,.32); }
.rds-calendar-year-nav span[aria-disabled="true"] { opacity:.45; }
.rds-calendar-picker { display:grid; grid-template-columns:minmax(120px,.7fr) minmax(120px,.7fr) auto; align-items:end; justify-content:end; gap:.55rem; margin:0; }
.rds-calendar-picker label { display:grid; gap:.24rem; min-width:0; margin:0; }
.rds-calendar-picker label > span { color:var(--rds-muted); font-size:.66em; }
.rds-calendar-picker select { width:100%; min-height:38px; padding:.38rem .55rem; color:var(--rds-text); background:var(--rds-bg); border:1px solid var(--rds-border); border-radius:10px; font:inherit; font-size:.74em; }
.rds-calendar-picker button { min-height:38px; padding:.42rem .78rem; color:#fff; background:var(--rds-accent); border:1px solid var(--rds-accent); border-radius:10px; font:inherit; font-size:.72em; font-weight:800; cursor:pointer; white-space:nowrap; }
.rds-calendar-picker button:hover { filter:brightness(.96); }
.rds-calendar-pack-notice { margin:0 0 .8rem; padding:.7rem .85rem; color:var(--rds-muted); background:var(--rds-accent-soft); border:1px solid rgba(113,85,163,.18); border-radius:12px; font-size:.72em; line-height:1.85; }

.rds-detailed-calendar { width:100%; }
.rds-detailed-calendar__weekdays,
.rds-detailed-calendar__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.42rem; }
.rds-detailed-calendar__weekdays { margin-bottom:.42rem; text-align:center; }
.rds-detailed-calendar__weekdays span { padding:.42rem .2rem; color:var(--rds-muted); background:var(--rds-surface); border-radius:9px; font-size:.71em; }
.rds-detailed-calendar__weekdays i { display:none; font-style:normal; }
.rds-detailed-calendar__days > .is-empty { min-height:82px; }
.rds-calendar-day { position:relative; display:flex; min-width:0; min-height:88px; flex-direction:column; align-items:center; justify-content:center; gap:.28rem; padding:.5rem .3rem; color:var(--rds-text); background:var(--rds-surface); border:1px solid transparent; border-radius:13px; font:inherit; cursor:pointer; }
.rds-calendar-day:hover { border-color:rgba(113,85,163,.35); }
.rds-calendar-day:focus-visible { outline:2px solid var(--rds-accent); outline-offset:2px; }
.rds-calendar-day > b { font-size:1.05em; }
.rds-calendar-day > span { display:flex; align-items:center; justify-content:center; gap:.45rem; color:var(--rds-muted); font-size:.65em; }
.rds-calendar-day small { display:inline-flex; align-items:center; gap:.12rem; }
.rds-calendar-day small i { color:var(--rds-accent); font-style:normal; font-weight:800; }
.rds-calendar-day > em { position:absolute; bottom:6px; width:5px; height:5px; background:var(--rds-accent); border-radius:50%; }
.rds-calendar-day.is-holiday { color:var(--rds-danger); background:var(--rds-danger-soft); }
.rds-calendar-day.is-today { color:#fff; background:var(--rds-accent); }
.rds-calendar-day.is-today > span,
.rds-calendar-day.is-today small i { color:rgba(255,255,255,.82); }
.rds-calendar-day.is-today > em { background:#fff; }
.rds-calendar-day.is-selected { border-color:var(--rds-accent); box-shadow:inset 0 0 0 1px var(--rds-accent); }
.rds-calendar-legend { display:flex; flex-wrap:wrap; gap:.55rem 1rem; margin-top:.7rem; color:var(--rds-muted); font-size:.68em; }
.rds-calendar-legend span { display:inline-flex; align-items:center; gap:.3rem; }
.rds-calendar-legend i { width:10px; height:10px; border-radius:3px; background:var(--rds-surface); }
.rds-calendar-legend i.is-today { background:var(--rds-accent); }
.rds-calendar-legend i.is-holiday { background:var(--rds-danger-soft); border:1px solid var(--rds-danger); }
.rds-calendar-legend i.has-event { width:6px; height:6px; background:var(--rds-accent); border-radius:50%; }
.rds-calendar-legend b { color:var(--rds-accent); }

.rds-calendar-day-detail { display:grid; grid-template-columns:1fr auto; gap:.8rem; margin-top:.85rem; padding:1rem; background:var(--rds-surface); border-radius:15px; }
.rds-calendar-day-detail__dates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; grid-column:1/-1; }
.rds-calendar-day-detail__dates div { min-width:0; padding:.7rem; text-align:center; background:var(--rds-bg); border:1px solid var(--rds-border); border-radius:11px; }
.rds-calendar-day-detail__dates span { display:block; color:var(--rds-muted); font-size:.68em; }
.rds-calendar-day-detail__dates strong { display:block; margin-top:.18rem; overflow-wrap:anywhere; font-size:.82em; line-height:1.65; }
.rds-calendar-day-detail__status { align-self:start; padding:.52rem .72rem; color:var(--rds-good); background:var(--rds-good-soft); border-radius:10px; font-size:.76em; font-weight:700; }
.rds-calendar-day-detail__status[data-holiday="1"] { color:var(--rds-danger); background:var(--rds-danger-soft); }
.rds-calendar-day-detail__events > strong { display:block; margin-bottom:.35rem; font-size:.78em; }
.rds-calendar-day-detail__events ul { display:grid; gap:.35rem; margin:0; padding:0; list-style:none; }
.rds-calendar-day-detail__events li { display:flex; align-items:center; gap:.5rem; margin:0; line-height:1.75; font-size:.82em; }
.rds-calendar-day-detail__events li::before { content:""; width:6px; height:6px; background:var(--rds-accent); border-radius:50%; }
.rds-calendar-day-detail__events li.is-empty { color:var(--rds-muted); }
.rds-calendar-day-detail__events li.is-empty::before { display:none; }
.rds-calendar-day-detail__events em { margin-right:auto; padding:.04rem .4rem; color:var(--rds-danger); background:var(--rds-danger-soft); border-radius:999px; font-size:.72em; font-style:normal; }

.rds-calendar-content-grid { display:flex; align-items:flex-start; gap:.85rem; }
.rds-calendar-content-grid > .rds-calendar-panel { align-self:flex-start; height:auto; }
.rds-calendar-events-panel { flex:1 1 0; min-width:0; }
.rds-calendar-content-grid > aside.rds-calendar-panel { flex:0 0 300px; width:300px; min-width:270px; max-width:320px; height:-moz-fit-content; height:fit-content; position:relative; }
.rds-calendar-event-filters { display:flex; flex-wrap:wrap; gap:.38rem; margin-bottom:.75rem; }
.rds-calendar-event-filters button { padding:.38rem .62rem; color:var(--rds-muted); background:var(--rds-surface); border:1px solid var(--rds-border); border-radius:999px; font:inherit; font-size:.69em; cursor:pointer; }
.rds-calendar-event-filters button.is-active { color:var(--rds-accent); background:var(--rds-accent-soft); border-color:rgba(113,85,163,.28); font-weight:800; }
.rds-calendar-month-events { display:grid; gap:.48rem; }
.rds-calendar-month-events article { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.7rem; padding:.7rem; background:var(--rds-surface); border-radius:12px; }
.rds-calendar-month-events time { display:grid; place-items:center; min-width:54px; padding:.4rem; background:var(--rds-bg); border:1px solid var(--rds-border); border-radius:10px; }
.rds-calendar-month-events time strong { font-size:1.05em; }
.rds-calendar-month-events time span { color:var(--rds-muted); font-size:.65em; }
.rds-calendar-month-events article > div strong { display:block; font-size:.84em; line-height:1.75; }
.rds-calendar-month-events article > div small { display:block; color:var(--rds-muted); font-size:.65em; }
.rds-calendar-month-events article > em { padding:.08rem .45rem; color:var(--rds-danger); background:var(--rds-danger-soft); border-radius:999px; font-size:.67em; font-style:normal; }
.rds-calendar-filter-empty,
.rds-calendar-empty { margin:0; padding:.8rem; color:var(--rds-muted); background:var(--rds-surface); border-radius:11px; font-size:.8em; line-height:1.8; }
.rds-calendar-next-holiday { padding:.85rem; background:var(--rds-accent-soft); border:1px solid rgba(113,85,163,.17); border-radius:13px; }
.rds-calendar-next-holiday span,
.rds-calendar-next-holiday small { display:block; color:var(--rds-muted); font-size:.68em; }
.rds-calendar-next-holiday strong { display:block; margin:.22rem 0; font-size:.88em; line-height:1.7; }
.rds-calendar-next-holiday b { display:inline-block; margin-top:.42rem; padding:.18rem .5rem; color:var(--rds-accent); background:var(--rds-bg); border-radius:999px; font-size:.7em; }
.rds-calendar-upcoming-list { display:grid; grid-template-columns:1fr; align-content:start; gap:.45rem; margin-top:.65rem; }
.rds-calendar-upcoming-list article { min-height:0; padding:.65rem .7rem; background:var(--rds-surface); border-radius:11px; }
.rds-calendar-upcoming-list time { display:block; color:var(--rds-accent); font-size:.65em; font-weight:800; }
.rds-calendar-upcoming-list strong { display:block; margin:.15rem 0; font-size:.79em; line-height:1.65; }
.rds-calendar-upcoming-list small { display:block; color:var(--rds-muted); font-size:.64em; }

.rds-calendar-month-intro > span { display:block; color:var(--rds-accent); font-size:.72em; font-weight:800; }
.rds-calendar-month-intro h3 { margin:.12rem 0 .5rem; font-size:1.08em; }
.rds-calendar-month-intro p { margin:0; color:var(--rds-muted); line-height:2; font-size:.87em; }
.rds-calendar-month-intro > div { display:grid; grid-template-columns:repeat(3,auto 1fr); gap:.45rem .7rem; margin-top:.8rem; padding:.75rem; background:var(--rds-surface); border-radius:12px; }
.rds-calendar-month-intro small { color:var(--rds-muted); font-size:.68em; }
.rds-calendar-month-intro strong { font-size:.76em; }

.rds-calendar-tool-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.rds-calendar-tool-cards a { display:grid; grid-template-columns:auto 1fr; column-gap:.6rem; min-width:0; padding:.8rem; color:var(--rds-text); background:var(--rds-surface); border:1px solid var(--rds-border); border-radius:14px; text-decoration:none; }
.rds-calendar-tool-cards a > span { grid-row:1/3; display:grid; place-items:center; width:36px; height:36px; color:var(--rds-accent); background:var(--rds-accent-soft); border-radius:10px; }
.rds-calendar-tool-cards strong { font-size:.82em; }
.rds-calendar-tool-cards small { color:var(--rds-muted); font-size:.65em; line-height:1.55; }
.rds-calendar-tool-cards a:hover,
.rds-calendar-tool-cards a[aria-current="page"] { border-color:rgba(113,85,163,.35); background:var(--rds-accent-soft); }
.rds-calendar-selected-tool { scroll-margin-top:1rem; }
.rds-calendar-tool-close { display:inline-flex; margin-bottom:.75rem; padding:.38rem .65rem; color:var(--rds-accent); background:var(--rds-accent-soft); border-radius:999px; font-size:.72em; text-decoration:none; }
.rds-calendar-selected-tool .rds-tool { margin:0; }
.rds-calendar-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem 1rem; margin-top:.85rem; padding:.75rem 1rem; color:var(--rds-muted); background:var(--rds-surface); border-radius:13px; font-size:.67em; line-height:1.7; }

@media (max-width:1050px) {
    .rds-calendar-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .rds-calendar-tool-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
    .rds-calendar-hero { grid-template-columns:1fr; }
    .rds-calendar-clock { width:100%; }
    .rds-calendar-content-grid { display:block; }
    .rds-calendar-month-intro > div { grid-template-columns:auto 1fr auto 1fr; }
}
@media (max-width:680px) {
    .rds-calendar-hero { padding:1rem; border-radius:18px; }
    .rds-calendar-clock { min-width:0; }
    .rds-calendar-dates { grid-template-columns:1fr; }
    .rds-calendar-date-card { min-height:108px; }
    .rds-calendar-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rds-calendar-section-head { align-items:flex-start; flex-direction:column; }
    .rds-calendar-month-nav { width:100%; justify-content:space-between; }
    .rds-calendar-month-nav a,
    .rds-calendar-month-nav span { flex:1; text-align:center; }
    .rds-calendar-navigation { grid-template-columns:1fr; align-items:stretch; }
    .rds-calendar-year-nav { justify-content:space-between; }
    .rds-calendar-year-nav a,
    .rds-calendar-year-nav span,
    .rds-calendar-year-nav strong { flex:1; }
    .rds-calendar-picker { grid-template-columns:1fr 1fr; }
    .rds-calendar-picker button { grid-column:1/-1; }
    .rds-detailed-calendar__weekdays span b { display:none; }
    .rds-detailed-calendar__weekdays span i { display:block; }
    .rds-detailed-calendar__weekdays,
    .rds-detailed-calendar__days { gap:.25rem; }
    .rds-detailed-calendar__days > .is-empty { min-height:64px; }
    .rds-calendar-day { min-height:68px; padding:.35rem .15rem; border-radius:9px; }
    .rds-calendar-day > b { font-size:.92em; }
    .rds-calendar-day > span { gap:.25rem; font-size:.55em; }
    .rds-calendar-day-detail { grid-template-columns:1fr; }
    .rds-calendar-day-detail__dates { grid-template-columns:1fr; }
    .rds-calendar-month-events article { grid-template-columns:auto 1fr; }
    .rds-calendar-month-events article > em { grid-column:2; justify-self:start; }
    .rds-calendar-tool-cards { grid-template-columns:1fr; }
    .rds-calendar-month-intro > div { grid-template-columns:auto 1fr; }
}
@media (max-width:400px) {
    .rds-calendar-clock { flex-direction:column; }
    .rds-calendar-summary { grid-template-columns:1fr; }
    .rds-calendar-day > span small i { display:none; }
    .rds-calendar-picker { grid-template-columns:1fr; }
    .rds-calendar-picker button { grid-column:auto; }
}
@media (prefers-color-scheme:dark) {
    .rds-calendar-page {
        --rds-bg:#1e1b23;
        --rds-surface:#27232d;
        --rds-surface-2:#302a39;
        --rds-text:#f5f2f8;
        --rds-muted:#bcb4c5;
        --rds-border:rgba(255,255,255,.09);
        --rds-accent:#bea3eb;
        --rds-accent-soft:rgba(190,163,235,.12);
        --rds-good:#82d1aa;
        --rds-good-soft:rgba(69,175,121,.13);
        --rds-danger:#f1a0ad;
        --rds-danger-soft:rgba(218,84,105,.14);
        --rds-shadow:none;
    }
}
@media (prefers-reduced-motion:reduce) {
    .rds-calendar-page * { scroll-behavior:auto!important; transition:none!important; }
}
