        /* ——— Мобильная адаптация ——— */
        @media (max-width: 1024px) {
            .mobile-board-tabs {
                display: flex;
            }
            .board-grid {
                display: flex;
                flex-direction: column;
                grid-template-columns: none;
                gap: 0;
                overflow: hidden;
                background: transparent;
                border: none;
                border-radius: 0;
                box-shadow: none;
            }
            .board-grid.show-today #colToday,
            .board-grid.show-other #colOther {
                display: flex;
            }
            .board-grid.show-today #colOther,
            .board-grid.show-other #colToday {
                display: none;
            }
            .board-grid > .column-panel {
                min-height: 0;
                flex: 1;
                height: auto;
                max-height: none;
                border: none;
                border-radius: 0;
                box-shadow: none;
                background: transparent;
            }
        }

        @media (max-width: 1024px) {
            body {
                font-size: var(--fs-md);
                -webkit-tap-highlight-color: transparent;
            }

            .topbar-shell {
                padding: 6px 8px 0;
                padding-top: max(6px, env(safe-area-inset-top));
                padding-left: max(8px, env(safe-area-inset-left));
                padding-right: max(8px, env(safe-area-inset-right));
            }
            .topbar {
                display: grid;
                grid-template-columns: 1fr auto;
                grid-template-areas:
                    "brand actions"
                    "work work";
                gap: 6px;
                padding: 8px 10px;
                max-width: none;
                border: 1px solid var(--border);
                border-radius: 14px;
                box-shadow: var(--shadow-sm);
                background: var(--bg-panel);
                align-items: center;
            }
            .topbar-left,
            .brand-group {
                grid-area: brand;
                min-width: 0;
                gap: 8px;
                overflow: hidden;
                align-items: center;
                align-self: center;
                height: 38px;
            }
            .topbar-v-sep { display: none; }
            .brand-logo > span:last-child,
            .brand-pill > span:not(.brand-ring):not(.brand-mark) {
                display: none;
            }
            .brand-mark, .brand-ring {
                width: 38px;
                height: 38px;
                border-radius: 10px;
            }
            .brand-ring::after {
                width: 12px;
                height: 12px;
                border-width: 3px;
            }
            .realm-switch,
            .topbar .realm-pill-toggle {
                width: auto;
                min-width: 0;
                flex: 0 1 auto;
                max-width: none;
                height: 38px;
                padding: 3px;
                border-radius: 999px;
                border: 1px solid var(--border);
                background: var(--bg-subtle);
                align-items: center;
                box-sizing: border-box;
            }
            .realm-switch button,
            .topbar .realm-opt {
                min-height: 32px;
                height: 32px;
                min-width: 0;
                padding: 0 10px;
                font-size: var(--fs-xs);
                border-radius: 999px;
            }
            .topbar-right,
            .topbar-actions {
                grid-area: actions;
                gap: 6px;
                padding: 0;
                background: transparent;
                border: none;
                border-radius: 0;
                align-items: center;
                align-self: center;
                height: 38px;
            }
            .topbar-center,
            .cal-widget {
                grid-area: work;
                max-width: none;
                min-width: 0;
                width: 100%;
                flex: none;
            }
            .workday-widget,
            .shift-capsule {
                gap: 6px;
                height: 30px;
                min-height: 30px;
                padding: 0 8px;
                border-radius: 10px;
                background: var(--bg-subtle);
                border: 1px solid var(--border);
            }
            /* Компактная строка: дата + прогресс; часы и счётчик — в календаре */
            .clock-box,
            .shift-clock {
                display: none;
            }
            .cal-stat-pill,
            .shift-count-badge {
                display: none;
            }
            .workday-progress-col,
            .shift-info-inline {
                gap: 3px;
            }
            .workday-meta,
            .shift-info-top {
                font-size: var(--fs-xs);
                justify-content: flex-start;
                gap: 6px;
            }
            .workday-shift-line {
                display: none;
            }
            .shift-meta-txt {
                display: inline-flex;
                align-items: center;
                gap: 0;
                font-size: var(--fs-xs);
                font-weight: 650;
                color: var(--text-muted);
                margin-left: auto;
            }
            .shift-meta-txt #workdayText,
            .shift-meta-txt .shift-meta-sep {
                display: none;
            }
            .shift-meta-txt #workdayPercent {
                display: inline;
            }
            .progress-bar-bg,
            .shift-track {
                height: 3px;
            }
            .cal-widget-chevron {
                opacity: 0.7;
            }
            .cal-widget-panel {
                left: auto;
                right: 0;
                width: min(360px, calc(100vw - 20px));
                max-width: min(360px, calc(100vw - 20px));
                max-height: min(78vh, 580px);
            }
            .cal-peek-box {
                min-height: 160px;
            }
            .cal-peek-list {
                min-height: 90px;
                max-height: min(34vh, 240px);
            }
            .cal-month-head {
                flex-wrap: wrap;
            }
            .cal-mode-switch {
                margin-left: auto;
            }

            .workspace {
                padding: 4px 6px 6px;
                padding-left: max(6px, env(safe-area-inset-left));
                padding-right: max(6px, env(safe-area-inset-right));
                padding-bottom: max(6px, env(safe-area-inset-bottom));
                gap: 4px;
                overflow-x: hidden;
                min-width: 0;
                max-width: 100%;
            }

            .add-task-group,
            .btn-add-task,
            .btn-add-mic {
                display: none !important;
            }
            .mobile-add-fab {
                display: flex;
            }
            body.app-locked .mobile-add-fab,
            body.app-booting .mobile-add-fab,
            body:has(#captureModal.active) .mobile-add-fab,
            body:has(#focusOverlay.active) .mobile-add-fab,
            body:has(#taskSheetOverlay.active) .mobile-add-fab,
            body:has(#settingsModal.active) .mobile-add-fab,
            body.voice-capture-open .mobile-add-fab,
            body.ai-bot-chat-open .mobile-add-fab {
                display: none !important;
            }
            /* Скролл всей доски; dock fixed поверх */
            .board-grid {
                padding-bottom: var(--mobile-board-pad-bottom);
                overflow-x: hidden;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
            }
            .board-grid > .column-panel {
                overflow: hidden;
                height: auto;
                max-height: none;
                flex: 0 0 auto;
                min-height: 0;
                min-width: 0;
                width: 100%;
                max-width: 100%;
            }
            .board-grid .column-body {
                overflow-x: hidden !important;
                overflow-y: visible !important;
                flex: none;
                min-height: 0;
                min-width: 0;
                max-width: 100%;
            }
            .mobile-board-tabs {
                display: flex;
                width: 100%;
                max-width: 100%;
                box-sizing: border-box;
                margin: 0 0 8px;
                padding: 0;
                gap: 0;
                border-radius: 0;
                border: none;
                border-bottom: 1px solid var(--border-subtle);
                background: transparent;
            }
            .mobile-board-tabs button {
                min-width: 0;
                flex: 1 1 0;
                min-height: 40px;
                padding: 8px 8px 10px;
                font-size: var(--fs-sm);
                border-radius: 0;
                border: none;
                border-bottom: 2px solid transparent;
                margin-bottom: -1px;
                background: transparent;
                box-shadow: none;
            }
            .mobile-board-tabs button.active {
                background: transparent;
                box-shadow: none;
                border-bottom-color: var(--accent);
            }
            .mobile-board-tabs button .tab-main {
                min-width: 0;
                justify-content: center;
            }
            .mobile-board-tabs button .tab-count {
                flex-shrink: 0;
            }
            #colToday {
                padding-bottom: 0;
            }
            .task-card:not(.tcard) {
                border-radius: 12px;
                box-shadow: var(--shadow-sm);
                background: var(--bg-panel);
            }
            .task-card:not(.tcard):active {
                transform: scale(0.985);
            }
            .task-row-main {
                align-items: flex-start;
                padding: 10px 12px;
                gap: 8px;
            }
            .task-check-btn {
                width: 20px;
                height: 20px;
                margin-top: 1px;
                border-radius: 5px;
            }
            .task-row-body {
                flex-direction: column;
                align-items: stretch;
                gap: 4px;
                min-width: 0;
            }
            .task-row-title {
                white-space: normal;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                line-clamp: 2;
                overflow: hidden;
                text-overflow: ellipsis;
                font-size: var(--fs-base);
                font-weight: 650;
                line-height: 1.3;
                min-height: calc(1.3em * 2);
                padding-right: 0;
                word-break: break-word;
            }
            .task-row-meta {
                width: 100%;
                justify-content: space-between;
                align-items: center;
                flex-wrap: nowrap;
                gap: 4px;
                min-height: 0;
            }
            .task-row-meta:empty {
                display: none;
            }
            .task-row-meta .meta-pills-wrap {
                display: flex;
                flex-wrap: wrap;
                gap: 4px;
                min-width: 0;
                flex: 1;
            }
            .task-row-meta .meta-pills-wrap:empty {
                display: none;
            }
            .task-row-meta .meta-pill {
                font-size: var(--fs-xs);
                padding: 2px 7px;
                max-width: 100%;
            }
            .task-row-meta .row-action-btn {
                flex-shrink: 0;
                margin-left: auto;
                padding: 3px 8px;
                font-size: var(--fs-xs);
                border-radius: 7px;
                gap: 3px;
            }
            .task-row-meta .row-action-btn .icon {
                width: 11px;
                height: 11px;
            }
            .slot-badge {
                position: absolute;
                top: 9px;
                right: 9px;
                z-index: 1;
                font-size: var(--fs-xs);
                padding: 2px 5px;
            }
            .task-card.has-slot-badge .task-row-title {
                padding-right: 34px;
            }
            .task-card .task-expand-btn,
            .task-card .btn-danger-ghost.task-row-delete {
                display: none;
            }
            .slot-row {
                display: block;
            }
            .slot-row .slot-index {
                display: none;
            }
            .slot-row + .slot-row,
            #quickSlotsList .task-card + .task-card,
            #lifeTodayList .task-card + .task-card,
            #backlogList .task-card + .task-card {
                margin-top: 6px;
            }
            .empty-slot-pill {
                margin-top: 6px;
                padding: 6px 10px;
                opacity: 0.7;
                border-style: dashed;
                background: transparent;
            }
            .empty-slot-box:not(.empty-guide) {
                background: transparent;
                border-color: var(--border-subtle);
                box-shadow: none;
                opacity: 0.75;
                min-height: 48px;
                padding: 10px;
            }
            .slot-row .empty-slot-box {
                background: transparent;
                box-shadow: none;
            }
            .section-block {
                gap: 6px;
            }
            .section-label-row,
            .section-caption {
                padding-bottom: 2px;
                margin-bottom: 0;
            }
            .done-summary-bar .mini-chip {
                width: 100%;
                justify-content: center;
                min-height: 40px;
                border-radius: 10px;
                border: 1.5px solid rgba(37, 99, 235, 0.35);
                background: #fff;
                color: var(--accent);
                font-size: var(--fs-sm);
                font-weight: 700;
                padding: 8px 12px;
            }
            #colOther .task-card {
                padding: 0;
            }
            .btn-quick-start,
            .topbar-menu-btn,
            .topbar-icon-btn {
                width: 38px;
                height: 38px;
                min-width: 38px;
                min-height: 38px;
                padding: 0;
                gap: 0;
                border-radius: 10px;
                justify-content: center;
            }
            .btn-quick-start .icon {
                display: none;
            }
            .btn-quick-start .label-full,
            .btn-quick-start .label-short,
            .btn-quick-start .work-state-timer {
                display: none !important;
            }
            .btn-quick-start .work-live-dot {
                display: block;
                margin: 0;
                width: 9px;
                height: 9px;
            }
            .btn-quick-start.is-idle {
                background: rgba(5, 150, 105, 0.1);
                border: 1px solid rgba(5, 150, 105, 0.3);
                color: var(--success);
            }
            .btn-quick-start.is-working,
            .btn-quick-start.is-active-work {
                background: rgba(220, 38, 38, 0.1);
                border: 1px solid rgba(220, 38, 38, 0.35);
                color: var(--danger);
            }
            .split-capture-btn,
            .add-task-group {
                display: none !important;
            }
            .topbar-menu-btn,
            .topbar-icon-btn {
                background: var(--bg-panel);
                border: 1px solid var(--border);
                color: var(--text-secondary);
            }
            .topbar-menu-btn:hover,
            .topbar-menu.open .topbar-menu-btn {
                background: var(--bg-subtle);
                border-color: var(--border);
                color: var(--text-primary);
            }
            .topbar-menu-btn .menu-lines {
                width: 12px;
                gap: 2.5px;
            }
            .topbar-menu-btn .menu-lines span {
                height: 1.5px;
            }
            .topbar-menu-dropdown {
                top: calc(100% + 8px);
                right: -2px;
                min-width: 220px;
                padding: 4px;
            }
            .topbar-menu-item {
                min-height: 40px;
                padding: 8px 10px;
                font-size: var(--fs-sm);
                border-radius: 8px;
            }

            .column-header {
                padding: 4px 10px 6px;
                min-height: 0;
                background: transparent;
                border-bottom: 1px solid var(--border-subtle);
            }
            .column-title-wrap,
            .list-col-title-group { display: none; }
            .column-subtitle { display: none; }
            #colToday .column-header { display: none; }
            .column-header .counter-badge,
            .column-header .slot-load-pill {
                margin-left: 0;
                font-size: var(--fs-xs);
                padding: 2px 8px;
            }
            .completed-bar,
            .done-summary-bar {
                flex-direction: column;
                align-items: stretch;
                gap: 10px;
                max-height: none;
                overflow: visible;
                flex-shrink: 0;
                border-top: 1px solid var(--border);
                background: var(--bg-subtle);
            }
            .column-body {
                padding: 8px 10px 10px;
                gap: 12px;
                -webkit-overflow-scrolling: touch;
            }
            .section-label-row {
                font-size: var(--fs-xs);
                letter-spacing: 0.03em;
            }
            .label-desk { display: none; }
            .label-mob { display: inline; }
            .completed-bar {
                padding: 10px 12px 8px;
                max-height: none;
                min-height: 0;
            }
            .completed-bar > div:first-child,
            .done-pills-wrap {
                flex-wrap: wrap;
                gap: 6px;
            }
            #colToday .column-body {
                padding-bottom: 8px;
            }
            .section-block {
                gap: 6px;
            }

            /* Колонка «Другие» — компактная мобильная карточка */
            #colOther .column-header {
                display: none;
            }
            .backlog-toolbar,
            .column-body > .backlog-toolbar,
            html[data-theme="dark"] .column-body > .backlog-toolbar {
                position: sticky;
                top: 0;
                z-index: 4;
                flex-direction: row;
                align-items: flex-start;
                flex-wrap: nowrap;
                gap: 8px;
                padding: 4px 0 10px;
                margin: 0;
                background: transparent;
                border-bottom: none;
                overflow: visible;
            }
            /* CTA «На сегодня» / «В работу» — единый стиль в tasks-view.css ≤1024 */
            #colOther .tcard .tc-meta {
                gap: 4px;
            }
            #colOther .column-body {
                padding-right: 2px;
            }
            #colOther #backlogList {
                padding-right: 0;
                padding-bottom: 8px;
            }
            .backlog-search-toggle {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                flex: 0 0 auto;
                width: 36px;
                height: 36px;
                min-width: 36px;
                min-height: 36px;
                padding: 0;
                border: none;
                border-radius: 999px;
                background: var(--bg-subtle);
                color: var(--text-secondary);
                box-shadow: none;
                cursor: pointer;
            }
            .backlog-search-toggle:hover {
                background: var(--bg-card-hover);
                color: var(--text-primary);
            }
            .backlog-search-toggle .icon {
                width: 15px;
                height: 15px;
                stroke: currentColor;
                fill: none;
                stroke-width: 2;
                stroke-linecap: round;
            }
            .backlog-search-toggle.has-query {
                background: var(--accent);
                color: #fff;
            }
            .backlog-search-toggle:active {
                transform: scale(0.96);
            }
            .backlog-search {
                display: none;
                flex: 1 1 auto;
                max-width: none;
                min-width: 0;
                width: 100%;
            }
            .backlog-toolbar.is-search-open .segmented-tabs,
            .backlog-toolbar.is-search-open .backlog-search-toggle {
                display: none;
            }
            .backlog-toolbar.is-search-open .backlog-search {
                display: flex;
            }
            .backlog-search-back {
                display: none;
                align-items: center;
                justify-content: center;
                flex: 0 0 auto;
                width: 36px;
                height: 36px;
                margin-right: 4px;
                padding: 0;
                border: none;
                border-radius: 50%;
                background: transparent;
                color: var(--text-secondary);
                cursor: pointer;
            }
            .backlog-toolbar.is-search-open .backlog-search-back {
                display: inline-flex;
            }
            .backlog-search-back .icon {
                width: 18px;
                height: 18px;
                stroke: currentColor;
                fill: none;
                stroke-width: 2.2;
                stroke-linecap: round;
                stroke-linejoin: round;
            }
            .backlog-toolbar.is-search-open .backlog-search-icon {
                display: none;
            }
            .backlog-toolbar.is-search-open .backlog-search input {
                padding-left: 8px;
            }
            .backlog-search input {
                height: 36px;
                font-size: 16px; /* iOS: без автозума */
            }
            .segmented-tabs {
                flex: 1 1 auto;
                min-width: 0;
                width: auto;
                display: flex;
                overflow: visible;
                flex-wrap: wrap;
                align-items: center;
                gap: 8px;
                padding: 0;
                scrollbar-width: none;
                mask-image: none;
                -webkit-mask-image: none;
            }
            .segmented-tabs::-webkit-scrollbar {
                display: none;
            }
            .segmented-tabs .tab-btn {
                flex: 0 0 auto;
                min-width: 0;
                min-height: 36px;
                height: 36px;
                padding: 0 12px;
                font-size: var(--fs-sm);
                font-weight: 650;
                line-height: 1;
                white-space: nowrap;
                border-radius: 999px;
                overflow: visible;
            }
            /* активный чип рядом с лупой — не сжимать и не обрезать скругление */
            .segmented-tabs .tab-btn.active {
                flex-shrink: 0;
            }
            .segmented-tabs .tab-btn .flt-count {
                margin-left: 4px;
                opacity: 0.85;
            }
            .segmented-tabs .flt-full { display: none; }
            .segmented-tabs .flt-short { display: inline; }
            #hideBacklogBtn {
                flex-shrink: 0;
                align-self: center;
                width: 36px;
                height: 36px;
                min-height: 36px;
                padding: 0;
            }
            #hideBacklogBtn .label-desk {
                display: none;
            }
            .backlog-group {
                gap: 0;
                margin-bottom: 4px;
            }
            .backlog-group-head {
                font-size: 11px;
                letter-spacing: 0.04em;
                padding: 6px 4px 2px;
                text-transform: uppercase;
                opacity: 0.85;
            }
            #colOther .tc-done {
                margin-top: 4px;
                margin-bottom: 0;
            }
            #colOther .tc-done-head {
                padding: 4px 6px;
                min-height: 32px;
                font-size: var(--fs-xs);
            }
            #colOther .task-card {
                padding: 0;
                gap: 0;
            }
            #colOther .task-footer {
                flex-direction: row;
                align-items: stretch;
                gap: 6px;
            }
            #colOther .task-footer > div {
                display: flex !important;
                flex-direction: row !important;
                flex: 1;
                min-width: 0;
                gap: 6px !important;
                flex-wrap: wrap !important;
            }
            #colOther .task-footer .btn-primary,
            #colOther .task-footer .btn-warning {
                flex: 1;
                width: auto;
                min-height: 42px;
            }
            #colOther .task-footer .btn-success {
                width: auto;
                min-width: 42px;
                min-height: 42px;
                flex: 0 0 auto;
                padding: 0 10px;
            }

            .slot-row {
                flex-direction: column;
                gap: 0;
                background: transparent;
                border: none;
                border-radius: 0;
                overflow: visible;
            }
            .slot-index {
                width: 100%;
                height: auto;
                min-height: 32px;
                border: none;
                border-bottom: 1px solid var(--border-subtle);
                border-radius: 0;
                justify-content: flex-start;
                padding: 6px 12px;
                font-size: var(--fs-xs);
                letter-spacing: 0.04em;
                background: transparent;
            }
            .slot-index.filled {
                background: var(--accent-soft);
                border-bottom-color: rgba(37, 99, 235, 0.15);
            }
            .slot-row .task-card {
                border-radius: 12px;
                background: var(--bg-panel);
            }
            .slot-row .task-card:not(.in-work-card) {
                border: 1px solid var(--border);
            }
            .slot-row .task-card.in-work-card {
                border-width: 2px;
            }
            .slot-row .empty-slot-box {
                border: 1px dashed var(--border);
                border-radius: 12px;
                box-shadow: none;
                background: var(--bg-panel);
            }
            .slot-row .task-card:not(.in-work-card):hover {
                box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
            }
            .empty-slot-box {
                flex-direction: column;
                align-items: flex-start;
                justify-content: center;
                gap: 4px;
                padding: 12px 10px;
                min-height: 56px;
            }
            .empty-slot-hint-desk { display: none; }
            .empty-slot-hint-mob { display: inline; }

            .task-card {
                padding: 0;
                gap: 0;
            }
            /* На мобиле детали в sheet снизу, в списке всегда компактно */
            .task-card .task-details {
                display: none;
            }
            .task-card.is-expanded,
            .task-card.is-collapsed {
                gap: 0;
                padding: 0;
                cursor: pointer;
            }
            .task-card .task-quick-actions {
                display: inline-flex;
            }
            .task-title {
                font-size: var(--fs-ml);
                line-height: 1.35;
            }
            .task-badges {
                gap: 6px;
            }
            .task-badges .badge {
                font-size: var(--fs-xs);
            }
            .task-date-row {
                display: flex;
                flex-wrap: wrap;
                gap: 6px;
                align-items: center;
            }
            .task-date-row .task-date-label {
                display: none;
            }
            .task-date-row .date-picker-wrap {
                display: contents;
            }
            .task-date-row .date-picker-btn {
                min-height: 30px;
                min-width: 0;
            }
            .task-plan-bar {
                gap: 5px;
            }
            .task-plan-bar .date-picker-btn {
                flex: 1 1 calc(50% - 5px);
                justify-content: center;
                min-height: 32px;
            }
            .task-plan-bar .task-recur-select {
                flex: 1 1 100%;
                min-height: 32px;
            }
            .task-footer {
                flex-direction: column;
                align-items: stretch;
                gap: 8px;
            }
            .task-footer > div {
                display: flex !important;
                flex-direction: column;
                width: 100%;
                gap: 8px !important;
                flex-wrap: nowrap !important;
            }
            .task-footer .btn-primary,
            .task-footer .btn-success,
            .task-footer .btn-warning,
            .task-footer .btn-ghost {
                width: 100%;
                min-height: 46px;
                justify-content: center;
                margin: 0;
            }
            .subtasks-box {
                padding: 8px;
            }
            .subtask-row {
                min-height: 36px;
                align-items: flex-start;
            }
            .subtask-add-inline input {
                min-height: 40px;
            }

            .today-empty-hero {
                min-height: min(28vh, 180px);
                padding: 20px 14px;
                margin: 4px 0 8px;
            }
            .empty-slot-box.empty-guide {
                align-items: center;
                justify-content: center;
                text-align: center;
                gap: 8px;
                padding: 16px 12px;
                min-height: 96px;
            }
            .empty-guide-actions {
                align-items: stretch;
                width: 100%;
                max-width: 260px;
                margin-left: auto;
                margin-right: auto;
            }
            .empty-guide-actions button {
                min-height: 44px;
                width: 100%;
            }

            #captureModal.modal-backdrop {
                align-items: flex-end;
                justify-content: stretch;
                padding: 0;
                background: rgba(11, 15, 25, 0.72);
                overflow: hidden;
            }
            #captureModal .capture-dialog {
                max-width: none;
                width: 100%;
                margin: 0;
                height: auto;
                max-height: min(92dvh, 92vh, calc(var(--app-height, 100dvh) - 8px));
                border-radius: 20px 20px 0 0;
                border: none;
                border-top: 1px solid var(--border);
                box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.28);
                overflow: hidden;
                transform: translateY(110%);
            }
            #captureModal .title-input,
            #captureModal #newTaskTitle,
            #captureModal #newTaskDesc,
            #captureModal #captureStepInput {
                font-size: 16px;
            }
            #captureModal.active .capture-dialog {
                transform: translateY(0);
            }
            #captureModal .capture-grab {
                display: block;
                flex-shrink: 0;
                padding: 10px 16px 8px;
                touch-action: none;
                cursor: grab;
                user-select: none;
            }
            #captureModal.active .capture-dialog.is-dragging {
                transition: none !important;
            }
            #captureModal .capture-grab .task-sheet-handle {
                margin: 0 auto;
            }
            #captureModal .capture-grab-hint {
                text-align: center;
                font-size: var(--fs-xs);
                color: var(--text-muted);
                margin-top: 6px;
            }
            #captureModal .capture-card-form {
                min-height: 0;
                overflow: hidden;
                max-height: min(92dvh, 92vh, calc(var(--app-height, 100dvh) - 8px));
            }
            #captureModal .capture-card-scroll {
                border-radius: 0;
                overscroll-behavior: contain;
            }
            #captureModal .card-topbar {
                padding: 4px 14px 8px;
            }
            #captureModal .card-main {
                padding: 4px 16px 12px;
            }
            #captureModal .attributes-bar {
                padding: 10px 14px;
            }
            #captureModal .card-footer {
                flex-direction: column;
                align-items: stretch;
                border-radius: 0;
                padding: 12px 14px max(14px, env(safe-area-inset-bottom));
                gap: 10px;
            }
            #captureModal .footer-actions {
                width: 100%;
                margin-left: 0;
            }
            #captureModal .kbd-hint { display: none; }
            #captureModal .btn-submit-capture {
                width: 100%;
                justify-content: center;
                min-height: 48px;
                border-radius: 12px;
            }
            #captureModal .capture-close-btn {
                display: none;
            }
            #captureModal #assembleTaskBtnLabel { font-size: var(--fs-xs); }
            #captureModal > .capture-popover,
            #captureModal > .capture-cal-pop {
                width: calc(100vw - 24px);
                max-width: none;
                left: 12px;
                right: 12px;
            }
            #captureModal > .capture-cal-pop {
                max-height: min(62dvh, 460px);
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
            }


    /* Deep Focus mobile — концепт Canva, одна колонка */
    .focus-overlay {
        background: var(--bg-app);
    }
    .focus-modal {
        max-width: 100%;
        border-radius: 0;
        background: var(--bg-app);
    }
    .focus-overlay.active .focus-modal {
        transform: none;
    }
    .focus-sheet-grab { display: none; }
    .focus-topbar {
        max-width: 100%;
        padding-left: 12px;
        padding-right: 12px;
    }
    .focus-back-btn { width: 40px; padding: 0; }
    .focus-task-title {
        font-size: clamp(1.3rem, 5.5vw, 1.55rem);
        text-align: left;
    }
    .focus-task-desc {
        text-align: left;
        max-width: none;
    }
    .focus-modal-scroll {
        max-width: 100%;
        padding-left: 18px;
        padding-right: 18px;
    }
    .focus-desk-grid {
        display: flex;
        flex-direction: column;
    }
    .focus-stage {
        position: static;
        border: 0;
        padding: 0;
    }
    .focus-timer-panel { padding: 0; }
    .focus-preset-row {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        background: transparent;
        padding: 0;
        border-radius: 0;
    }
    .focus-preset-btn {
        min-height: 44px;
        border-radius: 14px;
        font-size: 10.5px;
        letter-spacing: 0.03em;
    }
    .focus-preset-btn.is-active {
        color: #fff;
        background: var(--accent);
    }
    .focus-cta-row { max-width: none; }
    .focus-start-btn {
        min-height: 52px;
        border-radius: 999px;
    }
    .focus-done-btn {
        border: 1px solid var(--border-subtle);
        border-radius: 999px;
    }
    .focus-preset-more-wrap { justify-content: center; }
    .focus-preset-more {
        background: transparent !important;
        color: var(--text-muted);
    }
    .focus-duration-menu {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }
    .focus-help { align-items: stretch; }
    .focus-ai-bar { justify-content: center; }
    .focus-ai-chip {
        font-size: 12px;
        padding: 7px 11px;
    }
    .focus-modal .subtasks-box {
        border-top: 0;
        padding-top: 0;
    }
    .focus-modal .subtask-row {
        border-bottom: 1px solid var(--border-subtle, rgba(15, 23, 42, 0.08));
        padding: 10px 0;
    }
    .focus-subtask-add {
        display: flex;
        gap: 8px;
    }
    .focus-subtask-add input {
        min-height: 40px;
        border-radius: 12px;
    }
    .focus-subtask-add .input-mic-btn { right: 6px; }
    .focus-subtask-add > button {
        border-radius: 12px;
        min-height: 40px;
    }

            #settingsModal .settings-sheet-body {
                overscroll-behavior: contain;
            }
            #settingsModal .settings-grab .task-sheet-handle {
                margin: 0 auto;
            }
            #settingsModal .settings-grab-hint {
                text-align: center;
                font-size: var(--fs-xs);
                color: var(--text-muted);
                margin-top: 6px;
            }
            #settingsModal .settings-sheet-head {
                padding: 8px 16px 10px;
                border-bottom: 1px solid var(--border-subtle);
            }
            #settingsModal .settings-sheet-head .btn-icon-only,
            #settingsModal .settings-sheet-head .btn-danger-ghost {
                display: none;
            }
            #settingsModal .settings-sheet-body {
                padding: 14px 16px;
                gap: 12px;
            }
            #settingsModal .settings-hours-grid {
                grid-template-columns: 1fr;
            }
            #settingsModal .settings-sheet-footer {
                flex-direction: column-reverse;
                padding: 12px 16px max(14px, env(safe-area-inset-bottom));
                border-top: 1px solid var(--border);
                gap: 8px;
            }
            #settingsModal .settings-sheet-footer button {
                width: 100%;
                min-height: 44px;
                justify-content: center;
            }

            .toast {
                max-width: min(320px, calc(100vw - 24px));
            }

            .topbar-menu-dropdown {
                min-width: min(260px, calc(100vw - 24px));
            }
            .topbar-menu-item {
                min-height: 44px;
            }

            .task-schedule-pop {
                left: 12px !important;
                right: 12px;
                width: auto;
                max-width: none;
            }
        }

        @media (max-width: 480px) {
            .brand-logo span {
                font-size: var(--fs-md);
            }
            .workday-meta {
                font-size: var(--fs-xs);
            }
            .column-title {
                font-size: var(--fs-md);
            }
            .counter-badge {
                font-size: var(--fs-xs);
                padding: 3px 8px;
            }
        }

        .btn-add-task .label-short,
        .btn-quick-start .label-short {
            display: none;
        }
        .flt-short {
            display: none;
        }
        .btn-success .label-mob {
            display: none;
        }
        @media (max-width: 1024px) {
            .btn-success .label-mob {
                display: inline;
            }
        }

        /* 7.7: в узкой шапке — короткая подпись */
        @media (max-width: 760px) {
            .sync-badge { height: 28px; padding: 0 9px 0 8px; gap: 5px; }
            .sync-badge-text { display: none; }
            .sync-badge-short { display: inline; }
        }
