        /* Modal Footer — single toolbar row */
        .modal-footer {
            border-top: 1px solid var(--border-light);
            position: relative;
        }

        .modal-action-btn {
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: none;
            background: transparent;
            color: var(--text-tertiary);
            border-radius: var(--radius-sm);
            cursor: pointer;
            transition: all var(--transition-fast);
            position: relative;
        }

        .modal-action-btn:hover {
            background: var(--surface-hover);
            color: var(--text-secondary);
        }

        .modal-action-btn:focus-visible {
            outline: var(--focus-outline);
            outline-offset: var(--focus-outline-offset);
        }

        .modal-action-btn.active {
            background: var(--accent-blue-light);
            color: var(--accent-blue);
        }

        .modal-action-btn svg {
            width: 20px;
            height: 20px;
        }

        /* Toolbar — single clean row of action buttons */
        .modal-toolbar {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: var(--space-1);
            padding: var(--space-2) var(--space-5);
        }

        /* Markdown hint */
        .markdown-hint {
            text-align: right;
            padding: 12px 28px;
            font-size: var(--font-size-12);
            color: var(--text-tertiary);
            opacity: 0.7;
            pointer-events: none;
            background: var(--bg-card);
            border-top: 1px solid transparent;
        }

        /* Slash Command Menu */
        .slash-menu {
            position: fixed;
            background: var(--bg-card);
            border-radius: var(--radius-md);
            border: 1px solid var(--border-medium);
            box-shadow: var(--shadow-2);
            padding: var(--space-2);
            min-width: 240px;
            max-height: 800px;
            overflow-y: auto;
            z-index: calc(var(--z-layer-modal) + 10);
            opacity: 0;
            transform: translateY(-8px);
            pointer-events: none;
            transition: all var(--transition-fast);
        }

        .slash-menu.visible {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }





        .slash-menu-item {
            display: flex;
            align-items: center;
            gap: var(--space-3);
            padding: var(--space-2-5) var(--space-3);
            border-radius: var(--radius-sm);
            cursor: pointer;
            transition: background var(--transition-fast);
        }

        .slash-menu-item:hover:not(.selected) {
            background: var(--bg-hover);
        }

        .slash-menu-item.selected {
            background: var(--accent-blue-light);
        }

        .slash-menu-icon {
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--text-secondary);
            font-size: var(--font-size-sm);
            font-weight: 500;
        }

        .slash-menu-icon svg {
            width: 18px;
            height: 18px;
            stroke: currentColor;
            fill: none;
            stroke-width: 1.5;
        }

        .slash-menu-label {
            font-size: var(--font-size-14);
            color: var(--text-primary);
        }

        .slash-menu-no-results {
            padding: var(--space-3);
            text-align: center;
            color: var(--text-tertiary);
            font-size: var(--font-size-sm);
        }

        /* Text Formatting Toolbar */
        .format-toolbar {
            position: fixed;
            background: var(--bg-card);
            border-radius: var(--radius-md);
            border: 1px solid var(--border-medium);
            box-shadow: var(--shadow-2);
            padding: var(--space-1-5);
            display: flex;
            align-items: center;
            gap: var(--space-half);
            z-index: calc(var(--z-layer-modal) + 10);
            opacity: 0;
            transform: translateY(4px);
            pointer-events: none;
            transition: all var(--transition-fast);
        }

        .format-toolbar.visible {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }

        .format-btn {
            width: 32px;
            height: 32px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: none;
            background: transparent;
            color: var(--text-tertiary);
            border-radius: var(--radius-sm);
            cursor: pointer;
            font-size: var(--font-size-14);
            font-weight: 500;
            transition: all var(--transition-fast);
        }

        .format-btn:hover {
            background: rgba(0, 0, 0, 0.05);
            color: var(--text-primary);
        }

        .format-btn.active {
            background: var(--accent-blue-light);
            color: var(--accent-blue);
        }

        /* Individual Day Column */
        .day-column {
            min-width: 240px;
            width: 240px;
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            border-right: 1px solid var(--border-light);
            background: var(--bg-main);
            transition: background var(--transition-fast);
        }

        .day-column:last-child {
            border-right: none;
        }

        .day-column.is-today {
            background: var(--accent-blue-opacity-3);
        }

        .day-column.is-today.drag-over .day-column-content {
            background: var(--accent-blue-opacity-12);
        }

        .day-column-header {
            padding: 16px 16px 12px;
            border-bottom: 1px solid var(--border-light);
            flex-shrink: 0;
            display: flex;
            align-items: baseline;
            gap: var(--space-3);
        }

        .day-column-date {
            display: flex;
            align-items: baseline;
            gap: var(--space-1-5);
        }

        .day-name {
            font-size: var(--font-size-sm);
            font-weight: 600;
            color: var(--text-secondary);
        }

        .day-column.is-today .day-name {
            color: var(--accent-blue);
        }

        .day-number {
            font-size: var(--font-size-xl);
            font-weight: 700;
            color: var(--text-primary);
            line-height: 1;
        }

        .day-column.is-today .day-number {
            color: var(--accent-blue);
        }

        .day-duration-summary {
            display: inline-flex;
            align-items: center;
            gap: var(--space-1);
            font-size: var(--font-size-xs);
            color: var(--text-tertiary);
            line-height: 1;
            vertical-align: middle;
        }

        .day-duration-summary svg {
            width: 12px;
            height: 12px;
            flex-shrink: 0;
            display: block;
        }

        .day-column-content {
            flex: 1;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
            scrollbar-width: none;
            min-height: 200px;
        }

        .day-column-content::-webkit-scrollbar {
            display: none;
        }

        .day-column.drag-over .day-column-content {
            background: var(--accent-blue-light);
        }

        /* New Task Input in Day Column */
        .day-new-task {
            display: flex;
            align-items: center;
            gap: var(--space-2);
            padding: var(--space-3) var(--space-3);  /* Match backlog-drawer-header height */
            border-bottom: 1px solid var(--border-light);
            opacity: 0.6;
            transition: opacity var(--transition-fast);
        }

        .day-new-task:hover,
        .day-new-task:focus-within {
            opacity: 1;
        }

        .day-new-task-checkbox {
            width: 16px;
            height: 16px;
            border: 1.5px solid var(--border-medium);
            border-radius: var(--radius-sm);
            flex-shrink: 0;
            opacity: 0.5;
        }

        .day-new-task-input {
            flex: 1;
            border: none;
            outline: none;
            background: transparent;
            font-family: var(--font-family);
            font-size: var(--font-size-sm);
            color: var(--text-primary);
        }

        .day-new-task-input::placeholder {
            color: var(--text-tertiary);
        }

        /* Events Section in Day Column (Plan Mode) */
        .day-events {
            padding: var(--space-2) var(--space-3);
            display: flex;
            flex-direction: column;
            gap: var(--space-1-5);
        }

        .day-events:empty {
            display: none;
        }

        .day-events::before {
            content: '';
            display: block;
            height: 1px;
            background: var(--border-light);
            margin-bottom: 4px;
        }

        .day-events:empty::before {
            display: none;
        }

        .day-event-card {
            display: flex;
            align-items: flex-start;
            gap: var(--space-2);
            padding: var(--space-2) var(--space-2-5);
            background: var(--bg-secondary);
            border-radius: var(--radius-sm);
            border-left: 3px solid var(--accent-blue);
        }

        .day-event-card.calendar-green {
            border-left-color: #4CAF50;
        }

        .day-event-card.calendar-purple {
            border-left-color: #9C27B0;
        }

        .day-event-card.calendar-red {
            border-left-color: #E53935;
        }

        .day-event-card.calendar-orange {
            border-left-color: #FF9800;
        }

        .day-event-time {
            font-size: var(--font-size-xs);
            font-weight: 500;
            color: var(--text-tertiary);
            white-space: nowrap;
        }

        .day-event-title {
            font-size: var(--font-size-12);
            color: var(--text-primary);
            flex: 1;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
