.calendar-shell{gap:18px;display:grid}.calendar-overview,.calendar-panel{background:#fff;border-radius:8px}.calendar-toolbar{border:1px solid var(--border);background:radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--primary) 9%, transparent), transparent 42%), var(--surface-soft);border-radius:10px;gap:12px;min-width:0;min-height:82px;padding:14px 18px 13px;animation:.26s ease-out both calendar-toolbar-enter;display:grid;position:relative;overflow:hidden}.calendar-toolbar .page-toolbar__row{width:100%}.calendar-toolbar__context{align-items:center;gap:18px;min-width:0;display:flex}.calendar-toolbar__identity{gap:3px;min-width:118px;display:grid}.calendar-toolbar__eyebrow{color:var(--primary);letter-spacing:.12em;font-size:10px;font-weight:700;line-height:1.2}.calendar-toolbar__identity strong{color:var(--foreground);font-size:18px;font-weight:650;line-height:1.2}.calendar-toolbar__date-context{min-width:0;color:var(--foreground);white-space:nowrap;font-size:16px;font-weight:600;line-height:1.3}.calendar-attention{border-color:var(--border-soft);background:var(--surface-strong);align-items:center;gap:14px;min-width:0;padding:11px 14px;display:flex}.calendar-attention__label{color:var(--muted-strong);flex:none;font-size:13px;font-weight:600}.calendar-attention__items{flex:auto;align-items:center;gap:14px;min-width:0;display:flex}.calendar-attention__item{min-width:0;color:var(--muted-strong);align-items:center;gap:6px;font-size:13px;text-decoration:none;display:inline-flex}.calendar-attention__item:hover,.calendar-attention__item:focus-visible,.calendar-attention__all:hover,.calendar-attention__all:focus-visible{color:var(--primary)}.calendar-attention__item--overdue:hover,.calendar-attention__item--overdue:focus-visible{color:var(--danger)}.calendar-attention__dot{background:var(--warning);border-radius:999px;flex:0 0 7px;width:7px;height:7px}.calendar-attention__item--overdue .calendar-attention__dot{background:var(--danger)}.calendar-attention__item strong{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:14px}.calendar-attention__all{color:var(--muted);white-space:nowrap;flex:none;font-size:13px;text-decoration:none}.calendar-eyebrow,.calendar-metric span,.calendar-metric small,.calendar-panel__head a,.calendar-day span,.calendar-day small,.calendar-task-row small,.calendar-timeline__meta span,.calendar-empty-state p{color:var(--muted);margin:0;font-size:13px;line-height:1.35}.calendar-eyebrow{font-weight:600}.calendar-toolbar__controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.calendar-toolbar__load{min-width:0;color:var(--muted-strong);white-space:nowrap;align-items:center;gap:9px;font-size:12px;font-weight:600;display:inline-flex}.calendar-toolbar__load-meter{background:var(--progress-track);border-radius:999px;flex:0 0 56px;width:56px;height:5px;overflow:hidden}.calendar-toolbar__load-meter span{border-radius:inherit;background:var(--primary);height:100%;transition:width .48s cubic-bezier(.22,1,.36,1);display:block}.calendar-toolbar__load-summary{text-overflow:ellipsis;animation:.22s ease-out both calendar-toolbar-summary-in;overflow:hidden}.calendar-toolbar__risk-label,.calendar-toolbar__near-label{font-size:11px;font-weight:700}.calendar-toolbar__risk-label{color:var(--danger)}.calendar-toolbar__near-label{color:var(--warning)}.calendar-toolbar.is-risk .calendar-toolbar__load-meter span{background:var(--danger)}.calendar-toolbar.is-near-due .calendar-toolbar__load-meter span{background:var(--warning)}@keyframes calendar-toolbar-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes calendar-toolbar-summary-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.calendar-range-tabs,.calendar-date-nav{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;display:grid}.calendar-date-nav{grid-template-columns:36px auto 36px}.calendar-range-tabs__button,.calendar-date-nav button{border:1px solid var(--border);background:var(--surface-strong);min-height:36px;color:var(--muted-strong);font-family:var(--font-text);border-radius:6px;padding:4px 12px;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none}.calendar-range-tabs__button:hover,.calendar-range-tabs__button:focus-visible,.calendar-date-nav button:hover,.calendar-date-nav button:focus-visible{color:var(--foreground);background:var(--surface)}.calendar-range-tabs__button.is-active{color:var(--primary-foreground);border-color:var(--primary);background:var(--primary)}.calendar-date-nav button{cursor:pointer}.calendar-date-nav .page-toolbar__icon-button{border-color:var(--border);width:36px;height:36px;min-height:36px;padding:0}.calendar-date-nav .page-toolbar__control{border-color:var(--border);min-height:36px;padding:0 12px}.calendar-toolbar__date-context{border-left:1px solid var(--border);color:var(--foreground);align-items:center;padding-left:10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.calendar-toolbar__date-context:hover,.calendar-toolbar__date-context:focus-visible{color:var(--primary)}.calendar-toolbar :is(button,a):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.calendar-mobile-date-strip{display:none}.calendar-overview{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:16px;display:grid}.calendar-metric{border:1px solid var(--border);background:linear-gradient(#fffffff5,#f8fafcb8);border-radius:8px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;min-width:0;min-height:96px;padding:16px;text-decoration:none;display:grid}.calendar-metric__icon{background:linear-gradient(135deg, var(--primary), #7aa7ff);border-radius:8px;width:40px;height:40px;position:relative;box-shadow:0 12px 24px #3e6ae124}.calendar-metric__icon:after{content:"";border:2px solid #ffffffe6;border-radius:999px;position:absolute;inset:11px}.calendar-metric--green .calendar-metric__icon{background:linear-gradient(135deg, var(--success), #86efac)}.calendar-metric--orange .calendar-metric__icon{background:linear-gradient(135deg, var(--warning), #fdba74)}.calendar-metric--red .calendar-metric__icon{background:linear-gradient(135deg, var(--danger), #fca5a5)}.calendar-metric--purple .calendar-metric__icon{background:linear-gradient(135deg,#8b5cf6,#c4b5fd)}.calendar-metric strong{color:var(--foreground);margin-top:4px;font-size:26px;line-height:1;display:block}.calendar-metric small{margin-top:5px;display:block}.calendar-layout-grid{grid-template-columns:minmax(0,1fr) minmax(280px,352px);align-items:start;gap:18px;display:grid}.calendar-main-stack,.calendar-side-stack{gap:18px;min-width:0;display:grid}.calendar-panel{gap:16px;min-width:0;padding:20px;display:grid}.calendar-panel__head{gap:6px;display:grid}.calendar-panel__head--inline{justify-content:space-between;align-items:center;gap:14px;display:flex}.calendar-panel__head h2{color:var(--foreground);margin:4px 0 0;font-size:18px;font-weight:500;line-height:1.2}.calendar-panel__head a{white-space:nowrap;text-decoration:none}.calendar-panel__head a:hover{color:var(--primary)}.calendar-month-panel{gap:14px}.calendar-status-legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 14px;font-size:11px;line-height:1.2;display:flex}.calendar-status-legend>span{align-items:center;gap:5px;display:inline-flex}.calendar-weekday-row,.calendar-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday-row{gap:8px;padding:0 1px}.calendar-weekday-row span{color:var(--muted);text-align:center;font-size:12px;font-weight:600;line-height:1.2}.calendar-month-grid{border:1px solid var(--border);background:var(--border);border-radius:8px;gap:1px;overflow:hidden}.calendar-month-day{background:var(--surface-strong);min-width:0;min-height:104px;color:var(--foreground);grid-template-rows:auto 1fr auto;align-content:stretch;gap:8px;padding:11px 12px 9px;text-decoration:none;transition:background-color .18s,box-shadow .18s;display:grid}.calendar-month-day:hover,.calendar-month-day:focus-visible{z-index:1;background:var(--primary-surface);box-shadow:inset 0 0 0 1px var(--primary);position:relative}.calendar-month-day:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.calendar-month-day.is-outside-month{background:var(--surface-muted)}.calendar-month-day.is-outside-month .calendar-month-day__number,.calendar-month-day.is-outside-month .calendar-month-day__count{color:var(--muted)}.calendar-month-day.is-today .calendar-month-day__number{color:var(--primary)}.calendar-month-day.is-selected{background:var(--primary-surface);box-shadow:inset 0 0 0 2px var(--primary)}.calendar-month-day.is-selected .calendar-month-day__number{color:var(--primary-strong);font-weight:700}.calendar-month-day__number{color:var(--foreground);font-size:18px;font-weight:600;line-height:1}.calendar-month-day__count{min-height:16px;color:var(--muted);text-align:right;font-size:11px;line-height:1.2}.calendar-status-dots{flex-wrap:wrap;align-self:center;align-items:center;gap:5px;display:flex}.calendar-status-dot{background:var(--muted);border-radius:999px;flex:0 0 7px;width:7px;height:7px}.calendar-status-dot--done{background:var(--success)}.calendar-status-dot--in_progress{background:var(--warning)}.calendar-status-dot--todo{background:var(--muted-strong)}.calendar-status-dot--overdue{background:var(--danger);box-shadow:0 0 0 2px var(--danger-soft)}.calendar-week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-day{border:1px solid var(--border);background:#fff;border-radius:8px;gap:6px;min-width:0;min-height:96px;padding:12px;text-decoration:none;display:grid}.calendar-day strong{color:var(--foreground);font-size:24px;line-height:1}.calendar-day.is-today{background:#3e6ae10a;border-color:#3e6ae147}.calendar-day.is-selected{border-color:#3e6ae185;box-shadow:inset 0 0 0 1px #3e6ae138,0 12px 24px #3e6ae114}.calendar-timeline,.calendar-task-list,.calendar-quick-links{gap:10px;display:grid}.calendar-timeline__item{border-bottom:1px solid var(--border);grid-template-columns:54px 10px minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:13px 0;text-decoration:none;display:grid}.calendar-timeline__item:last-child{border-bottom:0}.calendar-timeline__item time{color:var(--primary);font-size:13px;font-weight:700;line-height:1.4}.calendar-timeline__flag{background:var(--primary);border-radius:999px;width:9px;height:9px;margin-top:5px}.calendar-timeline__item--high .calendar-timeline__flag,.calendar-task-row--high>span{background:var(--danger)}.calendar-timeline__item--medium .calendar-timeline__flag,.calendar-task-row--medium>span{background:var(--warning)}.calendar-timeline__item--low .calendar-timeline__flag,.calendar-task-row--low>span{background:var(--primary)}.calendar-timeline__item.is-done{opacity:.58}.calendar-timeline__body{gap:7px;min-width:0;display:grid}.calendar-timeline__body strong,.calendar-task-row strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;line-height:1.35;overflow:hidden}.calendar-timeline__meta{scrollbar-width:none;gap:6px;min-width:0;display:flex;overflow-x:auto}.calendar-timeline__meta::-webkit-scrollbar{display:none}.calendar-timeline__meta span{min-height:24px;color:var(--muted-strong);background:#f3f4f6;border-radius:6px;flex:none;align-items:center;padding:3px 8px;display:inline-flex}.calendar-task-row{border-bottom:1px solid var(--border);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px 0;text-decoration:none;display:grid}.calendar-task-row:last-child{border-bottom:0}.calendar-task-row>span{background:var(--primary);border-radius:999px;width:8px;height:8px}.calendar-task-row div{gap:3px;min-width:0;display:grid}.calendar-task-row b{min-width:28px;min-height:26px;color:var(--muted-strong);background:#f3f4f6;border-radius:6px;place-items:center;font-size:12px;line-height:1;display:inline-grid}.calendar-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-quick-links a{border:1px solid var(--border);min-height:40px;color:var(--foreground);background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.calendar-quick-links a:hover{color:var(--primary);border-color:#3e6ae152}.calendar-empty-state{text-align:center;background:linear-gradient(#f8fafcc7,#ffffffb8);border:1px solid #e2e8f0b8;border-radius:8px;align-content:center;place-items:center;gap:8px;min-height:178px;display:grid}.calendar-empty-state--compact{min-height:128px}.calendar-empty-state>span{background:linear-gradient(90deg,#94a3b838,#0000) 10px 12px/16px 2px no-repeat,linear-gradient(90deg,#94a3b829,#0000) 10px 19px/12px 2px no-repeat,#fff;border:1px solid #94a3b833;border-radius:8px;width:36px;height:36px;box-shadow:0 12px 24px #0f172a0a}.calendar-empty-state strong{color:var(--foreground);font-size:14px;font-weight:600}@media (max-width:1180px){.calendar-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-layout-grid{grid-template-columns:1fr}}@media (max-width:760px){.calendar-attention{flex-wrap:wrap;align-items:flex-start;gap:8px 12px;padding:12px 14px}.calendar-attention__items{flex-wrap:wrap;gap:10px 14px}.calendar-attention__all{width:100%;padding-left:19px}.calendar-weekday-row{gap:4px}.calendar-status-legend{justify-content:flex-start;gap:7px 10px}.calendar-month-grid{border-radius:6px}.calendar-month-day{gap:6px;min-height:78px;padding:9px 7px 7px}.calendar-month-day__number{font-size:16px}.calendar-status-dots{gap:4px}.calendar-status-dot{flex-basis:6px;width:6px;height:6px}.calendar-month-day__count{font-size:10px}.calendar-toolbar__controls{justify-content:flex-start}.calendar-range-tabs,.calendar-date-nav{width:100%}.calendar-overview{grid-template-columns:1fr}.calendar-week-strip{scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.calendar-week-strip::-webkit-scrollbar{display:none}.calendar-day{flex:0 0 112px}.calendar-panel__head--inline{flex-direction:column;align-items:flex-start}.calendar-timeline__item{grid-template-columns:48px 10px minmax(0,1fr)}.calendar-quick-links{grid-template-columns:1fr}}.calendar-shell,.calendar-shell *{box-sizing:border-box}.calendar-shell{width:100%;min-width:0;overflow-x:clip}.calendar-toolbar__controls,.calendar-range-tabs,.calendar-date-nav,.calendar-week-strip,.calendar-timeline,.calendar-task-list,.calendar-quick-links{max-width:100%}.calendar-panel{overflow:hidden}.calendar-day small,.calendar-toolbar__date-context,.calendar-range-tabs__button,.calendar-date-nav button{white-space:nowrap}.calendar-timeline__body,.calendar-task-row div{overflow:hidden}@media (max-width:960px){.calendar-toolbar{min-height:0;padding:13px 14px 11px}.calendar-toolbar .page-toolbar__row{gap:12px;display:grid}.calendar-toolbar__context,.calendar-toolbar__controls{width:100%}.calendar-toolbar__context{justify-content:space-between;align-items:flex-start;gap:10px}.calendar-toolbar__identity strong{font-size:16px}.calendar-toolbar__load{flex:auto;min-width:0}.calendar-toolbar__load-summary{max-width:180px}.calendar-shell .calendar-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-shell .calendar-toolbar__controls{justify-content:flex-start;width:100%}.calendar-shell .calendar-layout-grid{grid-template-columns:minmax(0,1fr)}.calendar-shell .calendar-mobile-date-strip{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;gap:8px;width:100%;min-width:0;padding:2px 0 5px;display:flex;overflow-x:auto}.calendar-mobile-date-strip__item{border:1px solid var(--border);background:var(--surface-strong);min-height:68px;color:var(--muted-strong);border-radius:8px;flex:0 0 58px;align-content:center;place-items:center;gap:3px;padding:8px 6px;text-decoration:none;display:grid}.calendar-mobile-date-strip__item span,.calendar-mobile-date-strip__item small{color:var(--muted);font-size:11px;line-height:1.1}.calendar-mobile-date-strip__item strong{color:var(--foreground);font-size:18px;line-height:1}.calendar-mobile-date-strip__item.is-selected{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.calendar-mobile-date-strip__item.is-selected span,.calendar-mobile-date-strip__item.is-selected small,.calendar-mobile-date-strip__item.is-selected strong{color:var(--primary-foreground)}.calendar-shell .calendar-week-panel{display:none}}@media (prefers-reduced-motion:reduce){.calendar-toolbar,.calendar-toolbar__load-summary{animation:none}.calendar-toolbar__load-meter span{transition:none}}@media (max-width:760px){.calendar-shell{gap:14px}.calendar-shell .calendar-overview,.calendar-shell .calendar-panel{padding:16px}.calendar-shell .calendar-toolbar__controls{grid-template-columns:minmax(0,1fr);display:grid}.calendar-shell .calendar-range-tabs,.calendar-shell .calendar-date-nav{width:100%;min-width:0}.calendar-shell .calendar-range-tabs__button,.calendar-shell .calendar-date-nav button{min-width:0;min-height:40px}.calendar-shell .calendar-date-nav{grid-template-columns:40px minmax(0,1fr) 40px}.calendar-date-nav .page-toolbar__icon-button{width:40px;height:40px}.calendar-shell .calendar-week-strip{margin-inline:-2px;padding:0 2px 4px}.calendar-shell .calendar-day{flex-basis:104px;min-height:88px;padding:11px}.calendar-shell .calendar-day strong{font-size:22px}.calendar-shell .calendar-empty-state{min-height:148px}.calendar-shell .calendar-empty-state--compact{min-height:112px}}@media (max-width:560px){.calendar-shell .calendar-overview{grid-template-columns:minmax(0,1fr)}.calendar-shell .calendar-metric{min-height:84px;padding:14px}.calendar-shell .calendar-metric strong{font-size:24px}.calendar-shell .calendar-panel__head--inline{gap:10px}.calendar-shell .calendar-timeline__item{grid-template-columns:42px 8px minmax(0,1fr);gap:10px}.calendar-shell .calendar-timeline__meta span{min-height:22px;padding-inline:7px}.calendar-shell .calendar-task-row{grid-template-columns:8px minmax(0,1fr) 28px;gap:9px}.calendar-shell .calendar-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:390px){.calendar-shell .calendar-range-tabs__button,.calendar-shell .calendar-date-nav button,.calendar-shell .calendar-toolbar__date-context{font-size:13px}.calendar-shell .calendar-quick-links{grid-template-columns:minmax(0,1fr)}.calendar-month-day{min-height:68px;padding-inline:5px}.calendar-month-day__number{font-size:15px}.calendar-month-day__count{display:none}}html[data-theme=dark] .calendar-attention,html[data-theme=dark] .calendar-overview,html[data-theme=dark] .calendar-panel,html[data-theme=dark] .calendar-metric,html[data-theme=dark] .calendar-day,html[data-theme=dark] .calendar-timeline__item,html[data-theme=dark] .calendar-task-row{border-color:var(--border);background:var(--surface-strong)}html[data-theme=dark] .calendar-range-tabs__button,html[data-theme=dark] .calendar-date-nav button{color:var(--muted-strong)}html[data-theme=dark] .calendar-range-tabs__button:hover,html[data-theme=dark] .calendar-range-tabs__button:focus-visible,html[data-theme=dark] .calendar-date-nav button:hover,html[data-theme=dark] .calendar-date-nav button:focus-visible{background:var(--primary-soft);color:var(--foreground)}html[data-theme=dark] .calendar-range-tabs__button.is-active{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}html[data-theme=dark] .calendar-toolbar__date-context{color:var(--foreground)}html[data-theme=dark] .calendar-metric span,html[data-theme=dark] .calendar-metric small,html[data-theme=dark] .calendar-day span,html[data-theme=dark] .calendar-day small,html[data-theme=dark] .calendar-timeline__meta span,html[data-theme=dark] .calendar-empty-state p{color:var(--muted)}html[data-theme=dark] .calendar-metric strong,html[data-theme=dark] .calendar-day strong,html[data-theme=dark] .calendar-timeline__body strong{color:var(--foreground)}html[data-theme=dark] .calendar-attention__label,html[data-theme=dark] .calendar-attention__item,html[data-theme=dark] .calendar-attention__all{color:var(--muted-strong)}html[data-theme=dark] .calendar-attention__item strong{color:var(--foreground)}html[data-theme=dark] .calendar-day.is-selected{border-color:var(--primary);background:var(--primary-surface)}html[data-theme=dark] .calendar-day.is-today strong{color:var(--primary)}html[data-theme=dark] .calendar-empty-state{border-color:var(--border);background:var(--surface)}html[data-theme=dark] .calendar-month-day.is-outside-month{background:var(--surface)}html[data-theme=dark] .calendar-month-day.is-selected{background:var(--primary-surface)}html[data-theme=dark] .calendar-month-day.is-selected .calendar-month-day__number,html[data-theme=dark] .calendar-month-day.is-today .calendar-month-day__number{color:var(--primary)}.calendar-drawer-overlay{z-index:1000;background:#0f172a57;justify-content:flex-end;animation:.18s ease-out both calendar-overlay-in;display:flex;position:fixed;inset:0}.calendar-day-drawer{border-left:1px solid var(--border);background:var(--surface-strong);width:min(420px,100vw);min-width:0;height:100dvh;color:var(--foreground);grid-template-rows:auto minmax(0,1fr) auto;animation:.22s cubic-bezier(.22,1,.36,1) both calendar-drawer-in;display:grid;box-shadow:-24px 0 56px #0f172a29}.calendar-day-drawer__header,.calendar-day-drawer__footer{z-index:1;background:color-mix(in srgb, var(--surface-strong) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:relative}.calendar-day-drawer__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;padding:22px 22px 18px;display:flex}.calendar-day-drawer__header>div{min-width:0}.calendar-day-drawer__header h2{margin:5px 0 0;font-size:20px;line-height:1.35}.calendar-day-drawer__header button{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--muted-strong);cursor:pointer;border-radius:6px;flex:0 0 36px;place-items:center;display:inline-grid}.calendar-day-drawer__header button:hover,.calendar-day-drawer__header button:focus-visible{border-color:color-mix(in srgb, var(--primary) 32%, var(--border));color:var(--foreground)}.calendar-day-drawer__content{overscroll-behavior:contain;min-height:0;padding:22px;overflow-y:auto}.calendar-day-progress{border-bottom:1px solid var(--border);grid-template-columns:112px minmax(0,1fr);align-items:center;gap:20px;padding-bottom:22px;display:grid}.calendar-progress-ring{--calendar-ring-done:0deg;--calendar-ring-progress:0deg;background:conic-gradient(var(--success) 0 var(--calendar-ring-done), var(--warning) var(--calendar-ring-done) var(--calendar-ring-progress), var(--muted) var(--calendar-ring-progress) 360deg);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:relative}.calendar-progress-ring:before{content:"";border-radius:inherit;background:var(--surface-strong);position:absolute;inset:11px}.calendar-progress-ring>span{z-index:1;color:var(--muted);align-items:baseline;display:flex;position:relative}.calendar-progress-ring strong{color:var(--foreground);font-size:27px;line-height:1}.calendar-progress-ring small{font-size:13px}.calendar-day-progress__copy{gap:5px;min-width:0;display:grid}.calendar-day-progress__copy>span,.calendar-day-progress__copy small{color:var(--muted);font-size:12px;line-height:1.45}.calendar-day-progress__copy strong{font-size:22px;line-height:1.2}.calendar-day-statuses{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:18px 0 22px;display:grid}.calendar-day-status{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-content:center;gap:5px 7px;min-width:0;min-height:76px;padding:11px;display:grid}.calendar-day-status>span{align-items:center;display:inline-flex}.calendar-day-status small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.calendar-day-status strong{grid-column:1/-1;font-size:19px;line-height:1}.calendar-day-status--done>span{color:var(--success)}.calendar-day-status--progress>span{color:var(--warning)}.calendar-day-status--todo>span{color:var(--muted-strong)}.calendar-day-task-section,.calendar-day-task-list{gap:10px;display:grid}.calendar-day-task-section__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.calendar-day-task-section__head h3{margin:0;font-size:15px}.calendar-day-task-section__head>span{color:var(--muted);font-size:12px}.calendar-day-task-list__empty{border:1px dashed var(--border);min-height:116px;color:var(--muted);border-radius:8px;place-items:center;margin:0;font-size:13px;display:grid}.calendar-drawer-task{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:11px;padding:13px 12px;text-decoration:none;display:grid}.calendar-drawer-task:hover,.calendar-drawer-task:focus-visible{border-color:color-mix(in srgb, var(--primary) 34%, var(--border));background:color-mix(in srgb, var(--primary) 4%, var(--surface))}.calendar-drawer-task__status{background:var(--muted-strong);border-radius:50%;width:8px;height:8px}.calendar-drawer-task--done .calendar-drawer-task__status{background:var(--success)}.calendar-drawer-task--in_progress .calendar-drawer-task__status{background:var(--warning)}.calendar-drawer-task.is-overdue .calendar-drawer-task__status{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.calendar-drawer-task__copy{gap:4px;min-width:0;display:grid}.calendar-drawer-task__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.35;overflow:hidden}.calendar-drawer-task__copy small{color:var(--muted);font-size:11px;line-height:1.4}.calendar-day-drawer__footer{padding:16px 22px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.calendar-day-drawer__create{justify-content:center;width:100%}.calendar-day-drawer__footer>a{color:var(--muted-strong);white-space:nowrap;font-size:12px;font-weight:600;text-decoration:none}.calendar-day-drawer__footer>a:hover,.calendar-day-drawer__footer>a:focus-visible{color:var(--primary)}@keyframes calendar-overlay-in{0%{opacity:0}}@keyframes calendar-drawer-in{0%{transform:translate(28px)}}@media (max-width:760px){.calendar-drawer-overlay{justify-content:stretch;align-items:flex-end}.calendar-day-drawer{border:1px solid var(--border);border-bottom:0;border-radius:8px 8px 0 0;width:100%;height:min(84dvh,760px);animation-name:calendar-sheet-in;box-shadow:0 -22px 52px #0f172a2e}.calendar-day-drawer__header{padding:17px 18px 14px}.calendar-day-drawer__header:before{content:"";background:var(--border-strong);border-radius:999px;width:34px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.calendar-day-drawer__header h2{font-size:18px}.calendar-day-drawer__content{padding:18px}.calendar-day-progress{grid-template-columns:96px minmax(0,1fr);gap:16px}.calendar-progress-ring{width:96px;height:96px}.calendar-day-drawer__footer{padding-inline:18px}}@media (max-width:380px){.calendar-day-statuses{gap:6px}.calendar-day-status{padding-inline:8px}.calendar-day-drawer__footer{grid-template-columns:minmax(0,1fr)}.calendar-day-drawer__footer>a{justify-self:center}}@keyframes calendar-sheet-in{0%{transform:translateY(28px)}}@media (prefers-reduced-motion:reduce){.calendar-drawer-overlay,.calendar-day-drawer{animation:none}}
