@layer fireweek-surfaces {
/* Fireweek surfaces: one look for menus, popovers, panels and dialogs.
   Values come from the FireWeek design system tokens declared in ui-buttons.css.
   Role -> surface:
   popover  small floating menu      surface, 1px line-strong, radius-sm, flat
   panel    side panels / sheets     panel, radius-lg, shadow-card
   dialog   modal windows            panel, radius-lg, shadow-card
   inset    group inside a panel     panel-inset, radius-md */

:root{font-family:var(--fw-font)}
body,button,input,select,textarea{font-family:inherit}

/* popover */
:is(.calendar-tools-menu,.bulk-move-menu,.someday-zone-menu,.task-context-menu,.timer-popover,.task-more-panel,.task-quick-panel:not(.task-pomodoro-panel),.task-emoji-picker,.task-date-picker,.compact-date-picker,.reminder-picker,.date-picker-popover){
  background:var(--fw-surface)!important;color:var(--fw-ink)!important;
  border:1px solid var(--fw-line-strong)!important;border-radius:var(--fw-radius-sm)!important;box-shadow:none!important;
}
.task-dialog:not([data-task-color="none"]) :is(.task-more-panel,.task-quick-panel:not(.task-pomodoro-panel),.task-emoji-picker,.task-date-picker,.compact-date-picker,.reminder-picker,.timer-popover){
  background:var(--task-dialog-color,var(--fw-surface))!important;color:var(--task-dialog-ink,var(--fw-ink))!important;
  border-color:color-mix(in srgb,currentColor 55%,transparent)!important;
}
/* Mobile popovers sit as a translucent "glass" layer over the colour sheet
   (design tokens: --fw-glass), not tinted to match it -- unlike the desktop
   popover above, they always need dark ink since the glass tint is light. */
@media(max-width:700px){
  .task-dialog:not([data-task-color="none"]) :is(.task-more-panel,.task-quick-panel:not(.task-pomodoro-panel),.task-emoji-picker,.task-date-picker,.compact-date-picker,.reminder-picker,.timer-popover){
    background:var(--fw-glass)!important;color:#1f1f24!important;
    -webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important;
    border-color:rgba(255,255,255,.5)!important;
  }
}

/* popover rows */
:is(.calendar-tools-menu-item,.task-menu-item,.task-more-option,.task-repeat-option,.task-move-option,.task-action-button,.task-context-menu button,.someday-zone-menu button,.bulk-move-menu button){
  border-radius:0!important;font-size:14px!important;line-height:20px!important;font-weight:500!important;
}
:is(.calendar-tools-menu-item,.task-repeat-option,.task-move-option,.task-context-menu button,.someday-zone-menu button,.bulk-move-menu button):hover{background:color-mix(in srgb,currentColor 8%,transparent)!important}

/* panel */
:is(.workspace-panel,.account-quick-menu,.search-panel,.progress-panel,.calendar-share-panel,.shared-task-panel,.task-share-panel,.karma-panel){
  background:var(--fw-panel)!important;color:var(--fw-ink)!important;
  border:0!important;border-radius:var(--fw-radius-lg)!important;box-shadow:var(--fw-shadow-card)!important;
}
/* .workspace-panel is a floating rounded card on mobile too (see account-panels.css),
   not an edge-to-edge sheet, so it keeps its radius unlike search/progress/support. */
@media(max-width:700px){.workspace-panel{box-shadow:none!important}}

/* dialog */
:is(.support-dialog,.site-confirm,.guest-flow-dialog,.legacy-import-dialog,.auth-card,.account-card){
  background:var(--fw-panel)!important;color:var(--fw-ink)!important;
  border:0!important;border-radius:var(--fw-radius-lg)!important;box-shadow:var(--fw-shadow-card)!important;
}
.task-dialog{border-radius:var(--fw-radius-lg)!important;box-shadow:var(--fw-shadow-card)!important}
/* Below 900px the task card is a bottom sheet (calendar.css), so only the
   top corners round -- radius-xl is the token's own mobile-sheet value.
   This has to repeat calendar.css's !important fight here in the same
   layer, since the unconditional rule above wins on importance alone. */
@media(max-width:900px){.task-dialog{border-radius:var(--fw-radius-xl) var(--fw-radius-xl) 0 0!important}}
.premium-modal{border-radius:var(--fw-radius-lg)!important}
@media(max-width:620px){.premium-modal{border-radius:28px 28px 0 0!important}}
:is(.auth-backdrop,.account-backdrop,.task-dialog-backdrop){background:var(--fw-veil)!important}

/* inset group inside panels */
:is(.integration-menu,.integration-row,.integration-import-row){
  background:var(--fw-panel-inset)!important;border:0!important;border-radius:var(--fw-radius-md)!important;
}

/* group inside a panel: panel-inset, no white cards and no per-section radii */
:is(.automation-list,.theme-grid,.account-overview,.notifications-settings-form,.calendar-list,.calendar-sharing-open,.workspace-menu-group,.calendar-create-form){
  background:var(--fw-panel-inset)!important;border:0!important;border-radius:var(--fw-radius-md)!important;box-shadow:none!important;
}
@media(max-width:700px){:is(.automation-list,.theme-grid,.account-overview,.notifications-settings-form,.calendar-list,.calendar-sharing-open,.workspace-menu-group,.integration-menu,.integration-row,.integration-import-row){border-radius:var(--fw-radius-group)!important}}

/* form fields inside panels: one look for select, input, textarea */
:is(.workspace-panel,.account-quick-menu,.support-dialog,.calendar-share-panel,.auth-card,.account-card,.guest-flow-dialog) :is(select,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),textarea){
  box-sizing:border-box!important;min-height:40px!important;padding:8px 16px!important;
  background-color:var(--fw-surface)!important;color:var(--fw-ink)!important;
  border:0!important;border-radius:var(--fw-radius-md)!important;box-shadow:none!important;
  font:inherit!important;font-size:15px!important;line-height:22px!important;font-weight:500!important;
}
:is(.workspace-panel,.account-quick-menu,.support-dialog,.calendar-share-panel,.auth-card,.account-card,.guest-flow-dialog) :is(select,input,textarea)::placeholder{color:var(--fw-ink-muted)!important}
:is(.workspace-panel,.account-quick-menu,.support-dialog,.calendar-share-panel,.auth-card,.account-card,.guest-flow-dialog) :is(select,input,textarea):focus-visible{outline:2px solid var(--fw-today)!important;outline-offset:2px!important;box-shadow:none!important}

