/* QA (финальная проверка): сенсорные цели ≥ 44px на телефоне + базовая тёмная тема для редизайна.
   Подключается последним. */
@media (max-width: 1024px) {
  #realmBtnWork, #realmBtnLife, .realm-opt { min-height: 44px !important; }
  .td-btn, .td-btn--primary, .tdsp-me-edit, .tdsp-sec-btn, .tdj-export, .td-empty-btn,
  .tdo-to-today, .td-nt-add-step, .tdnd-rec-btn, .tdsum-chip, .td-sp-choice, .theme-opt,
  #authOverlay .auth-tabs button { min-height: 44px !important; }
  .pw-eye, .td-nt-back, .tdf-pick-x, .tds-close, .tdj-edit, .input-mic-btn, .tdd2-mic { min-width: 44px !important; min-height: 44px !important; }
  /* компактные чипы: визуально как в Figma, зона нажатия 44px — псевдоэлементом */
  .tdo-chip, .td-dp-chip, .tdsum-chip { position: relative; }
  .tdo-chip::after, .td-dp-chip::after { content: ''; position: absolute; left: -2px; right: -2px; top: calc((100% - 44px) / 2); height: 44px; }
  .tdsum-chip { min-height: 34px !important; }
  .tdsum-chip::after { content: ''; position: absolute; left: 0; right: 0; top: -5px; bottom: -5px; }
  /* дни недели в «Учёт времени»: ≥44px, переносятся на вторую строку на узких экранах */
  .td-sp-days { grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)) !important; gap: 4px !important; }
  .td-sp-day { min-width: 44px !important; min-height: 44px !important; }
  .tds-add__input, #tdOthersSearchInput { min-height: 44px !important; }
  #tdProgressRhythm { min-height: 44px; display: flex; align-items: center; }
  .auth-link { display: inline-flex; align-items: center; min-height: 44px; }
}
/* Тёмная тема: в Figma её нет — переопределяем токены редизайна, чтобы текст и поверхности были читаемы */
html[data-theme="dark"] {
  --td-color-text-primary: #e9ecf3;
  --td-color-text-heading: #f4f6fb;
  --td-color-text-secondary: #9aa4b6;
  --td-color-bg-workspace: #0b0d12;
  --td-color-bg-surface: #161921;
  --td-color-bg-subtle: #1e222c;
  --td-color-border-default: #2b303c;
  --td-color-border-toggle-off: #3a4152;
  --td-color-accent-subtle: rgba(61, 99, 235, .22);
  --td-color-success-subtle: rgba(31, 148, 102, .22);
  --td-color-warning-subtle: rgba(209, 122, 31, .22);
  --td-color-daily-subtle: rgba(120, 87, 209, .24);
  --td-color-danger-subtle: rgba(201, 59, 59, .22);
  --td-color-check-border: #4a5468;
  --td-color-check-add-bg: #1e2533;
}
html[data-theme="dark"] body { background: var(--td-color-bg-workspace); }

@media (max-width: 1024px) {
  .tdo-today { min-width: 44px !important; min-height: 44px !important; }
  .tdo-main { min-height: 44px; }
  button[data-on-click^="tdNtSetRealm"] { min-height: 44px !important; }
  .auth-link { min-width: 44px; justify-content: center; }
}
html[data-theme="dark"] #tdCaptureCard, html[data-theme="dark"] .td-card { background: var(--td-color-bg-surface) !important; border-color: var(--td-color-border-default) !important; color: var(--td-color-text-primary); }
html[data-theme="dark"] #tdCaptureCard h3, html[data-theme="dark"] .td-card h3 { color: var(--td-color-text-heading) !important; }
/* новая задача (мобайл): иконки режимов без размеров рисовались огромными чёрными */
#tdNewTaskPage .tdnd-mode-ico { width: 24px; height: 24px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; }
#tdNewTaskPage .td-nt-mode-btn.is-on .tdnd-mode-ico { color: var(--td-color-accent, #2963e8); }

/* iOS safe-area: полноэкранные итоги дня не залезают под вырез и home indicator */
#tdSummary { padding-top: env(safe-area-inset-top, 0px) !important; padding-bottom: env(safe-area-inset-bottom, 0px) !important; box-sizing: border-box; }
#tdSummary > * { scroll-padding-bottom: env(safe-area-inset-bottom, 0px); }

