/* ═══════════════════════════════════════════════════════════════
   GiMi Mobile — Futuristic App-Ready UI Layer
   Activates at max-width: 1024px (desktop DevTools mobile view)
   ═══════════════════════════════════════════════════════════════ */

:root {
    --gimi-m-safe-top: env(safe-area-inset-top, 0px);
    --gimi-m-safe-bottom: env(safe-area-inset-bottom, 0px);
    --gimi-m-nav-h: 4.25rem;
    --gimi-m-header-h: 3.5rem;
    --gimi-m-accent-glow: 0 0 24px -4px rgba(34, 211, 238, 0.55);
    --gimi-m-glass: rgba(10, 14, 26, 0.88);
}

/* ── Mobile shell active ── */
html.gimi-mobile-active {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

html.gimi-mobile-active body.gimi-app {
    padding-bottom: calc(var(--gimi-m-nav-h) + var(--gimi-m-safe-bottom));
    overflow-x: hidden;
}

/* ── Off-canvas sidebars ── */
@media (max-width: 1024px) {
    body.gimi-app.flex,
    body.gimi-app.min-h-screen.flex,
    #main-app,
    #mainDashboard {
        flex-direction: column !important;
        height: auto !important;
        min-height: 100dvh !important;
    }

    .gimi-sidebar,
    #sidebar,
    #tools-sidebar,
    #toc-sidebar,
    #projectSidebar,
    .project-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        height: 100dvh !important;
        width: min(88vw, 340px) !important;
        max-width: 340px !important;
        z-index: 200 !important;
        transform: translateX(-105%);
        transition: transform 0.38s cubic-bezier(0.32, 0.72, 0, 1) !important;
        box-shadow: 8px 0 40px -8px rgba(0, 0, 0, 0.65) !important;
    }

    .gimi-sidebar.gimi-drawer-open,
    #sidebar.gimi-drawer-open,
    #tools-sidebar.gimi-drawer-open,
    #toc-sidebar.gimi-drawer-open,
    #projectSidebar.gimi-drawer-open {
        transform: translateX(0) !important;
    }

    .gimi-sidebar.sidebar-collapsed,
    #sidebar[style*="width: 0"],
    #tools-sidebar.sidebar-collapsed,
    #toc-sidebar.sidebar-collapsed,
    #projectSidebar.sidebar-collapsed {
        transform: translateX(-105%) !important;
        width: min(88vw, 340px) !important;
    }

    /* Drawer backdrop */
    .gimi-drawer-backdrop {
        position: fixed;
        inset: 0;
        z-index: 190;
        background: rgba(2, 4, 12, 0.72);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.32s ease;
    }

    .gimi-drawer-backdrop.active {
        opacity: 1;
        pointer-events: auto;
    }

    /* Hide desktop expand buttons on mobile */
    .gimi-expand-btn,
    #sidebar-expand-btn,
    #sidebarExpandBtn,
    #both-expand-btn,
    #toc-expand-btn,
    #tools-expand-btn,
    .floating-expand-btn {
        display: none !important;
    }

    /* Main content full width */
    .gimi-app > .flex-1,
    #main-app,
    #mainDashboard {
        width: 100% !important;
        min-width: 0 !important;
    }

    #main-app {
        flex-direction: column !important;
    }

    /* ── Mobile top bar (injected) ── */
    .gimi-m-header {
        position: sticky;
        top: 0;
        z-index: 120;
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: calc(0.65rem + var(--gimi-m-safe-top)) 1rem 0.65rem;
        min-height: var(--gimi-m-header-h);
        background: var(--gimi-m-glass);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-bottom: 1px solid rgba(34, 211, 238, 0.12);
        box-shadow: 0 4px 24px -8px rgba(0, 0, 0, 0.5);
    }

    .gimi-m-header::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 10%;
        right: 10%;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(34, 211, 238, 0.45), rgba(168, 85, 247, 0.35), transparent);
    }

    .gimi-m-menu-btn {
        width: 2.75rem;
        height: 2.75rem;
        border-radius: 14px;
        background: rgba(30, 41, 59, 0.7);
        border: 1px solid rgba(148, 163, 184, 0.15);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        flex-shrink: 0;
        transition: all 0.2s ease;
        box-shadow: var(--gimi-m-accent-glow);
    }

    .gimi-m-menu-btn span {
        display: block;
        width: 1.1rem;
        height: 2px;
        border-radius: 2px;
        background: linear-gradient(90deg, #e2e8f0, #22d3ee);
    }

    .gimi-m-menu-btn:active {
        transform: scale(0.94);
    }

    .gimi-m-title-block {
        flex: 1;
        min-width: 0;
    }

    .gimi-m-title {
        font-size: 1.05rem;
        font-weight: 800;
        letter-spacing: -0.03em;
        background: linear-gradient(135deg, #f1f5f9, #22d3ee 60%, #a855f7);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .gimi-m-subtitle {
        font-size: 0.65rem;
        color: #64748b;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        margin-top: 1px;
    }

    .gimi-m-header-actions {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        flex-shrink: 0;
    }

    .gimi-m-icon-btn {
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 12px;
        background: rgba(30, 41, 59, 0.6);
        border: 1px solid rgba(148, 163, 184, 0.12);
        color: #94a3b8;
        font-size: 1.1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s ease;
    }

    .gimi-m-icon-btn:active,
    .gimi-m-icon-btn.active {
        color: #22d3ee;
        border-color: rgba(34, 211, 238, 0.35);
        box-shadow: var(--gimi-m-accent-glow);
    }

    /* ── Project swipe navigator strip ── */
    .gimi-m-project-nav {
        position: sticky;
        top: calc(var(--gimi-m-header-h) + var(--gimi-m-safe-top));
        z-index: 110;
        padding: 0.6rem 1rem;
        background: linear-gradient(180deg, rgba(6, 8, 15, 0.95) 0%, rgba(6, 8, 15, 0.7) 100%);
        backdrop-filter: blur(12px);
        border-bottom: 1px solid rgba(148, 163, 184, 0.08);
    }

    /* Built-in project bar inside #board-container (primary mobile switcher) */
    .gimi-m-project-nav-inline {
        display: block !important;
        position: relative;
        top: auto;
        z-index: 115;
        margin: 0 0 0.4rem;
        padding: 0.5rem 0.65rem 0.55rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(34, 211, 238, 0.22);
        background: linear-gradient(180deg, rgba(8, 12, 24, 0.98) 0%, rgba(6, 8, 15, 0.92) 100%);
        box-shadow: 0 4px 16px -6px rgba(0, 0, 0, 0.45);
    }

    .gimi-m-project-nav-inline .gimi-m-project-select-label {
        margin-top: 0;
    }

    .gimi-m-project-row {
        display: flex;
        align-items: center;
        gap: 0.35rem;
        margin-top: 0.45rem;
        flex-wrap: nowrap;
    }

    .gimi-m-project-name-block {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        flex: 1;
        min-width: 0;
        gap: 0.05rem;
        text-align: center;
    }

    .gimi-m-project-name-block .gimi-m-project-name {
        width: 100%;
        text-align: center;
        font-size: 0.88rem;
        line-height: 1.15;
    }

    .gimi-m-project-name-block .gimi-m-project-counter {
        font-size: 0.62rem;
    }

    .gimi-m-proj-arrow {
        width: 2rem !important;
        height: 2rem !important;
        flex-shrink: 0;
        font-size: 1rem !important;
    }

    .gimi-m-inline-icon {
        width: 2rem !important;
        height: 2rem !important;
        flex-shrink: 0;
        font-size: 0.95rem !important;
        padding: 0 !important;
    }

    .gimi-m-inline-icon.hidden {
        display: none !important;
    }

    .gimi-m-new-project-btn {
        color: #0f172a !important;
        background: linear-gradient(135deg, #a855f7, #22d3ee) !important;
        border-color: rgba(168, 85, 247, 0.45) !important;
        font-size: 1.1rem !important;
        font-weight: 700 !important;
        line-height: 1;
    }

    .gimi-m-proj-bar-top {
        display: flex;
        align-items: center;
        gap: 0.4rem;
    }

    .gimi-m-proj-nav-section {
        display: flex;
        align-items: center;
        gap: 0.35rem;
        flex: 1;
        min-width: 0;
    }

    .gimi-m-proj-nav-section .gimi-m-project-name-block {
        flex: 1;
        min-width: 0;
    }

    .gimi-m-proj-nav-section .gimi-m-proj-arrow,
    .gimi-m-proj-nav-section .gimi-m-inline-icon {
        width: 2rem !important;
        height: 2rem !important;
        flex-shrink: 0;
    }

    .gimi-m-status-row {
        flex: 1;
        min-width: 0;
    }

    .gimi-m-project-row .gimi-m-status-row {
        margin-top: 0;
    }

    .gimi-m-status-row .gimi-m-project-select-label {
        margin-top: 0;
        margin-bottom: 0.2rem;
    }

    .gimi-m-proj-collapse-btn {
        flex-shrink: 0;
        width: 1.85rem;
        height: 1.85rem;
        border-radius: 0.5rem;
        border: 1px solid rgba(148, 163, 184, 0.2);
        background: rgba(30, 41, 59, 0.55);
        color: #94a3b8;
        font-size: 0.7rem;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .gimi-m-proj-collapsed-name {
        flex: 1;
        min-width: 0;
        font-size: 0.9rem;
        font-weight: 700;
        color: #f1f5f9;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        padding: 0.15rem 0;
        cursor: pointer;
    }

    .gimi-m-project-bar-collapsed {
        padding: 0.4rem 0.65rem 0.25rem !important;
        margin-bottom: 0.15rem !important;
    }

    .gimi-m-project-bar-collapsed .gimi-m-proj-bar-top {
        gap: 0.35rem;
    }

    .gimi-m-project-bar-collapsed .gimi-m-proj-collapsed-name {
        display: block;
    }

    .gimi-m-project-bar-collapsed .gimi-m-proj-collapse-btn {
        display: none;
    }

    .gimi-m-col-controls-expanded {
        margin-bottom: 1rem;
        padding: 0.5rem 0.65rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(148, 163, 184, 0.15);
        background: rgba(15, 23, 42, 0.5);
    }

    .gimi-m-col-new-ticket {
        min-width: 1.85rem;
        height: 1.65rem;
        padding: 0 0.4rem;
        border-radius: 0.45rem;
        border: 1px solid rgba(34, 211, 238, 0.45);
        background: linear-gradient(135deg, #22d3ee, #67e8f9);
        color: #0f172a;
        font-size: 1rem;
        font-weight: 800;
        line-height: 1;
    }

    #kanban-board .ticket-card button[onclick*="cloneTicket"] {
        display: none !important;
    }

    #expanded-view .ticket-card button[onclick*="cloneTicket"] {
        display: inline-flex !important;
    }

    .gimi-m-move-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 0.5rem;
        border: 1px solid rgba(148, 163, 184, 0.25);
        background: rgba(30, 41, 59, 0.45);
        color: #94a3b8;
        font-size: 0.85rem;
        line-height: 1;
        flex-shrink: 0;
    }

    .gimi-m-move-btn:active {
        color: #22d3ee;
        border-color: rgba(34, 211, 238, 0.4);
    }

    .gimi-m-move-sheet {
        position: fixed;
        inset: 0;
        z-index: 460;
        display: flex;
        align-items: flex-end;
        justify-content: center;
    }

    .gimi-m-move-sheet.hidden {
        display: none !important;
    }

    .gimi-m-move-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(2, 4, 12, 0.72);
        backdrop-filter: blur(4px);
    }

    .gimi-m-move-panel {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 100%;
        padding: 1rem 1.25rem calc(1.25rem + var(--gimi-m-safe-bottom));
        border-radius: 1.25rem 1.25rem 0 0;
        background: rgba(10, 14, 26, 0.96);
        border-top: 1px solid rgba(34, 211, 238, 0.2);
        box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.5);
    }

    .gimi-m-move-title {
        font-size: 0.75rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #22d3ee;
        margin-bottom: 0.35rem;
    }

    .gimi-m-move-sub {
        font-size: 0.85rem;
        color: #cbd5e1;
        margin-bottom: 0.85rem;
        word-break: break-word;
    }

    .gimi-m-move-options {
        display: flex;
        flex-direction: column;
        gap: 0.45rem;
        margin-bottom: 0.65rem;
        max-height: 50vh;
        overflow-y: auto;
    }

    .gimi-m-move-option {
        width: 100%;
        text-align: left;
        padding: 0.75rem 1rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(148, 163, 184, 0.2);
        background: rgba(30, 41, 59, 0.55);
        color: #f1f5f9;
        font-size: 0.9rem;
        font-weight: 600;
        min-height: 44px;
    }

    .gimi-m-move-option:active {
        border-color: rgba(34, 211, 238, 0.4);
        background: rgba(34, 211, 238, 0.1);
        color: #22d3ee;
    }

    .gimi-m-project-row .gimi-m-proj-arrow {
        width: 1.85rem !important;
        height: 1.85rem !important;
        font-size: 0.85rem !important;
    }

    /* Per-column priority filters (mobile kanban headers) */
    .gimi-m-col-controls {
        display: flex;
        align-items: center;
        gap: 0.3rem;
        padding: 0.35rem 0.5rem 0.45rem;
        flex-wrap: wrap;
    }

    .gimi-m-prio-chip {
        min-width: 1.65rem;
        height: 1.65rem;
        padding: 0 0.35rem;
        border-radius: 0.45rem;
        border: 1px solid rgba(148, 163, 184, 0.25);
        background: rgba(30, 41, 59, 0.55);
        color: #94a3b8;
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.02em;
    }

    .gimi-m-prio-chip-active {
        color: #22d3ee;
        border-color: rgba(34, 211, 238, 0.45);
        background: rgba(34, 211, 238, 0.12);
        box-shadow: var(--gimi-m-accent-glow);
    }

    .gimi-m-prio-chip:nth-child(1).gimi-m-prio-chip-active { color: #f87171; border-color: rgba(248, 113, 113, 0.45); background: rgba(248, 113, 113, 0.12); }
    .gimi-m-prio-chip:nth-child(2).gimi-m-prio-chip-active { color: #facc15; border-color: rgba(250, 204, 21, 0.45); background: rgba(250, 204, 21, 0.12); }
    .gimi-m-prio-chip:nth-child(3).gimi-m-prio-chip-active { color: #4ade80; border-color: rgba(74, 222, 128, 0.45); background: rgba(74, 222, 128, 0.12); }

    .gimi-m-col-sort {
        margin-left: auto;
        min-height: 1.65rem;
        padding: 0 0.45rem;
        border-radius: 0.45rem;
        border: 1px solid rgba(148, 163, 184, 0.25);
        background: rgba(30, 41, 59, 0.55);
        color: #94a3b8;
        font-size: 0.62rem;
        font-weight: 700;
        white-space: nowrap;
    }

    .gimi-m-col-sort-active {
        color: #22d3ee;
        border-color: rgba(34, 211, 238, 0.4);
        background: rgba(34, 211, 238, 0.1);
    }

    .gimi-m-col-sort-alt {
        color: #a78bfa;
        border-color: rgba(167, 139, 250, 0.4);
        background: rgba(167, 139, 250, 0.1);
    }

    .kanban-column-header .gimi-m-col-controls {
        border-top: 1px solid rgba(63, 63, 70, 0.35);
    }

    .gimi-m-project-select-label {
        display: block;
        margin-top: 0.35rem;
        margin-bottom: 0.25rem;
        font-size: 0.6rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: #64748b;
    }

    .gimi-m-project-select {
        width: 100%;
        appearance: none;
        -webkit-appearance: none;
        padding: 0.75rem 2.5rem 0.75rem 1rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(34, 211, 238, 0.35);
        background: rgba(15, 23, 42, 0.9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 0.9rem center;
        color: #f1f5f9;
        font-size: 0.9rem;
        font-weight: 600;
        min-height: 44px;
    }

    .gimi-m-project-select-compact {
        padding: 0.5rem 2.25rem 0.5rem 0.75rem;
        min-height: 38px;
        font-size: 0.82rem;
        border-radius: 0.7rem;
    }

    .gimi-m-project-row {
        align-items: flex-end;
    }

    .gimi-m-status-select {
        height: 2rem;
        min-height: 2rem;
        max-height: 2rem;
        padding: 0 1.45rem 0 0.55rem;
        font-size: 0.7rem;
        line-height: 1.2;
        border-radius: 0.5rem;
        background-position: right 0.45rem center;
        background-size: 9px 9px;
    }

    .gimi-m-project-row .gimi-m-status-row {
        flex: 1 1 auto;
        min-width: 0;
        max-width: calc(100% - 8.75rem);
    }

    .gimi-m-project-row .gimi-m-action-icon {
        width: 2rem !important;
        height: 2rem !important;
        min-height: 2rem !important;
        font-size: 0.8rem !important;
        border-radius: 0.5rem !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .gimi-m-project-row .gimi-m-new-project-btn {
        width: 1.75rem !important;
        font-size: 0.82rem !important;
        font-weight: 700 !important;
    }

    .gimi-m-logout-btn {
        color: #fca5a5 !important;
        border-color: rgba(248, 113, 113, 0.3) !important;
        background: rgba(127, 29, 29, 0.2) !important;
    }

    .gimi-m-logout-btn:active {
        color: #f87171 !important;
        border-color: rgba(248, 113, 113, 0.5) !important;
        background: rgba(127, 29, 29, 0.35) !important;
    }

    .gimi-m-logout-svg {
        width: 0.9rem;
        height: 0.9rem;
        display: block;
        flex-shrink: 0;
    }

    .gimi-m-project-select:focus {
        outline: none;
        border-color: #22d3ee;
        box-shadow: var(--gimi-m-accent-glow);
    }

    /* Expandable ticket search (icon-triggered) */
    .gimi-m-search-panel {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        margin-top: 0.4rem;
    }

    .gimi-m-search-panel.hidden {
        display: none;
    }

    .gimi-m-search-input {
        flex: 1;
        min-width: 0;
        padding: 0.55rem 0.75rem;
        border-radius: 0.7rem;
        border: 1px solid rgba(34, 211, 238, 0.35);
        background: rgba(15, 23, 42, 0.9);
        color: #f1f5f9;
        font-size: 0.85rem;
        min-height: 38px;
    }

    .gimi-m-search-input:focus {
        outline: none;
        border-color: #22d3ee;
        box-shadow: var(--gimi-m-accent-glow);
    }

    .gimi-m-search-input::placeholder {
        color: #64748b;
    }

    .gimi-m-search-cancel {
        flex-shrink: 0;
        padding: 0.45rem 0.7rem;
        border-radius: 0.7rem;
        border: 1px solid rgba(148, 163, 184, 0.25);
        background: rgba(30, 41, 59, 0.6);
        color: #94a3b8;
        font-size: 0.75rem;
        font-weight: 700;
        min-height: 38px;
    }

    /* Mobile account sheet (built into page) */
    .gimi-m-account-sheet {
        position: fixed;
        inset: 0;
        z-index: 450;
        display: flex;
        align-items: flex-end;
        justify-content: center;
    }

    .gimi-m-account-sheet.hidden {
        display: none !important;
    }

    .gimi-m-account-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(2, 4, 12, 0.72);
        backdrop-filter: blur(4px);
    }

    .gimi-m-account-panel {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 100%;
        padding: 1rem 1.25rem calc(1.25rem + var(--gimi-m-safe-bottom));
        border-radius: 1.25rem 1.25rem 0 0;
        background: rgba(10, 14, 26, 0.96);
        border-top: 1px solid rgba(34, 211, 238, 0.2);
        box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.5);
    }

    .gimi-m-account-handle {
        width: 2.5rem;
        height: 4px;
        border-radius: 4px;
        background: rgba(148, 163, 184, 0.35);
        margin: 0 auto 0.85rem;
    }

    .gimi-m-account-title {
        font-size: 0.75rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #22d3ee;
        margin-bottom: 0.5rem;
    }

    .gimi-m-account-email {
        font-size: 0.85rem;
        color: #cbd5e1;
        padding-bottom: 1rem;
        word-break: break-all;
    }

    .gimi-m-account-cancel {
        width: 100%;
        margin-top: 0.5rem;
        padding: 0.75rem 1rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(148, 163, 184, 0.2);
        background: transparent;
        color: #94a3b8;
        font-size: 0.85rem;
        font-weight: 600;
        min-height: 44px;
    }

    /* User account sheet */
    .gimi-m-user-email {
        font-size: 0.85rem;
        color: #cbd5e1;
        padding: 0.5rem 0 1rem;
        word-break: break-all;
    }

    .gimi-m-logout-btn {
        width: 100%;
        padding: 0.85rem 1rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(248, 113, 113, 0.35);
        background: rgba(127, 29, 29, 0.25);
        color: #fca5a5;
        font-size: 0.9rem;
        font-weight: 700;
        min-height: 44px;
        transition: all 0.2s ease;
    }

    .gimi-m-logout-btn:active {
        background: rgba(127, 29, 29, 0.45);
        border-color: rgba(248, 113, 113, 0.55);
    }

    /* Hide JS-injected duplicate when built-in bar exists */
    #mobile-project-bar ~ #gimi-m-project-nav,
    #mobile-project-bar ~ .gimi-m-project-nav:not(.gimi-m-project-nav-inline) {
        display: none !important;
    }

    .gimi-m-project-pill {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.65rem 1rem;
        border-radius: 1rem;
        background: linear-gradient(135deg, rgba(34, 211, 238, 0.08), rgba(99, 102, 241, 0.06));
        border: 1px solid rgba(34, 211, 238, 0.2);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), var(--gimi-m-accent-glow);
    }

    .gimi-m-project-name {
        font-size: 0.9rem;
        font-weight: 700;
        color: #f1f5f9;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex: 1;
        background: none;
        border: none;
        padding: 0;
        text-align: left;
        cursor: pointer;
        min-width: 0;
    }

    .gimi-m-project-name:active {
        color: #22d3ee;
    }

    .gimi-m-project-counter {
        font-size: 0.65rem;
        font-weight: 700;
        color: #22d3ee;
        font-variant-numeric: tabular-nums;
        letter-spacing: 0.05em;
        flex-shrink: 0;
    }

    .gimi-m-project-counter.gimi-m-counter-owner,
    .gimi-m-project-name-block .gimi-m-project-counter.gimi-m-counter-owner {
        color: #4ade80;
    }

    .gimi-m-project-counter.gimi-m-counter-edit,
    .gimi-m-project-name-block .gimi-m-project-counter.gimi-m-counter-edit {
        color: #22d3ee;
    }

    .gimi-m-project-counter.gimi-m-counter-view,
    .gimi-m-project-name-block .gimi-m-project-counter.gimi-m-counter-view {
        color: #f87171;
    }

    /* Collapsed project bar — hamburger quick links */
    .gimi-m-proj-quicklinks-btn {
        display: none;
        flex-shrink: 0;
        width: 2rem;
        height: 2rem;
        border-radius: 0.55rem;
        border: 1px solid rgba(148, 163, 184, 0.2);
        background: rgba(30, 41, 59, 0.55);
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 0;
    }

    .gimi-m-project-bar-collapsed .gimi-m-proj-quicklinks-btn:not(.hidden) {
        display: flex;
    }

    .gimi-m-proj-quicklinks-btn span {
        display: block;
        width: 0.85rem;
        height: 2px;
        border-radius: 2px;
        background: linear-gradient(90deg, #e2e8f0, #22d3ee);
    }

    .gimi-m-proj-quicklinks-btn.active span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .gimi-m-proj-quicklinks-btn.active span:nth-child(2) {
        opacity: 0;
    }

    .gimi-m-proj-quicklinks-btn.active span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .gimi-m-proj-quicklinks-btn span {
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    /* Full-screen quick links overlay */
    .gimi-m-quicklinks-overlay {
        position: fixed;
        inset: 0;
        z-index: 500;
        display: none;
        flex-direction: column;
        background: linear-gradient(180deg, rgba(6, 8, 15, 0.99) 0%, rgba(10, 14, 26, 0.99) 100%);
        padding: calc(1.25rem + var(--gimi-m-safe-top)) 1.25rem calc(1.25rem + var(--gimi-m-safe-bottom));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .gimi-m-quicklinks-overlay.active {
        display: flex;
    }

    html.gimi-m-quicklinks-open body.gimi-app {
        overflow: hidden !important;
    }

    html.gimi-m-quicklinks-open .gimi-m-bottom-nav,
    html.gimi-m-quicklinks-open #board-container,
    html.gimi-m-quicklinks-open .gimi-m-header,
    html.gimi-m-quicklinks-open .gimi-m-fab,
    html.gimi-m-quicklinks-open .gimi-m-column-dots,
    html.gimi-m-quicklinks-open #main-content,
    html.gimi-m-quicklinks-open #mainDashboard > .flex-1,
    html.gimi-m-quicklinks-open #main-app > .flex-1 {
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .gimi-m-quicklinks-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1.5rem;
        padding-bottom: 0.75rem;
        border-bottom: 1px solid rgba(34, 211, 238, 0.15);
    }

    .gimi-m-quicklinks-title {
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #22d3ee;
    }

    .gimi-m-quicklinks-section {
        margin-bottom: 1.25rem;
    }

    .gimi-m-quicklinks-section-label {
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        padding-bottom: 0.35rem;
        margin-bottom: 0.5rem;
        border-bottom: 1px solid rgba(63, 63, 70, 0.5);
    }

    .gimi-m-quicklinks-section-label.gimi-ql-pms { color: #fbbf24; }
    .gimi-m-quicklinks-section-label.gimi-ql-dash { color: #22d3ee; }
    .gimi-m-quicklinks-section-label.gimi-ql-assist { color: #34d399; }

    .gimi-m-quicklinks-item {
        display: flex;
        align-items: center;
        gap: 0.85rem;
        width: 100%;
        text-align: left;
        padding: 0.85rem 1rem;
        margin-bottom: 0.35rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(148, 163, 184, 0.15);
        background: rgba(30, 41, 59, 0.45);
        color: #f1f5f9;
        font-size: 0.9rem;
        font-weight: 600;
        text-decoration: none;
        min-height: 44px;
        transition: border-color 0.2s ease, background 0.2s ease;
    }

    .gimi-m-quicklinks-item:active,
    .gimi-m-quicklinks-item.active {
        border-color: rgba(34, 211, 238, 0.4);
        background: rgba(34, 211, 238, 0.1);
        color: #22d3ee;
    }

    .gimi-m-quicklinks-item .gimi-m-ql-icon {
        font-size: 1.25rem;
        width: 1.5rem;
        text-align: center;
        flex-shrink: 0;
    }

    .gimi-m-logout-icon-btn {
        color: #fca5a5 !important;
        border-color: rgba(248, 113, 113, 0.3) !important;
        background: rgba(127, 29, 29, 0.2) !important;
    }

    .gimi-m-logout-icon-btn:active {
        color: #f87171 !important;
        border-color: rgba(248, 113, 113, 0.5) !important;
        background: rgba(127, 29, 29, 0.35) !important;
    }

    .gimi-m-logout-icon-btn .gimi-m-logout-svg {
        width: 1rem;
        height: 1rem;
    }

    .gimi-m-swipe-hint {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        margin-top: 0.45rem;
        font-size: 0.6rem;
        color: #475569;
        letter-spacing: 0.06em;
    }

    .gimi-m-swipe-hint svg {
        width: 14px;
        height: 14px;
        opacity: 0.6;
        animation: gimiSwipePulse 2.5s ease-in-out infinite;
    }

    @keyframes gimiSwipePulse {
        0%, 100% { opacity: 0.4; transform: translateX(0); }
        50% { opacity: 0.9; transform: translateX(3px); }
    }

    .gimi-m-dots {
        display: flex;
        justify-content: center;
        gap: 0.35rem;
        margin-top: 0.5rem;
    }

    .gimi-m-dot {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(148, 163, 184, 0.25);
        transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .gimi-m-dot.active {
        width: 18px;
        border-radius: 4px;
        background: linear-gradient(90deg, #22d3ee, #818cf8);
        box-shadow: 0 0 12px rgba(34, 211, 238, 0.5);
    }

    /* Swipe transition flash */
    .gimi-m-swipe-zone {
        position: relative;
        transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.25s ease;
    }

    .gimi-m-swipe-zone.swipe-out-left {
        transform: translateX(-28px);
        opacity: 0.55;
    }

    .gimi-m-swipe-zone.swipe-out-right {
        transform: translateX(28px);
        opacity: 0.55;
    }

    .gimi-m-swipe-zone.swipe-in {
        animation: gimiSwipeIn 0.4s cubic-bezier(0.32, 0.72, 0, 1);
    }

    @keyframes gimiSwipeIn {
        from { transform: translateX(24px); opacity: 0.4; }
        to { transform: translateX(0); opacity: 1; }
    }

    /* ── Bottom navigation ── */
    .gimi-m-bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 300;
        display: flex;
        align-items: stretch;
        justify-content: space-around;
        padding: 0.5rem 0.5rem calc(0.5rem + var(--gimi-m-safe-bottom));
        background: var(--gimi-m-glass);
        backdrop-filter: blur(24px);
        -webkit-backdrop-filter: blur(24px);
        border-top: 1px solid rgba(34, 211, 238, 0.15);
        box-shadow: 0 -8px 32px -8px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    }

    .gimi-m-bottom-nav::before {
        content: '';
        position: absolute;
        top: 0;
        left: 15%;
        right: 15%;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(34, 211, 238, 0.5), transparent);
    }

    .gimi-m-nav-item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.25rem;
        padding: 0.35rem 0.2rem;
        border-radius: 14px;
        color: #64748b;
        font-size: 0.58rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        text-decoration: none;
        border: none;
        min-width: 0;
        background: transparent;
        cursor: pointer;
        transition: all 0.25s ease;
        min-height: 3rem;
    }

    .gimi-m-nav-item .gimi-m-nav-icon {
        font-size: 1.35rem;
        line-height: 1;
        transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .gimi-m-nav-badge {
        display: inline-block;
        max-width: 100%;
        padding: 0.2rem 0.35rem;
        border-radius: 8px;
        font-size: 0.42rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        line-height: 1.15;
        text-align: center;
        text-transform: uppercase;
        color: #0f172a;
        white-space: normal;
        word-break: break-word;
        box-shadow: 0 1px 4px -1px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.25);
    }

    .gimi-m-nav-item:not(.active) .gimi-m-nav-badge {
        background: rgba(51, 65, 85, 0.55);
        color: #94a3b8;
        box-shadow: none;
    }

    .gimi-m-nav-item.active .gimi-m-nav-badge.gimi-badge-pms {
        background: linear-gradient(135deg, #f59e0b, #fbbf24);
        color: #0f172a;
    }

    .gimi-m-nav-item.active .gimi-m-nav-badge.gimi-badge-vortex {
        background: linear-gradient(135deg, #22d3ee, #06b6d4);
        color: #0f172a;
    }

    .gimi-m-nav-item.active .gimi-m-nav-badge.gimi-badge-utility {
        background: linear-gradient(135deg, #34d399, #10b981);
        color: #0f172a;
    }

    .gimi-m-nav-item.active .gimi-m-nav-badge.gimi-badge-guide {
        background: linear-gradient(135deg, #a78bfa, #8b5cf6);
        color: #0f172a;
    }

    .gimi-m-nav-item.active {
        color: #22d3ee;
        background: linear-gradient(180deg, rgba(34, 211, 238, 0.12), transparent);
    }

    .gimi-m-nav-item.active .gimi-m-nav-icon {
        transform: scale(1.15);
        filter: drop-shadow(0 0 8px rgba(34, 211, 238, 0.6));
    }

    .gimi-m-nav-item:active {
        transform: scale(0.92);
    }

    /* ── FAB (floating action button) ── */
    .gimi-m-fab {
        position: fixed;
        right: 1.25rem;
        bottom: calc(var(--gimi-m-nav-h) + var(--gimi-m-safe-bottom) + 1rem);
        z-index: 250;
        width: 3.5rem;
        height: 3.5rem;
        border-radius: 50%;
        background: linear-gradient(135deg, #22d3ee, #6366f1);
        border: none;
        color: #0f172a;
        font-size: 1.6rem;
        font-weight: 300;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 28px -4px rgba(34, 211, 238, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.3);
        transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
        cursor: pointer;
    }

    .gimi-m-fab:active {
        transform: scale(0.9);
    }

    .gimi-m-fab.hidden {
        display: none !important;
    }

    /* ── Mobile filter sheet ── */
    .gimi-m-sheet-backdrop {
        position: fixed;
        inset: 0;
        z-index: 400;
        background: rgba(2, 4, 12, 0.75);
        backdrop-filter: blur(4px);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
    }

    .gimi-m-sheet-backdrop.active {
        opacity: 1;
        pointer-events: auto;
    }

    .gimi-m-sheet {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 410;
        max-height: 75dvh;
        padding: 1.25rem 1.25rem calc(1.25rem + var(--gimi-m-safe-bottom));
        background: linear-gradient(180deg, rgba(17, 24, 39, 0.98), rgba(10, 14, 26, 0.99));
        border-radius: 1.5rem 1.5rem 0 0;
        border-top: 1px solid rgba(34, 211, 238, 0.25);
        box-shadow: 0 -20px 60px -12px rgba(0, 0, 0, 0.65);
        transform: translateY(105%);
        transition: transform 0.38s cubic-bezier(0.32, 0.72, 0, 1);
        overflow-y: auto;
    }

    .gimi-m-sheet.active {
        transform: translateY(0);
    }

    .gimi-m-sheet-handle {
        width: 2.5rem;
        height: 4px;
        border-radius: 4px;
        background: rgba(148, 163, 184, 0.35);
        margin: 0 auto 1rem;
    }

    .gimi-m-sheet-title {
        font-size: 0.75rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #22d3ee;
        margin-bottom: 1rem;
    }

    /* ── Topbar compression ── */
    .gimi-topbar,
    .gimi-common-header,
    .common-header,
    nav.gimi-topbar {
        display: none !important;
    }

    html.gimi-mobile-active .gimi-m-topbar-replacement + .gimi-topbar,
    html.gimi-mobile-active .gimi-m-topbar-replacement ~ nav.gimi-topbar {
        display: none !important;
    }

    /* ── Kanban: horizontal snap columns ── */
    .gimi-app > .flex-1.flex.flex-col.h-screen {
        height: calc(100dvh - var(--gimi-m-nav-h) - var(--gimi-m-safe-bottom)) !important;
        max-height: calc(100dvh - var(--gimi-m-nav-h) - var(--gimi-m-safe-bottom)) !important;
        overflow: hidden !important;
    }

    #board-container {
        flex: 1 1 auto !important;
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
        padding: 0.45rem 0.65rem 0 !important;
        overflow: hidden !important;
    }

    #board-container.gimi-m-proj-bar-collapsed {
        padding-bottom: 0 !important;
    }

    #mobile-project-bar {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        flex-shrink: 0;
    }

    #kanban-board {
        display: flex !important;
        flex-direction: row !important;
        flex: 1 1 auto !important;
        gap: 0.85rem !important;
        min-width: unset !important;
        min-height: 0 !important;
        align-items: stretch !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0.35rem 0.5rem 0 !important;
        scroll-padding: 0.5rem;
    }

    #board-container.gimi-m-proj-bar-collapsed #kanban-board {
        padding-bottom: 0 !important;
    }

    #kanban-board.hidden {
        display: none !important;
    }

    #board-container.gimi-column-expanded #kanban-board {
        display: none !important;
    }

    #board-container.gimi-column-expanded {
        overflow: hidden !important;
    }

    #board-container.gimi-column-expanded #expanded-view:not(.hidden) {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        width: 100%;
        overflow: hidden !important;
    }

    #board-container.gimi-column-expanded #expanded-content {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        max-width: 100% !important;
        padding-bottom: 0.5rem !important;
    }

    #board-container.gimi-column-expanded #expanded-content.space-y-10 > * + * {
        margin-top: 0.45rem !important;
    }

    #expanded-header {
        display: none !important;
    }

    #expanded-view {
        padding: 0 0 0.5rem;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    #expanded-view .gimi-m-expanded-back {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.45rem 0.65rem;
        margin-bottom: 0.25rem;
        border-radius: 0.65rem;
        border: 1px solid rgba(148, 163, 184, 0.2);
        background: rgba(30, 41, 59, 0.5);
        color: #22d3ee;
        font-size: 0.8rem;
        font-weight: 600;
    }

    .gimi-m-expanded-header-compact {
        margin-bottom: 0.15rem;
    }

    #expanded-view .gimi-m-expanded-back-merged {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.35rem;
        width: 100%;
        padding: 0.35rem 0.55rem;
        margin-bottom: 0;
        border-radius: 0.6rem;
        border: 1px solid rgba(148, 163, 184, 0.2);
        background: rgba(30, 41, 59, 0.5);
        color: #22d3ee;
        font-size: 0.75rem;
        font-weight: 600;
        text-align: left;
        line-height: 1.2;
    }

    #expanded-view .gimi-m-expanded-col-name {
        font-weight: 800;
        color: #f1f5f9;
        letter-spacing: 0.02em;
    }

    #expanded-view .gimi-m-col-controls-expanded {
        margin-top: 0.15rem !important;
        margin-bottom: 0.45rem !important;
        padding: 0.3rem 0.5rem !important;
    }

    #kanban-board .kanban-column {
        flex: 0 0 82vw !important;
        max-width: 340px !important;
        height: auto !important;
        min-height: 0 !important;
        align-self: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    #kanban-board .kanban-column .flex-1 {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    /* Compact kanban tickets — mobile board & expanded (25% smaller total, matched sizing) */
    #kanban-board .ticket-card,
    #expanded-view .ticket-card {
        padding: 0.34rem 0.42rem !important;
        border-radius: 0.57rem !important;
        min-height: unset !important;
    }

    #expanded-view .ticket-card.flex {
        flex-direction: column !important;
        gap: 0 !important;
    }

    #kanban-board .ticket-card:hover,
    #expanded-view .ticket-card:hover {
        transform: none !important;
    }

    #kanban-board .ticket-card h4,
    #expanded-view .ticket-card h4,
    #kanban-board .gimi-m-ticket-top h4,
    #expanded-view .gimi-m-ticket-top h4 {
        font-size: 0.57rem !important;
        line-height: 1.2 !important;
        margin-top: 0 !important;
    }

    #kanban-board .ticket-card .text-xs,
    #expanded-view .ticket-card .text-xs,
    #kanban-board .gimi-m-ticket-bottom .text-xs,
    #expanded-view .gimi-m-ticket-bottom .text-xs {
        font-size: 0.42rem !important;
        padding: 0.06rem 0.3rem !important;
    }

    #kanban-board .ticket-card .label-pill,
    #expanded-view .ticket-card .label-pill,
    #kanban-board .gimi-m-ticket-bottom .label-pill,
    #expanded-view .gimi-m-ticket-bottom .label-pill {
        font-size: 0.38rem !important;
        padding: 0 0.22rem !important;
    }

    #kanban-board .ticket-card .flex.flex-wrap.gap-1,
    #expanded-view .ticket-card .flex.flex-wrap.gap-1,
    #kanban-board .gimi-m-ticket-bottom,
    #expanded-view .gimi-m-ticket-bottom {
        margin-top: 0.11rem !important;
        gap: 0.11rem !important;
    }

    .gimi-m-ticket-card.gimi-m-ticket-assignee {
        border-left: 2px solid rgba(74, 222, 128, 0.28) !important;
        box-shadow: inset 2px 0 0 rgba(74, 222, 128, 0.12) !important;
    }

    .gimi-m-ticket-top {
        margin-bottom: 0;
    }

    .gimi-m-restore-btn {
        font-size: 0.55rem !important;
        padding: 0.25rem 0.5rem !important;
        min-height: unset !important;
    }

    #kanban-board .kanban-column [id^="dropzone-"] {
        padding: 0.4rem !important;
    }

    #kanban-board .kanban-column [id^="dropzone-"].space-y-4 > * + * {
        margin-top: 0.35rem !important;
    }

    #kanban-board .kanban-column-header {
        padding: 0.45rem 0.6rem !important;
        flex-shrink: 0;
    }

    #kanban-board .kanban-column-header .text-lg {
        font-size: 0.82rem !important;
    }

    #kanban-board .kanban-column-header .text-xs {
        font-size: 0.58rem !important;
        padding: 0.1rem 0.4rem !important;
    }

    /* Kanban column indicator */
    .gimi-m-column-dots {
        display: flex;
        justify-content: center;
        gap: 0.3rem;
        flex-shrink: 0;
        padding: 0.2rem 1rem 0.3rem;
    }

    #board-container.gimi-m-proj-bar-collapsed .gimi-m-column-dots {
        padding-bottom: 0.15rem !important;
    }

    /* ── Modals: full-screen mobile ── */
    .gimi-app #ticket-modal > div,
    .gimi-app #modal-dialog,
    .gimi-app .modal.bg-zinc-900:not(.gimi-settings-modal),
    .gimi-app [id$="-modal"]:not(#project-settings-modal) > div,
    .gimi-app .gimi-modal-overlay:not(.gimi-settings-overlay) > div {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        margin: 0 !important;
    }

    .gimi-app .gimi-settings-modal {
        width: 100vw !important;
        max-width: 100vw !important;
        height: auto !important;
        max-height: calc(100dvh - 2rem) !important;
        border-radius: 0 !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        padding: 1.25rem 1rem calc(1.5rem + var(--gimi-m-safe-bottom)) !important;
        box-sizing: border-box !important;
    }

    .gimi-app .gimi-settings-modal .space-y-5 > div,
    .gimi-app .gimi-settings-modal input,
    .gimi-app .gimi-settings-modal select,
    .gimi-app .gimi-settings-modal .bg-zinc-800 {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .gimi-app .gimi-settings-modal .flex.items-center.gap-2,
    .gimi-app #settings-share-section .flex.gap-2 {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.5rem !important;
    }

    .gimi-app #settings-share-section select,
    .gimi-app #settings-share-section button,
    .gimi-app .gimi-settings-modal #settings-edit-name-btn {
        display: none !important;
    }

    .gimi-app .gimi-settings-modal #settings-project-name {
        width: 100% !important;
    }

    .gimi-app #settings-share-section .flex.gap-2 button {
        width: 100% !important;
    }

    .gimi-app .gimi-settings-overlay {
        z-index: 10050 !important;
        align-items: flex-start !important;
        padding-top: 1rem;
    }

    .gimi-app #modal-content {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
        padding: 1rem !important;
        overflow-x: hidden !important;
        max-width: 100% !important;
    }

    .gimi-app #modal-left-column,
    .gimi-app #modal-right-column {
        grid-column: span 1 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .gimi-app #modal-dialog,
    .gimi-app #ticket-modal {
        overflow-x: hidden !important;
        max-width: 100vw !important;
    }

    .gimi-app #ticket-fullscreen-btn {
        display: none !important;
    }

    .gimi-app #checklist-input-section {
        flex-direction: row !important;
        align-items: center !important;
        gap: 0.35rem !important;
    }

    .gimi-app #checklist-input-section #new-checklist-input {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        font-size: 0.72rem !important;
        padding: 0.35rem 0.65rem !important;
        border-radius: 0.65rem !important;
        min-height: unset !important;
    }

    .gimi-app #add-checklist-btn {
        display: none !important;
    }

    .gimi-app #gimi-m-ac-submit-btn {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 1.65rem;
        height: 1.65rem;
        border-radius: 0.45rem;
        border: 1px solid rgba(74, 222, 128, 0.45);
        background: rgba(74, 222, 128, 0.15);
        color: #4ade80;
        font-size: 0.85rem;
        font-weight: 800;
        line-height: 1;
        padding: 0;
        min-height: unset !important;
    }

    .gimi-app #gimi-m-ac-submit-btn:active {
        background: rgba(74, 222, 128, 0.28);
        border-color: rgba(74, 222, 128, 0.6);
    }

    .gimi-app .checklist-entry,
    .gimi-app .checklist-entry.gimi-m-ac-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        max-width: 100% !important;
        overflow: hidden !important;
        gap: 0.5rem !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .gimi-app .checklist-entry input[type="checkbox"] {
        flex: 0 0 auto !important;
        width: 1.15rem !important;
        height: 1.15rem !important;
        margin-top: 0.3rem !important;
        flex-shrink: 0 !important;
    }

    .gimi-app .checklist-entry .gimi-m-ac-text {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        white-space: pre-wrap !important;
        overflow-x: hidden !important;
        field-sizing: content;
    }

    .gimi-app .checklist-entry button {
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
        align-self: flex-start !important;
        margin-top: 0.2rem !important;
        padding: 0 0.15rem !important;
        min-width: 1.25rem !important;
        min-height: auto !important;
    }

    .gimi-app #checklist-list.expanded-list-scroll .checklist-entry,
    .gimi-app #acceptance-section .checklist-entry {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .gimi-app #checklist-list,
    .gimi-app #checklist-list.expanded-list-scroll,
    .gimi-app #acceptance-section #checklist-list,
    .gimi-app #progress-log-list {
        overflow-x: hidden !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .gimi-app #progress-log-input .gimi-m-progress-row {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 0.35rem !important;
    }

    .gimi-app #progress-log-input #new-progress-link {
        display: none !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        font-size: 0.72rem !important;
        padding: 0.35rem 0.55rem !important;
        min-height: unset !important;
    }

    .gimi-app #progress-log-input #new-progress-link.gimi-m-url-visible {
        display: block !important;
    }

    .gimi-app .gimi-m-progress-actions {
        display: flex;
        align-items: center;
        gap: 0.3rem;
        margin-left: auto;
        flex-shrink: 0;
    }

    .gimi-app .gimi-m-url-toggle-btn {
        padding: 0.28rem 0.45rem !important;
        border-radius: 0.45rem !important;
        border: 1px solid rgba(148, 163, 184, 0.3) !important;
        background: rgba(30, 41, 59, 0.55) !important;
        color: #94a3b8 !important;
        font-size: 0.62rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.03em;
        min-height: unset !important;
        line-height: 1.2;
    }

    .gimi-app .gimi-m-url-toggle-btn.active {
        color: #22d3ee !important;
        border-color: rgba(34, 211, 238, 0.4) !important;
        background: rgba(34, 211, 238, 0.1) !important;
    }

    .gimi-app #add-progress-btn {
        width: auto !important;
        margin-top: 0 !important;
        padding: 0.3rem 0.55rem !important;
        font-size: 0.62rem !important;
        border-radius: 0.45rem !important;
        min-height: unset !important;
    }

    .gimi-app #new-progress-text {
        width: 100% !important;
        min-width: 0 !important;
        white-space: pre-wrap !important;
        word-break: break-word !important;
        resize: vertical !important;
        min-height: 3.5rem;
    }

    .gimi-app .log-entry {
        max-width: 100% !important;
        overflow: hidden !important;
        word-break: break-word !important;
        padding: 0.32rem 0.48rem !important;
        border-radius: 0.65rem !important;
        font-size: 0.68rem !important;
    }

    .gimi-app .log-entry .font-medium {
        font-size: 0.65rem !important;
    }

    .gimi-app .log-entry .text-xs {
        font-size: 0.58rem !important;
    }

    .gimi-app .log-entry a.text-xs {
        font-size: 0.58rem !important;
        margin-top: 0.15rem !important;
    }

    .gimi-app .gimi-m-log-text {
        overflow-wrap: anywhere !important;
        font-size: 0.66rem !important;
        line-height: 1.3 !important;
        margin-bottom: 0 !important;
    }

    .gimi-app #progress-log-list.space-y-4 > * + * {
        margin-top: 0.3rem !important;
    }

    .gimi-app .gimi-m-log-edit-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 1.25rem;
        height: 1.25rem;
        padding: 0;
        border: none;
        background: transparent;
        color: #64748b;
        font-size: 0.65rem;
        line-height: 1;
        min-height: unset !important;
    }

    .gimi-app .gimi-m-log-edit-btn:active {
        color: #22d3ee;
    }

    .gimi-app #modal-dialog > div:first-child {
        padding: 0.45rem 1rem !important;
        min-height: unset !important;
    }

    .gimi-app #modal-dialog > div:first-child h3 {
        font-size: 1.05rem !important;
        line-height: 1.2 !important;
    }

    .gimi-app #modal-dialog > div:first-child .flex.items-center {
        gap: 0.5rem !important;
    }

    .gimi-app #modal-dialog > div:first-child button {
        min-height: unset !important;
        font-size: 0.95rem !important;
        line-height: 1 !important;
    }

    .gimi-app #modal-dialog > div:last-child.border-t {
        padding: 0.375rem 1rem !important;
        min-height: unset !important;
    }

    .gimi-app #modal-dialog > div:last-child.border-t button {
        padding: 0.42rem 0.75rem !important;
        font-size: 0.7rem !important;
        border-radius: 0.75rem !important;
        min-height: unset !important;
        margin-right: 0.35rem !important;
    }

    .gimi-app #save-ticket-btn {
        padding: 0.42rem 0.85rem !important;
    }

    .gimi-app #acceptance-section,
    .gimi-app #progress-section {
        max-width: 100% !important;
        overflow-x: hidden !important;
        min-width: 0 !important;
    }

    .gimi-app #acceptance-section label,
    .gimi-app #progress-section label {
        flex-wrap: wrap !important;
        gap: 0.35rem !important;
    }

    .log-split-grid {
        grid-template-columns: 1fr !important;
    }

    .split-columns-layout {
        flex-direction: column !important;
        overflow-x: hidden !important;
        max-width: 100% !important;
    }

    .gimi-app .split-col-left,
    .gimi-app .split-col-right {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .gimi-app #priority-options {
        flex-direction: column !important;
        gap: 0.5rem !important;
    }

    .gimi-app #priority-options label {
        flex: none !important;
        width: 100% !important;
    }

    .gimi-app #labels-container + .flex,
    .gimi-app #links-container + .flex {
        flex-direction: column !important;
        gap: 0.5rem !important;
    }

    .gimi-app #add-label-btn,
    .gimi-app #add-link-btn {
        width: 100% !important;
        border-radius: 0.85rem !important;
    }

    .gimi-app #new-label-input {
        border-radius: 0.85rem !important;
    }

    /* ── Tables → card list on mobile ── */
    .gimi-m-table-cards .data-table thead {
        display: none;
    }

    .gimi-m-table-cards .data-table tbody tr {
        display: block;
        margin: 0.75rem 1rem;
        padding: 1rem;
        background: rgba(15, 23, 42, 0.7);
        border: 1px solid rgba(148, 163, 184, 0.12);
        border-radius: 1rem;
    }

    .gimi-m-table-cards .data-table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        padding: 0.4rem 0 !important;
        border: none !important;
    }

    .gimi-m-table-cards .data-table tbody td::before {
        content: attr(data-label);
        font-size: 0.65rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: #64748b;
        flex-shrink: 0;
        margin-right: 1rem;
    }

    /* ── Utility / guide layout ── */
    #main-content,
    #board-container,
    .max-w-screen-2xl {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    #tools-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .tool-card {
        padding: 1.25rem !important;
    }

    /* User guide: stack sidebars content */
    #main-app > .flex-1 {
        width: 100% !important;
    }

    #main-app.hidden {
        display: none !important;
    }

    #main-app:not(.hidden) {
        display: flex !important;
    }

    .gimi-app > .flex-1.flex.flex-col.h-screen {
        min-height: calc(100dvh - var(--gimi-m-nav-h) - var(--gimi-m-safe-bottom)) !important;
    }

    /* Expanded kanban column view — align with project bar width */
    #board-container.gimi-column-expanded #expanded-view {
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    #board-container.gimi-column-expanded #expanded-content {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    #board-container.gimi-column-expanded .gimi-m-expanded-header-compact,
    #board-container.gimi-column-expanded .gimi-m-col-controls-expanded,
    #board-container.gimi-column-expanded .ticket-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #expanded-header {
        padding: 0 1rem !important;
        flex-wrap: wrap;
        height: auto !important;
        min-height: 3.5rem;
    }

    /* Dashboard filters stack */
    #teamFiltersBar .flex-wrap {
        flex-direction: column !important;
    }

    #teamFiltersBar > div > div {
        min-width: unset !important;
        width: 100% !important;
    }

    /* Page headers */
    .flex.items-end.justify-between.mb-6 {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 1rem;
    }

    h1.text-3xl,
    h2.text-4xl {
        font-size: 1.65rem !important;
    }

    /* Login */
    .gimi-login-card {
        padding: 1.75rem !important;
        margin: 1rem !important;
    }

    .gimi-logo-wrap {
        max-width: 200px !important;
        min-height: 60px !important;
    }

    /* Touch targets */
    .gimi-app button:not(.gimi-m-log-edit-btn):not(.gimi-m-url-toggle-btn):not(#gimi-m-ac-submit-btn):not(.gimi-m-prio-chip):not(.gimi-m-col-sort):not(.gimi-m-col-new-ticket):not(.gimi-m-proj-collapse-btn),
    .gimi-app a,
    .gimi-app .sidebar-project,
    .gimi-app .tool-btn {
        min-height: 44px;
    }

    .gimi-app #kanban-board .ticket-card,
    .gimi-app #expanded-view .ticket-card {
        min-height: unset !important;
    }

    .gimi-app #modal-dialog #modal-content,
    .gimi-app #modal-dialog #modal-left-column,
    .gimi-app #modal-dialog #modal-right-column,
    .gimi-app #modal-dialog input,
    .gimi-app #modal-dialog textarea,
    .gimi-app #modal-dialog select,
    .gimi-app #modal-dialog .log-entry,
    .gimi-app #modal-dialog .checklist-entry {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* Priority filter chips in sheet */
    .gimi-m-filter-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .gimi-m-filter-chip {
        padding: 0.6rem 1rem;
        border-radius: 2rem;
        font-size: 0.75rem;
        font-weight: 700;
        border: 1px solid rgba(148, 163, 184, 0.2);
        background: rgba(30, 41, 59, 0.5);
        color: #94a3b8;
        transition: all 0.2s ease;
    }

    .gimi-m-filter-chip.active {
        border-color: rgba(34, 211, 238, 0.4);
        background: rgba(34, 211, 238, 0.12);
        color: #22d3ee;
        box-shadow: var(--gimi-m-accent-glow);
    }

    /* Swipe toast feedback */
    .gimi-m-toast {
        position: fixed;
        top: calc(var(--gimi-m-header-h) + var(--gimi-m-safe-top) + 3.5rem);
        left: 50%;
        transform: translateX(-50%) translateY(-20px);
        z-index: 500;
        padding: 0.5rem 1.25rem;
        border-radius: 2rem;
        background: rgba(15, 23, 42, 0.92);
        border: 1px solid rgba(34, 211, 238, 0.3);
        color: #22d3ee;
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        opacity: 0;
        pointer-events: none;
        transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
        white-space: nowrap;
        box-shadow: var(--gimi-m-accent-glow);
    }

    .gimi-m-toast.show {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }

    /* Hide desktop sidebar collapse arrows on mobile */
    .gimi-sidebar-header button[onclick*="collapse"],
    .gimi-sidebar-header button[onclick*="toggleSidebar"] {
        display: none !important;
    }
}

/* Hide built-in mobile project bar on desktop */
@media (min-width: 1025px) {
    .gimi-m-project-nav-inline,
    #mobile-project-bar,
    .gimi-m-col-controls,
    .gimi-m-col-controls-expanded,
    .gimi-m-move-btn,
    .gimi-m-expanded-back,
    .gimi-m-expanded-back-merged,
    .gimi-m-expanded-header-compact,
    .gimi-m-proj-quicklinks-btn,
    .gimi-m-quicklinks-overlay,
    #gimi-m-ac-submit-btn,
    .gimi-m-url-toggle-btn,
    .gimi-m-log-edit-btn {
        display: none !important;
    }
}

/* Tablet landscape tweaks */
@media (max-width: 1024px) and (orientation: landscape) {
    #kanban-board .kanban-column {
        flex: 0 0 55vw !important;
    }
}