/* toggle: on/off must read at a glance.
   off = empty track, thumb on the left; on = accent track with a check, thumb on the right. */
:is(.automation-switch,.calendar-share-switch){display:inline-flex;flex:none}
:is(.automation-switch,.calendar-share-switch)>span{
  position:relative;box-sizing:border-box!important;display:block;width:46px!important;height:28px!important;flex:none;
  background:color-mix(in srgb,currentColor 22%,transparent)!important;border:2px solid currentColor!important;border-radius:var(--fw-radius-pill)!important;box-shadow:none!important;
  transition:background-color 120ms ease-out!important;
}
:is(.automation-switch,.calendar-share-switch)>span::after{
  content:""!important;position:absolute!important;top:3px!important;left:3px!important;width:18px!important;height:18px!important;
  background:currentColor!important;border-radius:50%!important;box-shadow:none!important;transform:none!important;
  transition:transform 120ms ease-out!important;
}
:is(.automation-switch,.calendar-share-switch) input:checked+span{background:var(--fw-accent)!important}
:is(.automation-switch,.calendar-share-switch) input:checked+span::after{transform:translateX(18px)!important}
:is(.automation-switch,.calendar-share-switch) input:checked+span::before{
  content:"";position:absolute;left:8px;top:50%;width:5px;height:9px;margin-top:-6px;border:solid var(--fw-on-accent);border-width:0 2px 2px 0;transform:rotate(45deg);
}
:is(.automation-switch,.calendar-share-switch) input:focus-visible+span{outline:2px solid var(--fw-today)!important;outline-offset:2px!important}

