    .task-board-header {
        border: 1px solid rgba(var(--bs-primary-rgb), 0.09);
        border-radius: 0.85rem;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(var(--bs-light-rgb), 0.72));
        box-shadow: 0 0.65rem 1.5rem rgba(15, 23, 42, 0.045);
        padding: 1rem 1.15rem;
    }

    .task-board-context {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.45rem;
        font-size: 0.8125rem;
    }

    .task-board-title {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
    }

    .task-board-title-icon,
    .task-board-context-item {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
    }

    .task-board-title-icon {
        justify-content: center;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 0.5rem;
        background: rgba(var(--bs-primary-rgb), 0.08);
        color: var(--bs-primary);
        font-size: 1rem;
    }

    .task-board-header-actions .btn {
        border-radius: 0.25rem;
    }

    .task-board-toolbar {
        border-radius: 0.85rem;
        background: rgba(255, 255, 255, 0.94);
    }

    .task-board-control-bar {
        display: grid;
        grid-template-columns: minmax(16rem, 1.5fr) minmax(8rem, 0.7fr) minmax(8rem, 0.7fr) minmax(8rem, 0.7fr) minmax(8rem, 0.7fr) auto auto auto auto auto;
        gap: 0.55rem;
        align-items: center;
    }

    .task-board-search {
        min-width: 0;
    }

    .task-board-search .input-group-text,
    .task-board-search .form-control,
    .task-board-filter {
        border-color: rgba(148, 163, 184, 0.26);
        background-color: rgba(248, 250, 252, 0.74);
    }

    .task-board-toggle {
        display: inline-flex;
        align-items: center;
        gap: 0.38rem;
        min-height: 1.95rem;
        margin: 0;
        border: 1px solid rgba(148, 163, 184, 0.24);
        border-radius: 999px;
        background: rgba(248, 250, 252, 0.82);
        color: var(--bs-secondary-color);
        font-size: 0.75rem;
        padding: 0.25rem 0.65rem;
        white-space: nowrap;
        transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
    }

    .task-board-toggle:hover {
        border-color: rgba(var(--bs-primary-rgb), 0.24);
        background: rgba(var(--bs-primary-rgb), 0.06);
        color: var(--bs-body-color);
    }

    .task-board-board-menu {
        width: 2rem;
        height: 2rem;
        border-radius: 50%;
    }

    .task-board-view-switch {
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
        min-height: 1.95rem;
        border: 1px solid rgba(148, 163, 184, 0.24);
        border-radius: 999px;
        background: rgba(248, 250, 252, 0.82);
        padding: 0.18rem;
        white-space: nowrap;
    }

    .task-board-view-switch-button {
        display: inline-flex;
        align-items: center;
        gap: 0.28rem;
        min-height: 1.55rem;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: var(--bs-secondary-color);
        font-size: 0.74rem;
        font-weight: 700;
        padding: 0.28rem 0.55rem;
        transition: background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
    }

    .task-board-view-switch-button:hover,
    .task-board-view-switch-button:focus {
        background: rgba(var(--bs-primary-rgb), 0.08);
        color: var(--bs-primary);
        outline: none;
    }

    .task-board-view-switch-button.is-active {
        background: rgba(var(--bs-primary-rgb), 0.12);
        color: var(--bs-primary);
        box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb), 0.12);
    }

    .task-board-view-switch-button:disabled {
        opacity: 0.45;
        pointer-events: none;
    }

    .task-board-filter-strip {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.55rem;
        margin-top: 0.7rem;
    }

    .task-board-filter-presets,
    .task-board-active-filters {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.4rem;
    }

    .task-board-filter-preset,
    .task-board-active-filter-chip,
    .task-board-clear-filters {
        display: inline-flex;
        align-items: center;
        gap: 0.32rem;
        min-height: 1.8rem;
        border: 1px solid rgba(148, 163, 184, 0.22);
        border-radius: 999px;
        background: rgba(248, 250, 252, 0.84);
        color: #475569;
        font-size: 0.72rem;
        font-weight: 700;
        padding: 0.28rem 0.62rem;
        transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
        white-space: nowrap;
    }

    .task-board-filter-preset:hover,
    .task-board-filter-preset:focus,
    .task-board-active-filter-chip:hover,
    .task-board-active-filter-chip:focus,
    .task-board-clear-filters:hover,
    .task-board-clear-filters:focus {
        border-color: rgba(var(--bs-primary-rgb), 0.28);
        background: rgba(var(--bs-primary-rgb), 0.07);
        color: var(--bs-primary);
        outline: none;
    }

    .task-board-filter-preset.is-active,
    .task-board-active-filter-chip {
        border-color: rgba(var(--bs-primary-rgb), 0.24);
        background: rgba(var(--bs-primary-rgb), 0.1);
        color: var(--bs-primary);
    }

    .task-board-filter-preset:disabled {
        opacity: 0.45;
        pointer-events: none;
    }

    .task-board-clear-filters {
        background: transparent;
        color: #64748b;
    }

    .task-board-shortcut-strip {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.8rem;
        margin-top: 0.65rem;
        color: var(--bs-secondary-color);
        font-size: 0.75rem;
        overflow-x: auto;
        white-space: nowrap;
    }

    .task-board-shortcut {
        display: inline-flex;
        align-items: center;
        gap: 0.28rem;
    }

    .task-board-shortcut-strip kbd,
    .dropdown-menu kbd {
        border: 1px solid var(--bs-border-color);
        border-radius: 0.25rem;
        background: var(--bs-light);
        color: var(--bs-body-color);
        font-size: 0.6875rem;
        line-height: 1;
        padding: 0.15rem 0.35rem;
        box-shadow: none;
    }

    .task-board-surface {
        outline: none;
        min-height: 24rem;
        padding-bottom: 5rem !important;
    }

    .task-board-waiting-view {
        display: grid;
        gap: 0.8rem;
        padding-bottom: 5rem;
    }

    .task-board-waiting-summary {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.65rem;
    }

    .task-board-waiting-summary-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        border: 1px solid rgba(148, 163, 184, 0.18);
        border-radius: 0.85rem;
        background: rgba(255, 255, 255, 0.92);
        color: #64748b;
        font-size: 0.76rem;
        font-weight: 700;
        padding: 0.7rem 0.85rem;
        box-shadow: 0 0.5rem 1.35rem rgba(15, 23, 42, 0.06);
    }

    .task-board-waiting-summary-item strong {
        color: #111827;
        font-size: 1rem;
    }

    .task-board-waiting-summary-item.is-overdue {
        border-color: rgba(220, 38, 38, 0.22);
        background: rgba(254, 242, 242, 0.9);
        color: #dc2626;
    }

    .task-board-waiting-summary-item.is-today {
        border-color: rgba(253, 126, 20, 0.22);
        background: rgba(255, 247, 237, 0.9);
        color: #fd7e14;
    }

    .task-board-waiting-summary-item.is-soon {
        border-color: rgba(25, 135, 84, 0.22);
        background: rgba(240, 253, 244, 0.9);
        color: #198754;
    }

    .task-board-waiting-summary-item.is-none {
        border-color: rgba(148, 163, 184, 0.24);
        background: rgba(248, 250, 252, 0.92);
    }

    .task-board-surface.is-dragging {
        cursor: grabbing;
    }

    .task-board-lane-column {
        transition: flex-basis 0.18s ease, max-width 0.18s ease;
    }

    .task-board-lane-column.is-inbox-rail {
        flex: 0 0 auto;
        max-width: none;
        min-width: 0;
    }

    .task-board-surface.is-inbox-hidden .task-board-lane-column {
        flex: 0 0 20%;
        max-width: 20%;
    }

    .task-board-lane {
        background: linear-gradient(180deg, rgba(248, 250, 252, 0.94), rgba(241, 245, 249, 0.72));
        border: 1px solid rgba(148, 163, 184, 0.16) !important;
        border-radius: 0.9rem;
        overflow: visible;
        transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
    }

    .task-board-lane.is-inbox-lane {
        position: relative;
        border-color: rgba(59, 130, 246, 0.2) !important;
        background: linear-gradient(180deg, rgba(243, 247, 255, 0.98) 0%, rgba(234, 242, 255, 0.86) 100%);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86), 0 0.85rem 1.9rem rgba(37, 99, 235, 0.08) !important;
    }

    .task-board-lane.is-inbox-lane::after {
        position: absolute;
        top: 1.1rem;
        right: -0.6rem;
        width: 1px;
        height: calc(100% - 2.2rem);
        background: linear-gradient(180deg, transparent, rgba(59, 130, 246, 0.28), transparent);
        content: "";
        pointer-events: none;
    }

    .task-board-lane.is-inbox-lane:hover {
        border-color: rgba(59, 130, 246, 0.32) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 1rem 2.1rem rgba(37, 99, 235, 0.12) !important;
    }

    .task-board-lane:hover {
        border-color: rgba(var(--bs-primary-rgb), 0.18) !important;
        box-shadow: 0 0.7rem 1.75rem rgba(15, 23, 42, 0.06) !important;
    }

    .task-board-lane.is-drop-target {
        border-color: rgba(var(--bs-primary-rgb), 0.45) !important;
        background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), 0.08), rgba(248, 250, 252, 0.88));
        box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb), 0.12), 0 1rem 2rem rgba(15, 23, 42, 0.08) !important;
    }

    .task-board-lane.is-drop-origin {
        border-color: rgba(148, 163, 184, 0.28) !important;
        background: linear-gradient(180deg, rgba(241, 245, 249, 0.94), rgba(226, 232, 240, 0.62));
    }

    .task-board-lane-accent {
        min-height: 0.22rem;
        background: var(--bs-primary);
        border-top-left-radius: 0.9rem;
        border-top-right-radius: 0.9rem;
        opacity: 0.78;
    }

    .task-board-lane.is-inbox-lane .task-board-lane-accent {
        min-height: 0.28rem;
        background: #3b82f6 !important;
        box-shadow: 0 0.25rem 0.85rem rgba(59, 130, 246, 0.26);
        opacity: 1;
    }

    .task-board-lane-header {
        position: sticky;
        top: 0;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-top-left-radius: 0.85rem;
        border-top-right-radius: 0.85rem;
        padding: 0.75rem 0.9rem 0.55rem;
        background: rgba(248, 250, 252, 0.9);
        backdrop-filter: blur(8px);
    }

    .task-board-lane.is-inbox-lane .task-board-lane-header {
        background: linear-gradient(180deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.68));
    }

    .task-board-lane-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.35rem;
        height: 1.35rem;
        border-radius: 0.4rem;
        background: rgba(var(--bs-primary-rgb), 0.08);
        color: var(--bs-primary);
        font-size: 0.9rem;
    }

    .task-board-lane-title {
        font-size: 0.875rem;
    }

    .task-board-lane-subtitle {
        margin-top: 0.08rem;
        color: #64748b;
        font-size: 0.68rem;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.2;
    }

    .task-board-lane-count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.55rem;
        height: 1.55rem;
        border: 1px solid rgba(148, 163, 184, 0.2);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.78);
        color: var(--bs-body-color);
        font-size: 0.75rem;
        font-weight: 600;
    }

    .task-board-lane.is-inbox-lane .task-board-lane-count {
        border-color: rgba(37, 99, 235, 0.22);
        background: #dbeafe;
        color: #2563eb;
        box-shadow: 0 0.35rem 0.8rem rgba(37, 99, 235, 0.08);
    }

    .task-board-quick-add {
        border: 1px dashed transparent;
        border-radius: 0.7rem;
        background: rgba(255, 255, 255, 0.4);
        padding: 0.25rem;
        transition: background-color 0.16s ease, border-color 0.16s ease;
    }

    .task-board-quick-add.is-expanded {
        border-color: rgba(var(--bs-primary-rgb), 0.16);
        background: rgba(255, 255, 255, 0.78);
        padding: 0.55rem;
    }

    .task-board-lane.is-inbox-lane .task-board-quick-add {
        border-color: rgba(59, 130, 246, 0.16);
        background: rgba(59, 130, 246, 0.045);
    }

    .task-board-lane.is-inbox-lane .task-board-quick-add.is-expanded {
        border-color: rgba(59, 130, 246, 0.24);
        background: rgba(255, 255, 255, 0.82);
        box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.08);
    }

    .task-board-quick-add-trigger {
        display: flex;
        align-items: center;
        gap: 0.35rem;
        width: 100%;
        border: 0;
        border-radius: 0.55rem;
        background: transparent;
        color: var(--bs-secondary-color);
        font-size: 0.8125rem;
        padding: 0.5rem 0.6rem;
        text-align: left;
        transition: background-color 0.16s ease, color 0.16s ease;
    }

    .task-board-quick-add-trigger:hover {
        background: rgba(var(--bs-primary-rgb), 0.07);
        color: var(--bs-primary);
    }

    .task-board-lane.is-inbox-lane .task-board-quick-add-trigger {
        border: 1px solid rgba(59, 130, 246, 0.2);
        background: rgba(59, 130, 246, 0.06);
        color: #2563eb;
        font-weight: 700;
    }

    .task-board-lane.is-inbox-lane .task-board-quick-add-trigger:hover,
    .task-board-lane.is-inbox-lane .task-board-quick-add-trigger:focus {
        border-color: rgba(37, 99, 235, 0.36);
        background: rgba(59, 130, 246, 0.12);
        color: #1d4ed8;
        outline: none;
    }

    .task-board-quick-add-title {
        border-color: rgba(148, 163, 184, 0.22);
        background: rgba(255, 255, 255, 0.95);
    }

    .task-board-quick-add .voice-transcribe-icon {
        width: 31px;
        min-width: 31px;
        height: 31px;
        min-height: 31px;
    }

    .task-board-quick-add .voice-transcribe-icon i,
    .task-board-quick-add .voice-transcribe-icon .spinner-border {
        font-size: 0.82rem;
    }

    .task-board-quick-add-fields {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr) auto auto;
        gap: 0.4rem;
        margin-top: 0.45rem;
    }

    .task-board-empty {
        border: 1px dashed var(--bs-border-color);
        border-radius: 0.7rem;
        background: rgba(255, 255, 255, 0.48);
        padding: 1rem 0.75rem;
    }

    .task-board-empty i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.75rem;
        height: 2.75rem;
        margin-bottom: 0.45rem;
        border: 2px solid currentColor;
        border-radius: 0.75rem;
        background: rgba(255, 255, 255, 0.72);
        font-size: 1.75rem;
        opacity: 0.72;
    }

    .task-board-empty-subtitle {
        font-size: 0.72rem;
        opacity: 0.78;
    }

    .task-board-card {
        position: relative;
        border-radius: 0.78rem;
        background: rgba(255, 255, 255, 0.96);
        transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease, background-color 0.16s ease;
        z-index: 1;
        cursor: grab;
    }

    .task-board-card.is-inbox-task {
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 0.45rem 1rem rgba(37, 99, 235, 0.055) !important;
    }

    .task-board-card:active {
        cursor: grabbing;
    }

    .task-board-card::before {
        position: absolute;
        top: 0.8rem;
        bottom: 0.8rem;
        left: 0;
        width: 0.18rem;
        border-radius: 999px;
        background: rgba(var(--bs-primary-rgb), 0.35);
        content: "";
    }

    .task-board-card.is-inbox-task::before {
        width: 0.2rem;
        background: rgba(59, 130, 246, 0.52);
    }

    .task-board-card .card-body {
        padding: 0.72rem 0.82rem 0.64rem 0.9rem;
    }

    .task-board-lane > .card-body {
        gap: 0.35rem !important;
    }

    .task-board-card:focus,
    .task-board-card:focus-within,
    .task-board-card:hover,
    .task-board-card.is-active {
        outline: none;
        border-color: rgba(var(--bs-primary-rgb), 0.22) !important;
        box-shadow: 0 0.75rem 1.5rem rgba(15, 23, 42, 0.1) !important;
        transform: translateY(-2px);
        z-index: 1100;
    }

    .task-board-card.is-inbox-task:focus,
    .task-board-card.is-inbox-task:focus-within,
    .task-board-card.is-inbox-task:hover,
    .task-board-card.is-inbox-task.is-active {
        border-color: rgba(59, 130, 246, 0.28) !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(239, 246, 255, 0.7));
        box-shadow: 0 0.75rem 1.5rem rgba(37, 99, 235, 0.12) !important;
    }

    [data-theme-mode="dark"] .task-board-lane.is-inbox-lane {
        border-color: rgba(96, 165, 250, 0.28) !important;
        background: linear-gradient(180deg, rgba(30, 41, 59, 0.96) 0%, rgba(15, 23, 42, 0.9) 100%);
        box-shadow: inset 0 1px 0 rgba(148, 163, 184, 0.12), 0 0.85rem 1.9rem rgba(37, 99, 235, 0.16) !important;
    }

    [data-theme-mode="dark"] .task-board-lane.is-inbox-lane .task-board-lane-header {
        background: linear-gradient(180deg, rgba(30, 41, 59, 0.9), rgba(15, 23, 42, 0.72));
    }

    [data-theme-mode="dark"] .task-board-lane-subtitle {
        color: #94a3b8;
    }

    [data-theme-mode="dark"] .task-board-lane.is-inbox-lane .task-board-lane-count {
        border-color: rgba(96, 165, 250, 0.28);
        background: rgba(37, 99, 235, 0.22);
        color: #bfdbfe;
    }

    [data-theme-mode="dark"] .task-board-lane.is-inbox-lane .task-board-quick-add,
    [data-theme-mode="dark"] .task-board-lane.is-inbox-lane .task-board-quick-add-trigger {
        border-color: rgba(96, 165, 250, 0.26);
        background: rgba(37, 99, 235, 0.12);
        color: #bfdbfe;
    }

    [data-theme-mode="dark"] .task-board-card.is-inbox-task {
        background: rgba(15, 23, 42, 0.94);
    }

    [data-theme-mode="dark"] .task-board-card.is-inbox-task:hover,
    [data-theme-mode="dark"] .task-board-card.is-inbox-task:focus,
    [data-theme-mode="dark"] .task-board-card.is-inbox-task:focus-within,
    [data-theme-mode="dark"] .task-board-card.is-inbox-task.is-active {
        background: linear-gradient(180deg, rgba(30, 41, 59, 0.98), rgba(30, 64, 175, 0.16));
    }

    .task-board-card .dropdown-menu {
        overflow: visible;
        z-index: 1120;
    }

    .task-board-card:has(.dropdown-menu.show),
    .task-board-card:has(.task-board-move-options.is-open),
    .task-board-card:has(.task-board-label-options.is-open) {
        z-index: 1250;
    }

    .task-board-card.is-dragging {
        border-color: rgba(var(--bs-primary-rgb), 0.34) !important;
        box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.14) !important;
        opacity: 0.72;
        transform: scale(0.985);
    }

    .task-board-card-drop-zone {
        display: none;
    }

    .task-board-surface.is-dragging .task-board-card-drop-zone {
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        z-index: 10;
    }

    .task-board-surface.is-dragging .task-board-card-drop-zone.is-before {
        top: 0;
        bottom: 50%;
    }

    .task-board-surface.is-dragging .task-board-card-drop-zone.is-after {
        top: 50%;
        bottom: 0;
    }

    .task-board-card.is-drop-before {
        box-shadow: 0 -0.2rem 0 rgba(var(--bs-primary-rgb), 0.48), 0 0.75rem 1.5rem rgba(15, 23, 42, 0.1) !important;
    }

    .task-board-card.is-drop-after {
        box-shadow: 0 0.2rem 0 rgba(var(--bs-primary-rgb), 0.48), 0 0.75rem 1.5rem rgba(15, 23, 42, 0.1) !important;
    }

    .task-board-move-item {
        position: relative;
    }

    .task-board-move-options {
        position: absolute;
        top: 0;
        display: none;
        min-width: 11rem;
        border: 1px solid rgba(148, 163, 184, 0.18);
        border-radius: 0.65rem;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 0.85rem 1.8rem rgba(15, 23, 42, 0.12);
        padding: 0.35rem;
        animation: taskBoardFade 0.12s ease-out;
        z-index: 1130;
    }

    .task-board-move-options.is-submenu-start {
        right: 100%;
        left: auto;
        margin: 0 0.15rem 0 0;
    }

    .task-board-move-options.is-submenu-end {
        right: auto;
        left: 100%;
        margin: 0 0 0 0.15rem;
    }

    .task-board-due-date-options {
        min-width: 14.5rem;
    }

    .task-board-due-date-options .dropdown-item {
        white-space: nowrap;
    }

    .task-board-label-options {
        min-width: 18rem;
    }

    .task-board-label-panel-header {
        display: grid;
        grid-template-columns: 2rem 1fr 2rem;
        align-items: center;
        gap: 0.35rem;
        padding: 0.1rem 0.15rem 0.45rem;
        font-weight: 700;
        text-align: center;
    }

    .task-board-label-list {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
        max-height: 15rem;
        overflow-y: auto;
    }

    .task-board-label-option {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.45rem;
        margin: 0;
    }

    .task-board-label-pill {
        display: block;
        min-width: 0;
        border-radius: 0.35rem;
        color: #ffffff;
        font-size: 0.8125rem;
        font-weight: 700;
        line-height: 1.25;
        overflow: hidden;
        padding: 0.45rem 0.65rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .task-board-card-labels {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem;
        margin-top: 0.05rem;
    }

    .task-board-card-label {
        display: inline-flex;
        align-items: center;
        max-width: 100%;
        border-radius: 0.24rem;
        font-size: 0.68rem;
        font-weight: 800;
        line-height: 1;
        overflow: hidden;
        padding: 0.18rem 0.42rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .task-board-attachment-preview {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        border-radius: 0.58rem;
        background: rgba(226, 232, 240, 0.78);
        object-fit: cover;
    }

    .task-board-label-create {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    .task-board-label-preview {
        height: 2rem;
        border-radius: 0.35rem;
    }

    .task-board-label-color-grid {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.45rem;
    }

    .task-board-label-color-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        aspect-ratio: 1.6;
        border: 1px solid rgba(15, 23, 42, 0.12);
        border-radius: 0.35rem;
        color: #111827;
    }

    .task-board-label-color-button.is-selected {
        box-shadow: inset 0 0 0 2px rgba(15, 23, 42, 0.32);
    }

    .dropdown-menu .task-board-move-item:hover > .task-board-move-options,
    .dropdown-menu .task-board-move-item:focus-within > .task-board-move-options,
    .dropdown-menu .task-board-move-trigger:hover + .task-board-move-options,
    .dropdown-menu .task-board-move-trigger:focus + .task-board-move-options,
    .task-board-move-options.is-open {
        display: block !important;
    }

    .task-board-move-item:hover > .task-board-move-trigger,
    .task-board-move-item:focus-within > .task-board-move-trigger {
        background: rgba(var(--bs-primary-rgb), 0.08);
        color: var(--bs-primary);
    }

    .task-board-move-options-title {
        color: var(--bs-secondary-color);
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        padding: 0.25rem 0.45rem 0.35rem;
        text-transform: uppercase;
    }

    .task-board-move-options .dropdown-item {
        border-radius: 0.45rem;
        font-size: 0.8125rem;
        padding: 0.42rem 0.5rem;
    }

    .task-board-move-lane-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: 1.25rem;
        height: 1.25rem;
        border-radius: 0.35rem;
        background: rgba(15, 23, 42, 0.04);
    }

    .task-board-move-lane-icon i {
        line-height: 1;
    }

    .task-board-move-trigger {
        min-width: 10.5rem;
    }

    .task-board-submenu-indicator {
        font-size: 0.95rem;
        line-height: 1;
        transform: rotate(180deg);
    }

    .task-board-move-item.is-submenu-end .task-board-submenu-indicator {
        transform: none;
    }

    .task-board-card-title {
        min-width: 0;
        color: #1f2937;
        font-size: 0.875rem;
        line-height: 1.35;
        overflow-wrap: anywhere;
        transition: margin-left 0.16s ease;
    }

    .task-board-card.is-done-task .task-board-card-title {
        text-decoration: line-through;
    }

    .task-board-title-row {
        position: relative;
        display: flex;
        align-items: flex-start;
        gap: 0.5rem;
        min-width: 0;
    }

    .task-board-complete-button {
        position: absolute;
        top: 0.18rem;
        left: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 0.9rem;
        height: 0.9rem;
        padding: 0;
        border: 1.5px solid rgba(148, 163, 184, 0.45);
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.82);
        color: rgba(25, 135, 84, 0.85);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
    }

    .task-board-complete-button:hover,
    .task-board-complete-button:focus {
        border-color: rgba(25, 135, 84, 0.75);
        background: rgba(25, 135, 84, 0.1);
        opacity: 1;
        outline: none;
        transform: scale(1.08);
    }

    .task-board-complete-button.is-done {
        border-color: rgba(25, 135, 84, 0.65);
        background: rgba(25, 135, 84, 0.12);
        color: #198754;
        opacity: 1;
    }

    .task-board-complete-button.is-loading {
        border-color: rgba(var(--bs-primary-rgb), 0.55);
        background: rgba(var(--bs-primary-rgb), 0.08);
        color: var(--bs-primary);
        opacity: 1;
        pointer-events: none;
    }

    .task-board-complete-button .spinner-border {
        width: 0.55rem;
        height: 0.55rem;
        border-width: 0.09rem;
    }

    .task-board-complete-button i {
        font-size: 0.72rem;
        line-height: 1;
    }

    .task-board-card:focus .task-board-complete-button,
    .task-board-card:focus-within .task-board-complete-button,
    .task-board-card:hover .task-board-complete-button {
        opacity: 1;
        pointer-events: auto;
    }

    .task-board-card:focus .task-board-card-title,
    .task-board-card:focus-within .task-board-card-title,
    .task-board-card:hover .task-board-card-title,
    .task-board-complete-button.is-done + .task-board-card-title,
    .task-board-complete-button.is-loading + .task-board-card-title {
        margin-left: 1.4rem;
    }

    .task-board-project-context {
        color: var(--bs-secondary-color);
        font-size: 0.75rem;
        line-height: 1.2;
    }

    .task-board-card-meta {
        min-height: 1.25rem;
        color: var(--bs-secondary-color);
        font-size: 0.75rem;
    }

    .task-board-meta-item {
        display: inline-flex;
        align-items: center;
        color: var(--bs-secondary-color);
        font-size: 0.75rem;
        line-height: 1.1;
    }

    .task-board-due.is-today {
        color: #fd7e14;
    }

    .task-board-due.is-soon {
        color: #198754;
    }

    .task-board-due.is-overdue {
        color: #dc2626;
    }

    .task-board-kebab {
        width: 1.85rem;
        height: 1.85rem;
        line-height: 1;
        border-radius: 50%;
        opacity: 0.72;
        transition: background-color 0.16s ease, opacity 0.16s ease, transform 0.16s ease;
    }

    .task-board-kebab:hover,
    .task-board-kebab:focus {
        opacity: 1;
        transform: scale(1.04);
    }

    .task-edit-modal-shell {
        --task-edit-accent: #4f7cff;
        overflow-x: hidden;
        z-index: 3000 !important;
    }

    .task-edit-modal-dialog {
        width: min(72rem, calc(100vw - 2rem));
        max-width: min(72rem, calc(100vw - 2rem)) !important;
        min-width: 0;
    }

    .task-edit-modal {
        position: relative;
        z-index: 3001;
        max-height: calc(100vh - 4rem);
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        border: 1px solid rgba(148, 163, 184, 0.25);
        border-radius: 1.25rem;
        background: #fff;
        box-shadow: 0 1.5rem 4.375rem rgba(15, 23, 42, 0.25);
    }

    .task-edit-modal-accent {
        height: 0.25rem;
        background: linear-gradient(90deg, #4f7cff, #7c3aed);
    }

    .task-edit-modal-header {
        align-items: flex-start;
        gap: 1rem;
        border-bottom: 1px solid rgba(226, 232, 240, 0.9);
        background: linear-gradient(180deg, #fff 0%, #f8faff 100%);
        padding: 1.4rem 1.5rem 1.1rem;
    }

    .task-edit-modal-heading {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: 0.85rem;
    }

    .task-edit-modal-icon,
    .task-edit-planning-icon {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 2.55rem;
        height: 2.55rem;
        border: 1px solid rgba(79, 124, 255, 0.18);
        border-radius: 0.8rem;
        background: linear-gradient(180deg, rgba(79, 124, 255, 0.12), rgba(124, 58, 237, 0.08));
        color: var(--task-edit-accent);
        font-size: 1.2rem;
    }

    .task-edit-modal-title {
        margin: 0;
        color: #111827;
        font-size: 1.05rem;
        font-weight: 700;
        letter-spacing: 0;
    }

    .task-edit-modal-subtitle,
    .task-edit-modal-section-heading p,
    .task-edit-planning-heading p {
        margin: 0.18rem 0 0;
        color: #64748b;
        font-size: 0.8rem;
        line-height: 1.35;
    }

    .task-edit-modal-header-actions {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 0.55rem;
        margin-left: auto;
    }

    .task-edit-status-badge {
        display: inline-flex;
        align-items: center;
        min-height: 1.85rem;
        border: 1px solid rgba(148, 163, 184, 0.22);
        border-radius: 999px;
        background: rgba(248, 250, 252, 0.92);
        color: #475569;
        font-size: 0.75rem;
        font-weight: 700;
        padding: 0.34rem 0.7rem;
        white-space: nowrap;
    }

    .task-edit-status-badge.is-inbox,
    .task-edit-status-chip.is-inbox {
        border-color: rgba(37, 99, 235, 0.22);
        background: rgba(219, 234, 254, 0.78);
        color: #2563eb;
    }

    .task-edit-status-badge.is-todo,
    .task-edit-status-chip.is-todo {
        border-color: rgba(124, 58, 237, 0.24);
        background: rgba(237, 233, 254, 0.82);
        color: #6d28d9;
    }

    .task-edit-status-badge.is-doing,
    .task-edit-status-chip.is-doing {
        border-color: rgba(249, 115, 22, 0.25);
        background: rgba(255, 237, 213, 0.84);
        color: #c2410c;
    }

    .task-edit-status-badge.is-waiting,
    .task-edit-status-chip.is-waiting {
        border-color: rgba(234, 179, 8, 0.32);
        background: rgba(254, 249, 195, 0.82);
        color: #a16207;
    }

    .task-edit-status-badge.is-done,
    .task-edit-status-chip.is-done {
        border-color: #111827;
        background: #111827;
        color: #ffffff;
    }

    .task-edit-modal-close {
        width: 2rem;
        height: 2rem;
        border: 1px solid rgba(148, 163, 184, 0.18);
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.82);
        color: #64748b;
    }

    .task-edit-modal-close:hover,
    .task-edit-modal-close:focus {
        background: rgba(79, 124, 255, 0.08);
        color: var(--task-edit-accent);
        outline: none;
    }

    .task-edit-modal-body {
        display: grid;
        gap: 1rem;
        max-height: calc(100vh - 15rem);
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 1.15rem 1.5rem;
    }

    .task-edit-modal-section,
    .task-edit-planning-card {
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
        border: 1px solid rgba(226, 232, 240, 0.95);
        border-radius: 1rem;
        background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
        padding: 1rem;
    }

    .task-edit-modal-section-heading,
    .task-edit-planning-heading {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: 0.75rem;
        margin-bottom: 0.9rem;
    }

    .task-edit-modal-section-heading h3,
    .task-edit-planning-heading h3 {
        margin: 0;
        color: #111827;
        font-size: 0.9rem;
        font-weight: 800;
        letter-spacing: 0;
    }

    .task-edit-subtasks-heading {
        align-items: flex-start;
        margin-bottom: 0.75rem;
    }

    .task-edit-subtasks-heading p {
        margin: 0.15rem 0 0;
    }

    .task-edit-subtask-add-button {
        margin-left: auto;
        white-space: nowrap;
    }

    .task-edit-subtasks-progress {
        display: grid;
        gap: 0.45rem;
        margin-bottom: 0.75rem;
        color: #64748b;
        font-size: 0.76rem;
        font-weight: 700;
    }

    .task-edit-subtasks-progress-track {
        display: block;
        width: 100%;
        height: 0.35rem;
        overflow: hidden;
        border: 0;
        border-radius: 999px;
        background: rgba(148, 163, 184, 0.18);
    }

    .task-edit-subtasks-progress-track::-webkit-progress-bar {
        border-radius: inherit;
        background: rgba(148, 163, 184, 0.18);
    }

    .task-edit-subtasks-progress-track::-webkit-progress-value {
        border-radius: inherit;
        background: var(--task-edit-accent);
    }

    .task-edit-subtasks-progress-track::-moz-progress-bar {
        border-radius: inherit;
        background: var(--task-edit-accent);
    }

    .task-edit-subtasks-empty {
        border: 1px dashed rgba(148, 163, 184, 0.38);
        border-radius: 0.8rem;
        background: rgba(255, 255, 255, 0.72);
        padding: 0.9rem;
    }

    .task-edit-subtasks-empty-title {
        color: #111827;
        font-size: 0.84rem;
        font-weight: 800;
    }

    .task-edit-subtasks-empty p {
        margin: 0.25rem 0 0.75rem;
        color: #64748b;
        font-size: 0.78rem;
    }

    .task-edit-subtask-add-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 0.5rem;
        margin-bottom: 0.75rem;
    }

    .task-edit-subtask-list {
        display: grid;
        gap: 0.45rem;
        overflow: visible;
    }

    .task-edit-subtasks-card {
        overflow: visible;
        position: relative;
        z-index: 2;
    }

    .task-edit-subtasks-card:has(.dropdown-menu.show),
    .task-edit-subtasks-card:has(.task-board-move-options.is-open) {
        z-index: 20;
    }

    .task-edit-subtask-row {
        display: grid;
        grid-template-columns: auto auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.65rem;
        border: 1px solid rgba(226, 232, 240, 0.9);
        border-radius: 0.78rem;
        background: rgba(255, 255, 255, 0.82);
        overflow: visible;
        padding: 0.55rem 0.65rem;
        position: relative;
    }

    .task-edit-subtask-row.is-dragging {
        opacity: 0.55;
    }

    .task-edit-subtask-row.is-drop-target {
        border-color: rgba(66, 84, 186, 0.55);
        box-shadow: inset 0 2px 0 rgba(66, 84, 186, 0.55);
    }

    .task-edit-subtask-row.is-completed {
        background: rgba(248, 250, 252, 0.92);
    }

    .task-edit-subtask-drag-handle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.35rem;
        height: 2rem;
        border: 0;
        background: transparent;
        color: #94a3b8;
        cursor: grab;
        font-size: 1rem;
    }

    .task-edit-subtask-drag-handle:active {
        cursor: grabbing;
    }

    .task-edit-subtask-drag-handle:disabled {
        cursor: not-allowed;
        opacity: 0.55;
    }

    .task-edit-subtask-drag-spacer {
        width: 1.35rem;
        height: 2rem;
    }

    .task-edit-subtask-check {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: var(--task-edit-accent);
        font-size: 1.1rem;
    }

    .task-edit-subtask-main {
        min-width: 0;
    }

    .task-edit-subtask-edit-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 0.45rem;
        align-items: center;
    }

    .task-edit-subtask-title {
        overflow-wrap: anywhere;
        color: #111827;
        font-size: 0.84rem;
        font-weight: 700;
        line-height: 1.25;
    }

    .task-edit-subtask-row.is-completed .task-edit-subtask-title {
        color: #94a3b8;
        text-decoration: line-through;
    }

    .task-edit-subtask-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem 0.65rem;
        margin-top: 0.2rem;
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 600;
    }

    .task-edit-subtask-due {
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
    }

    .task-edit-subtask-due.is-today {
        color: #fd7e14;
    }

    .task-edit-subtask-due.is-soon {
        color: #198754;
    }

    .task-edit-subtask-due.is-overdue {
        color: #dc2626;
    }

    .task-edit-subtask-menu {
        justify-self: end;
        position: relative;
        z-index: 21;
    }

    .task-edit-subtask-menu .dropdown-menu {
        overflow: visible;
        z-index: 1125;
    }

    .task-edit-subtasks-toggle {
        justify-self: start;
        margin-top: 0.75rem;
    }

    .task-edit-field {
        min-width: 0;
    }

    .task-edit-field + .task-edit-field {
        margin-top: 0.85rem;
    }

    .task-edit-field .form-label {
        margin-bottom: 0.35rem;
        color: #334155;
        font-size: 0.76rem;
        font-weight: 700;
    }

    .task-edit-helper {
        margin: -0.15rem 0 0.45rem;
        color: #64748b;
        font-size: 0.75rem;
    }

    .task-edit-control {
        min-height: 2.45rem;
        border-color: #dbe3ef;
        border-radius: 0.72rem;
        background-color: #fff;
        font-size: 0.84rem;
        transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
    }

    .task-edit-title-input {
        min-height: 2.75rem;
        padding-left: 2.35rem;
        font-weight: 600;
    }

    .task-edit-description {
        min-height: 7rem;
        background-color: #f8fafc;
        resize: vertical;
    }

    .task-edit-action-buttons .task-edit-description-action-button,
    .task-edit-action-buttons .voice-transcribe-icon.task-edit-description-action-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.9rem;
        min-width: 1.9rem;
        height: 1.9rem;
        min-height: 1.9rem;
        border-radius: 0.55rem;
        font-size: 0.95rem;
        font-weight: 700;
        padding: 0;
        white-space: nowrap;
    }

    .task-edit-action-buttons .task-edit-description-action-button:not(.btn-danger) {
        border: 1px solid rgba(91, 92, 246, 0.18);
        background: rgba(255, 255, 255, 0.94) !important;
        color: #4f46e5 !important;
    }

    .task-edit-action-buttons .task-edit-description-action-button:not(.btn-danger):hover,
    .task-edit-action-buttons .task-edit-description-action-button:not(.btn-danger):focus {
        border-color: rgba(79, 124, 255, 0.32);
        background: rgba(255, 255, 255, 0.94) !important;
        color: #2563eb !important;
    }

    .task-edit-action-buttons .task-edit-description-action-button:not(.btn-danger):disabled {
        background: rgba(255, 255, 255, 0.94) !important;
        color: #4f46e5 !important;
        cursor: not-allowed;
        opacity: 0.62;
    }

    .task-edit-action-buttons {
        overflow: visible;
    }

    .task-edit-action-buttons [data-task-edit-tooltip] {
        position: relative;
    }

    .task-edit-action-buttons [data-task-edit-tooltip]::before,
    .task-edit-action-buttons [data-task-edit-tooltip]::after {
        opacity: 0;
        pointer-events: none;
        position: absolute;
        transition: opacity 0.14s ease, transform 0.14s ease;
        z-index: 1200;
    }

    .task-edit-action-buttons [data-task-edit-tooltip]::before {
        border-left: 0.35rem solid transparent;
        border-right: 0.35rem solid transparent;
        border-top: 0.35rem solid #111827;
        content: "";
        left: 50%;
        top: -0.45rem;
        transform: translate(-50%, 0.2rem);
    }

    .task-edit-action-buttons [data-task-edit-tooltip]::after {
        background: #111827;
        border-radius: 0.35rem;
        box-shadow: 0 0.35rem 1rem rgba(15, 23, 42, 0.2);
        color: #fff;
        content: attr(data-task-edit-tooltip);
        font-size: 0.75rem;
        font-weight: 600;
        left: 50%;
        line-height: 1.2;
        max-width: 12rem;
        padding: 0.4rem 0.55rem;
        top: -0.75rem;
        transform: translate(-50%, -100%) translateY(0.2rem);
        white-space: nowrap;
    }

    .task-edit-action-buttons [data-task-edit-tooltip]:hover::before,
    .task-edit-action-buttons [data-task-edit-tooltip]:focus-visible::before,
    .task-edit-action-buttons [data-task-edit-tooltip]:hover::after,
    .task-edit-action-buttons [data-task-edit-tooltip]:focus-visible::after {
        opacity: 1;
        transform: translate(-50%, 0);
    }

    .task-edit-action-buttons [data-task-edit-tooltip]:hover::after,
    .task-edit-action-buttons [data-task-edit-tooltip]:focus-visible::after {
        transform: translate(-50%, -100%) translateY(0);
    }

    .task-edit-control:focus {
        border-color: rgba(79, 124, 255, 0.72);
        box-shadow: 0 0 0 0.2rem rgba(79, 124, 255, 0.13);
    }

    .task-edit-input-with-icon {
        position: relative;
    }

    .task-edit-input-with-icon > i {
        position: absolute;
        top: 50%;
        left: 0.85rem;
        z-index: 2;
        color: #94a3b8;
        transform: translateY(-50%);
    }

    .task-edit-status-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .task-edit-status-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        border: 1px solid rgba(148, 163, 184, 0.2);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.86);
        color: #475569;
        font-size: 0.76rem;
        font-weight: 700;
        padding: 0.42rem 0.72rem;
        transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease, background-color 0.16s ease;
    }

    .task-edit-status-chip:hover,
    .task-edit-status-chip:focus {
        border-color: rgba(79, 124, 255, 0.38);
        box-shadow: 0 0.5rem 1rem rgba(15, 23, 42, 0.08);
        outline: none;
        transform: translateY(-1px);
    }

    .task-edit-status-chip.is-active {
        box-shadow: inset 0 0 0 1px currentColor, 0 0.5rem 1rem rgba(15, 23, 42, 0.06);
    }

    .task-edit-status-chip-dot {
        width: 0.5rem;
        height: 0.5rem;
        border-radius: 999px;
    }

    .task-edit-planning-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .task-edit-planning-grid .task-edit-field + .task-edit-field {
        margin-top: 0;
    }

    .task-edit-due-presets {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.38rem;
        margin-top: 0.85rem;
    }

    .task-edit-due-preset-column {
        display: grid;
        gap: 0.38rem;
        align-content: start;
    }

    .task-edit-due-preset {
        display: inline-flex;
        align-items: center;
        gap: 0.38rem;
        min-height: 2rem;
        width: 100%;
        border: 1px solid rgba(148, 163, 184, 0.28);
        border-radius: 0.45rem;
        background: rgba(248, 250, 252, 0.86);
        color: #475569;
        font-size: 0.76rem;
        font-weight: 800;
        letter-spacing: 0;
        padding: 0.38rem 0.6rem;
        text-align: left;
        text-transform: uppercase;
        transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
    }

    .task-edit-due-preset:hover,
    .task-edit-due-preset:focus {
        border-color: rgba(79, 124, 255, 0.34);
        background: rgba(79, 124, 255, 0.08);
        color: var(--task-edit-accent);
        outline: none;
    }

    .task-edit-modal-footer {
        position: sticky;
        bottom: 0;
        z-index: 3;
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
        border-top: 1px solid rgba(226, 232, 240, 0.9);
        background: rgba(255, 255, 255, 0.94);
        padding: 0.95rem 1.5rem;
        backdrop-filter: blur(10px);
    }

    .task-edit-modal-footer-left,
    .task-edit-modal-footer-right {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
    }

    .task-edit-archive-button {
        color: #475569;
    }

    .task-edit-modal-save {
        border: 0;
        background: linear-gradient(90deg, #4f7cff, #7c3aed);
        box-shadow: 0 0.55rem 1.2rem rgba(79, 124, 255, 0.24);
        color: #fff;
        font-weight: 700;
    }

    .task-edit-modal-save:hover,
    .task-edit-modal-save:focus {
        background: linear-gradient(90deg, #3b6ff6, #6d28d9);
        color: #fff;
    }

    .task-edit-modal-save:disabled {
        background: #cbd5e1;
        box-shadow: none;
        color: #fff;
    }

    .task-edit-modal-backdrop {
        background-color: rgba(15, 23, 42, 0.55);
        backdrop-filter: blur(4px);
        z-index: 2990 !important;
    }

    .task-delete-confirm-modal-shell {
        z-index: 1320;
    }

    .task-delete-confirm-modal-backdrop {
        background-color: rgba(15, 23, 42, 0.55);
        backdrop-filter: blur(4px);
        z-index: 1310;
    }

    .task-delete-confirm-modal-dialog {
        max-width: 28rem;
    }

    .task-delete-confirm-modal {
        border: 0;
        border-radius: 0.85rem;
        box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, 0.22);
        overflow: hidden;
    }

    .task-delete-confirm-modal-header,
    .task-delete-confirm-modal-footer {
        border: 0;
        background: rgba(248, 250, 252, 0.88);
    }

    .task-delete-confirm-modal-title {
        color: #111827;
        font-size: 1rem;
        font-weight: 800;
    }

    .task-delete-confirm-modal-subtitle {
        color: #64748b;
        font-size: 0.82rem;
    }

    .task-delete-confirm-modal-body {
        color: #111827;
        font-weight: 700;
    }

    .task-delete-confirm-modal-footer {
        gap: 0.5rem;
    }

    .task-delete-confirm-modal-footer .btn {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
    }

    [data-theme-mode="dark"] .task-edit-modal {
        border-color: rgba(148, 163, 184, 0.22);
        background: #111827;
        color: #e5e7eb;
    }

    [data-theme-mode="dark"] .task-edit-modal-header,
    [data-theme-mode="dark"] .task-edit-modal-footer {
        border-color: rgba(148, 163, 184, 0.18);
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.92));
    }

    [data-theme-mode="dark"] .task-edit-modal-title,
    [data-theme-mode="dark"] .task-edit-modal-section-heading h3,
    [data-theme-mode="dark"] .task-edit-planning-heading h3,
    [data-theme-mode="dark"] .task-edit-field .form-label {
        color: #f8fafc;
    }

    [data-theme-mode="dark"] .task-edit-modal-section,
    [data-theme-mode="dark"] .task-edit-planning-card {
        border-color: rgba(148, 163, 184, 0.18);
        background: linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.96));
    }

    [data-theme-mode="dark"] .task-edit-subtasks-empty,
    [data-theme-mode="dark"] .task-edit-subtask-row {
        border-color: rgba(148, 163, 184, 0.22);
        background: rgba(15, 23, 42, 0.62);
    }

    [data-theme-mode="dark"] .task-edit-subtasks-empty-title,
    [data-theme-mode="dark"] .task-edit-subtask-title {
        color: #e5e7eb;
    }

    [data-theme-mode="dark"] .task-edit-subtask-row.is-completed .task-edit-subtask-title {
        color: #94a3b8;
    }

    [data-theme-mode="dark"] .task-edit-control {
        border-color: rgba(148, 163, 184, 0.24);
        background-color: rgba(15, 23, 42, 0.88);
        color: #e5e7eb;
    }

    [data-theme-mode="dark"] .task-edit-status-chip,
    [data-theme-mode="dark"] .task-edit-status-badge,
    [data-theme-mode="dark"] .task-edit-modal-close {
        background: rgba(15, 23, 42, 0.8);
        color: #cbd5e1;
    }

    .task-board-task-loading {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 22rem;
        flex-direction: column;
        padding: 3rem 2rem 2.5rem;
        text-align: center;
    }

    .task-board-task-loading-icon {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 5.25rem;
        height: 5.25rem;
        margin-bottom: 1.2rem;
        border: 1px solid currentColor;
        border-radius: 1.35rem;
        background: color-mix(in srgb, currentColor 10%, white);
        color: var(--bs-primary);
        font-size: 2.15rem;
    }

    .task-board-task-loading-spinner {
        position: absolute;
        inset: -0.52rem;
        border: 0.18rem solid color-mix(in srgb, currentColor 18%, transparent);
        border-top-color: currentColor;
        border-radius: 50%;
        animation: taskBoardSpin 0.85s linear infinite;
    }

    .task-board-task-loading-title {
        color: #1f2937;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: 0;
    }

    .task-board-task-loading-subtitle {
        margin-top: 0.3rem;
        color: var(--bs-secondary-color);
        font-size: 0.8125rem;
    }

    .task-board-task-loading-skeleton {
        display: grid;
        width: min(100%, 34rem);
        gap: 0.65rem;
        margin-top: 1.5rem;
    }

    .task-board-skeleton-line,
    .task-board-skeleton-box,
    .task-board-skeleton-grid span {
        display: block;
        border-radius: 0.55rem;
        background: linear-gradient(90deg, rgba(226, 232, 240, 0.8), rgba(248, 250, 252, 0.96), rgba(226, 232, 240, 0.8));
        background-size: 220% 100%;
        animation: taskBoardSkeleton 1.35s ease-in-out infinite;
    }

    .task-board-skeleton-line {
        height: 0.8rem;
    }

    .task-board-skeleton-line.w-60 {
        width: 60%;
    }

    .task-board-skeleton-box {
        height: 5.4rem;
    }

    .task-board-skeleton-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .task-board-skeleton-grid span {
        height: 2rem;
    }

    .task-board-surface.is-compact {
        --task-board-compact-padding: 0.35rem;
        gap: 0.5rem !important;
    }

    .task-board-surface.is-compact.is-dragging .task-board-lane {
        min-height: 13rem;
    }

    .task-board-surface.is-compact .task-board-lane-column {
        flex: 0 0 20%;
        max-width: 20%;
        min-width: 11.25rem;
    }

    .task-board-surface.is-compact .task-board-lane-column.is-inbox-rail {
        flex: 0 0 20%;
        max-width: 20%;
        min-width: 11.25rem;
    }

    .task-board-surface.is-compact .task-board-lane .card-body {
        gap: 0.18rem !important;
        padding: 0 0.38rem 0.45rem;
    }

    .task-board-surface.is-compact .task-board-lane-header {
        padding: 0.42rem 0.5rem 0.3rem;
    }

    .task-board-surface.is-compact .task-board-lane-title {
        font-size: 0.76rem;
    }

    .task-board-surface.is-compact .task-board-lane-subtitle {
        font-size: 0.62rem;
    }

    .task-board-surface.is-compact .task-board-lane-icon {
        width: 1.05rem;
        height: 1.05rem;
        border-radius: 0.32rem;
        font-size: 0.72rem;
    }

    .task-board-surface.is-compact .task-board-lane-count {
        min-width: 1.15rem;
        height: 1.15rem;
        font-size: 0.64rem;
    }

    .task-board-surface.is-compact .task-board-quick-add-trigger {
        padding: 0.32rem 0.4rem;
        font-size: 0.72rem;
    }

    .task-board-surface.is-compact .task-board-quick-add.is-expanded {
        padding: 0.38rem;
    }

    .task-board-surface.is-compact .task-board-quick-add-fields {
        grid-template-columns: 1fr;
        gap: 0.28rem;
    }

    .task-board-surface.is-compact .task-board-card .card-body {
        gap: 0.3rem !important;
        padding: 0.48rem 0.55rem 0.42rem 0.65rem;
    }

    .task-board-surface.is-compact .task-board-card-title {
        font-size: 0.72rem;
        line-height: 1.25;
    }

    .task-board-surface.is-compact .task-board-card-meta {
        min-height: 1rem;
        gap: 0.28rem !important;
        font-size: 0.66rem;
    }

    .task-board-surface.is-compact .task-board-card-labels {
        gap: 0.18rem;
    }

    .task-board-surface.is-compact .task-board-card-label {
        font-size: 0.6rem;
        padding: 0.14rem 0.32rem;
    }

    .task-board-surface.is-compact .task-board-attachment-preview {
        border-radius: 0.45rem;
    }

    .task-board-surface.is-compact .task-board-meta-item,
    .task-board-surface.is-compact .task-board-project-context {
        font-size: 0.66rem;
    }

    .task-board-surface.is-compact .task-board-complete-button {
        width: 0.72rem;
        height: 0.72rem;
        margin-top: 0.1rem;
    }

    .task-board-surface.is-compact .task-board-complete-button i {
        font-size: 0.58rem;
    }

    .task-board-surface.is-compact .task-board-complete-button .spinner-border {
        width: 0.45rem;
        height: 0.45rem;
        border-width: 0.08rem;
    }

    .task-board-surface.is-compact .task-board-kebab {
        width: 1.45rem;
        height: 1.45rem;
    }

    .task-board-surface.is-compact .task-board-empty {
        padding: 0.55rem 0.35rem;
    }

    .task-board-surface.is-compact .task-board-empty i {
        width: 2rem;
        height: 2rem;
        font-size: 1.2rem;
    }

    .task-board-planner-panel {
        border-radius: 0.9rem;
        background: rgba(255, 255, 255, 0.96);
    }

    .task-board-planner-calendar {
        min-height: 34rem;
    }

    .task-board-planner-empty {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        margin-bottom: 0.75rem;
        border: 1px dashed rgba(148, 163, 184, 0.28);
        border-radius: 999px;
        background: rgba(248, 250, 252, 0.78);
        padding: 0.4rem 0.7rem;
    }

    .task-board-planner-empty i {
        color: var(--bs-primary);
        font-size: 1rem;
    }

    .task-board-planner-calendar .fc {
        font-size: 0.8125rem;
    }

    .task-board-planner-calendar .fc .fc-toolbar-title {
        color: #1f2937;
        font-size: 1rem;
        font-weight: 700;
    }

    .task-board-planner-calendar .fc .fc-button {
        border-radius: 0.5rem;
        box-shadow: none;
    }

    .task-board-planner-calendar .fc-event {
        border: 0;
        border-radius: 0.5rem;
        background: var(--bs-primary);
        box-shadow: 0 0.35rem 0.75rem rgba(15, 23, 42, 0.12);
        cursor: pointer;
        overflow: hidden;
    }

    .task-board-planner-calendar .fc-event-main {
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
    }

    .task-board-planner-calendar .task-board-planner-event {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 100%;
        max-height: 100%;
        padding: 0.2rem 0.35rem;
        overflow: hidden;
        line-height: 1.2;
    }

    .task-board-planner-calendar .task-board-planner-event-time,
    .task-board-planner-calendar .task-board-planner-event-title {
        min-width: 0;
        overflow: hidden;
    }

    .task-board-planner-calendar .task-board-planner-event-time {
        flex: 0 0 2.9rem;
        white-space: nowrap;
    }

    .task-board-planner-calendar .task-board-planner-event-title {
        flex: 1 1 auto;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        text-align: left;
    }

    .task-board-bottom-menu {
        position: sticky;
        bottom: 1rem;
        z-index: 1260;
        isolation: isolate;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.3rem;
        width: fit-content;
        max-width: calc(100vw - 2rem);
        margin: 1.25rem auto 0;
        border: 1px solid rgba(148, 163, 184, 0.22);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 1rem 2.3rem rgba(15, 23, 42, 0.16);
        padding: 0.32rem;
        backdrop-filter: blur(12px);
    }

    .task-board-bottom-menu-button {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        min-height: 2.15rem;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: var(--bs-secondary-color);
        font-size: 0.78rem;
        font-weight: 600;
        padding: 0.45rem 0.72rem;
        transition: background-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
        white-space: nowrap;
    }

    .task-board-bottom-menu-button:hover,
    .task-board-bottom-menu-button:focus {
        background: rgba(var(--bs-primary-rgb), 0.08);
        color: var(--bs-primary);
        outline: none;
    }

    .task-board-bottom-menu-button[data-task-board-view-action="planner"]:not(.is-active):hover,
    .task-board-bottom-menu-button[data-task-board-view-action="planner"]:not(.is-active):focus {
        background: transparent;
        color: var(--bs-secondary-color);
        box-shadow: none;
    }

    .task-board-bottom-menu-button[data-task-board-view-action="inbox"]:not(.is-active):focus {
        background: transparent;
        color: var(--bs-secondary-color);
        box-shadow: none;
    }

    .task-board-bottom-menu-button.is-active {
        background: rgba(var(--bs-primary-rgb), 0.12);
        color: var(--bs-primary);
        box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb), 0.12);
    }

    .task-board-bottom-menu-button:disabled {
        opacity: 0.5;
        pointer-events: none;
    }

    @keyframes taskBoardFade {
        from {
            opacity: 0;
            transform: translateY(-0.15rem);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes taskBoardSpin {
        to {
            transform: rotate(360deg);
        }
    }

    @keyframes taskBoardSkeleton {
        0% {
            background-position: 180% 0;
        }

        100% {
            background-position: -40% 0;
        }
    }

    @media (max-width: 1199.98px) {
        .task-board-control-bar {
            grid-template-columns: minmax(18rem, 1fr) minmax(9rem, 0.5fr) minmax(9rem, 0.5fr);
        }

        .task-board-shortcut-strip {
            flex-wrap: wrap;
        }

        .task-board-waiting-summary {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .task-edit-planning-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 991.98px) {
        .task-board-control-bar {
            grid-template-columns: 1fr;
        }

        .task-board-quick-add-fields {
            grid-template-columns: 1fr 1fr;
        }

        .task-board-bottom-menu {
            overflow-x: auto;
            justify-content: flex-start;
        }

        .task-board-lane-column.is-inbox-rail,
        .task-board-surface.is-compact .task-board-lane-column.is-inbox-rail {
            flex: 0 0 18rem;
            max-width: 18rem;
            min-width: 18rem;
        }

        .task-edit-modal-dialog {
            width: calc(100vw - 2rem);
            max-width: calc(100vw - 2rem);
        }

        .task-edit-modal-header,
        .task-edit-modal-footer {
            padding-left: 1rem;
            padding-right: 1rem;
        }

        .task-edit-modal-body {
            max-height: calc(100vh - 13rem);
            padding: 1rem;
        }

        .task-edit-modal-footer {
            align-items: stretch;
            flex-direction: column;
        }

        .task-edit-modal-footer-right {
            justify-content: flex-end;
        }

        .task-edit-subtask-add-row {
            grid-template-columns: 1fr;
        }

    }

    @media (max-width: 575.98px) {
        .task-board-waiting-summary {
            grid-template-columns: 1fr;
        }

        .task-edit-modal-header {
            align-items: stretch;
            flex-direction: column;
        }

        .task-edit-modal-header-actions {
            justify-content: space-between;
            margin-left: 0;
        }

        .task-edit-planning-grid {
            grid-template-columns: 1fr;
        }

        .task-edit-modal-footer-right {
            flex-direction: column-reverse;
            align-items: stretch;
        }

        .task-edit-modal-footer-right .btn,
        .task-edit-modal-footer-left .btn {
            width: 100%;
        }

        .task-edit-subtasks-heading {
            display: grid;
            grid-template-columns: auto minmax(0, 1fr);
        }

        .task-edit-subtask-add-button {
            grid-column: 1 / -1;
            justify-self: start;
            margin-left: 0;
        }
    }