/* iOS safe-area: карточка задачи на мобайле во весь экран — шапка ниже выреза, кнопки выше home indicator */
@media (max-width: 1024px) { #taskSheetOverlay { padding-top: env(safe-area-inset-top, 0px) !important; padding-bottom: env(safe-area-inset-bottom, 0px) !important; box-sizing: border-box; } }

/* Мобильная сетка: одинаковые поля 16px слева и справа на всех блоках (шапка, Работа/Жизнь, поиск, фильтры, список) */
@media (max-width: 1024px) {
  html body .workspace { padding-left: 16px !important; padding-right: 16px !important; box-sizing: border-box; max-width: 100vw; }
  html body #boardGrid { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; min-width: 0; }
  html body #boardGrid > * { min-width: 0; max-width: 100%; box-sizing: border-box; }
  html body[data-desktop-nav] #boardGrid #colOther, html body #boardGrid #colOther { padding-left: 0 !important; padding-right: 0 !important; }
  html body .topbar-shell { padding-left: 16px !important; padding-right: 16px !important; }
  html body #appTopbar #realmSwitch { flex: 0 0 auto !important; grid-column: 1 / -1; justify-self: start; align-self: flex-start; }
  html body #colOther .column-header { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
  html body #colOther .td-others-toolbar, html body #tdOthersSearchWrap { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box; }
  /* Figma M01 «Realm segment»: hug content, не на всю ширину */
  html body #appTopbar #realmSwitch.realm-switch { display: inline-flex !important; width: auto !important; max-width: max-content !important; box-sizing: border-box; }
  html body #appTopbar #realmSwitch.realm-switch > * { flex: 0 0 auto !important; width: auto !important; min-width: 0; justify-content: center; padding-left: 14px !important; padding-right: 14px !important; }
}

/* Фильтры «Задачи»: «Залежавшиеся» по той же схеме, что Все/Крупные/Быстрые (бледный фон + цветной текст), только в оранжевом.
   Неактивный — как остальные неактивные, оранжевый только счётчик. Контраст ≥ 4.5:1 */
html body[data-desktop-nav="tasks"] #colOther .tdo-chip.is-on { font-weight: var(--td-fw-semibold); }
html body[data-desktop-nav="tasks"] #colOther .tdo-chip.is-stale:not(.is-on) { background: var(--td-color-bg-subtle) !important; color: var(--td-color-text-secondary) !important; font-weight: var(--td-fw-medium); }
html body[data-desktop-nav="tasks"] #colOther .tdo-chip.is-stale:not(.is-on) #tdoStaleN { color: #8a4a0a; }
html body[data-desktop-nav="tasks"] #colOther .tdo-chip.is-stale.is-on { background: var(--td-color-warning-subtle) !important; color: #8a4a0a !important; }
html[data-theme="dark"] body[data-desktop-nav="tasks"] #colOther .tdo-chip.is-stale:not(.is-on) #tdoStaleN { color: #f5b56a; }
html[data-theme="dark"] body[data-desktop-nav="tasks"] #colOther .tdo-chip.is-stale.is-on { background: #3a2a14 !important; color: #f5b56a !important; }
html body[data-desktop-nav="tasks"] #colOther .tdo-chip:not(.is-on):not(.is-stale) { color: #5f6878 !important; }
html body[data-desktop-nav="tasks"] #colOther .tdo-chip.is-stale:not(.is-on) { color: #5f6878 !important; }
html body[data-desktop-nav="tasks"] #colOther .tdo-chip.is-on:not(.is-stale) { color: #3456d8 !important; }
html[data-theme="dark"] body[data-desktop-nav="tasks"] #colOther .tdo-chip:not(.is-on) { color: #9aa4b6 !important; }
html[data-theme="dark"] body[data-desktop-nav="tasks"] #colOther .tdo-chip.is-on:not(.is-stale) { color: #8fb0ff !important; }

/* «Задачи» (мобильный): понятная кнопка «На сегодня» вместо голой иконки; длительность — в строке под названием */
.tdo-sub-dur { display: none; }
@media (max-width: 1024px) {
  html body #colOther .tdo-row { grid-template-columns: minmax(0,1fr) auto !important; gap: 10px; padding-right: 12px !important; }
  html body #colOther .tdo-row > .tdo-dur { display: none !important; }
  html body #colOther .tdo-sub-dur { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: var(--td-corner-chip-diag); background: var(--td-color-bg-subtle); color: var(--td-color-text-secondary); font: var(--td-fw-medium) 11px/16px var(--td-font-sans); vertical-align: 1px; }
  html body #colOther .tdo-today { width: auto !important; min-width: 44px; height: 44px !important; padding: 0 10px !important; gap: 4px; border: 1px solid #c9d6fb !important; background: var(--td-color-accent-subtle) !important; color: #3456d8 !important; border-radius: var(--td-corner-button-left) !important; font: var(--td-fw-semibold) 13px/16px var(--td-font-sans) !important; white-space: nowrap; }
  html body #colOther .tdo-today span { display: inline !important; }
  html body #colOther .tdo-today-ico { display: block !important; width: 16px !important; height: 16px !important; }
  html body #colOther .tdo-today:active { transform: scale(.97); }
  html[data-theme="dark"] body #colOther .tdo-today { background: rgba(61,99,235,.22) !important; border-color: rgba(143,176,255,.35) !important; color: #8fb0ff !important; }
}
@media (max-width: 370px) {
  html body #colOther .tdo-today span { font-size: 12px; }
  html body #colOther .tdo-today { padding: 0 8px !important; }
}
@media (max-width: 1024px) {
  html body #colOther .tdo-main { min-width: 0; }
  html body #colOther .tdo-sub { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
  html body #colOther .tdo-today { flex-direction: column; justify-content: center; gap: 2px; min-width: 64px; height: 48px !important; padding: 0 6px !important; font-size: 11px !important; line-height: 13px !important; }
  html body #colOther .tdo-today-ico { width: 18px !important; height: 18px !important; }
}
@media (max-width: 370px) { html body #colOther .tdo-today span { font-size: 11px; } }
/* «На сегодня» v2: компактная текстовая плашка без иконки (визуально 30px), зона нажатия ≥44px через псевдоэлемент */
@media (max-width: 1024px) {
  html body #colOther .tdo-today { position: relative; flex-direction: row; min-width: 0 !important; min-height: 0 !important; height: 30px !important; padding: 0 8px !important; gap: 0; font-size: 13px !important; line-height: 16px !important; overflow: visible; }
  html body #colOther .tdo-today-ico { display: none !important; }
  html body #colOther .tdo-today::before { content: ""; position: absolute; left: -6px; right: -6px; top: -8px; bottom: -8px; }
  html body #colOther .tdo-row { overflow: visible !important; }
}
@media (max-width: 370px) { html body #colOther .tdo-today { padding: 0 8px !important; } html body #colOther .tdo-today span { font-size: 12px; } }
/* Сегодня (мобайл): #boardGrid — колонка flex с align-items:start, из-за чего карточка «Нет дел», список задач
   и «Завершить день» сжимались по контенту. Растягиваем все блоки на всю ширину (поля 16/16 задаёт #boardGrid). */
@media (max-width: 1024px) {
  html body #boardGrid.show-today { align-items: stretch !important; }
  html body #boardGrid.show-today #tdProgressCard,
  html body #boardGrid.show-today #todayEmptyHero,
  html body #boardGrid.show-today .td-today-empty-card,
  html body #boardGrid.show-today .td-finish-day,
  html body #boardGrid.show-today #tdCaptureCard { align-self: stretch !important; width: auto !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; }
  html body #boardGrid.show-today .td-finish-day { display: flex !important; }
}
/* Фокус (мобайл): поля 16px уже даёт .workspace — у #tdFocusPage были ещё свои 16px (итого 32 + обрезка справа);
   шаги не переносились (nowrap); кнопки внизу не сжимались (min-width:auto) и вылезали за экран на 360. */
@media (max-width: 1024px) {
  html body.td-focus-page-open #tdFocusPage { padding-left: 0 !important; padding-right: 0 !important; max-width: 100%; box-sizing: border-box; overflow-x: clip; }
  html body #tdfRoot, html body #tdfRoot .tdf-grid, html body #tdfRoot .tdf-main, html body #tdfRoot .tdf-card { min-width: 0; max-width: 100%; box-sizing: border-box; }
  html body #tdfRoot .tdf-step { white-space: normal !important; align-items: flex-start !important; min-width: 0; height: auto; padding-top: 10px !important; padding-bottom: 10px !important; }
  html body #tdfRoot .tdf-step i { flex: 0 0 auto; margin-top: 0; }
  html body #tdfRoot .tdf-step span { flex: 1 1 auto; min-width: 0; white-space: normal !important; overflow-wrap: anywhere; }
  html body .tdf-acts .tdf-btn { flex: 1 1 auto !important; min-width: 0 !important; padding-left: 10px !important; padding-right: 10px !important; gap: 8px; white-space: nowrap; overflow: hidden; }
  html body .tdf-acts .tdf-btn span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  /* Кнопки внизу: были position:fixed поверх шагов (текст просвечивал за «Продолжить»). Делаем sticky в потоке —
     всегда видны, но список прокручивается до конца и не прячется под ними. */
  html body.td-focus-page-open #tdFocusPage { padding-bottom: 0 !important; /* .workspace already reserves tab-bar space (96px + safe-area); avoid double spacer */ }
  html body #tdfRoot .tdf-acts { position: sticky !important; left: auto !important; right: auto !important; bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important; margin-top: 12px !important; padding: 8px 0 0; z-index: 30;
    background-color: inherit; }
  html body .tdf-acts .tdf-pause { background: var(--td-color-bg-surface, #fff) !important; border: 1px solid var(--td-color-border-default, #e3e6ec) !important; }
  html body .tdf-acts .tdf-btn { font-size: 14px !important; gap: 6px !important; }
}
@media (max-width: 370px) { html body .tdf-acts .tdf-btn svg, html body .tdf-acts .tdf-btn .td-icon { display: none !important; } }
/* В фокусе переключатель скрыт в мобильной шапке; на десктопе остаётся в сайдбаре. */
html body.td-daily-page-open #appTopbar #realmSwitch.realm-switch,
html body.td-focus-page-open #appTopbar #realmSwitch.realm-switch,
html body.td-focus-page-open #appTopbar #realmSwitch { display: none !important; }
@media (max-width: 1024px) {
  html body.td-focus-page-open .app-sidebar-realm.realm-pill-toggle { display: none !important; }
}
/* Фокус (мобайл): у карточки задачи, таймера и кнопок была скруглена только левая сторона (токены *-left: «12px 0 0 12px»),
   из-за чего правый край выглядел обрезанным. Острый — только один угол, остальные скруглены. Плюс «Дейли рядом» на 360 был шире колонки. */
@media (max-width: 1024px) {
  html body #tdfRoot .tdf-card { border-radius: 4px 20px 20px 20px !important; }
  html body #tdfRoot .tdf-clockbox, html body #tdfRoot .tdf-break-clock, html body #tdfRoot .tdf-break-copy,
  html body #tdfRoot .tdf-curstep, html body #tdfRoot .tdf-nextstep, html body #tdfRoot .tdf-break { border-radius: 4px 16px 16px 16px !important; }
  html body #tdfRoot .tdf-btn { border-radius: 4px 12px 12px 12px !important; }
  html body #tdfRoot .tdf-steps { border-radius: 0 0 20px 20px; }
  html body #tdfRoot .tdf-daily-m { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; padding-left: 0; padding-right: 0; }
  html body #tdfRoot .tdf-daily-m span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html body #tdfRoot .tdf-daily-m svg, html body #tdfRoot .tdf-daily-m b { flex: none; }
}

/* PWA: плашка «Доступна новая версия» (TaskDay toast) */
.td-update-toast { position: fixed; left: 16px; right: 16px; bottom: 24px; z-index: 2600; display: flex; align-items: center; gap: 12px; padding: 10px 6px 10px 14px; box-sizing: border-box; background: var(--td-color-bg-surface); color: var(--td-color-text-primary); border: 1px solid var(--td-color-border-default); border-radius: 16px 0 0 16px; box-shadow: 0 12px 32px rgba(15, 23, 42, .16); font-family: var(--td-font-sans); opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.td-update-toast.is-show { opacity: 1; transform: none; pointer-events: auto; }
.td-update-toast__ico { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px 0 0 10px; background: var(--td-color-accent-subtle); color: var(--td-color-accent); }
.td-update-toast__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.td-update-toast__txt strong { font: 600 14px/19px var(--td-font-sans); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.td-update-toast__txt small { font: 400 12px/16px var(--td-font-sans); color: var(--td-color-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body .td-update-toast__go, html body .td-update-toast__go:hover { flex: none; height: 36px; padding: 0 14px; border: 0; border-radius: 10px 0 0 10px; background: var(--td-color-accent); color: #fff; font: 600 14px/18px var(--td-font-sans); cursor: pointer; position: relative; }
.td-update-toast__go::before, .td-update-toast__x::before { content: ""; position: absolute; inset: -4px; }
html body .td-update-toast__x, html body .td-update-toast__x:hover { flex: none; position: relative; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; background: transparent; color: var(--td-color-text-secondary); cursor: pointer; border-radius: 10px; }
.td-update-toast__go:focus-visible, .td-update-toast__x:focus-visible { outline: 2px solid var(--td-color-accent); outline-offset: 2px; }
html[data-theme="dark"] .td-update-toast { background: #1d1d1d; border-color: #2d3643; box-shadow: 0 12px 32px rgba(0, 0, 0, .5); }
html[data-theme="dark"] .td-update-toast__ico { background: #1f2a44; color: #8fb0ff; }
@media (max-width: 480px) { .td-update-toast__txt small { display: none; } .td-update-toast__txt strong { white-space: normal; } }
@media (min-width: 1025px) { .td-update-toast { left: auto; right: 24px; width: 460px; } }
/* «Задачи»: каждая задача — отдельная карточка (вместо сплошного полотна), зазор 8px */
html body #colOther .tdo-list { gap: 8px !important; padding: 0 !important; background: transparent !important; border-radius: 0 !important; }
html body #colOther .tdo-row { background: var(--td-color-bg-surface) !important; border: 1px solid var(--td-color-border-default); border-radius: var(--td-corner-tile-left) !important; box-sizing: border-box; }
@media (max-width: 1024px) {
  html body #colOther .tdo-row { min-height: 68px; padding: 12px 12px 12px 16px !important; }
}

/* ===== Сверка с макетом Figma M01 (t99u) ===== */
@media (max-width: 1024px) {
  /* 1. Таб-бар: двухцветные иконки как в макете (база = text-primary, акцент = accent), подпись secondary */
  .mobile-app-nav.td-tabbar .td-tab .td-icon { color: var(--td-color-text-primary); --td-icon-accent: var(--td-color-accent); }
  .mobile-app-nav.td-tabbar .td-tab[aria-current="page"] { border-radius: 12px 0 12px 0; }   /* Tab/Сегодня: tl12 br12 */
  .td-tab-add-round { border-radius: 14px 6px 14px 6px !important; }                         /* Centre add 52×48: tl14 tr6 br14 bl6 */
  .mobile-app-nav.td-tabbar .td-tab .td-tab-add-round .td-icon { width: 24px !important; height: 24px !important; color: var(--td-color-text-on-accent); --td-icon-accent: currentColor; }
  /* 3. Прогресс дня: tl20 br20, tr/bl острые — в обеих темах */
  html body #tdProgressCard.td-progress-card, html[data-theme="dark"] body #tdProgressCard.td-progress-card { border-radius: 20px 0 20px 0 !important; }
  /* 4–5. Шапка: Дейли и колокольчик — accent, как остальные иконки шапки; 44×44 */
  html body .mobile-topbar-action.td-mobile-daily-action { color: var(--td-color-accent) !important; --td-icon-accent: var(--td-color-accent); }
  html body .mobile-topbar-action.td-mobile-notif-action { display: inline-grid !important; place-items: center; width: 44px !important; height: 44px !important; min-width: 44px; color: var(--td-color-accent) !important; --td-icon-accent: var(--td-color-accent); background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 12px 0 12px 0; }
  html body .mobile-topbar-action.td-mobile-notif-action:focus-visible { outline: 2px solid var(--td-color-accent); outline-offset: -2px; }
  html body.td-daily-page-open .td-mobile-notif-action, html body.td-focus-page-open .td-mobile-notif-action { display: none !important; }
}
@media (min-width: 1025px) { .td-mobile-notif-action { display: none !important; } }

html:not(.td-day-end-ready) body #boardGrid [data-day-end-action] { display: none !important; }

/* 6. Motion spec · иконки (Figma «04 · Прототип анимаций»): ease-out cubic-bezier(0,0,.58,1); hover 180ms, click 220ms, возврат 200ms */
.td-icon { --td-m-dur: .2s; }
.app-side-btn[data-nav="schedule"] .td-icon,
.td-mobile-schedule-action .td-icon {
  transition: transform .2s cubic-bezier(0,0,.58,1);
}
@media (hover: hover) {
  .app-side-btn:hover .td-icon { --td-m-dur: .18s; }
  .app-side-btn[data-nav="tasks"]:hover .td-icon { --td-m-other: translate(1px, 1px) rotate(90deg); }
  .app-side-btn[data-nav="focus"]:hover .td-icon { --td-m-focus: -12deg; }
  .app-side-btn[data-nav="daily"]:hover .td-icon, .td-mobile-daily-action:hover .td-icon { --td-m-daily: rotate(45deg) scale(1.08); }
  #tdcSideBtn:hover .td-icon, .td-tab[data-mobile-nav="circle"]:hover .td-icon { --td-m-circle: 3px; --td-m-dur: .18s; }
  .app-side-btn[data-nav="schedule"]:hover .td-icon,
  .td-mobile-schedule-action:hover .td-icon {
    transform: translateX(2px);
    transition-duration: .18s;
  }
}
#tdcSideBtn:active .td-icon,
.td-tab[data-mobile-nav="circle"]:active .td-icon,
#tdcSideBtn.is-active .td-icon,
.td-tab[data-mobile-nav="circle"][aria-current="page"] .td-icon { --td-m-circle: 3px; --td-m-dur: .22s; }
.app-side-btn[data-nav="schedule"]:active .td-icon,
.td-mobile-schedule-action:active .td-icon {
  transform: translateX(2px);
  transition-duration: .22s;
}
.app-side-btn.is-active .td-icon, .mobile-app-nav.td-tabbar .td-tab[aria-current="page"] .td-icon { --td-m-dur: .22s; }
.app-side-btn.is-active[data-nav="tasks"] .td-icon, .td-tab[data-mobile-nav="tasks"][aria-current="page"] .td-icon { --td-m-other: translate(1px, 1px) rotate(90deg); }
.app-side-btn.is-active[data-nav="focus"] .td-icon, .td-tab[data-mobile-nav="focus"][aria-current="page"] .td-icon { --td-m-focus: -12deg; }
.td-tab[data-mobile-nav="circle"][aria-current="page"] .td-icon, .td-tab[data-mobile-nav="circle"]:active .td-icon { --td-m-circle: -2px; }
.app-side-btn.is-active[data-nav="daily"] .td-icon, .td-mobile-daily-action:active .td-icon { --td-m-daily: rotate(45deg) scale(1.08); }
@media (prefers-reduced-motion: reduce) {
  .td-icon, .td-icon * { --td-m-dur: 0s !important; --td-m-other: none !important; --td-m-focus: 0deg !important; --td-m-circle: 0px !important; --td-m-daily: none !important; }
  .app-side-btn[data-nav="schedule"] .td-icon, .td-mobile-schedule-action .td-icon { transition-duration: 0s !important; }
}

/* ==== Fix 7 (M03 567:669): карточка задачи на телефоне — по высоте содержимого, max 90vh ==== */
@media (max-width: 1024px) {
  #taskSheetOverlay.task-sheet-overlay { align-items: flex-end !important; justify-content: stretch !important; padding: 0 !important; background: rgb(11 15 25 / .48); }
  #taskSheetOverlay .task-sheet#taskSheetPanel {
    height: auto !important; max-height: 90vh !important; max-height: 90dvh !important;
    width: 100% !important; margin-top: auto;
    border-radius: 20px 20px 0 0 !important;
    background: var(--td-color-bg-surface, #fff) !important;
    box-shadow: 0 -8px 32px rgb(15 23 42 / .16);
  }
  #taskSheetOverlay #taskSheetPanel .task-sheet-grab { display: flex !important; justify-content: center; padding: 8px 0 4px; flex: none; }
  #taskSheetOverlay #taskSheetPanel .task-sheet-scroll { flex: 0 1 auto !important; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  #taskSheetOverlay #taskSheetPanel .task-sheet-footer { flex: none; }
}

/* ==== Fix 9 (M05 567:820): на «Фокусе» в шапке нет Дейли, колокольчика и аватара ==== */
@media (max-width: 1024px) {
  html body.td-focus-page-open .td-mobile-daily-action,
  html body.td-focus-page-open .td-mobile-notif-action,
  html body.td-focus-page-open .mobile-profile-action { display: none !important; }
}

/* ==== Fix 8 (M04 567:740): новая задача — всё содержимое листа прокручивается вместе, футер прилипает снизу ==== */
#captureModal textarea#newTaskTitle.title-input { display: block; resize: none; min-height: 22px; padding: 0 !important; margin: 0; overflow-y: hidden; white-space: pre-wrap; word-break: break-word; }
#captureModal .title-row { align-items: center; padding-top: 12px !important; padding-bottom: 12px !important; }
@media (max-width: 1024px) {
  #captureModal .capture-dialog { max-height: 90vh !important; max-height: 90dvh !important; display: flex; flex-direction: column; }
  #captureModal .capture-card-form { flex: 1 1 auto; min-height: 0; overflow-y: auto !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  #captureModal .capture-card-form > .capture-card-scroll { flex: 0 0 auto !important; overflow: visible !important; }
  #captureModal .capture-card-form > .tdn-head { position: sticky; top: 0; z-index: 3; background: var(--td-color-bg-surface, #fff); }
  #captureModal .capture-card-form > .card-footer { position: sticky; bottom: 0; z-index: 3; margin-top: auto; background: var(--td-color-bg-surface, #fff); }
}

/* ==== Fix 10 (M06 569:803): Дейли — чипсы и поле ввода в одной сплошной панели над таб-баром ==== */
.tdd2 .td-dp-dock { display: contents; }
@media (max-width: 1024px) {
  .tdd2 { --tdd2-dock-bottom: calc(var(--td-tabbar-h, 64px) + env(safe-area-inset-bottom, 0px)); }
  html body.td-kb-open .tdd2 { --tdd2-dock-bottom: 0px; }
  .tdd2 .td-dp-dock {
    display: flex; flex-direction: column; gap: 8px;
    position: fixed; left: 0; right: 0; bottom: var(--tdd2-dock-bottom); z-index: 30;
    padding: 10px 16px 10px;
    background: var(--td-color-bg-surface, #fff);
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -6px 20px rgb(20 30 60 / .08);
  }
  .tdd2 .td-dp-dock .td-dp-quick { position: static !important; left: auto; right: auto; bottom: auto; padding: 0 !important; pointer-events: auto; }
  .tdd2 .td-dp-dock .td-dp-quick .td-dp-chips { display: flex; justify-content: flex-start !important; gap: 8px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .tdd2 .td-dp-dock .td-dp-quick .td-dp-chips::-webkit-scrollbar { display: none; }
  .tdd2 .td-dp-dock .td-dp-chip { flex: none; height: 36px !important; background: var(--td-color-daily-subtle, #f1ecfb) !important; color: var(--td-color-daily, #7857d1) !important; border: 0 !important; border-radius: var(--td-corner-chip-diag, 10px 2px 10px 2px) !important; font: var(--td-fw-medium, 500) 13px/18px var(--td-font-sans) !important; }
  .tdd2 .td-dp-dock .td-dp-chip::after { top: -4px !important; bottom: -4px !important; }
  .tdd2 .td-dp-dock .td-dp-composer { position: static !important; left: auto; right: auto; bottom: auto; padding: 0 0 0 16px !important; background: var(--td-color-bg-workspace, #f4f3fa) !important; border: 1px solid var(--td-color-border-default, #e6e8ef) !important; border-radius: 12px 2px 2px 12px !important; }
  .tdd2 .td-dp-dock .td-dp-composer::before { display: none !important; }
  .tdd2 .td-dp-dock .td-dp-send { margin: -1px -1px -1px 0; border-radius: 2px 12px 12px 2px !important; }
  .tdd2 .td-dp-main { padding-bottom: calc(var(--tdd2-dock-bottom) + var(--tdd2-dock-h, 112px) + 16px) !important; }
  html body.td-daily-page-open #toastBox { bottom: calc(var(--tdd2-dock-bottom) + var(--tdd2-dock-h, 112px) + 8px) !important; }
}
html[data-theme="dark"] .tdd2 .td-dp-dock { background: #1d1d1d; box-shadow: 0 -6px 20px rgb(0 0 0 / .35); border-top: 1px solid #2d3643; }
html[data-theme="dark"] .tdd2 .td-dp-dock .td-dp-composer { background: #141a24 !important; border-color: #2d3643 !important; }
html[data-theme="dark"] .tdd2 .td-dp-dock .td-dp-chip { background: #2a2140 !important; color: #b9a2f0 !important; }

/* Мобильная шапка (Сегодня/Задачи и др.): одна строка сверху — Работа/Жизнь слева, Дейли/колокольчик/аватар справа;
   под ней дата + заголовок фиксированной высоты. Одинаковые размеры на всех вкладках — ничего не прыгает при переключении. */
@media (max-width: 1024px) {
  html body:not(.td-focus-page-open):not(.td-daily-page-open) #appTopbar { position: relative !important; display: block !important; height: 112px !important; min-height: 112px !important; padding: 0 !important; margin: 0 !important; box-sizing: border-box; }
  html body:not(.td-focus-page-open):not(.td-daily-page-open) #appTopbar > .topbar-left,
  html body:not(.td-focus-page-open):not(.td-daily-page-open) #appTopbar > .topbar-right { position: static !important; padding: 0 !important; margin: 0 !important; }
  html body:not(.td-focus-page-open):not(.td-daily-page-open) #appTopbar #realmSwitch.realm-switch { position: absolute !important; top: 12px !important; left: 0 !important; margin: 0 !important; z-index: 2; }
  html body:not(.td-focus-page-open):not(.td-daily-page-open) #appTopbar > .topbar-right { position: absolute !important; top: 8px !important; right: 0 !important; height: 44px !important; display: flex !important; align-items: center; gap: 8px !important; }
  html body:not(.td-focus-page-open):not(.td-daily-page-open) #appTopbar .td-mobile-heading { position: absolute !important; top: 62px !important; left: 0 !important; right: 0 !important; height: 46px !important; margin: 0 !important; gap: 2px !important; overflow: hidden; }
  html body #appTopbar .td-mobile-heading__date, html body #appTopbar .td-mobile-heading__title { display: block; height: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html body[data-desktop-nav] #appTopbar .td-mobile-heading__date::before { font-size: 12px; line-height: 16px; }
  html body[data-desktop-nav="tasks"] #appTopbar .td-mobile-heading__date { line-height: 16px !important; height: 16px; }
  html body[data-desktop-nav="tasks"] #appTopbar .td-mobile-heading__title { line-height: 28px !important; height: 28px; }
  html body[data-desktop-nav="tasks"] #appTopbar .td-mobile-heading__title::before { font-size: 22px !important; line-height: 28px !important; }
}

/* Мобильная «Сегодня»: «Быстрый захват» скрыт (на desktop остаётся) */
@media (max-width: 1024px) {
  html body[data-desktop-nav] #colAside #tdCaptureCard, html body #tdCaptureCard#tdCaptureCard { display: none !important; }
}

/* ==== M12 (580:1094) «Детали задачи»: навбар, владелец, карточка шагов, «Ваши права» ==== */
#taskSheetOverlay #taskSheetPanel.task-sheet { background: var(--td-color-bg-workspace) !important; }
#taskSheetOverlay #taskSheetPanel.task-sheet .task-sheet-footer { background: var(--td-color-bg-workspace) !important; border-top: 0 !important; }
#taskSheetOverlay #taskSheetPanel.task-sheet .task-sheet-scroll { padding: 0 16px 16px !important; display: flex; flex-direction: column; gap: 12px; }
#taskSheetOverlay #taskSheetPanel.task-sheet .task-sheet-scroll > * { margin: 0 !important; }
.tds-nav { display: flex; align-items: center; justify-content: space-between; margin: 0 -12px !important; }
.tds-nav__btn { width: 44px; height: 44px; min-width: 44px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: var(--td-color-accent); border-radius: var(--td-corner-button-left); cursor: pointer; }
.tds-nav__btn:hover { background: transparent !important; }
.tds-nav__btn:focus-visible { outline: 2px solid var(--td-color-accent); outline-offset: -4px; }
.tds-nav__title { font: 700 16px/1.35 var(--td-font-sans); color: var(--td-color-text-heading); }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-chips { gap: 8px; }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-chip { height: auto; padding: 4px 10px; border-radius: 8px 0 8px 0; font: 600 11px/normal var(--td-font-sans); }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-chip.is-shared { background: var(--td-color-daily-subtle); color: var(--td-color-daily); }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-title { font: 800 22px/1.35 var(--td-font-sans); color: var(--td-color-text-heading); overflow-wrap: anywhere; }
.tds-owner { display: flex; align-items: center; gap: 12px; }
.tds-avatars { display: flex; flex: none; }
.tds-ava { width: 40px; height: 40px; border-radius: 20px; display: grid; place-items: center; background: var(--td-color-accent-subtle); color: var(--td-color-accent); font: 600 15px/normal var(--td-font-sans); box-sizing: border-box; }
.tds-ava.is-member { margin-left: -10px; border: 2px solid var(--td-color-bg-workspace); background: var(--td-color-daily-subtle); color: var(--td-color-daily); }
.tds-owner__txt { flex: 1; min-width: 0; line-height: 1.35; }
.tds-owner__name { font: 700 15px/1.35 var(--td-font-sans); color: var(--td-color-text-primary); }
.tds-owner__meta { font: 500 13px/1.35 var(--td-font-sans); color: var(--td-color-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tds-card { background: var(--td-color-bg-surface); padding: 16px; display: flex; flex-direction: column; box-sizing: border-box; }
.tds-stepcard { gap: 4px; border-radius: 20px 0 0 20px; }
.tds-rights { gap: 6px; border-radius: 0 16px 16px 0; }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-steps-head { display: flex; align-items: center; justify-content: space-between; margin: 0; font: 700 12px/1.35 var(--td-font-sans); letter-spacing: .6px; color: var(--td-color-text-secondary); }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-steps-head b { font: 800 15px/1.35 var(--td-font-sans); letter-spacing: 0; color: var(--td-color-accent); }
.tds-bar { height: 6px; border-radius: 3px; background: var(--td-color-accent-subtle); overflow: hidden; }
.tds-bar i { display: block; height: 6px; border-radius: 3px; background: var(--td-color-accent); transition: width .2s ease; }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-step { gap: 8px; }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-step__box { width: 20px; height: 20px; min-width: 20px; border-radius: 6px; }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-step__box.is-done { background: var(--td-color-check-done); }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-step__t { font: 600 15px/1.35 var(--td-font-sans); }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-step.is-done .tds-step__t { color: var(--td-color-text-secondary); text-decoration: line-through; }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-add { margin: 0; }
.tds-lockline { display: flex; align-items: center; gap: 8px; font: 600 13px/1.35 var(--td-font-sans); color: var(--td-color-text-secondary); }
.tds-lockline svg, .tds-right svg { flex: none; color: var(--td-color-text-primary); }
.tds-card__label { font: 700 12px/1.35 var(--td-font-sans); letter-spacing: .6px; color: var(--td-color-text-secondary); }
.tds-right { display: flex; align-items: center; gap: 10px; font: 500 15px/1.35 var(--td-font-sans); color: var(--td-color-text-secondary); }
.tds-right.is-on { font-weight: 600; color: var(--td-color-text-primary); }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-tiles { margin: 0 !important; }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-tile { background: var(--td-color-bg-surface); }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-tile:disabled { opacity: .45; cursor: default; }
#taskSheetOverlay #taskSheetPanel.task-sheet .tds-edit { background: var(--td-color-bg-surface); }
/* CTA (Button 487:3): левая кнопка 10/0/0/10, правая 0/10/10/0; 14px SemiBold */
#taskSheetOverlay #taskSheetPanel.task-sheet .task-sheet-footer > button { border-radius: 10px 0 0 10px !important; font: 600 14px/normal var(--td-font-sans) !important; }
#taskSheetOverlay #taskSheetPanel.task-sheet .task-sheet-footer > button + button { border-radius: 0 10px 10px 0 !important; }
#taskSheetOverlay #taskSheetPanel.task-sheet .task-sheet-footer .btn-primary { background: var(--td-color-accent) !important; color: var(--td-color-text-on-accent, #fff) !important; }
@media (min-width: 1025px) {
  #taskSheetOverlay #taskSheetPanel.task-sheet .task-sheet-scroll { padding-top: 8px !important; }
}