/* the .ics import label is itself the button; its inner span is only text */
.ics-import-button{width:100%}
.ics-import-button>span{
  min-width:0!important;min-height:0!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;
  background:none!important;box-shadow:none!important;color:inherit!important;font:inherit!important;
}

/* toggle on the always-dark share block: fixed light ink in every theme */
.task-share-web{border:1px solid color-mix(in srgb,#fff 22%,transparent)!important}
.task-share-web :is(.automation-switch,.calendar-share-switch)>span{color:#fff!important;border-color:#fff!important;background:rgba(255,255,255,.24)!important}
.task-share-web :is(.automation-switch,.calendar-share-switch)>span::after{background:#fff!important}
.task-share-web :is(.automation-switch,.calendar-share-switch) input:checked+span{background:var(--fw-accent)!important}
.task-share-web :is(.automation-switch,.calendar-share-switch) input:checked+span::after{background:#000!important}

/* completed marks use the accent, not a private green */
:is(.task-dialog-complete.completed,.search-result-completed,.progress-history-row.completed .progress-history-check,.checklist-item.completed .checklist-toggle,.entry-row.completed .entry-check){
  background:var(--fw-accent)!important;border-color:var(--fw-accent)!important;color:var(--fw-on-accent)!important;
}

/* the .ics label shows its own focus ring instead of the inner span */
.ics-import-button>span{outline:0!important}
.ics-import-button:focus-within{outline:2px solid var(--fw-today)!important;outline-offset:2px!important}

/* phone: popovers become glass over the colored sheet */
@media(max-width:700px){
  :is(.task-more-panel,.task-quick-panel:not(.task-pomodoro-panel),.task-emoji-picker,.task-date-picker,.compact-date-picker,.reminder-picker,.timer-popover),
  .task-dialog:not([data-task-color="none"]) :is(.task-more-panel,.task-quick-panel:not(.task-pomodoro-panel),.task-emoji-picker,.task-date-picker,.compact-date-picker,.reminder-picker,.timer-popover){
    background:var(--fw-glass)!important;-webkit-backdrop-filter:blur(24px) saturate(1.4)!important;backdrop-filter:blur(24px) saturate(1.4)!important;
    color:inherit!important;border:0!important;border-radius:var(--fw-radius-xl)!important;box-shadow:var(--fw-shadow-float)!important;
  }
}

/* sign-in and guest prompts always sit above every other window */
.auth-backdrop{z-index:2000!important}
.guest-flow-backdrop{z-index:1900!important}

/* guest prompts share the sign-in dialog scale: one heading, one body size, stacked full-width buttons */
.guest-flow-dialog{width:min(100%,440px)!important;max-width:none!important;padding:32px!important;box-sizing:border-box}
.guest-flow-dialog .guest-flow-eyebrow{margin:0 0 8px!important;color:var(--fw-ink-muted)!important;font-size:12px!important;line-height:16px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase}
.guest-flow-dialog h2{margin:0!important;padding-right:44px;font-size:28px!important;line-height:34px!important;letter-spacing:-.02em!important;font-weight:700!important}
.guest-flow-dialog>p:not(.guest-flow-eyebrow){margin:16px 0 0!important;color:var(--fw-ink-muted)!important;font-size:15px!important;line-height:22px!important}
.guest-flow-dialog .guest-import-assurance{margin-top:12px!important;font-size:13px!important;line-height:19px!important}
.guest-flow-actions{display:flex!important;flex-direction:column-reverse!important;gap:8px!important;margin-top:24px!important}
.guest-flow-actions button{width:100%!important;min-height:48px!important;font-size:15px!important}

/* reminder channel choice: the selected one is filled, the other is quiet */
.task-when-channels{display:flex!important;gap:8px!important}
.task-when-channels button{
  flex:1;min-height:40px;padding:8px 16px;border:0!important;border-radius:var(--fw-radius-pill)!important;
  background:color-mix(in srgb,currentColor 8%,transparent)!important;color:inherit!important;box-shadow:none!important;font:inherit;font-size:14px;font-weight:600;
}
.task-when-channels button.is-active,.task-when-channels button[aria-pressed="true"]{background:var(--fw-inverse)!important;color:var(--fw-on-inverse)!important}

/* pomodoro strip: same colour as the task card, top corners match the card, so it reads as its continuation */
.task-dialog>.task-pomodoro-panel{
  background:var(--task-dialog-color)!important;border-radius:var(--fw-radius-lg) var(--fw-radius-lg) 0 0!important;
  border-bottom:1px solid color-mix(in srgb,var(--task-dialog-ink) 14%,transparent)!important;box-shadow:none!important;
}
/* design «Инструмент · Таймер»: the strip is a light tint of the card colour, no divider line */
.task-dialog>.task-pomodoro-panel.tt-strip{
  background:color-mix(in srgb,var(--task-dialog-color) 22%,#fff)!important;border-bottom:0!important;color:#17131f!important;
}
@media(min-width:901px){
  .task-dialog:has(>.task-pomodoro-panel:not([hidden])){border-radius:0 0 var(--fw-radius-lg) var(--fw-radius-lg)!important}
}

/* readable text: weekday and date labels, muted notes, sign-out */
.day-weekday{color:color-mix(in srgb,var(--app-ink,var(--ink,#0f0f12)) 62%,var(--app-surface,var(--fw-page-surface)))!important}
.day-card.weekend .day-weekday{color:color-mix(in srgb,#c62f25 60%,var(--app-ink,var(--ink,#0f0f12)))!important}
.day-date.highlight{color:color-mix(in srgb,var(--blue,#5a6df2) 70%,var(--app-ink,var(--ink,#0f0f12)))!important}
:is(.workspace-panel,.account-quick-menu,.search-panel,.progress-panel,.calendar-share-panel,.support-dialog,.site-confirm,.guest-flow-dialog,.legacy-import-dialog,.auth-card,.account-card) :is(small,.workspace-note,.karma-goal-note,.karma-chart-label,.auth-form-back,.auth-eyebrow,.auth-yandex-legal){color:var(--fw-ink-muted)!important}
.workspace-root-logout,.account-logout{color:var(--fw-danger)!important}

/* dark contexts: legacy panel styles hard-code dark ink, so every text element takes the container ink */
@media (prefers-color-scheme:dark){
  :root:not([data-calendar-theme]) :is(.workspace-panel,.account-quick-menu,.search-panel,.progress-panel,.calendar-share-panel,.support-dialog,.site-confirm,.guest-flow-dialog,.legacy-import-dialog,.auth-card,.account-card,.task-more-panel,.task-quick-panel:not(.task-pomodoro-panel),.task-emoji-picker,.task-date-picker,.compact-date-picker,.reminder-picker,.timer-popover,.calendar-tools-menu,.bulk-move-menu,.someday-zone-menu,.task-context-menu) *:where(:not([data-ui-button="primary"]):not([data-ui-button="danger"]):not(.workspace-root-logout):not(.account-logout):not([class*="error"]):not(.yandex-mark):not(:is(.task-share-web,.account-identity,.workspace-plan-card,.auth-yandex,.task-color-option,.task-color-tool) *):not([class*="avatar"]):not(.theme-preview):not(.task-share-web):not(.account-identity):not(.workspace-plan-card):not(.auth-yandex)){color:inherit!important}
}
:root[data-calendar-tone="dark"] :is(.workspace-panel,.account-quick-menu,.search-panel,.progress-panel,.calendar-share-panel,.support-dialog,.site-confirm,.guest-flow-dialog,.legacy-import-dialog,.auth-card,.account-card,.task-more-panel,.task-quick-panel:not(.task-pomodoro-panel),.task-emoji-picker,.task-date-picker,.compact-date-picker,.reminder-picker,.timer-popover,.calendar-tools-menu,.bulk-move-menu,.someday-zone-menu,.task-context-menu) *:where(:not([data-ui-button="primary"]):not([data-ui-button="danger"]):not(.workspace-root-logout):not(.account-logout):not([class*="error"]):not(.yandex-mark):not(:is(.task-share-web,.account-identity,.workspace-plan-card,.auth-yandex,.task-color-option,.task-color-tool) *):not([class*="avatar"]):not(.theme-preview):not(.task-share-web):not(.account-identity):not(.workspace-plan-card):not(.auth-yandex)){color:inherit!important}

/* wheel rows: no fade below readable contrast */
.reminder-wheels{-webkit-mask-image:none!important;mask-image:none!important}
.reminder-wheels button{opacity:.75!important}

/* select: same 16px inset on both sides, chevron drawn by us */
:is(.workspace-panel,.account-quick-menu,.support-dialog,.calendar-share-panel,.auth-card,.account-card,.guest-flow-dialog) select{
  -webkit-appearance:none!important;appearance:none!important;padding-right:44px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.5l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:16px 16px!important;
}
@media (prefers-color-scheme:dark){:root:not([data-calendar-theme]) :is(.workspace-panel,.account-quick-menu,.support-dialog,.calendar-share-panel,.auth-card,.account-card,.guest-flow-dialog) select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.5l4 4 4-4' fill='none' stroke='%23f2f2f5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}}
:root[data-calendar-tone="dark"] :is(.workspace-panel,.account-quick-menu,.support-dialog,.calendar-share-panel,.auth-card,.account-card,.guest-flow-dialog) select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.5l4 4 4-4' fill='none' stroke='%23f2f2f5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}

/* payment history rows */
.subscription-history>div{display:grid;gap:8px}
.subscription-history h3{margin:0 0 12px!important}
.subscription-payment{display:flex!important;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--fw-panel-inset)!important;border-radius:var(--fw-radius-md)}
.subscription-payment strong{font-size:15px;line-height:22px;font-weight:700}
.subscription-payment span{font-size:14px;line-height:20px;text-align:right;color:var(--fw-ink-muted)!important}

/* single-line rows in groups share one height */
:is(.account-overview,.workspace-menu-group,.calendar-create-form)>*{min-height:52px;box-sizing:border-box}

/* accent text inside panels uses the system accent, which keeps contrast on panel surfaces */
:is(.workspace-panel,.account-quick-menu,.search-panel,.progress-panel,.calendar-share-panel,.support-dialog,.site-confirm,.guest-flow-dialog,.legacy-import-dialog,.auth-card,.account-card,.task-more-panel,.task-quick-panel:not(.task-pomodoro-panel)){--blue:color-mix(in srgb,var(--fw-today) 62%,var(--fw-ink))}

/* muted notes on panel surfaces: one muted ink, at least 4.5:1 */
:is(.workspace-panel,.account-quick-menu,.search-panel,.progress-panel,.calendar-share-panel,.support-dialog,.site-confirm,.guest-flow-dialog,.legacy-import-dialog,.auth-card,.account-card) :is(.automation-row-copy>span,.integration-row :is(span,small,p),.integration-import-row :is(span,small,p),.account-settings-grid label>span,.account-overview strong,.account-overview-row strong,.karma-goal-head span,.karma-goal-note,.karma-chart-label,.karma-hero-points>span,.karma-level-row>span,.progress-section-head>span,.calendar-list small,.theme-option small,.auth-divider span,.workspace-note,.subscription-note,.subscription-status){color:var(--fw-ink-muted)!important}

/* the plan card keeps its own warm paper and dark ink in every theme */
.workspace-panel .workspace-plan-card,.workspace-panel .workspace-plan-card *{color:#251b12!important}
.workspace-panel .workspace-plan-card small{color:#65503a!important}

/* avatars: fixed dark ink on their light fills */
[class*="avatar"]:not(.account-launcher):not(img){color:#111114!important}

/* row hover in every context: a tint of the ink, never a white wash */
:is(.workspace-menu-group,.account-overview,.calendar-create-form,.theme-grid,.calendar-list) :is(button,a,.calendar-list-row):is(:hover,:focus-visible){background:color-mix(in srgb,currentColor 12%,transparent)!important}

/* search results sit on the panel-inset surface in dark contexts */
@media (prefers-color-scheme:dark){:root:not([data-calendar-theme]) :is(.search-input,.search-result,.search-field){background:var(--fw-panel-inset)!important;color:var(--fw-ink)!important}}
:root[data-calendar-tone="dark"] :is(.search-input,.search-result,.search-field){background:var(--fw-panel-inset)!important;color:var(--fw-ink)!important}

/* coloured task card and chips: ink follows the task colour, not the page scheme */
.task-dialog:not([data-task-color="none"]){color:var(--task-dialog-ink,#1f1f24)!important}
.task-dialog:not([data-task-color="none"]) :is(.task-dialog-input,.checklist-text,.task-dialog-date-button,.task-dialog-date-button *,.task-dialog-date){color:inherit!important}
.entry[class*="color-"] .entry-label{color:inherit!important}

/* pomodoro mode pills: selected one has a light fill, so dark ink; quiet ones stay above 4.5:1 */
.task-pomodoro-modes button.active,.task-pomodoro-modes button.active *{color:#0f0f12!important}
.task-pomodoro-modes button:not(.active),.task-pomodoro-modes button:not(.active) *{color:color-mix(in srgb,var(--task-dialog-ink) 88%,transparent)!important}

/* calendar themes: title, weekday and today labels keep contrast on any theme surface */
:root[data-calendar-theme] .calendar-title-block p{color:color-mix(in srgb,var(--app-ink) 78%,var(--app-surface))!important}
.day-weekday{color:color-mix(in srgb,var(--app-ink,var(--ink,#0f0f12)) 78%,var(--app-surface,var(--fw-page-surface)))!important}
.day-date.highlight{color:color-mix(in srgb,var(--blue,#5a6df2) 40%,var(--app-ink,var(--ink,#0f0f12)))!important}

/* out-of-month days in the date picker stay readable */
.task-date-picker-day.is-outside{opacity:.7!important}

/* selected reminder channel: filled with the inverse pair (id keeps it above the inherited ink) */

/* chips: ink follows the chip colour, not the page scheme */
.entry:is(.color-yellow,.color-green,.color-red,.color-raspberry,.color-azure,.color-teal,.color-emerald,.color-lime,.color-tangerine,.color-orange,.color-coral),.month-task:is(.color-yellow,.color-green,.color-red,.color-raspberry,.color-azure,.color-teal,.color-emerald,.color-lime,.color-tangerine,.color-orange,.color-coral){color:#1E1A22!important}
.entry:is(.color-fuchsia,.color-violet,.color-indigo,.color-blue),.month-task:is(.color-fuchsia,.color-violet,.color-indigo,.color-blue){color:#FFF8F1!important}

/* view switch in dark contexts: selected segment is the inverse pill */
@media (prefers-color-scheme:dark){:root:not([data-calendar-theme]) .calendar-view-switch button.active{background:var(--fw-inverse)!important;color:var(--fw-on-inverse)!important}}
:root[data-calendar-tone="dark"] .calendar-view-switch button.active{background:var(--fw-inverse)!important;color:var(--fw-on-inverse)!important}

/* more muted notes and small details */
:is(.workspace-panel,.progress-panel) :is(.karma-day-details p,.karma-empty,.progress-empty span){color:var(--fw-ink-muted)!important}
.workspace-panel .integration-import-row .ics-import-button>span{color:var(--fw-ink)!important}

/* coloured task card: mid-tone colours get the near-black ink */
.task-dialog[data-task-color]:not([data-task-color="none"]):not(.dark-task-color){--task-dialog-ink:#1E1A22!important}

/* calendar themes: title, weekday, today and checklist text at strong contrast */
:root[data-calendar-theme] .calendar-title-block p{color:color-mix(in srgb,var(--app-ink) 92%,var(--app-surface))!important}
:root[data-calendar-theme] .day-weekday,.day-weekday{color:color-mix(in srgb,var(--app-ink,var(--ink,#0f0f12)) 92%,var(--app-surface,var(--fw-page-surface)))!important}
.day-date.highlight{color:color-mix(in srgb,var(--blue,#5a6df2) 15%,var(--app-ink,var(--ink,#0f0f12)))!important}
.task-dialog .checklist-item .checklist-text{color:var(--task-dialog-ink)!important}
:root[data-calendar-theme] .task-dialog[data-task-color="none"]{--task-dialog-muted-ink:color-mix(in srgb,var(--app-ink) 90%,var(--app-surface))!important}

/* plain tasks on themed calendars: full theme ink */
:root[data-calendar-tone="light"] .entry:not([class*="color-"]),:root[data-calendar-tone="light"] .entry:not([class*="color-"]) .entry-label{color:color-mix(in srgb,var(--app-ink) 80%,#000)!important}
:root[data-calendar-tone="dark"] .entry:not([class*="color-"]),:root[data-calendar-tone="dark"] .entry:not([class*="color-"]) .entry-label{color:color-mix(in srgb,var(--app-ink) 80%,#fff)!important}

/* guest daily-limit warning: lilac card with a task meter and one-tap Yandex ID sign-in */
.guest-flow-dialog.guest-limit{width:min(100%,520px)!important;padding:28px 32px 24px!important;background:#EBE1FB!important;color:#17131F!important;border:0!important;border-radius:32px!important}
.guest-limit .guest-flow-eyebrow{color:#5B3FB0!important;letter-spacing:0!important;text-transform:none!important;font-size:13px!important;line-height:18px!important;margin-bottom:4px!important}
.guest-limit h2{color:#17131F!important}
.guest-flow-dialog.guest-limit>p:not(.guest-flow-eyebrow):not(.guest-limit-legal){color:#4A415C!important;margin-top:8px!important}
.guest-limit #guestSignupText b{color:#17131F;font-weight:600}
.guest-limit .guest-flow-close{background:#DFD2F6!important;color:#17131F!important}
.guest-limit-meter{margin-top:22px;padding:16px 18px;border-radius:18px;background:#F8F4FF;display:flex;flex-direction:column;gap:10px}
.guest-limit-meter[hidden]{display:none}
.guest-limit-segments{display:grid;grid-template-columns:repeat(var(--segments,10),1fr);gap:5px}
.guest-limit-segments i{display:block;height:10px;border-radius:5px;background:#17131F}
.guest-limit-segments i.free{background:transparent;border:1.5px dashed #B4A6D2}
.guest-limit-caption{display:flex;justify-content:space-between;font-size:13px;line-height:18px;color:#625975}
.guest-limit-caption b{color:#17131F;font-weight:600}
.guest-limit-caption span:last-child{color:#5B3FB0;font-weight:600}
.guest-limit .guest-flow-actions{flex-direction:column!important;margin-top:22px!important;gap:8px!important}
.guest-limit .guest-limit-yandex{order:1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:16px;background:#17131F;color:#fff;font-size:16px;font-weight:600;text-decoration:none}
.guest-limit .guest-limit-yandex[hidden]{display:none}
.guest-flow-dialog.guest-limit .guest-flow-actions button.guest-flow-primary[data-ui-button]{order:2;--fw-button-bg:#F8F4FF;--fw-button-ink:#17131F;--fw-button-hover:#fff;--fw-button-radius:16px;--fw-button-font-size:16px;--fw-button-weight:600;min-height:52px!important}
.guest-flow-dialog.guest-limit .guest-flow-actions button.guest-flow-secondary[data-ui-button]{order:3;--fw-button-bg:transparent;--fw-button-ink:#625975;--fw-button-hover:rgba(23,19,31,.06);--fw-button-font-size:15px;--fw-button-weight:500;min-height:40px!important}
.guest-limit-legal{margin:12px 0 0;font-size:12px;line-height:17px;color:#625975}
.guest-limit-legal[hidden]{display:none}
.guest-limit-legal a{color:inherit;text-decoration:underline}
@media (max-width:620px){.guest-flow-dialog.guest-limit{padding:26px 20px calc(22px + env(safe-area-inset-bottom))!important;border-radius:30px 30px 0 0!important}}

/* free plan card stays grey, also on hover and focus */
.workspace-panel .workspace-plan-card:not([data-premium="true"]):is(:hover,:focus-visible){filter:grayscale(1)!important}

/* settings panel is as tall as its content (scrolls only when it does not fit), no empty tail */
@media(min-width:701px){
  .workspace-panel,:root:not([data-calendar-theme]) .workspace-panel{bottom:auto!important;height:auto!important;max-height:calc(100dvh - 102px)!important}
}
}